@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{color-scheme:dark;--bg:#0c0e14;--panel:#14171f;--border:#262b39;--text:#edf0f7;--muted:#929bb0;--accent:#a59aff;--mint:#53e0b7;--sidebar:246px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',system-ui,sans-serif;font-size:14px;line-height:1.5}body:has(.shell){overflow:hidden;height:100dvh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{transition:background .18s,border-color .18s,color .18s}a:hover{color:#c4bbff}button:disabled{opacity:.5;cursor:wait}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:'Manrope',system-ui,sans-serif}h1{font-size:32px;line-height:1.35;letter-spacing:-1.1px;font-weight:750}h2{font-size:16px;letter-spacing:-.35px;font-weight:750}small{font-size:12px}input,select,textarea{color:var(--text);background:#10131b;border:1px solid #303647;border-radius:9px;padding:11px 13px;max-width:100%}select{padding-right:25px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:1px solid var(--accent)}input::placeholder{color:#80899d}input[type=checkbox]{accent-color:#a59aff;width:16px;height:16px;cursor:pointer}label{color:#c4cada}textarea{resize:vertical;width:100%}code{background:#25243b;color:#c5bcff;padding:6px 10px;border-radius:6px}.accent{color:var(--accent)}.muted{color:var(--muted)}.online-dot,.status-dot{display:inline-block;width:6px;height:6px;background:var(--mint);border-radius:50%;flex-shrink:0;box-shadow:0 0 8px #53e0b730}.status-dot.blue{background:#53c9ff}.sidebar{position:fixed;width:var(--sidebar);height:100dvh;background:#101219;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:30px 18px 0;z-index:30;overflow-y:auto}.brand{display:flex;gap:12px;align-items:center;font-size:25px;font-weight:800;letter-spacing:-1px;padding:0 10px}.brand-logo-img{width:36px;height:36px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 8px rgba(0,98,255,0.25));transition:transform .2s ease}.brand:hover .brand-logo-img{transform:scale(1.05)}.brand-icon{display:grid;place-items:center;position:relative;width:39px;height:42px;border-radius:12px;background:linear-gradient(145deg,#b7a9ff,#7863e5);color:#111022;box-shadow:0 4px 20px #8b75ff30;font-size:27px;letter-spacing:-3px}.brand-icon>span{font-size:14px;position:absolute;top:1px;right:5px}.brand-sub{display:block;letter-spacing:2.5px;font-size:8px;color:#a9a9c2;margin-top:-3px}.workspace-label{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:9px;margin:30px 0;font-size:11px;padding:11px 10px;color:#b1b8c9}.workspace-label>span:last-child{margin-left:auto}.nav-label{font-size:9px;font-weight:700;letter-spacing:1.8px;color:#798399;padding:0 13px;margin:6px 0 12px}nav>a{display:flex;align-items:center;gap:12px;color:#a4adbf;font-size:13px;font-weight:500;padding:12px 13px;border-radius:8px;margin:3px 0}nav>a:hover{background:#1b1e2a}nav>a[aria-current=page]{background:linear-gradient(90deg,#2d2748,#201d33);color:#c6baff;border:1px solid #463869;padding:11px 12px;box-shadow:inset 3px 0 #ac96ff}.nav-icon{font-size:21px;line-height:22px;width:23px;text-align:center}.sidebar nav .nav-label{margin-top:32px}.sidebar nav small{margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:40px}.connection{padding:15px 12px;border:1px solid var(--border);border-radius:10px;font-size:10px;color:#c4cbd8}.connection .online-dot{margin-right:5px}.connection p{font-size:11px;color:var(--muted);margin:7px 0 0;line-height:1.7}.account{display:flex;align-items:center;gap:10px;padding:22px 0}.account>div{min-width:0;flex:1}.account strong{font-size:12px;display:block;overflow-wrap:anywhere}.account small{display:block;color:var(--muted);font-size:10px}.avatar{display:inline-grid;place-items:center;flex-shrink:0;width:38px;height:38px;background:#343047;border:1px solid #504763;border-radius:12px;color:#d3c7fb;font-weight:650;font-size:15px}.avatar.small{width:32px;height:32px;border-radius:50%;font-size:12px}.avatar.subtle{background:#232735;border:1px solid #303648;color:#aeb4d0;font-size:13px;width:35px;height:35px;border-radius:10px}.shell{margin-left:var(--sidebar);height:100dvh;display:flex;flex-direction:column;overflow:hidden;position:relative}.topbar{height:77px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#0e1017;flex-shrink:0;z-index:25}.breadcrumbs{display:flex;align-items:center;gap:14px;font-size:12px;color:#788298}.breadcrumbs strong{color:#b9c1d1;font-weight:500}.topbar-right{display:flex;align-items:center;gap:24px;color:#9ba5b8;font-size:11px}.date-label{border-right:1px solid var(--border);padding-right:24px}.icon-button{background:none;border:0;color:#9da7ba;font-size:21px;display:grid;place-items:center;padding:4px}.menu-toggle{display:none}.shell>main{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;min-height:0;padding:32px 36px 20px;max-width:1700px;width:100%;margin:0 auto;box-sizing:border-box}.shell>main::-webkit-scrollbar{width:8px;height:8px}.shell>main::-webkit-scrollbar-track{background:transparent}.shell>main::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.shell>main::-webkit-scrollbar-thumb:hover{background:var(--muted)}main{padding:32px 36px 20px;max-width:1700px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:27px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:2px;color:#9196b0;margin-bottom:10px}.page-heading p{color:var(--muted);font-size:12px;margin-top:8px}.page-heading>.badge{font-size:14px}.page-heading h1{overflow-wrap:anywhere}.button{border:1px solid #333849;border-radius:8px;background:#1c202b;padding:10px 15px;color:#cbd2e2;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:600;white-space:nowrap;line-height:1.5}.button:hover{background:#282c3b;border-color:#6b618e;color:white}.button.primary{background:#ad9df9;color:#1d1636;border-color:#ad9df9;box-shadow:0 3px 16px #a08cff12}.button.primary:hover{background:#c1b3ff}.button.full{width:100%}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.hero-strip{overflow:hidden;position:relative;background:linear-gradient(105deg,#26213d,#1d1c32 50%,#191c2f);border:1px solid #3c3457;border-radius:12px;padding:21px 24px;margin-bottom:23px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-strip>div:first-child{display:flex;align-items:center;gap:17px;z-index:1}.hero-symbol{font-size:27px;color:#c0acff;background:#3a2e55;border:1px solid #54446f;width:47px;height:47px;border-radius:12px;display:grid;place-items:center}.hero-strip strong{font-size:14px;font-weight:550}.hero-strip p{color:#a4a0ba;font-size:11px;margin-top:4px}.hero-strip>a{position:relative;z-index:1;display:flex;gap:20px;color:#c7bafc;font-size:11px;white-space:nowrap}.hero-grid{position:absolute;inset:-100px -40px -80px 60%;opacity:.35;transform:rotate(-20deg);background-image:linear-gradient(#6b598540 1px,transparent 1px),linear-gradient(90deg,#6b598540 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,transparent,black)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.metric{padding:20px;background:linear-gradient(120deg,#191c26,#14171f);border:1px solid var(--border);border-radius:12px}.metric:hover{border-color:#514668;color:inherit}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:5px;color:#a5aec0;font-size:12px}.metric-icon{display:grid;place-items:center;width:30px;height:30px;font-size:19px;border-radius:8px}.metric>strong{display:block;font-family:'Manrope',sans-serif;font-size:31px;font-weight:750;letter-spacing:-.8px;margin:6px 0 14px}.metric-bottom{font-size:10px;color:#8f99af;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pill{font-size:9px;padding:2px 6px;border-radius:5px}.violet{background:#302841;color:#c0acff}.blue{background:#183445;color:#77d0ff}.mint{background:#193931;color:#77e4c3}.amber{background:#3d3322;color:#e9bf70}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:23px;align-items:start}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;min-width:0;overflow:hidden}.panel-heading{padding:23px 23px 17px;display:flex;justify-content:space-between;align-items:center;gap:14px}.panel-heading p{font-size:11px;color:var(--muted);margin-top:5px}.panel-heading select{font-size:10px;padding:7px 22px 7px 10px;border-radius:7px}.more-dots{font-size:22px;color:#9a9faf;letter-spacing:2px}.chart-total{padding:0 23px;font-size:27px;font-weight:600}.chart-total span{font-size:10px;color:#8d98ad;font-weight:400;margin-left:7px}.activity-chart{padding:6px 16px 0;min-height:218px}.activity-chart svg{width:100%;height:auto;display:block;overflow:visible}.chart-details{margin:3px 23px 14px;font-size:10px;color:var(--muted)}.chart-details summary{cursor:pointer}.chart-details table{font-size:11px}.chart-details .table-scroll{max-height:200px;overflow:auto}.donut-wrap{height:188px;position:relative;display:grid;place-items:center}.donut{width:163px;height:163px;border-radius:50%;background:#282d3b;mask-image:radial-gradient(circle,transparent 53%,#000 54%)}.donut-center{position:absolute;text-align:center;pointer-events:none}.donut-center strong{display:block;font-family:'Manrope',sans-serif;font-size:29px;font-weight:750}.donut-center span{font-size:10px;color:var(--muted)}.legend{display:grid;grid-template-columns:1fr 1fr;column-gap:18px;row-gap:10px;padding:0 23px 23px}.legend>a{display:flex;align-items:center;font-size:10px;gap:7px;color:#a4adc0}.legend strong{margin-left:auto;font-weight:500;color:#dee2ec}.legend-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.text-link{font-size:11px;color:#bcaaff;white-space:nowrap}.table-scroll{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.7px;color:#8a95aa;background:#11141c;padding:13px 20px;white-space:nowrap}td{padding:17px 20px;border-top:1px solid #222734;color:#aeb7c9}tbody tr:hover{background:#191d28}td:first-child{color:#dbe1ed}.person{display:flex;align-items:center;gap:10px}.person>span:last-child{min-width:110px}.person strong{font-size:12px;font-weight:550;display:block;color:#dce2ed}.person small{display:block;font-size:10px;color:#8b96ac;margin-top:3px}.badge{display:inline-block;border-radius:5px;background:#2a2b3d;color:#b7b5d6;font-size:9px;padding:4px 8px;white-space:nowrap}.badge.interested,.badge.completed{background:#1b3833;color:#78dbb9}.badge.call_back,.badge.called{background:#203441;color:#81c9e8}.badge.busy,.badge.no_answer{background:#3a3023;color:#e6bd7e}.badge.not_interested,.badge.cancelled{background:#3a2434;color:#dda0ba}.badge.admission_done_by_other_consultancy{background:#2d2640;color:#bca8f5}.badge.b2b{background:#1e333d;color:#7ec4df}.arrow-link{font-size:19px;color:#9fabc1}.follow-list{padding:0 23px 6px}.follow-item{display:flex;align-items:center;gap:12px;padding:17px 0;border-top:1px solid var(--border)}.follow-item>div:nth-child(2){flex:1;min-width:0}.follow-item strong{font-size:12px;font-weight:550;display:block}.follow-item small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.date-tile{border:1px solid #333a4c;border-radius:8px;width:38px;flex-shrink:0;text-align:center;padding:4px 0;background:#1d2230}.date-tile strong{font-size:14px}.date-tile span{font-size:8px;text-transform:uppercase;color:#98a4ba}.activity-row{display:flex;align-items:center;gap:12px;padding:15px 23px;border-top:1px solid var(--border)}.activity-row>div{flex:1;min-width:0}.activity-row strong{font-size:12px;font-weight:500}.activity-row p{font-size:10px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.activity-row time{font-size:10px;color:var(--muted);white-space:nowrap}.activity-mark{background:#233a34;color:#91cfb9;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;flex-shrink:0}.source-list{padding:0 23px 22px}.source-row{margin:16px 0 23px}.source-row:last-child{margin-bottom:0}.source-row>div:first-child{display:flex;justify-content:space-between;font-size:11px;gap:10px;margin-bottom:10px}.source-row strong{font-weight:500;color:#c5cddc}.source-row span{color:#b0a4df}.source-row small{color:var(--muted);font-size:10px}.progress{height:5px;background:#252a38;border-radius:10px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#7365be,#ad9ff0);border-radius:10px}.source-row:nth-child(2) .progress>span{background:#54b8b5}.source-row:nth-child(3) .progress>span{background:#518cbe}.empty{padding:38px 24px;text-align:center;color:#939db0;font-size:12px}.empty strong{display:block;color:#c3cbd9;font-weight:500}.empty p{margin-top:6px;font-size:11px}.empty a{color:var(--accent)}.empty-icon{display:block;color:#a393d9;font-size:32px;margin-bottom:10px}.footer{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:16px;color:#657087;font-size:10px;padding:14px 36px;border-top:1px solid var(--border);background:var(--bg);z-index:25}.footer>span:first-child{letter-spacing:.7px}.footer .muted{font-size:9px;letter-spacing:0;margin-left:8px}.filters{display:flex;align-items:center;gap:12px;padding:20px;flex-wrap:wrap}.filters select{font-size:12px}.search-field{flex:1;min-width:210px;display:flex;gap:8px;align-items:center;background:#10131b;border:1px solid #303647;border-radius:9px;padding-left:13px}.search-field>span{font-size:23px;color:#8692a9}.search-field input{width:100%;border:0;background:none;font-size:12px}.assignment-bar{padding:13px 20px;border-top:1px solid var(--border);display:flex;align-items:center;gap:16px;background:#191b28;font-size:11px;flex-wrap:wrap}.assignment-bar select{font-size:11px;padding:7px 10px}.checkbox{display:flex;align-items:center;gap:7px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--border);padding:17px 20px;font-size:11px;color:var(--muted)}.pagination>div{display:flex;gap:10px}.pagination .button{padding:6px 12px;font-size:10px}.form-panel{padding:24px}.form-panel>.panel-heading{padding:0 0 22px}.form-panel>p{margin:10px 0 20px;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field label{display:block;font-size:12px;margin-bottom:8px}.field input,.field select{width:100%;font-size:12px}.field.span-two{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.form-panel .form-actions+p{font-size:11px;margin-top:16px}.form-panel .form-grid:has(#id_scheduled_at),.form-panel .form-grid:has(#id_file){grid-template-columns:1fr}.stack{display:flex;flex-direction:column;gap:23px}.spaced{margin-top:23px}.notes-cell{min-width:150px;max-width:320px;overflow-wrap:anywhere;white-space:pre-line}
.report-photo{display:block;max-width:320px;max-height:320px;border-radius:10px;border:1px solid var(--border);object-fit:cover}.notice{padding:14px 18px;border:1px solid #3b5664;border-radius:8px;margin-bottom:20px;background:#192d32;color:#a9d9d1;font-size:13px}.notice.error,.errorlist{color:#f6a5b4;background:#3b212b;border:1px solid #654052;border-radius:7px;padding:12px 16px;font-size:12px}.errorlist{list-style:none;margin:8px 0}.tabs{display:flex;gap:12px;border-bottom:1px solid var(--border);padding:12px 20px;overflow-x:auto}.tabs>a{font-size:12px;padding:8px 13px}.tabs>a[aria-current=page]{padding:7px 12px}.padded{padding:15px 23px}.skip{position:fixed;top:-80px;left:20px;background:var(--accent);color:#121220;padding:12px;z-index:99}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;min-height:100dvh;max-width:none;padding:0}.login-story{display:flex;flex-direction:column;padding:50px 7%;background:radial-gradient(ellipse at 40% 60%,#30234580,transparent 65%),#11121d;border-right:1px solid #292b3c;overflow:hidden}.login-story .brand{padding:0}.story-copy{margin:auto 0;padding:60px 0}.story-copy h1{font-size:clamp(30px,3.6vw,54px);letter-spacing:-2px;margin:20px 0;line-height:1.3}.story-copy h1 em{font-style:normal;color:#b8a4fa}.story-copy>p{color:#9c9ab3;font-size:14px;line-height:1.9}.login-story>.muted{font-size:11px}.orbit{position:relative;height:280px;margin:10px -20px -10px;display:grid;place-items:center}.orbit-ring{position:absolute;width:330px;height:160px;border:1px solid #574568;border-radius:50%;transform:rotate(-25deg);box-shadow:0 0 35px #9875e512}.orbit-ring.inner{width:250px;height:120px;transform:rotate(30deg);border-color:#40385f}.orbit-core{display:grid;place-items:center;background:linear-gradient(145deg,#c2a7ff,#665199);color:#24172f;border-radius:21px;width:80px;height:80px;font-family:Manrope,sans-serif;font-size:35px;font-weight:800;box-shadow:0 0 70px #b58aff40}.orbit-label{position:absolute;z-index:1;border:1px solid #4d3f64;background:#211e31;border-radius:8px;padding:10px 15px;font-size:10px;color:#c3b8d8;box-shadow:0 6px 20px #0004}.orbit-label.one{top:35px;left:10%}.orbit-label.two{right:0;top:155px}.orbit-label.three{bottom:18px;left:4%}.login-form-panel{display:grid;place-items:center;padding:50px 35px}.login-form{width:100%;max-width:355px}.login-form h2{font-size:32px;margin:10px 0}.login-form>.muted{font-size:13px}.login-form form{margin-top:35px}.login-form label{display:block;font-size:12px;margin:20px 0 8px}.login-form input{width:100%;padding:13px}.login-form .button{margin-top:28px;padding:13px;justify-content:space-between}.login-help{font-size:11px;color:#8894ac;margin-top:23px;text-align:center}.login-foot{font-size:10px;color:#8a96ab;margin-top:50px;display:flex;gap:8px;align-items:center;justify-content:center}
@media(min-width:1500px){main{padding:40px 45px}.metrics{gap:23px}.activity-chart{min-height:250px}.donut-wrap{height:210px}.panel-heading h2{font-size:18px}}
@media(max-width:1200px){:root{--sidebar:216px}.sidebar{padding-inline:12px}main{padding:26px 24px}.topbar{padding-inline:24px}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:17px}.metrics{gap:12px}.metric{padding:15px}.metric-top{font-size:11px}.metric-bottom{font-size:9px}.panel-heading{padding:18px}.legend{padding:0 18px 20px;gap:10px}.legend>a{font-size:9px}th,td{padding:13px}.hero-strip{padding:18px}h1{font-size:27px}.activity-row{padding:14px 18px}.follow-list{padding:0 18px 8px}.follow-item{gap:8px}.follow-item>.badge{font-size:8px}}
@media(max-width:1000px){.dashboard-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-chart{min-height:0}.legend{grid-template-columns:repeat(4,1fr)}.hero-strip>a{white-space:normal}.hero-strip strong{font-size:12px}.page-heading{align-items:flex-start}.page-heading .actions{justify-content:flex-end}.login-layout{grid-template-columns:1fr 1fr}.orbit-label{padding:8px;font-size:9px}.orbit-ring{width:250px}.orbit-label.two{right:-10px}.login-story{padding:35px 25px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:246px;box-shadow:20px 0 60px #0007}.sidebar.open{transform:translateX(0)}.shell{margin:0;height:100dvh}.menu-toggle{display:block}.topbar{height:63px;padding:0 18px;position:relative;z-index:35}.topbar-right{gap:10px}.date-label{display:none}.sidebar{padding-top:85px}main{padding:24px 18px}.page-heading{flex-wrap:wrap;gap:16px}.page-heading h1{font-size:27px}.hero-strip{gap:12px;flex-wrap:wrap}.hero-strip>a{margin-left:59px}.metrics{gap:12px}.metric{padding:16px}.metric>strong{font-size:29px}.dashboard-grid{gap:18px}.legend{grid-template-columns:1fr 1fr}.footer{padding:10px 18px;font-size:8px;flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.form-panel{padding:18px}.filters{padding:16px}.filters select{flex:1;min-width:130px}.filters .search-field{flex-basis:100%}.assignment-bar{gap:10px}.pagination{flex-wrap:wrap}.activity-row time{font-size:9px}.login-layout{grid-template-columns:1fr}.login-story{padding:25px;border:0}.story-copy{padding:35px 0 0}.story-copy h1{font-size:32px;letter-spacing:-1px}.story-copy>p,.orbit,.login-story>.muted{display:none}.login-form-panel{padding:35px 25px 50px}.login-form{max-width:450px}.login-form h2{font-size:26px}.login-foot{margin-top:30px}.login-story .brand{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Employee and reporting workspace */
.sidebar nav{flex:1;overflow-y:auto;min-height:180px}.sidebar-bottom{padding-top:18px}.sidebar{overflow:hidden}.feedback-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 30px;padding:12px 24px 25px}.feedback-bars .source-row{margin:8px 0}.field input[type=checkbox]{width:18px;height:18px}.field input[type=hidden]{display:none}.form-panel h2+form{margin-top:20px}.filters .field{min-width:150px}.notes-cell .actions{margin-top:8px}@media(max-width:760px){.feedback-bars{grid-template-columns:1fr}.sidebar-bottom .connection{display:none}.sidebar nav{min-height:0}.sidebar .workspace-label{margin:15px 0}.sidebar .account{padding:12px 0}}

@media print{.sidebar,.topbar,.no-print,form,.footer{display:none!important}.shell{margin:0}body{background:white;color:black}.panel{break-inside:avoid;background:white;color:black;border:1px solid #aaa}main{padding:0;max-width:none}td,th,.muted,.panel-heading p{color:black;background:white}.page-heading{display:block}}

.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:20px;gap:6px}.calendar-grid>strong{text-align:center;color:var(--muted);font-size:11px}.calendar-day{min-height:76px;padding:10px;background:#1b2030;border:1px solid var(--border);border-radius:8px}.calendar-day small{display:block;color:var(--accent);font-size:10px;overflow-wrap:anywhere}.calendar-day.today{border-color:var(--accent)}.calendar-day.outside{opacity:.3}@media(max-width:760px){.calendar-grid{padding:8px;gap:3px}.calendar-day{min-height:65px;padding:5px;font-size:11px}}

/* Header notifications bell */
.notif-wrap{position:relative}
.notif-bell-icon{position:relative;display:inline-flex;width:21px;height:21px;flex-shrink:0}
.notif-bell-icon svg{display:block}
.notif-badge{position:absolute;top:-7px;right:-9px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#e5654f;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--panel)}
.notif-panel{position:absolute;top:calc(100% + 14px);right:-10px;width:340px;max-width:calc(100vw - 32px);background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 40px #0006;z-index:40;overflow:hidden}
.notif-panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);font-size:12px}
.notif-panel-head strong{color:var(--text);font-weight:650}
.notif-list{max-height:380px;overflow-y:auto}
.notif-item{display:flex;align-items:flex-start;gap:11px;padding:13px 18px;border-top:1px solid var(--border)}
.notif-item:first-child{border-top:0}
.notif-item:hover{background:#1b1e2a}
.notif-icon{font-size:17px;flex-shrink:0;margin-top:1px}
.notif-body{flex:1;min-width:0}
.notif-body strong{display:block;font-size:12px;font-weight:550;color:var(--text);overflow-wrap:anywhere}
.notif-body small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.notif-item time{font-size:9px;color:#798399;white-space:nowrap;margin-top:2px}
.notif-empty{padding:30px 18px;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:760px){.notif-panel{position:fixed;top:63px;right:10px;left:10px;width:auto}}

/* Team chat */
.chat-layout{display:grid;grid-template-columns:230px minmax(0,1fr);height:calc(100dvh - 230px);min-height:460px;padding:0;overflow:hidden}
.chat-channels{border-right:1px solid var(--border);padding:16px 10px;overflow-y:auto;background:#11141c}
.chat-channels-label{font-size:9px;font-weight:700;letter-spacing:1.8px;color:#798399;padding:0 10px;margin-bottom:10px}
.chat-channel-link{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:500;color:#a4adbf;margin:2px 0;overflow-wrap:anywhere}
.chat-channel-hash{opacity:.8;font-weight:700}
.chat-channel-link:hover{background:#1b1e2a}
.chat-channel-link.active{background:linear-gradient(90deg,#2d2748,#201d33);color:#c6baff;border:1px solid #463869;box-shadow:inset 3px 0 #ac96ff}
.chat-thread-wrap{display:flex;flex-direction:column;min-width:0;background:var(--panel)}
.chat-thread{flex:1;overflow-y:auto;padding:22px 24px;display:flex;flex-direction:column;justify-content:flex-end;gap:16px}
.chat-msg{display:flex;gap:10px;max-width:65%;align-self:flex-start}
.chat-msg.mine{align-self:flex-end;flex-direction:row-reverse}
.chat-avatar{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#343047;border:1px solid #504763;color:#d3c7fb;display:grid;place-items:center;font-size:12px;font-weight:650}
.chat-msg-body{min-width:0;background:#1b2030;border:1px solid var(--border);border-radius:14px;border-top-left-radius:4px;padding:9px 13px}
.chat-msg.mine .chat-msg-body{background:var(--accent);border-color:var(--accent);border-top-left-radius:14px;border-top-right-radius:4px}
.chat-msg strong{display:block;font-size:11px;font-weight:650;color:var(--accent);margin-bottom:3px}
.chat-msg p{font-size:13px;line-height:1.6;color:var(--text);overflow-wrap:anywhere;white-space:pre-line}
.chat-msg.mine p{color:#181430}
.chat-msg time{display:block;font-size:9px;color:var(--muted);margin-top:4px;text-align:right}
.chat-msg.mine time{color:#181430;opacity:.6}
.chat-compose{display:flex;gap:10px;padding:16px 22px;border-top:1px solid var(--border)}
.chat-compose input{flex:1;border-radius:22px;padding:12px 18px}
.chat-compose button{border-radius:22px}
@media(max-width:760px){.chat-layout{grid-template-columns:1fr;height:auto}.chat-channels{border-right:0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px;overflow-x:auto;white-space:nowrap;padding:10px}.chat-channels-label{display:none}.chat-channel-link{display:inline-flex}.chat-thread{max-height:50vh;padding:16px}.chat-msg{max-width:82%}}

/* ==========================================================================
   Notices Section Styling
   ========================================================================== */

/* Compose / New Notice Panel */
.notice-compose-panel {
  border-top: 3px solid var(--accent);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  animation: noticeSlideDown .2s ease-out;
}
@keyframes noticeSlideDown {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}
.notice-compose-panel .panel-heading {
  border-bottom: 1px solid var(--border);
  padding: 18px 24px;
}
.notice-close-btn {
  background: none;
  border: 1px solid var(--border);
  color: var(--muted);
  width: 30px;
  height: 30px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: all .15s ease;
}
.notice-close-btn:hover {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text);
  border-color: #555e75;
}

/* Recipient Type Selector */
.recipient-type-selector {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 6px;
}
.recipient-type-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: #10131b;
  cursor: pointer;
  transition: border-color .18s, background .18s, box-shadow .18s;
  user-select: none;
}
.recipient-type-card:hover {
  border-color: #504475;
  background: #151824;
}
.recipient-type-card.active {
  border-color: var(--accent);
  background: rgba(165, 154, 255, 0.08);
  box-shadow: 0 0 0 1px var(--accent);
}
.recipient-type-card input[type="radio"] {
  margin-top: 3px;
  accent-color: var(--accent);
  cursor: pointer;
}
.recipient-type-card-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.recipient-type-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 6px;
}
.recipient-type-desc {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.4;
}

/* Employee Picker */
.employee-picker-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.employee-picker-header label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text);
  margin: 0;
}
.employee-picker-stats {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
}
.picker-count-badge {
  background: rgba(165, 154, 255, 0.15);
  color: var(--accent);
  border: 1px solid rgba(165, 154, 255, 0.3);
  font-size: 10.5px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 12px;
}
.btn-picker-action {
  background: none;
  border: none;
  color: var(--accent);
  font-size: 11px;
  font-weight: 550;
  cursor: pointer;
  padding: 3px 6px;
  border-radius: 4px;
  transition: background .15s, color .15s;
}
.btn-picker-action:hover {
  background: rgba(165, 154, 255, 0.12);
  color: #c4bbff;
}
.employee-picker-search-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #10131b;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0 12px;
  height: 38px;
  margin-bottom: 10px;
  transition: border-color .15s, box-shadow .15s;
}
.employee-picker-search-wrap:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent);
}
.employee-picker-search-wrap .search-icon {
  font-size: 13px;
  color: var(--muted);
  line-height: 1;
}
.employee-picker-search-wrap input {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  font-size: 12px;
  color: var(--text);
  outline: none;
}
.employee-picker-search-wrap input::placeholder {
  color: #657087;
}

/* Selected Chips Box */
.selected-chips-box {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px 10px;
  background: rgba(0, 0, 0, 0.2);
  border: 1px dashed var(--border);
  border-radius: 8px;
  margin-bottom: 10px;
  max-height: 85px;
  overflow-y: auto;
}
.employee-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #202434;
  border: 1px solid #363c50;
  color: var(--text);
  border-radius: 12px;
  padding: 2px 8px 2px 10px;
  font-size: 11px;
  line-height: 1.5;
  animation: chipFadeIn .15s ease-out;
}
@keyframes chipFadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
.employee-chip-remove {
  background: none;
  border: none;
  color: var(--muted);
  cursor: pointer;
  font-size: 11px;
  padding: 0 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: color .15s;
}
.employee-chip-remove:hover {
  color: #f87171;
}

/* Scrollable Employee List */
.employee-picker-list {
  max-height: 250px;
  overflow-y: auto;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #10131b;
  display: flex;
  flex-direction: column;
}
.employee-picker-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  cursor: pointer;
  transition: background .15s, border-left .15s;
  user-select: none;
}
.employee-picker-item:last-child {
  border-bottom: none;
}
.employee-picker-item:hover {
  background: rgba(255, 255, 255, 0.04);
}
.employee-picker-item:has(input:checked) {
  background: rgba(165, 154, 255, 0.07);
  border-left: 3px solid var(--accent);
  padding-left: 9px;
}
.employee-picker-item input[type="checkbox"] {
  accent-color: var(--accent);
  width: 15px;
  height: 15px;
  cursor: pointer;
  margin: 0;
  flex-shrink: 0;
}
.employee-picker-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #443c68, #2a2542);
  border: 1px solid #504763;
  color: #d3c7fb;
  font-weight: 700;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.employee-picker-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
.employee-picker-name {
  font-size: 12px;
  font-weight: 550;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.employee-picker-sub {
  font-size: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 1px;
}
.badge-mini {
  font-size: 9px;
  padding: 1px 6px;
  border-radius: 4px;
  background: #1f2334;
  color: #9aa5bf;
  border: 1px solid #2f364e;
}
.notice-roles {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  padding: 10px 0;
}

/* Notice Cards in Main Stream */
.notice-card {
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.notice-card:hover {
  border-color: #3e445b;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
}
.notice-card .panel-heading {
  padding: 20px 24px 14px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
.notice-title-group h2 {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 4px;
  line-height: 1.35;
}
.notice-meta {
  font-size: 11.5px;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 6px;
}
.notice-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* Audience Badges */
.notice-audience-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 550;
  padding: 4px 10px;
  border-radius: 20px;
  white-space: nowrap;
  letter-spacing: 0.1px;
}
.notice-audience-badge .badge-icon {
  flex-shrink: 0;
}
.notice-audience-badge.individual {
  background: rgba(165, 154, 255, 0.12);
  color: #c4bbff;
  border: 1px solid rgba(165, 154, 255, 0.25);
}
.notice-audience-badge.role {
  background: rgba(94, 234, 212, 0.1);
  color: #5eead4;
  border: 1px solid rgba(94, 234, 212, 0.22);
}

.notice-delete-btn {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: 1px solid transparent;
  background: none;
  color: var(--muted);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: all .15s ease;
  padding: 0;
}
.notice-delete-btn:hover {
  background: rgba(239, 68, 68, 0.12);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.2);
}

/* Notice Body */
.notice-body {
  padding: 0 24px 20px;
  font-size: 13.5px;
  line-height: 1.75;
  color: #c8cfe0;
  white-space: pre-line;
  overflow-wrap: anywhere;
}

/* Notice Attachments Section */
.notice-attachments {
  margin: 0;
  padding: 14px 24px 18px;
  border-top: 1px solid var(--border);
  background: rgba(0, 0, 0, 0.12);
}
.notice-attachments-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--muted);
  display: block;
  margin-bottom: 10px;
}
.notice-attachments-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.attachment-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: #161a25;
  transition: border-color .18s, background .18s;
  max-width: 100%;
}
.attachment-chip:hover {
  border-color: #4a456d;
  background: #1b2030;
}
.attachment-chip-icon {
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
}
.attachment-chip-link {
  color: var(--text);
  font-weight: 500;
  font-size: 12px;
  text-decoration: none;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.attachment-chip-link:hover {
  color: var(--accent);
  text-decoration: underline;
}
.attachment-chip-size {
  font-size: 11px;
  color: var(--muted);
  flex-shrink: 0;
}
.attachment-chip-dl {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 5px;
  color: var(--accent);
  background: rgba(165, 154, 255, 0.1);
  text-decoration: none;
  transition: background .15s, color .15s;
  flex-shrink: 0;
}
.attachment-chip-dl:hover {
  background: rgba(165, 154, 255, 0.25);
  color: #fff;
}
.attachment-chip-del {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 5px;
  border: none;
  background: none;
  color: var(--muted);
  cursor: pointer;
  transition: all .15s ease;
  padding: 0;
  flex-shrink: 0;
}
.attachment-chip-del:hover {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
}

/* Empty Notice State */
.empty-notice-panel {
  padding: 48px 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.empty-notice-panel .empty-icon-wrap {
  font-size: 36px;
  margin-bottom: 12px;
  opacity: 0.8;
}
.empty-notice-panel h3 {
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 6px;
}
.empty-notice-panel p {
  font-size: 12px;
  color: var(--muted);
  max-width: 340px;
}

/* Responsive adjustments */
@media(max-width: 760px) {
  .recipient-type-selector {
    grid-template-columns: 1fr;
  }
  .notice-card .panel-heading {
    flex-direction: column;
    gap: 12px;
  }
  .notice-actions {
    width: 100%;
    justify-content: space-between;
  }
}

/* ==========================================================================
   Light Mode Overrides for Notices
   ========================================================================== */
[data-theme=light] .notice-compose-panel {
  border-top-color: #6366f1;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}
[data-theme=light] .notice-compose-panel .panel-heading {
  border-bottom-color: #e2e8f0;
}
[data-theme=light] .notice-close-btn {
  border-color: #e2e8f0;
}
[data-theme=light] .notice-close-btn:hover {
  background: #f1f5f9;
  color: #0f172a;
  border-color: #cbd5e1;
}
[data-theme=light] .recipient-type-card {
  background: #ffffff;
  border-color: #e2e8f0;
}
[data-theme=light] .recipient-type-card:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
}
[data-theme=light] .recipient-type-card.active {
  background: #f5f3ff;
  border-color: #6366f1;
  box-shadow: 0 0 0 1px #6366f1;
}
[data-theme=light] .recipient-type-title {
  color: #0f172a;
}
[data-theme=light] .recipient-type-desc {
  color: #64748b;
}
[data-theme=light] .employee-picker-header label {
  color: #0f172a;
}
[data-theme=light] .picker-count-badge {
  background: #ede9fe;
  color: #6d28d9;
  border-color: #ddd6fe;
}
[data-theme=light] .btn-picker-action {
  color: #6366f1;
}
[data-theme=light] .btn-picker-action:hover {
  background: #eef2ff;
  color: #4f46e5;
}
[data-theme=light] .employee-picker-search-wrap {
  background: #ffffff;
  border-color: #cbd5e1;
}
[data-theme=light] .employee-picker-search-wrap:focus-within {
  border-color: #6366f1;
  box-shadow: 0 0 0 1px #6366f1;
}
[data-theme=light] .employee-picker-search-wrap input {
  color: #0f172a;
}
[data-theme=light] .employee-picker-search-wrap input::placeholder {
  color: #94a3b8;
}
[data-theme=light] .selected-chips-box {
  background: #f8fafc;
  border-color: #e2e8f0;
}
[data-theme=light] .employee-chip {
  background: #ffffff;
  border-color: #cbd5e1;
  color: #1e293b;
}
[data-theme=light] .employee-picker-list {
  background: #ffffff;
  border-color: #e2e8f0;
}
[data-theme=light] .employee-picker-item {
  border-bottom-color: #f1f5f9;
}
[data-theme=light] .employee-picker-item:hover {
  background: #f8fafc;
}
[data-theme=light] .employee-picker-item:has(input:checked) {
  background: #f5f3ff;
  border-left-color: #6366f1;
}
[data-theme=light] .employee-picker-name {
  color: #0f172a;
}
[data-theme=light] .employee-picker-avatar {
  background: #e0e7ff;
  color: #4338ca;
  border-color: #c7d2fe;
}
[data-theme=light] .badge-mini {
  background: #f1f5f9;
  color: #475569;
  border-color: #e2e8f0;
}
[data-theme=light] .notice-card {
  background: #ffffff;
  border-color: #e2e8f0;
}
[data-theme=light] .notice-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}
[data-theme=light] .notice-title-group h2 {
  color: #0f172a;
}
[data-theme=light] .notice-meta {
  color: #64748b;
}
[data-theme=light] .notice-audience-badge.individual {
  background: #f3f0ff;
  color: #6d28d9;
  border-color: #ddd6fe;
}
[data-theme=light] .notice-audience-badge.role {
  background: #f0fdfa;
  color: #0d9488;
  border-color: #99f6e4;
}
[data-theme=light] .notice-delete-btn:hover {
  background: #fee2e2;
  color: #dc2626;
  border-color: #fecaca;
}
[data-theme=light] .notice-body {
  color: #334155;
}
[data-theme=light] .notice-attachments {
  background: #f8fafc;
  border-top-color: #e2e8f0;
}
[data-theme=light] .notice-attachments-title {
  color: #64748b;
}
[data-theme=light] .attachment-chip {
  background: #ffffff;
  border-color: #cbd5e1;
}
[data-theme=light] .attachment-chip:hover {
  border-color: #6366f1;
  background: #f8fafc;
}
[data-theme=light] .attachment-chip-link {
  color: #1e293b;
}
[data-theme=light] .attachment-chip-link:hover {
  color: #6366f1;
}
[data-theme=light] .attachment-chip-dl {
  background: #eef2ff;
  color: #4f46e5;
}
[data-theme=light] .attachment-chip-dl:hover {
  background: #6366f1;
  color: #ffffff;
}
[data-theme=light] .attachment-chip-del:hover {
  background: #fee2e2;
  color: #dc2626;
}
[data-theme=light] .empty-notice-panel h3 {
  color: #0f172a;
}
[data-theme=light] .empty-notice-panel p {
  color: #64748b;
}


/* App intro / download page */
.intro-page{max-width:1100px;margin:0 auto;padding:36px 24px 0}
.intro-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:36px;flex-wrap:wrap}
.intro-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;padding:16px 0 60px}
.intro-hero h1{font-size:clamp(32px,4vw,52px);letter-spacing:-1.5px;line-height:1.18;margin:18px 0}
.intro-hero h1 em{font-style:normal;color:#b8a4fa}
.intro-hero>div:first-child>p{color:#9c9ab3;font-size:15px;line-height:1.8;max-width:480px}
.intro-download{padding:15px 26px;font-size:14px;margin-top:26px;gap:12px}
.intro-download span{font-size:18px}
.intro-meta{font-size:11px;margin-top:12px}
.intro-hero-art{display:grid;place-items:center}
.section-title{text-align:center;margin-bottom:34px}
.section-title h2{font-size:26px;letter-spacing:-1px}
.section-title p{color:var(--muted);font-size:13px;margin-top:9px}
.intro-steps{padding:30px 0}
.intro-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.intro-step{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:26px;text-align:center}
.intro-step-number{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#b7a9ff,#7863e5);color:#14171f;font-weight:800;font-family:Manrope,sans-serif;margin-bottom:14px}
.intro-step h4{font-size:15px;margin-bottom:8px}
.intro-step p{color:var(--muted);font-size:12.5px;line-height:1.7}
.intro-features{padding:16px 0 60px}
.intro-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.intro-feature{display:flex;gap:16px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px}
.intro-feature-icon{font-size:22px;flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;background:#232735;border-radius:11px}
.intro-feature h4{font-size:14px;margin-bottom:6px}
.intro-feature p{color:var(--muted);font-size:12.5px;line-height:1.7}
.intro-footer{border-top:1px solid var(--border);padding:30px 0 40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
@media(max-width:760px){.intro-hero{grid-template-columns:1fr}.intro-hero-art{display:none}.intro-step-grid,.intro-feature-grid{grid-template-columns:1fr}.intro-header{padding-bottom:24px}}

/* Keep batch headings distinct from the leads beneath them. */
.batch-heading th { background: var(--surface, rgba(139,145,255,.09)); padding-top: 18px; padding-bottom: 18px; }
.batch-heading small { font-weight: 400; }
.metric strong { overflow-wrap: anywhere; }

/* Performance reports share Vaani's theme tokens in both light and dark mode. */
.performance-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 15%,var(--panel)),var(--panel));position:relative;overflow:hidden}
.performance-hero h2{font-size:24px}.performance-hero p,.performance-metrics small,.report-note{color:var(--muted)}
.score-total{text-align:right;min-width:145px}.score-total>span{display:block;font-size:11px;color:var(--muted)}.score-total>strong{display:block;font-size:48px;line-height:1.3;font-family:Manrope,sans-serif;color:var(--accent)}
.positive{color:#219d79!important}.negative{color:#e36383!important}.performance-metrics .metric>strong{font-size:25px;margin-bottom:8px}.performance-metrics .metric>strong small{font-size:17px}
.report-controls .filters{align-items:end;gap:14px}.report-controls .field{flex:1;min-width:120px}.report-controls .field input,.report-controls .field select{width:100%}.report-note{padding:0 22px 16px;font-size:11px}
.points-calendar{display:flex;flex-wrap:wrap;gap:22px;padding:20px 24px;background:var(--panel);border:1px solid var(--border);border-radius:12px;align-items:center}.points-calendar>div{flex:1;min-width:130px}.points-calendar span{display:block;color:var(--muted);font-size:11px}.points-calendar strong{font-size:24px}.points-calendar p{flex-basis:100%;font-size:11px;color:var(--muted)}
.points-split{display:block;white-space:nowrap;color:var(--muted);margin-top:3px}.chart-caption{padding:4px 24px;font-size:12px;color:var(--muted)}
.outcome-legend{display:grid;gap:13px;padding:0 24px 24px}.outcome-legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;font-size:12px}
.caller-bars{overflow-x:auto;padding:28px 26px 20px}.caller-bars-track{display:flex;gap:24px;min-width:100%;width:max-content;align-items:start}.caller-bar-column{width:100px;text-align:center;flex-shrink:0}.caller-bar-column>strong{display:block;margin-top:12px;font-size:12px;overflow-wrap:anywhere}.caller-bar-column>small{color:var(--muted)}
.bar-positive-zone,.bar-negative-zone{height:125px;display:flex;position:relative;justify-content:center}.bar-positive-zone{align-items:end;border-bottom:1px solid var(--border)}.bar-negative-zone{align-items:start}.caller-bar{position:relative;display:block;width:48px;min-height:3px;background:linear-gradient(0deg,#7863e5,#bcaeff);border-radius:7px 7px 0 0;box-shadow:0 0 22px #8b91ff15}.caller-bar b{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:4px;font-size:12px;color:var(--text)}.negative-bar{background:linear-gradient(0deg,#f287ad,#c85a7a);border-radius:0 0 7px 7px}.negative-bar b{top:100%;bottom:auto}.caller-bar-column:hover .caller-bar{filter:brightness(1.15)}
.points-management{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:20px}.points-management form{border:1px solid var(--border);border-radius:12px;padding:20px}.points-management p{margin:12px 0;color:var(--muted);font-size:12px}.points-management label{display:block;margin:12px 0 5px}.points-management input,.points-management select{width:100%}.points-management button{margin-top:12px}
@media(max-width:760px){.performance-hero{padding:20px}.performance-hero h2{font-size:19px}.score-total>strong{font-size:36px}.performance-metrics .metric>strong{font-size:21px}.points-management{grid-template-columns:1fr}.report-controls .field{min-width:100px}.points-calendar{gap:12px}.caller-bars{padding-inline:16px}}

/* Vaani High-Tech Audio Visualizer & Call Player */
.vaani-audio-player{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.2);transition:border-color .2s,box-shadow .2s}
.vaani-audio-player:hover{border-color:rgba(0,98,255,.4)}
.vaani-audio-player.is-playing{border-color:#0062ff;box-shadow:0 0 28px rgba(0,98,255,.18),0 8px 32px rgba(0,0,0,.3)}
.player-header{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px}
.player-title{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text)}
.player-title .pulse-dot{width:8px;height:8px;border-radius:50%;background:#00f2fe;box-shadow:0 0 10px #00f2fe;opacity:.5;transition:opacity .2s,transform .2s}
.is-playing .player-title .pulse-dot{opacity:1;background:#00f2fe;animation:pulseGlow 1.4s infinite alternate}
@keyframes pulseGlow{0%{transform:scale(.9);box-shadow:0 0 4px #00f2fe}100%{transform:scale(1.3);box-shadow:0 0 14px #00f2fe}}
.visualizer-box{position:relative;background:rgba(10,14,26,.7);border:1px solid rgba(142,153,255,.14);border-radius:10px;padding:10px 14px 6px;overflow:hidden}
[data-theme=light] .visualizer-box{background:#f0f4fc;border-color:#d0dbec}
.visualizer-canvas{width:100%;height:68px;display:block}
.freq-hud{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}
[data-theme=light] .freq-hud{border-top-color:rgba(0,0,0,.06)}
.freq-band-item{display:flex;flex-direction:column;gap:4px}
.freq-band-label{display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:.8px;color:var(--muted);text-transform:uppercase}
.freq-meter-track{height:4px;background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden}
[data-theme=light] .freq-meter-track{background:rgba(0,0,0,.08)}
.freq-meter-fill{height:100%;width:0%;border-radius:4px;transition:width .08s ease-out}
.meter-low-fill{background:linear-gradient(90deg,#0062ff,#00f2fe);box-shadow:0 0 8px rgba(0,242,254,.4)}
.meter-mid-fill{background:linear-gradient(90deg,#0062ff,#38bdf8);box-shadow:0 0 8px rgba(56,189,248,.4)}
.meter-high-fill{background:linear-gradient(90deg,#7c3aed,#c084fc);box-shadow:0 0 8px rgba(192,132,252,.4)}
.player-controls-row{display:flex;align-items:center;gap:14px}
.btn-play{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#0062ff,#00c2ff);border:0;color:#fff;display:grid;place-items:center;font-size:15px;cursor:pointer;flex-shrink:0;box-shadow:0 4px 16px rgba(0,98,255,.35);transition:transform .15s ease,box-shadow .15s ease}
.btn-play:hover{transform:scale(1.06);box-shadow:0 6px 20px rgba(0,98,255,.5)}
.timeline-container{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.timeline-track{height:7px;background:rgba(255,255,255,.1);border-radius:6px;cursor:pointer;position:relative;overflow:hidden}
[data-theme=light] .timeline-track{background:rgba(0,0,0,.1)}
.timeline-fill{height:100%;width:0%;background:linear-gradient(90deg,#0062ff,#00f2fe);border-radius:6px;position:relative}
.time-stamps{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.player-extras{display:flex;align-items:center;gap:8px;flex-shrink:0}
.speed-chips{display:flex;background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:8px;padding:2px;gap:2px}
.speed-chip{background:none;border:0;color:var(--muted);font-size:10px;font-weight:600;padding:3px 6px;border-radius:6px;cursor:pointer}
.speed-chip:hover{color:var(--text)}
.speed-chip.active{background:#0062ff;color:#fff}
.btn-download-audio{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:7px;background:var(--surfaceMuted,rgba(255,255,255,.06));border:1px solid var(--border);color:var(--text);font-size:11px}
.btn-download-audio:hover{background:#0062ff;color:#fff;border-color:#0062ff}

/* Compact Audio Player for Table Rows */
.vaani-player-compact{display:flex;flex-direction:column;gap:6px;min-width:210px;max-width:290px}
.vaani-player-compact .visualizer-canvas{height:36px}
.vaani-player-compact .visualizer-box{padding:6px 10px 4px}
.vaani-player-compact .btn-play{width:32px;height:32px;font-size:12px}
.vaani-player-compact .freq-hud{display:none}
@media(max-width:760px){.player-controls-row{flex-wrap:wrap}.player-extras{width:100%;justify-content:space-between}}

/* Lead Status Quick Pills and Results Count Badge */
.status-pills-scroll{overflow-x:auto;margin-bottom:16px;padding-bottom:4px}
.status-pills-bar{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:min-content}
.status-filter-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;background:#14171f;border:1px solid #262b39;border-radius:20px;font-size:12px;font-weight:550;color:#929bb0;text-decoration:none;white-space:nowrap;transition:all .15s ease;cursor:pointer}
[data-theme=light] .status-filter-pill{background:#ffffff;border-color:#e2e8f0;color:#64748b}
.status-filter-pill:hover{background:#1c202d;border-color:#a59aff;color:#edf0f7;transform:translateY(-1px)}
[data-theme=light] .status-filter-pill:hover{background:#f1f5f9;border-color:#6366f1;color:#0f172a}
.status-filter-pill.active{background:linear-gradient(135deg,rgba(99,102,241,.25),rgba(168,85,247,.25));border-color:#a59aff;color:#fff;font-weight:700;box-shadow:0 0 12px rgba(168,85,247,.25)}
[data-theme=light] .status-filter-pill.active{background:#eef2ff;border-color:#6366f1;color:#4f46e5;box-shadow:0 2px 8px rgba(99,102,241,.15)}
.status-filter-pill .pill-count{display:inline-block;font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px;background:rgba(255,255,255,.08);color:inherit}
[data-theme=light] .status-filter-pill .pill-count{background:rgba(0,0,0,.06)}
.status-filter-pill.active .pill-count{background:#a59aff;color:#0c0e14}
[data-theme=light] .status-filter-pill.active .pill-count{background:#6366f1;color:#ffffff}
.status-filter-pill.has-items{color:#edf0f7}
[data-theme=light] .status-filter-pill.has-items{color:#1e293b}

.lead-results-summary{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#14171f;border-top:1px solid #262b39;border-bottom:1px solid #262b39;font-size:12px;flex-wrap:wrap;gap:10px}
[data-theme=light] .lead-results-summary{background:#f8fafc;border-color:#e2e8f0}
.exact-count-badge{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:#edf0f7}
[data-theme=light] .exact-count-badge{color:#0f172a}
.exact-count-badge strong{font-size:15px;font-weight:800;color:#a59aff}
[data-theme=light] .exact-count-badge strong{color:#4f46e5}
.filter-indicator{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;background:rgba(255,255,255,.06);color:#929bb0;font-size:11px}
[data-theme=light] .filter-indicator{background:#e2e8f0;color:#475569}
.clear-filter-btn{font-size:11px;font-weight:600;color:#a59aff;text-decoration:none;padding:4px 8px;border-radius:6px;background:rgba(165,154,255,.1);transition:background .15s ease}
.clear-filter-btn:hover{background:rgba(165,154,255,.2)}
[data-theme=light] .clear-filter-btn{color:#4f46e5;background:#ede9fe}
[data-theme=light] .clear-filter-btn:hover{background:#ddd6fe}

/* ==================================================
   Modernized Collapsible & Searchable CRM Sidebar
   ================================================== */
:root { --sidebar: 256px; }

.sidebar {
  position: fixed;
  width: var(--sidebar);
  height: 100dvh;
  background: linear-gradient(180deg, #0d1017 0%, #11141c 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.07);
  display: flex;
  flex-direction: column;
  padding: 16px 12px 12px;
  z-index: 30;
  overflow: hidden;
  box-sizing: border-box;
}

.sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2px 4px 6px;
  flex-shrink: 0;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  padding: 0;
}

.brand-logo-img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  filter: drop-shadow(0 2px 8px rgba(99, 102, 241, 0.35));
  transition: transform 0.2s ease;
}

.brand:hover .brand-logo-img {
  transform: scale(1.05);
}

.brand-title {
  font-family: 'Manrope', system-ui, sans-serif;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.5px;
  color: #f8fafc;
  line-height: 1.1;
}

.brand-sub {
  display: block;
  font-size: 7.5px;
  font-weight: 750;
  letter-spacing: 2px;
  color: #818cf8;
  margin-top: 1px;
}

.sidebar-close {
  display: none;
  background: none;
  border: 0;
  color: var(--muted);
  font-size: 15px;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 6px;
  transition: all 0.15s;
}

.sidebar-close:hover {
  color: var(--text);
  background: rgba(255, 255, 255, 0.06);
}

.sidebar-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(3px);
  z-index: 28;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.sidebar-backdrop.active {
  display: block;
  opacity: 1;
  pointer-events: auto;
}

.sidebar-search-box {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 38px;
  min-height: 38px;
  max-height: 38px;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 9px;
  padding: 0 10px;
  margin: 12px 0 10px;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
  flex-shrink: 0;
  cursor: text;
  width: 100%;
}

.sidebar-search-box:hover {
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.06);
}

.sidebar-search-box:focus-within {
  border-color: #8b5cf6 !important;
  background: rgba(139, 92, 246, 0.08) !important;
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.2) !important;
}

.sidebar-search-box .search-icon {
  stroke: #64748b;
  flex-shrink: 0;
  transition: stroke 0.15s;
  pointer-events: none;
}

.sidebar-search-box:hover .search-icon {
  stroke: #94a3b8;
}

.sidebar-search-box:focus-within .search-icon {
  stroke: #a78bfa;
}

.sidebar-search-box input,
.sidebar-search-box input:focus,
.sidebar-search-box input:hover,
.sidebar-search-box input:active {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  height: 100% !important;
  line-height: normal !important;
  box-sizing: border-box !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  font-size: 12px !important;
  color: #f1f5f9 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: text !important;
}

.sidebar-search-box input::placeholder {
  color: #64748b;
  font-size: 11.5px;
  opacity: 0.95;
}

.search-clear-btn {
  background: rgba(255, 255, 255, 0.08);
  border: none;
  color: #94a3b8;
  font-size: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  padding: 0;
  flex-shrink: 0;
  transition: all 0.15s;
}

.search-clear-btn:hover {
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
}

.search-shortcut {
  font-family: inherit;
  font-size: 9px;
  font-weight: 700;
  color: #64748b;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  padding: 1px 5px;
  flex-shrink: 0;
  letter-spacing: 0.3px;
}

.quick-pills {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  flex-shrink: 0;
}

.quick-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 550;
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: #94a3b8;
  text-decoration: none;
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}

.quick-pill svg {
  stroke: #818cf8;
  flex-shrink: 0;
  transition: stroke 0.15s ease;
}

.quick-pill:hover {
  background: rgba(139, 92, 246, 0.12);
  color: #f1f5f9;
  border-color: rgba(167, 139, 250, 0.35);
  transform: translateY(-1px);
}

.quick-pill:hover svg {
  stroke: #c4b5fd;
}

.quick-pill.active {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.24), rgba(99, 102, 241, 0.16));
  color: #ffffff;
  border-color: rgba(167, 139, 250, 0.45);
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(139, 92, 246, 0.18);
}

.quick-pill.active svg {
  stroke: #a78bfa;
}

.sidebar-nav {
  flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
  padding-right: 3px;
  margin-right: -2px;
}

.sidebar-nav::-webkit-scrollbar {
  width: 4px;
}

.sidebar-nav::-webkit-scrollbar-track {
  background: transparent;
}

.sidebar-nav::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
}

.sidebar-nav::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.22);
}

.nav-group {
  margin-bottom: 5px;
}

.nav-group-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: none;
  border: none;
  padding: 5px 8px;
  cursor: pointer;
  border-radius: 6px;
  transition: background 0.15s ease;
}

.nav-group-header:hover {
  background: rgba(255, 255, 255, 0.025);
}

.nav-group-title {
  font-size: 9.5px;
  font-weight: 750;
  letter-spacing: 1.2px;
  color: #64748b;
  text-transform: uppercase;
  transition: color 0.15s;
}

.nav-group-header:hover .nav-group-title {
  color: #cbd5e1;
}

.nav-group-chevron {
  stroke: #64748b;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), stroke 0.15s;
  flex-shrink: 0;
}

.nav-group-header:hover .nav-group-chevron {
  stroke: #cbd5e1;
}

.nav-group.collapsed .nav-group-chevron {
  transform: rotate(-90deg);
}

.nav-group.collapsed .nav-group-items {
  display: none;
}

.nav-group-items {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 2px 0 4px 2px;
}

.nav-group-items a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  height: 33px;
  padding: 0 9px;
  border-radius: 7px;
  color: #94a3b8;
  font-size: 12.5px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.15s, color 0.15s, padding-left 0.15s;
  overflow: hidden;
}

.nav-group-items a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  bottom: 7px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: #8b5cf6;
  opacity: 0;
  transform: scaleY(0.4);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.nav-group-items a:hover {
  background: rgba(255, 255, 255, 0.04);
  color: #f1f5f9;
  padding-left: 11px;
}

.nav-group-items a:hover .nav-icon {
  opacity: 1;
  transform: scale(1.05);
}

.nav-group-items a[aria-current=page] {
  background: linear-gradient(90deg, rgba(139, 92, 246, 0.18) 0%, rgba(99, 102, 241, 0.08) 100%);
  color: #ffffff;
  font-weight: 600;
  border: 1px solid rgba(167, 139, 250, 0.25);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.nav-group-items a[aria-current=page]::before {
  opacity: 1;
  transform: scaleY(1);
}

.nav-group-items a[aria-current=page] .nav-icon {
  opacity: 1;
  color: #a78bfa;
  filter: drop-shadow(0 0 6px rgba(167, 139, 250, 0.45));
}

.nav-icon {
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  opacity: 0.75;
  transition: opacity 0.15s, transform 0.15s;
}

.nav-icon svg {
  display: block;
  stroke: currentColor;
}

.nav-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.external-icon {
  font-size: 11px;
  opacity: 0.4;
  margin-left: auto;
}

.nav-search-empty {
  text-align: center;
  padding: 30px 10px;
  color: #64748b;
  font-size: 12px;
}

.search-empty-icon {
  stroke: #475569;
  display: block;
  margin: 0 auto 8px;
  opacity: 0.6;
}

.sidebar-bottom {
  padding-top: 10px;
  margin-top: auto;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  flex-shrink: 0;
}

.account-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.06);
  transition: all 0.15s ease;
}

.account-card:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
}

.account-avatar {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: linear-gradient(135deg, #7c3aed, #4f46e5);
  color: #ffffff;
  font-weight: 700;
  font-size: 13px;
  display: grid;
  place-items: center;
  box-shadow: 0 2px 8px rgba(124, 58, 237, 0.25);
  flex-shrink: 0;
}

.account-info {
  min-width: 0;
  flex: 1;
}

.account-info strong {
  font-size: 12px;
  font-weight: 600;
  color: #f1f5f9;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.2;
}

.account-info small {
  font-size: 10px;
  color: #818cf8;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.2;
  margin-top: 2px;
}

.logout-form {
  margin: 0;
}

.logout-btn {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(255, 255, 255, 0.03);
  color: #8e99b0;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: all 0.15s ease;
  padding: 0;
}

.logout-btn:hover {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.35);
  color: #f87171;
}

/* Light theme overrides for new sidebar components */
[data-theme=light] .sidebar {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafd 100%);
  border-color: #e2e8f0;
}

[data-theme=light] .brand-title {
  color: #0f172a;
}

[data-theme=light] .brand-sub {
  color: #6366f1;
}

[data-theme=light] .sidebar-search-box {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

[data-theme=light] .sidebar-search-box:hover {
  border-color: #94a3b8 !important;
  background: #f8fafc !important;
}

[data-theme=light] .sidebar-search-box:focus-within {
  border-color: #6366f1 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.16) !important;
}

[data-theme=light] .sidebar-search-box input,
[data-theme=light] .sidebar-search-box input:focus,
[data-theme=light] .sidebar-search-box input:hover,
[data-theme=light] .sidebar-search-box input:active {
  color: #0f172a !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

[data-theme=light] .sidebar-search-box input::placeholder {
  color: #94a3b8 !important;
}

[data-theme=light] .search-icon {
  stroke: #94a3b8;
}

[data-theme=light] .sidebar-search-box:hover .search-icon {
  stroke: #64748b;
}

[data-theme=light] .sidebar-search-box:focus-within .search-icon {
  stroke: #6366f1 !important;
}

[data-theme=light] .search-clear-btn {
  background: #f1f5f9;
  color: #64748b;
}

[data-theme=light] .search-clear-btn:hover {
  background: #e2e8f0;
  color: #0f172a;
}

[data-theme=light] .search-shortcut {
  background: #f1f5f9;
  border-color: #e2e8f0;
  color: #64748b;
}

[data-theme=light] .quick-pills {
  border-color: #f1f5f9;
}

[data-theme=light] .quick-pill {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: #475569;
}

[data-theme=light] .quick-pill svg {
  stroke: #6366f1;
}

[data-theme=light] .quick-pill:hover {
  background: #eef2ff;
  color: #4338ca;
  border-color: #c7d2fe;
}

[data-theme=light] .quick-pill:hover svg {
  stroke: #4338ca;
}

[data-theme=light] .quick-pill.active {
  background: #eef2ff;
  color: #4338ca;
  border-color: #a5b4fc;
  box-shadow: 0 2px 6px rgba(99, 102, 241, 0.12);
}

[data-theme=light] .quick-pill.active svg {
  stroke: #4338ca;
}

[data-theme=light] .sidebar-nav::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.12);
}

[data-theme=light] .sidebar-nav::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.25);
}

[data-theme=light] .nav-group-title {
  color: #64748b;
}

[data-theme=light] .nav-group-header:hover {
  background: rgba(0, 0, 0, 0.03);
}

[data-theme=light] .nav-group-header:hover .nav-group-title {
  color: #1e293b;
}

[data-theme=light] .nav-group-header:hover .nav-group-chevron {
  stroke: #1e293b;
}

[data-theme=light] .nav-group-items a {
  color: #475569;
}

[data-theme=light] .nav-group-items a::before {
  background: #6366f1;
}

[data-theme=light] .nav-group-items a:hover {
  background: #f1f5f9;
  color: #0f172a;
}

[data-theme=light] .nav-group-items a[aria-current=page] {
  background: #eef2ff;
  color: #4338ca;
  border-color: #c7d2fe;
  box-shadow: none;
}

[data-theme=light] .nav-group-items a[aria-current=page] .nav-icon {
  color: #4f46e5;
  filter: none;
}

[data-theme=light] .nav-search-empty {
  color: #64748b;
}

[data-theme=light] .search-empty-icon {
  stroke: #94a3b8;
}

[data-theme=light] .sidebar-bottom {
  border-color: #e2e8f0;
}

[data-theme=light] .account-card {
  background: #ffffff;
  border-color: #e2e8f0;
}

[data-theme=light] .account-card:hover {
  background: #f8fafc;
}

[data-theme=light] .account-info strong {
  color: #0f172a;
}

[data-theme=light] .account-info small {
  color: #6366f1;
}

[data-theme=light] .logout-btn {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: #64748b;
}

[data-theme=light] .sidebar-close:hover {
  background: #f1f5f9;
  color: #0f172a;
}

@media(max-width: 760px) {
  .sidebar-close {
    display: grid;
    place-items: center;
  }
  .sidebar {
    width: 270px;
    padding-top: 16px;
  }
}

/* ==========================================================================
   RECORD ADMISSION WORKSPACE & RESPONSIVE CRM ENHANCEMENTS
   ========================================================================== */

.admission-container {
  max-width: 1000px;
  margin: 0 auto;
  width: 100%;
}

/* Form panels need their own inset; table panels elsewhere remain edge-to-edge. */
.admission-container .panel {
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel);
}

.admission-container .form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 24px;
}

.admission-container .field { min-width: 0; }
.admission-container .field label { line-height: 1.5; margin-bottom: 8px; }
.admission-container .field input,
.admission-container .field select,
.admission-container .field textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 11px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  line-height: 1.5;
}
.admission-container .field textarea { min-height: 120px; resize: vertical; }
.admission-container .field :is(input, select, textarea):focus-visible,
.admission-container .search-field:focus-within {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.admission-container .notice {
  padding: 16px 18px;
  border: 1px solid var(--border);
  border-radius: 10px;
  line-height: 1.6;
}
.admission-container .notice.error { border-color: #b95767; }
.admission-container .field-errors { margin-top: 6px; line-height: 1.5; }
.admission-container .table-scroll { border: 1px solid var(--border); border-radius: 10px; }
.admission-container .form-section-header { padding-bottom: 14px; margin-bottom: 20px; }
.admission-container .form-section-header p { line-height: 1.6; }
.admission-container .form-actions { padding: 18px 0 8px; border-top: 1px solid var(--border); }
.admission-container .source-card-icon { font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; }

@media (max-width: 768px) {
  .admission-container .panel { padding: 18px; }
  .admission-container .form-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .admission-container .search-field { min-width: 0; }
}

.admission-source-panel {
  padding: 22px 26px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 12px;
}

.source-selector-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 14px;
}

.source-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 20px;
  border-radius: 10px;
  border: 2px solid var(--border);
  background: var(--bg);
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
  user-select: none;
}

.source-card:hover {
  border-color: var(--accent);
  background: rgba(141, 111, 206, 0.05);
}

.source-card:focus-within {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.source-card.active {
  border-color: var(--accent);
  background: rgba(141, 111, 206, 0.08);
  box-shadow: 0 0 0 1px var(--accent), 0 4px 14px rgba(0, 0, 0, 0.15);
}

.source-card-icon {
  font-size: 1.6rem;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 2px;
}

.source-card-body {
  flex: 1;
  min-width: 0;
}

.source-card-body strong {
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 4px;
}

.source-card-body p {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.45;
  margin: 0;
}

.source-indicator {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--border);
  position: relative;
  flex-shrink: 0;
  margin-top: 2px;
  transition: all 0.2s ease;
}

.source-card.active .source-indicator {
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: inset 0 0 0 3px var(--bg);
}

/* Light Mode Overrides for Source Cards */
[data-theme=light] .source-card {
  background: #ffffff;
  border-color: #dce1ec;
}

[data-theme=light] .source-card:hover {
  background: #fbf9ff;
  border-color: var(--accent);
}

[data-theme=light] .source-card.active {
  background: #f6f3fc;
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent), 0 4px 14px rgba(103, 81, 185, 0.1);
}

[data-theme=light] .source-card.active .source-indicator {
  box-shadow: inset 0 0 0 3px #ffffff;
}

/* Selected Lead Spotlight Card */
.lead-spotlight-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-left: 4px solid var(--accent);
  border-radius: 10px;
  padding: 20px 22px;
}

[data-theme=light] .lead-spotlight-card {
  background: #f8fafc;
  border-color: #e2e8f0;
  border-left-color: var(--accent);
}

.spotlight-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
}

.spotlight-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}

.spotlight-col small {
  display: block;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--muted);
  margin-bottom: 4px;
}

.spotlight-col strong {
  font-size: 13px;
  color: var(--text);
  word-break: break-word;
}

/* Form Section Headers */
.form-section-header {
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}

.form-section-header h3 {
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 4px;
}

.form-section-header p {
  font-size: 11.5px;
  color: var(--muted);
  margin: 0;
}

/* Performance Attribution Callout */
.attribution-callout {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 8px;
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.25);
  color: var(--mint);
  font-size: 11.5px;
  line-height: 1.45;
  margin-top: 10px;
}

[data-theme=light] .attribution-callout {
  background: #ecfdf5;
  border-color: #a7f3d0;
  color: #065f46;
}

/* Shared Mobile & Tablet CRM Responsive Enhancements */
.table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  display: block;
}

.table-scroll table {
  min-width: 680px;
}

@media (max-width: 768px) {
  .source-selector-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .admission-source-panel {
    padding: 18px;
  }

  .spotlight-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .spotlight-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .form-actions {
    flex-direction: column;
    width: 100%;
  }

  .form-actions .button {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  main {
    padding: 16px 12px !important;
  }

  .page-heading {
    margin-bottom: 16px;
  }

  .page-heading h1 {
    font-size: 22px !important;
  }

  .page-heading .actions {
    width: 100%;
  }

  .page-heading .actions .button {
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  .filters {
    padding: 12px !important;
    gap: 8px !important;
  }

  .filters .search-field,
  .filters select,
  .filters input[type="date"],
  .filters .button {
    width: 100% !important;
    flex: 1 1 100% !important;
    min-width: 100% !important;
  }

  .panel {
    border-radius: 8px;
  }

  .form-panel {
    padding: 14px !important;
  }

  .source-card {
    padding: 14px 16px;
    gap: 12px;
  }

  .source-card-icon {
    font-size: 1.3rem;
  }
}

/* Counselling management: shared theme tokens, read-only record cards. */
.counselling-workspace .form-panel { padding:24px; border:1px solid var(--border); border-radius:12px; }
.counselling-workspace .field { min-width:0; }
.counselling-workspace .field :is(input,select) { min-height:42px; padding:10px 12px; border:1px solid var(--border); border-radius:8px; }
.counselling-workspace .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; }
.counselling-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:20px 0 0; }
.counselling-details > div { padding:16px; border:1px solid var(--border); border-radius:10px; background:var(--bg); min-width:0; }
.counselling-details dt { color:var(--muted); font-size:12px; margin-bottom:8px; }
.counselling-details dd { margin:0; overflow-wrap:anywhere; line-height:1.6; }
.counselling-notes { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.7; }
.counselling-link { overflow-wrap:anywhere; }
@media(max-width:760px) {
  .counselling-workspace .form-panel { padding:18px; }
  .counselling-workspace .form-grid,.counselling-details { grid-template-columns:minmax(0,1fr); }
}

/* ==================================================
   Reporting & Export Toolbar (Leads & Calls)
   ================================================== */
.filter-toolbar-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 12px;
  margin-bottom: 16px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
[data-theme=light] .filter-toolbar-card {
  background: #ffffff;
  border-color: #e2e8f0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.filter-toolbar-main {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  flex-wrap: wrap;
}

.filter-search-box {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 0 14px;
  flex: 1 1 280px;
  min-width: 220px;
  height: 40px;
  position: relative;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.filter-search-box:hover {
  border-color: rgba(165, 154, 255, 0.45);
}
.filter-search-box:focus-within {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(165, 154, 255, 0.18), 0 2px 6px rgba(0, 0, 0, 0.15) !important;
  background: #10131d;
}
[data-theme=light] .filter-search-box {
  background: #ffffff;
  border-color: #cbd5e1;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
[data-theme=light] .filter-search-box:hover {
  border-color: #94a3b8;
}
[data-theme=light] .filter-search-box:focus-within {
  background: #ffffff;
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.18), 0 2px 6px rgba(0, 0, 0, 0.05) !important;
}

.filter-search-icon {
  color: var(--muted);
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 0.18s ease;
}
.filter-search-box:focus-within .filter-search-icon {
  color: var(--accent);
}
[data-theme=light] .filter-search-box:focus-within .filter-search-icon {
  color: #4f46e5;
}

.filter-search-box input {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--text) !important;
  font-size: 13.5px !important;
  font-weight: 500;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: normal !important;
}
.filter-search-box input::placeholder {
  color: var(--muted);
  opacity: 0.85;
  font-weight: 400;
}
[data-theme=light] .filter-search-box input {
  color: #0f172a !important;
}
[data-theme=light] .filter-search-box input::placeholder {
  color: #64748b;
  opacity: 0.9;
}

.filter-search-clear {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: var(--muted);
  font-size: 11px;
  line-height: 1;
  text-decoration: none;
  flex-shrink: 0;
  transition: all 0.15s ease;
}
.filter-search-clear:hover {
  background: var(--accent);
  color: #0c0e14;
}
[data-theme=light] .filter-search-clear {
  background: #f1f5f9;
  color: #64748b;
}
[data-theme=light] .filter-search-clear:hover {
  background: #6366f1;
  color: #ffffff;
}

.filter-select, .filter-input {
  height: 40px;
  padding: 0 14px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 9px;
  color: var(--text);
  font-size: 12.5px;
  flex: 0 1 auto;
  max-width: 100%;
  transition: border-color 0.15s ease;
}
.filter-select:focus, .filter-input:focus {
  border-color: var(--accent);
  outline: none;
}
[data-theme=light] .filter-select, [data-theme=light] .filter-input {
  background: #ffffff;
  border-color: #cbd5e1;
  color: #0f172a;
}

.filter-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  flex-wrap: wrap;
}

.btn-filter-apply {
  height: 40px;
  padding: 0 16px;
  background: var(--accent);
  color: #121024;
  border: 1px solid var(--accent);
  border-radius: 9px;
  font-weight: 650;
  font-size: 12.5px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.btn-filter-apply:hover {
  background: #c3b7ff;
  border-color: #c3b7ff;
  color: #121024;
  transform: translateY(-1px);
}
[data-theme=light] .btn-filter-apply {
  background: #4f46e5;
  border-color: #4f46e5;
  color: #ffffff;
}
[data-theme=light] .btn-filter-apply:hover {
  background: #4338ca;
  border-color: #4338ca;
  color: #ffffff;
}

.btn-filter-reset {
  font-size: 12px;
  color: var(--muted);
  padding: 0 8px;
  text-decoration: none;
  transition: color 0.15s ease;
}
.btn-filter-reset:hover {
  color: var(--text);
}
[data-theme=light] .btn-filter-reset:hover {
  color: #0f172a;
}

.export-group {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-left: 1px solid var(--border);
  padding-left: 12px;
  margin-left: 4px;
}
[data-theme=light] .export-group {
  border-left-color: #e2e8f0;
}

.btn-export {
  height: 40px;
  padding: 0 14px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 9px;
  color: var(--text);
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.btn-export:hover {
  border-color: var(--accent);
  color: var(--accent);
  transform: translateY(-1px);
}
[data-theme=light] .btn-export {
  background: #ffffff;
  border-color: #cbd5e1;
  color: #334155;
}
[data-theme=light] .btn-export:hover {
  background: #f8fafc;
  border-color: #4f46e5;
  color: #4f46e5;
}

.btn-export-csv:hover {
  border-color: #2dd4bf;
  color: #2dd4bf;
}
[data-theme=light] .btn-export-csv:hover {
  border-color: #0d9488;
  color: #0d9488;
}

.btn-export-excel:hover {
  border-color: #34d399;
  color: #34d399;
}
[data-theme=light] .btn-export-excel:hover {
  border-color: #16a34a;
  color: #16a34a;
}

.btn-export-icon {
  font-size: 14px;
  line-height: 1;
}

/* Advanced Filters Accordion */
.advanced-filters-section {
  border-top: 1px solid var(--border);
  background: rgba(0, 0, 0, 0.14);
}
[data-theme=light] .advanced-filters-section {
  border-top-color: #e2e8f0;
  background: #f8fafc;
}

.advanced-filters-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 18px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  cursor: pointer;
  user-select: none;
  transition: color 0.15s ease;
}
.advanced-filters-toggle:hover {
  color: var(--text);
}
[data-theme=light] .advanced-filters-toggle:hover {
  color: #0f172a;
}
.advanced-filters-toggle summary {
  list-style: none;
}
.advanced-filters-toggle summary::-webkit-details-marker {
  display: none;
}
.advanced-filters-badge {
  display: inline-block;
  font-size: 10px;
  padding: 1px 7px;
  border-radius: 10px;
  background: rgba(165, 154, 255, 0.15);
  color: var(--accent);
  margin-left: 6px;
}
[data-theme=light] .advanced-filters-badge {
  background: #ede9fe;
  color: #6366f1;
}

.advanced-filters-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
  padding: 12px 18px 18px;
  border-top: 1px dashed var(--border);
}
[data-theme=light] .advanced-filters-grid {
  border-top-color: #e2e8f0;
}

.filter-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.filter-group label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--muted);
}
.filter-group .date-range-row {
  display: flex;
  align-items: center;
  gap: 6px;
}
.filter-group .date-range-row input {
  flex: 1;
  min-width: 0;
  height: 36px;
  font-size: 12px;
}

.filter-alert-error {
  padding: 10px 16px;
  margin: 12px 18px 0;
  background: rgba(239, 68, 68, 0.15);
  border: 1px solid rgba(239, 68, 68, 0.35);
  border-radius: 8px;
  color: #fca5a5;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
[data-theme=light] .filter-alert-error {
  background: #fee2e2;
  border-color: #fca5a5;
  color: #b91c1c;
}

@media(max-width: 760px) {
  .filter-toolbar-main {
    padding: 12px;
    gap: 8px;
  }
  .filter-search-box {
    flex: 1 1 100%;
    min-width: 100%;
  }
  .filter-select, .filter-input {
    flex: 1 1 100%;
    width: 100%;
  }
  .filter-actions {
    width: 100%;
    margin-left: 0;
    justify-content: space-between;
  }
  .export-group {
    border-left: 0;
    padding-left: 0;
    margin-left: 0;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 8px;
  }
  .btn-export {
    justify-content: center;
  }
  .advanced-filters-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Lead Directory Page Polish & Contained Scroll Table
   ========================================================================== */
.leads-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 20px;
}
.leads-header .heading-subtitle {
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.5;
  margin-top: 6px;
}
.leads-header .header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.leads-header .subtle-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 9px;
  border: 1px solid var(--border);
  background: var(--panel);
  color: var(--text);
  transition: all .15s ease;
}
.leads-header .subtle-btn:hover {
  border-color: var(--accent);
  color: var(--accent);
  background: rgba(103, 81, 185, 0.05);
}
.leads-header .action-new-lead {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 9px;
  background: var(--accent);
  color: #fff;
  border: 1px solid var(--accent);
  box-shadow: 0 3px 10px rgba(103, 81, 185, 0.25);
  transition: all .15s ease;
}
.leads-header .action-new-lead:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(103, 81, 185, 0.35);
}

/* Leads Panel Wrapper */
.leads-panel {
  border-radius: 16px;
  border: 1px solid var(--border);
  background: var(--panel);
  overflow: hidden;
  padding: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

/* Assignment Bar inside Leads Panel */
.assignment-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 20px;
  background: rgba(103, 81, 185, 0.05);
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
}
.assignment-left {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.selection-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text);
  background: var(--panel);
  border: 1px solid var(--border);
  padding: 4px 10px;
  border-radius: 8px;
}
.selection-pill strong {
  color: var(--accent);
}
.assign-select-wrap select {
  height: 36px;
  padding: 0 30px 0 12px;
  font-size: 12px;
  font-weight: 500;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--panel);
  color: var(--text);
}
.reassignment-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--muted);
  cursor: pointer;
  user-select: none;
}
.assign-submit-btn {
  height: 36px;
  padding: 0 16px;
  font-size: 12.5px;
  font-weight: 700;
  border-radius: 8px;
}

/* Leads Table Contained Scrolling */
.leads-table-scroll {
  max-height: 580px;
  overflow-y: auto;
  overflow-x: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(103, 81, 185, 0.3) transparent;
}
.leads-table-scroll::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.leads-table-scroll::-webkit-scrollbar-track {
  background: transparent;
}
.leads-table-scroll::-webkit-scrollbar-thumb {
  background: rgba(103, 81, 185, 0.25);
  border-radius: 999px;
}
.leads-table-scroll::-webkit-scrollbar-thumb:hover {
  background: var(--accent);
}

/* Sticky Headers in Leads Table */
.leads-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
  text-align: left;
}
.leads-table thead th {
  position: sticky;
  top: 0;
  z-index: 10;
  padding: 13px 18px;
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  white-space: nowrap;
  background: #f4f6fb;
  color: #505c73;
  box-shadow: inset 0 -1px 0 var(--border), 0 2px 6px rgba(0, 0, 0, 0.03);
}
[data-theme="dark"] .leads-table thead th {
  background: #171b26;
  color: #9aa4bc;
  box-shadow: inset 0 -1px 0 var(--border), 0 3px 8px rgba(0, 0, 0, 0.25);
}

/* Sticky Batch Headings (sticks right below the table headers) */
.leads-table .batch-heading th {
  position: sticky;
  top: 42px;
  z-index: 5;
  background: #edf0f8;
  color: var(--text);
  padding: 8px 18px;
  font-size: 12px;
  font-weight: 700;
  box-shadow: inset 0 -1px 0 var(--border);
}
[data-theme="dark"] .leads-table .batch-heading th {
  background: #1b2030;
  color: #edf0f7;
  box-shadow: inset 0 -1px 0 var(--border);
}
.batch-heading-inner {
  display: flex;
  align-items: center;
  gap: 8px;
}
.batch-heading-inner svg {
  color: var(--accent);
  flex-shrink: 0;
}
.batch-num-tag {
  font-size: 10.5px;
  font-weight: 600;
  color: var(--muted);
  background: var(--panel);
  border: 1px solid var(--border);
  padding: 1px 7px;
  border-radius: 5px;
  margin-left: 6px;
}

/* Leads Table Cells */
.leads-table tbody td {
  padding: 12px 18px;
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
  font-size: 13px;
  color: var(--text);
  background: transparent;
}
.leads-table tbody tr {
  transition: background .12s ease;
}
.leads-table tbody tr:hover td {
  background: rgba(103, 81, 185, 0.04);
}
.leads-table tbody tr:last-child td {
  border-bottom: none;
}

/* Person Cell Details */
.lead-person-cell {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: inherit;
}
.lead-info-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.lead-name-text {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.3;
}
.lead-person-cell:hover .lead-name-text {
  color: var(--accent);
}
.lead-phone-text {
  font-family: 'JetBrains Mono', Consolas, monospace;
  font-size: 12px;
  color: var(--muted);
}
.lead-batch-sub {
  font-size: 10.5px;
  color: var(--muted);
  opacity: 0.8;
}
.lead-source-tag {
  font-size: 12px;
  color: var(--text);
}

/* Caller Cell */
.caller-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text);
  text-decoration: none;
}
.caller-link:hover {
  color: var(--accent);
}
.caller-avatar-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mint);
  flex-shrink: 0;
}
.unassigned-muted {
  font-size: 11.5px;
  color: var(--muted);
  font-style: italic;
}

/* Open Lead Arrow Button */
.open-lead-btn {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: var(--bg);
  border: 1px solid var(--border);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: all .15s ease;
}
.open-lead-btn:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  transform: translateY(-1px);
}
    grid-template-columns: 1fr;
  }
}

