@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Outfit:wght@500;600;700;800&display=swap";:root{--bg-color:#f6f9f9;--panel-bg:#fff;--panel-2:#f6f9f9;--panel-border:#dce8e9;--glass-border:#dce8e9;--border-soft:#e9f0f0;--text-primary:#161616;--text-secondary:#526467;--text-muted:#7b9093;--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-muted:var(--text-muted);--color-text-on-accent:#fff;--color-bg-page:var(--bg-color);--color-bg-surface:var(--panel-bg);--color-bg-raised:var(--panel-bg);--color-bg-hover:var(--surface-hover);--color-bg-active:var(--surface-active);--color-bg-sunken:var(--bg-color);--color-border-default:var(--hairline);--color-border-strong:var(--hairline-strong);--color-border-accent:var(--accent-color);--accent-color:#0099b1;--accent-hover:#007f94;--accent-rgb:0, 153, 177;--accent-gradient:linear-gradient(135deg, #0099b1 0%, #007f94 100%);--accent-soft:#0099b11a;--success-color:#1f9d6b;--success-rgb:31, 157, 107;--warning-color:#e0900d;--warning-rgb:224, 144, 13;--danger-color:#ff866f;--danger-rgb:255, 134, 111;--coral:#ff866f;--coral-strong:#e96e58;--coral-soft:#ff866f1f;--green:#1f9d6b;--amber:#e0900d;--indigo:#5b6ef0;--purple:#8b5cf6;--pink:#f5519a;--slate:#7c8a8c;--topbar:#ffffffd1;--info-color:#77c5cc;--info-rgb:119, 197, 204;--transition-bezier:cubic-bezier(.16, 1, .3, 1);--card-shadow:0 1px 2px #10282a0a, 0 8px 24px -8px #10282a14;--hover-shadow:0 4px 12px -2px #10282a0f, 0 12px 28px -6px #10282a1f;--shadow-modal:0 25px 60px -15px #10282a40;--shadow-dropdown:0 12px 36px -10px #10282a2e;--shadow-toast:0 8px 24px -4px #10282a29;--shadow-card-hover:0 4px 12px -2px #10282a0f, 0 12px 28px -6px #10282a1f;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Poppins", "Inter", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--spacing-xs:4px;--spacing-sm:6px;--spacing-md:10px;--spacing-lg:14px;--spacing-xl:20px;--spacing-2xl:28px;--hairline:#10282a12;--hairline-strong:#10282a1f;--surface-hover:#10282a08;--surface-active:#2f8f991a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--focus-ring:0 0 0 3px rgba(var(--accent-rgb), .16);--focus-ring-dark:0 0 0 3px rgba(var(--accent-rgb), .24);--chart-completed:#1f9d6b;--chart-in-progress:#2f8f99;--chart-hold:#e0900d;--chart-not-started:#7c8a8c;--chart-ready-invoice:#8b5cf6;--chart-invoiced:#06b6d4;--chart-review:#f59e0b;--chart-pending:#8b5cf6;--chart-cycle-line:#8884d8;--chart-estimated:#3b82f6;--chart-streak:#f59e0b;--chart-streak-secondary:#fb923c;--chart-absent:#7c3aed;--chart-table-header:#f8fafc}*{box-sizing:border-box;margin:0;padding:0}body:before{content:"";pointer-events:none;z-index:9999;opacity:.015;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}body{font-family:var(--font-sans);font-feature-settings:"ss01" on, "cv11" on;background:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.003em;min-height:100vh;margin:0;font-size:13px;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:100px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--hairline-strong)}.sidebar-nav-scroll{scrollbar-width:none;-ms-overflow-style:none}.sidebar-nav-scroll::-webkit-scrollbar{width:0;height:0}.panel-container{grid-template-columns:232px 1fr;height:100vh;display:grid;overflow:hidden}.main-content{flex-direction:column;gap:18px;min-width:0;padding:20px 28px 28px;display:flex;overflow-y:auto}.sticky-head-table thead th{z-index:2;background:var(--panel-bg);box-shadow:inset 0 -1px 0 var(--hairline);position:sticky;top:0}.glass-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);transition:border-color .2s var(--transition-bezier), box-shadow .2s var(--transition-bezier);padding:20px}.glass-panel:hover{border-color:var(--hairline-strong);box-shadow:var(--hover-shadow)}.wip-warning{animation:2s infinite pulse-wip-border;border-top:2px solid var(--danger-color)!important;box-shadow:0 8px 20px #fd77630f!important}@keyframes pulse-wip-border{0%,to{border-top-color:#fd776359}50%{border-top-color:#fd7763b3}}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}h1{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-primary);text-wrap:balance;font-size:22px;font-weight:650;line-height:1.2}h2{font-family:var(--font-display);letter-spacing:-.008em;color:var(--text-primary);text-wrap:balance;margin-bottom:10px;font-size:15px;font-weight:620}h3{font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);text-wrap:balance;font-size:11px;font-weight:600}p{text-wrap:pretty;max-width:72ch}input,select,textarea{background:var(--panel-bg);border:1px solid var(--hairline);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);letter-spacing:-.003em;box-shadow:none;transition:border-color .18s var(--transition-bezier), box-shadow .18s var(--transition-bezier), background .18s var(--transition-bezier);outline:none;padding:7px 11px;font-size:13px}select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c8f94' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")!important;background-position:right 10px center!important;background-repeat:no-repeat!important;background-size:13px!important;padding-right:30px!important}input:hover,select:hover,textarea:hover{border-color:var(--hairline-strong)}input:focus,select:focus,textarea:focus{border-color:var(--accent-color);box-shadow:var(--focus-ring)}.skip-link{background:var(--accent-color);color:#fff;z-index:100000;border-radius:0 0 var(--radius-md) 0;transition:top .2s var(--transition-bezier);padding:9px 16px;font-size:12px;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:0}.skip-link:focus{outline:none;top:0}button{cursor:pointer;border-radius:var(--radius-md);font-size:12.5px;font-weight:500;font-family:var(--font-sans);letter-spacing:-.003em;transition:background .16s var(--transition-bezier), border-color .16s var(--transition-bezier), color .16s var(--transition-bezier), box-shadow .16s var(--transition-bezier), transform .16s var(--transition-bezier);border:1px solid #0000;padding:7px 13px}.btn-primary{background:linear-gradient(135deg, var(--coral), var(--coral-strong));color:#fff;border-radius:var(--radius-md);box-shadow:0 4px 14px -4px rgba(var(--danger-rgb), .45);transition:transform .15s var(--transition-bezier), box-shadow .15s var(--transition-bezier), filter .15s ease;border:none;font-weight:700}.btn-primary:hover{box-shadow:0 8px 20px -4px rgba(var(--danger-rgb), .55);filter:brightness(1.03);transform:translateY(-1.5px)}.btn-primary:active{box-shadow:0 2px 8px -3px rgba(var(--danger-rgb), .4);transform:translateY(0)scale(.97)}.btn-secondary{background:var(--panel-bg);color:var(--text-primary);border:1px solid var(--panel-border);border-radius:var(--radius-md);font-weight:600;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s,color .15s;box-shadow:0 1px 2px #10282a08}.btn-secondary:hover{background:var(--panel-2);border-color:rgba(var(--accent-rgb), .4);color:var(--accent-color);box-shadow:0 2px 6px -1px #10282a0f}.btn-secondary:active{transform:scale(.97)}.btn-danger{background:rgba(var(--danger-rgb), .06);color:var(--danger-color);border:1px solid rgba(var(--danger-rgb), .25);border-radius:var(--radius-md);font-weight:600;transition:background .15s,border-color .15s,transform .1s}.btn-danger:hover{background:rgba(var(--danger-rgb), .12);border-color:var(--danger-color)}.btn-danger:active{transform:scale(.97)}.hover-lift{transition:transform .16s var(--transition-bezier), box-shadow .16s var(--transition-bezier)}.hover-lift:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.hover-surface{transition:background .16s var(--transition-bezier)}.hover-surface:hover{background:var(--surface-hover)}.menu-item{transition:color .15s var(--transition-bezier), background .15s var(--transition-bezier);position:relative}.menu-item.active{border-radius:var(--radius-md);font-weight:600;background:var(--surface-active)!important;color:var(--text-primary)!important}.menu-item.active:before{content:"";background:var(--accent-color);border-radius:0 2px 2px 0;width:2px;height:14px;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.menu-item.active svg{color:var(--accent-color)!important}.menu-item:hover:not(.active){background:var(--surface-hover)!important}.badge{border-radius:var(--radius-sm);font-size:11px;font-weight:700;font-family:var(--font-sans);letter-spacing:-.01em;background:var(--surface-hover);border:1px solid var(--hairline);color:var(--text-secondary);align-items:center;gap:5px;padding:2.5px 8px;line-height:1.4;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;display:inline-block}.badge-low{color:var(--accent-color);background:#41969f14;border-color:#41969f33}.badge-medium{color:#b45309;background:#f59e0b14;border-color:#f59e0b33}.badge-high{color:var(--danger-color);background:#fd776314;border-color:#fd776340}.badge-not-started{color:var(--text-secondary);background:#8c8f9414;border-color:#8c8f9433}.badge-in-progress,.badge-completed{color:var(--accent-color);background:#41969f14;border-color:#41969f33}.badge-hold{color:var(--danger-color);background:#fd776314;border-color:#fd776340}.badge-cust-sheet-updated,.badge-invoiced{color:#3a8a91;background:#77c5cc1a;border-color:#77c5cc4d}table{border-collapse:separate;border-spacing:0;text-align:left;width:100%}th{color:var(--text-muted);border-bottom:1px solid var(--hairline-strong);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-weight:600;font-family:var(--font-sans);background:0 0;padding:10px 14px}td{color:var(--text-primary);border-bottom:1px solid var(--hairline);padding:10px 14px;font-size:13px;transition:background .13s}td.numeric,td.num,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px}.tabular-nums{font-variant-numeric:tabular-nums}tr:hover td{background:var(--surface-hover)}@keyframes pulse-timer{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.15)}}.timer-pulse{animation:1.5s infinite pulse-timer}.subtask-row{cursor:pointer;transition:background .13s,border-color .13s!important}.subtask-row:hover{background:var(--surface-hover)!important;border-color:var(--hairline-strong)!important}.clickable-task-row{cursor:pointer;transition:background .12s}.clickable-task-row:hover td{background:var(--surface-hover)!important}label{color:var(--text-secondary);text-transform:none;letter-spacing:0;font-size:11px;font-weight:500;font-family:var(--font-sans)}.quill{border-radius:var(--radius-md);border:1px solid var(--hairline);overflow:hidden}.ql-toolbar.ql-snow{background:var(--surface-hover);border:none!important;border-bottom:1px solid var(--hairline)!important;padding:6px 10px!important}.ql-container.ql-snow{background:var(--panel-bg);font-family:var(--font-sans)!important;border:none!important;font-size:13px!important}.ql-editor{min-height:100px;padding:12px 14px!important}.bento-grid{grid-template-columns:repeat(12,1fr);gap:16px;display:grid}.bento-card{grid-column:span 4}.bento-card-large{grid-column:span 6}.bento-card-full{grid-column:span 12}[data-theme=dark]{--bg-color:#161616;--bg-gradient:none;--panel-bg:#202525;--panel-2:#292f2f;--panel-border:#3a4748;--glass-border:#3a4748;--border-soft:#303a3b;--text-primary:#fff;--text-secondary:#c2d0d1;--text-muted:#91a5a7;--accent-color:#42c7db;--accent-hover:#6ad8e6;--accent-rgb:66, 199, 219;--accent-gradient:linear-gradient(135deg, #0099b1 0%, #42c7db 100%);--accent-soft:#42c7db24;--success-color:#3ec08a;--success-rgb:62, 192, 138;--warning-color:#f0ad3c;--warning-rgb:240, 173, 60;--danger-color:#ff866f;--danger-rgb:255, 134, 111;--coral:#ff866f;--coral-strong:#ffab9a;--coral-soft:#ff866f29;--green:#3ec08a;--amber:#f0ad3c;--indigo:#7c8bf5;--purple:#a78bfa;--pink:#fb6fae;--slate:#8497a0;--topbar:#131e1dc7;--info-color:#77c5cc;--info-rgb:119, 197, 204;--hairline:#e9f2f00f;--hairline-strong:#e9f2f01f;--surface-hover:#e9f2f00a;--surface-active:#4ec6d01a;--card-shadow:0 1px 2px #0006, 0 10px 32px -12px #0000009e;--hover-shadow:0 1px 2px #00000070, 0 14px 34px -14px #000000b8;--shadow-modal:0 36px 80px -24px #000000bd;--shadow-dropdown:0 24px 54px -20px #000000c2;--chart-completed:#34d399;--chart-in-progress:#60a5fa;--chart-hold:#fbbf24;--chart-not-started:#94a3b8;--chart-ready-invoice:#a78bfa;--chart-invoiced:#22d3ee;--chart-review:#fbbf24;--chart-pending:#a78bfa;--chart-cycle-line:#a5b4fc;--chart-estimated:#60a5fa;--chart-streak:#fbbf24;--chart-streak-secondary:#f59e0b;--chart-absent:#a78bfa;--chart-table-header:#1e2530}[data-theme=dark] body{background:var(--bg-color);color:var(--text-primary)}[data-theme=dark] body:before{opacity:.04;mix-blend-mode:overlay}[data-theme=dark] .glass-panel,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--panel-bg);border-color:var(--hairline);color:var(--text-primary)}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:var(--accent-color);box-shadow:var(--focus-ring-dark)}[data-theme=dark] th{color:var(--text-muted);border-color:var(--hairline-strong);background:0 0}[data-theme=dark] td{border-color:var(--hairline)}[data-theme=dark] tr:hover td{background:var(--surface-hover)}[data-theme=dark] .btn-primary{background:linear-gradient(135deg, var(--coral), var(--coral-strong));color:#fff;border-color:#0000}[data-theme=dark] .btn-primary:hover{background:linear-gradient(135deg, var(--coral-strong), var(--coral));border-color:#0000}[data-theme=dark] .btn-secondary{background:var(--panel-bg);color:var(--text-primary);border-color:var(--hairline-strong)}[data-theme=dark] .btn-secondary:hover{border-color:var(--text-secondary);background:#ffffff0a}[data-theme=dark] .menu-item.active{background:var(--surface-active)!important;color:var(--text-primary)!important}[data-theme=dark] .ql-toolbar.ql-snow{background:#ffffff08;border-color:var(--hairline)!important}[data-theme=dark] .ql-container.ql-snow{background:var(--panel-bg);border-color:var(--hairline)!important}[data-theme=dark] .badge-not-started{color:var(--text-secondary);background:#ffffff0a;border-color:#ffffff1a}[data-theme=dark] .subtask-row:hover{background:var(--surface-hover)!important;border-color:var(--hairline-strong)!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px;box-shadow:var(--focus-ring)}[data-theme=dark] button:focus-visible,[data-theme=dark] input:focus-visible,[data-theme=dark] select:focus-visible,[data-theme=dark] textarea:focus-visible,[data-theme=dark] a:focus-visible{box-shadow:var(--focus-ring-dark)}input.input-valid{border-color:var(--success-color);background:rgba(var(--success-rgb), .02)}input.input-error{border-color:var(--danger-color);background:rgba(var(--danger-rgb), .02)}input.input-warning{border-color:var(--warning-color);background:rgba(var(--warning-rgb), .02)}input.input-disabled,select.input-disabled,textarea.input-disabled{background:var(--surface-hover);color:var(--text-muted);cursor:not-allowed;opacity:.6}[data-theme=dark] input.input-disabled,[data-theme=dark] select.input-disabled,[data-theme=dark] textarea.input-disabled{background:#ffffff08}.form-error{color:var(--danger-color);font-size:11.5px;font-family:var(--font-sans);align-items:center;gap:6px;margin-top:5px;display:flex}.form-success{color:var(--success-color);font-size:11.5px;font-family:var(--font-sans);align-items:center;gap:6px;margin-top:5px;display:flex}.form-hint{color:var(--text-muted);font-size:11.5px;font-family:var(--font-sans);margin-top:5px}.required-indicator{color:var(--danger-color);margin-left:2px;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(135deg, var(--coral), var(--coral-strong));color:#fff;border-radius:var(--radius-md);box-shadow:0 6px 16px -8px var(--coral);border:none;font-weight:700}.btn-primary:hover{box-shadow:0 10px 22px -12px var(--coral);transform:translateY(-1px)}.btn-accent{background:var(--accent-gradient);color:#fff;border-radius:var(--radius-md);box-shadow:0 6px 16px -10px rgba(var(--accent-rgb), .8);border:none;font-weight:700}.btn-secondary{background:var(--panel-bg);color:var(--text-primary);border:1px solid var(--panel-border);border-radius:var(--radius-md);font-weight:600}.btn-secondary:hover{background:var(--panel-2);border-color:var(--hairline-strong)}.btn-primary:disabled{background:var(--text-muted);border-color:var(--text-muted)}.btn-secondary:disabled{border-color:var(--hairline);color:var(--text-muted);background:0 0}[data-theme=dark] .btn-primary:disabled{background:#334155;border-color:#334155}[data-theme=dark] .btn-secondary:disabled{border-color:var(--hairline);color:var(--text-muted);background:0 0}.btn-loading{color:#0000;position:relative}.btn-loading:after{content:"";border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-top:-7px;margin-left:-7px;animation:.8s linear infinite spin;position:absolute;top:50%;left:50%}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,#4b4d500a 25%,#4b4d5014 50%,#4b4d500a 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}[data-theme=dark] .skeleton{background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f 50%,#ffffff08 75%) 0 0/200% 100%}.modal-overlay{z-index:9998;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b14135c;justify-content:center;align-items:center;animation:.2s overlayIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--panel-bg);border:1px solid var(--hairline-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);max-width:90vw;max-height:90vh;animation:fadeUp .25s var(--transition-bezier);flex-direction:column;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.modal-header h2{font-family:var(--font-display);letter-spacing:-.005em;margin:0;font-size:18px;font-weight:700}.modal-body{flex:1;padding:22px;overflow-y:auto}.modal-footer{border-top:1px solid var(--hairline);background:var(--panel-2);justify-content:flex-end;align-items:center;gap:10px;padding:14px 22px;display:flex}.table-header{border-bottom:1px solid var(--hairline-strong);border-radius:var(--radius-md) var(--radius-md) 0 0;background:0 0;align-items:center;gap:12px;padding:12px 16px;display:flex}.table-header-with-actions{justify-content:space-between}.table-column-header{cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-radius:3px;align-items:center;gap:5px;padding:3px 6px;font-size:10.5px;font-weight:600;transition:background .16s,color .16s;display:flex}.table-column-header:hover{background:var(--surface-hover);color:var(--text-secondary)}.sort-indicator{opacity:.5;font-size:10px}.sort-indicator.active{opacity:1;color:var(--accent-color)}.table-row.selected{background:var(--surface-active)!important;border-left:2px solid var(--accent-color)!important}.sticky-action-toolbar{background:var(--text-primary);color:#fff;border-radius:var(--radius-md);animation:slideUp .2s var(--transition-bezier);font-family:var(--font-sans);justify-content:space-between;align-items:center;margin-top:10px;padding:12px 16px;display:flex;position:sticky;bottom:0}.sticky-action-toolbar-text{font-size:13px;font-weight:500}.sticky-action-toolbar-actions{gap:10px;display:flex}.empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;min-height:240px;padding:56px 20px;display:flex}.empty-state-icon{opacity:.2;margin-bottom:16px;font-size:44px}.empty-state-title{font-family:var(--font-sans);letter-spacing:-.005em;color:var(--text-primary);text-wrap:balance;margin-bottom:6px;font-size:15px;font-weight:600}.empty-state-description{color:var(--text-secondary);text-wrap:pretty;max-width:320px;margin-bottom:20px;font-size:12.5px;line-height:1.55}.empty-state-action{background:var(--accent-color);color:#fff;border:1px solid var(--accent-color);border-radius:var(--radius-md);cursor:pointer;font-size:12.5px;font-weight:500;font-family:var(--font-sans);align-items:center;gap:6px;padding:8px 14px;transition:all .18s;display:inline-flex}.empty-state-action:hover{background:var(--accent-hover);box-shadow:0 4px 12px rgba(var(--accent-rgb), .22);transform:translateY(-1px)}.mobile-menu-toggle{cursor:pointer;color:var(--text-primary);background:0 0;border:none;padding:6px;display:none}@media (width<=768px){.panel-container{grid-template-columns:1fr}.mobile-menu-toggle{display:flex}.main-content{gap:14px;padding:16px}.glass-panel{padding:16px}.modal-content{width:95vw!important;max-height:95vh!important}.bento-card,.bento-card-large,.bento-card-full{grid-column:span 12!important}.grid-2,.grid-3{gap:12px;grid-template-columns:1fr!important}}@media (width<=1100px){.bento-card,.bento-card-large{grid-column:span 6}.bento-card-full{grid-column:span 12}.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=1024px){.bento-card,.bento-card-large{grid-column:span 6}.bento-card-full{grid-column:span 12}.grid-3{grid-template-columns:repeat(2,1fr)}.main-content{gap:16px;padding:16px 20px}}[data-theme=dark] .table-header{background:0 0}[data-theme=dark] .modal-header,[data-theme=dark] .modal-footer{border-color:var(--hairline)}[data-theme=dark] .table-column-header:hover{background:#ffffff0a}[data-theme=dark] .sticky-action-toolbar{background:#1e293b}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){body{--text-secondary:#444}button,input,select,textarea{border:2px solid}}@media (width<=760px){.login-shell{grid-template-columns:1fr!important}.login-brand-panel{gap:28px;min-height:auto!important;padding:32px 28px!important}.login-brand-panel h1{font-size:34px!important}.login-form-panel{align-items:flex-start!important;padding:28px!important}}.custom-checkbox-container{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:500;font-family:var(--font-sans);align-items:center;gap:8px;transition:color .2s;display:flex}.custom-checkbox-container:hover{color:var(--text-primary)}.custom-checkbox-input{appearance:none;border:1.5px solid var(--hairline-strong);background-color:var(--panel-bg);cursor:pointer;border-radius:3px;outline:none;justify-content:center;align-items:center;width:15px;height:15px;transition:all .2s;display:inline-flex;position:relative}.custom-checkbox-input:checked{background-color:var(--accent-color);border-color:var(--accent-color)}.custom-checkbox-input:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:7px;position:absolute;top:1px;transform:rotate(45deg)}.custom-checkbox-input:focus-visible{box-shadow:var(--focus-ring)}.page-entrance{animation:.28s fadeUp}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}button:not(:active):hover{transform:translateY(-.5px)}button:active{transform:translateY(0)scale(.99)}.shortcut-hint,kbd{font-family:var(--font-mono);background:var(--surface-hover);border:1px solid var(--hairline);color:var(--text-secondary);letter-spacing:0;border-radius:3px;padding:1.5px 5.5px;font-size:10.5px;font-weight:500}.display-eyebrow{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;font-size:10.5px;font-weight:600;display:inline-flex}.display-numeral{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1}.app-topbar{-webkit-backdrop-filter:blur(16px);min-height:64px;box-shadow:0 1px 3px #10282a05;background:var(--topbar)!important;border-bottom:1px solid var(--panel-border)!important}.shell-icon-button{border-radius:var(--radius-md);border:1px solid var(--panel-border);background:var(--panel-bg);width:38px;height:38px;color:var(--text-secondary);justify-content:center;align-items:center;display:inline-flex}.shell-search-button{height:38px;transition:border-color .15s,background .15s,box-shadow .15s;box-shadow:0 1px 2px #10282a08;border-radius:var(--radius-md)!important;background:var(--panel-bg)!important;border:1px solid var(--panel-border)!important}.shell-search-button:hover{box-shadow:0 2px 8px -2px rgba(var(--accent-rgb), .12);border-color:rgba(var(--accent-rgb), .45)!important}.menu-item.active{box-shadow:inset 3px 0 0 var(--accent-color);background:var(--accent-soft)!important;color:var(--accent-color)!important;font-weight:700!important}.kanban-card{background:var(--panel-bg);border:1px solid var(--border-soft);box-shadow:var(--card-shadow);transition:transform .2s var(--transition-bezier), box-shadow .2s var(--transition-bezier), border-color .2s var(--transition-bezier);border-radius:var(--radius-md)!important}.kanban-card:hover{border-color:rgba(var(--accent-rgb), .35);box-shadow:var(--hover-shadow)}.kanban-column{background:var(--panel-2);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:0 1px 3px #10282a05}.live-dot{background:var(--green);border-radius:999px;width:8px;height:8px;animation:1.8s infinite pulseDot;display:inline-block}@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(var(--success-rgb), .6);transform:scale(.95)}70%{box-shadow:0 0 0 6px rgba(var(--success-rgb), 0);transform:scale(1.05)}to{box-shadow:0 0 0 0 rgba(var(--success-rgb), 0);transform:scale(.95)}}@keyframes slideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.display-serif{font-family:var(--font-sans);letter-spacing:-.005em;font-weight:600}.avatar-outline{box-shadow:inset 0 0 0 1px #0000000f}.meta-mono{font-family:var(--font-mono);letter-spacing:0;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}@media (width>=1101px){.panel-container,.bento-grid{width:100%;max-width:100%}}.blocked-task-card{opacity:.92;cursor:not-allowed;background:rgba(var(--danger-rgb), .06)!important;border:1px solid rgba(var(--danger-rgb), .24)!important}.report-page{flex-direction:column;gap:14px;width:100%;min-width:0;display:flex}.report-page>header:first-child,.report-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.report-page-header h1,.report-page>header:first-child h1{letter-spacing:-.025em;margin:0;font-size:23px}.report-page-header p,.report-page>header:first-child p,.report-section-copy{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.5}.report-eyebrow{color:var(--accent-color);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:800}.report-toolbar,.report-page .ui-filter-bar{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px;display:flex;box-shadow:0 1px 2px #10282a06}.report-toolbar-group{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.report-field{min-width:142px;color:var(--text-secondary);letter-spacing:.035em;text-transform:uppercase;gap:4px;font-size:10px;font-weight:700;display:grid}.report-field input,.report-field select,.report-search{border:1px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--panel-2);min-height:36px;color:var(--text-primary);text-transform:none;letter-spacing:0;padding:7px 10px;font-size:12px;font-weight:500}.report-search{min-width:210px}.report-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;align-self:center;margin-left:auto;font-size:10.5px}.report-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.report-kpi-card,.report-page .ui-metric-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-md);min-height:94px;box-shadow:none;padding:14px 15px!important}.report-kpi-card{align-items:center;gap:12px;display:flex}.report-kpi-card-stacked{align-items:flex-start}.report-kpi-hint{color:var(--text-muted);margin-top:2px;font-size:10.5px}.report-page .ui-metric-card:hover,.report-kpi-card:hover,.report-panel:hover,.report-page .ui-panel:hover,.report-page .ui-table-shell:hover{border-color:var(--panel-border);box-shadow:none;transform:none}.report-kpi-label,.report-kpi-card>div:first-child:not(.report-kpi-icon){color:var(--text-secondary);letter-spacing:.045em;text-transform:uppercase;font-size:10px;font-weight:750}.report-kpi-value{color:var(--text-primary);font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:5px;font-size:23px;font-weight:750;line-height:1.15}.report-page .ui-metric-label{letter-spacing:.045em;color:var(--text-secondary)!important;font-size:10px!important}.report-page .ui-metric-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:1px;line-height:1.15;font-size:23px!important;font-weight:750!important}.report-page .ui-metric-hint{font-size:10.5px!important}.report-page .ui-metric-icon{background:var(--accent-soft)!important}.report-kpi-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:34px;height:34px;color:var(--accent-color);flex:none;justify-content:center;align-items:center;display:inline-flex}.report-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;min-width:0;display:grid}.report-grid>*{grid-column:span 6;min-width:0}.capacity-card-grid>*,.capacity-recommendation-grid>*{grid-column:auto}.report-grid-7-5>:first-child{grid-column:span 7}.report-grid-7-5>:last-child{grid-column:span 5}.report-span-4{grid-column:span 4!important}.report-span-5{grid-column:span 5!important}.report-span-7{grid-column:span 7!important}.report-span-8{grid-column:span 8!important}.report-span-12{grid-column:1/-1!important}.report-panel,.report-page .ui-panel,.report-page .ui-table-shell{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);min-width:0;box-shadow:none;overflow:hidden}.report-page .ui-panel{padding:0}.report-page .ui-panel-header{border-bottom:1px solid var(--hairline-strong);min-height:46px;padding:12px 14px;margin-bottom:0!important}.report-page .ui-panel-header h2{letter-spacing:-.01em;font-size:13.5px}.report-page .ui-panel-body{padding:14px}.report-section-control-header{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:11px 14px;display:flex}.report-section-control-title{min-width:0;color:var(--text-primary);margin:0;font-size:13px;font-weight:700;line-height:1.35}.report-section-control-actions,.report-section-provided-actions{align-items:center;gap:7px;display:inline-flex}.report-section-control-body{min-width:0}.report-section-icon-button{border:1px solid var(--hairline);background:var(--panel-bg);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex:0 0 30px;justify-content:center;align-items:center;display:inline-flex}.report-section-icon-button:hover{color:var(--accent-color);border-color:rgba(var(--accent-rgb), .35)}.report-section-icon-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.report-section-control-icon{visibility:visible;opacity:1;pointer-events:none;flex:0 0 18px;width:18px;height:18px;display:block;overflow:visible}.report-section-control-body[hidden]{display:none!important}.report-collapsible-section[data-collapsed=true] .report-section-control-header{border-bottom:0}body.report-section-fullscreen-open{overflow:hidden}.report-collapsible-section.is-fullscreen{background:var(--bg-color)!important;border-color:var(--panel-border)!important;flex-direction:column!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;display:flex!important;position:fixed!important;inset:10px!important;overflow:hidden!important;box-shadow:0 24px 80px #0f172a47!important}.report-collapsible-section.is-fullscreen .report-section-control-header{background:var(--panel-bg);flex:none}.report-collapsible-section.is-fullscreen .report-section-control-body{flex:auto;min-height:0;overflow:auto}@media (width<=640px){.report-collapsible-section.is-fullscreen{border-radius:0!important;inset:0!important}.report-section-control-header{flex-wrap:wrap;align-items:flex-start}.report-section-control-actions{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.report-section-provided-actions{flex-wrap:wrap;justify-content:flex-end}.report-section-icon-button{flex:0 0 40px;width:40px;height:40px}}.report-page .ui-panel-body>.ui-table-shell{border:0;border-radius:0;width:calc(100% + 28px);max-width:calc(100% + 28px);margin:-14px}.report-section-header{border-bottom:1px solid var(--hairline-strong);justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:12px 14px;display:flex}.report-section-title{color:var(--text-primary);font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:7px;margin:0;font-size:13.5px;font-weight:700;display:flex}.report-section-title h2,.report-section-title h3{color:inherit;font:inherit;letter-spacing:inherit;margin:0}.report-field-label{color:var(--text-secondary);letter-spacing:.035em;text-transform:uppercase;align-items:center;gap:6px;font-size:10.5px;font-weight:700;display:inline-flex}.report-mini-metrics{grid-template-columns:repeat(3,minmax(100px,1fr));gap:8px;min-width:340px;display:grid}.report-mini-metric{border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);background:var(--panel-2);padding:9px 11px}.report-mini-metric .report-kpi-value{font-size:19px}.report-chart-panel,.report-table-panel{flex-direction:column;min-height:340px;display:flex}.report-chart-panel>.report-chart,.report-chart-panel>div:last-child{flex:1;min-height:0}.report-table-panel .report-table-wrap{flex:1}.report-chart{min-width:0;min-height:250px;position:relative}.report-table-wrap{scrollbar-gutter:stable;width:100%;max-width:100%;overflow:auto}.report-table,.report-page .ui-table-shell table{border-collapse:separate;border-spacing:0;width:100%}.report-table th,.report-page .ui-table-shell th{background:var(--panel-2);height:38px;color:var(--text-secondary);letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;padding:9px 12px;font-size:10px;font-weight:750}.report-table td,.report-page .ui-table-shell td{vertical-align:middle;min-height:44px;padding:9px 12px;font-size:12px}.report-table td[data-numeric=true],.report-table th[data-numeric=true],.report-numeric{text-align:right;font-variant-numeric:tabular-nums}.report-empty{min-height:108px;color:var(--text-secondary);text-align:center;justify-content:center;align-items:center;padding:24px;font-size:12px;display:flex}.report-table td.report-empty{min-height:0;display:table-cell}.report-alert{border:1px solid rgba(var(--warning-rgb), .24);border-radius:var(--radius-md);background:rgba(var(--warning-rgb), .065);color:var(--text-secondary);align-items:flex-start;gap:9px;padding:11px 13px;font-size:11.5px;display:flex}.report-alert[data-tone=danger]{border-color:rgba(var(--danger-rgb), .24);background:rgba(var(--danger-rgb), .065)}.report-alert-danger{border-color:rgba(var(--danger-rgb), .24);background:rgba(var(--danger-rgb), .065);color:var(--danger-color)}.report-alert-warning{color:var(--text-secondary)}.report-status-chip{border:1px solid var(--hairline-strong);background:var(--panel-2);color:var(--text-secondary);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 7px;font-size:10px;font-weight:700;display:inline-flex}.report-profile-strip{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(110deg,#173b38,#245f5a);align-items:center;gap:12px;min-width:0;padding:14px 16px;display:flex}.report-profile-icon{border-radius:var(--radius-md);background:#ffffff1f;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.report-profile-strip strong{font-size:14px;display:block}.report-profile-strip span span{color:#ffffffb8;margin-top:2px;font-size:10.5px;display:block}.report-profile-range{border-radius:var(--radius-sm);color:#ffffffdb;white-space:nowrap;background:#ffffff17;border:1px solid #ffffff26;align-items:center;gap:5px;margin-left:auto;padding:5px 8px;font-size:10.5px;display:inline-flex}.report-segmented{border-radius:var(--radius-md);background:var(--panel-2);border:1px solid var(--hairline);gap:3px;padding:3px;display:inline-flex}.report-segmented button{border-radius:var(--radius-sm);min-height:32px;color:var(--text-secondary);box-shadow:none;background:0 0;border:0;padding:5px 11px;font-size:11.5px;font-weight:650}.report-segmented button.active,.report-segmented button[aria-pressed=true]{background:var(--panel-bg);color:var(--text-primary);box-shadow:0 1px 4px #10282a14}.report-page .glass-panel{animation:none}[data-theme=dark] .report-toolbar,[data-theme=dark] .report-kpi-card,[data-theme=dark] .report-panel,[data-theme=dark] .report-segmented button.active,[data-theme=dark] .report-segmented button[aria-pressed=true]{background:var(--panel-bg)}@media (width<=1024px){.report-grid>*,.report-grid-7-5>:first-child,.report-grid-7-5>:last-child,.report-span-4,.report-span-5,.report-span-7,.report-span-8{grid-column:1/-1!important}.report-chart{min-height:280px}}@media (width<=768px){.report-page{gap:12px}.report-page-header,.report-page>header:first-child{flex-direction:column;align-items:flex-start}.report-toolbar,.report-page .ui-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch!important;display:grid!important}.report-toolbar-group{display:contents}.report-field{width:100%;min-width:0!important}.report-field input,.report-field select,.report-search{min-width:0;min-height:42px;width:100%!important}.report-toolbar>button,.report-page .ui-filter-bar>button,.report-page .ui-filter-actions button{justify-content:center;min-height:42px}.report-page .ui-filter-actions{display:contents!important}.report-meta{grid-column:1/-1;margin-left:0}.report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:1fr}.report-chart{min-height:260px}.report-section-header{align-items:flex-start}.report-mini-metrics{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0}.report-profile-strip{align-items:flex-start}.report-profile-range{white-space:normal;margin-left:0}}@media (width<=480px){.report-toolbar,.report-page .ui-filter-bar,.report-kpi-grid{grid-template-columns:1fr}.report-kpi-card,.report-page .ui-metric-card{min-height:86px}.report-mini-metrics{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.report-page *,.report-page :before,.report-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.attendance-toolbar{overflow:hidden;padding:0!important;display:block!important}.attendance-toolbar-row{align-items:flex-end;gap:10px;min-width:0;padding:12px 14px;display:flex}.attendance-toolbar-secondary{border-top:1px solid var(--hairline);background:var(--panel-2);align-items:center}.attendance-toolbar-heading{min-width:128px;color:var(--text-primary);align-self:center;align-items:center;gap:8px;font-size:12.5px;font-weight:750;display:inline-flex}.attendance-toolbar-heading svg{color:var(--accent-color)}.attendance-date-arrow{color:var(--text-muted);align-self:center}.attendance-apply-button{justify-content:center;align-items:center;gap:6px;min-height:36px;display:inline-flex}.attendance-presets{flex:none;margin-left:auto}.attendance-order-field{min-width:178px}.attendance-search-field{flex:260px;align-items:center;max-width:390px;display:flex;position:relative}.attendance-search-field svg{z-index:1;color:var(--text-muted);pointer-events:none;position:absolute;left:11px}.attendance-search-field .report-search{background:var(--panel-bg);width:100%;padding-left:32px}.attendance-toolbar-actions{gap:8px;margin-left:auto;display:inline-flex}.attendance-toolbar-actions button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.attendance-source-note{border-top:1px solid var(--hairline);color:var(--text-secondary);padding:8px 14px;font-size:10.5px;line-height:1.45}.attendance-overview{border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--panel-bg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.attendance-overview>div{border-right:1px solid var(--hairline);min-width:0;padding:11px 14px}.attendance-overview>div:last-child{border-right:0}.attendance-overview>div[data-attention=true]{background:rgba(var(--danger-rgb), .045)}.attendance-overview span{color:var(--text-secondary);letter-spacing:.045em;text-transform:uppercase;font-size:10px;font-weight:750;display:block}.attendance-overview strong{color:var(--text-primary);font-family:var(--font-display);font-variant-numeric:tabular-nums;margin-top:3px;font-size:19px;line-height:1.15;display:block}.attendance-overview>div[data-attention=true] strong{color:var(--danger-color)}.attendance-overview small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10.5px;display:block;overflow:hidden}.attendance-matrix-guide{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:14px;padding:0 2px;font-size:10.5px;display:flex}.attendance-matrix-guide>div:first-child{gap:2px;display:grid}.attendance-matrix-guide strong{color:var(--text-primary);font-size:11.5px}.attendance-legend{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.attendance-legend span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.attendance-legend i{background:var(--text-muted);border-radius:999px;width:7px;height:7px}.attendance-legend [data-tone=work] i{background:var(--success-color)}.attendance-legend [data-tone=warning] i{background:var(--warning-color)}.attendance-legend [data-tone=leave] i{background:var(--accent-color)}.attendance-legend [data-tone=danger] i{background:var(--danger-color)}.attendance-matrix-shell{overscroll-behavior-inline:contain;scrollbar-color:var(--text-muted) var(--panel-2);scrollbar-width:thin;position:relative}.attendance-matrix-shell:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.attendance-matrix{border-spacing:0;border-collapse:separate!important}.attendance-matrix th,.attendance-matrix td{border-bottom:1px solid var(--hairline)}.attendance-matrix thead th{background:var(--panel-2)!important}.attendance-matrix .attendance-date-column[data-weekend=true]{background:color-mix(in srgb, var(--panel-2) 72%, var(--surface-hover))!important}.attendance-date-dow{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:750}.attendance-date-day{margin-top:2px;font-size:11.5px}.attendance-matrix .attendance-employee-column{z-index:2;background:var(--panel-bg);width:180px;box-shadow:1px 0 0 var(--hairline-strong);position:sticky;left:0}.attendance-matrix thead .attendance-employee-column{z-index:5;background:var(--panel-2)!important}.attendance-matrix .attendance-total-column{z-index:2;background:var(--panel-bg);box-shadow:-1px 0 0 var(--hairline-strong);font-variant-numeric:tabular-nums;position:sticky;right:0}.attendance-matrix thead .attendance-total-column{z-index:5;background:var(--panel-2)!important}.attendance-matrix-row:hover>td:not([data-over=true]),.attendance-matrix-row:hover>th{background-color:color-mix(in srgb, var(--panel-bg) 93%, var(--accent-soft))}.attendance-employee-button{border-radius:0;transition:background-color .16s}.attendance-employee-button:hover{background:var(--surface-hover)!important}.attendance-employee-button:focus-visible,.attendance-day-cell summary:focus-visible,.attendance-detail-table summary:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.attendance-day-cell{min-width:198px;color:var(--text-secondary);line-height:1.4}.attendance-day-cell[data-over=true]{background:rgba(var(--danger-rgb), .045)!important;box-shadow:inset 3px 0 0 var(--danger-color)!important}.attendance-day-cell[data-off=true]{background:color-mix(in srgb, var(--panel-bg) 95%, var(--surface-hover))}.attendance-day-cell-empty{vertical-align:middle}.attendance-empty-office{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-top:6px;font-size:10.5px;display:block}.attendance-cell-content{min-height:82px}.attendance-cell-content summary{border-radius:4px;min-height:24px}.attendance-cell-metrics{border-bottom:1px solid var(--hairline);font-variant-numeric:tabular-nums;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:-1px 0 2px;padding-bottom:6px;display:grid}.attendance-cell-metrics>span{gap:1px;min-width:0;display:grid}.attendance-cell-metrics>span:last-child{text-align:right}.attendance-cell-metrics small{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.attendance-cell-metrics strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.attendance-over-note{color:var(--danger-color);align-items:center;gap:4px;font-size:10.5px;font-weight:750;display:inline-flex}.attendance-detail-header{background:linear-gradient(135deg, var(--panel-bg), var(--panel-2))!important}.attendance-detail-kpis .report-kpi-card{min-height:0;display:block;padding:10px 12px!important}.attendance-detail-table tbody th:first-child{z-index:2;background:var(--panel-bg);box-shadow:1px 0 0 var(--hairline-strong);position:sticky;left:0}@media (width<=900px){.attendance-toolbar-row{flex-wrap:wrap}.attendance-presets,.attendance-toolbar-actions{margin-left:0}.attendance-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-overview>div:nth-child(2){border-right:0}.attendance-overview>div:nth-child(-n+2){border-bottom:1px solid var(--hairline)}.attendance-matrix-guide{flex-direction:column;align-items:flex-start}.attendance-legend{justify-content:flex-start}}@media (width<=768px){.attendance-toolbar{display:block!important}.attendance-toolbar-primary{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.attendance-toolbar-heading,.attendance-presets{grid-column:1/-1}.attendance-date-arrow{display:none}.attendance-apply-button{grid-column:1/-1;min-height:42px}.attendance-presets{width:100%;overflow-x:auto}.attendance-presets button{flex:1 0 auto;min-height:38px}.attendance-toolbar-secondary{grid-template-columns:1fr;align-items:stretch;display:grid}.attendance-order-field,.attendance-search-field{width:100%;max-width:none}.attendance-toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.attendance-toolbar-actions button{min-height:42px}.attendance-source-note{font-size:10px}.attendance-matrix .attendance-employee-column{width:150px;min-width:150px!important}.attendance-employee-button{min-width:150px!important}.attendance-day-cell,.attendance-matrix .attendance-date-column{min-width:182px!important}.attendance-matrix .attendance-total-column{position:static}.attendance-running-warning{grid-template-columns:1fr!important}.attendance-detail-title-row{align-items:flex-start!important}.attendance-detail-title-row>div:last-child{width:100%;margin-left:0!important}.attendance-detail-table{min-width:720px!important}}@media (width<=480px){.attendance-overview strong{font-size:17px}.attendance-overview small{white-space:normal}.attendance-toolbar-actions{grid-template-columns:1fr}.attendance-legend{gap:7px 9px}.attendance-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.time-log-header-actions,.time-log-toolbar,.time-log-view-toggle,.time-log-flags,.time-log-entry-time,.time-log-entry-title,.time-log-week>header{align-items:center;gap:8px;display:flex}.time-log-header-actions{flex-wrap:wrap;justify-content:flex-end}.time-log-toolbar{flex-wrap:wrap;align-items:end}.time-log-search{flex:270px;min-width:min(280px,100%)}.time-log-search span{border:1px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--panel-bg);align-items:center;gap:7px;padding:0 9px;display:flex}.time-log-search input{width:100%;min-width:0;color:var(--text-primary);background:0 0;border:0;outline:none;padding:8px 0}.time-log-view-toggle{border:1px solid var(--panel-border);border-radius:var(--radius-sm);overflow:hidden}.time-log-view-toggle button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:8px 10px;display:inline-flex}.time-log-view-toggle button+button{border-left:1px solid var(--panel-border)}.time-log-view-toggle button[aria-pressed=true]{background:color-mix(in srgb, var(--accent-color) 13%, var(--panel-bg));color:var(--accent-color);font-weight:700}.daily-activity-table{min-width:1120px}.attendance-employee-link{color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:2px;padding:0;display:flex}.attendance-employee-link:hover strong{color:var(--accent-color);text-decoration:underline}.attendance-employee-link small{color:var(--text-secondary);font-size:10.5px;font-weight:500}.daily-activity-running{gap:2px;min-width:135px;display:grid}.daily-activity-running>span{width:fit-content;color:var(--success-color);background:#22c55e1f;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:10.5px;font-weight:750;display:inline-flex}.daily-activity-running>strong{color:var(--success-color);font-variant-numeric:tabular-nums}.daily-activity-running>small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.daily-activity-entries{gap:7px;min-width:270px;display:grid}.daily-activity-entries>div{border-bottom:1px solid var(--hairline);grid-template-columns:minmax(140px,1fr) auto;gap:12px;padding-bottom:6px;display:grid}.daily-activity-entries>div:last-child{border-bottom:0;padding-bottom:0}.daily-activity-entries>div>div{gap:2px;min-width:0;display:grid}.daily-activity-entries strong,.daily-activity-entries small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.daily-activity-entries small,.daily-activity-entries>div>span{color:var(--text-secondary);font-size:10.5px}.daily-activity-entries>div>span{white-space:nowrap;font-variant-numeric:tabular-nums}.daily-activity-entries>div[data-active=true] strong,.daily-activity-entries>div[data-active=true]>span{color:var(--success-color)}.time-log-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.time-log-summary>div{border:1px solid var(--panel-border);border-radius:var(--radius-md);background:var(--panel-bg);flex-direction:column;gap:3px;padding:13px 15px;display:flex}.time-log-summary span,.time-log-summary small{color:var(--text-secondary);font-size:12px}.time-log-summary strong{color:var(--text-primary);font-size:15px}.time-log-months,.time-log-timeline-list{gap:16px;display:grid}.time-log-month{padding:14px;overflow:hidden}.time-log-month h3{color:var(--text-primary);margin:0 0 12px;font-size:16px}.time-log-weekdays,.time-log-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.time-log-weekdays span{color:var(--text-secondary);text-transform:uppercase;padding:0 7px 7px;font-size:11px;font-weight:700}.time-log-day-cell,.time-log-empty-cell{border:1px solid var(--panel-border);min-height:88px;margin:-1px 0 0 -1px}.time-log-day-cell{background:var(--panel-bg);color:var(--text-primary);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:3px;padding:8px;display:flex;position:relative}.time-log-day-cell:hover:not(:disabled),.time-log-day-cell:focus-visible{z-index:1;background:var(--panel-2);outline:2px solid var(--accent-color);outline-offset:-2px}.time-log-day-cell:disabled{opacity:.36;cursor:default}.time-log-day-cell.has-work{box-shadow:inset 3px 0 0 var(--accent-color)}.time-log-day-cell.has-attention{box-shadow:inset 3px 0 #d97706}.time-log-day-cell>svg{color:#d97706;position:absolute;top:8px;right:7px}.time-log-day-number{color:var(--text-secondary);font-size:12px;font-weight:700}.time-log-day-cell strong{font-size:13px}.time-log-day-cell small{color:var(--text-secondary);font-size:10px}.time-log-week{padding:14px;overflow:hidden}.time-log-week>header{color:var(--text-primary);justify-content:space-between;margin-bottom:10px}.time-log-week>header span{color:var(--text-secondary);font-size:13px}.time-log-week-grid{grid-template-columns:repeat(7,minmax(110px,1fr));min-width:760px;display:grid}.time-log-day-column{border-left:1px solid var(--panel-border);min-width:0}.time-log-day-column:last-child{border-right:1px solid var(--panel-border)}.time-log-day-column.is-outside{background:color-mix(in srgb, var(--panel-2) 55%, transparent)}.time-log-timeline-heading{border:0;border-bottom:1px solid var(--panel-border);background:var(--panel-bg);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;grid-template-columns:auto auto 1fr;align-items:center;gap:5px;padding:7px;display:grid}.time-log-timeline-heading span,.time-log-timeline-heading small{color:var(--text-secondary);font-size:11px}.time-log-timeline-heading small{text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.time-log-timeline-track{background:repeating-linear-gradient(to bottom, transparent 0, transparent calc(4.166% - 1px), color-mix(in srgb, var(--panel-border) 65%, transparent) calc(4.166% - 1px), color-mix(in srgb, var(--panel-border) 65%, transparent) 4.166%);min-height:620px;position:relative}.time-log-timeline-entry{background:color-mix(in srgb, var(--accent-color) 18%, var(--panel-bg));border:0;border-left:3px solid var(--accent-color);color:var(--text-primary);text-align:left;cursor:pointer;border-radius:5px;flex-direction:column;gap:2px;padding:4px 5px;display:flex;position:absolute;left:4px;right:4px;overflow:hidden}.time-log-timeline-entry.is-overlap{background:color-mix(in srgb, #d97706 17%, var(--panel-bg));border-left-color:#d97706}.time-log-timeline-entry span,.time-log-timeline-entry small{color:var(--text-secondary);font-size:10px;line-height:1}.time-log-timeline-entry strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.time-log-dialog-backdrop{z-index:1000;background:#0f172a8a;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.time-log-dialog{border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--panel-bg);width:min(720px,100%);max-height:min(760px,100vh - 36px);color:var(--text-primary);flex-direction:column;display:flex;box-shadow:0 24px 64px #0f172a47}.time-log-dialog>header{border-bottom:1px solid var(--panel-border);justify-content:space-between;gap:12px;padding:17px 18px;display:flex}.time-log-dialog h3{margin:0;font-size:17px}.time-log-dialog p{color:var(--text-secondary);margin:4px 0 0;font-size:12px}.time-log-entry-list{padding:12px 18px 18px;overflow:auto}.time-log-empty-day{color:var(--text-secondary);padding:28px 18px}.time-log-entry-detail{border-bottom:1px solid var(--panel-border);padding:12px 0}.time-log-entry-detail:last-child{border-bottom:0}.time-log-entry-time{color:var(--text-secondary);font-size:12px}.time-log-entry-time strong{color:var(--text-primary);margin-left:auto}.time-log-entry-title{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:8px}.time-log-entry-title>div{gap:2px;display:grid}.time-log-entry-title strong{color:var(--text-primary)}.time-log-entry-title span,.time-log-entry-title small{color:var(--text-secondary);font-size:12px}.time-log-flags{flex-wrap:wrap;margin-top:8px}.time-log-flag,.time-log-deleted{background:var(--panel-2);color:var(--text-secondary);border-radius:999px;align-items:center;gap:3px;padding:3px 7px;font-size:11px;display:inline-flex}.time-log-flag.is-running{color:#047857}.time-log-flag.is-alert{color:#b45309}.time-log-deleted{color:#991b1b}.time-log-gap{align-items:center;gap:4px;display:inline-flex;color:#b45309!important}.time-log-notes{white-space:pre-wrap}@media (width<=720px){.time-log-summary{grid-template-columns:1fr}.time-log-header-actions{justify-content:flex-start}.time-log-day-cell,.time-log-empty-cell{min-height:64px}.time-log-day-cell{padding:5px}.time-log-day-cell strong{font-size:11px}.time-log-day-cell small{display:none}.time-log-weekdays span{padding:0 4px 5px;font-size:9px}.time-log-week-grid{min-width:0;display:block}.time-log-day-column{border-right:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);grid-template-columns:76px 1fr;display:grid}.time-log-day-column.is-outside{display:none}.time-log-timeline-heading{border-bottom:0;border-right:1px solid var(--panel-border);flex-direction:column;align-items:flex-start;display:flex}.time-log-timeline-heading small{text-align:left;white-space:normal}.time-log-timeline-track{background:var(--panel-bg);gap:7px;min-height:0;padding:7px;display:grid}.time-log-timeline-entry{min-height:46px;position:static;height:auto!important}.time-log-entry-title{flex-direction:column}.time-log-entry-title .btn-secondary{justify-content:center;width:100%}}.timer-setup-menu{border:1px solid var(--panel-border);background:var(--panel-bg);width:100%;color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:9px;padding:9px 10px;font-size:12px;display:flex}.timer-setup-menu:hover{background:var(--surface-hover);color:var(--text-primary)}.timer-setup-menu:focus-visible{outline:2px solid var(--text-secondary);outline-offset:2px}.app-topbar{gap:16px;padding:12px 24px!important}.app-topbar .topbar-create-task{white-space:nowrap;border-radius:var(--radius-md);box-shadow:0 4px 14px -4px rgba(var(--danger-rgb), .45);flex-shrink:0}@media (width<=767px){.app-topbar{gap:8px!important;padding:10px 12px!important}.app-topbar .topbar-create-task{justify-content:center;width:38px;padding:0!important}.topbar-create-task span{display:none}}.account-menu{max-width:calc(100vw - 24px);max-height:calc(100dvh - 88px);overflow-y:auto}.account-menu button{min-height:36px}.account-menu button:hover{background:var(--surface-hover)!important}.account-menu button svg{stroke-width:1.8px;flex-shrink:0;width:18px;height:18px}.account-menu .timer-setup-menu,.account-menu .mini-timer-menu{color:var(--text-primary);border-radius:5px;font-size:12.5px;background:0 0!important;border:0!important;padding:7px 10px!important}#topbar-timer-status{flex-shrink:0}#topbar-timer-status .topbar-timer>div>button{white-space:nowrap;align-items:center;gap:7px;height:38px;display:flex}.timer-header-warning summary{color:var(--warning-color);cursor:pointer;list-style:none}.timer-header-warning>div{background:var(--panel-bg);border:1px solid var(--panel-border);width:min(290px,80vw);box-shadow:var(--shadow-modal);border-radius:8px;padding:12px;position:absolute;top:calc(100% + 8px);right:0}@media (width<=767px){#topbar-timer-status .timer-state-label,#topbar-timer-status .timer-elapsed{display:none}}
