@import "https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-color:#fefffe;--bg-gradient:none;--panel-bg:#fff;--panel-border:#dbdbdc;--glass-border:#dbdbdc;--text-primary:#4b4d50;--text-secondary:#6c6e73;--text-muted:#8c8f94;--accent-color:#41969f;--accent-hover:#367e86;--accent-rgb:65, 150, 159;--accent-gradient:linear-gradient(135deg, #41969f 0%, #367e86 100%);--success-color:#41969f;--success-rgb:65, 150, 159;--warning-color:#f59e0b;--warning-rgb:245, 158, 11;--danger-color:#fd7763;--danger-rgb:253, 119, 99;--info-color:#77c5cc;--info-rgb:119, 197, 204;--glass-blur:blur(12px);--transition-bezier:cubic-bezier(.16, 1, .3, 1);--card-shadow:0 1px 0 #4b4d5008, 0 1px 2px #4b4d5005;--hover-shadow:0 1px 0 #4b4d500a, 0 4px 12px #4b4d500a;--font-sans:"Geist", "Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-display:var(--font-sans);--spacing-xs:4px;--spacing-sm:6px;--spacing-md:10px;--spacing-lg:14px;--spacing-xl:20px;--spacing-2xl:28px;--hairline:#4b4d5014;--hairline-strong:#4b4d5024;--surface-hover:#4b4d5009;--surface-active:#41969f12;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--focus-ring:0 0 0 3px rgba(var(--accent-rgb), .16);--focus-ring-dark:0 0 0 3px rgba(var(--accent-rgb), .24)}*{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)}.panel-container{grid-template-columns:232px 1fr;height:100vh;display:grid;overflow:hidden}.main-content{flex-direction:column;gap:18px;padding:20px 28px 28px;display:flex;overflow-y:auto}.glass-panel{background:var(--panel-bg);border:1px solid var(--hairline);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-sans);letter-spacing:-.01em;color:var(--text-primary);font-size:17px;font-weight:600;line-height:1.25}h2{font-family:var(--font-sans);letter-spacing:-.005em;color:var(--text-primary);margin-bottom:10px;font-size:13.5px;font-weight:600}h3{font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:600}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:var(--accent-color);color:#fff;border:1px solid var(--accent-color);font-weight:500;box-shadow:0 1px #0000000a}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 4px 12px rgba(var(--accent-rgb), .22)}.btn-secondary{background:var(--panel-bg);color:var(--text-primary);border:1px solid var(--hairline-strong)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--text-muted)}.btn-danger{color:var(--danger-color);background:0 0;border:1px solid #fd776359}.btn-danger:hover{border-color:var(--danger-color);background:#fd77630f}.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{font-size:10.5px;font-weight:600;font-family:var(--font-sans);letter-spacing:.01em;background:var(--surface-hover);border:1px solid var(--hairline);color:var(--text-secondary);border-radius:4px;align-items:center;gap:5px;padding:2.5px 7px;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}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:#0f1419;--bg-gradient:none;--panel-bg:#181d24;--panel-border:#283447;--glass-border:#283447;--text-primary:#e8ecf0;--text-secondary:#9aa3ad;--text-muted:#6c7682;--accent-color:#5eead4;--accent-hover:#2dd4bf;--accent-rgb:94, 234, 212;--accent-gradient:linear-gradient(135deg, #5eead4 0%, #2dd4bf 100%);--success-color:#5eead4;--success-rgb:94, 234, 212;--warning-color:#fbbf24;--warning-rgb:251, 191, 36;--danger-color:#f87171;--danger-rgb:248, 113, 113;--info-color:#67e8f9;--info-rgb:103, 232, 249;--hairline:#ffffff0f;--hairline-strong:#ffffff1f;--surface-hover:#ffffff08;--surface-active:#5eead417;--card-shadow:0 1px 0 #0000004d, 0 1px 3px #0000002e;--hover-shadow:0 1px 0 #0006, 0 6px 16px #0003}[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:var(--accent-color);color:#0f1419;border-color:var(--accent-color)}[data-theme=dark] .btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}[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}button:focus-visible{box-shadow:var(--focus-ring);outline:none}[data-theme=dark] button: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: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:#0f172a52;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--panel-bg);border:1px solid var(--hairline-strong);border-radius:var(--radius-lg);max-width:90vw;max-height:90vh;animation:slideUp .25s var(--transition-bezier);flex-direction:column;display:flex;box-shadow:0 24px 60px #0f172a29}@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-sans);letter-spacing:-.005em;margin:0;font-size:15px;font-weight:600}.modal-body{flex:1;padding:22px;overflow-y:auto}.modal-footer{border-top:1px solid var(--hairline);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);margin-bottom:6px;font-size:15px;font-weight:600}.empty-state-description{color:var(--text-secondary);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<=1024px){.bento-card{grid-column:span 6}.bento-card-large{grid-column:span 12}}[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}}.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)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.page-entrance{animation:pageFadeIn .3s var(--transition-bezier)}@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-sans);letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1}.display-serif{font-family:var(--font-sans);letter-spacing:-.005em;font-weight:600}.meta-mono{font-family:var(--font-mono);letter-spacing:0;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}
