/* Reeva Drive — panel theme. Colours come from CSS variables injected per tenant in the layout. */
:root{
  --rt-primary:#FF8C1A;--rt-primary-dark:#D95A00;--rt-secondary:#2EAA3C;--rt-secondary-dark:#0E7A1F;
  --rt-sidebar:#1F2A3C;--rt-sidebar-text:#C9D3E3;--rt-bg:#F4F6FA;--rt-card:#FFFFFF;--rt-border:#E3E8EF;--rt-text:#1F2A3C;--rt-muted:#6B7A90;
  --bs-primary:var(--rt-primary);--bs-primary-rgb:255,140,26;--bs-success:var(--rt-secondary);--bs-link-color:var(--rt-primary-dark);
}
html,body{height:100%}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;background:var(--rt-bg);color:var(--rt-text);font-size:14px}
a{text-decoration:none}
.btn-primary{--bs-btn-bg:var(--rt-primary);--bs-btn-border-color:var(--rt-primary);--bs-btn-hover-bg:var(--rt-primary-dark);--bs-btn-hover-border-color:var(--rt-primary-dark);--bs-btn-active-bg:var(--rt-primary-dark);--bs-btn-active-border-color:var(--rt-primary-dark);--bs-btn-disabled-bg:var(--rt-primary);--bs-btn-disabled-border-color:var(--rt-primary);font-weight:600}
.btn-success{--bs-btn-bg:var(--rt-secondary);--bs-btn-border-color:var(--rt-secondary);--bs-btn-hover-bg:var(--rt-secondary-dark);--bs-btn-hover-border-color:var(--rt-secondary-dark);font-weight:600}
.btn-outline-primary{--bs-btn-color:var(--rt-primary-dark);--bs-btn-border-color:var(--rt-primary);--bs-btn-hover-bg:var(--rt-primary);--bs-btn-hover-border-color:var(--rt-primary);--bs-btn-active-bg:var(--rt-primary)}
.text-primary{color:var(--rt-primary-dark)!important}.bg-primary{background:var(--rt-primary)!important}
.form-control:focus,.form-select:focus{border-color:var(--rt-primary);box-shadow:0 0 0 .2rem rgba(255,140,26,.18)}
.form-check-input:checked{background-color:var(--rt-primary);border-color:var(--rt-primary)}
.card{border:1px solid var(--rt-border);border-radius:14px;box-shadow:0 4px 18px rgba(31,42,60,.06)}
.card-header{background:transparent;border-bottom:1px solid var(--rt-border);font-weight:600;padding:.9rem 1.25rem}
.table{--bs-table-striped-bg:#FAFBFD}.table>:not(caption)>*>*{padding:.7rem .75rem;vertical-align:middle}
.table thead th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--rt-muted);font-weight:600;border-bottom:2px solid var(--rt-border);white-space:nowrap}
.badge{font-weight:600;letter-spacing:.02em;padding:.4em .6em}
.text-muted{color:var(--rt-muted)!important}
.small-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--rt-muted);font-weight:600}

