:root{--md-blue: #1A6FD4;--md-blue-dark: #0D4A8F;--md-blue-light: #3B8FE8;--md-red: #E31B23;--md-red-dark: #B9151C;--md-green: #16A34A;--md-green-light: #22C55E;--md-navy-900: #071428;--md-navy-800: #0A1F3D;--md-navy-700: #0D2847;--md-navy-600: #0D4A8F;--md-gradient-surface: linear-gradient(180deg, #071428 0%, #0A1F3D 42%, #0D2847 100%);--md-gradient-surface-h: linear-gradient(90deg, #071428 0%, #0A1F3D 50%, #0D2847 100%);--md-gradient-brand: linear-gradient(135deg, #0A1F3D 0%, #0D4A8F 55%, #1A6FD4 100%);--md-gradient-hero: radial-gradient(ellipse 75% 90% at 8% 0%, rgba(59, 143, 232, .2) 0%, transparent 52%), var(--md-gradient-surface-h);--md-gradient-stat-strip: linear-gradient(135deg, #071428 0%, #0A1F3D 100%);--navbar-bg: var(--md-gradient-surface-h);--sidebar-width: 232px;--sidebar-bg: #071428;--sidebar-bg-gradient: radial-gradient(ellipse 100% 45% at 50% 0%, rgba(59, 143, 232, .14) 0%, transparent 55%), var(--md-gradient-surface);--sidebar-bg-accent: rgba(26, 111, 212, .12);--sidebar-text: rgba(226, 232, 240, .72);--sidebar-text-active: #FFFFFF;--sidebar-active-bg: rgba(26, 111, 212, .2);--sidebar-hover: rgba(255, 255, 255, .07);--sidebar-border: rgba(255, 255, 255, .08);--sidebar-accent-bar: linear-gradient(180deg, #3B8FE8 0%, #1A6FD4 100%);--primary: var(--md-blue);--primary-hover: var(--md-blue-dark);--accent: var(--md-red);--success: #16A34A;--danger: #DC2626;--warning: #D97706;--info: var(--md-blue);--bg-main: #F4F7FC;--bg-gradient: linear-gradient(160deg, #F4F7FC 0%, #EEF4FB 50%, #F8FAFC 100%);--card-bg: #FFFFFF;--text: #0F172A;--muted: #64748B;--border: #E2E8F0;--border-focus: var(--md-blue);--radius: 8px;--radius-lg: 10px;--radius-xl: 12px;--chart-height: 200px;--shadow: 0 1px 2px rgba(15, 23, 42, .05);--shadow-card: 0 4px 24px -4px rgba(15, 23, 42, .08), 0 2px 8px -2px rgba(15, 23, 42, .04);--shadow-topbar: 0 1px 0 rgba(15, 23, 42, .06);--primary-glow: rgba(26, 111, 212, .18)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;min-height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;background:var(--bg-main);color:var(--text);line-height:1.45;-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.sidebar a,.sidebar a:hover,.sidebar a:focus,.sidebar a:active,.sidebar .sidebar-link,.sidebar .sidebar-link:hover,.sidebar .sidebar-logout:hover{text-decoration:none!important}.app-input{padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:13px;width:100%;transition:border-color .2s,box-shadow .2s}.app-input::placeholder{color:var(--muted)}.app-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-glow)}.app-select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font-size:13px;min-width:100px;transition:border-color .2s}.app-select:focus{outline:none;border-color:var(--border-focus)}.app-btn{padding:8px 14px;border:none;border-radius:var(--radius);font-weight:600;font-size:13px;cursor:pointer;transition:opacity .2s,background .2s}.app-btn:disabled{opacity:.6;cursor:not-allowed}.app-btn-primary{background:var(--primary);color:#fff}.app-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.app-btn-success{background:var(--success);color:#fff}.app-btn-danger{background:var(--danger);color:#fff}.app-btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.app-btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--muted)}.app-btn-sm{padding:6px 12px;font-size:13px;border-radius:8px}.app-card{background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:16px 18px;border:1px solid var(--border);transition:box-shadow .2s ease}.app-card:hover{box-shadow:0 4px 16px -4px #0f172a14}.badge{display:inline-block;padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:600;line-height:1.4}.badge-new{background:#3b82f626;color:#2563eb}.badge-follow-up{background:#eab30833;color:#b45309}.badge-won{background:#22c55e26;color:#16a34a}.badge-lost{background:#ef444426;color:#dc2626}.badge-reject{background:#991b1b26;color:#991b1b}.badge-dnp{background:#ef444426;color:#dc2626}.status-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;cursor:pointer;border-width:1px;border-style:solid}.status-dropdown-trigger--neutral{background:var(--card-bg);border-color:var(--border);color:var(--text)}.status-dropdown-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-select-filled:focus-visible,.status-dropdown-trigger:focus-visible{outline:none;box-shadow:0 0 0 2px #ffffff59}.status-dropdown-trigger--neutral:focus-visible{box-shadow:0 0 0 2px var(--border-focus)}.status-dropdown-menu{display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #0f172a26;max-height:320px;overflow-y:auto}.status-dropdown-option{display:block;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:calc(var(--radius) - 2px);font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:opacity .15s,transform .1s}.status-dropdown-option:hover{opacity:.92;transform:translateY(-1px)}.status-dropdown-option.is-selected{box-shadow:inset 0 0 0 2px #ffffffa6}.status-dropdown-option--neutral{background:var(--card-bg);border-color:var(--border);color:var(--text);font-weight:500}.assign-dropdown{position:relative}.assign-dropdown-trigger{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border:1px solid;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;text-align:left;transition:box-shadow .15s,transform .12s;box-shadow:0 1px 2px #0f172a0f}.assign-dropdown-trigger:hover{box-shadow:0 2px 8px #0f172a1a;transform:translateY(-1px)}.assign-dropdown-trigger:focus-visible{outline:none;box-shadow:0 0 0 2px #1a6fd459}.assign-dropdown-trigger--unassigned{font-weight:500;font-style:italic}.assign-dropdown-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assign-dropdown-avatar{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#fff;font-weight:700;line-height:1}.assign-dropdown-menu{display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #0f172a29;overflow-y:auto}.assign-dropdown-option{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:600;text-align:left;cursor:pointer;transition:opacity .12s,transform .1s}.assign-dropdown-option:hover{opacity:.92;transform:translateY(-1px)}.assign-dropdown-option.is-selected{box-shadow:inset 0 0 0 2px #ffffffb3}.assign-dropdown-option--neutral{background:linear-gradient(135deg,#f8fafc,#eef2ff);border-color:#cbd5e1;color:#64748b;font-weight:500;font-style:italic}.assign-dropdown-option-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-table .col-assign{min-width:130px;max-width:160px;padding:6px 8px}.app-layout{min-height:100%;min-height:100vh;min-height:100dvh;background:var(--bg-gradient)}.app-main{margin-left:var(--sidebar-width);min-height:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;min-width:0;background:var(--bg-gradient);transition:margin-left .22s ease}.app-content{flex:1;width:100%;max-width:1600px;min-width:0;padding:16px 20px 24px;overflow-x:hidden}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:200;width:var(--sidebar-width);height:100%;height:100vh;height:100dvh;background:var(--sidebar-bg-gradient);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;overflow:hidden;box-shadow:4px 0 40px -6px #0000008c;transition:width .22s ease}.sidebar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,transparent 18%,transparent 82%,rgba(0,0,0,.2) 100%);pointer-events:none}.sidebar-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 10px;border-bottom:1px solid var(--sidebar-border);background:#00000047;min-height:56px;position:relative;z-index:1}.sidebar-brand{display:flex;align-items:center;gap:8px;min-width:0;padding:5px 8px;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff0f}.sidebar-logo{height:26px;width:auto;max-width:118px;object-fit:contain;object-position:left center;display:block;flex-shrink:1}.sidebar-brand-tag{font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#93c5fd;background:#1a6fd42e;border:1px solid rgba(59,130,246,.28);padding:2px 6px;border-radius:4px;flex-shrink:0}.sidebar-collapse-btn{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0d;color:#e2e8f0bf;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .15s;box-shadow:inset 0 1px #ffffff0a;position:relative;z-index:1}.sidebar-collapse-btn:hover{background:#1a6fd433;color:#fff;border-color:#3b82f659;transform:scale(1.04)}.sidebar-section{margin-bottom:4px}.sidebar-section+.sidebar-section{padding-top:4px;border-top:1px dashed rgba(255,255,255,.08);margin-top:6px}.sidebar-section-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8a6;padding:10px 12px 6px;margin:0;display:flex;align-items:center;gap:6px;position:relative;z-index:1}.sidebar-section-label:before{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#3b8fe8,#6366f1);flex-shrink:0;box-shadow:0 0 6px #3b82f680}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:0;padding:6px 10px 12px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent;position:relative;z-index:1}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.sidebar-link,.sidebar-logout{display:flex;align-items:center;gap:10px;padding:7px 10px;margin:2px 0;color:var(--sidebar-text);text-decoration:none;border:none;background:transparent;font-size:13px;font-weight:500;cursor:pointer;width:100%;text-align:left;border-radius:10px;transition:background .15s ease,color .15s ease,transform .12s ease;position:relative}.sidebar-link:hover,.sidebar-logout:hover{background:var(--sidebar-hover);color:#fff;transform:translate(2px)}.sidebar-link-active{background:var(--sidebar-active-bg);color:var(--sidebar-text-active);font-weight:600;box-shadow:inset 0 0 0 1px #3b82f647,0 2px 16px #00000047,0 0 20px #1a6fd41a}.sidebar-link-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:58%;min-height:20px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,#3b8fe8,#1a6fd4);box-shadow:0 0 12px #1a6fd4a6}.sidebar-icon-wrap{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;flex-shrink:0;transition:background .15s,color .15s,box-shadow .15s}.sidebar-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:inherit}.sidebar-icon svg{width:18px;height:18px}.sidebar-link--blue .sidebar-icon-wrap,.sidebar-link--indigo .sidebar-icon-wrap,.sidebar-link--purple .sidebar-icon-wrap,.sidebar-link--green .sidebar-icon-wrap,.sidebar-link--orange .sidebar-icon-wrap,.sidebar-link--amber .sidebar-icon-wrap,.sidebar-link--cyan .sidebar-icon-wrap,.sidebar-link--teal .sidebar-icon-wrap,.sidebar-link--pink .sidebar-icon-wrap,.sidebar-link--violet .sidebar-icon-wrap,.sidebar-link--slate .sidebar-icon-wrap{background:#ffffff0d;color:#e2e8f0d1;border:1px solid rgba(255,255,255,.06)}.sidebar-link-active .sidebar-icon-wrap{background:linear-gradient(135deg,#1a6fd4,#2563eb);color:#fff;border-color:transparent;box-shadow:0 2px 14px #1a6fd473}.sidebar-footer{flex-shrink:0;padding:12px 10px 14px;border-top:1px solid var(--sidebar-border);background:#00000052;position:relative;z-index:1}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:6px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);box-shadow:inset 0 1px #ffffff0a}.sidebar-user-avatar{width:34px;height:34px;border-radius:10px;font-size:13px;font-weight:700;background:linear-gradient(135deg,#0d4a8f,#1a6fd4);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #1a6fd459}.sidebar-user-info{display:flex;flex-direction:column;gap:3px;min-width:0}.sidebar-user-name{font-size:12px;font-weight:700;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-role-badge{display:inline-block;width:fit-content;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 7px;border-radius:999px}.sidebar-role-badge--admin{background:#1a6fd438;color:#bfdbfe;border:1px solid rgba(59,130,246,.3)}.sidebar-role-badge--sales{background:#22c55e2e;color:#86efac;border:1px solid rgba(34,197,94,.28)}.sidebar-icon-wrap--logout{background:#ffffff0d;color:#e2e8f0bf;border:1px solid rgba(255,255,255,.06)}.sidebar-logout{color:var(--sidebar-text)}.sidebar-logout:hover{background:#ef444424;color:#fca5a5;transform:translate(2px)}.sidebar-logout:hover .sidebar-icon-wrap--logout{background:var(--md-red);color:#fff;box-shadow:0 2px 8px #e31b2366}.sidebar-collapsed .sidebar-brand{padding:6px;justify-content:center}.sidebar-collapsed .sidebar-header{flex-direction:column;padding:12px 8px;gap:8px}.sidebar-collapsed .sidebar-brand-tag{display:none}.sidebar-collapsed .sidebar-logo{max-width:40px;height:28px}.sidebar-collapsed .sidebar-section{border-top:none;margin-top:0;padding-top:0}.sidebar-collapsed .sidebar-section-label,.sidebar-collapsed .sidebar-link-label,.sidebar-collapsed .sidebar-user-info{display:none}.sidebar-collapsed .sidebar-link,.sidebar-collapsed .sidebar-logout{justify-content:center;padding:8px}.sidebar-collapsed .sidebar-link:hover,.sidebar-collapsed .sidebar-logout:hover{transform:none}.sidebar-collapsed .sidebar-user{justify-content:center;padding:8px;margin-bottom:8px}.topbar,.app-navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;min-height:56px;background:var(--navbar-bg);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 4px 24px #0003}.navbar-left{display:flex;align-items:center;gap:14px;min-width:0}.navbar-breadcrumb{display:flex;align-items:center;gap:10px;min-width:0}.navbar-brand-mark{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:linear-gradient(135deg,#0d4a8f,#1a6fd4);color:#fff;font-size:14px;font-weight:800;box-shadow:0 2px 8px #1a6fd459}.navbar-crumb-list{display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0;min-width:0}.navbar-crumb{font-size:13px;font-weight:500;color:#cbd5e1bf;white-space:nowrap}.navbar-crumb--active{font-size:16px;font-weight:700;color:#fff;letter-spacing:-.02em}.navbar-crumb-sep{color:#94a3b873;font-size:14px;-webkit-user-select:none;user-select:none}.navbar-tagline{display:none;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#93c5fdb3;padding:3px 8px;border-radius:4px;background:#1a6fd426;border:1px solid rgba(59,130,246,.25)}@media (min-width: 900px){.navbar-tagline{display:inline-block}}.navbar-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.navbar-icon-btn{color:#e2e8f0cc;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0f}.navbar-icon-btn:hover{color:#fff;background:#1a6fd440;border-color:#3b82f659}.navbar-user{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:999px}.navbar-user-avatar{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,#0d4a8f,#1a6fd4)}.navbar-user-meta{display:flex;flex-direction:column;gap:1px;line-height:1.2}.navbar-user-name{font-size:12px;font-weight:600;color:#f1f5f9}.navbar-user-role{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#93c5fd}.navbar-user-role--sales{color:#86efac}.navbar-logout{padding:7px 14px;font-size:12px;border-radius:8px;background:#ffffff14;color:#e2e8f0e6;border:1px solid rgba(255,255,255,.12);cursor:pointer;font-weight:600;transition:background .15s,color .15s,border-color .15s}.navbar-logout:hover{background:#e31b23d9;border-color:var(--md-red);color:#fff}.navbar-right .icon-btn,.navbar-right .notification-bell .icon-btn{color:#e2e8f0d9;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0f}.navbar-right .icon-btn:hover{background:#1a6fd440;color:#fff}.stat-card{background:var(--card-bg);border-radius:var(--radius-lg);padding:12px 14px;box-shadow:var(--shadow);border:1px solid var(--border);border-left:3px solid var(--primary);transition:box-shadow .15s ease;display:flex;justify-content:space-between;align-items:center;gap:8px}.stat-card-content{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-card-value{font-size:20px;font-weight:700;color:var(--text);line-height:1.15}.stat-card-title{font-size:11px;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--primary-glow);color:var(--primary);flex-shrink:0}.stat-card.stat-card-won .stat-card-icon{background:#16a34a1f;color:var(--success)}.stat-card.stat-card-lost .stat-card-icon{background:#dc26261a;color:var(--danger)}.stat-card.stat-card-followup .stat-card-icon{background:#d977061f;color:var(--warning)}.stat-card.stat-card-revenue .stat-card-icon{background:#0596691f;color:#059669}.stat-card.stat-card-leads .stat-card-icon{background:#2563eb1f;color:#2563eb}.stat-card.stat-card-email .stat-card-icon{background:#7c3aed1f;color:#7c3aed}.stat-card.stat-card-materials .stat-card-icon{background:#0891b21f;color:#0891b2}.stat-card.stat-card-won{border-left-color:var(--success)}.stat-card.stat-card-lost{border-left-color:var(--danger)}.stat-card.stat-card-followup{border-left-color:var(--warning)}.stat-card.stat-card-revenue{border-left-color:#059669}.stat-card.stat-card-leads{border-left-color:#2563eb}.stat-card.stat-card-email{border-left-color:#7c3aed}.stat-card.stat-card-materials{border-left-color:#0891b2}.stat-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:16px}.section-heading{font-size:14px;font-weight:700;color:var(--text);margin-bottom:12px;letter-spacing:-.01em}.muted-text{color:var(--muted);font-size:13px}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--muted);background:var(--bg-main)}.form-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.form-row .app-input,.form-row .app-select{flex:0 1 auto}.app-table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;border-radius:var(--radius);border:1px solid var(--border);background:var(--card-bg);box-shadow:var(--shadow)}.app-table{width:max-content;min-width:100%;border-collapse:collapse;background:var(--card-bg)}.app-table th{text-align:left;padding:10px 12px;font-size:10px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border);background:linear-gradient(180deg,#f8fafc,#f1f5f9);white-space:nowrap}.app-table td{padding:8px 10px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text);vertical-align:middle}.app-table-compact .app-select,.app-table-compact .app-input{padding:4px 8px;font-size:12px;max-width:100%}.app-table-compact .link-btn{font-size:12px}.app-table .col-email{min-width:200px;max-width:280px}.app-table .col-truncate{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-table .col-checkbox{width:36px;text-align:center;vertical-align:middle}.app-table .col-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.bulk-actions-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;margin-bottom:10px;background:var(--surface-elevated, #f0f4ff);border:1px solid var(--border, #e2e8f0);border-radius:8px}.bulk-actions-bar-sticky{position:sticky;top:0;z-index:20;box-shadow:0 4px 12px #0f172a14;border-color:var(--primary, #2563eb);background:linear-gradient(180deg,#eef4ff,#f8fafc)}.bulk-assign-hint{display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;font-size:13px;padding:10px 14px;background:linear-gradient(135deg,#eff6ff,#f0fdf4);border-radius:var(--radius);border:1px solid #BFDBFE;color:#1e40af}.bulk-assign-hint svg{flex-shrink:0;margin-top:1px}.assign-to-field{margin-bottom:16px;max-width:360px}.assign-to-label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text-secondary, #475569)}.assign-to-hint{margin:6px 0 0;font-size:12px}.bulk-actions-count{font-size:13px;font-weight:600;color:var(--text-secondary, #64748b)}.bulk-actions-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}.table-email{display:inline-block;max-width:100%;font-size:12px;color:var(--md-blue-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.app-table tbody tr.lead-row{box-shadow:inset 3px 0 0 var(--row-accent, transparent);transition:background .15s ease}.app-table tbody tr.lead-row:hover{background:color-mix(in srgb,var(--row-accent, #2563EB) 7%,white)}.app-table tbody tr.row-selected{background:color-mix(in srgb,var(--row-accent, var(--primary)) 12%,white)}.app-table tbody tr:last-child td{border-bottom:none}.upload-excel{margin-top:8px}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:32px 24px;text-align:center;background:var(--bg-main);color:var(--muted);font-size:14px;transition:border-color .2s,background .2s}.upload-zone:hover,.upload-zone.upload-zone-dragover{border-color:var(--primary);background:var(--primary-glow);color:var(--text)}.upload-zone-label{margin-bottom:8px;font-weight:500;color:var(--text)}.upload-success{margin-top:12px;color:var(--success);font-size:14px}.upload-error{margin-top:12px;color:var(--danger);font-size:14px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-gradient);padding:24px}.auth-card{background:var(--card-bg);padding:36px 32px;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);width:100%;max-width:400px;border:1px solid var(--border);text-align:center}.auth-logo{width:auto;max-width:140px;height:36px;object-fit:contain;margin:0 auto 20px;display:block}.auth-title{font-size:24px;margin-bottom:4px;color:var(--text);font-weight:700}.auth-subtitle{color:var(--muted);margin-bottom:24px;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:16px;text-align:left}.auth-form .app-input{width:100%}.auth-error{padding:10px 12px;background:#ef44441a;color:var(--danger);border-radius:var(--radius);font-size:14px}.auth-success{color:var(--success);font-size:16px}.auth-link{color:var(--primary)}.auth-link:hover{text-decoration:underline}[data-theme=dark]{--bg-main: #0B1120;--bg-gradient: linear-gradient(160deg, #0B1120 0%, #0F172A 50%, #0B1120 100%);--card-bg: #1E293B;--text: #F1F5F9;--muted: #94A3B8;--border: #334155;--shadow-card: 0 4px 24px -4px rgba(0, 0, 0, .4);--primary-glow: rgba(59, 143, 232, .2)}[data-theme=dark] .topbar,[data-theme=dark] .app-navbar{background:linear-gradient(90deg,#030712,#071428,#0a1f3d);border-bottom-color:#ffffff0f}[data-theme=dark]{--sidebar-bg: #030712;--sidebar-bg-gradient: radial-gradient(ellipse 100% 45% at 50% 0%, rgba(59, 143, 232, .1) 0%, transparent 55%), linear-gradient(180deg, #030712 0%, #071428 45%, #0A1F3D 100%);--navbar-bg: linear-gradient(90deg, #030712 0%, #071428 50%, #0A1F3D 100%);--md-gradient-hero: radial-gradient(ellipse 75% 90% at 8% 0%, rgba(59, 143, 232, .14) 0%, transparent 52%), linear-gradient(90deg, #030712 0%, #071428 50%, #0A1F3D 100%);--md-gradient-stat-strip: linear-gradient(135deg, #030712 0%, #071428 100%);--sidebar-bg-accent: rgba(26, 111, 212, .08);--sidebar-text: rgba(203, 213, 225, .65);--sidebar-text-active: #FFFFFF;--sidebar-active-bg: rgba(26, 111, 212, .16);--sidebar-hover: rgba(255, 255, 255, .05);--sidebar-border: rgba(255, 255, 255, .06)}[data-theme=dark] .app-table th,[data-theme=dark] .upload-zone{background:#0f172a}[data-theme=dark] .sidebar-header{background:#00000059}[data-theme=dark] .sidebar-brand{background:#ffffff0a;border-color:#ffffff0f}[data-theme=dark] .sidebar-footer{background:#00000061}[data-theme=dark] .sidebar-user{background:#ffffff08}[data-theme=dark] .sidebar-link-active{box-shadow:inset 0 0 0 1px #3b82f62e,0 2px 16px #00000059}[data-theme=dark] .sidebar-link:hover,[data-theme=dark] .sidebar-logout:hover{color:#f1f5f9;background:#ffffff0d}[data-theme=dark] .sidebar-collapse-btn{background:#ffffff0a;color:#cbd5e1b3}[data-theme=dark] .sidebar-brand-tag{background:#1a6fd429;border-color:#3b82f640;color:#93c5fd}.dashboard-page{display:flex;flex-direction:column;gap:18px}.sales-targets-card{padding:16px 18px}.sales-targets-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sales-targets-title{min-width:0}.sales-targets-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:14px;align-items:stretch}.sales-targets-chart{min-width:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-main);padding:10px 10px 6px}.sales-targets-metrics{display:flex;flex-direction:column;gap:12px}.sales-targets-metric{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-main);padding:12px 12px 10px}.sales-targets-metric-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.sales-targets-metric-value{margin-top:6px;font-size:15px;font-weight:700;color:var(--text)}.sales-targets-metric .bda-progress-header{display:none}.sales-targets-metric .bda-progress-track{height:10px;background:#64748b24}.sales-targets-metric .bda-progress-fill{background:linear-gradient(90deg,var(--md-blue) 0%,var(--md-blue-light) 70%)}.sales-targets-metric .bda-progress-fill-met{background:linear-gradient(90deg,#16a34a,#22c55e 70%)}@media (max-width: 900px){.sales-targets-grid{grid-template-columns:1fr}}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.chart-card{padding:14px 16px;border-radius:var(--radius-lg);border-top:3px solid var(--primary)}.chart-card-wide{grid-column:1 / -1}.chart-title{font-size:13px;font-weight:700;margin-bottom:10px;color:var(--md-blue-dark);letter-spacing:-.01em}.chart-empty{padding:24px;text-align:center;font-size:13px}.chart-container{width:100%;height:var(--chart-height)}.chart-container-pie{height:220px}.chart-legend-list{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:0;padding:0}.chart-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.chart-legend-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.chart-legend-label{color:var(--text);font-weight:500}.chart-legend-value{color:var(--muted);font-size:10px}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.team-card{padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-main)}.team-stats{display:flex;gap:8px;margin-top:8px;align-items:center}.revenue-text{color:var(--success);font-weight:600;margin-top:8px}.page-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}.toolbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.view-toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.view-toggle button{padding:8px 14px;border:none;background:var(--card-bg);color:var(--muted);cursor:pointer;font-size:13px;font-weight:600}.view-toggle button.active{background:var(--primary);color:#fff}.view-toggle--modern button{display:inline-flex;align-items:center;gap:6px;padding:8px 16px}.view-toggle--modern button.active{background:linear-gradient(135deg,var(--md-blue) 0%,var(--md-blue-dark) 100%);box-shadow:0 2px 8px #1a6fd459}.leads-page{display:flex;flex-direction:column;gap:16px;min-width:0;width:100%}.leads-page-header{display:flex;flex-direction:column;gap:0;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 8px 32px -10px #00000059;border:1px solid rgba(255,255,255,.08)}.leads-hero{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;padding:20px 22px;background:var(--md-gradient-hero);color:#fff;position:relative;overflow:hidden}.leads-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,transparent 45%,rgba(0,0,0,.15) 100%);pointer-events:none}.leads-hero-text,.leads-hero-actions{position:relative;z-index:1}.leads-hero-title{font-size:22px;font-weight:800;letter-spacing:-.02em;margin-bottom:4px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.leads-hero-subtitle{font-size:13px;color:#e2e8f0e0}.leads-hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.leads-hero .view-toggle{border-color:#fff3;background:#ffffff14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;overflow:hidden}.leads-hero .view-toggle button{background:transparent;color:#ffffffe0}.leads-hero .view-toggle button.active{background:var(--md-gradient-brand);color:#fff;box-shadow:0 2px 10px #0003}.leads-hero .app-btn-ghost{background:#ffffff1a;border:1px solid rgba(255,255,255,.28);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.leads-hero .app-btn-ghost:hover{background:#ffffff2e;border-color:#fff6}.leads-hero .app-btn-primary{background:var(--md-gradient-brand);color:#fff;font-weight:700;border:1px solid rgba(255,255,255,.25);box-shadow:0 2px 14px #00000040}.leads-hero .app-btn-primary:hover{filter:brightness(1.08);box-shadow:0 4px 18px #0000004d}.leads-stat-strip{padding:12px 14px;background:var(--md-gradient-stat-strip);border-top:1px solid rgba(255,255,255,.06)}.leads-stat-row{display:flex;flex-wrap:wrap;gap:10px}.leads-stat-card{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:var(--radius-lg);background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-left:3px solid var(--stat-color, rgba(255, 255, 255, .2));box-shadow:inset 0 1px #ffffff0a;min-width:88px;transition:transform .12s,box-shadow .12s}.leads-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0003}.leads-stat-card--primary{--stat-color: #3B8FE8;background:linear-gradient(135deg,#1a6fd43d,#0d4a8f29);border-color:#3b82f647;border-left-color:#3b8fe8}.leads-stat-num{font-size:20px;font-weight:800;color:var(--stat-color, #F1F5F9);line-height:1.1}.leads-stat-card--primary .leads-stat-num{color:#93c5fd}.leads-stat-lbl{font-size:10px;font-weight:700;color:#cbd5e1b8;text-transform:uppercase;letter-spacing:.05em}.app-card--filters{background:linear-gradient(180deg,#fff,#fafbff);border-color:#e0e7ff}.app-card--table{padding:12px 14px;min-width:0;overflow:hidden}.lead-filters-panel{display:flex;flex-direction:column;gap:12px}.lead-filters-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--md-blue-dark)}.lead-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;align-items:end}.filter-field{display:flex;flex-direction:column;gap:5px;min-width:0}.filter-field--search{grid-column:span 1}@media (min-width: 900px){.filter-field--search{grid-column:span 2}}.filter-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.filter-priority--low{border-color:#9ca3af;color:#6b7280}.filter-priority--medium{border-color:#93c5fd;color:#2563eb;background:#eff6ff}.filter-priority--high{border-color:#fcd34d;color:#d97706;background:#fffbeb}.filter-priority--urgent{border-color:#fca5a5;color:#dc2626;background:#fef2f2}.empty-state--leads{padding:48px 24px;text-align:center}.empty-state--leads h3{font-size:16px;margin:12px 0 6px}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#eff6ff,#f3e8ff);color:var(--md-blue)}.dashboard-welcome{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:20px 22px;border-radius:var(--radius-xl);background:var(--md-gradient-hero);color:#fff;box-shadow:0 8px 32px -10px #00000059;border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden}.dashboard-welcome:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,transparent 45%,rgba(0,0,0,.12) 100%);pointer-events:none}.dashboard-welcome-text,.dashboard-welcome-badges{position:relative;z-index:1}.dashboard-welcome-title{font-size:22px;font-weight:800;letter-spacing:-.02em;margin-bottom:4px}.dashboard-welcome-sub{font-size:13px;opacity:.88}.dashboard-welcome-badges{display:flex;flex-wrap:wrap;gap:8px}.dash-badge{padding:6px 14px;border-radius:999px;font-size:12px;font-weight:700;background:#ffffff2e;border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dash-badge--blue{background:#3b82f659}.dash-badge--green{background:#22c55e59}.dash-badge--orange{background:#fb923c59}.kanban-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;min-height:400px}.kanban-column{min-width:240px;max-width:280px;flex:1;background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);border-top:4px solid var(--col-accent, var(--primary));box-shadow:var(--shadow)}.kanban-column-header{padding:12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);font-weight:600;font-size:13px;background:color-mix(in srgb,var(--col-accent, var(--primary)) 6%,white)}.kanban-count{color:var(--muted);font-size:12px}.kanban-cards{padding:8px;display:flex;flex-direction:column;gap:8px;max-height:520px;overflow-y:auto}.kanban-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow)}.kanban-card strong{display:block;margin-bottom:4px}.modal-overlay,.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center}.drawer-overlay{justify-content:flex-end}.modal-content{background:var(--card-bg);border-radius:var(--radius-lg);width:90%;max-width:640px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-card)}.drawer-content{background:var(--card-bg);width:100%;max-width:480px;height:100vh;overflow-y:auto;box-shadow:var(--shadow-card)}.drawer-content-wide{max-width:720px}.modal-header,.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:var(--muted);line-height:1}.lead-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:24px}.lead-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--muted)}.lead-form-grid .full-width{grid-column:1 / -1}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-dialog-overlay{z-index:1100}.confirm-dialog{width:min(92vw,440px);padding:28px 28px 24px;text-align:center;border:1px solid var(--border)}.confirm-dialog-danger{border-color:#dc262633}.confirm-dialog-icon{width:52px;height:52px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;background:#dc26261a;color:#dc2626}.confirm-dialog-title{margin:0 0 10px;font-size:1.15rem;color:var(--text)}.confirm-dialog-message{margin:0 0 22px;font-size:14px;line-height:1.55;color:var(--muted);white-space:pre-line}.confirm-dialog-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.confirm-dialog-actions .app-btn{min-width:110px}.drawer-body{padding:24px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.detail-grid label{font-size:12px;color:var(--muted);display:block}.detail-section{margin-top:24px}.detail-section h3{font-size:15px;margin-bottom:12px}.note-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.notes-list{list-style:none}.lead-notes-list{list-style:none;margin:0;padding:0;color:var(--text)}.lead-notes-list li{margin-bottom:6px;line-height:1.4;font-size:13px}.note-ts{display:block;color:var(--muted);font-size:10px;margin-bottom:2px;white-space:nowrap}.app-table .col-notes{width:150px;max-width:200px;padding:6px 8px;vertical-align:middle}.app-table .col-contact{min-width:140px;max-width:200px}.app-table .col-requirement{min-width:120px;max-width:220px}.contact-cell{display:flex;flex-direction:column;gap:2px;line-height:1.3}.contact-phone{font-size:12px;color:var(--text);white-space:nowrap}.contact-cell .table-email{font-size:11px;color:var(--muted)}.notes-cell{position:relative}.notes-cell-trigger{display:flex;align-items:center;gap:6px;width:100%;padding:5px 8px;border:1px solid transparent;border-radius:8px;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background .15s,border-color .15s,box-shadow .15s,transform .12s}.notes-cell-trigger--empty{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a;color:#92400e}.notes-cell-trigger--empty:hover{background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 2px 8px #d9770626;transform:translateY(-1px)}.notes-cell-trigger--filled{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#c4b5fd;color:#5b21b6}.notes-cell-trigger--filled:hover{background:linear-gradient(135deg,#ede9fe,#ddd6fe);box-shadow:0 2px 8px #7c3aed26;transform:translateY(-1px)}.notes-cell-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:#ffffff8c}.notes-cell-trigger--empty .notes-cell-icon{color:#d97706}.notes-cell-trigger--filled .notes-cell-icon{color:#7c3aed}.notes-count-badge{flex-shrink:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 1px 4px #7c3aed59}.notes-preview{flex:1;min-width:0;font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notes-preview-empty{font-style:normal;font-weight:600}.notes-popover{display:flex;flex-direction:column;background:var(--card-bg);border:1px solid #C4B5FD;border-radius:12px;box-shadow:0 12px 36px #5b21b62e;overflow:hidden}.notes-popover-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.2);font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,#6d28d9,#7c3aed,#9333ea)}.notes-popover-close{border:none;background:#ffffff26;border-radius:6px;font-size:16px;line-height:1;color:#fff;cursor:pointer;padding:2px 7px}.notes-popover-close:hover{background:#ffffff47}.notes-popover--fixed{position:fixed;z-index:9999}.notes-popover-list{list-style:none;margin:0;padding:8px 12px;overflow-y:auto;flex:1;min-height:0}.notes-popover-item{padding:8px 0;border-bottom:1px solid var(--border);font-size:12px;line-height:1.4}.notes-popover-item .note-ts{display:inline-block;margin-bottom:3px;padding:1px 6px;border-radius:4px;background:#ede9fe;color:#6d28d9;font-size:10px;font-weight:600}.notes-popover-item:last-child{border-bottom:none}.notes-popover-text{color:var(--text);word-break:break-word}.notes-popover-empty{margin:0;padding:14px 12px;font-size:12px;color:var(--muted);text-align:center}.notes-add-row{display:flex;gap:6px;padding:10px 12px;border-top:1px solid var(--border);background:linear-gradient(180deg,#fafaff,#f5f3ff);border-radius:0 0 12px 12px}.notes-add-row .app-btn-primary{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-radius:8px;flex-shrink:0}.notes-add-row .app-input{flex:1;min-width:0;padding:6px 10px;font-size:12px;border-color:#c4b5fd}.notes-add-row .app-input:focus{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed33}.notes-full{display:flex;flex-direction:column;gap:8px}.notes-list li{padding:12px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;background:var(--bg-main)}.note-type-badge{font-size:11px;text-transform:uppercase;color:var(--primary);font-weight:600}.activity-timeline{list-style:none}.activity-timeline li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.activity-dot{width:10px;height:10px;border-radius:50%;background:var(--primary);margin-top:6px;flex-shrink:0}.activity-timeline.compact li{padding:8px 0}.notification-bell{position:relative}.icon-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:8px;border-radius:var(--radius)}.icon-btn:hover{background:var(--bg-main)}.notification-badge{position:absolute;top:2px;right:2px;background:var(--danger);color:#fff;font-size:10px;padding:2px 5px;border-radius:10px;min-width:16px;text-align:center}.notification-dropdown{position:absolute;right:0;top:100%;margin-top:8px;width:320px;max-height:400px;overflow-y:auto;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);z-index:200}.notification-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;font-weight:600}.notification-item{padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer}.notification-item:hover{background:var(--bg-main)}.notification-unread{background:var(--primary-glow)}.notification-item p{font-size:13px;color:var(--muted);margin:4px 0}.notification-item small{font-size:11px;color:var(--muted)}.toast-container{position:fixed;bottom:24px;right:24px;z-index:3000;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 20px;border-radius:var(--radius);color:#fff;font-size:14px;box-shadow:var(--shadow-card);animation:slideIn .3s ease}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.toast-info{background:var(--primary)}.toast-warning{background:#d97706}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-weight:500;padding:0;text-align:left}.link-btn:hover{text-decoration:underline}.skeleton-loader{padding:40px;text-align:center;color:var(--muted);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.empty-state{padding:32px;text-align:center}.pagination{display:flex;gap:12px;align-items:center;justify-content:center;padding:16px 8px 4px;flex-wrap:wrap}.pagination button{min-width:72px;padding:8px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--card-bg);color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.pagination button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.pagination button:disabled{opacity:.45;cursor:not-allowed}.pagination span{font-size:13px;font-weight:600;color:var(--text-muted, #64748b)}.actions-cell{display:flex;gap:6px;flex-wrap:wrap}.followup-list{list-style:none}.followup-list li{display:flex;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.badge-proposal{background:#3b82f626;color:#3b82f6}.badge-priority-low{background:#6b728026;color:#6b7280}.badge-priority-medium{background:var(--primary-glow);color:var(--md-blue)}.badge-priority-high{background:#eab30826;color:#eab308}.badge-priority-urgent{background:#ef444426;color:#ef4444}.badge-pending{background:#eab30826;color:#eab308}.badge-completed{background:#22c55e26;color:#22c55e}.badge-missed{background:#ef444426;color:#ef4444}.followups-admin-page{display:flex;flex-direction:column;gap:20px}.followups-admin-sub{margin:-8px 0 16px}.bda-followup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.bda-followup-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.bda-followup-card:hover{border-color:var(--md-blue);box-shadow:0 2px 8px #6366f11a}.bda-followup-card-active{border-color:var(--md-blue);background:#6366f10f}.bda-followup-card-top{display:flex;align-items:center;gap:12px}.bda-followup-card-info{display:flex;flex-direction:column;gap:2px;min-width:0}.bda-followup-card-info strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bda-followup-card-info .muted-text{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bda-followup-card-counts{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:12px;color:var(--muted)}.bda-count-pending{color:#eab308}.bda-count-done{color:#22c55e}.followups-table-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.followups-table-filters{display:flex;align-items:center;gap:8px}.bda-drawer-head{display:flex;align-items:center;gap:12px}.bda-drawer-head h2{margin:0;font-size:18px}.bda-followup-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.bda-followup-stat{display:flex;flex-direction:column;align-items:center;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.bda-followup-stat-value{font-size:22px;font-weight:700;color:var(--text)}.bda-followup-stat-label{font-size:12px;color:var(--muted);margin-top:4px}.followup-conversation-latest{margin:0;font-size:13px;line-height:1.45;max-width:280px}.followup-conversation-more{margin-top:6px;font-size:12px}.followup-conversation-more summary{cursor:pointer;color:var(--md-blue)}.followup-conversation-more ul{list-style:none;margin:8px 0 0;padding:0}.followup-conversation-more li{padding:6px 0;border-top:1px solid var(--border);font-size:12px;line-height:1.4}.register-student-modal{max-width:720px}.student-payment-modal{max-width:980px}.clickable-row{cursor:pointer}.clickable-row:hover{background:#6366f10f}.student-payment-grid{display:grid;grid-template-columns:360px 1fr;gap:12px}.student-payment-card{padding:14px}.student-payment-card-title{font-size:13px;color:var(--muted);margin-bottom:10px}.student-payment-dl{display:grid;grid-template-columns:120px 1fr;gap:8px 12px;font-size:13px}.student-payment-dl dt{color:var(--muted)}.student-installment-list{display:flex;flex-direction:column;gap:10px}.student-installment-row{display:grid;grid-template-columns:160px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-main)}.student-installment-row.overdue{border-left:3px solid var(--danger)}.student-installment-row.partial{border-left:3px solid var(--primary)}.student-installment-row.paid{border-left:3px solid var(--success);opacity:.9}.student-installment-main{display:flex;flex-direction:column;gap:2px}.student-installment-amounts{display:flex;flex-direction:column;gap:2px;text-align:right}.student-installment-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}@media (max-width: 900px){.student-payment-grid{grid-template-columns:1fr}.student-installment-row{grid-template-columns:1fr;align-items:flex-start}.student-installment-amounts{text-align:left}.student-installment-actions{align-items:flex-start}}.modal-subtitle{font-size:13px;color:var(--muted);font-weight:400;margin-top:4px}.register-steps{display:flex;gap:8px;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg-main)}.register-step{flex:1;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.register-step.active{color:var(--primary);font-weight:600}.register-step.done{color:var(--success)}.register-step-num{width:24px;height:24px;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}.register-step.active .register-step-num{background:var(--primary);color:#fff;border-color:var(--primary)}.register-already-banner{margin:0 24px 12px;padding:12px 16px;background:#fef3c7;border:1px solid #FCD34D;border-radius:var(--radius);font-size:13px;color:#92400e}.register-form-body{padding:0}.register-modal-footer{display:flex;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid var(--border)}.register-next-btn{background:var(--success)!important;border-color:var(--success)!important;min-width:200px}.lead-attribution-box{grid-column:1 / -1;background:#eff6ff;border:1px solid #BFDBFE;border-radius:var(--radius);padding:12px 16px;font-size:13px}.lead-attribution-grid{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}.register-confirm{padding:24px}.register-confirm h3{margin-bottom:16px;font-size:16px}.approval-submit-hint{margin:-8px 0 16px;font-size:13px}.pending-approvals-card{margin-bottom:24px;border-color:#eab30859;background:linear-gradient(135deg,rgba(234,179,8,.06) 0%,var(--bg-card) 48%)}.pending-approvals-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.badge-pending-approval{background:#eab3082e;color:#ca8a04;font-weight:600}.approval-modal-intro{margin-bottom:16px;font-size:14px}.approval-modal-overlay{padding:16px;align-items:center;overflow-y:auto}.approval-registration-modal{width:min(680px,100%);max-height:min(90vh,calc(100dvh - 32px));display:flex;flex-direction:column;overflow:hidden;margin:auto}.approval-modal-header{flex-shrink:0;padding:16px 20px}.approval-modal-body{flex:1;min-height:0;overflow-y:auto;padding:0 20px 16px}.approval-confirm-panel{padding:0}.confirm-dl--compact{grid-template-columns:minmax(110px,130px) 1fr;gap:6px 12px;font-size:13px}.confirm-dl--compact dd{word-break:break-word}.approval-reject-field{display:block;margin-top:14px;font-size:13px;font-weight:500;color:var(--muted)}.approval-reject-field .app-input{margin-top:6px;width:100%}.approval-modal-footer{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg-main)}.approval-modal-footer .app-btn{min-height:40px;padding:8px 16px;font-size:13px;font-weight:600;white-space:nowrap}.approval-btn-approve{background:var(--success)!important;border-color:var(--success)!important;flex:1 1 180px;max-width:100%}.approval-btn-reject,.approval-btn-confirm-reject{flex:0 1 auto}@media (max-width: 560px){.approval-modal-overlay{padding:10px}.approval-registration-modal{max-height:calc(100dvh - 20px);width:100%}.approval-modal-footer{flex-direction:column;align-items:stretch}.approval-modal-footer .app-btn{width:100%;flex:none}.confirm-dl--compact{grid-template-columns:1fr}.confirm-dl--compact dt{margin-top:8px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.confirm-dl--compact dt:first-child{margin-top:0}}.confirm-dl{display:grid;grid-template-columns:140px 1fr;gap:8px 16px;font-size:14px}.confirm-dl dt{color:var(--muted);font-weight:500}.field-hint{display:block;margin-top:4px;font-size:12px;color:var(--muted);line-height:1.4}.installment-preview-box{grid-column:1 / -1;background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.installment-preview-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:13px}.installment-preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.installment-preview-row{display:grid;grid-template-columns:36px 1fr auto auto;gap:10px;align-items:center;padding:8px 10px;border-radius:var(--radius);background:var(--bg-card);font-size:13px}.installment-preview-num{font-weight:600;color:var(--muted)}.installment-preview-due{color:var(--text)}.installment-preview-amount{font-weight:600;text-align:right}.installment-preview-amount-input{width:100%;max-width:110px;justify-self:end;padding:6px 8px;font-size:13px;text-align:right}.installment-preview-edit-hint{margin:0 0 10px;font-size:12px;line-height:1.4}.installment-preview-auto-tag{display:block;font-size:10px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.installment-preview-status{justify-self:end;font-size:11px}.installment-preview-summary{display:flex;justify-content:space-between;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:13px}.installment-preview-row.status-partial{border-left:3px solid var(--primary)}.installment-preview-row.status-paid{border-left:3px solid var(--success)}.installment-preview-row.status-overdue{border-left:3px solid var(--danger)}.mark-paid-form{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;padding:12px;background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius)}.mark-paid-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}.mark-paid-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.student-installment-row .mark-paid-form.full-width{grid-column:1 / -1}.admissions-page .stat-mini{padding:16px 20px;display:flex;flex-direction:column;gap:4px}.admissions-page .stat-mini strong{font-size:24px}.admissions-stats-grid{grid-template-columns:repeat(4,1fr)}.admissions-stat-sub{font-size:12px;line-height:1.35;margin-top:2px}.admissions-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.text-danger{color:var(--danger)}.badge-student-onboarding{background:#1a6fd41f;color:var(--primary)}.badge-student-active,.badge-student-active.badge{background:#16a34a1f;color:var(--success)}.badge-student-completed{background:#64748b26;color:var(--muted)}.badge-payment-pending{background:#d977061f;color:var(--warning)}.badge-payment-partial{background:#1a6fd41f;color:var(--primary)}.badge-payment-paid{background:#16a34a1f;color:var(--success)}.badge-payment-overdue{background:#dc26261f;color:var(--danger)}.admissions-layout{display:grid;grid-template-columns:1fr minmax(300px,380px);gap:16px;align-items:start}.admissions-main-col{min-width:0}.emi-calendar-widget{padding:16px;position:sticky;top:16px}.emi-calendar-header{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.emi-calendar-title{margin:0;font-size:15px;font-weight:700}.emi-alert-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;background:#dc262614;color:var(--danger);line-height:1.3}.emi-alert-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.emi-alert-dot--today{background:var(--warning)}.emi-alert-dot--overdue{background:var(--danger)}.emi-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.emi-filter-select{width:100%;font-size:12px}.emi-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.emi-summary-card{padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-main);display:flex;flex-direction:column;gap:2px}.emi-summary-label{font-size:11px;color:var(--muted);font-weight:500}.emi-summary-value{font-size:14px;font-weight:700}.emi-summary-today .emi-summary-value{color:var(--warning)}.emi-summary-week .emi-summary-value{color:var(--primary)}.emi-summary-month .emi-summary-value{color:var(--success)}.emi-summary-overdue .emi-summary-value{color:var(--danger)}.emi-calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.emi-calendar-month{font-size:14px;font-weight:600}.emi-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:10px;color:var(--muted);margin-bottom:10px}.emi-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}.emi-legend-overdue{background:var(--danger)}.emi-legend-soon{background:var(--warning)}.emi-legend-upcoming{background:var(--success)}.emi-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;transition:opacity .15s ease}.emi-calendar-grid--refreshing{opacity:.65;pointer-events:none}.emi-cal-weekday{text-align:center;font-size:10px;font-weight:600;color:var(--muted);padding:4px 0}.emi-cal-cell{aspect-ratio:1;min-height:40px;border:1px solid var(--border);border-radius:8px;background:var(--card-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px;position:relative}.emi-cal-cell--pad{border:none;background:transparent}.emi-cal-cell--day{cursor:default;font:inherit;color:inherit}.emi-cal-cell--has-payments{cursor:pointer}.emi-cal-cell--has-payments:hover{border-color:var(--primary);background:#1a6fd40f}.emi-cal-cell--overdue{border-color:#dc262659;background:#dc26260f}.emi-cal-cell--soon{border-color:#d9770659;background:#d977060f}.emi-cal-cell--upcoming{border-color:#16a34a40;background:#16a34a0d}.emi-cal-day-num{font-size:12px;font-weight:600;line-height:1}.emi-cal-count{font-size:10px;font-weight:700;color:var(--primary);line-height:1}.emi-cal-indicators{display:flex;gap:2px;position:absolute;bottom:3px}.emi-ind{width:5px;height:5px;border-radius:50%;display:block}.emi-ind-overdue{background:var(--danger)}.emi-ind-soon{background:var(--warning)}.emi-ind-upcoming{background:var(--success)}.emi-calendar-skeleton{min-height:200px;padding:24px;text-align:center}.emi-upcoming-section{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.emi-upcoming-title{margin:0 0 10px;font-size:13px;font-weight:600}.emi-upcoming-empty{font-size:12px;margin:0}.emi-upcoming-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.emi-upcoming-row{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-main);cursor:pointer;text-align:left;font:inherit;color:inherit}.emi-upcoming-row:hover{border-color:var(--primary)}.emi-upcoming-main{display:flex;flex-direction:column;gap:2px;min-width:0}.emi-upcoming-main strong{font-size:12px}.emi-upcoming-main .muted-text{font-size:11px}.emi-upcoming-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.emi-upcoming-meta strong{font-size:12px;color:var(--success)}.emi-upcoming-meta .muted-text{font-size:10px}.emi-days-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:#1a6fd41a;color:var(--primary)}.emi-days-soon{background:#d977061f;color:var(--warning)}.emi-days-overdue{background:#dc26261f;color:var(--danger)}.emi-date-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:flex-end;padding:20px;background:#0f172a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.emi-date-panel{width:100%;max-width:360px;max-height:min(480px,calc(100vh - 40px));display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 20px 48px #0f172a2e;animation:emi-date-panel-in .22s ease;overflow:hidden}@keyframes emi-date-panel-in{0%{opacity:0;transform:translate(16px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}.emi-date-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.emi-date-panel-head-text{display:flex;flex-direction:column;gap:4px;min-width:0}.emi-date-panel-head-text h3{margin:0;font-size:16px;font-weight:700;line-height:1.25}.emi-date-panel-head-text .muted-text{margin:0;font-size:12px;line-height:1.35}.emi-date-panel-count{display:inline-flex;width:fit-content;margin-top:2px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#1a6fd41a;color:var(--primary)}.emi-date-panel-close{flex-shrink:0;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--bg-main);color:var(--muted);font-size:22px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease,border-color .15s ease}.emi-date-panel-close:hover{background:#dc262614;border-color:#dc262640;color:var(--danger)}.emi-date-panel-body{flex:1;min-height:0;overflow-y:auto;padding:14px 18px}.emi-date-panel-status{margin:0;padding:12px 0;text-align:center;font-size:13px}.emi-date-panel-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--border);background:var(--bg-main)}.emi-date-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.emi-date-item-btn{width:100%;text-align:left;border:1px solid var(--border);border-radius:var(--radius);padding:12px;background:var(--bg-main);cursor:pointer;font:inherit;color:inherit}.emi-date-item-btn:hover{border-color:var(--primary)}.emi-date-item-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.emi-date-item-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;font-size:12px}.emi-date-item-grid em{display:block;font-style:normal;font-size:10px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.02em}.admissions-payment-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:16px;border-radius:var(--radius);border:1px solid rgba(220,38,38,.25);background:#dc26260f;font-size:13px}.admissions-payment-banner--today{border-color:#d977064d;background:#d977060f}.sidebar-nav-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}.sidebar-collapsed .sidebar-nav-badge{display:none}[data-theme=dark] .emi-cal-cell--day{background:var(--card-bg)}[data-theme=dark] .emi-summary-card,[data-theme=dark] .emi-upcoming-row,[data-theme=dark] .emi-date-item-btn{background:#ffffff08}[data-theme=dark] .emi-date-panel{box-shadow:0 20px 48px #00000073}[data-theme=dark] .emi-date-panel-footer{background:#ffffff05}@media (max-width: 1100px){.admissions-layout{grid-template-columns:1fr}.emi-calendar-widget{position:static;order:-1}.emi-date-panel-overlay{align-items:flex-end;justify-content:center;padding:12px}.emi-date-panel{max-width:100%;max-height:min(70vh,520px);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}}.daily-materials-page{display:grid;gap:16px}.daily-material-form-card{padding:0;overflow:hidden}.daily-material-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#1a6fd40f,#22c55e0a)}.daily-material-form-sub{margin:6px 0 0;font-size:13px;max-width:640px}.daily-material-recipient-pill{flex-shrink:0;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;background:#1a6fd41f;color:var(--primary);border:1px solid rgba(26,111,212,.2)}.daily-material-form{padding:20px 22px 22px;display:flex;flex-direction:column;gap:16px}.dm-field{display:flex;flex-direction:column;gap:6px}.dm-field-full{width:100%}.dm-label{font-size:13px;font-weight:600;color:var(--text)}.dm-sublabel{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.dm-scheduler-box{padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-main)}.dm-scheduler-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dm-scheduler-input{display:flex;flex-direction:column;gap:6px}.dm-schedule-preview{margin:12px 0 0;padding:10px 12px;border-radius:var(--radius);background:#1a6fd414;border:1px solid rgba(26,111,212,.15);font-size:13px;color:var(--primary)}.dm-bottom-row{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:end}.dm-bottom-row--attachments{grid-template-columns:200px 1fr;align-items:start}.dm-field-attachments{min-width:0}.dm-attach-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dm-attach-count{font-size:12px}.dm-attach-picker{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--card-bg)}.dm-attach-picker input[type=file]{font-size:12px}.dm-attach-hint{font-size:11px}.dm-attach-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.dm-attach-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-main)}.dm-attach-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.dm-attach-item-main strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-attach-item-main .muted-text{font-size:11px}.dm-attach-empty{margin:10px 0 0;font-size:12px}.dm-table-attachments{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.dm-table-attach-count{font-size:11px;font-weight:700;color:var(--primary)}.dm-actions{display:flex;justify-content:flex-end;padding-top:4px}.rich-editor{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--card-bg);transition:border-color .15s ease,box-shadow .15s ease}.rich-editor--focused{border-color:var(--primary);box-shadow:0 0 0 3px #1a6fd41f}.rich-editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--bg-main)}.rich-editor-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;line-height:1.2}.rich-editor-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.rich-editor-btn:disabled{opacity:.6;cursor:not-allowed}.rich-editor-btn--image{margin-left:auto}.rich-editor-divider{width:1px;height:20px;background:var(--border);margin:0 2px}.rich-editor-area{min-height:160px;max-height:320px;overflow-y:auto;padding:14px 16px;font-size:14px;line-height:1.55;outline:none;color:var(--text);cursor:text;user-select:text;-webkit-user-select:text}.rich-editor-area:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.rich-editor-area img{max-width:100%;height:auto;border-radius:10px;margin:10px 0;display:block}.rich-editor-hint{padding:0 16px 12px;font-size:11px}[data-theme=dark] .daily-material-form-head{background:linear-gradient(135deg,#1a6fd41f,#22c55e0f)}[data-theme=dark] .dm-scheduler-box,[data-theme=dark] .rich-editor-toolbar{background:#ffffff08}@media (max-width: 768px){.dm-scheduler-row,.dm-bottom-row,.dm-bottom-row--attachments{grid-template-columns:1fr}.daily-material-form-head{flex-direction:column}}.payments-page .payments-subtitle{margin-top:4px}.payments-header{align-items:flex-start}.finance-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.finance-stat-card{padding:20px;display:flex;flex-direction:column;gap:6px}.finance-stat-label{font-size:13px;color:var(--muted);font-weight:500}.finance-stat-value{font-size:26px;font-weight:700;line-height:1.2}.finance-stat-sub{font-size:12px;color:var(--muted)}.finance-stat-collected .finance-stat-value{color:var(--success)}.finance-stat-pending .finance-stat-value{color:var(--warning)}.finance-stat-overdue .finance-stat-value{color:var(--danger)}.finance-stat-refund .finance-stat-value{color:var(--primary)}.finance-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.finance-chart-card{padding:20px}.finance-chart-title{font-size:15px;margin-bottom:16px;font-weight:600}.finance-bar-list{list-style:none;display:flex;flex-direction:column;gap:16px}.finance-bar-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px}.finance-bar-label{font-weight:500}.finance-bar-amount{font-weight:600;color:var(--success)}.finance-bar-track{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.finance-bar-fill{height:100%;background:var(--success);border-radius:4px;transition:width .3s ease}.finance-bar-fill.scholarship{background:var(--success)}.finance-bar-fill.standard{background:var(--primary)}.finance-bar-meta{font-size:12px;color:var(--muted);margin-top:4px;display:block}.finance-plan-footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--border);font-size:12px}.finance-list-card{padding:0;overflow:hidden}.finance-list-card .admissions-toolbar{padding:16px 20px;border-bottom:1px solid var(--border)}.finance-installment-list{display:flex;flex-direction:column}.finance-installment-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:16px 20px;border-bottom:1px solid var(--border)}.finance-installment-row.overdue{background:#dc26260a}.finance-installment-row.paid{opacity:.85}.finance-installment-main{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.finance-installment-id{font-size:12px;color:var(--muted)}.finance-installment-msg{font-size:13px;margin-top:4px}.finance-installment-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.bda-performance-page{max-width:1100px}.bda-page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:8px}.bda-page-title{font-size:22px;font-weight:700;margin:0 0 4px;letter-spacing:-.02em}.bda-header-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.period-toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--card-bg)}.period-toggle button{padding:8px 12px;border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.period-toggle button.active{background:var(--primary);color:#fff}.bda-period-label{font-size:13px;color:var(--muted);margin:0 0 16px}.bda-summary-grid{grid-template-columns:repeat(4,1fr)}.bda-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px;overflow-x:auto}.bda-tabs button{padding:10px 14px;border:none;background:none;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.bda-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.bda-leaderboard{display:flex;flex-direction:column;gap:12px}.bda-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.bda-card-leader{background:linear-gradient(135deg,#fffbeb,#fff 40%);border-color:#fde68a}.bda-card-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:16px}.bda-card-profile{display:flex;align-items:center;gap:12px}.bda-trophy{font-size:18px;margin-right:-4px}.bda-avatar{width:44px;height:44px;border-radius:50%;background:var(--primary-glow);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.bda-name{font-size:15px;display:block}.bda-meta{margin:2px 0 0;font-size:12px}.bda-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bda-neglected{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--danger);font-weight:600}.bda-neglected-dot{width:8px;height:8px;border-radius:50%;background:var(--danger)}.bda-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.bda-metric{text-align:center}.bda-metric-value{display:block;font-size:18px;font-weight:700;color:var(--text)}.bda-metric-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.bda-metrics-revenue{grid-template-columns:repeat(4,1fr);margin-bottom:12px;padding-bottom:12px}.bda-metric-sub{display:block;margin-top:2px;font-size:11px;font-weight:600;color:#b45309}.bda-metric-sub-muted{color:var(--muted);font-weight:500}.bda-metric-total .bda-metric-value{color:#059669}.bda-emi-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:6px}.bda-emi-list li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:8px 10px;border-radius:8px;background:var(--bg-main);border:1px solid var(--border);font-size:12px}.bda-emi-student{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bda-emi-meta{color:var(--muted);white-space:nowrap}.bda-emi-amount{color:#b45309;font-weight:700;white-space:nowrap}.bda-card-progress{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bda-progress-row{min-width:0}.bda-progress-header{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px;color:var(--muted)}.bda-progress-met{color:var(--success);font-weight:600}.bda-check{color:var(--success)}.bda-progress-track{height:8px;background:var(--bg-main);border-radius:4px;overflow:hidden}.bda-progress-fill{height:100%;background:#3b82f6;border-radius:4px;transition:width .3s ease}.bda-progress-fill-met{background:var(--success)}.bda-target-card{margin-bottom:12px}.bda-target-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.target-form label{display:block;margin-bottom:12px;font-size:13px;font-weight:600}.target-form .app-input{width:100%;margin-top:6px}@media (max-width: 1100px){.bda-summary-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 900px){.bda-summary-grid{grid-template-columns:repeat(2,1fr)}.bda-metrics{grid-template-columns:repeat(3,1fr)}.bda-metrics-revenue{grid-template-columns:repeat(2,1fr)}.bda-card-progress{grid-template-columns:1fr}}@media (max-width: 768px){:root{--sidebar-width: 76px}.sidebar-header{flex-direction:column;padding:12px 8px;gap:8px}.sidebar-logo{max-width:40px;height:28px}.sidebar-collapse-btn,.sidebar-brand-tag,.sidebar-section-label,.sidebar-link-label,.sidebar-user-info{display:none}.sidebar-user{justify-content:center;padding:8px;margin-bottom:8px}.sidebar-link,.sidebar-logout{justify-content:center;padding:10px}.app-content{padding:20px 16px 28px}.topbar,.app-navbar{padding:10px 14px;flex-wrap:wrap;gap:10px;min-height:52px}.navbar-tagline,.navbar-user-meta{display:none}.navbar-crumb:not(.navbar-crumb--active){display:none}.navbar-crumb-sep{display:none}.lead-form-grid,.charts-grid{grid-template-columns:1fr}.stats-grid,.admissions-stats-grid,.finance-stats-grid{grid-template-columns:repeat(2,1fr)}.finance-charts-grid{grid-template-columns:1fr}.finance-installment-row{flex-direction:column}.finance-installment-actions{align-items:flex-start}.kanban-column{min-width:200px}.attendance-stats-row{grid-template-columns:1fr}.attendance-monthly-filters{flex-direction:column;align-items:stretch}.attendance-team-summary{grid-template-columns:1fr}.attendance-monthly-stats{grid-template-columns:repeat(2,1fr)}.attendance-actions{flex-direction:column}}.attendance-page{display:flex;flex-direction:column;gap:20px}.attendance-card-title{font-size:18px;font-weight:600;margin-bottom:4px}.attendance-card-date{font-size:13px}.attendance-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;flex-wrap:wrap}.attendance-status-badge{display:inline-block;padding:4px 12px;border-radius:9999px;font-size:12px;font-weight:600}.attendance-status--absent{background:#ef44441f;color:#dc2626}.attendance-status--present{background:#22c55e1f;color:#16a34a}.attendance-status--done{background:#1a6fd41f;color:var(--md-blue)}.attendance-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.attendance-stat{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--sidebar-bg-accent);border-radius:var(--radius-lg);border:1px solid var(--border)}.attendance-stat strong{font-size:18px}.attendance-hours-value{color:var(--md-blue)}.attendance-actions{display:flex;gap:12px;flex-wrap:wrap}.attendance-btn-checkin{min-width:140px}.attendance-btn-checkout{min-width:140px;background:#fef2f2;color:#dc2626;border:1px solid #FECACA}.attendance-btn-checkout:hover:not(:disabled){background:#fee2e2}.attendance-btn-checkout:disabled{opacity:.5;cursor:not-allowed}.attendance-loading{padding:24px;text-align:center;color:var(--muted)}.attendance-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:8px}.attendance-table-header h3{font-size:16px;font-weight:600}.attendance-team-section{display:flex;flex-direction:column;gap:16px}.attendance-team-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.attendance-team-stat{display:flex;flex-direction:column;gap:4px}.attendance-team-stat strong{font-size:22px}.attendance-employee-cell{display:flex;align-items:center;gap:10px}.attendance-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-glow);color:var(--md-blue);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex-shrink:0}.attendance-email{display:block;font-size:12px}.attendance-monthly-card{display:flex;flex-direction:column;gap:16px}.attendance-monthly-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.attendance-monthly-header h3{font-size:16px;font-weight:600}.attendance-monthly-filters{display:flex;gap:8px;flex-wrap:wrap}.attendance-filter-select{width:auto;min-width:140px}.attendance-monthly-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.attendance-monthly-stat{padding:12px 14px;background:var(--sidebar-bg-accent);border-radius:var(--radius-lg);border:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.attendance-monthly-stat strong{font-size:20px;color:var(--md-blue)}.attendance-export-actions{display:flex;gap:10px;flex-wrap:wrap}
