@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&family=Fira+Code:wght@400;500;600&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,sans-serif;background:var(--bg-base);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color var(--transition),color var(--transition)}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:999}:root{--bg-canvas: #0d0d12;--bg-layer-1: #18181f;--bg-layer-2: #222229;--bg-layer-3: #2d2d36;--bg-interactive: #38383f;--text-stark: #ffffff;--text-base: #e4e4e9;--text-soft: #9999a8;--text-ghost: #5a5a6b;--line-sharp: #32323c;--line-bold: #47475a;--line-electric: #5d5d7a;--electric-cyan: #00ffff;--electric-cyan-dim: rgba(0, 255, 255, .15);--electric-cyan-glow:rgba(0, 255, 255, .35);--electric-lime: #ccff00;--electric-lime-dim: rgba(204, 255, 0, .15);--neon-pink: #ff10f0;--neon-pink-dim: rgba(255, 16, 240, .15);--neon-pink-glow: rgba(255, 16, 240, .4);--hazard-yellow: #ffff00;--hazard-yellow-dim: rgba(255, 255, 0, .15);--plasma-purple: #8b5cf6;--plasma-purple-dim: rgba(139, 92, 246, .15);--alert-red: #ff3366;--alert-red-dim: rgba(255, 51, 102, .15);--alert-red-glow: rgba(255, 51, 102, .4);--success-green: #00ff88;--success-green-dim: rgba(0, 255, 136, .15);--success-green-glow:rgba(0, 255, 136, .35);--shadow-brutal-sm: 4px 4px 0 rgba(0, 0, 0, .5);--shadow-brutal-md: 6px 6px 0 rgba(0, 0, 0, .5);--shadow-brutal-lg: 8px 8px 0 rgba(0, 0, 0, .5);--shadow-brutal-xl: 12px 12px 0 rgba(0, 0, 0, .5);--shadow-neon-cyan: 0 0 20px var(--electric-cyan-glow), 0 0 40px rgba(0, 255, 255, .2);--shadow-neon-pink: 0 0 20px var(--neon-pink-glow), 0 0 40px rgba(255, 16, 240, .2);--shadow-neon-green: 0 0 20px var(--success-green-glow), 0 0 40px rgba(0, 255, 136, .2);--corner-none: 0;--corner-tiny: 2px;--corner-small: 4px;--corner-med: 6px;--corner-large: 8px;--gap-1: 4px;--gap-2: 8px;--gap-3: 12px;--gap-4: 16px;--gap-5: 20px;--gap-6: 24px;--gap-8: 32px;--gap-10: 40px;--gap-12: 48px;--gap-16: 64px;--snap-instant: 80ms ease-out;--snap-quick: .15s ease-out;--snap-normal: .25s ease-out;--snap-smooth: .35s cubic-bezier(.22, .68, 0, 1.2);--type-display: "Space Grotesk", "Arial Black", sans-serif;--type-heading: "JetBrains Mono", "Courier New", monospace;--type-body: "IBM Plex Sans", -apple-system, system-ui, sans-serif;--type-code: "Fira Code", "Courier New", monospace;--size-xs: 11px;--size-sm: 13px;--size-md: 15px;--size-lg: 17px;--size-xl: 20px;--size-2xl: 28px;--size-3xl: 36px;--size-4xl: 48px;--leading-tight: 1.2;--leading-normal: 1.5;--leading-loose: 1.8;--layer-base: 0;--layer-elevated: 10;--layer-floating: 50;--layer-modal: 100;--layer-alert: 200}[data-theme=light]{--bg-canvas: #f5f5f5;--bg-layer-1: #ffffff;--bg-layer-2: #fafafa;--bg-layer-3: #eeeeee;--bg-interactive: #e0e0e0;--text-stark: #000000;--text-base: #1a1a1a;--text-soft: #666666;--text-ghost: #999999;--line-sharp: #d0d0d0;--line-bold: #b0b0b0;--line-electric: #8a8a8a;--electric-cyan: #00cccc;--electric-cyan-dim: rgba(0, 204, 204, .1);--electric-cyan-glow:rgba(0, 204, 204, .25);--neon-pink: #ff0099;--neon-pink-dim: rgba(255, 0, 153, .1);--neon-pink-glow: rgba(255, 0, 153, .3);--success-green: #00cc66;--success-green-dim: rgba(0, 204, 102, .1);--success-green-glow:rgba(0, 204, 102, .25);--alert-red: #ff0033;--alert-red-dim: rgba(255, 0, 51, .1);--alert-red-glow: rgba(255, 0, 51, .3);--shadow-brutal-sm: 3px 3px 0 rgba(0, 0, 0, .15);--shadow-brutal-md: 4px 4px 0 rgba(0, 0, 0, .15);--shadow-brutal-lg: 6px 6px 0 rgba(0, 0, 0, .15);--shadow-brutal-xl: 8px 8px 0 rgba(0, 0, 0, .15)}body{font-family:var(--type-body);font-size:var(--size-md);line-height:var(--leading-normal);background:var(--bg-canvas);color:var(--text-base);transition:none}body:before{content:"";position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,255,.015) 2px,rgba(0,255,255,.015) 4px);pointer-events:none;z-index:var(--layer-alert);mix-blend-mode:overlay}body:after{content:"";position:fixed;inset:0;background-image:linear-gradient(var(--line-sharp) 1px,transparent 1px),linear-gradient(90deg,var(--line-sharp) 1px,transparent 1px);background-size:40px 40px;opacity:.05;pointer-events:none;z-index:var(--layer-base)}.dashboard{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1000px;margin:0 auto;padding:0 var(--gap-6);width:100%}.dashboard-header{position:sticky;top:0;z-index:var(--layer-floating);background:var(--bg-layer-1);border-bottom:3px solid var(--electric-cyan);padding:var(--gap-4) var(--gap-6);display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--gap-4);box-shadow:var(--shadow-brutal-sm)}.dashboard-header:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:3px;background:var(--electric-cyan);box-shadow:var(--shadow-neon-cyan)}.header-left h1{font-family:var(--type-display);font-size:var(--size-3xl);font-weight:700;letter-spacing:-.03em;text-transform:uppercase;color:var(--text-stark);margin:0;line-height:var(--leading-tight)}.header-left h1:first-letter{color:var(--electric-cyan);text-shadow:2px 0 var(--neon-pink),-2px 0 var(--electric-lime)}.header-left p{font-family:var(--type-code);font-size:var(--size-xs);color:var(--text-ghost);text-transform:uppercase;letter-spacing:.1em;margin-top:var(--gap-1)}.header-right{display:flex;align-items:center;gap:var(--gap-2)}.theme-toggle,.menu-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-layer-2);border:2px solid var(--line-sharp);font-size:var(--size-xl);cursor:pointer;color:var(--text-soft);transition:var(--snap-instant);position:relative}.theme-toggle:hover,.menu-btn:hover{border-color:var(--electric-cyan);color:var(--electric-cyan);transform:translate(-2px,-2px);box-shadow:2px 2px 0 var(--electric-cyan)}.theme-toggle:active,.menu-btn:active{transform:translate(0);box-shadow:none}.dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + var(--gap-2));right:0;min-width:200px;background:var(--bg-layer-1);border:3px solid var(--line-sharp);padding:var(--gap-2);z-index:var(--layer-elevated);box-shadow:var(--shadow-brutal-md)}.dropdown-menu button,.dropdown-menu .dropdown-item{width:100%;text-align:left;padding:var(--gap-3) var(--gap-4);background:transparent;color:var(--text-base);border:none;border-left:3px solid transparent;font-family:var(--type-heading);font-size:var(--size-sm);font-weight:500;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;transition:var(--snap-instant)}.dropdown-menu button:hover,.dropdown-menu .dropdown-item:hover{background:var(--bg-layer-2);border-left-color:var(--electric-cyan);padding-left:calc(var(--gap-4) + 4px)}.dropdown-menu button.danger,.dropdown-menu .dropdown-item.danger{color:var(--alert-red)}.dropdown-menu button.danger:hover,.dropdown-menu .dropdown-item.danger:hover{background:var(--alert-red-dim);border-left-color:var(--alert-red)}.dashboard-main{flex:1;padding:var(--gap-8) 0 var(--gap-12)}.day-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--gap-2);margin-bottom:var(--gap-6);border:3px solid var(--line-sharp);padding:var(--gap-2);background:var(--bg-layer-1);position:relative}.day-tabs:before,.day-tabs:after{content:"";position:absolute;width:12px;height:12px;border:3px solid var(--electric-cyan)}.day-tabs:before{top:-3px;left:-3px;border-right:none;border-bottom:none}.day-tabs:after{bottom:-3px;right:-3px;border-left:none;border-top:none}.day-tab{position:relative;background:var(--bg-layer-2);border:2px solid var(--line-sharp);color:var(--text-soft);font-family:var(--type-heading);font-weight:600;font-size:var(--size-sm);padding:var(--gap-4) var(--gap-2);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;transition:var(--snap-instant);overflow:hidden}.day-tab:after{content:attr(data-day);position:absolute;bottom:var(--gap-1);right:var(--gap-1);font-size:var(--size-xs);color:var(--text-ghost);font-weight:400;letter-spacing:.05em}.day-tab:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--electric-cyan);transform:scaleX(0);transform-origin:left;transition:transform var(--snap-quick)}.day-tab>span{display:block;position:relative}.day-tab>span:before{content:"//";position:absolute;left:-8px;color:var(--electric-cyan);opacity:0;transition:opacity var(--snap-quick)}.day-tab:hover{background:var(--bg-layer-3);border-color:var(--line-bold);color:var(--text-base);transform:translateY(-2px);box-shadow:0 2px 0 var(--line-sharp)}.day-tab:hover>span:before{opacity:.5}.day-tab.active{background:var(--electric-cyan-dim);border-color:var(--electric-cyan);color:var(--electric-cyan);box-shadow:inset 0 0 20px var(--electric-cyan-glow)}.day-tab.active:before{transform:scaleX(1)}.day-tab.active>span:before{opacity:1}.day-tab.active{animation:tabPulse 2s ease-in-out infinite}@keyframes tabPulse{0%,to{box-shadow:inset 0 0 20px var(--electric-cyan-glow)}50%{box-shadow:inset 0 0 30px var(--electric-cyan-glow),0 0 10px var(--electric-cyan-glow)}}.controls-row{display:flex;align-items:center;gap:var(--gap-3);margin-bottom:var(--gap-6);flex-wrap:wrap}.filter-bar{flex:1;min-width:260px;position:relative}.filter-bar svg{position:absolute;left:var(--gap-3);top:50%;transform:translateY(-50%);color:var(--text-ghost);pointer-events:none;z-index:1}.filter-bar input{width:100%;padding:var(--gap-3) var(--gap-4) var(--gap-3) var(--gap-10);background:var(--bg-layer-2);border:2px solid var(--line-sharp);border-left:4px solid var(--line-sharp);color:var(--text-base);font-family:var(--type-code);font-size:var(--size-md);outline:none;transition:var(--snap-instant)}.filter-bar input::placeholder{color:var(--text-ghost);text-transform:uppercase;font-size:var(--size-sm);letter-spacing:.05em}.filter-bar input:focus{border-color:var(--electric-cyan);border-left-color:var(--electric-cyan);border-left-width:6px;box-shadow:inset 0 0 20px var(--electric-cyan-dim)}.filter-bar input:focus~svg{color:var(--electric-cyan)}.stats-pill{display:flex;flex-direction:column;align-items:center;padding:var(--gap-2) var(--gap-4);background:var(--bg-layer-2);border:2px solid var(--line-sharp);border-top:3px solid var(--electric-cyan);min-width:85px}.stats-pill strong{font-family:var(--type-heading);font-size:var(--size-lg);font-weight:700;color:var(--electric-cyan);text-shadow:0 0 10px var(--electric-cyan-glow)}.stats-pill span{font-family:var(--type-code);font-size:var(--size-xs);color:var(--text-ghost);text-transform:uppercase;letter-spacing:.1em;margin-top:var(--gap-1)}.btn-add{display:inline-flex;align-items:center;gap:var(--gap-2);padding:var(--gap-3) var(--gap-6);background:var(--electric-cyan);color:var(--bg-canvas);border:3px solid var(--electric-cyan);font-family:var(--type-heading);font-weight:700;font-size:var(--size-md);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;transition:var(--snap-instant);box-shadow:var(--shadow-brutal-sm);position:relative}.btn-add span{font-size:var(--size-xl);font-weight:700}.btn-add:hover{transform:translate(-3px,-3px);box-shadow:3px 3px 0 var(--bg-canvas),var(--shadow-neon-cyan)}.btn-add:active{transform:translate(0);box-shadow:none}.cards-list{display:flex;flex-direction:column;gap:var(--gap-3);margin-bottom:var(--gap-8)}.card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--gap-4);padding:var(--gap-4) var(--gap-5);background:var(--bg-layer-1);border:3px solid var(--line-sharp);border-left:6px solid var(--electric-cyan);transition:var(--snap-instant);position:relative;box-shadow:var(--shadow-brutal-sm)}.card:hover{border-left-width:8px;transform:translate(-2px,-2px);box-shadow:2px 2px 0 var(--line-sharp)}.card:hover .actions{opacity:1;transform:translate(0)}.card.done{opacity:.5;border-left-color:var(--text-ghost)}.card.done .card-content h3{text-decoration:line-through;color:var(--text-ghost)}.card.done .checkbox-inner{background:var(--success-green);border-color:var(--success-green)}.card.done .checkbox-inner:after{opacity:1;transform:scale(1) rotate(45deg)}.card-checkbox{width:32px;height:32px;flex-shrink:0;cursor:pointer}.card-checkbox .checkbox-inner{width:100%;height:100%;border:3px solid var(--line-bold);background:var(--bg-layer-2);transition:var(--snap-instant);position:relative}.card-checkbox .checkbox-inner:after{content:"";position:absolute;top:4px;left:10px;width:6px;height:14px;border:solid var(--bg-canvas);border-width:0 3px 3px 0;opacity:0;transform:scale(0) rotate(0);transition:all var(--snap-quick)}.card-checkbox:hover .checkbox-inner{border-color:var(--electric-cyan);border-width:4px}.card-content{flex:1;min-width:0}.card-content h3{font-family:var(--type-body);font-weight:600;font-size:var(--size-lg);color:var(--text-stark);margin-bottom:var(--gap-1);letter-spacing:-.01em}.card-content .card-meta{display:flex;align-items:center;gap:var(--gap-3);font-size:var(--size-sm)}.card-content .card-meta .time-range{font-family:var(--type-code);font-size:var(--size-xs);padding:var(--gap-1) var(--gap-2);background:var(--plasma-purple-dim);border-left:3px solid var(--plasma-purple);color:var(--plasma-purple);font-weight:600;letter-spacing:.05em}.card-content .card-meta .duration{padding:var(--gap-1) var(--gap-2);background:var(--electric-cyan-dim);border-left:3px solid var(--electric-cyan);font-family:var(--type-code);font-size:var(--size-xs);color:var(--electric-cyan);font-weight:700;text-transform:uppercase}.actions{display:flex;gap:var(--gap-2);opacity:0;transform:translate(10px);transition:all var(--snap-quick)}.actions button{padding:var(--gap-2) var(--gap-3);background:var(--bg-layer-2);border:2px solid var(--line-sharp);color:var(--text-base);font-family:var(--type-heading);font-size:var(--size-xs);font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;transition:var(--snap-instant)}.actions button:hover{background:var(--bg-layer-3);border-color:var(--line-bold);transform:translate(-1px,-1px);box-shadow:1px 1px 0 var(--line-sharp)}.actions button.action-delete:hover{background:var(--alert-red-dim);color:var(--alert-red);border-color:var(--alert-red);box-shadow:1px 1px 0 var(--alert-red),var(--shadow-neon-pink)}.empty-state{text-align:center;padding:var(--gap-12) var(--gap-6);border:3px dashed var(--line-sharp);background:var(--bg-layer-1)}.empty-state .empty-icon{font-size:4rem;margin-bottom:var(--gap-4);opacity:.3;filter:grayscale(1)}.empty-state p{color:var(--text-soft);font-family:var(--type-heading);font-size:var(--size-lg);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--gap-6)}.btn-secondary{padding:var(--gap-3) var(--gap-6);background:var(--bg-layer-2);border:3px solid var(--line-sharp);font-family:var(--type-heading);font-weight:600;font-size:var(--size-md);cursor:pointer;color:var(--text-base);text-transform:uppercase;letter-spacing:.05em;transition:var(--snap-instant)}.btn-secondary:hover{background:var(--bg-layer-3);border-color:var(--line-bold);transform:translate(-2px,-2px);box-shadow:2px 2px 0 var(--line-sharp)}.modal-backdrop{position:fixed;inset:0;background:#000000d9;z-index:var(--layer-modal);display:flex;align-items:center;justify-content:center;padding:var(--gap-6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-backdrop:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,255,.03) 2px,rgba(0,255,255,.03) 4px);pointer-events:none}.modal{width:100%;max-width:580px;background:var(--bg-layer-1);border:4px solid var(--electric-cyan);padding:var(--gap-8);box-shadow:var(--shadow-brutal-xl),var(--shadow-neon-cyan);max-height:90vh;overflow-y:auto}.modal::-webkit-scrollbar{width:8px}.modal::-webkit-scrollbar-track{background:var(--bg-layer-2)}.modal::-webkit-scrollbar-thumb{background:var(--electric-cyan);border:2px solid var(--bg-layer-2)}.modal h3{font-family:var(--type-display);font-size:var(--size-3xl);font-weight:700;text-transform:uppercase;color:var(--electric-cyan);margin-bottom:var(--gap-6);letter-spacing:-.02em;text-shadow:2px 2px 0 var(--neon-pink)}.modal .form-group{margin-bottom:var(--gap-5)}.modal .form-group label{display:block;font-family:var(--type-heading);font-size:var(--size-xs);font-weight:600;color:var(--text-soft);margin-bottom:var(--gap-2);text-transform:uppercase;letter-spacing:.1em}.modal .form-group input,.modal .form-group select{width:100%;padding:var(--gap-3) var(--gap-4);background:var(--bg-layer-2);border:2px solid var(--line-sharp);border-left:4px solid var(--line-sharp);color:var(--text-base);font-family:var(--type-body);font-size:var(--size-md);outline:none;transition:var(--snap-instant)}.modal .form-group input::placeholder,.modal .form-group select::placeholder{color:var(--text-ghost)}.modal .form-group input:focus,.modal .form-group select:focus{border-color:var(--electric-cyan);border-left-width:6px;box-shadow:inset 0 0 20px var(--electric-cyan-dim)}.modal .form-group select{cursor:pointer}.modal .actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-3);margin-top:var(--gap-8);opacity:1;transform:none}.modal .actions button{padding:var(--gap-4);font-family:var(--type-heading);font-weight:700;font-size:var(--size-md);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;transition:var(--snap-instant);border:none}.modal .actions button.btn-primary{background:var(--electric-cyan);color:var(--bg-canvas);border:3px solid var(--electric-cyan);box-shadow:var(--shadow-brutal-md)}.modal .actions button.btn-primary:hover{transform:translate(-3px,-3px);box-shadow:3px 3px 0 var(--bg-canvas),var(--shadow-neon-cyan)}.modal .actions button.btn-secondary{background:var(--bg-layer-2);color:var(--text-base);border:3px solid var(--line-sharp)}.modal .actions button.btn-secondary:hover{background:var(--bg-layer-3);border-color:var(--line-bold);transform:translate(-2px,-2px);box-shadow:2px 2px 0 var(--line-sharp)}.modal .actions button:active{transform:translate(0);box-shadow:none}.chart-section{padding:var(--gap-6);background:var(--bg-layer-1);border:3px solid var(--line-sharp);border-top:4px solid var(--neon-pink);box-shadow:var(--shadow-brutal-md);position:relative}.chart-section:before,.chart-section:after{content:"";position:absolute;width:12px;height:12px;border:3px solid var(--neon-pink)}.chart-section:before{top:-3px;right:-3px;border-left:none;border-bottom:none}.chart-section:after{bottom:-3px;left:-3px;border-right:none;border-top:none}.chart-title{font-family:var(--type-display);font-size:var(--size-xl);font-weight:700;text-transform:uppercase;color:var(--text-stark);margin-bottom:var(--gap-6);letter-spacing:.05em}.chart-title:first-letter{color:var(--neon-pink)}.chart-bars{display:flex;flex-direction:column;gap:var(--gap-4);margin-bottom:var(--gap-6)}.bar{display:grid;grid-template-columns:90px 1fr 110px;align-items:center;gap:var(--gap-3);position:relative}.bar:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:80%;background:var(--success-green);transition:background var(--snap-quick)}.bar.bar-active:before{background:var(--electric-cyan)}.bar.bar-busy:before{background:var(--hazard-yellow)}.bar.bar-maxed:before{background:var(--alert-red);box-shadow:0 0 10px var(--alert-red-glow)}.bar .bar-label{font-family:var(--type-heading);font-size:var(--size-sm);font-weight:700;color:var(--text-base);text-transform:uppercase;letter-spacing:.05em;display:flex;flex-direction:column;gap:var(--gap-1)}.bar .bar-label .bar-status{font-size:var(--size-xs);font-weight:600;font-family:var(--type-code);text-shadow:0 0 8px currentColor}.bar .bar-value{font-family:var(--type-code);font-size:var(--size-sm);font-weight:700;color:var(--text-base);text-align:right;display:flex;flex-direction:column;gap:var(--gap-1)}.bar .bar-value .bar-available{font-size:var(--size-xs);color:var(--text-ghost);font-weight:500}.bar-track{height:24px;background:var(--bg-layer-2);border:2px solid var(--line-sharp);overflow:hidden;position:relative}.bar-track:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent,transparent calc(4.1666666667% - 1px),var(--line-sharp) calc(4.1666666667% - 1px),var(--line-sharp) 4.1666666667%);pointer-events:none;opacity:.3;z-index:1}.bar-fill{height:100%;transition:width .6s cubic-bezier(.22,1,.36,1);position:relative}.bar-fill.total{background:var(--electric-cyan-dim);border-right:3px solid var(--electric-cyan);position:relative}.bar-fill.total:after{content:attr(data-hours);position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:var(--type-code);font-size:var(--size-xs);font-weight:700;color:var(--electric-cyan);text-shadow:0 0 8px var(--electric-cyan-glow);padding:0 var(--gap-1);background:var(--bg-layer-2)}.bar-fill.completed{position:absolute;left:0;top:0;background:var(--success-green);border:none;box-shadow:inset 0 0 20px var(--success-green-glow);z-index:2}.chart-legend{display:flex;gap:var(--gap-6);justify-content:center;padding:var(--gap-4) 0;border-top:2px solid var(--line-sharp);border-bottom:2px solid var(--line-sharp);margin-bottom:var(--gap-4)}.legend-item{display:flex;align-items:center;gap:var(--gap-2);font-family:var(--type-heading);font-size:var(--size-xs);font-weight:600;color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em}.legend-item .legend-dot{width:16px;height:16px;border:2px solid currentColor}.legend-item .legend-dot.total{background:var(--electric-cyan-dim);border-color:var(--electric-cyan)}.legend-item .legend-dot.completed{background:var(--success-green);border-color:var(--success-green);box-shadow:0 0 10px var(--success-green-glow)}.chart-capacity-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-2);padding-top:var(--gap-4)}.capacity-item{display:flex;align-items:center;gap:var(--gap-2);font-family:var(--type-code);font-size:var(--size-xs);color:var(--text-soft);padding:var(--gap-2);background:var(--bg-layer-2);border:1px solid var(--line-sharp);border-left:3px solid var(--success-green)}.capacity-item .capacity-indicator{width:12px;height:12px;background:var(--success-green);box-shadow:0 0 8px var(--success-green-glow)}.capacity-item.active{border-left-color:var(--electric-cyan)}.capacity-item.active .capacity-indicator{background:var(--electric-cyan);box-shadow:0 0 8px var(--electric-cyan-glow)}.capacity-item.busy{border-left-color:var(--hazard-yellow)}.capacity-item.busy .capacity-indicator{background:var(--hazard-yellow);box-shadow:0 0 8px #ffff0080}.capacity-item.maxed{border-left-color:var(--alert-red)}.capacity-item.maxed .capacity-indicator{background:var(--alert-red);box-shadow:0 0 8px var(--alert-red-glow);animation:alertPulse 1.5s ease-in-out infinite}@keyframes alertPulse{0%,to{opacity:1;box-shadow:0 0 8px var(--alert-red-glow)}50%{opacity:.6;box-shadow:0 0 16px var(--alert-red-glow)}}@media(max-width:768px){.dashboard-header{padding:var(--gap-3) var(--gap-4)}.dashboard-header .header-left h1{font-size:var(--size-2xl)}.controls-row .filter-bar{flex:1 1 100%;order:-1}.day-tabs{gap:var(--gap-1)}.day-tab{font-size:var(--size-xs);padding:var(--gap-3) var(--gap-2)}.day-tab:after{font-size:9px}.bar{grid-template-columns:80px 1fr 100px}.chart-capacity-legend{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.day-tabs{display:flex;overflow-x:auto;gap:var(--gap-2);padding:var(--gap-2);scroll-snap-type:x mandatory}.day-tabs::-webkit-scrollbar{display:none}.day-tabs:before,.day-tabs:after{width:8px;height:8px;border-width:2px}.day-tab{min-width:90px;flex:0 0 auto;scroll-snap-align:start;padding:var(--gap-3);font-size:var(--size-xs)}.day-tab:after{display:none}.day-tab:hover{transform:none;box-shadow:none}.bar{grid-template-columns:1fr;gap:var(--gap-2);padding-left:10px}.bar:before{height:100%;top:0;transform:none}.bar-label,.bar-value{text-align:left;font-size:var(--size-xs)}.bar-track{height:18px}.bar-fill.total:after{font-size:10px;right:2px;padding:0 2px}.dashboard-header{grid-template-columns:1fr;gap:var(--gap-3)}.header-right{width:100%;justify-content:space-between}.controls-row{gap:var(--gap-2)}.controls-row .stats-pill{flex:1;min-width:0}.controls-row .btn-add{width:100%;justify-content:center}.card{grid-template-columns:auto 1fr;padding:var(--gap-3) var(--gap-4)}.card .actions{opacity:1;transform:none;grid-column:2;justify-content:flex-end}.modal-backdrop{align-items:flex-end;padding:0}.modal{max-height:85vh;border-width:4px 0 0 0}.chart-capacity-legend{grid-template-columns:1fr}.capacity-item{font-size:10px}}
