*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ── THEME ── */
:root{
  --bg:#0E1116;--bg2:#131820;--surface:#181E28;--surface2:#1E2633;
  --border:#252E3D;--border2:#2E3A4E;
  --text:#F0EDE8;--text2:#8A9BB0;--text3:#4A5769;
  --orange:#E8611A;--orangebg:rgba(232,97,26,.10);--orangeborder:rgba(232,97,26,.25);
  --green:#27AE60;--greenbg:rgba(39,174,96,.10);
  --red:#E74C3C;--redbg:rgba(231,76,60,.10);
  --yellow:#F39C12;--yellowbg:rgba(243,156,18,.10);
  --blue:#2980B9;--bluebg:rgba(41,128,185,.10);
  --sidebar-w:224px;--radius:8px;
  --transition:all .2s cubic-bezier(.4,0,.2,1);
  --shadow:0 4px 24px rgba(0,0,0,.3);
}
[data-theme="light"]{
  --bg:#F4F6F9;--bg2:#FFFFFF;--surface:#FFFFFF;--surface2:#F0F2F5;
  --border:#E2E8F0;--border2:#CBD5E1;
  --text:#0F172A;--text2:#475569;--text3:#94A3B8;
  --shadow:0 4px 24px rgba(0,0,0,.08);
}