/* ---------- auth ---------- */
.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}
.auth-photo{position:relative;overflow:hidden;background:var(--rt-sidebar)}
.auth-photo img{width:100%;height:100%;object-fit:cover;display:block}
.auth-form{display:flex;align-items:center;justify-content:center;padding:40px 24px;background:#fff}
.auth-card{width:100%;max-width:440px}
.auth-card .brand img{height:64px;max-width:100%;object-fit:contain}
@media (max-width:991px){.auth-wrap{grid-template-columns:1fr}.auth-photo{display:none}}
.otp-input{letter-spacing:.6em;font-size:1.6rem;text-align:center;font-weight:700}

/* ---------- panel ---------- */
.rt-shell{display:flex;min-height:100vh}
.rt-sidebar{width:260px;flex:0 0 260px;background:var(--rt-sidebar);color:var(--rt-sidebar-text);position:fixed;inset:0 auto 0 0;z-index:1040;display:flex;flex-direction:column;transition:transform .25s ease}
.rt-sidebar .brand{padding:18px 20px 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.rt-sidebar .brand img{height:44px;max-width:100%;object-fit:contain}
.rt-nav{flex:1;overflow-y:auto;padding:12px 12px 24px}
.rt-nav .nav-section{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.55;padding:14px 12px 6px}
.rt-nav a{display:flex;align-items:center;gap:12px;color:var(--rt-sidebar-text);padding:10px 12px;border-radius:10px;font-weight:500;margin-bottom:2px}
.rt-nav a i{font-size:1.1rem;width:22px;text-align:center;opacity:.85}
.rt-nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.rt-nav a.active{background:var(--rt-primary);color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.rt-nav a .badge{margin-left:auto}
.rt-main{flex:1;margin-left:260px;min-width:0;display:flex;flex-direction:column}
.rt-topbar{height:64px;background:#fff;border-bottom:1px solid var(--rt-border);display:flex;align-items:center;gap:14px;padding:0 24px;position:sticky;top:0;z-index:1030}
.rt-topbar .search{flex:1;max-width:460px}
.rt-content{padding:24px;flex:1}
.rt-footer{padding:14px 24px;color:var(--rt-muted);font-size:12px;border-top:1px solid var(--rt-border);background:#fff}
.page-title{font-size:1.35rem;font-weight:700;margin:0}
.stat-card .value{font-size:1.7rem;font-weight:700;line-height:1.1}
.stat-card .icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:rgba(255,140,26,.12);color:var(--rt-primary-dark)}
.stat-card .icon.green{background:rgba(46,170,60,.12);color:var(--rt-secondary-dark)}
.stat-card .icon.navy{background:rgba(31,42,60,.1);color:var(--rt-sidebar)}
.stat-card .icon.red{background:rgba(220,53,69,.12);color:#b02a37}
.service-tile{display:block;border:1px solid var(--rt-border);border-radius:14px;overflow:hidden;background:#fff;color:var(--rt-text);transition:transform .15s,box-shadow .15s;height:100%}
.service-tile:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(31,42,60,.12);color:var(--rt-text)}
.service-tile img{width:100%;height:110px;object-fit:cover;display:block}
.service-tile .body{padding:12px 14px}
.service-tile .body i{color:var(--rt-primary-dark);font-size:1.2rem}
.service-tile.coming img{filter:saturate(.6)}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--rt-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.impersonation-bar{background:#dc3545;color:#fff;padding:8px 24px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-weight:500}
.impersonation-bar .btn{--bs-btn-padding-y:.2rem;--bs-btn-padding-x:.6rem;font-size:12px}
.checklist li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px dashed var(--rt-border)}
.checklist li:last-child{border-bottom:0}
.checklist .tick{width:26px;height:26px;border-radius:50%;flex:0 0 26px;display:flex;align-items:center;justify-content:center;border:2px solid var(--rt-border);color:#fff;font-size:13px}
.checklist .tick.done{background:var(--rt-secondary);border-color:var(--rt-secondary)}
.perm-grid .module{border:1px solid var(--rt-border);border-radius:12px;padding:12px 14px;margin-bottom:12px;background:#fff}
.perm-grid .module h6{font-weight:700;margin-bottom:8px}
.perm-grid .form-check{margin-bottom:6px}
.doc-card{border:1px solid var(--rt-border);border-radius:12px;padding:12px;background:#fff;height:100%}
.doc-card .preview{height:140px;border-radius:8px;background:#f1f3f7;display:flex;align-items:center;justify-content:center;overflow:hidden}
.doc-card .preview img{max-height:100%;max-width:100%;object-fit:contain}
.toast-container{z-index:1080}
.mock-badge{background:#ffc107;color:#5a4300;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px}
.sandbox-badge{background:#0dcaf0;color:#073b4c}
.empty-state{text-align:center;padding:40px 20px;color:var(--rt-muted)}
.empty-state img{max-width:320px;width:100%;border-radius:14px;margin-bottom:16px}
.copy-btn{cursor:pointer}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1035}
@media (max-width:991px){
  .rt-sidebar{transform:translateX(-100%)}
  body.sidebar-open .rt-sidebar{transform:none}
  body.sidebar-open .sidebar-overlay{display:block}
  .rt-main{margin-left:0}
  .rt-content{padding:16px;padding-bottom:84px}
  .rt-topbar{padding:0 14px}
  .bottom-nav{display:flex}
}
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--rt-border);z-index:1030;justify-content:space-around;padding:6px 0 calc(6px + env(safe-area-inset-bottom))}
.bottom-nav a{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--rt-muted);gap:2px;padding:4px 8px}
.bottom-nav a i{font-size:1.25rem}
.bottom-nav a.active{color:var(--rt-primary-dark)}
.table-responsive{border-radius:12px}
.btn-icon{--bs-btn-padding-y:.3rem;--bs-btn-padding-x:.5rem}
.kbd{font-family:monospace;background:#eef1f6;border:1px solid var(--rt-border);border-radius:5px;padding:1px 6px;font-size:12px}

/* ---- Phase 4: engagement (ticker, banners), quote basket, khata, support, posters ---- */
.news-ticker{background:#111827;color:#fff;font-size:13px;height:34px;display:flex;align-items:center;padding:0 16px;overflow:hidden;position:sticky;top:64px;z-index:1020}
.news-ticker .track{flex:1;overflow:hidden;white-space:nowrap}
.news-ticker .track span{display:inline-block;padding-left:100%;animation:rt-ticker 40s linear infinite}
.news-ticker .track:hover span{animation-play-state:paused}
@keyframes rt-ticker{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}
.promo-banners{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.promo-banner{display:flex;align-items:center;border-radius:12px;overflow:hidden;background:#eef2ff;min-height:72px;text-decoration:none;color:inherit}
.promo-banner img{width:100%;height:auto;display:block;max-height:220px;object-fit:cover}
.promo-banner-text{padding:14px 16px;background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;gap:12px}
.age-bucket{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}
.age-0-7{background:#dcfce7;color:#166534}.age-8-30{background:#fef9c3;color:#854d0e}.age-30\+{background:#fee2e2;color:#991b1b}
.sla-ok{color:#166534}.sla-due{color:#b45309}.sla-breached{color:#b91c1c;font-weight:600}
.ticket-thread .msg{border-radius:12px;padding:12px 14px;margin-bottom:10px;max-width:85%}
.ticket-thread .msg.user{background:#eef2ff;margin-right:auto}.ticket-thread .msg.staff{background:#ecfdf5;margin-left:auto}
.ticket-thread .msg.system{background:#f3f4f6;font-size:12px;color:#4b5563;max-width:100%;text-align:center}.ticket-thread .msg.note{background:#fef3c7;border:1px dashed #f59e0b;margin-left:auto}
.poster-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px 12px 0 0}
.poster-footer-preview{background:#111827;color:#fff;border-radius:0 0 12px 12px;padding:10px 12px;display:flex;align-items:center;gap:10px;font-size:12px}
.poster-footer-preview img{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:6px;padding:2px}
.quote-option{border:1px solid var(--rt-border);border-radius:12px;padding:14px}
.quote-option .n{width:28px;height:28px;border-radius:50%;background:#1d4ed8;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.report-table td.num,.report-table th.num{text-align:right;white-space:nowrap}.report-table tfoot td{font-weight:700;background:#f9fafb}
.add-quote-btn.added{background:#dcfce7!important;border-color:#86efac!important;color:#166534!important}
