:root {
    --kv-navy: #111c36;
    --kv-navy-2: #182746;
    --kv-orange: #f97316;
    --kv-orange-dark: #df5d09;
}

body { color: #202942; }
.btn-primary, .bg-primary { background-color: var(--kv-orange) !important; border-color: var(--kv-orange) !important; }
.btn-primary:hover { background-color: var(--kv-orange-dark) !important; border-color: var(--kv-orange-dark) !important; }
.btn-soft-primary { color: var(--kv-orange) !important; background: rgba(249, 115, 22, .1) !important; border-color: transparent !important; }
.text-primary { color: var(--kv-orange) !important; }
.bg-soft-primary { background: rgba(249, 115, 22, .1) !important; }
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: rgba(249, 115, 22, .55); box-shadow: 0 0 0 .2rem rgba(249, 115, 22, .12); }
.form-check-input:checked { background-color: var(--kv-orange); border-color: var(--kv-orange); }

.sidebar-wrapper.sidebar-dark { background: linear-gradient(180deg, var(--kv-navy), #0b1327); }
.sidebar-wrapper .sidebar-menu li.active > a,
.sidebar-wrapper .sidebar-menu li:hover > a { color: #fff !important; background: rgba(249, 115, 22, .14); border-left-color: var(--kv-orange); }
.sidebar-wrapper .sidebar-menu li > a { display: flex; align-items: center; }
.kv-brand { display: flex !important; align-items: flex-end; gap: 8px; color: #fff !important; }
.kv-brand small { color: #ffad73; font-size: 8px; padding-bottom: 3px; letter-spacing: .2em; }
.kv-admin-logo { display: block; width: 166px; height: auto; }
.kv-sidebar-user { min-height: 72px; padding: 12px 18px; display: flex; justify-content: space-between; align-items: center; color: #fff; border-top: 1px solid rgba(255,255,255,.09); }
.kv-sidebar-user small { display: block; color: rgba(255,255,255,.55); }
.kv-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; margin-right: 6px; }

.card { border-radius: 12px; }
.card-header { border-radius: 12px 12px 0 0 !important; padding: 18px 20px; }
.kv-stat-card { color: inherit; transition: transform .2s ease, box-shadow .2s ease; }
.kv-stat-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(17,28,54,.1) !important; }
.kv-stat-icon { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; font-size: 23px; }
.kv-status { text-transform: capitalize; }
.kv-status-aktivan, .kv-status-odobreno, .kv-status-potvrdjeno { color: #15803d; background: #dcfce7; }
.kv-status-na_cekanju, .kv-status-ceka_slanje, .kv-status-popunjeno { color: #a16207; background: #fef3c7; }
.kv-status-odbijen, .kv-status-odbijeno, .kv-status-suspendovan { color: #b91c1c; background: #fee2e2; }
.kv-status-poslato { color: #1d4ed8; background: #dbeafe; }
.kv-review-item { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid #edf0f5; }
.kv-review-item:last-child { border-bottom: 0; }
.kv-review-item small { display: block; color: #8492a6; }
.kv-review-icon { display: grid; place-items: center; width: 38px; height: 38px; color: var(--kv-orange); background: rgba(249,115,22,.1); border-radius: 10px; }
.kv-search-form { position: relative; min-width: 280px; }
.kv-search-form > i { position: absolute; z-index: 2; left: 13px; top: 11px; color: #8492a6; }
.kv-search-form input { padding-left: 38px; padding-right: 36px; }
.kv-search-form > a { position: absolute; right: 12px; top: 10px; color: #8492a6; }
.kv-data-table th { white-space: nowrap; font-size: 12px; letter-spacing: .035em; text-transform: uppercase; }
.kv-data-table td { max-width: 260px; }
.kv-data-table thead tr:not(.kv-filter-row) th { background: #f8fafc; border-top: 1px solid #edf0f5; }
.kv-filter-row th { padding: 10px 8px 8px; background: #fff; border-bottom: 0; text-transform: none; }
.kv-column-filter { min-width: 112px; height: 33px; font-size: 12px; font-weight: 400; letter-spacing: normal; border-color: #dfe5ee; background-color: #fff; }
.kv-column-filter[type="number"] { min-width: 82px; }
.kv-column-filter[type="date"] { min-width: 138px; }
.kv-column-filter:focus { position: relative; z-index: 2; }
.kv-filter-action { width: 33px; height: 33px; display: inline-grid; place-items: center; }
.kv-check-card { min-height: 62px; padding: 12px 16px; border: 1px solid #e9ecef; border-radius: 9px; display: flex; align-items: center; justify-content: space-between; }
.kv-check-card small { display: block; color: #8492a6; }

.kv-login-body { min-height: 100vh; background: var(--kv-navy); }
.kv-login-wrap { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); align-items: center; gap: 8vw; padding: clamp(24px, 6vw, 90px); position: relative; overflow: hidden; }
.kv-login-wrap::before { content: ""; position: absolute; width: 520px; height: 520px; left: -180px; bottom: -260px; border-radius: 50%; background: rgba(249,115,22,.16); }
.kv-login-copy { color: #fff; max-width: 650px; position: relative; }
.kv-login-brand { margin-bottom: 70px; }
.kv-login-logo { display: block; width: 218px; height: auto; }
.kv-eyebrow { color: #ffad73; font-weight: 700; letter-spacing: .18em; font-size: 12px; }
.kv-login-copy h1 { color: #fff; font-size: clamp(36px, 5vw, 66px); line-height: 1.05; max-width: 720px; }
.kv-login-copy > p:not(.kv-eyebrow) { color: rgba(255,255,255,.68); font-size: 18px; max-width: 580px; margin-top: 24px; }
.kv-login-points { display: flex; gap: 25px; margin-top: 42px; color: rgba(255,255,255,.85); }
.kv-login-points i { color: #ffad73; margin-right: 5px; }
.kv-login-card { width: 100%; max-width: 470px; justify-self: end; padding: clamp(28px, 4vw, 52px); position: relative; }
.kv-login-card-logo { display: block; width: 194px; max-width: 100%; height: auto; margin: 0 auto 22px; border-radius: 7px; }

@media (max-width: 991px) {
    .kv-login-wrap { grid-template-columns: 1fr; padding: 24px; }
    .kv-login-copy { display: none; }
    .kv-login-card { justify-self: center; }
    .kv-search-form { min-width: 100%; }
}