html{font-size:14px;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{font-family:'Space Grotesk',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;transition:background .2s,color .2s}

/* ── PAGES ── */
.page{display:none;min-height:100vh}
.page.active{display:flex}

/* ── LOGIN ── */
#page-login{align-items:center;justify-content:center;background:var(--bg);position:relative;overflow:hidden}
#page-login::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 50% 0%,rgba(232,97,26,.08),transparent 60%)}
.login-box{width:100%;max-width:400px;padding:20px;position:relative;z-index:1;animation:fadeUp .4s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:40px}
.login-logo-icon{display:flex;flex-direction:column;gap:4px;align-items:center;width:26px}
.login-logo-bar{height:4px;border-radius:2px;background:var(--text)}
.login-logo-bar:nth-child(1){width:24px}
.login-logo-bar:nth-child(2){width:17px}
.login-logo-bar:nth-child(3){width:10px}
.login-logo-dot{width:6px;height:6px;border-radius:50%;background:var(--orange);margin-top:1px}
.login-logo-text{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--text)}
.login-logo-text span{color:var(--orange)}
.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:36px}
.login-title{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:5px}
.login-sub{color:var(--text2);font-size:14px;margin-bottom:28px;font-weight:400}
.field{margin-bottom:16px}
.field label{display:block;font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}
.field input{width:100%;background:var(--bg);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text);padding:11px 13px;font-size:14px;font-family:'Space Grotesk',sans-serif;outline:none;transition:border-color .15s}
.field input:focus{border-color:var(--orange)}
.field input::placeholder{color:var(--text3)}
.btn-login{width:100%;background:var(--orange);color:#fff;border:none;border-radius:var(--radius);padding:12px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Space Grotesk',sans-serif;margin-top:6px;transition:var(--transition)}
.btn-login:hover{background:#d4561a;transform:translateY(-1px)}
.btn-login:disabled{opacity:.6;cursor:default;transform:none}
.login-error{background:var(--redbg);border:1px solid rgba(231,76,60,.3);color:var(--red);border-radius:var(--radius);padding:11px 14px;font-size:13px;margin-bottom:16px;display:none}
.recaptcha-notice{font-size:11px;color:var(--text3);text-align:center;margin-top:14px;line-height:1.5}
.recaptcha-notice a{color:var(--text3)}
.grecaptcha-badge{visibility:hidden!important}

/* ── APP SHELL ── */
#page-app{flex-direction:row}

/* ── SIDEBAR ── */
.sidebar{width:var(--sidebar-w);background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;transition:var(--transition)}
.sidebar-logo{padding:18px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-icon{display:flex;flex-direction:column;gap:4px;align-items:center;width:22px}
.logo-bar{height:3.5px;border-radius:2px;background:var(--text);transition:background .2s}
.logo-bar:nth-child(1){width:22px}
.logo-bar:nth-child(2){width:15px}
.logo-bar:nth-child(3){width:9px}
.logo-dot{width:5px;height:5px;border-radius:50%;background:var(--orange);margin-top:1px}
.logo-text{font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--text)}
.logo-text span{color:var(--orange)}
.sidebar-tenant{padding:12px 16px;border-bottom:1px solid var(--border)}
.sidebar-tenant-name{font-weight:700;color:var(--text);font-size:13px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-tenant-industry{font-size:11px;color:var(--text3);text-transform:capitalize}
.sidebar-nav{flex:1;padding:10px 8px;overflow-y:auto}
.nav-section{font-size:10px;font-weight:700;color:var(--text3);letter-spacing:.10em;text-transform:uppercase;padding:12px 8px 5px}
.nav-item{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:var(--radius);color:var(--text2);cursor:pointer;font-size:13px;font-weight:500;transition:var(--transition);margin-bottom:1px;user-select:none;text-decoration:none}
.nav-item:hover{background:var(--surface);color:var(--text)}
.nav-item.active{background:var(--orangebg);color:var(--orange)}
.nav-icon{width:16px;text-align:center;flex-shrink:0;font-size:14px}
.nav-badge{margin-left:auto;background:var(--red);color:#fff;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:700}
.sidebar-bottom{padding:14px 16px;border-top:1px solid var(--border)}
.sidebar-user{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.sidebar-avatar{width:30px;height:30px;border-radius:50%;background:var(--orangebg);border:1px solid var(--orangeborder);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--orange);flex-shrink:0}
.sidebar-user-name{font-size:13px;font-weight:600;color:var(--text)}
.sidebar-user-role{font-size:11px;color:var(--text3);text-transform:capitalize}
.sidebar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.avail-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.avail-dot.available{background:var(--green)}
.avail-dot.unavailable{background:var(--red)}
.avail-dot.on_leave{background:var(--yellow)}
.avail-select{background:var(--surface);border:1px solid var(--border2);color:var(--text);border-radius:5px;padding:4px 8px;font-size:11px;font-family:'Space Grotesk',sans-serif;cursor:pointer;outline:none}
.btn-logout{font-size:12px;color:var(--red);background:none;border:none;cursor:pointer;font-family:'Space Grotesk',sans-serif;padding:0;font-weight:600;opacity:.8;transition:opacity .15s;margin-left:auto}
.btn-logout:hover{opacity:1}

/* ── MAIN ── */
.main{margin-left:var(--sidebar-w);flex:1;min-height:100vh;display:flex;flex-direction:column}

/* ── TOPBAR ── */
.topbar{background:var(--bg2);border-bottom:1px solid var(--border);padding:0 22px;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;transition:var(--transition)}
.topbar-title{font-size:16px;font-weight:700;letter-spacing:-.02em}
.topbar-right{display:flex;align-items:center;gap:10px}
.theme-toggle{width:34px;height:34px;border-radius:var(--radius);background:var(--surface2);border:1px solid var(--border2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:var(--transition);color:var(--text2)}
.theme-toggle:hover{border-color:var(--orangeborder);color:var(--orange)}
.mob-logout-btn{display:none;width:34px;height:34px;border-radius:var(--radius);background:var(--surface2);border:1px solid var(--border2);cursor:pointer;align-items:center;justify-content:center;font-size:17px;color:var(--text2);transition:var(--transition)}
.mob-logout-btn:hover{border-color:var(--red);color:var(--red)}
@media(max-width:768px){.mob-logout-btn{display:flex}}
.wallet-chip{display:flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--border2);border-radius:5px;padding:6px 13px;font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition)}
.wallet-chip:hover{border-color:var(--orangeborder);color:var(--orange)}
.wallet-chip.low{border-color:rgba(231,76,60,.4);background:var(--redbg);color:var(--red)}
.wallet-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}
.wallet-dot.low{background:var(--red);animation:blink 1.5s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.notif-btn{position:relative;background:var(--surface);border:1px solid var(--border2);border-radius:5px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;transition:var(--transition)}
.notif-btn:hover{border-color:var(--orangeborder);color:var(--orange)}
.notif-badge{position:absolute;top:-5px;right:-5px;background:var(--red);color:#fff;border-radius:10px;padding:1px 5px;font-size:10px;font-weight:700;font-family:'Space Grotesk',sans-serif;display:none}
.notif-badge.show{display:block}
.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:340px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:200;display:none}
.notif-dropdown.open{display:block;animation:fadeUp .15s ease both}
.notif-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700}
.notif-mark-all{font-size:12px;color:var(--orange);cursor:pointer;font-weight:500}
.notif-item{padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}
.notif-item:hover{background:var(--surface2)}
.notif-item.unread{background:var(--orangebg)}
.notif-item-title{font-size:13px;font-weight:600;margin-bottom:3px}
.notif-item-body{font-size:12px;color:var(--text2)}
.notif-item-time{font-size:11px;color:var(--text3);margin-top:4px}
.notif-empty{padding:24px;text-align:center;color:var(--text3);font-size:13px}

/* ── CONTENT ── */
.content{padding:20px;flex:1}
.panel{display:none;animation:fadeUp .2s ease both}
.panel.active{display:block}

/* ── CARDS ── */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:var(--transition)}
.card-title{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.10em;margin-bottom:14px}

/* ── STAT CARDS ── */
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;transition:var(--transition);position:relative;overflow:hidden}
.stat-card:hover{border-color:var(--border2);transform:translateY(-1px);box-shadow:var(--shadow)}
.stat-card-icon{font-size:20px;margin-bottom:10px}
.stat-val{font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1}
.stat-label{font-size:11px;color:var(--text2);margin-top:5px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}
.stat-change{font-size:11px;font-weight:600;margin-top:6px;display:flex;align-items:center;gap:3px}
.stat-change.up{color:var(--green)}
.stat-change.down{color:var(--red)}
.stat-change.neutral{color:var(--text3)}

