:root{--brand:#4f46e5;--brand-dark:#4338ca;--brand-2:#6366f1;--brand-soft:#eef2ff;--bg:#f4f6fa;--ink:#1b2430;--muted:#6b7a90;--line:#e6eaf0;--sidebar-w:250px;--radius:16px;--shadow:0 1px 2px rgba(16,24,40,.04),0 4px 16px rgba(16,24,40,.05);--bottom-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;overflow-wrap:anywhere;-webkit-tap-highlight-color:transparent}
img,svg,canvas{max-width:100%}
a{color:var(--brand);text-decoration:none} a:hover{color:var(--brand-dark)}
h5,h6{font-weight:700;letter-spacing:-.01em}
.btn{border-radius:12px;font-weight:600;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}
.btn-sm{min-height:36px;border-radius:10px}
.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand-dark);--bs-btn-hover-border-color:var(--brand-dark);--bs-btn-active-bg:var(--brand-dark);--bs-btn-active-border-color:var(--brand-dark);--bs-btn-disabled-bg:var(--brand);--bs-btn-disabled-border-color:var(--brand);box-shadow:0 4px 12px rgba(79,70,229,.25)}
.btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-border-color:#c7d2fe;--bs-btn-hover-bg:var(--brand);--bs-btn-hover-border-color:var(--brand);--bs-btn-active-bg:var(--brand);--bs-btn-active-border-color:var(--brand)}
.btn-outline-secondary{--bs-btn-border-color:#d6dce5;--bs-btn-color:#44546a}
.text-bg-primary{background-color:var(--brand)!important}
.badge{font-weight:600;border-radius:999px;padding:.4em .7em;white-space:normal}
.form-control,.form-select{border-radius:12px;min-height:46px;border-color:#d9dfe8;font-size:16px}
textarea.form-control{min-height:auto}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .22rem rgba(79,70,229,.16)}
.form-label{font-weight:600;font-size:.88rem;color:#3b4a5f;margin-bottom:.3rem}
.alert{border:0;border-radius:14px;box-shadow:var(--shadow)}
/* layout */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:#fff;border-right:1px solid var(--line);overflow-y:auto;z-index:1050;padding:1rem .75rem;transition:transform .22s ease}
.sidebar .brand{font-weight:800;font-size:1.15rem;color:var(--ink);padding:.4rem .6rem 1.1rem;display:flex;align-items:center;gap:.6rem}
.brand-logo{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px}
.sidebar .nav-link{color:#44546a;border-radius:12px;padding:.7rem .85rem;display:flex;align-items:center;gap:.75rem;font-weight:500;margin-bottom:2px}
.sidebar .nav-link i{font-size:1.15rem;width:1.3rem;text-align:center}
.sidebar .nav-link:hover{background:var(--bg)}
.sidebar .nav-link.active{background:var(--brand-soft);color:var(--brand-dark);font-weight:700}
.backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1045}
.backdrop.show{display:block}
.main-wrap{margin-left:var(--sidebar-w);min-height:100vh;min-width:0}
.topbar{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1030;padding-top:calc(.5rem + var(--safe-t))!important}
.content{padding:1.5rem;max-width:1400px;margin:0 auto}
.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;overflow:hidden}
.card-header{background:#fff;font-weight:700;border-bottom:1px solid var(--line);padding:.9rem 1.1rem}
.card-body{padding:1.1rem}
.card-footer{border-top:1px solid var(--line)}
.stat{padding:1rem 1.1rem;border-radius:var(--radius);background:#fff;border:1px solid var(--line);height:100%;box-shadow:var(--shadow)}
.stat .num{font-size:1.8rem;font-weight:800;line-height:1.1;letter-spacing:-.02em}
.stat .lbl{color:var(--muted);font-size:.82rem;font-weight:500}
.stat.accent{border-top:3px solid var(--brand)}
.table{margin-bottom:0}
.table>:not(caption)>*>*{padding:.75rem .9rem;vertical-align:middle}
.table thead th{background:#f8fafc;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap}
.table-responsive{-webkit-overflow-scrolling:touch}
.nav-pills .nav-link{border-radius:999px;color:#44546a;font-weight:600;background:#fff;border:1px solid var(--line);margin-right:.4rem}
.nav-pills .nav-link.active{color:#fff}
.pagination .page-link{border-radius:10px!important;margin:0 2px;border:1px solid var(--line);color:var(--brand)}
.pagination .active .page-link{background:var(--brand);border-color:var(--brand);color:#fff}
.dropdown-menu{border-radius:14px;border:1px solid var(--line);box-shadow:0 10px 30px rgba(16,24,40,.12);padding:.4rem}
.dropdown-item{border-radius:10px;padding:.55rem .8rem}
/* lead cards (mobile first) */
.lead-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:1rem;margin-bottom:.9rem;box-shadow:var(--shadow)}
.lead-card .name{font-weight:700;font-size:1.08rem;color:var(--ink)}
.lead-card .phone{font-size:1.25rem;font-weight:700;letter-spacing:.01em}
.btn-call{background:linear-gradient(135deg,#16a34a,#22c55e);border:0;color:#fff;font-size:1.1rem;font-weight:700;min-height:54px;width:100%;border-radius:14px;box-shadow:0 6px 16px rgba(22,163,74,.3)}
.btn-call:hover,.btn-call:focus{color:#fff;filter:brightness(.95)}
.progress{height:.65rem;border-radius:1rem;background:#eaeef4}
.progress-bar{background:linear-gradient(90deg,var(--brand),var(--brand-2));border-radius:1rem}
.timeline{list-style:none;padding:0;margin:0 0 0 .5rem;border-left:2px solid var(--line)}
.timeline li{position:relative;padding:0 0 1.1rem 1.25rem}
.timeline li:before{content:"";position:absolute;left:-7px;top:.35rem;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--brand)}
.timeline li.t-call:before{border-color:#16a34a}.timeline li.t-followup:before,.timeline li.t-followup_done:before{border-color:#0ea5e9}.timeline li.t-status:before{border-color:#f59e0b}.timeline li.t-assign:before{border-color:#8b5cf6}
.chart-box{position:relative;height:260px}
.perm-matrix td,.perm-matrix th{text-align:center}.perm-matrix td:first-child,.perm-matrix th:first-child{text-align:left}
.pending-call{background:#fff8e1;border:1px solid #ffe08a;border-radius:var(--radius);padding:.85rem 1rem}
.btn-check:checked+.btn{box-shadow:0 0 0 .2rem rgba(79,70,229,.2)}
.install-box{display:none}
/* bottom nav */
.bottom-nav{display:none}
@media (max-width:991.98px){
 html{font-size:15.5px}
 .sidebar{transform:translateX(-105%);width:min(82vw,300px);padding-top:calc(1rem + var(--safe-t))}
 .sidebar.open{transform:none;box-shadow:0 0 50px rgba(0,0,0,.25)}
 .main-wrap{margin-left:0;padding-bottom:calc(var(--bottom-h) + var(--safe-b) + 24px)}
 .content{padding:1rem .9rem}
 .bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(var(--bottom-h) + var(--safe-b));padding-bottom:var(--safe-b);background:#fff;border-top:1px solid var(--line);z-index:1040;box-shadow:0 -4px 20px rgba(16,24,40,.06)}
 .bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);font-size:.68rem;font-weight:600;gap:2px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .bottom-nav a i{font-size:1.35rem;line-height:1}
 .bottom-nav a.active{color:var(--brand)}
 .stat{padding:.85rem}.stat .num{font-size:1.45rem}
 .card-body{padding:.95rem}
 .table>:not(caption)>*>*{padding:.6rem .65rem}
 .chart-box{height:230px}
 .modal-dialog{margin:1rem}
 .dropdown-menu{max-width:calc(100vw - 1.5rem)}
}
@media (max-width:575.98px){
 .btn-group{flex-wrap:wrap}
 h5{font-size:1.1rem}
}
/* login */
.auth-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:radial-gradient(1200px 500px at 10% -10%,#c7d2fe 0,transparent 60%),radial-gradient(900px 500px at 110% 110%,#d9e6ff 0,transparent 55%),var(--bg)}
.auth-card{width:100%;max-width:420px}
.auth-logo{width:68px;height:68px;border-radius:20px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1rem;box-shadow:0 10px 24px rgba(79,70,229,.35)}
.login-wrap{max-width:420px;margin:8vh auto}
@media print{.sidebar,.topbar,.bottom-nav,.no-print{display:none!important}.main-wrap{margin:0}}


/* ===== ithubseva brand + responsive layer ===== */
:root{--ith-brand:#4f46e5;--ith-brand-dark:#4338ca;--ith-accent:#06b6d4;--ith-soft:#eef2ff;--ith-grad:linear-gradient(135deg,#4f46e5 0%,#7c3aed 55%,#06b6d4 100%)}
html{-webkit-text-size-adjust:100%}
body{font-family:Inter,"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,svg,canvas,iframe{max-width:100%}
img,video{height:auto}
::selection{background:#c7d2fe;color:#1e1b4b}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(79,70,229,.35);outline-offset:2px}
@media(max-width:768px){
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  pre,code{white-space:pre-wrap;word-break:break-word}
}
