:root{font-synthesis:none;text-rendering:optimizelegibility;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;accent-color:#4f46e5;color:#172033;--background:#f6f7fb;--foreground:#172033;--surface:#fff;--surface-subtle:#f1f3f8;--surface-hover:#eceffd;--border:#d9deea;--border-strong:#98a2b3;--muted:#667085;--primary:#4f46e5;--primary-hover:#4338ca;--on-primary:#fff;--accent-text:#4338ca;--accent-soft:#eef2ff;--accent-border:#c7d2fe;--focus:#d97706;--danger:#b42318;--danger-hover:#912018;--danger-text:#912018;--danger-soft:#fef3f2;--warning-text:#92400e;--success-text:#1d4ed8;--active-text:#0369a1;--input-background:#fff;--table-heading:#f1f3f8;--timeline-background:#f3f5fa;--timeline-grid-major:#d9deea;--timeline-grid-minor:#6670851f;--timeline-empty:#7b8495;--tooltip-background:#172033;--tooltip-foreground:#fff;--tooltip-muted:#cbd5e1;--backdrop:#0b0c10a3;--shadow-soft:0 .75rem 2rem #17203312;--shadow-panel:0 .4rem 1.5rem #1720330d;--shadow-hover:0 .5rem 1.5rem #17203317;--segment-0:#4f46e5;--segment-0-hover:#4338ca;--segment-1:#2563eb;--segment-1-hover:#1d4ed8;--segment-2:#7c3aed;--segment-2-hover:#6d28d9;--segment-3:#0e7490;--segment-3-hover:#155e75;--segment-4:#db2777;--segment-4-hover:#be185d;--segment-5:#b45309;--segment-5-hover:#92400e;--segment-active:#0369a1;--segment-overlap:#b45309;background:#f6f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme]){accent-color:#818cf8;color:#f2f4f7;--background:#0b0c10;--foreground:#f2f4f7;--surface:#13151a;--surface-subtle:#181b22;--surface-hover:#20232d;--border:#2a2e39;--border-strong:#475467;--muted:#98a2b3;--primary:#4f46e5;--primary-hover:#6366f1;--accent-text:#a5b4fc;--accent-soft:#1e1f3b;--accent-border:#3f4788;--focus:#fbbf24;--danger:#b42318;--danger-hover:#d92d20;--danger-text:#fda29b;--danger-soft:#321917;--warning-text:#fbbf24;--success-text:#93c5fd;--active-text:#7dd3fc;--input-background:#101217;--table-heading:#181b22;--timeline-background:#111319;--timeline-grid-major:#2e3340;--timeline-grid-minor:#98a2b324;--timeline-empty:#858c9b;--tooltip-background:#f2f4f7;--tooltip-foreground:#111827;--tooltip-muted:#475467;--backdrop:#000000b8;--shadow-soft:0 .75rem 2rem #0000003d;--shadow-panel:0 .4rem 1.5rem #0003;--shadow-hover:0 .5rem 1.5rem #00000047;--segment-0:#6366f1;--segment-0-hover:#818cf8;--segment-1:#2563eb;--segment-1-hover:#3b82f6;--segment-2:#7c3aed;--segment-2-hover:#8b5cf6;--segment-3:#0e7490;--segment-3-hover:#0891b2;--segment-4:#db2777;--segment-4-hover:#ec4899;--segment-5:#b45309;--segment-5-hover:#d97706;--segment-active:#0369a1;--segment-overlap:#b45309;background:#0b0c10}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;accent-color:#818cf8;color:#f2f4f7;--background:#0b0c10;--foreground:#f2f4f7;--surface:#13151a;--surface-subtle:#181b22;--surface-hover:#20232d;--border:#2a2e39;--border-strong:#475467;--muted:#98a2b3;--primary:#4f46e5;--primary-hover:#6366f1;--accent-text:#a5b4fc;--accent-soft:#1e1f3b;--accent-border:#3f4788;--focus:#fbbf24;--danger:#b42318;--danger-hover:#d92d20;--danger-text:#fda29b;--danger-soft:#321917;--warning-text:#fbbf24;--success-text:#93c5fd;--active-text:#7dd3fc;--input-background:#101217;--table-heading:#181b22;--timeline-background:#111319;--timeline-grid-major:#2e3340;--timeline-grid-minor:#98a2b324;--timeline-empty:#858c9b;--tooltip-background:#f2f4f7;--tooltip-foreground:#111827;--tooltip-muted:#475467;--backdrop:#000000b8;--shadow-soft:0 .75rem 2rem #0000003d;--shadow-panel:0 .4rem 1.5rem #0003;--shadow-hover:0 .5rem 1.5rem #00000047;--segment-0:#6366f1;--segment-0-hover:#818cf8;--segment-1:#2563eb;--segment-1-hover:#3b82f6;--segment-2:#7c3aed;--segment-2-hover:#8b5cf6;--segment-3:#0e7490;--segment-3-hover:#0891b2;--segment-4:#db2777;--segment-4-hover:#ec4899;--segment-5:#b45309;--segment-5-hover:#d97706;--segment-active:#0369a1;--segment-overlap:#b45309;background:#0b0c10}*{box-sizing:border-box}body{min-block-size:100vh;min-inline-size:20rem;color:var(--foreground);background:var(--background);margin:0}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--primary);min-block-size:2.75rem;color:var(--on-primary);background:var(--primary);cursor:pointer;border-radius:.55rem;padding:.65rem 1rem;font-weight:700}button:hover{background:var(--primary-hover)}button:disabled{cursor:not-allowed;opacity:.6}a{color:var(--accent-text);text-underline-offset:.2em}.button-secondary{color:var(--foreground);background:var(--surface);border-color:var(--border-strong)}.button-secondary:hover{background:var(--surface-hover)}.button-danger{color:var(--on-primary);background:var(--danger);border-color:var(--danger)}.button-danger:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.button-link{min-block-size:2.25rem;color:var(--accent-text);background:0 0;border-color:#0000;padding:.25rem;text-decoration:underline}.button-link:hover{color:var(--accent-text);background:var(--accent-soft)}.shell{inline-size:min(100% - 2rem,76rem);margin-inline:auto}.skip-link{z-index:100;color:var(--on-primary);background:var(--primary);border-radius:.5rem;padding:.75rem 1rem;position:fixed;inset-block-start:.5rem;inset-inline-start:.5rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:.2rem solid var(--focus);outline-offset:.2rem}.site-header{border-block-end:1px solid var(--border);background:var(--surface)}.header-row{align-items:center;gap:1.25rem;min-block-size:4.25rem;display:flex}.brand{color:var(--foreground);align-items:center;gap:.55rem;font-size:1.125rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{border-radius:22%;flex:none;display:block}nav{align-items:stretch;gap:.25rem;display:flex}nav a{color:var(--muted);border-radius:.5rem;padding:.75rem;text-decoration:none}nav a:hover{color:var(--foreground);background:var(--surface-hover)}nav a[aria-current=page]{color:var(--accent-text);background:var(--accent-soft);font-weight:750}.account{color:var(--muted);align-items:center;gap:.75rem;margin-inline-start:auto;display:flex}.theme-toggle{border-color:var(--border);min-block-size:2.5rem;inline-size:2.5rem;min-inline-size:2.5rem;color:var(--foreground);background:var(--surface);place-items:center;padding:0;display:grid}.theme-toggle:hover{border-color:var(--border-strong);color:var(--accent-text);background:var(--surface-hover)}.theme-toggle svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;block-size:1.1rem;inline-size:1.1rem}.theme-toggle-floating{z-index:90;position:fixed;inset-block-start:1rem;inset-inline-end:1rem}.main{padding-block:clamp(1.5rem,5vw,3.5rem)}.auth-layout{place-items:center;min-block-size:100vh;padding:1rem;display:grid}.auth-card,.card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:.85rem;padding:clamp(1.25rem,4vw,2rem)}.auth-card{inline-size:min(100%,29rem)}.auth-brand{color:var(--foreground);align-items:center;gap:.65rem;margin-block-end:1.25rem;font-size:1.05rem;font-weight:800;display:flex}.auth-alternative{margin-block:1.25rem 0}.card{min-inline-size:0}.eyebrow{color:var(--accent-text);letter-spacing:.05em;text-transform:uppercase;margin-block:0 .4rem;font-size:.84rem;font-weight:800}h1{margin-block:0 .75rem;font-size:clamp(1.85rem,5vw,3rem);line-height:1.08}h2{margin-block-start:0;font-size:1.25rem}p{line-height:1.55}.page-heading,.actions,.dialog-actions{align-items:center;gap:.75rem;display:flex}.page-heading{justify-content:space-between;margin-block-end:1.25rem}.field{gap:.35rem;margin-block:1rem;display:grid}.field.compact{margin-block:0}label{font-weight:700}input,select,textarea{border:1px solid var(--border-strong);min-block-size:2.75rem;inline-size:100%;color:var(--foreground);background:var(--input-background);border-radius:.45rem;padding:.6rem .7rem}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{resize:vertical;min-block-size:5rem}.hint{color:var(--muted);font-size:.86rem;font-weight:400}.field-error{color:var(--danger-text);font-size:.88rem}.field-action{justify-self:start}.filter-bar,.inline-form{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;align-items:end;gap:.75rem;margin-block-end:1.25rem;padding:1rem;display:flex}.filter-bar .field{flex:10rem}.inline-form .field{flex:1;margin:0}.filter-bar>button,.inline-form>button{white-space:nowrap;flex:none}.date-range-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-panel);border-radius:.85rem;margin-block-end:1.25rem}.date-range-toolbar{border-block-end:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.period-navigation,.range-presets{align-items:center;gap:.4rem;display:flex}.period-navigation{min-inline-size:18rem}.period-navigation strong{text-align:center;flex:1}.icon-button{min-block-size:2.5rem;inline-size:2.5rem;color:var(--muted);background:0 0;border-color:#0000;place-items:center;padding:0;font-size:1.2rem;display:grid}.icon-button:hover{color:var(--foreground);background:var(--surface-hover)}.range-preset{min-block-size:2.35rem;color:var(--muted);background:0 0;border-color:#0000;padding:.4rem .75rem;font-size:.88rem}.range-preset:hover,.range-preset[aria-pressed=true]{color:var(--accent-text);background:var(--accent-soft)}.range-preset[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--accent-border)}.date-range-form{box-shadow:none;border:0;margin:0}.date-range-fields{border:0;flex:2 23rem;align-items:end;gap:.55rem;min-inline-size:0;margin:0;padding:0;display:flex}.date-range-fields legend{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.date-range-fields .field{min-inline-size:9.5rem}.range-separator{color:var(--muted);padding-block-end:.8rem}.project-filter{flex:12rem}.date-range-error{color:var(--danger-text);margin:-.35rem 1rem 1rem;font-weight:700}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-block:1rem;display:grid}.summary{border:1px solid var(--border);background:var(--surface);border-radius:.7rem;gap:.3rem;padding:1rem;display:grid}.summary span{color:var(--muted);font-size:.85rem}.summary strong{font-size:1.2rem}.timesheet{margin-block:1.5rem 2rem}.timesheet-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-block-end:1rem;display:flex}.timesheet-heading h2{margin-block-end:.3rem}.timesheet-heading p{max-inline-size:40rem;color:var(--muted);margin:0;font-size:.9rem}.timeline-legend{color:var(--muted);flex-wrap:wrap;justify-content:end;gap:.8rem;font-size:.78rem;display:flex}.timeline-legend span{white-space:nowrap;align-items:center;gap:.35rem;display:inline-flex}.legend-swatch{background:var(--segment-0);border-radius:.2rem;block-size:.7rem;inline-size:.7rem}.legend-swatch.active{background:var(--segment-active)}.legend-swatch.overlap{background:var(--segment-overlap)}.timeline-days{gap:.75rem;display:grid}.timeline-day{z-index:0;border:1px solid var(--border);background:var(--surface);border-radius:.8rem;grid-template-columns:10.5rem minmax(0,1fr);gap:1rem;padding:1rem;display:grid;position:relative}.timeline-day:focus-within,.timeline-day:hover{z-index:2;border-color:var(--border-strong);box-shadow:var(--shadow-hover)}.timeline-day-heading{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.35rem;display:flex}.timeline-day-heading h3{margin:0;font-size:.98rem}.timeline-day-heading h3+span{color:var(--foreground);margin-block-start:.25rem;font-size:.88rem;font-weight:800;display:block}.timeline-add{min-block-size:2rem;color:var(--primary);background:0 0;border-color:#0000;justify-content:flex-start;align-items:center;gap:.2rem;margin-inline-start:-.45rem;padding:.25rem .45rem;font-size:.78rem;display:inline-flex}.timeline-add:hover{background:var(--accent-soft)}.timeline-scroll{min-inline-size:0;padding-block-start:.15rem;overflow:visible}.timeline-canvas{min-inline-size:0;padding-block-start:1.4rem}.timeline-axis{block-size:0;color:var(--muted);font-size:.68rem;position:relative}.timeline-axis span{position:absolute;inset-block-end:.35rem;transform:translate(-50%)}.timeline-axis span:first-child{transform:none}.timeline-axis span:last-child{transform:translate(-100%)}.timeline-track{min-block-size:calc(var(--timeline-lanes) * 1.7rem + .6rem);border:1px solid var(--border);background-color:var(--timeline-background);background-image:linear-gradient(to right, transparent calc(25% - 1px), var(--timeline-grid-major) calc(25% - 1px), var(--timeline-grid-major) 25%, transparent 25%);background-size:25% 100%;border-radius:.45rem;position:relative}.timeline-track:after{border-radius:inherit;background-image:repeating-linear-gradient(to right, transparent 0, transparent calc(4.1667% - 1px), var(--timeline-grid-minor) calc(4.1667% - 1px), var(--timeline-grid-minor) 4.1667%);content:"";pointer-events:none;position:absolute;inset:0}.timeline-track.empty{place-items:center;display:grid}.timeline-empty{color:var(--timeline-empty);font-size:.76rem}.timeline-segment{z-index:1;inline-size:var(--segment-width);min-block-size:0;min-inline-size:.65rem;block-size:var(--segment-height);color:var(--on-primary);background:var(--segment-0);text-align:start;border:0;border-radius:.2rem;padding:0 .35rem;font-size:.7rem;line-height:1;position:absolute;inset-block-start:var(--segment-top);inset-inline-start:var(--segment-left);overflow:visible;box-shadow:inset 0 0 0 1px #0000001f}.timeline-segment:hover{z-index:4;background:var(--segment-0-hover);box-shadow:0 .2rem .6rem #0000003d}.timeline-segment:focus-visible{z-index:4}.timeline-segment.color-1{background:var(--segment-1)}.timeline-segment.color-1:hover{background:var(--segment-1-hover)}.timeline-segment.color-2{background:var(--segment-2)}.timeline-segment.color-2:hover{background:var(--segment-2-hover)}.timeline-segment.color-3{background:var(--segment-3)}.timeline-segment.color-3:hover{background:var(--segment-3-hover)}.timeline-segment.color-4{background:var(--segment-4)}.timeline-segment.color-4:hover{background:var(--segment-4-hover)}.timeline-segment.color-5{background:var(--segment-5)}.timeline-segment.color-5:hover{background:var(--segment-5-hover)}.timeline-segment.active{background:var(--segment-active);cursor:default;background-image:repeating-linear-gradient(135deg,#ffffff29 0 .35rem,#0000 .35rem .7rem)}.timeline-segment.overlap{background:var(--segment-overlap);background-image:repeating-linear-gradient(135deg,#ffffff2e 0 .3rem,#0000 .3rem .6rem)}.timeline-segment-label{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.timeline-tooltip{z-index:10;visibility:hidden;inline-size:max-content;max-inline-size:17rem;color:var(--tooltip-foreground);background:var(--tooltip-background);opacity:0;pointer-events:auto;text-align:start;border-radius:.5rem;gap:.25rem;padding:.7rem .8rem;font-size:.78rem;font-weight:400;line-height:1.3;display:grid;position:absolute;inset-block-end:calc(100% + .55rem);transform:translateY(.2rem);box-shadow:0 .65rem 1.5rem #00000047}.timeline-tooltip:after{border:.35rem solid #0000;border-block-start-color:var(--tooltip-background);content:"";position:absolute;inset-block-start:100%}.timeline-tooltip.center{inset-inline-start:50%;transform:translate(-50%,.2rem)}.timeline-tooltip.center:after{inset-inline-start:calc(50% - .35rem)}.timeline-tooltip.start{inset-inline-start:0}.timeline-tooltip.start:after{inset-inline-start:.45rem}.timeline-tooltip.end{inset-inline-end:0}.timeline-tooltip.end:after{inset-inline-end:.45rem}.timeline-tooltip small{color:var(--tooltip-muted)}.timeline-segment:hover .timeline-tooltip,.timeline-segment:focus-visible .timeline-tooltip{visibility:visible;opacity:1;transform:translateY(0)}.timeline-segment:hover .timeline-tooltip.center,.timeline-segment:focus-visible .timeline-tooltip.center{transform:translate(-50%)}.table-scroll{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;margin-block:1.25rem;overflow-x:auto}table{border-collapse:collapse;inline-size:100%}caption{text-align:start;padding:1rem;font-weight:800}th,td{border-block-start:1px solid var(--border);text-align:start;vertical-align:top;padding:.8rem 1rem}th{color:var(--foreground);background:var(--table-heading);font-size:.86rem}.status{white-space:nowrap;align-items:center;gap:.25rem;font-weight:700;display:inline-flex}.status.success{color:var(--success-text)}.status.warning{color:var(--warning-text)}.status.active{color:var(--active-text)}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:1rem;display:grid}.align-start{align-items:start}.totals-list,.management-list{margin:0;padding:0;list-style:none}.totals-list li,.management-list li{border-block-end:1px solid var(--border);justify-content:space-between;gap:1rem;padding-block:.7rem;display:flex}.management-list li{align-items:center}.project-management-list li{flex-direction:column;align-items:flex-start}.project-row-actions{grid-template-columns:minmax(0,1fr) max-content;align-items:end;gap:.75rem;inline-size:100%;display:grid}.project-rename-form{grid-template-columns:minmax(12rem,1fr) max-content;align-items:end;gap:.5rem;min-inline-size:0;display:grid}.project-rename-form label{grid-column:1/-1}.project-rename-form button{white-space:nowrap}.project-row-actions>form:last-child{align-self:end}.project-row-actions>form:last-child .button-link{white-space:nowrap;align-items:center;min-block-size:2.75rem;display:inline-flex}.invitation-result{border:1px solid var(--accent-border);background:var(--accent-soft);border-radius:.7rem;margin-block-start:1.25rem;padding:1rem}.invitation-result>label{display:block}.copy-row{align-items:stretch;gap:.5rem;margin-block-start:.5rem;display:flex}.copy-row input{min-inline-size:0}.copy-row button{flex:none}.error-panel{border-inline-start:.3rem solid var(--danger);color:var(--danger-text);background:var(--danger-soft);border-radius:.25rem;padding:.8rem 1rem}.dialog{border:1px solid var(--border);max-block-size:calc(100vh - 2rem);inline-size:min(100% - 2rem,42rem);color:var(--foreground);background:var(--surface);border-radius:.85rem;padding:0;box-shadow:0 1.5rem 5rem #00000052}.dialog::backdrop{background:var(--backdrop)}.dialog form{padding:clamp(1rem,4vw,2rem)}.dialog-actions{margin-block-start:1.25rem}.spacer{flex:1}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=52rem){.header-row{flex-wrap:wrap;padding-block:.75rem}nav{order:3;inline-size:100%;overflow-x:auto}.account span{display:none}.filter-bar,.inline-form,.page-heading,.date-range-toolbar{flex-direction:column;align-items:stretch}.period-navigation{min-inline-size:0}.range-presets{overflow-x:auto}.date-range-fields,.date-range-form .button-secondary{inline-size:100%}.actions{flex-wrap:wrap}.actions button{flex:1}.summary-grid,.two-columns{grid-template-columns:1fr}.filter-bar button,.inline-form button{inline-size:100%}.project-rename-form{grid-template-columns:1fr;inline-size:100%}.project-rename-form label{grid-column:auto}.project-row-actions{grid-template-columns:1fr}.project-row-actions>form:last-child .button-link{justify-content:center;inline-size:100%}.copy-row{flex-direction:column}.timesheet-heading{flex-direction:column;align-items:flex-start}.timeline-legend{justify-content:start}.timeline-day{grid-template-columns:1fr}.timeline-day-heading{align-items:flex-start}}@media (width<=31rem){.date-range-fields{flex-direction:column;align-items:stretch}.date-range-fields .field{min-inline-size:0}.range-separator{display:none}.range-presets{padding-block-end:.2rem}.range-preset{flex:none}}@media (prefers-reduced-motion:no-preference){button,a{transition:background-color .12s,color .12s}.timeline-tooltip{transition:opacity .12s,transform .12s,visibility .12s}}