/* ── GRID ── */
.g{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.g4,.g3,.g2{grid-template-columns:1fr}}

/* ── BADGE ── */
.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.02em}
.badge-green{background:var(--greenbg);color:var(--green)}
.badge-red{background:var(--redbg);color:var(--red)}
.badge-yellow{background:var(--yellowbg);color:var(--yellow)}
.badge-gold{background:rgba(217,138,61,.10);color:#D98A3D}
.badge-blue{background:var(--bluebg);color:var(--blue)}
.badge-gray{background:var(--surface2);color:var(--text3)}
.badge-orange{background:var(--orangebg);color:var(--orange)}

/* ── SCORE BADGE ── */
.score-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0}

/* ── TABLE ── */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{text-align:left;padding:8px 12px;font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);white-space:nowrap}
td{padding:11px 12px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}
tr:last-child td{border-bottom:none}
tbody tr{cursor:pointer;transition:background .1s}
tbody tr:hover td{background:var(--surface2)}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;border:none;font-family:'Space Grotesk',sans-serif;transition:var(--transition);text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:#d4561a;transform:translateY(-1px)}
.btn-ghost{background:var(--surface2);color:var(--text);border:1px solid var(--border2)}
.btn-ghost:hover{background:var(--border)}
.btn-sm{padding:5px 11px;font-size:12px}
.btn-danger{background:var(--redbg);color:var(--red);border:1px solid rgba(231,76,60,.2)}
.btn-danger:hover{background:rgba(231,76,60,.18)}

/* ── INPUTS ── */
input,select,textarea{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);color:var(--text);padding:9px 12px;font-size:13px;font-family:'Space Grotesk',sans-serif;outline:none;transition:border-color .15s;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--orange)}
input::placeholder{color:var(--text3)}

/* ── SOURCE PILLS ── */
.source-pills{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;flex-shrink:0}
.source-pills::-webkit-scrollbar{display:none}
.source-pill{padding:5px 14px;border-radius:100px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);transition:var(--transition);white-space:nowrap;flex-shrink:0}
.source-pill:hover{border-color:var(--orangeborder);color:var(--orange)}
.source-pill.active{background:var(--orangebg);border-color:var(--orangeborder);color:var(--orange)}

/* ── LEADS FILTER BAR ── */
.leads-filter-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:10px}
.leads-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.leads-controls input,.leads-controls select{font-size:12px;padding:7px 10px;width:auto}
.leads-controls input[type="text"]{flex:1;min-width:140px}
.leads-controls input[type="date"]{min-width:120px}

