:root{--color-bg:#f7f9fc;--color-surface:#fff;--color-border:#e4e9f2;--color-border-strong:#cbd5e1;--color-text:#0d1526;--color-text-body:#334155;--color-text-muted:#64748b;--color-text-caption:#94a3b8;--color-inverse:#0d1526;--color-inverse-contrast:#fff;--color-primary:#1668e3;--color-primary-hover:#1257c2;--color-primary-contrast:#fff;--color-primary-tint:#e2edfd;--color-accent:#4740ff;--color-accent-tint:#e8e7ff;--color-success:#0e8f5b;--color-success-bg:#d8f8ec;--color-warning:#92620a;--color-warning-bg:#fdf0d5;--color-danger:#c0362b;--color-danger-bg:#fde4e4;--color-neutral-bg:#eef2f8;--color-fire:#f97316;--color-fire-dark:#ea580c;--color-fire-contrast:#fff;--color-fire-tint:#fff1e6;--radius-xs:6px;--radius-sm:8px;--radius:10px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(15,30,60,.05);--shadow-sm:0 2px 6px rgba(15,30,60,.06);--shadow-md:0 4px 16px rgba(15,30,60,.08),0 1px 2px rgba(15,30,60,.04);--shadow-lg:0 12px 32px rgba(15,30,60,.1),0 2px 6px rgba(15,30,60,.05);--ring-focus:0 0 0 3px rgba(22,104,227,.22);--font-sans:var(--font-display),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono-stack:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,monospace;--dur-fast:120ms;--dur-base:200ms;--ease-standard:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--lift-hover:-1px;--text-2xs:9px;--text-xs:10px;--text-sm:11px;--text-base:12px;--text-lg:13px;--text-2xl:18px;--text-3xl:16px;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:11px;--space-6:14px;--space-7:17px;--space-8:22px;--control-h-sm:24px;--control-h-md:27px;--control-h-lg:30px;--control-h-option:25px;--dot-color:rgba(100,116,139,.2);--dot-size:1.4px;--dot-gap:22px;--pattern-dots:radial-gradient(var(--dot-color) var(--dot-size),transparent var(--dot-size));--glow-soft-violet:radial-gradient(circle,rgba(99,91,255,.1) 0%,rgba(99,91,255,0) 70%);--glow-soft-blue:radial-gradient(circle,rgba(43,127,245,.1) 0%,rgba(43,127,245,0) 70%)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--color-bg);background-image:var(--pattern-dots);background-size:var(--dot-gap) var(--dot-gap);color:var(--color-text-body);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select,textarea{font-family:inherit}:focus-visible{outline:none;box-shadow:var(--ring-focus);border-radius:var(--radius-xs)}.app-shell{min-height:100vh;display:flex}:root{--nav-width:146px;--nav-width-collapsed:56px}.app-nav{position:fixed;top:0;left:0;width:var(--nav-width);height:100vh;overflow:hidden;flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border);padding:24px 14px;display:flex;flex-direction:column;gap:2px;z-index:50;transition:transform var(--dur-base) var(--ease-standard),width var(--dur-base) var(--ease-standard)}.app-nav.collapsed{width:var(--nav-width-collapsed);padding:24px 8px}.app-nav-fold-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-xs);flex-shrink:0}.app-nav-fold-btn:hover{background:var(--color-neutral-bg);color:var(--color-text)}@media (max-width:1023px){.app-nav-fold-btn{display:none}}.app-nav.collapsed .app-nav-badge,.app-nav.collapsed .app-nav-brand-suffix,.app-nav.collapsed .app-nav-footer-text,.app-nav.collapsed .app-nav-label{display:none}.app-nav.collapsed .app-nav-brand,.app-nav.collapsed .app-nav-link{justify-content:center}.app-nav.collapsed .app-nav-footer form{display:flex;justify-content:center}.app-nav.collapsed .app-nav-footer .btn{width:auto;padding:8px}.app-nav-brand{display:flex;align-items:center;gap:6px;padding:0 10px 22px}.app-nav-close{display:none;margin-left:auto;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-xs)}.app-nav-close:hover{background:var(--color-neutral-bg);color:var(--color-text)}.app-mobile-topbar{display:none}.app-mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm)}.app-mobile-menu-btn:hover{background:var(--color-neutral-bg)}.app-nav-backdrop{display:none}@media (max-width:1023px){.app-mobile-topbar{display:flex;align-items:center;gap:10px;position:fixed;top:0;left:0;right:0;height:56px;padding:0 14px;background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:40}.app-nav{transform:translateX(-100%);box-shadow:var(--shadow-lg)}.app-nav.open{transform:translateX(0)}.app-nav-close{display:flex}.app-nav-backdrop{display:block;position:fixed;inset:0;background:rgba(13,21,38,.4);z-index:45}}.app-nav-brand-logo{border-radius:var(--radius-xs,4px);flex-shrink:0}.app-nav-brand-suffix{font-family:var(--font-sans);font-weight:700;font-size:var(--text-xs);letter-spacing:-.01em;color:var(--color-text-caption)}.app-nav-link{display:flex;align-items:center;gap:10px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);text-decoration:none;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.app-nav-link svg{flex-shrink:0;opacity:.8}.app-nav-link:hover{background:var(--color-neutral-bg);color:var(--color-text)}.app-nav-link.active{background:var(--color-primary-tint);color:var(--color-primary);font-weight:600}.app-nav-link.active svg{opacity:1}.app-nav-link.disabled{color:var(--color-border-strong);cursor:default;pointer-events:none}.app-nav-badge{margin-left:auto;flex-shrink:0;font-family:var(--font-mono-stack);font-size:var(--text-2xs);font-weight:700;line-height:1;color:var(--color-primary-contrast);border-radius:var(--radius-pill);padding:3px 6px;min-width:8px;text-align:center}.app-nav-badge,.app-nav-link.active .app-nav-badge{background:var(--color-primary)}.app-nav-footer{margin-top:auto;padding:12px 10px 0;font-size:var(--text-sm);color:var(--color-text-muted);border-top:1px solid var(--color-border)}.app-nav-footer>div:first-child{font-weight:600;color:var(--color-text)}.app-main{flex:1 1;margin-left:var(--nav-width);transition:margin-left var(--dur-base) var(--ease-standard);padding:20px 24px;max-width:1000px;min-width:0;width:100%}.app-main-wide{max-width:1400px}@media (min-width:1440px){.app-main{max-width:1200px;padding:24px 28px}.app-main-wide{max-width:1760px}}@media (min-width:1920px){.app-main{max-width:1360px;padding:28px 32px}.app-main-wide{max-width:2240px}}@media (max-width:1023px){.app-main{margin-left:0;padding:64px 16px 18px}}@media (max-width:640px){.app-main{padding:60px 12px 14px}}.table-scroll{overflow-x:auto}.page-title{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.015em;color:var(--color-text);margin:0 0 20px}.page-subtitle{color:var(--color-text-muted);font-size:var(--text-base);margin:0 0 28px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:7px 9px}.card+.card{margin-top:6px}.card-title{font-family:var(--font-mono-stack);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-caption);margin:0 0 5px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));grid-gap:5px;gap:5px}.stat-tile{display:flex;flex-direction:column;gap:2px}.stat-tile-value{font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--color-text)}.stat-tile-label{font-size:var(--text-sm);color:var(--color-text-muted)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 4px;border-radius:var(--radius-pill);font-family:var(--font-mono-stack);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-neutral{background:var(--color-neutral-bg);color:var(--color-text-muted)}.btn{font-family:inherit;font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-sm);min-height:var(--control-h-md);padding:0 var(--space-5);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn:active:not(:disabled){transform:scale(.97)}.btn svg{flex-shrink:0}.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.btn-large{font-size:var(--text-base);min-height:var(--control-h-lg);padding:0 var(--space-7)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-neutral-bg);border-color:var(--color-border-strong)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#a52c22}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted)}.field input,.field textarea{font-family:inherit;font-size:var(--text-base);padding:10px 13px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.field input:hover,.field textarea:hover{border-color:var(--color-border-strong)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--ring-focus)}.error-text{color:var(--color-danger);font-size:var(--text-sm);margin:0 0 16px}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);background-image:var(--pattern-dots);background-size:var(--dot-gap) var(--dot-gap);position:relative;overflow:hidden}.login-shell:after,.login-shell:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;pointer-events:none;z-index:0}.login-shell:before{left:-160px;top:-160px;background:var(--glow-soft-violet)}.login-shell:after{right:-160px;bottom:-160px;background:var(--glow-soft-blue)}.login-card{position:relative;z-index:1;width:100%;max-width:360px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:36px 32px}.login-title{text-align:center;font-size:13px;font-weight:700;letter-spacing:-.01em;color:var(--color-text-caption);margin:0 0 28px}.spinner{width:15px;height:15px;border-radius:50%;border:2px solid hsla(0,0%,100%,.4);border-top-color:#fff;animation:spin .7s linear infinite}.spinner-dark{border:2px solid rgba(22,104,227,.2);border-top:2px solid var(--color-primary)}@keyframes spin{to{transform:rotate(1turn)}}.overlay{position:fixed;inset:0;background:rgba(13,21,38,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.dialog{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:18px;width:100%;max-width:420px;max-height:calc(100vh - 32px);overflow-y:auto}.dialog-title{font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em;color:var(--color-text);margin:0 0 8px}.dialog-body{font-size:14px;color:var(--color-text-muted);line-height:1.5;margin:0 0 20px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.result-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 24px;gap:10px 24px;font-size:14px}.result-list dt{color:var(--color-text-muted)}.expense-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));grid-gap:var(--space-2);gap:var(--space-2);margin-bottom:16px}.expense-preset-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.expense-preset-tile:hover{border-color:var(--color-primary);background:var(--color-primary-tint)}.result-list dd{margin:0;text-align:right;font-weight:600;color:var(--color-text)}.muted{color:var(--color-text-muted)}.data-table,.muted{font-size:var(--text-sm)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-family:var(--font-mono-stack);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-caption);padding:6px 10px}.data-table td,.data-table th{border-bottom:1px solid var(--color-border)}.data-table td{padding:7px 10px;vertical-align:top;color:var(--color-text-body)}.data-table tr:last-child td{border-bottom:none}.sheet-table td{padding:0}.sheet-cell-input{width:100%;min-width:90px;border:none;background:transparent;font:inherit;font-size:13px;color:var(--color-text);padding:8px 10px}.sheet-cell-input:hover{background:var(--color-neutral-bg)}.sheet-cell-input:focus{outline:2px solid var(--color-primary);outline-offset:-2px;background:var(--color-surface);position:relative}.leads-grid-input-dirty{box-shadow:inset 3px 0 0 var(--color-warning)}.sheet-row-gutter{display:flex;align-items:center;gap:4px;padding:0 8px!important;color:var(--color-text-caption);font-size:11px;white-space:nowrap}.sheet-row-handle{display:inline-flex;cursor:-webkit-grab;cursor:grab;color:var(--color-text-caption)}.sheet-row-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.sheet-row-num{min-width:14px;text-align:right}.sheet-row-delete{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:auto;border:none;background:transparent;color:var(--color-text-caption);cursor:pointer;border-radius:var(--radius-xs)}.sheet-row-delete:hover{background:var(--color-danger-tint,rgba(220,38,38,.1));color:var(--color-danger)}.leads-grid-scroll{overflow:auto;max-height:68vh;border:1px solid var(--color-border);border-radius:var(--radius-md)}.leads-grid-table{table-layout:fixed;border-collapse:separate;border-spacing:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.leads-grid-table input,.leads-grid-table select,.leads-grid-table textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}.leads-grid-table td,.leads-grid-table th{height:30px;padding:0 6px;font-size:var(--text-sm);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);vertical-align:middle;white-space:nowrap}.leads-grid-table th{position:relative}.leads-grid-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:3}.leads-grid-table .sheet-cell-input{font-size:var(--text-sm);padding:6px 8px}.leads-grid-col-resize-handle{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:5;touch-action:none}.leads-grid-col-resize-handle.active,.leads-grid-col-resize-handle:hover{background:var(--color-primary);opacity:.5}.leads-grid-columns-menu{display:flex;flex-direction:column;padding:6px;min-width:170px}.leads-grid-columns-menu label{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:var(--text-sm);border-radius:var(--radius-xs);cursor:pointer}.leads-grid-columns-menu label:hover{background:var(--color-neutral-bg)}.leads-grid-table .sticky-col{position:-webkit-sticky;position:sticky;z-index:1;background:var(--row-tint,var(--color-surface))}.leads-grid-table th.sticky-col{z-index:4}.leads-grid-table .sticky-col-checkbox{left:0;width:36px}.leads-grid-table .sticky-col-name{left:36px;box-shadow:1px 0 0 var(--color-border)}.leads-grid-row td{background:var(--row-tint,transparent)}.leads-grid-row:hover td{background:var(--color-neutral-bg)}.leads-grid-row.selected td{background:var(--color-primary-tint)}.leads-grid-row:hover .sticky-col{background:var(--color-neutral-bg)}.leads-grid-row.fill-target td,.leads-grid-row.selected .sticky-col{background:var(--color-primary-tint)}.leads-grid-row.hot .sticky-col-checkbox{box-shadow:inset 3px 0 0 var(--color-fire)}.leads-grid-table .leads-grid-comments-row td{height:auto;padding:10px;white-space:normal;border-right:none;vertical-align:top;-webkit-user-select:text;-moz-user-select:text;user-select:text;background:var(--color-neutral-bg);cursor:default}.icon-btn.active{background:var(--color-primary-tint);border-color:var(--color-primary);color:var(--color-primary)}.leads-grid-name-btn{border:none;background:transparent;padding:0;font:inherit;font-weight:600;color:var(--color-text);cursor:pointer;text-align:left;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leads-grid-name-btn:hover{color:var(--color-primary);text-decoration:underline}.leads-grid-linked-icon{color:var(--color-text-caption);margin-left:5px;vertical-align:-1px}.leads-grid-editable-cell{position:relative}.leads-grid-notes-cell{white-space:normal;vertical-align:top;padding-top:4px;padding-bottom:4px;-webkit-user-select:text;-moz-user-select:text;user-select:text}.leads-grid-notes-cell-inner{max-height:76px;overflow-y:auto}.leads-grid-cell-truncate{overflow:hidden;text-overflow:ellipsis}.leads-grid-editable-cell:focus-within{outline:2px solid var(--color-primary);outline-offset:-2px}.leads-grid-fill-handle{position:absolute;right:2px;bottom:4px;width:8px;height:8px;background:var(--color-primary);border:1px solid var(--color-surface);border-radius:2px;cursor:ns-resize;z-index:2}.leads-grid-selection-bar{display:flex;align-items:center;gap:10px;padding:6px 12px;margin-bottom:8px;background:var(--color-primary-tint);border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-size:12.5px;font-weight:600;color:var(--color-text)}.schools-grid-scroll{overflow:auto;max-height:68vh;border:1px solid var(--color-border);border-radius:var(--radius-md)}.schools-grid-table{table-layout:fixed;border-collapse:separate;border-spacing:0}.schools-grid-table td,.schools-grid-table th{height:30px;padding:0 6px;font-size:var(--text-sm);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);vertical-align:middle;white-space:nowrap}.schools-grid-table th{position:relative}.schools-grid-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:3}.schools-grid-col-resize-handle{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:5;touch-action:none}.schools-grid-col-resize-handle.active,.schools-grid-col-resize-handle:hover{background:var(--color-primary);opacity:.5}.schools-grid-columns-menu{display:flex;flex-direction:column;padding:6px;min-width:170px}.schools-grid-columns-menu label{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:var(--text-sm);border-radius:var(--radius-xs);cursor:pointer}.schools-grid-columns-menu label:hover{background:var(--color-neutral-bg)}.schools-grid-table .sticky-col{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:var(--row-tint,var(--color-surface))}.schools-grid-table th.sticky-col{z-index:4}.schools-grid-table .sticky-col-name{box-shadow:1px 0 0 var(--color-border)}.schools-grid-row td{background:var(--row-tint,transparent)}.schools-grid-row:hover .sticky-col,.schools-grid-row:hover td{background:var(--color-neutral-bg)}.schools-grid-row.fill-target td{background:var(--color-primary-tint)}.schools-grid-table .schools-grid-comments-row td{height:auto;padding:10px;white-space:normal;border-right:none;vertical-align:top;-webkit-user-select:text;-moz-user-select:text;user-select:text;background:var(--color-neutral-bg);cursor:default}.schools-grid-name-btn{border:none;background:transparent;padding:0;font:inherit;font-weight:600;color:var(--color-text);cursor:pointer;text-align:left;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schools-grid-name-btn:hover{color:var(--color-primary);text-decoration:underline}.schools-grid-editable-cell{position:relative}.schools-grid-editable-cell:focus-within{outline:2px solid var(--color-primary);outline-offset:-2px}.schools-grid-fill-handle{position:absolute;right:2px;bottom:4px;width:8px;height:8px;background:var(--color-primary);border:1px solid var(--color-surface);border-radius:2px;cursor:ns-resize;z-index:2}.schools-grid-cell-truncate{overflow:hidden;text-overflow:ellipsis}.lead-pipeline-list{display:flex;flex-direction:column;gap:4px}.lead-pipeline-row{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:3px 6px;cursor:pointer;text-align:left;font:inherit}.lead-pipeline-row:hover{background:var(--color-neutral-bg)}.lead-pipeline-row.active{background:var(--color-primary-tint);border-color:var(--color-primary)}.lead-pipeline-row-label{width:88px;flex-shrink:0;font-size:12.5px;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-pipeline-row-track{flex:1 1;height:14px;background:var(--color-neutral-bg);border-radius:var(--radius-xs);overflow:hidden}.lead-pipeline-row-fill{display:block;height:100%;border-radius:var(--radius-xs);transition:width .2s ease}.lead-pipeline-row-fill-success{background:var(--color-success)}.lead-pipeline-row-fill-warning{background:var(--color-warning)}.lead-pipeline-row-fill-danger{background:var(--color-danger)}.lead-pipeline-row-fill-neutral{background:var(--color-text-caption)}.lead-pipeline-row-count{width:28px;flex-shrink:0;text-align:right;font-size:12.5px;font-weight:700;color:var(--color-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lead-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:6px;gap:6px}.lead-team-tile{display:flex;flex-direction:column;gap:2px;background:var(--color-neutral-bg);border:1px solid transparent;border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer;text-align:left;font:inherit}.lead-team-tile:hover{border-color:var(--color-border-strong)}.lead-team-tile.active{background:var(--color-primary-tint);border-color:var(--color-primary)}.lead-team-tile-unassigned{background:var(--color-warning-bg)}.lead-team-tile-unassigned .lead-team-tile-name{color:var(--color-warning)}.lead-team-tile-unassigned.active{background:var(--color-warning-bg);border-color:var(--color-warning)}.lead-team-tile-name{font-size:12.5px;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-team-tile-counts{font-size:11.5px;color:var(--color-text-muted)}.tasks-grid-scroll{overflow:auto;max-height:68vh;border:1px solid var(--color-border);border-radius:var(--radius-md)}.tasks-grid-table{table-layout:fixed;border-collapse:separate;border-spacing:0}.tasks-grid-table td,.tasks-grid-table th{height:30px;padding:0 6px;font-size:var(--text-sm);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);vertical-align:middle;white-space:nowrap}.tasks-grid-table th{position:relative}.tasks-grid-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:3}.tasks-grid-col-resize-handle{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:5;touch-action:none}.tasks-grid-col-resize-handle.active,.tasks-grid-col-resize-handle:hover{background:var(--color-primary);opacity:.5}.tasks-grid-columns-menu{display:flex;flex-direction:column;padding:6px;min-width:170px}.tasks-grid-columns-menu label{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:var(--text-sm);border-radius:var(--radius-xs);cursor:pointer}.tasks-grid-columns-menu label:hover{background:var(--color-neutral-bg)}.tasks-grid-table .sticky-col{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:var(--row-tint,var(--color-surface))}.tasks-grid-table th.sticky-col{z-index:4}.tasks-grid-table .sticky-col-name{box-shadow:1px 0 0 var(--color-border)}.tasks-grid-row td{background:var(--row-tint,transparent)}.tasks-grid-row:hover .sticky-col,.tasks-grid-row:hover td{background:var(--color-neutral-bg)}.tasks-grid-row.fill-target td{background:var(--color-primary-tint)}.tasks-grid-table .tasks-grid-comments-row td{height:auto;padding:10px;white-space:normal;border-right:none;vertical-align:top;background:var(--color-neutral-bg);cursor:default}.tasks-grid-name-btn{border:none;background:transparent;padding:0;font:inherit;font-weight:600;color:var(--color-text);cursor:pointer;text-align:left;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tasks-grid-name-btn:hover{color:var(--color-primary);text-decoration:underline}.tasks-grid-name-btn.completed{text-decoration:line-through;color:var(--color-text-muted)}.tasks-grid-editable-cell{position:relative}.tasks-grid-editable-cell:focus-within{outline:2px solid var(--color-primary);outline-offset:-2px}.tasks-grid-fill-handle{position:absolute;right:2px;bottom:4px;width:8px;height:8px;background:var(--color-primary);border:1px solid var(--color-surface);border-radius:2px;cursor:ns-resize;z-index:2}.tasks-grid-cell-truncate{overflow:hidden;text-overflow:ellipsis}select{font-family:inherit;font-size:var(--text-base);min-height:var(--control-h-md);padding:0 32px 0 13px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2364748b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}select:hover{border-color:var(--color-border-strong)}select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--ring-focus)}select:disabled{opacity:.6;cursor:not-allowed}.dropdown,.dropdown-trigger{position:relative;display:inline-flex}.dropdown-trigger{font-family:inherit;font-size:var(--text-base);min-height:var(--control-h-md);padding:0 32px 0 13px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;align-items:center;gap:6px;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.dropdown-trigger.size-sm{font-size:var(--text-sm);min-height:var(--control-h-sm);padding:0 28px 0 10px}.dropdown-trigger:hover:not(:disabled){border-color:var(--color-border-strong)}.dropdown-trigger:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--ring-focus)}.dropdown-trigger:disabled{opacity:.6;cursor:not-allowed}.dropdown-chevron{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;flex-shrink:0}.dropdown-popover{position:fixed;z-index:120;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px;max-height:280px;overflow-y:auto}.dropdown-option{display:flex;align-items:center;gap:8px;min-height:var(--control-h-option);padding:0 10px;border-radius:var(--radius-xs);font-size:var(--text-sm);color:var(--color-text);cursor:pointer;white-space:nowrap}.dropdown-option.active,.dropdown-option:hover{background:var(--color-neutral-bg)}.dropdown-option.selected{color:var(--color-primary);font-weight:600}.dropdown-option[aria-disabled=true]{opacity:.5;cursor:not-allowed}.searchable-select{position:relative}.searchable-select input{width:100%}.searchable-select-list{position:absolute;z-index:5;top:calc(100% + 4px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px;max-height:220px;overflow-y:auto}.searchable-select-empty{padding:8px 10px;font-size:var(--text-sm);color:var(--color-text-muted)}.searchable-select-option{display:flex;align-items:center;min-height:var(--control-h-option);padding:0 10px;border-radius:var(--radius-xs);font-size:var(--text-sm);color:var(--color-text);cursor:pointer}.searchable-select-option.active,.searchable-select-option:hover{background:var(--color-neutral-bg)}.searchable-select-option.selected{color:var(--color-primary);font-weight:600}.admin-note{background:var(--color-neutral-bg);border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;color:var(--color-text-muted);margin-top:20px}.app-nav-divider{height:1px;background:var(--color-border);margin:10px}.skeleton{background:linear-gradient(90deg,var(--color-neutral-bg) 25%,#e2e8f2 37%,var(--color-neutral-bg) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite;border-radius:var(--radius-xs)}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-line{height:14px;margin-bottom:10px}.skeleton-line:last-child{margin-bottom:0;width:60%}.empty-state{text-align:center;padding:32px 16px;color:var(--color-text-muted);font-size:14px}.schools-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.schools-title-row .page-title{margin:0}.schools-filter-panel{display:flex;flex-direction:column;gap:5px;margin:8px 0 10px}.schools-filter-panel .filter-bar{margin-bottom:0;gap:6px}.schools-filter-panel .chip{padding:4px 10px;font-size:var(--text-xs)}.schools-filter-panel .search-input{padding:7px 12px;font-size:var(--text-sm);min-width:200px}.schools-filter-panel select{padding:7px 26px 7px 11px;font-size:13px;background-size:12px;background-position:right 9px center}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.chip,.filter-bar{align-items:center}.chip{font-size:var(--text-sm);font-weight:600;min-height:var(--control-h-sm);padding:0 var(--space-4);border-radius:var(--radius-pill);display:inline-flex;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.chip:hover{background:var(--color-neutral-bg);color:var(--color-text)}.chip.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.chip.chip-hot.active{background:var(--color-fire);border-color:var(--color-fire-dark);color:var(--color-fire-contrast)}@media (max-width:640px){.chip,.schools-filter-panel .chip{padding:10px 16px}}.filter-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;margin-bottom:16px;background:var(--color-neutral-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.filter-toolbar select{font-size:var(--text-sm);min-height:var(--control-h-sm);padding:0 26px 0 10px;background-size:11px;background-position:right 8px center}.filter-toolbar input[type=search]{font-size:var(--text-sm);padding:7px 12px}.filter-toolbar-check{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--color-text-muted)}.search-input{font-family:inherit;font-size:var(--text-base);padding:9px 13px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);min-width:220px;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.search-input:hover{border-color:var(--color-border-strong)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--ring-focus)}.item-row{position:relative;display:block;padding:6px 7px;margin:0 -7px;border-radius:var(--radius-sm);border-bottom:1px solid var(--color-border);text-decoration:none;color:inherit;transition:background var(--dur-fast) var(--ease-standard)}.item-row-clickable:hover,a.item-row:hover{background:var(--color-neutral-bg)}.item-row:last-child{border-bottom:none}.item-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-weight:600;font-size:13.5px;color:var(--color-text)}.item-row-meta{margin-top:2px;font-size:12px;color:var(--color-text-muted);display:flex;flex-wrap:wrap;gap:3px 8px}.team-tree-node{padding:4px 0}.team-tree-children{margin-left:26px;border-left:2px solid var(--color-border);padding-left:16px;margin-top:4px}.timeline,.timeline-entry{position:relative}.timeline-entry{padding:0 0 18px 22px;border-left:2px solid var(--color-border);margin-left:4px}.timeline-entry:last-child{border-left-color:transparent;padding-bottom:0}.timeline-entry:before{content:"";position:absolute;left:-5px;top:3px;width:8px;height:8px;border-radius:50%;background:var(--color-primary)}.timeline-time{font-size:12px;color:var(--color-text-caption)}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.week-day{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 4px;text-align:center;cursor:pointer;background:var(--color-surface);transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.week-day:hover{background:var(--color-neutral-bg)}.week-day.active{border-color:var(--color-primary);background:var(--color-primary-tint)}.week-day.today{font-weight:700}.week-day-label{font-family:var(--font-mono-stack);font-size:10.5px;color:var(--color-text-caption);text-transform:uppercase;letter-spacing:.06em}.week-day-count{font-size:15px;font-weight:700;color:var(--color-text);margin-top:2px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:20px;gap:20px;align-items:start}.alert-line{gap:8px;padding:6px 0;font-size:14px;color:var(--color-text-body)}.alert-line,.quick-task-row{display:flex;align-items:center}.quick-task-row{gap:4px;flex-shrink:0;position:relative}.icon-btn{width:var(--control-h-sm);height:var(--control-h-sm);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;flex-shrink:0;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.icon-btn:hover{background:var(--color-neutral-bg);border-color:var(--color-border-strong);color:var(--color-text)}.icon-btn.compact{width:28px;height:28px}.icon-btn.mini{width:16px;height:16px;border:none;background:transparent;flex-shrink:0}.icon-btn.mini:hover{background:var(--color-neutral-bg);color:var(--color-text)}.icon-btn svg{flex-shrink:0}.lead-hot-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-caption);opacity:.55;cursor:pointer;transition:opacity var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.lead-hot-btn:hover:not(:disabled){opacity:1;color:var(--color-fire);border-color:var(--color-fire);background:var(--color-fire-tint)}.lead-hot-btn:disabled{cursor:default;opacity:.3}.lead-hot-btn.active{opacity:1;background:var(--color-fire)}.lead-hot-btn.active,.lead-hot-btn.active:hover:not(:disabled){color:var(--color-fire-contrast);border-color:var(--color-fire-dark)}.lead-hot-btn.active:hover:not(:disabled){background:var(--color-fire-dark)}.lead-hot-btn.compact{width:28px;height:28px;border:none;background:transparent}.lead-hot-btn.compact.active{background:var(--color-fire)}.lead-hot-btn.mini{width:16px;height:16px;border:none;background:transparent;border-radius:4px}.lead-hot-btn.mini.active{background:var(--color-fire)}.more-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:30;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:6px;min-width:170px}.more-menu-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:8px 10px;border-radius:var(--radius-xs);border:none;background:transparent;font-family:inherit;font-size:13.5px;color:var(--color-text);cursor:pointer}.more-menu-item:hover{background:var(--color-neutral-bg)}.more-menu-item svg{flex-shrink:0;color:var(--color-text-muted)}.dialog-compact{max-width:340px}.bulk-bar{position:-webkit-sticky;position:sticky;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--color-inverse);color:var(--color-inverse-contrast);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:12px 16px;margin-top:16px}.select-checkbox{width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:var(--color-primary)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));grid-gap:7px;gap:7px}.entity-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px 8px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.entity-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(var(--lift-hover))}.entity-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.entity-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.entity-card-title{font-weight:600;font-size:13.5px;color:var(--color-text);line-height:1.25}.entity-card-subtitle{font-size:11.5px;color:var(--color-text-muted);margin-top:0}.entity-card-badges{display:flex;gap:4px;flex-wrap:wrap;flex-shrink:0}.entity-card-meta{font-size:12.5px;line-height:1.25;color:var(--color-text-muted);display:flex;flex-wrap:wrap;gap:1px 8px}.entity-card-task-line{display:flex;align-items:center;gap:6px;font-size:12px;padding:4px 7px;background:var(--color-neutral-bg);border-radius:var(--radius-xs);color:var(--color-text-body)}.entity-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:1px}.school-card-section{display:flex;align-items:flex-start;gap:6px;color:var(--color-text-muted)}.school-card-section-payment{align-items:center;flex-wrap:wrap;font-size:12px}.school-card-section-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-card-task-row{display:flex;align-items:center;gap:6px;padding:2px 3px}.school-card-task-icon{flex-shrink:0;color:var(--color-text-muted)}.school-card-task-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--color-text-body)}.school-card-task-date{flex-shrink:0;font-size:11px;color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.school-card-task-more{align-self:flex-start;background:none;border:none;padding:1px 3px;font-family:inherit;font-size:11.5px;font-weight:600;color:var(--color-text-muted);cursor:pointer}.school-card-task-more:hover{color:var(--color-primary);text-decoration:underline}.panel-overlay{position:fixed;inset:0;background:rgba(13,21,38,.25);z-index:60;display:flex;justify-content:flex-end}.side-panel{width:420px;max-width:100%;height:100%;background:var(--color-surface);box-shadow:var(--shadow-lg);overflow-y:auto;display:flex;flex-direction:column;animation:panel-slide-in var(--dur-base) var(--ease-out)}@keyframes panel-slide-in{0%{transform:translateX(24px);opacity:0}to{transform:translateX(0);opacity:1}}@media (max-width:640px){.side-panel{width:100%}}.side-panel-header{padding:18px 20px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:flex-start;gap:12px;position:-webkit-sticky;position:sticky;top:0;background:var(--color-surface);z-index:1}.side-panel-body{padding:18px 20px;display:flex;flex-direction:column;gap:22px}.side-panel-section-title{font-family:var(--font-mono-stack);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-caption);margin:0 0 10px}.side-panel-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;flex-shrink:0}.side-panel-close:hover{background:var(--color-neutral-bg);color:var(--color-text)}.side-panel-delete:hover{background:color-mix(in srgb,var(--color-danger) 12%,transparent);border-color:var(--color-danger);color:var(--color-danger)}.side-panel-with-chat{overflow:hidden}.side-panel-with-chat>.side-panel-body{flex:0 1 auto;overflow-y:auto;max-height:40vh}.side-panel-with-chat:has(.chat-panel-collapsed)>.side-panel-body{flex:1 1 auto;max-height:none}.side-panel-quick-actions{flex-shrink:0;padding:12px 20px;border-top:1px solid var(--color-border)}.chat-panel{display:flex;flex-direction:column;min-height:0}.side-panel-with-chat>.chat-panel{flex:1 1 auto;border-top:1px solid var(--color-border)}.chat-panel-header{display:flex;justify-content:space-between;gap:8px;margin:0;padding:12px 20px;font-family:var(--font-mono-stack);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-caption)}.chat-panel-header,.chat-panel-toggle{flex-shrink:0;align-items:center;background:var(--color-surface)}.chat-panel-toggle{display:inline-flex;justify-content:center;width:26px;height:26px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer}.chat-panel-toggle:hover{background:var(--color-neutral-bg);color:var(--color-text)}.chat-panel-fill.chat-panel-collapsed{flex:0 0 auto;margin-top:auto}.chat-panel-collapsed .chat-composer,.chat-panel-collapsed .chat-messages{display:none}.chat-resize-handle{flex-shrink:0;height:6px;margin:-3px 0;position:relative;z-index:1;cursor:row-resize;touch-action:none}.chat-resize-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:3px;border-radius:var(--radius-xs);background:var(--color-border)}.chat-resize-handle:active:after,.chat-resize-handle:hover:after{background:var(--color-text-muted)}.side-panel-with-chat:has(.chat-panel-collapsed) .chat-resize-handle{display:none}.chat-messages{flex:1 1 auto;min-height:0;overflow-y:auto;padding:8px 16px;display:flex;flex-direction:column;gap:12px;background:var(--color-neutral-bg)}.chat-panel:not(.chat-panel-fill) .chat-messages{max-height:280px;border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md)}.chat-panel:not(.chat-panel-fill) .chat-panel-header{border:1px solid var(--color-border);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;padding:8px 14px}.chat-empty{margin:auto;color:var(--color-text-caption);font-size:12.5px;text-align:center}.chat-bubble-row{display:flex;flex-direction:column;max-width:82%}.chat-bubble-row.own{align-self:flex-end;align-items:flex-end}.chat-bubble-row.other{align-self:flex-start;align-items:flex-start}.chat-bubble-meta{font-size:11px;font-weight:600;color:var(--color-text-caption);margin:0 4px 3px}.chat-bubble{padding:8px 13px;border-radius:15px;font-size:13.5px;line-height:1.42;white-space:pre-wrap;word-break:break-word;box-shadow:var(--shadow-xs,0 1px 2px rgba(15,23,42,.06))}.chat-bubble-row.own .chat-bubble{background:var(--color-primary);color:var(--color-primary-contrast);border-bottom-right-radius:4px}.chat-bubble-row.other .chat-bubble{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-bottom-left-radius:4px}.chat-bubble-mentions{font-size:11px;font-weight:600;color:var(--color-primary);margin:3px 4px 0}.chat-bubble-time{font-size:10.5px;color:var(--color-text-caption);margin:2px 4px 0}.chat-composer{flex-shrink:0;position:relative;display:flex;align-items:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--color-border);background:var(--color-surface)}.chat-panel:not(.chat-panel-fill) .chat-composer{border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md)}.chat-composer textarea{flex:1 1 auto;resize:none;min-height:40px;max-height:120px;overflow-y:auto;padding:10px 16px;font-size:13.5px;line-height:1.35;border-radius:20px;font-family:inherit}.chat-icon-btn{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted)}.chat-icon-btn:hover{background:var(--color-neutral-bg);color:var(--color-text)}.chat-icon-btn.chat-send{border:none;background:var(--color-primary);color:var(--color-primary-contrast)}.chat-icon-btn.chat-send:hover{background:var(--color-primary-hover)}.chat-icon-btn:disabled{opacity:.4;cursor:default;background:var(--color-border);color:var(--color-text-caption);border-color:var(--color-border)}.chat-icon-btn.chat-tag-active{background:var(--color-primary-tint);color:var(--color-primary);border-color:var(--color-primary)}.lead-note-composer{display:flex;align-items:center;gap:6px}.lead-note-input{flex:1 1 auto;min-width:0;font-family:inherit;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.lead-note-input:hover{border-color:var(--color-border-strong)}.lead-note-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--ring-focus)}.lead-note-send{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:none;background:var(--color-primary);color:var(--color-primary-contrast)}.lead-note-send:hover{background:var(--color-primary-hover)}.lead-note-send:disabled{opacity:.4;cursor:default;background:var(--color-border);color:var(--color-text-caption)}.card-comment-popover{position:absolute;top:calc(100% + 4px);right:0;z-index:32;width:300px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-md);border-radius:var(--radius-md)}.chat-tag-picker{position:absolute;top:auto;bottom:calc(100% + 6px);left:14px;right:14px;max-height:200px;overflow-y:auto;z-index:5}.pipeline-board{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.pipeline-column{flex:0 0 220px;display:flex;flex-direction:column;gap:6px}.pipeline-board-full{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:visible}.pipeline-board-full .pipeline-column{flex:initial;min-width:0}@media (max-width:960px){.pipeline-board-full{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.pipeline-column-header{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.pipeline-column-title{font-size:12.5px;font-weight:600;color:var(--color-text)}.pipeline-column-count{font-size:11.5px;color:var(--color-text-caption);background:var(--color-neutral-bg);border-radius:var(--radius-pill);padding:1px 8px}.pipeline-column-body{display:flex;flex-direction:column;gap:6px;min-height:40px}.pipeline-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 8px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.pipeline-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}.pipeline-card-title{font-size:12.5px;font-weight:600;color:var(--color-text);line-height:1.3}.pipeline-card-meta{font-size:11.5px;color:var(--color-text-muted)}.kanban-column-body.drag-over,.pipeline-column-body.drag-over{background:var(--color-neutral-bg);outline:2px dashed var(--color-border-strong);outline-offset:-2px;border-radius:var(--radius-sm)}.kanban-card[draggable=true],.pipeline-card[draggable=true]{cursor:-webkit-grab;cursor:grab}.kanban-board{display:flex;gap:14px;overflow-x:auto;padding-bottom:4px;align-items:flex-start}.kanban-column{flex:1 1;min-width:260px;display:flex;flex-direction:column;gap:8px;background:var(--color-neutral-bg);border-radius:var(--radius-md);padding:10px}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.kanban-column-title{font-size:13px;font-weight:700;color:var(--color-text)}.kanban-column-count{font-size:11.5px;color:var(--color-text-caption);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:1px 8px}.kanban-column-body{gap:8px;min-height:60px}.kanban-card,.kanban-column-body{display:flex;flex-direction:column}.kanban-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:5px 7px;gap:3px;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.kanban-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}.kanban-card-hot{border-color:var(--color-fire);background-color:var(--color-fire-tint);background-image:radial-gradient(circle at 10% 115%,rgba(249,115,22,.32),transparent 55%),radial-gradient(circle at 90% 125%,rgba(234,88,12,.22),transparent 50%)}.kanban-card-hot:hover{border-color:var(--color-fire-dark);box-shadow:0 0 0 1px rgba(249,115,22,.25),var(--shadow-xs)}.kanban-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.kanban-card-title{font-size:12.5px;font-weight:600;color:var(--color-text);line-height:1.3}.kanban-card-meta{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--color-text-muted);flex-wrap:wrap;row-gap:2px}.kanban-card-actions{display:flex;align-items:center;gap:6px;margin-top:4px}.task-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:5px 7px;display:flex;flex-direction:column;gap:3px;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.task-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}.task-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.task-card.compact{padding:5px 7px;gap:2px}.task-card.completed{background:var(--color-success-bg);opacity:.72}.task-card.completed:hover{opacity:1}.task-card-compact-title.completed,.task-card-title.completed{text-decoration:line-through;color:var(--color-text-muted)}.task-card[draggable=true]{cursor:-webkit-grab;cursor:grab}.task-card-compact-row{display:flex;align-items:center;gap:5px}.task-card-compact-title{flex:1 1;min-width:0;font-size:12px;font-weight:600;line-height:1.25;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-card-compact-meta{display:flex;align-items:center;gap:5px;padding-left:17px}.task-card-compact-meta-text{min-width:0;font-size:11px;line-height:1.25;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-card-top{display:flex;align-items:flex-start;gap:6px}.task-card-title{flex:1 1;min-width:0;font-weight:600;font-size:12.5px;line-height:1.3;color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word}.task-card-owner,.task-card-scope{font-size:11px;color:var(--color-text-muted);padding-left:20px}.task-card-owner{display:flex;align-items:center;gap:4px}.task-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px;flex-wrap:wrap}.task-card-due{font-size:11px;color:var(--color-text-muted)}.task-card-due.overdue{color:var(--color-danger);font-weight:600}.task-card-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.task-card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:10px;gap:10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}@media (max-width:720px){.calendar-grid{grid-template-columns:repeat(7,minmax(108px,1fr));overflow-x:auto;padding-bottom:6px}}@media (min-width:1440px){.calendar-grid,.calendar-week-grid{gap:8px}.calendar-day{min-height:76px}}@media (min-width:1920px){.calendar-grid,.calendar-week-grid{gap:10px}.calendar-day{min-height:90px}}.calendar-weekday{font-family:var(--font-mono-stack);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-caption);text-align:center;padding-bottom:4px}.calendar-day{min-height:64px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:5px;display:flex;flex-direction:column;gap:3px;cursor:pointer;background:var(--color-surface);transition:border-color var(--dur-fast) var(--ease-standard)}.calendar-day:hover{border-color:var(--color-border-strong)}.calendar-day.outside{opacity:.45}.calendar-day.today .calendar-day-number{color:var(--color-primary)}.calendar-day.selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.calendar-day-head{display:flex;align-items:center;justify-content:space-between}.calendar-day-number{font-size:var(--text-xs);font-weight:700;color:var(--color-text)}.calendar-add-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;border:none;background:var(--color-neutral-bg);color:var(--color-text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.calendar-add-btn:hover{background:var(--color-primary);color:var(--color-primary-contrast);transform:scale(1.08)}.calendar-day-more{font-size:11px;color:var(--color-text-muted)}.paychecks-cal-event{display:flex;align-items:center;gap:4px;font-size:10.5px;line-height:1.3;padding:1px 4px;border-radius:3px;border-left:3px solid var(--color-border);background:var(--color-neutral-bg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.paychecks-cal-event.status-unpaid{border-left-color:var(--color-danger)}.paychecks-cal-event.status-partial{border-left-color:var(--color-warning)}.paychecks-cal-event.status-paid{border-left-color:var(--color-success)}.paychecks-cal-event-amount{margin-left:auto;font-weight:600;flex-shrink:0}.calendar-toolbar{justify-content:space-between;flex-wrap:wrap;margin-bottom:var(--space-3)}.calendar-toolbar,.calendar-toolbar-nav{display:flex;align-items:center;gap:var(--space-3)}.calendar-toolbar-label{margin:0;font-size:var(--text-base);font-weight:600;color:var(--color-text);min-width:150px}.calendar-toolbar-controls{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.calendar-week-column{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px;display:flex;flex-direction:column;gap:6px;min-height:240px;max-height:480px;overflow-y:auto;background:var(--color-surface)}.calendar-week-column.today{border-color:var(--color-primary)}.calendar-week-column-header{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;padding-bottom:6px;margin-bottom:2px;border-bottom:1px solid var(--color-border)}.calendar-week-column-body{display:flex;flex-direction:column;gap:6px}@media (max-width:900px){.calendar-week-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width:480px){.calendar-week-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.calendar-week-column{min-height:160px;max-height:320px}}