@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@300;400;500;600;700;800&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 2px 8px #4b4d500a, 0 1px 3px #4b4d5005;--hover-shadow:0 8px 24px #41969f1a, 0 2px 6px #41969f0d}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-color);background-image:var(--bg-gradient);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-attachment:fixed;min-height:100vh;margin:0;font-family:Inter,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0f172a14;border-radius:10px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#0f172a29}.panel-container{grid-template-columns:240px 1fr;height:100vh;display:grid;overflow:hidden}.main-content{flex-direction:column;gap:20px;padding:24px 32px;display:flex;overflow-y:auto}.glass-panel{background:var(--panel-bg);border:1px solid var(--panel-border);transition:all .2s var(--transition-bezier);-webkit-backdrop-filter:var(--glass-blur);border-radius:14px;padding:24px;box-shadow:0 4px 20px -2px #0f172a05,0 2px 6px -1px #0f172a05}.glass-panel:hover{border-color:#0f172a1a;box-shadow:0 10px 30px -10px #0f172a0a,0 2px 8px -2px #0f172a05}.wip-warning{animation:2s infinite pulse-wip-border;border-top:3.5px solid var(--danger-color)!important;box-shadow:0 12px 30px #ef444414!important}@keyframes pulse-wip-border{0%,to{border-color:#ef444433}50%{border-color:#ef444480}}.grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}h1{letter-spacing:-.02em;color:var(--text-primary);font-family:Outfit,sans-serif;font-size:22px;font-weight:700}h2{letter-spacing:-.01em;color:var(--text-primary);margin-bottom:10px;font-family:Outfit,sans-serif;font-size:15px;font-weight:600}h3{letter-spacing:-.01em;font-family:Outfit,sans-serif;font-size:13px;font-weight:600}input,select,textarea{width:100%;color:var(--text-primary);background:#fff;border:1px solid #0f172a14;border-radius:8px;outline:none;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 2px #0f172a03}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='%2364748b' stroke-width='2' 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:14px!important;padding-right:30px!important}input:hover,select:hover,textarea:hover{border-color:#0f172a26}.skip-link{background:var(--accent-color);color:#fff;z-index:100000;transition:top .2s var(--transition-bezier);border-radius:0 0 8px;padding:10px 20px;font-weight:700;text-decoration:none;position:absolute;top:-100px;left:0}.skip-link:focus{outline:none;top:0}button{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1)}.btn-primary{color:#fff;background:linear-gradient(135deg,#fd7763 0%,#e0624e 100%);border:1px solid #fd776333;box-shadow:0 4px 12px #fd776326,0 1px 2px #0000000d}.btn-primary:hover{border-color:#fd776366;transform:translateY(-1px);box-shadow:0 6px 16px #fd776340,0 2px 4px #0000000d}.btn-secondary{background:var(--panel-bg);color:var(--text-primary);border:1px solid var(--panel-border);box-shadow:0 1px 2px #0f172a05}.btn-secondary:hover{background:#fffffff2;border-color:#0f172a26;transform:translateY(-1px);box-shadow:0 2px 6px #0f172a0a}.btn-danger{color:var(--danger-color);background:#fef2f2;border:1px solid #fecaca}.btn-danger:hover{background:#fee2e2;border-color:#fca5a5}.menu-item.active{border-left:3px solid var(--accent-color);border-radius:8px;font-weight:600;color:var(--accent-color)!important;background:#6366f114!important}.menu-item.active svg{color:var(--accent-color)!important}.badge{color:var(--text-secondary);background:#0f172a0a;border:1px solid #0f172a0d;border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;display:inline-block}.badge-low{color:#10b981;background:#10b98114;border-color:#10b98126}.badge-medium{color:#d97706;background:#f59e0b14;border-color:#f59e0b26}.badge-high{color:#ef4444;background:#ef444414;border-color:#ef444426}.badge-not-started{color:#64748b;background:#94a3b814;border-color:#94a3b826}.badge-in-progress{color:#6366f1;background:#6366f114;border-color:#6366f126}.badge-completed{color:#10b981;background:#10b98114;border-color:#10b98126}.badge-hold{color:#ef4444;background:#ef444414;border-color:#ef444426}.badge-cust-sheet-updated{color:#8b5cf6;background:#8b5cf614;border-color:#8b5cf626}.badge-invoiced{color:#06b6d4;background:#06b6d414;border-color:#06b6d426}table{border-collapse:separate;border-spacing:0;text-align:left;width:100%}th{color:var(--text-secondary);border-bottom:1px solid var(--panel-border);text-transform:uppercase;letter-spacing:.06em;background:#0f172a05;padding:12px 16px;font-size:11px;font-weight:700}td{color:var(--text-primary);border-bottom:1px solid var(--panel-border);padding:12px 16px;font-size:13px;transition:background .15s}tr:hover td{background:#0f172a04}@keyframes pulse-timer{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.15)}}.timer-pulse{animation:1.5s infinite pulse-timer}.subtask-row{cursor:pointer;transition:all .15s!important}.subtask-row:hover{background:#f8fafc!important;border-color:#cbd5e1!important}.clickable-task-row{cursor:pointer;transition:all .1s}.clickable-task-row:hover td{background:#f8fafc!important}label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.quill{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.ql-toolbar.ql-snow{background:#f8fafc;border:none!important;border-bottom:1px solid #e2e8f0!important;padding:6px 10px!important}.ql-container.ql-snow{background:#fff;border:none!important;font-family:Inter,sans-serif!important;font-size:13px!important}.ql-editor{min-height:100px;padding:12px 14px!important}.bento-grid{grid-template-columns:repeat(12,1fr);gap:20px;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:#0f172a;--bg-gradient:none;--panel-bg:#1e293b;--panel-border:#334155;--glass-border:#334155;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--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;--card-shadow:0 2px 8px #0003, 0 1px 3px #0000001a;--hover-shadow:0 8px 24px #5eead414, 0 2px 6px #00000026}[data-theme=dark] body{background:var(--bg-color);color:var(--text-primary)}[data-theme=dark] .glass-panel,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--panel-bg);border-color:var(--panel-border);color:var(--text-primary)}[data-theme=dark] th{color:var(--text-primary);border-color:var(--panel-border);background:#1e293b}[data-theme=dark] td{border-color:var(--panel-border)}[data-theme=dark] tr:hover td{background:rgba(var(--accent-rgb), .04)}[data-theme=dark] .btn-primary{color:#fff;background:linear-gradient(135deg,#fd7763 0%,#e0624e 100%);border-color:#fd776333}[data-theme=dark] .btn-primary:hover{background:#e0624e;border-color:#e0624e}[data-theme=dark] .btn-secondary{background:var(--panel-bg);color:var(--text-primary);border-color:var(--panel-border)}[data-theme=dark] .btn-secondary:hover{border-color:var(--panel-border);background:#ffffff0a}[data-theme=dark] .menu-item.active{background:rgba(var(--accent-rgb), .08)!important;color:var(--accent-color)!important}[data-theme=dark] .ql-toolbar.ql-snow{background:#1e293b;border-color:var(--panel-border)!important}[data-theme=dark] .ql-container.ql-snow{background:var(--panel-bg);border-color:var(--panel-border)!important}[data-theme=dark] .badge-not-started{color:var(--text-secondary);background:#334155;border-color:#475569}[data-theme=dark] .subtask-row:hover{background:rgba(var(--accent-rgb), .04)!important;border-color:var(--panel-border)!important}:root{--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-2xl:32px;--focus-ring:0 0 0 3px rgba(var(--accent-rgb), .1), 0 0 0 2px var(--accent-color);--focus-ring-dark:0 0 0 3px rgba(var(--accent-rgb), .2), 0 0 0 2px var(--accent-color);--text-secondary:#62778c;--text-muted:#8a94a6}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:focus,select:focus,textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .1)}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .15)}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{color:var(--text-muted);cursor:not-allowed;opacity:.6;background:#f5f7fa}[data-theme=dark] input.input-disabled,[data-theme=dark] select.input-disabled,[data-theme=dark] textarea.input-disabled{background:#1e293b}.form-error{color:var(--danger-color);align-items:center;gap:4px;margin-top:4px;font-size:12px;display:flex}.form-success{color:var(--success-color);align-items:center;gap:4px;margin-top:4px;font-size:12px;display:flex}.form-hint{color:var(--text-muted);margin-top:4px;font-size:12px}.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{color:var(--text-muted);background:#f1f5f9;border-color:#cbd5e1}[data-theme=dark] .btn-primary:disabled{background:#475569;border-color:#475569}[data-theme=dark] .btn-secondary:disabled{color:#64748b;background:#1e293b;border-color:#334155}.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,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 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,#1e293b 25%,#334155 50%,#1e293b 75%) 0 0/200% 100%;animation:1.5s infinite loading}.modal-overlay{z-index:9998;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;max-width:90vw;max-height:90vh;animation:.3s ease-out slideUp;display:flex;box-shadow:0 20px 50px #00000026}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{margin:0;font-size:18px;font-weight:600}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--panel-border);justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}.table-header{border-bottom:1px solid var(--panel-border);background:#f8fafc;border-radius:8px 8px 0 0;align-items:center;gap:12px;padding:16px;display:flex}.table-header-with-actions{justify-content:space-between}.table-column-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;transition:background .2s;display:flex}.table-column-header:hover{background:#0000000d}.sort-indicator{opacity:.5;font-size:10px}.sort-indicator.active{opacity:1;color:var(--accent-color)}.table-row.selected{background:rgba(var(--accent-rgb), .05)!important;border-left:3px solid var(--accent-color)!important}.sticky-action-toolbar{background:var(--accent-color);color:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-top:12px;padding:12px 16px;animation:.2s ease-out slideUp;display:flex;position:sticky;bottom:0}.sticky-action-toolbar-text{font-weight:500}.sticky-action-toolbar-actions{gap:12px;display:flex}.empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:60px 20px;display:flex}.empty-state-icon{opacity:.2;margin-bottom:20px;font-size:80px}.empty-state-title{color:var(--text-primary);margin-bottom:8px;font-size:18px;font-weight:600}.empty-state-description{color:var(--text-secondary);max-width:320px;margin-bottom:24px;font-size:14px}.empty-state-action{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 16px;font-weight:500;transition:all .2s;display:inline-flex}.empty-state-action:hover{background:var(--accent-hover);box-shadow:0 4px 12px rgba(var(--accent-rgb), .3);transform:translateY(-2px)}.mobile-menu-toggle{cursor:pointer;color:var(--text-primary);background:0 0;border:none;padding:8px;display:none}@media (width<=768px){.panel-container{grid-template-columns:1fr}.mobile-menu-toggle{display:flex}.main-content{gap:16px;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:16px;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:#0f172a}[data-theme=dark] .modal-header,[data-theme=dark] .modal-footer{border-color:#1e293b}[data-theme=dark] .table-column-header:hover{background:#ffffff0d}[data-theme=dark] .sticky-action-toolbar{background:var(--accent-color)}.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;align-items:center;gap:8px;font-size:12px;font-weight:600;transition:color .2s;display:flex}.custom-checkbox-container:hover{color:var(--text-primary)}.custom-checkbox-input{appearance:none;background-color:var(--panel-bg);cursor:pointer;border:1.5px solid #0f172a26;border-radius:4px;outline:none;justify-content:center;align-items:center;width:16px;height:16px;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:8px;position:absolute;top:1px;transform:rotate(45deg)}.custom-checkbox-input:focus-visible{box-shadow:0 0 0 3px #6366f133}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.page-entrance{animation:.35s ease-out pageFadeIn}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}button:not(:active):hover{transform:translateY(-1px)}button:active{transform:translateY(1px)scale(.98)}.shortcut-hint{color:var(--text-muted);background:#0f172a0d;border:1px solid #0f172a14;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:10px;font-weight:500}