/* ── LEAD CARDS (mobile) ── */
.lead-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:border-color .15s}
.lead-card:hover{border-color:var(--orangeborder)}
.lead-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}
.lead-card-name{font-size:14px;font-weight:700}
.lead-card-ref{font-size:11px;color:var(--text3);font-family:monospace;margin-top:2px}
.lead-card-mid{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.lead-card-bot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* ── TEAM CARDS ── */
.team-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:10px;transition:border-color .15s}
.team-card-main{display:flex;align-items:flex-start;gap:12px}
.team-card-avatar{width:38px;height:38px;border-radius:50%;background:var(--orangebg);border:1px solid var(--orangeborder);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--orange);flex-shrink:0}

/* ── FILTERS (legacy) ── */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
.filters input,.filters select{width:auto;min-width:110px;font-size:12px;padding:7px 10px}

/* ── PAGINATION ── */
.pagination{display:flex;gap:6px;margin-top:14px;align-items:center}
.pagination button{padding:6px 12px;border-radius:var(--radius);border:1px solid var(--border2);background:var(--surface2);color:var(--text);font-size:12px;font-family:'Space Grotesk',sans-serif;cursor:pointer;transition:var(--transition)}
.pagination button:hover{border-color:var(--orangeborder);color:var(--orange)}
.pagination button:disabled{opacity:.35;cursor:default}
.pagination .page-info{font-size:12px;color:var(--text2);padding:0 8px}

/* ── DRAWER ── */
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:200;display:none;backdrop-filter:blur(2px)}
.drawer-overlay.open{display:block}
.drawer{position:fixed;right:0;top:0;height:100vh;width:500px;max-width:95vw;background:var(--bg2);border-left:1px solid var(--border);z-index:201;overflow:hidden;transform:translateX(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
.drawer.open{transform:translateX(0)}
.drawer-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--bg2);z-index:1}
.drawer-title{font-size:15px;font-weight:700;letter-spacing:-.02em}
.drawer-close{background:none;border:none;color:var(--text2);font-size:22px;cursor:pointer;padding:6px 10px;line-height:1;border-radius:6px;transition:var(--transition)}
.drawer-close:hover{background:var(--surface);color:var(--text)}
.drawer-body{padding:18px 20px;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.drawer-section{margin-bottom:20px}
.drawer-section-title{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.10em;margin-bottom:10px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.detail-item .label{font-size:11px;color:var(--text3);margin-bottom:3px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.detail-item .value{font-size:13.5px;font-weight:500}
.activity-item{display:flex;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.activity-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.activity-icon{width:26px;height:26px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px}
.activity-meta{font-size:11px;color:var(--text3);margin-bottom:2px}
.activity-content{font-size:13px}
.note-types{display:flex;gap:5px;margin-bottom:8px}
.note-type-btn{padding:4px 10px;border-radius:4px;border:1px solid var(--border2);background:none;color:var(--text2);font-size:11.5px;font-family:'Space Grotesk',sans-serif;cursor:pointer;transition:var(--transition)}
.note-type-btn.active,.note-type-btn:hover{border-color:var(--orangeborder);color:var(--orange);background:var(--orangebg)}

/* ── SCORE CARD ── */
.score-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:14px}
.score-signal{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--border);font-size:12px}
.score-signal:last-child{border-bottom:none}
.score-bar{width:60px;height:4px;background:var(--surface2);border-radius:2px;overflow:hidden}
.score-bar-fill{height:100%;border-radius:2px}

/* ── KANBAN ── */
.kanban{display:flex;gap:10px;overflow-x:auto;padding-bottom:14px;min-height:460px}
.kanban-col{min-width:224px;width:224px;display:flex;flex-direction:column;flex-shrink:0}
.kanban-col-header{display:flex;align-items:center;gap:7px;padding:9px 11px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;border-bottom:none}
.kanban-col-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.kanban-col-name{font-size:12px;font-weight:700;flex:1}
.kanban-col-count{font-size:11px;color:var(--text3);background:var(--surface2);border-radius:3px;padding:1px 7px;font-weight:600}
.kanban-cards{flex:1;background:var(--surface2);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);padding:7px;display:flex;flex-direction:column;gap:5px;max-height:calc(100vh - 220px);overflow-y:auto}
.kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;cursor:pointer;transition:var(--transition)}
.kanban-card:hover{border-color:var(--orangeborder);transform:translateY(-1px);box-shadow:var(--shadow)}
.kanban-card-name{font-size:13px;font-weight:700;margin-bottom:3px}
.kanban-card-phone{font-size:11.5px;color:var(--text2);font-family:monospace}
.kanban-card-meta{display:flex;align-items:center;gap:5px;margin-top:7px;flex-wrap:wrap}

