:root{--color-bg:#f1f3f9;--color-surface:#fff;--color-border:#e5e7f0;--color-text:#171a2b;--color-text-muted:#6b7290;--color-primary:#4f46e5;--color-primary-dark:#4338ca;--color-primary-soft:#eef0ff;--color-blue:#2563eb;--color-blue-soft:#e8f0ff;--color-violet:#7c3aed;--color-violet-soft:#f1eafe;--color-amber:#d97706;--color-amber-soft:#fef3e0;--color-emerald:#059669;--color-emerald-soft:#e3f8ee;--color-cyan:#0891b2;--color-cyan-soft:#e2f7fb;--color-rose:#e11d48;--color-rose-soft:#fde8ec;--color-danger:#dc2626;--color-success:#059669;--sidebar-bg:#15182e;--sidebar-bg-active:#23274a;--sidebar-text:#aeb3d6;--sidebar-text-active:#fff;--radius:10px;--radius-sm:7px;--shadow:0 1px 2px #171a2b0a, 0 1px 6px #171a2b0d;--shadow-md:0 4px 16px #171a2b14}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:13.5px;line-height:1.45}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;font-family:inherit}svg{display:block}.icon{flex-shrink:0;width:15px;height:15px}.icon-lg{width:18px;height:18px}.btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:7px 13px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:hover{background:#f4f5fb;border-color:#d7daea}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));border-color:var(--color-primary-dark);color:#fff;box-shadow:0 2px 8px #4f46e547}.btn-primary:hover{background:linear-gradient(135deg, var(--color-primary-dark), var(--color-primary-dark))}.btn-danger{background:var(--color-rose);color:#fff;border-color:#be123c}.btn-danger:hover{background:#be123c}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--color-primary-soft)}.btn-sm{padding:5px 10px;font-size:12.5px}.btn-icon{padding:6px}.input,select.input,textarea.input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text);padding:7px 10px;font-family:inherit;font-size:13.5px}.input:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:12px;font-weight:700}.form-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);border-top:1px solid var(--color-border);margin:18px 0 10px;padding-top:10px;font-size:11px;font-weight:800}.form-section-title:first-child{border-top:none;margin-top:0;padding-top:0}.form-grid-2{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);flex-direction:column;gap:2px;width:216px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:9px;margin-bottom:6px;padding:4px 10px 20px;display:flex}.sidebar-brand .mark{background:linear-gradient(135deg, var(--color-primary), var(--color-violet));color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:flex}.sidebar-brand .name{color:#fff;letter-spacing:-.01em;font-size:15px;font-weight:800}.sidebar-brand .sub{color:var(--sidebar-text);margin-top:1px;font-size:10.5px}.sidebar .nav-section-label{color:#6c7099;text-transform:uppercase;letter-spacing:.06em;padding:14px 10px 6px;font-size:10.5px;font-weight:700}.sidebar .nav-link{border-radius:var(--radius-sm);color:var(--sidebar-text);align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;font-weight:600;display:flex;position:relative}.sidebar .nav-link svg{opacity:.85}.sidebar .nav-link:hover{color:#fff;background:#ffffff0d}.sidebar a.active{background:var(--sidebar-bg-active);color:var(--sidebar-text-active)}.sidebar a.active svg{opacity:1;color:#9aa3ff}.sidebar a.active:before{content:"";background:linear-gradient(180deg, var(--color-primary), var(--color-violet));border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-12px}.sidebar .user-box{border-top:1px solid #ffffff14;margin-top:auto;padding-top:12px;font-size:12.5px}.sidebar .user-box .avatar{background:linear-gradient(135deg, var(--color-cyan), var(--color-blue));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12.5px;font-weight:700;display:flex}.sidebar .user-box .row{align-items:center;gap:9px;padding:0 10px 10px;display:flex}.sidebar .user-box .uname{color:#fff;font-size:13px;font-weight:700}.sidebar .user-box .uemail{color:var(--sidebar-text);font-size:11px}.sidebar .user-box .btn{justify-content:center;width:100%}.main-content{flex:1;min-width:0;max-width:1320px;padding:22px 28px 40px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.page-header h2{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:800}.page-header .sub{color:var(--color-text-muted);margin-top:2px;font-size:12.5px}.page-header-text{flex-direction:column;display:flex}.page-header-actions{gap:8px;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.stat-card .icon-badge{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.stat-card .value{letter-spacing:-.02em;font-size:22px;font-weight:800;line-height:1.1}.stat-card .label{color:var(--color-text-muted);margin-top:3px;font-size:11.5px;font-weight:600}.bg-blue{background:var(--color-blue-soft);color:var(--color-blue)}.bg-violet{background:var(--color-violet-soft);color:var(--color-violet)}.bg-amber{background:var(--color-amber-soft);color:var(--color-amber)}.bg-emerald{background:var(--color-emerald-soft);color:var(--color-emerald)}.bg-cyan{background:var(--color-cyan-soft);color:var(--color-cyan)}.bg-rose{background:var(--color-rose-soft);color:var(--color-rose)}.charts-row{grid-template-columns:1.4fr 1fr;gap:14px;margin-bottom:20px;display:grid}.card-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card-title h3{margin:0;font-size:13.5px;font-weight:800}.card-title .hint{color:var(--color-text-muted);font-size:11.5px}.legend-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;background:#fafafd;padding:9px 12px;font-size:11px;font-weight:700}tbody td{border-bottom:1px solid var(--color-border);vertical-align:middle;white-space:nowrap;padding:8px 12px}tbody tr:hover{background:#f8f9fd}tbody tr:last-child td{border-bottom:none}.badge{text-transform:capitalize;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-new{background:var(--color-blue-soft);color:var(--color-blue)}.badge-contacted{background:var(--color-amber-soft);color:var(--color-amber)}.badge-engaged{background:var(--color-violet-soft);color:var(--color-violet)}.badge-converted{background:var(--color-emerald-soft);color:var(--color-emerald)}.badge-dead{background:var(--color-rose-soft);color:var(--color-rose)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.selection-bar{background:var(--color-primary-soft);border-radius:var(--radius);border:1px solid #d9dcff;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;display:flex}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0f12208c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{background:var(--color-surface);width:100%;max-width:520px;max-height:88vh;box-shadow:var(--shadow-md);border-radius:14px;padding:22px;overflow-y:auto}.modal-box h3{margin-top:0;font-size:16px;font-weight:800}.alert{border-radius:var(--radius-sm);margin-bottom:12px;padding:9px 13px;font-size:13px;font-weight:600}.alert-error{background:var(--color-rose-soft);color:#9f1239;border:1px solid #fbc6d2}.alert-success{background:var(--color-emerald-soft);color:#065f46;border:1px solid #b7ecd4}.muted{color:var(--color-text-muted)}.text-sm{font-size:12.5px}.flex-between{justify-content:space-between;align-items:center;display:flex}.checkbox-cell{width:30px}.auth-screen{background:linear-gradient(135deg,#15182e,#262b55 60%,#3a2f6e);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--color-surface);border-radius:16px;width:390px;padding:32px;box-shadow:0 20px 60px #00000059}.auth-card h1{margin-bottom:4px;font-size:19px;font-weight:800}.auth-card p.muted{margin-top:0;margin-bottom:20px}.auth-brand{align-items:center;gap:10px;margin-bottom:22px;display:flex}.auth-brand .mark{background:linear-gradient(135deg, var(--color-primary), var(--color-violet));color:#fff;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-weight:800;display:flex}.auth-brand .name{font-size:15px;font-weight:800}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--color-primary-soft);color:var(--color-primary);border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:700}.empty-state{text-align:center;color:var(--color-text-muted);padding:36px 16px}.empty-state svg{opacity:.5;margin:0 auto 10px}
