:root{--ink:#080a0b;--purple:#4238ca;--paper:#fff;--bg:#f7f7f9;--border:#e2e3e9;--muted:#626875;--danger:#b42335;--success:#13795b;--warning:#8b590d;color-scheme:light;font-family:Inter,Poppins,system-ui,Arial,sans-serif;font-size:14px;line-height:1.45}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:#1b1c22}
button,input,select,textarea{font:inherit}
button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin-top:0}
h1{font-size:1.5rem}h2{font-size:1.23rem}h3{font-size:1.08rem}p{line-height:1.5}
[hidden]{display:none!important}
:focus-visible{outline:2px solid #7062ef;outline-offset:2px}
.app{display:flex;min-height:100vh}
.sidebar{background:var(--ink);color:#fff;flex:0 0 206px;padding:24px 13px;min-height:100vh;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}
.brand-mark{font-size:1.2rem;font-weight:800;letter-spacing:-.05em}
.brand-mark span{font-weight:400}.brand-mark i{display:inline-block;background:#786aff;width:7px;height:7px;margin-left:4px}
.side-caption{font-size:.75rem;color:#a8aab0;margin:5px 0 27px;letter-spacing:.07em}
.sidebar nav{display:grid;gap:3px}
.nav-item{width:100%;border:0;background:transparent;color:#c1c3cb;padding:10px 12px;border-radius:8px;text-align:left;font-weight:620;font-size:.95rem}
.nav-item:hover{background:#1d1e24;color:#fff}
.nav-item.active,.nav-item.active:hover{background:#292830;color:#fff;box-shadow:inset 3px 0 #786aff}
.sidebar-footer{margin-top:auto;border-top:1px solid #393a42;padding-top:16px;color:#d5d5d9;font-size:.87rem}
.main{flex:1;min-width:0}
.topbar{padding:18px 28px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar h1{margin:0;font-size:1.38rem}.topbar p{margin:3px 0 0;color:var(--muted);font-size:.87rem}
.role-tag{border:1px solid var(--border);border-radius:25px;padding:5px 12px;font-size:.83rem;font-weight:700}
.workspace{padding:20px 26px 55px;max-width:1700px;margin:auto}
.card{background:#fff;border:1px solid var(--border);border-radius:13px;padding:18px;margin-bottom:14px;box-shadow:0 2px 12px #11111104}
.card.soft{background:#f5f4fa}
.card h2,.card h3{margin-bottom:10px}
.page-heading,.section-heading,.between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.page-heading{margin:0 0 13px}.page-heading h2{margin:0 0 2px}
.page-heading p,.section-heading p{margin:0}
.section-heading{margin-bottom:13px}.section-heading h3{margin:0}
.toolbar,.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.filters{display:grid;gap:11px;align-items:end}
.primary-filters{grid-template-columns:minmax(195px,2fr) repeat(5,minmax(112px,1fr))}
.advanced-filters{grid-template-columns:repeat(4,minmax(130px,1fr)) auto;border-top:1px solid #eff0f4;margin-top:14px;padding-top:10px}
.search-field{min-width:0}
.directory-card{padding:17px}
.directory-status{margin:13px 0 9px}
.bulk-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#f1efff;border:1px solid #dfdaff;padding:9px 11px;border-radius:9px;margin-bottom:9px}
.bulk-toolbar select{min-width:180px;max-width:270px;width:auto}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.report-grid .card{margin:0;min-width:0}
.report-card{min-height:175px}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.two-col>.card{margin-bottom:0}
.metric-card{margin:0;min-height:118px}
.metric{font-size:1.95rem;font-weight:800;letter-spacing:-.035em}
.muted,.hint{color:var(--muted)}.small{font-size:.87rem}
.eyebrow{font-size:.77rem;letter-spacing:.06em;text-transform:uppercase;font-weight:750;color:var(--muted)}
.summary-chip{border:1px solid var(--border);border-radius:999px;padding:5px 10px;background:#fafafb;white-space:nowrap;font-size:.85rem;font-weight:650}
.btn{background:#fff;border:1px solid #c9ccd6;color:#23242a;border-radius:8px;padding:7px 12px;font-weight:650;min-height:36px;white-space:nowrap}
.btn:hover{border-color:var(--purple);background:#f8f7ff}
.btn.primary{background:var(--purple);color:#fff;border-color:var(--purple)}
.btn.primary:hover{background:#362db4}
.btn.danger{color:var(--danger);border-color:#e2a0a4}.btn.active-toggle{border-color:var(--purple);background:#f2f0ff;color:var(--purple)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.block{width:100%}.btn.sm{padding:5px 9px;min-height:32px;font-size:.86rem}
label{display:block;font-size:.89rem;font-weight:670;margin:0 0 5px}
.field{min-width:0}
.field input,.field select,.field textarea,input[type=email],input[type=password],input[type=text],input[type=date],input[type=datetime-local],input[type=search],select,textarea{background:#fff;width:100%;border:1px solid #c9ccd6;border-radius:8px;padding:7px 10px;min-height:36px;color:#23242a}
textarea{min-height:78px;resize:vertical}
.required{font-size:1.12rem;color:#60616a;vertical-align:middle}
.field.invalid label,.field.invalid .required,.field.invalid .error-text{color:var(--danger)}
.field.invalid input,.field.invalid select,.field.invalid textarea{border:2px solid var(--danger);background:#fff6f7}
.error-text{display:none;font-size:.85rem}.field.invalid .error-text{display:block}
.form-error{color:var(--danger);font-weight:650;font-size:.9rem;margin:10px 0;min-height:1.1em}
.divider{border:0;border-top:1px solid var(--border);margin:14px 0}
.table-scroll{overflow-x:auto}
.table{width:100%;border-collapse:collapse;text-align:left}
.table th{white-space:nowrap;font-size:.83rem;color:#565b67;font-weight:720;background:#f8f8fa}
.table th,.table td{padding:10px 11px;border-bottom:1px solid #edeef2;vertical-align:middle}
.table tr:last-child td{border-bottom:none}
.table tr:hover td{background:#fafaff}
.table .business{font-weight:720}
.table .num{text-align:right;white-space:nowrap}
.table-footer{padding-top:11px}
.row-actions{white-space:nowrap}
.pill{display:inline-block;border:1px solid #d7d8e1;border-radius:999px;padding:2px 8px;font-size:.81rem;white-space:nowrap;font-weight:700;background:#f9f9fb}
.pill.HOT{color:#a53c20;background:#fff2ed;border-color:#fac9b6}
.pill.WARM{color:#785500;background:#fff8e7}.pill.COLD{color:#52717f;background:#eef5f8}
.pill.purple{color:var(--purple);background:#efedff}
.pill.Active,.pill.Paid{color:#136c4b;background:#effbf5}
.empty-state{text-align:center;padding:29px 12px;color:#646976}
.empty-state strong{color:#343743}.empty-state p{margin:4px 0 0}
.shade{position:fixed;inset:0;background:#0b0c1388;z-index:20;display:flex;justify-content:flex-end}
.drawer{background:#fff;width:min(750px,100vw);height:100%;overflow:auto;padding:24px 27px;box-shadow:-7px 0 30px #0002}
.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.drawer-head h2{margin:3px 0 4px}
.call-highlight{background:#f1efff;border-left:4px solid var(--purple);border-radius:10px;padding:15px;margin:13px 0}
.call-highlight h3{font-size:1.12rem;margin:5px 0}.talkpoint{padding:9px 0;border-bottom:1px solid #e4e4ef}
.form-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-layout .field{min-width:0}.full{grid-column:1/-1}
.form-footer{margin-top:14px}
.master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}
.master-section{min-width:0}
.master-section+.master-section{border-left:1px solid var(--border);padding-left:22px}
.master-list{display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px;margin-top:14px;max-height:185px;overflow-y:auto;padding:2px}
.master-tag{background:#f6f5fb;border:1px solid #e7e5ef;border-radius:7px;padding:5px 9px;font-size:.88rem}
.inline-form{display:flex;align-items:end;gap:8px}
.inline-form .field{flex:1;min-width:0}
.inline-form .btn{flex-shrink:0}
.form-action{display:flex;align-items:end}
.toast{position:fixed;bottom:25px;right:25px;max-width:450px;background:#1a1b20;color:#fff;border-radius:10px;padding:13px 16px;box-shadow:0 4px 20px #0003;z-index:40}
.login-screen{min-height:100vh;display:grid;place-items:center;background:#eeeef2;padding:20px}
.login-card{width:min(430px,100%);padding:34px;background:white;border:1px solid var(--border);border-radius:16px}
.login-card h1{margin:25px 0 5px}.login-card p{color:var(--muted)}
.empty{padding:28px 15px;color:var(--muted);text-align:center}
.readonly{padding:12px;background:#f6f6f9;border-radius:8px;overflow-wrap:anywhere}
.check{width:16px;height:16px}.import-file{border:2px dashed #b8bacb;padding:22px;border-radius:12px}
.danger-msg{color:var(--danger)}.chipset{display:flex;flex-wrap:wrap;gap:8px}
.no-wrap{white-space:nowrap}
@media(max-width:1260px){.primary-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.master-grid{gap:14px}.master-section+.master-section{padding-left:14px}}
@media(max-width:900px){.sidebar{flex:0 0 174px;width:174px;padding:18px 9px}.topbar{padding:15px}.workspace{padding:16px}.primary-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.master-grid,.report-grid{grid-template-columns:1fr}.master-section+.master-section{border-left:0;border-top:1px solid var(--border);padding:15px 0 0}.two-col{grid-template-columns:1fr}}
@media(max-width:600px){.app{display:block}.sidebar{position:static;height:auto;min-height:auto;width:100%;display:block;padding:12px}.sidebar .brand-mark{display:none}.side-caption,.sidebar-footer{display:none}.sidebar nav{display:flex;overflow:auto}.nav-item{font-size:.86rem;min-width:max-content;padding:8px 11px}.topbar{padding:13px}.workspace{padding:12px}.primary-filters,.advanced-filters,.kpi-grid,.two-col,.form-layout{grid-template-columns:1fr}.drawer{padding:15px}.inline-form{flex-wrap:wrap}.card{padding:14px}}
