@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_fd091ad6-module__giF-bG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_fd091ad6-module__giF-bG__variable{--font-sans:"Inter", "Inter Fallback"}
:root{--color-bg:#060a0f;--color-surface:#0b111885;--color-surface-2:#111820;--color-surface-3:#172028;--color-border:#1a2530;--color-border-hover:#243545;--color-border-subtle:#0e1520;--color-accent:#08bbf9;--color-accent-hover:#06a3da;--color-accent-muted:#052535;--color-accent-glow:#08bbf91f;--color-chiff:#a855f7;--color-chiff-muted:#2a1040;--color-warning:#f59e0b;--color-warning-muted:#2a2008;--color-danger:#ef4444;--color-danger-muted:#2a0c0c;--color-success:#22c55e;--color-success-muted:#0c2a18;--color-text-primary:#edf4ff;--color-text-secondary:#7a9bb5;--color-text-muted:#344f66;--color-text-dim:#1e3040;--radius-xs:6px;--radius-sm:9px;--radius-md:13px;--radius-lg:18px;--radius-xl:26px;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--sidebar-width:260px;--page-padding-x:2.5rem;--page-padding-y:2.25rem;--page-gap:1.75rem;--page-gap-full:1.25rem;--gantt-label-width:11rem;--modal-max-width:680px;--kanban-col-min:272px;--kanban-col-max:310px;--radius:var(--radius-md);--color-overlay:#000000b3;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 40px #0009;--shadow-accent:0 0 0 1px #08bbf959, 0 4px 16px #08bbf926;--toolbar-control-height:2rem}[data-theme=light]{--color-bg:#f0f6fa;--color-surface:#ffffff85;--color-surface-2:#eaf4fa;--color-surface-3:#d8edf6;--color-border:#c5dde8;--color-border-hover:#a8cce0;--color-border-subtle:#ebf4f9;--color-accent:#08bbf9;--color-accent-hover:#06a3da;--color-accent-muted:#e0f5fd;--color-accent-glow:#08bbf91a;--color-chiff:#9333ea;--color-chiff-muted:#f3e8ff;--color-warning:#d97706;--color-warning-muted:#fef3c7;--color-danger:#dc2626;--color-danger-muted:#fee2e2;--color-success:#16a34a;--color-success-muted:#dcfce7;--color-text-primary:#0a1a24;--color-text-secondary:#3d6478;--color-text-muted:#7aaabb;--color-text-dim:#b8d4df;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 40px #0000001f;--shadow-accent:0 0 0 1px #08bbf94d, 0 4px 16px #08bbf91f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{background-color:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}h1{letter-spacing:-.025em;color:var(--color-text-primary);font-size:1.625rem;font-weight:700;line-height:1.2}h2{color:var(--color-text-primary);font-size:1.375rem;font-weight:600;line-height:1.25}h3{color:var(--color-text-primary);font-size:1.125rem;font-weight:600;line-height:1.25}h4{color:var(--color-text-primary);font-size:1rem;font-weight:500;line-height:1.25}p{color:var(--color-text-secondary);line-height:1.6}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}code,pre{font-family:var(--font-mono);font-size:.85em}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.5rem}.card-glass{background:linear-gradient(135deg, var(--color-surface) 0%, var(--color-surface-2) 100%);border:1px solid var(--color-border);border-radius:var(--radius-md)}.divider{background-color:var(--color-border);width:100%;height:1px}.badge{border-radius:var(--radius-xs);letter-spacing:.01em;align-items:center;gap:.3rem;padding:.25rem .625rem;font-size:.775rem;font-weight:600;line-height:1;display:inline-flex}.badge--en-chiffrage{background-color:var(--color-chiff-muted);color:var(--color-chiff);border:1px solid #a855f74d}.badge--planifie{background-color:var(--color-surface-3);color:var(--color-text-secondary);border:1px solid var(--color-border)}.badge--en-cours{background-color:var(--color-accent-muted);color:var(--color-accent);border:1px solid #4f6ef740}.badge--termine{background-color:var(--color-success-muted);color:var(--color-success);border:1px solid #22c55e33}.badge--suspendu{background-color:var(--color-warning-muted);color:var(--color-warning);border:1px solid #f59e0b33}.badge--conflict-booking{background-color:var(--color-danger-muted);color:var(--color-danger);border:1px solid #ef444433}.badge--conflict-absent{background-color:var(--color-warning-muted);color:var(--color-warning);border:1px solid #f59e0b33}.badge--skill{background-color:var(--color-border);color:var(--color-text-secondary)}input,select,textarea{background-color:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-sans);outline:none;width:100%;padding:.625rem .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:var(--shadow-accent)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}label{color:var(--color-text-primary);letter-spacing:.01em;margin-bottom:.4rem;font-size:.8125rem;font-weight:500;display:block}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%);color:#fff;box-shadow:0 1px 2px #4f6ef74d}.btn--primary:hover:not(:disabled){background:linear-gradient(135deg, #5b79ff 0%, var(--color-accent) 100%);transform:translateY(-.5px);box-shadow:0 2px 8px #4f6ef766}.btn--primary:active:not(:disabled){transform:translateY(0)}.btn--secondary{background-color:var(--color-surface-2);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn--secondary:hover:not(:disabled){border-color:var(--color-border-hover);background-color:var(--color-surface-3)}.btn--danger{background-color:var(--color-danger-muted);color:var(--color-danger);border:1px solid #ef444440}.btn--danger:hover:not(:disabled){background-color:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn--ghost{color:var(--color-text-secondary);background-color:#0000}.btn--ghost:hover:not(:disabled){background-color:var(--color-surface-2);color:var(--color-text-primary)}.btn--sm{padding:.4rem .75rem;font-size:.8125rem}.btn--icon{aspect-ratio:1;padding:.5rem}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.surface{background-color:var(--color-surface)}.surface-2{background-color:var(--color-surface-2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.page-container{gap:var(--page-gap);padding:var(--page-padding-y) var(--page-padding-x);flex-direction:column;max-width:1400px;display:flex}.page-container--full{gap:var(--page-gap-full);padding:var(--page-padding-y) var(--page-padding-x);flex-direction:column;height:100%;display:flex;overflow:hidden}.page-container--constrained{max-width:1100px}.page-header{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:1rem 1.5rem;width:100%;display:flex}.page-title{color:var(--color-text-primary);letter-spacing:-.025em;font-size:1.625rem;font-weight:700;line-height:1.2}.page-subtitle{color:var(--color-text-muted);margin-top:.25rem;font-size:.9375rem;font-weight:400}.accent-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.pill{border:1px solid #0000;border-radius:999px;align-items:center;gap:.3rem;padding:.275rem .65rem;font-size:.8rem;font-weight:500;display:inline-flex}.section-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.section-card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.125rem 1.375rem;display:flex}.seg-control{background-color:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;gap:2px;height:34px;padding:3px;display:flex}.seg-btn{cursor:pointer;height:100%;color:var(--color-text-muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.45rem;padding:0 .875rem;font-size:.875rem;font-weight:500;line-height:1;transition:all .12s;display:flex}.seg-btn.active{background-color:var(--color-surface-3);color:var(--color-text-primary);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.seg-btn:hover:not(.active){color:var(--color-text-secondary)}.filter-chip{border-radius:var(--radius-xs);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-muted);background:0 0;padding:.4rem 1rem;font-size:.875rem;font-weight:500;transition:all .12s}.filter-chip.active{background-color:var(--color-accent-muted);color:var(--color-accent);border-color:#4f6ef74d}.filter-chip:hover:not(.active){border-color:var(--color-border-hover);color:var(--color-text-secondary)}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-grid-2{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.form-actions{justify-content:flex-end;gap:.5rem;padding-top:.25rem;display:flex}.field-hint{color:var(--color-text-muted);font-size:.75rem}.field-error{color:var(--color-danger);background:var(--color-danger-muted);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.75rem}.field-hint-inline{color:var(--color-text-secondary);margin-left:.25rem;font-weight:400}.skill-tags{flex-wrap:wrap;gap:.375rem;margin-top:.25rem;display:flex}.skill-tag-remove{opacity:.7;line-height:1}.color-picker-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:1.75rem;height:1.75rem;transition:transform .12s}.color-swatch.active{border-color:#fff;transform:scale(1.1)}.color-input{cursor:pointer!important;background:0 0!important;border:none!important;border-radius:50%!important;width:1.75rem!important;height:1.75rem!important;padding:0!important}.preview-row{background-color:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.preview-dot{border-radius:50%;width:.75rem;height:.75rem}.color-palette{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:28px;height:28px;transition:transform .1s,box-shadow .1s}.color-swatch:hover{transform:scale(1.15)}.color-swatch--active{border-color:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-bg-primary), 0 0 0 4px currentColor}.icon-xs{flex-shrink:0;width:.625rem;height:.625rem}.icon-sm{flex-shrink:0;width:.6875rem;height:.6875rem}.icon-md{flex-shrink:0;width:.8125rem;height:.8125rem}.icon-danger{color:var(--color-danger)}.gantt-wrap{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;height:100%;display:flex;overflow:hidden}.gantt-toolbar{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.gantt-toolbar-left,.gantt-toolbar-right{align-items:center;gap:.5rem;display:flex}.gantt-period-label{color:var(--color-text-secondary);margin-left:.5rem;font-size:.875rem}.gantt-zoom-group{background-color:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:.25rem;padding:.25rem;display:flex}.gantt-zoom-btn{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;padding:.25rem .75rem;font-size:.75rem;font-weight:500;transition:background-color .12s,color .12s}.gantt-zoom-btn:hover{color:var(--color-text-primary)}.gantt-zoom-btn.active{background-color:var(--color-accent);color:#fff}.gantt-tech-btn{border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;background-color:var(--color-surface-2);color:var(--color-text-secondary);align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;transition:all .12s;display:flex}.gantt-tech-btn:hover{color:var(--color-text-primary)}.gantt-tech-btn.active{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.gantt-drag-tooltip{z-index:50;background-color:var(--color-surface-2);border:1px solid var(--color-accent);border-radius:var(--radius-sm);font-size:.75rem;font-family:var(--font-mono);color:var(--color-text-primary);box-shadow:var(--shadow-lg);pointer-events:none;padding:.375rem .75rem;position:absolute;top:4rem;left:50%;transform:translate(-50%)}.gantt-body{flex:1;min-height:0;display:flex;overflow:hidden}.gantt-label-col{width:var(--gantt-label-width);border-right:1px solid var(--color-border);z-index:10;background-color:var(--color-surface-2);flex-shrink:0;overflow-y:hidden}.gantt-label-header{border-bottom:1px solid var(--color-border);background-color:var(--color-surface-2);z-index:11;align-items:center;padding:0 1rem;display:flex;position:sticky;top:0}.gantt-label-header-text{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);font-size:.75rem;font-weight:600}.gantt-team-row{border-bottom:1px solid var(--color-border)}.gantt-team-label{border-bottom:1px solid color-mix(in srgb, var(--color-border) 50%, transparent);align-items:center;gap:.5rem;padding:0 1rem;transition:background-color .15s;display:flex}.gantt-team-name{font-size:var(--font-size-lg);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.gantt-team-count{color:var(--color-text-secondary);font-size:.75rem}.gantt-tech-list{border-top:1px solid #1e253580}.gantt-tech-label{border-bottom:1px solid var(--color-border);align-items:center;gap:.5rem;min-width:0;height:5rem;padding:0 .75rem;display:flex}.gantt-tech-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.5625rem;font-weight:700;display:flex}.gantt-tech-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.25;display:block;overflow:hidden}.gantt-tech-role{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.625rem;line-height:1.25;display:block;overflow:hidden}.gantt-scroll{-webkit-user-select:none;user-select:none;flex:1;overflow:auto}.gantt-scroll.is-panning,.gantt-scroll.is-panning *{cursor:grabbing!important}.gantt-date-header{border-bottom:1px solid var(--color-border);background-color:var(--color-surface-2);z-index:10;display:flex;position:sticky;top:0}.gantt-date-cell{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;justify-content:center;padding:0 .5rem;display:flex}.gantt-date-cell.today{background-color:var(--color-accent-glow)}.gantt-date-cell.weekend{background-color:var(--color-surface-2)}.gantt-date-label{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:600;overflow:hidden}.gantt-date-label.today{color:var(--color-accent)}.gantt-date-sublabel{color:var(--color-text-secondary);font-size:.75rem}.gantt-today-line{background-color:var(--color-accent);z-index:10;width:2px;position:absolute;top:0;bottom:0}.gantt-today-line--faint{z-index:0;background-color:#4f6ef733}.gantt-today-line--faintest{z-index:0;background-color:#4f6ef71a}.gantt-grid-row{border-bottom:1px solid color-mix(in srgb, var(--color-border) 50%, transparent);transition:background-color .15s;position:relative}.gantt-tech-grid-row{border-bottom:1px solid var(--color-border);position:relative}.gantt-absence-bar{z-index:0;background-image:repeating-linear-gradient(45deg,#0000,#0000 4px,#ef444426 4px 8px);border-left:1px solid #ef444440;align-items:flex-end;padding-bottom:.25rem;padding-left:.25rem;display:flex;position:absolute;top:0;bottom:0}.gantt-absence-label{color:var(--color-danger);opacity:.6;text-overflow:ellipsis;white-space:nowrap;font-size:.5625rem;font-weight:500;overflow:hidden}.gantt-absence-label--tech{color:var(--color-danger);text-overflow:ellipsis;white-space:nowrap;font-size:.5625rem;font-weight:500;overflow:hidden}.gantt-success-line{pointer-events:none;align-items:center;display:flex;position:absolute;inset:0}.gantt-team-label--expandable:hover{background-color:var(--color-surface-2)}.gantt-grid-row--expandable:hover{background-color:color-mix(in srgb, var(--color-surface-2) 60%, transparent)}.gantt-chevron{color:var(--color-text-muted);transform:rotate(calc(var(--expanded,0) * -180deg));flex-shrink:0;align-items:center;transition:transform .18s,color .15s;display:flex}.gantt-team-label--expandable:hover .gantt-chevron{color:var(--color-text-secondary)}.gantt-bar{border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;border:1px solid #ffffff1a;align-items:center;display:flex;position:absolute;top:.5rem;bottom:.5rem;z-index:0!important}.gantt-bar-resize-handle{z-index:20;cursor:ew-resize;flex-shrink:0;justify-content:center;align-items:center;width:.625rem;display:flex;position:absolute;top:0;bottom:0}.gantt-bar-resize-handle--left{left:0}.gantt-bar-resize-handle--right{right:0}.gantt-bar-resize-indicator{background-color:#ffffff4d;border-radius:999px;width:2px;height:1.25rem;transition:all .12s}.gantt-bar-resize-handle:hover .gantt-bar-resize-indicator{background-color:#fffc;width:4px}.gantt-bar-drag-zone{align-items:center;gap:.375rem;padding:0 .375rem;display:flex;position:absolute;inset:0 .625rem;overflow:hidden}.gantt-bar-label{color:#fff;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.75rem;font-weight:600;line-height:1.25;overflow:hidden}.gantt-bar-dates{color:#ffffffb3;font-size:.625rem;font-family:var(--font-mono);flex-shrink:0}.gantt-bar-conflict-icon{color:#fff;filter:drop-shadow(0 1px 2px #0000004d);flex-shrink:0}.gantt-floating-bar{outline-offset:-1px;opacity:.96;z-index:9999;pointer-events:none;cursor:grabbing;border:1px solid #ffffff26;border-radius:6px;align-items:center;transition:top .18s cubic-bezier(.34,1.56,.64,1);display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 32px #00000047,0 2px 8px #00000026}.gantt-floating-bar__content{flex:1;align-items:center;gap:6px;padding:0 10px;display:flex;overflow:hidden}.gantt-grid-bg{pointer-events:none;position:absolute;inset:0}.panel-wrap{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;height:100%;display:flex;overflow:hidden}.panel-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.panel-header-title{color:var(--color-text-primary);font-size:.875rem;font-weight:600}.panel-header-count{color:var(--color-text-secondary);font-size:.75rem}.panel-list{flex:1;overflow-y:auto}.panel-item{border-bottom:1px solid var(--color-border);cursor:default;padding:.75rem 1rem;transition:background-color .15s}.panel-item:hover{background-color:var(--color-surface-2)}.panel-item--conflict{border-left:2px solid var(--color-danger)}.panel-item-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.panel-item-body{flex:1;min-width:0}.panel-item-name-row{align-items:center;gap:.375rem;margin-bottom:.25rem;display:flex}.panel-item-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.panel-item-meta{flex-direction:column;gap:.125rem;display:flex}.panel-item-meta-row{color:var(--color-text-secondary);align-items:center;gap:.25rem;font-size:.75rem;display:flex}.panel-item-duration{color:var(--color-text-muted);margin-left:.25rem}.panel-item-badges{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.panel-item-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.panel-confirm{background-color:var(--color-danger-muted);border-radius:var(--radius-xs);justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;display:flex}.panel-confirm-text{color:var(--color-danger);font-size:.75rem}.panel-confirm-actions{gap:.25rem;display:flex}.avatar-stack{align-items:center;gap:.1rem;display:flex}.assign-modal{flex-direction:column;display:flex}.assign-search{padding:.25rem 1.5rem .75rem}.assign-list{overflow-y:auto}.assign-footer{border-top:1px solid var(--color-border);justify-content:flex-end;padding:.75rem 1.5rem;display:flex}.assign-item{justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:background-color .12s;display:flex}.assign-item:hover{background-color:var(--color-surface-2)}.assign-item-info{align-items:center;gap:.75rem;min-width:0;display:flex}.assign-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.75rem;font-weight:700;display:flex}.assign-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.assign-role{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.assign-actions{flex-shrink:0;align-items:center;gap:.5rem;margin-left:.75rem;display:flex}.assign-confirm-row{align-items:center;gap:.5rem;display:flex}.assign-group-title{text-transform:uppercase;letter-spacing:.025em;color:var(--color-text-muted);background-color:var(--color-bg);padding:.5rem 1rem;font-size:.75rem;font-weight:600}.assign-divider>*+*{border-top:1px solid var(--color-border)}.assign-empty{color:var(--color-text-secondary);padding:1rem 1.5rem;font-size:.875rem;font-style:italic}.technician-picker{position:relative}.technician-picker__trigger{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-2);width:100%;min-height:42px;color:var(--color-text-primary);font-family:var(--font-sans);cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem .875rem;font-size:.9375rem;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.technician-picker__trigger:hover{border-color:var(--color-border-hover);background-color:var(--color-surface-3)}.technician-picker__trigger:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-accent);outline:none}.technician-picker__trigger-count{color:var(--color-text-secondary);flex-shrink:0;font-size:.75rem}.technician-picker__dropdown{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-2);max-height:220px;box-shadow:var(--shadow-md);margin-top:.5rem;padding:.375rem;overflow-y:auto}.technician-picker__empty,.technician-picker__selected-empty{color:var(--color-text-secondary);margin:0;padding:.625rem .75rem;font-size:.8125rem;font-style:italic}.technician-picker__option{border-radius:var(--radius-xs);cursor:pointer;grid-template-columns:16px minmax(0,1fr);align-items:center;column-gap:.625rem;padding:.5rem .625rem;transition:background-color .15s;display:grid}.technician-picker__option:hover{background-color:var(--color-surface-3)}.technician-picker__option.is-selected{background-color:var(--color-accent-muted)}.technician-picker__option input[type=checkbox]{width:14px;min-width:14px;max-width:14px;height:14px;accent-color:var(--color-accent);cursor:pointer;flex:none;margin:0;padding:0}.technician-picker__option-main{flex-direction:column;gap:.125rem;min-width:0;display:flex}.technician-picker__option-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;line-height:1.25;overflow:hidden}.technician-picker__option-role{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.2;overflow:hidden}.technician-picker__selected{flex-wrap:wrap;gap:.375rem;margin-top:.625rem;display:flex}.technician-picker__chip{border:1px solid var(--color-border);background-color:var(--color-surface-3);max-width:100%;color:var(--color-text-primary);font-family:var(--font-sans);cursor:pointer;border-radius:999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.8125rem;line-height:1.2;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.technician-picker__chip:hover{border-color:var(--color-danger);background-color:var(--color-danger-muted);color:var(--color-danger)}.technician-picker__chip span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.technician-picker__chip-remove{color:currentColor;flex-shrink:0;font-weight:700;line-height:1}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.min-h-0{min-height:0}.min-w-0{min-width:0}.h-full{height:100%}.w-full{width:100%}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.inline-flex{display:inline-flex}.block{display:block}.hidden{display:none}.pointer-events-none{pointer-events:none}.select-none{-webkit-user-select:none;user-select:none}.cursor-pointer{cursor:pointer}.opacity-60{opacity:.6}.text-white{color:#fff}.bg-transparent{background-color:#0000}.border-b{border-bottom:1px solid var(--color-border)}.border-r{border-right:1px solid var(--color-border)}.divide-y>*+*{border-top:1px solid var(--color-border)}.shadow-lg{box-shadow:var(--shadow-lg)}.transition-colors{transition:color .15s,background-color .15s,border-color .15s}.transition-all{transition:all .15s}.transition-opacity{transition:opacity .15s}.drop-shadow{filter:drop-shadow(0 1px 2px #0000004d)}.group .group-hover-visible{opacity:0;transition:opacity .15s}.group:hover .group-hover-visible{opacity:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.spinner{animation:1s linear infinite spin}.skeleton-pulse{animation:1.5s ease-in-out infinite pulse}.text-dim{color:var(--color-text-dim)}.font-mono{font-family:var(--font-mono)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.italic{font-style:italic}.uppercase{text-transform:uppercase}.text-center{text-align:center}.text-right{text-align:right}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.6}.tracking-tight{letter-spacing:-.025em}.tracking-snug{letter-spacing:-.01em}.tracking-wide{letter-spacing:.05em}.tracking-wider{letter-spacing:.08em}.text-3xs{font-size:.55rem}.text-2xs{font-size:.625rem}.text-xs{font-size:.7rem}.text-sm{font-size:.75rem}.text-md{font-size:.8125rem}.text-base{font-size:.875rem}.text-lg{font-size:.9375rem}.text-xl{font-size:1.0625rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:2rem}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.list-none{list-style:none}.gap-half{gap:.125rem}.gap-1-5{gap:.375rem}.gap-2-5{gap:.625rem}.gap-3-5{gap:.875rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.375rem}.ml-3{margin-left:.5rem}.ml-4{margin-left:.75rem}.mt-1{margin-top:.1rem}.mt-2{margin-top:.125rem}.mt-3{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1.25rem}.mb-5{margin-bottom:1.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-20{padding-top:5rem;padding-bottom:5rem}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-col-center{flex-direction:column;justify-content:center;align-items:center;display:flex}.items-baseline{align-items:baseline}.self-end{align-self:flex-end}.fixed{position:fixed}.rounded-full{border-radius:999px}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.border-t{border-top:1px solid var(--color-border)}.border{border:1px solid var(--color-border)}.bg-bg{background-color:var(--color-bg)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.shadow-sm{box-shadow:var(--shadow-sm)}.resize-y{resize:vertical}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.overflow-x-hidden{overflow-x:hidden}.grid-2{grid-template-columns:1fr 1fr;align-items:start;gap:.875rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:.875rem;display:grid}.loading-center{justify-content:center;padding:5rem 0;display:flex}.loading-stack{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.app-body{background-color:var(--color-bg);height:100vh;overflow:hidden}.app-shell{height:100vh;display:flex}.app-main{margin-left:var(--sidebar-width);flex-direction:column;flex:1;height:100dvh;display:flex;overflow-y:auto}.app-bg-logo{opacity:.1;z-index:-1;pointer-events:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:auto!important;height:50vw!important}.sidebar{width:var(--sidebar-width);background-color:var(--color-surface);border-right:1px solid var(--color-border);background-color:var(--color-bg);z-index:50;flex-direction:column;height:100dvh;display:flex;position:fixed;top:0;left:0}.sidebar-brand{border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:.625rem;padding:1.5rem 1.25rem;display:flex}.sidebar-brand__title{color:var(--color-text-primary);letter-spacing:-.02em;font-size:1.0625rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:.875rem .625rem;display:flex;overflow-y:auto}.sidebar-footer{border-top:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:.5rem;padding:.75rem .875rem 1rem;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--color-text-secondary);background-color:#0000;justify-content:space-between;align-items:center;padding:.6rem .875rem;font-size:.9375rem;font-weight:400;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.nav-link:hover{background-color:var(--color-surface-2);color:var(--color-text-primary)}.nav-link--active{background-color:var(--color-accent-muted);color:var(--color-accent);font-weight:600}.nav-link--active:hover{background-color:var(--color-accent-muted);color:var(--color-accent)}.nav-link__inner{align-items:center;gap:.7rem;display:flex}.nav-badge{background-color:var(--color-danger);color:#fff;text-align:center;border-radius:999px;flex-shrink:0;min-width:20px;padding:.1rem .45rem;font-size:.7rem;font-weight:700;line-height:1.4}.modal-root{z-index:50;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-root--hidden{pointer-events:none}.modal-overlay{background-color:var(--color-surface);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .2s;position:absolute;inset:0}.modal-overlay--visible{opacity:1}.modal-overlay--hidden{opacity:0}.modal-panel{z-index:10;width:100%;max-width:var(--modal-max-width);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .2s;position:relative;overflow:hidden}.modal-panel--visible{opacity:1;transform:translateY(0)scale(1)}.modal-panel--hidden{opacity:0;transform:translateY(12px)scale(.97)}.modal-panel--sm{max-width:420px}.accent-line{background:linear-gradient(90deg, var(--color-accent) 0%, transparent 60%);height:2px}.accent-line--danger{background:linear-gradient(90deg, var(--color-danger) 0%, transparent 60%)}.accent-line--inset{margin:-1.5rem -1.5rem 1.25rem}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-title{color:var(--color-text-primary);letter-spacing:-.01em;font-size:.9375rem;font-weight:600}.modal-close{border-radius:var(--radius-xs);cursor:pointer;width:28px;height:28px;color:var(--color-text-muted);background-color:#0000;border:none;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:flex}.modal-close:hover{background-color:var(--color-surface-2);color:var(--color-text-primary)}.modal-body{padding:1.25rem}.modal-dialog-text{color:var(--color-text-secondary);margin-bottom:.25rem;font-size:.8125rem;font-weight:500}.modal-dialog-subtext{color:var(--color-text-muted);margin-bottom:1.25rem;font-size:.75rem}.search-field{position:relative}.search-field--spaced{margin-bottom:.75rem}.search-field__icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.search-field__icon--sm{left:.625rem}.search-field__input{padding-left:2rem}.search-field__input--icon{padding-left:2.25rem;padding-right:1rem}.search-field__clear{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:0;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.search-field__clear:hover{color:var(--color-text-secondary)}.form-stack{flex-direction:column;gap:1rem;display:flex}.form-stack--sm{gap:.75rem}.form-stack--lg{gap:1.25rem}.input-textarea{resize:vertical;min-height:80px}.input--error{border-color:var(--color-danger)}.input-wrap{position:relative}.input-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.dialog-stack{flex-direction:column;gap:.5rem;display:flex}.dialog-highlight{color:var(--color-text-primary);font-size:.875rem;font-weight:500}.dialog-description{color:var(--color-text-secondary);font-size:.875rem}.team-dot{background-color:var(--team-color);border-radius:50%;flex-shrink:0}.team-dot--xs{width:5px;height:5px}.team-dot--sm{width:6px;height:6px}.team-dot--md{width:8px;height:8px}.team-dot--lg{width:.375rem;height:.375rem;display:inline-block}.team-badge{background-color:color-mix(in srgb, var(--team-color) 10%, transparent);color:var(--team-color);border:1px solid color-mix(in srgb, var(--team-color) 21%, transparent);border-radius:999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.1rem .4rem;font-size:.67rem;font-weight:500;display:inline-flex}.team-badge--md{background-color:color-mix(in srgb, var(--team-color) 13%, transparent);border:1px solid color-mix(in srgb, var(--team-color) 27%, transparent);gap:.25rem}.team-badge--lg{background-color:color-mix(in srgb, var(--team-color) 19%, transparent)}.team-badge--outline{background-color:color-mix(in srgb, var(--team-color) 13%, transparent);border:1px solid color-mix(in srgb, var(--team-color) 27%, transparent)}.border-accent-left{border-left:3px solid var(--accent-color)}.entity-card--accent-left{border-left:3px solid var(--team-color)}.avatar{flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.avatar--circle{color:var(--team-color,var(--color-text-muted));background:linear-gradient(135deg, color-mix(in srgb, var(--team-color,var(--color-border)) 13%, transparent) 0%, color-mix(in srgb, var(--team-color,var(--color-border)) 3%, transparent) 100%);border:1.5px solid color-mix(in srgb, var(--team-color,var(--color-border)) 25%, transparent);border-radius:50%}.avatar--circle.avatar--no-team{background:var(--color-surface-2);border-color:var(--color-border)}.avatar--sm{width:34px;height:34px;font-size:.625rem}.avatar--md{border-radius:var(--radius-sm);background:linear-gradient(135deg, color-mix(in srgb, var(--team-color) 15%, transparent) 0%, color-mix(in srgb, var(--team-color) 6%, transparent) 100%);border:1px solid color-mix(in srgb, var(--team-color) 19%, transparent);width:32px;height:32px}.avatar--md .avatar__initials{color:var(--team-color);letter-spacing:.05em;font-size:.55rem;font-weight:800}.avatar--assign{color:var(--team-color);background-color:color-mix(in srgb, var(--team-color) 13%, transparent)}.entity-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.entity-card__header{justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.entity-card__header--lg{padding:.875rem 1.125rem}.entity-card__section{border-top:1px solid var(--color-border);background-color:var(--color-bg)}.entity-card__section-header{justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.entity-card__section-title{color:var(--color-text-dim);letter-spacing:.08em;text-transform:uppercase;font-size:.625rem;font-weight:600}.entity-card__empty{color:var(--color-text-muted);padding:.5rem 1rem .875rem;font-size:.75rem;font-style:italic}.entity-card__empty--inline{padding:.875rem 1.125rem;font-size:.8rem}.entity-row{justify-content:space-between;align-items:center;padding:.625rem 1rem;transition:background-color .12s;display:flex}.entity-row--hoverable:hover{background-color:var(--color-surface)}.entity-row--hoverable-surface:hover{background-color:var(--color-surface-2)}.count-pill{color:var(--color-text-muted);background-color:var(--color-surface-2);border:1px solid var(--color-border);border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:500}.section-label{color:var(--color-text-dim);letter-spacing:.08em;text-transform:uppercase;font-size:.625rem;font-weight:600}.absence-marker{background-color:var(--color-warning);border-radius:999px;flex-shrink:0;width:3px;height:30px}.icon-btn{cursor:pointer;color:var(--color-text-dim);background-color:#0000;border:none;border-radius:4px;justify-content:center;align-items:center;transition:background-color .12s,color .12s,border-color .12s;display:flex}.icon-btn--xs{width:22px;height:22px}.icon-btn--sm{width:24px;height:24px}.icon-btn--md{width:26px;height:26px}.icon-btn--bordered{background-color:var(--color-surface);border:1px solid var(--color-border)}.icon-btn--bordered-surface{background-color:var(--color-surface-2);border:1px solid var(--color-border)}.icon-btn:hover{background-color:var(--color-surface-2);color:var(--color-text-primary)}.icon-btn--danger:hover{background-color:var(--color-danger-muted);color:var(--color-danger)}.btn-chip{border-radius:var(--radius-xs);color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;background-color:#0000;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.7rem;transition:all .12s;display:flex}.btn-chip:hover{border-color:var(--color-border-hover);color:var(--color-text-secondary)}.btn-chip__count{color:var(--color-warning);font-weight:600}.btn-action-sm{border-radius:var(--radius-xs);color:var(--color-text-secondary);background-color:var(--color-surface-2);border:1px solid var(--color-border);cursor:pointer;align-items:center;gap:.375rem;padding:.35rem .75rem;font-size:.75rem;font-weight:500;transition:all .12s;display:flex}.btn-action-sm:hover{color:var(--color-text-primary);border-color:var(--color-border-hover)}.btn-ghost-icon{cursor:pointer;color:var(--color-text-muted);background-color:#0000;border:none;border-radius:4px;padding:.25rem;transition:all .12s;display:flex}.btn-ghost-icon:hover{background-color:var(--color-surface-3);color:var(--color-text-primary)}.btn-ghost-icon--danger:hover{background-color:var(--color-danger-muted);color:var(--color-danger)}.btn-ghost-hover{cursor:pointer;color:var(--color-text-secondary);background-color:#0000;border:none;transition:background-color .12s,color .12s}.btn-ghost-hover:hover{background-color:var(--color-surface-2);color:var(--color-text-primary)}.btn-link{color:var(--color-accent);cursor:pointer;background:0 0;border:none;font-size:.75rem;font-weight:500;text-decoration:underline}.btn-dashed{color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-xs);cursor:pointer;text-align:center;background-color:#0000;padding:.35rem .75rem;font-size:.7rem;transition:border-color .12s,color .12s}.btn-dashed:hover{border-color:var(--accent-color,var(--color-accent));color:var(--accent-color,var(--color-accent))}.btn-dashed--inline{align-items:center;gap:.3rem;padding:.3rem .75rem;display:flex}.btn-icon-add{border-radius:var(--radius-xs);cursor:pointer;color:var(--color-text-muted);background-color:#0000;border:none;justify-content:center;align-items:center;padding:.25rem;transition:background-color .12s,color .12s;display:flex}.btn-icon-add:hover{background-color:var(--color-surface-2);color:var(--color-text-primary)}.btn--warning-solid{background-color:var(--color-warning);color:#fff;border:none}.btn--danger-ghost{color:var(--color-danger)}.badge--compact{padding:.125rem .25rem;font-size:10px}.badge--gap{gap:.25rem}.tag-remove-btn{cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;line-height:1}.tag-remove-btn:hover{opacity:1}.confirm-prompt{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.confirm-prompt--wide{gap:.5rem}.confirm-prompt__label{color:var(--color-text-muted);font-size:.7rem}.confirm-prompt__yes{background-color:var(--color-danger);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.confirm-prompt__no{background-color:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.confirm-prompt__no--surface{background-color:var(--color-surface-2)}.kanban-board{flex:1;gap:.875rem;padding-bottom:.5rem;display:flex;overflow:auto hidden}.kanban-column{flex-direction:column;flex:1 1 0;min-width:272px;display:flex}.kanban-column__header{justify-content:space-between;align-items:center;margin-bottom:.625rem;padding:0 .25rem;display:flex}.kanban-column__title{color:var(--color-text-primary);letter-spacing:.005em;font-size:.8rem;font-weight:600}.kanban-column__count{font-size:.65rem;font-weight:700;font-family:var(--font-mono);border-radius:4px;padding:.1rem .4rem;line-height:1.5}.kanban-dropzone{border-radius:var(--radius-md);background-color:var(--color-surface);border:1px solid var(--color-border);flex-direction:column;flex:1;gap:.5rem;min-height:120px;padding:.5rem;transition:background-color .15s,border-color .15s;display:flex}.kanban-dropzone--empty{justify-content:center;align-items:center}.kanban-dropzone--over{background-color:var(--dropzone-accent);border-color:color-mix(in srgb, var(--dropzone-color) 31%, transparent)}.entity-row--bordered{border-bottom:1px solid var(--color-border)}.entity-row--lg{padding:.625rem 1.125rem}.entity-card__actions{flex-shrink:0;align-items:center;gap:.25rem;margin-left:.75rem;display:flex}.entity-card__skills{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.entity-card__role{color:var(--color-text-muted);margin-top:.1rem;font-size:.72rem}.btn-accent-xs{border-radius:var(--radius-xs);color:var(--color-accent);background-color:var(--color-accent-muted);cursor:pointer;border:1px solid #4f6ef733;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.7rem;font-weight:500;display:flex}.icon-btn--lg{width:28px;height:28px}.avatar--xs{border-radius:50%;width:30px;height:30px;font-size:.625rem}.team-card__empty-row{align-items:center;gap:.75rem;padding:.875rem 1.125rem;display:flex}.search-field__input--modal{background-color:var(--color-surface-2);box-sizing:border-box;width:100%;padding:.5rem .75rem .5rem 2rem;font-size:.8rem}.team-badge--kanban{background-color:color-mix(in srgb, var(--team-color) 13%, transparent);border:1px solid color-mix(in srgb, var(--team-color) 19%, transparent);border-radius:3px;padding:.1rem .4rem;font-size:.67rem}.kanban-card{cursor:grab;background-color:var(--color-surface-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);border-left:3px solid var(--accent-color,var(--color-border));-webkit-user-select:none;user-select:none;transition:border-color .12s,box-shadow .12s;overflow:hidden}.kanban-card--conflict{border:1px solid var(--color-danger);border-left:1px solid var(--color-danger)}.kanban-card--interactive:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm);border-left-color:color-mix(in srgb, var(--accent-color,var(--color-border)) 50%, transparent)}.kanban-card--conflict.kanban-card--interactive:hover{border-color:var(--color-danger);border-left-color:var(--color-danger)}.kanban-card--dragging{opacity:0}.kanban-card__header{align-items:flex-start;gap:.5rem;padding:.625rem .625rem .375rem;display:flex}.kanban-card__grip{color:var(--color-text-dim);flex-shrink:0;align-items:center;margin-top:1px;display:flex}.kanban-card__title{color:var(--color-text-primary);font-size:.8rem;font-weight:600;line-height:1.35}.kanban-card__actions{flex-shrink:0;align-items:center;gap:.125rem;display:flex}.kanban-card__body{flex-direction:column;gap:.25rem;padding:0 .625rem .625rem 1.625rem;display:flex}.meta-row{color:var(--color-text-muted);align-items:center;gap:.3rem;font-size:.7rem;display:flex}.meta-row--dim{color:var(--color-text-dim)}.meta-row--accent{color:var(--accent-color)}.meta-row--danger{color:var(--color-danger)}.meta-row--warning{color:var(--color-warning)}.meta-row--spaced{margin-top:.125rem}.meta-row--spaced-sm{margin-top:.2rem}.meta-row--spaced-md{margin-top:.3rem}.meta-row__icon{flex-shrink:0}.meta-row__icon--offset{margin-top:1px}.kanban-legend{align-items:center;gap:.875rem;display:flex}.kanban-legend__item{align-items:center;gap:.375rem;display:flex}.kanban-legend__count{font-size:.65rem;font-weight:700;font-family:var(--font-mono);border-radius:4px;padding:.1rem .35rem;line-height:1.4}.kanban-drag-overlay{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);cursor:grabbing;width:272px;padding:.625rem}.kanban-history-list{flex-direction:column;gap:.5rem;max-height:60vh;padding-right:.25rem;display:flex;overflow-y:auto}.kanban-history-empty{color:var(--color-text-dim);text-align:center;padding:2rem 0;font-size:.75rem}.kpi-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:.875rem;padding:1.25rem;display:flex;position:relative;overflow:hidden}.kpi-card--danger{border-color:#ef444433}.kpi-card--success{border-color:#22c55e33}.kpi-card__accent-line{height:2px;position:absolute;top:0;left:0;right:0}.kpi-card__accent-line--default{background:linear-gradient(90deg, color-mix(in srgb, var(--color-accent) 38%, transparent) 0%, transparent 100%)}.kpi-card__accent-line--success{background:linear-gradient(90deg, color-mix(in srgb, var(--color-success) 38%, transparent) 0%, transparent 100%)}.kpi-card__accent-line--danger{background:linear-gradient(90deg, color-mix(in srgb, var(--color-danger) 38%, transparent) 0%, transparent 100%)}.kpi-card__icon-box{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:32px;height:32px;display:flex}.kpi-card__icon-box--default{background-color:var(--color-accent-glow);border:1px solid #4f6ef733}.kpi-card__icon-box--success{background-color:#22c55e14;border:1px solid #22c55e33}.kpi-card__icon-box--danger{background-color:#ef444414;border:1px solid #ef444433}.kpi-card__value{color:var(--color-text-primary);letter-spacing:-.04em;font-size:2rem;font-weight:700;line-height:1}.kpi-card__value--danger{color:var(--color-danger)}.kpi-card__sublabel{color:var(--color-text-muted);margin-top:.25rem;font-size:.7rem}.skeleton-block{background-color:var(--color-surface-2);border-radius:var(--radius-xs)}.skeleton-block--value{width:3rem;height:2rem}.skeleton-block--line-lg{width:55%;height:.75rem}.skeleton-block--line-sm{width:35%;height:.6rem}.list-row{border-bottom:1px solid var(--color-border);padding:.75rem 1.125rem}.list-row--last{border-bottom:none}.list-row--horizontal{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.list-row--vertical{flex-direction:column;gap:.375rem;display:flex}.list-row__title{color:var(--color-text-primary);font-size:.8125rem;font-weight:500}.list-row__meta{color:var(--color-text-muted);margin-top:.125rem;font-size:.7rem}.list-row__date{color:var(--color-text-muted);font-size:.65rem}.section-link{color:var(--color-accent);align-items:center;gap:.2rem;font-size:.7rem;font-weight:500;text-decoration:none;transition:opacity .12s;display:flex}.section-link:hover{opacity:.8}.count-badge{background-color:var(--color-danger);color:#fff;border-radius:999px;padding:.1rem .375rem;font-size:.6rem;font-weight:700}.empty-section{color:var(--color-text-muted);flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;display:flex}.empty-section--success{color:var(--color-success)}.skeleton-rows{flex-direction:column;gap:1rem;padding:.75rem 1.125rem;display:flex}.skeleton-row-item{flex-direction:column;gap:.35rem;display:flex}.conflict-card{background-color:var(--color-surface);border-radius:var(--radius-md);flex-direction:column;gap:.625rem;padding:1rem 1.125rem;display:flex}.conflict-card--danger{border:1px solid #ef444433;border-left:3px solid var(--color-danger)}.conflict-card--warning{border:1px solid #f59e0b33;border-left:3px solid var(--color-warning)}.conflict-card__details{background-color:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-xs);flex-direction:column;gap:.375rem;padding:.625rem .875rem;display:flex}.conflict-detail-row{color:var(--color-text-secondary);align-items:center;gap:.5rem;font-size:.775rem;display:flex}.status-dot{border-radius:50%;flex-shrink:0}.status-dot--danger{background-color:var(--color-danger);width:6px;height:6px}.date-range-pill{color:var(--color-text-muted);background-color:var(--color-surface-2);border:1px solid var(--color-border);font-size:.7rem;font-family:var(--font-mono);border-radius:999px;flex-shrink:0;padding:.2rem .625rem}.conflict-list{flex-direction:column;gap:.625rem;display:flex}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:4rem 2rem;display:flex}.empty-state__icon{border-radius:var(--radius-md);background-color:var(--color-surface-2);border:1px solid var(--color-border);justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:.25rem;display:flex}.empty-state__icon--error{background-color:var(--color-danger-muted);border-color:#ef444433}.empty-state__title{color:var(--color-text-primary);font-size:.875rem;font-weight:600}.empty-state__title--error{color:var(--color-danger)}.empty-state__desc{color:var(--color-text-muted);max-width:280px;font-size:.8rem;line-height:1.5}.empty-state__action{margin-top:.5rem}.theme-toggle{border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-secondary);background-color:#0000;justify-content:center;align-items:center;padding:.5rem;transition:all .15s;display:flex}.theme-toggle:hover{background-color:var(--color-surface-2);color:var(--color-text-primary)}.occupancy-widget{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.occupancy-widget__header{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.75rem;padding:.875rem 1rem;display:flex}.occupancy-widget__title{align-items:center;gap:.5rem;margin:0;font-size:.875rem;display:flex}.occupancy-widget__rate-value{font-size:1.5rem;font-weight:700;line-height:1}.occupancy-widget__rate-value--ok{color:var(--color-success)}.occupancy-widget__rate-value--warn{color:var(--color-warning)}.occupancy-widget__rate-value--danger{color:var(--color-danger)}.occupancy-widget__controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.occupancy-preset-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-secondary);background-color:#0000;padding:.25rem .6rem;font-size:.7rem;font-weight:400;transition:all .15s}.occupancy-preset-btn.active,.occupancy-preset-btn--active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff;font-weight:600}.occupancy-preset-group{gap:.25rem;display:flex}.occupancy-divider{background-color:var(--color-border);flex-shrink:0;width:1px;height:16px}.occupancy-select,.occupancy-date-input{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-primary);cursor:pointer;padding:.25rem .5rem;font-size:.7rem}.occupancy-date-input{font-size:.75rem}.occupancy-widget__body{padding:.5rem 0}.occupancy-row{border-bottom:1px solid var(--color-border);align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.occupancy-row__label{flex-shrink:0;align-items:center;gap:.5rem;width:110px;display:flex}.occupancy-row__name{color:var(--color-text-primary);font-size:.78rem;font-weight:500}.occupancy-row__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.occupancy-row__stats{text-align:right;flex-shrink:0;min-width:72px}.occupancy-row__rate{font-size:.85rem;font-weight:700}.occupancy-row__rate--ok{color:var(--color-text-primary)}.occupancy-row__rate--warn{color:var(--color-warning)}.occupancy-row__rate--danger{color:var(--color-danger)}.occupancy-row__days{color:var(--color-text-muted);margin-left:.3rem;font-size:.65rem}.occupancy-bar{flex:1}.occupancy-bar__track{background-color:var(--color-border);border-radius:999px;height:6px;overflow:hidden}.occupancy-bar__fill{border-radius:999px;height:100%;transition:width .4s}.occupancy-legend{color:var(--color-text-muted);gap:1rem;padding:.5rem 1rem;font-size:.65rem;display:flex}.occupancy-legend__item{align-items:center;gap:.3rem;display:flex}.occupancy-legend__swatch{border-radius:2px;width:8px;height:3px;display:inline-block}.occupancy-legend__swatch--success{background-color:var(--color-success)}.occupancy-legend__swatch--warning{background-color:var(--color-warning)}.occupancy-legend__swatch--danger{background-color:var(--color-danger)}.occupancy-skeleton{flex-direction:column;gap:1rem;padding:1.5rem 1rem;display:flex}.occupancy-skeleton__row{align-items:center;gap:.75rem;display:flex}.occupancy-skeleton__label{background-color:var(--color-border);border-radius:4px;width:80px;height:12px}.occupancy-skeleton__bar{background-color:var(--color-border);border-radius:999px;flex:1;height:6px}.occupancy-skeleton__value{background-color:var(--color-border);border-radius:4px;width:36px;height:12px}.occupancy-empty{text-align:center;color:var(--color-text-muted);padding:2rem 1rem;font-size:.8rem}.planning-split{flex:1;gap:.875rem;min-height:0;display:flex;overflow:hidden}.planning-panel{flex:1;min-width:0;overflow:hidden}.planning-loading{flex:1;justify-content:center;align-items:center;display:flex}.calendar-wrap{height:100%;padding:1rem}.gantt-cursor-grab{cursor:grab}.gantt-cursor-grabbing{cursor:grabbing}.gantt-row-highlight{background-color:color-mix(in srgb, var(--team-color) 9%, transparent)}.gantt-row-highlight--strong{background-color:color-mix(in srgb, var(--team-color) 5%, transparent)}.gantt-tech-avatar--faded{background-color:color-mix(in srgb, var(--team-color) 67%, transparent)}.gantt-absence-block{border-radius:var(--radius-xs);z-index:10;border-left:2px solid var(--color-danger);background-color:#ef444426;align-items:center;padding-left:.375rem;padding-right:.375rem;display:flex;position:absolute;top:.25rem;bottom:.25rem}.gantt-success-marker{background-color:#22c55e33;width:100%;height:1px}.gantt-bar.is-dragging{opacity:.2;z-index:5;box-shadow:none;cursor:grabbing;transition:none}.gantt-bar.has-conflict{outline:2px solid var(--color-danger);outline-offset:-1px}.assign-modal--bleed{min-width:480px;margin-bottom:-1.5rem;margin-left:-1.5rem;margin-right:-1.5rem}.assign-list--tall{max-height:400px}.assign-team-label{color:var(--team-color);align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;display:flex}.assign-muted{opacity:.6}.subtitle-accent{margin-left:.375rem}.subtitle-accent--danger{color:var(--color-danger)}.subtitle-accent--warning{color:var(--color-warning)}.page-header-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.page-loading-full{flex:1;justify-content:center;align-items:center;display:flex}.team-list{flex-direction:column;gap:.75rem;display:flex}.employee-list{flex-direction:column;gap:.5rem;display:flex}.filter-row{align-items:center;gap:.375rem;display:flex}.page-header-toolbar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.search-input-lg{padding:.625rem .875rem .625rem 2.25rem;font-size:.875rem}.search-field__input--clearable{padding-right:2.25rem}.accent-dot--muted{opacity:.9}.panel-toggle-btn{min-height:var(--toolbar-control-height);border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-secondary);background-color:#0000;justify-content:center;align-items:center;gap:.5rem;padding:0 .875rem;font-size:.8rem;font-weight:500;transition:all .12s;display:flex}.panel-toggle-btn.active{background-color:var(--color-accent-muted);color:var(--color-accent);border-color:#4f6ef74d}.kpi-card__label{color:var(--color-text-muted);letter-spacing:.01em;font-size:.75rem;font-weight:500}.legend-count{color:var(--legend-color);background-color:var(--legend-bg);border-radius:3px;padding:0 .3rem;font-size:.65rem;font-weight:700;line-height:1.5}.kanban-drag-overlay--preview{border-color:var(--color-border-hover);border-radius:var(--radius-md);opacity:.96;padding:.875rem;rotate:1deg}.conflict-detail-text{color:var(--color-text-secondary);font-size:.775rem}.gantt-zoom-select{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);cursor:pointer;border-radius:.375rem;padding:.25rem .5rem;font-size:.8125rem;display:none}.sidebar-hamburger{z-index:98;border:1px solid var(--color-border);background:var(--color-surface);width:2.25rem;height:2.25rem;color:var(--color-text-primary);cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;display:none;position:fixed;top:.75rem;left:.75rem}.sidebar-close{display:none}.sidebar-backdrop{z-index:99;background:#00000073;position:fixed;inset:0}@media (pointer:coarse){.gantt-bar-resize-handle{width:28px}.gantt-bar-resize-handle--left{left:-9px}.gantt-bar-resize-handle--right{right:-9px}}@media (max-width:767px){.sidebar{z-index:100;transition:transform .25s;transform:translate(-100%)}.sidebar--open{transform:translate(0)}.sidebar-hamburger{display:flex}.sidebar-close{width:2rem;height:2rem;color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:flex}.gantt-period-label,.gantt-zoom-group{display:none}.gantt-zoom-select{display:block}.gantt-tech-btn-label{display:none}}.login-shell{background:var(--color-bg);justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;gap:2rem;width:100%;max-width:400px;padding:2.5rem 2rem;display:flex}.login-brand{flex-direction:column;align-items:center;gap:.5rem;display:flex}.login-brand__icon{justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:.25rem;display:flex}.login-brand__name{color:var(--color-text-primary);letter-spacing:-.02em;font-size:1.375rem;font-weight:700}.login-brand__sub{color:var(--color-text-secondary);font-size:.8125rem}.login-form{flex-direction:column;gap:1.125rem;display:flex}.login-field{flex-direction:column;gap:.375rem;display:flex}.login-label{color:var(--color-text-secondary);font-size:.8125rem;font-weight:500}.login-input{background:var(--color-surface-2);border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);box-sizing:border-box;border-radius:8px;outline:none;padding:.625rem .875rem;font-size:.9375rem;transition:border-color .15s}.login-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.login-input:disabled{opacity:.5;cursor:not-allowed}.login-input-wrap{position:relative}.login-input--password{padding-right:2.75rem}.login-eye{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;padding:.25rem;transition:color .15s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.login-eye:hover{color:var(--color-text-primary)}.login-error{color:var(--color-danger);background:var(--color-danger-muted);border:1px solid var(--color-danger);border-radius:6px;margin:0;padding:.5rem .75rem;font-size:.8125rem}.login-submit{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.25rem;padding:.75rem;font-size:.9375rem;font-weight:600;transition:background .15s,opacity .15s;display:flex}.login-submit:hover:not(:disabled){background:var(--color-accent-hover)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-spinner{animation:.8s linear infinite spin}.login-footer{text-align:center;color:var(--color-text-muted);margin:0;font-size:.75rem}.sidebar-user{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:.625rem;padding:.5rem .625rem;display:flex}.sidebar-user__avatar{width:32px;height:32px;color:var(--color-accent);background:var(--color-accent-muted);border:1px solid color-mix(in srgb, var(--color-accent) 30%, transparent);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;line-height:1;display:flex}.sidebar-user__info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.sidebar-user__name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:600;overflow:hidden}.sidebar-user__role{color:var(--color-text-secondary);background:var(--color-surface-3);border-radius:4px;width:fit-content;padding:.05rem .375rem;font-size:.6875rem;line-height:1.5}.sidebar-user__role--admin{color:var(--color-accent);background:var(--color-accent-muted)}.sidebar-logout{cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:color .15s,background .15s;display:flex}.sidebar-logout:hover{color:var(--color-danger);background:var(--color-danger-muted)}.sidebar-footer__bottom{justify-content:space-between;align-items:center;gap:.5rem;padding:0 .125rem;display:flex}.sidebar-footer__version{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-text-muted);font-size:.6875rem}@media (max-width:767px){:root{--gantt-label-width:6.5rem;--page-padding-x:1rem;--page-padding-y:.5rem;--toolbar-control-height:2.25rem}.app-main{margin-left:0;padding-top:0}.page-container,.page-container--full{padding:var(--page-padding-y) .5rem}.page-container--full .page-header{border-bottom:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:row;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;min-height:3rem;padding:.5rem .75rem .5rem 3.5rem}.page-container--full .page-header-toolbar{flex-wrap:nowrap;gap:.375rem}.page-container--full .panel-toggle-btn{width:var(--toolbar-control-height);height:var(--toolbar-control-height);min-width:var(--toolbar-control-height);min-height:var(--toolbar-control-height);justify-content:center;align-items:center;gap:0;padding:0;font-size:0}.page-container--full .seg-control{height:var(--toolbar-control-height);padding:4px}.page-container--full .seg-btn{height:100%;min-width:calc(var(--toolbar-control-height) - 8px);justify-content:center;align-items:center;gap:0;padding:0;font-size:0}.page-container--full .seg-btn svg,.page-container--full .panel-toggle-btn svg{width:14px;height:14px}.page-container--full .panel-toggle-btn svg,.page-container--full .seg-btn svg{flex-shrink:0}.form-grid-2,.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}.planning-split{flex:1;min-height:0}.gantt-toolbar{gap:.375rem;padding:.375rem .5rem}.gantt-toolbar-right .btn--secondary{gap:0;min-width:30px;padding:.35rem .5rem;font-size:0}.gantt-toolbar-right .btn--secondary svg{flex-shrink:0}.gantt-toolbar-left,.gantt-toolbar-right{flex-wrap:wrap;gap:.375rem}.gantt-team-name{font-size:.65rem}.gantt-team-count{font-size:.6rem}.kanban-board{flex-direction:column;overflow:hidden auto}.kanban-column{flex:none;width:100%;min-width:0;max-width:100%}.modal-root{align-items:flex-end;padding:0}.modal-panel{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%;max-width:100%;max-height:90vh;overflow-y:auto}.assign-modal--bleed{min-width:0;margin-bottom:-1.25rem;margin-left:-1.25rem;margin-right:-1.25rem}.seg-control{flex-wrap:wrap}.kpi-card{padding:1rem}.kpi-card__value{font-size:1.5rem}.occupancy-widget__controls{gap:.375rem}.occupancy-row__label{width:80px}.panel-item-badges{flex-wrap:wrap}.btn{padding:.5625rem 1rem;font-size:.875rem}.list-row--horizontal{flex-direction:column;align-items:flex-start;gap:.375rem}.form-actions{flex-direction:column-reverse}.form-actions .btn{justify-content:center;width:100%}}@media (max-width:480px){.grid-3{grid-template-columns:1fr}.page-title{font-size:1.25rem}.gantt-label-col{width:6.5rem}.seg-btn{padding:.4rem .625rem;font-size:.8rem}.modal-body{padding:1rem}.modal-header{padding:.875rem 1rem}.kpi-card__value{font-size:1.25rem}}@media (max-width:1280px){:root{--page-padding-x:2rem}}@media (max-width:1024px){:root{--page-padding-x:1.5rem;--page-gap:1.25rem;--kanban-col-min:240px;--kanban-col-max:300px}.grid-3{grid-template-columns:repeat(2,1fr)}.kanban-column{min-width:var(--kanban-col-min)}}@media (max-width:767px){.page-container>.page-header{align-items:center;gap:.5rem .75rem;min-height:3rem;padding-left:3.25rem}.page-header-actions,.page-header-toolbar{gap:.375rem}.kanban-legend{display:none}}button:focus-visible,a:focus-visible,.nav-link:focus-visible,.seg-btn:focus-visible,.filter-chip:focus-visible,.panel-toggle-btn:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