/* ── WALLET ── */
.wallet-balance-card{background:linear-gradient(135deg,var(--surface) 0%,var(--surface2) 100%);border:1px solid var(--border);border-radius:var(--radius);padding:26px;position:relative;overflow:hidden}
.wallet-balance-card::before{content:'₹';position:absolute;right:-8px;top:-16px;font-size:110px;font-weight:700;color:rgba(232,97,26,.05);line-height:1;pointer-events:none}
.wallet-big{font-size:38px;font-weight:700;letter-spacing:-.04em;line-height:1;margin-top:8px}
.wallet-gauge{margin-top:14px}
.wallet-gauge-bar{height:6px;background:var(--surface2);border-radius:3px;overflow:hidden;margin-top:6px}
.wallet-gauge-fill{height:100%;border-radius:3px;transition:width .5s}
.ledger-positive{color:var(--green);font-weight:600}
.ledger-negative{color:var(--red);font-weight:600}

/* ── SKELETON ── */
.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface2) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius)}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ── SPARKLINE ── */
.sparkline{display:flex;align-items:flex-end;gap:3px;height:40px;margin-top:10px}
.spark-bar{flex:1;border-radius:2px 2px 0 0;background:var(--orangebg);transition:var(--transition);min-height:3px}
.spark-bar.today{background:var(--orange)}

/* ── EMPTY STATE ── */
.empty-state{text-align:center;padding:48px 24px;color:var(--text3)}
.empty-state-icon{font-size:36px;margin-bottom:12px}
.empty-state-title{font-size:15px;font-weight:600;color:var(--text2);margin-bottom:6px}
.empty-state-desc{font-size:13px;line-height:1.6}

/* ── MOBILE BOTTOM NAV ── */
.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg2);border-top:1px solid var(--border);z-index:100;padding:8px 0 max(8px,env(safe-area-inset-bottom))}
.mobile-nav-inner{display:flex;justify-content:space-around}
.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 12px;cursor:pointer;color:var(--text3);font-size:10px;font-weight:600;transition:var(--transition);border:none;background:none;font-family:'Space Grotesk',sans-serif}
.mobile-nav-item.active{color:var(--orange)}
.mobile-nav-icon{font-size:18px}

@media(max-width:768px){
  .sidebar{display:none}
  .main{margin-left:0;padding-bottom:80px}
  .mobile-nav{display:block}
  .mobile-nav-inner{width:100%;display:flex;justify-content:space-around;overflow:hidden}
  .mobile-nav-item{flex:1;padding:6px 4px;min-width:0;font-size:9px}
  .mobile-nav-icon{font-size:16px}
  .topbar{padding:0 14px}
  .content{padding:12px}
  .page{min-height:auto}
  .notif-dropdown{position:fixed;top:60px;left:12px;right:12px;width:auto}

  /* Leads table → card layout on mobile */
  .table-wrap table{display:block}
  .table-wrap thead{display:none}
  .table-wrap tbody{display:block}
  .table-wrap tbody tr{display:flex;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--border);gap:6px;align-items:center;cursor:pointer}
  .table-wrap tbody tr td{display:inline;border:none;padding:0;font-size:13px}
  .table-wrap tbody tr td:empty{display:none}

  /* Drawer full screen on mobile */
  .drawer{width:100%!important;max-width:100%!important;left:0!important;right:0!important;border-left:none}
  .drawer-body{padding:16px}

  /* Hide some table columns on mobile */
  .mob-hide{display:none!important}
}