@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.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:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.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:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_93ba0792-module__m0TUxW__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_93ba0792-module__m0TUxW__variable{--font-body:"Outfit", "Outfit Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0gw~uztddq1df.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0.q-h669a_dqa.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_592e453b-module__EGX1Hq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_592e453b-module__EGX1Hq__variable{--font-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--ink:#0e0e0c;--ink-90:#1a1a18;--ink-70:#0e0e0cb8;--ink-55:#0e0e0c8f;--ink-40:#0e0e0c66;--ink-20:#0e0e0c33;--ink-12:#0e0e0c1f;--ink-08:#0e0e0c14;--ink-06:#0e0e0c0d;--ink-03:#0e0e0c08;--paper:#f2f0e8;--paper-2:#ece8dc;--paper-edge:#f8f5ee;--rule:#ddd8cb;--rule-strong:#cac2b2;--rust:#ae5934;--rust-ink:#864428;--rust-tint:#ae593417;--on-rust:#fcf8f1;--accent:var(--rust);--accent-ink:var(--rust-ink);--accent-tint:var(--rust-tint);--on-accent:var(--on-rust);--ok:#42654a;--warn:#8c6124;--err:#953327;--warn-tint:#8c612414;--err-tint:#95332712;--fs-2xs:.625rem;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.5rem;--fs-page:1.625rem;--ls-caps:.14em;--ls-caps-sm:.1em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-xs:2px;--radius-sm:6px;--radius-md:8px;--shadow-brief:0 1px 2px #0e0e0c0a;--shadow-card:0 1px 2px #0e0e0c0a, 0 4px 20px #0e0e0c0f;--shadow-popover:0 4px 24px #0e0e0c14;--shadow-modal:0 20px 50px #0e0e0c1f;--control-sm:1.5rem;--control-md:2rem;--control-lg:2.5rem;--z-sticky:10;--z-popover:20;--z-modal:30;--tc-header-h:3rem;--tc-brief-h:2.75rem;--tc-footer-h:4.75rem}*,:before,:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-optical-sizing:auto;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;line-height:1.45}body{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--font-body), ui-sans-serif, system-ui, sans-serif;margin:0}::selection{background:var(--rust-tint);color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed}a{color:inherit}h1,h2,h3,h4,h5,h6{letter-spacing:-.005em;margin:0;font-family:inherit;font-weight:600;line-height:1.15}p{text-wrap:pretty;max-width:65ch}.skip-link{top:var(--space-3);left:var(--space-3);z-index:var(--z-modal);padding:.5rem var(--space-3);color:var(--paper);background:var(--ink);border-radius:var(--radius-sm);font-size:var(--fs-xs);letter-spacing:.04em;transition:transform .16s;position:fixed;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.tc-app,.mgr-page,.login-wrap{min-height:100dvh;color:var(--ink);background:var(--paper)}.tc-app{flex-direction:column;display:flex}.tc-header{z-index:var(--z-sticky);height:var(--tc-header-h);justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--space-6);background:var(--paper);border-bottom:1px solid var(--rule);display:flex;position:sticky;top:0}.tc-brand,.mgr-nav{align-items:center;gap:var(--space-3);min-width:0;display:flex}.tc-logo,.login-logo{width:auto;height:18px;display:block}.tc-header-label{padding-left:var(--space-3);border-left:1px solid var(--rule-strong);font-size:var(--fs-xs);color:var(--ink-55);font-weight:500}.tc-header-right{align-items:center;gap:var(--space-3);min-width:0;display:flex}.tc-header-mgr{align-items:center;gap:var(--space-1);padding-left:var(--space-3);border-left:1px solid var(--rule);display:flex}.tc-identity{align-items:baseline;gap:var(--space-2);padding:0 var(--space-4);white-space:nowrap;text-overflow:ellipsis;display:flex;overflow:hidden}.tc-id-name{font-size:var(--fs-sm);color:var(--ink);font-weight:600}.tc-id-sep{background:0 0;width:auto;height:auto;display:inline-block}.tc-id-sep:before{content:"·";color:#0e0e0c47;font-size:var(--fs-sm);line-height:1}.tc-id-meta{font-size:var(--fs-xs);color:var(--ink-40);font-weight:400}.tc-id-meta strong{color:var(--ink-55);font-weight:500}.tc-brief{justify-content:space-between;align-items:center;gap:var(--space-4);height:var(--tc-brief-h);padding:0 var(--space-6);background:var(--paper-2);border-bottom:1px solid var(--rule-strong);box-shadow:var(--shadow-brief);display:flex}.tc-brief-left{align-items:center;gap:var(--space-2);min-width:0;display:flex;overflow:hidden}.tc-brief-eyebrow{font-size:var(--fs-xs);color:var(--ink-40);white-space:nowrap;flex-shrink:0;align-items:center;gap:0;font-weight:400;display:inline-flex}.tc-brief-title{font-family:inherit;font-size:var(--fs-md);letter-spacing:0;color:var(--ink);white-space:nowrap;flex-shrink:0;align-items:baseline;gap:.35rem;margin:0;font-weight:600;line-height:1;display:inline-flex}.tc-brief-title-pre{font-size:var(--fs-xs);color:var(--ink-40);font-weight:400}.tc-brief-title-date{color:var(--ink);font-weight:600}.tc-week-nav{flex-shrink:0;align-items:center;gap:1px;margin-left:.25rem;display:inline-flex}.tc-week-nav-btn{border:1px solid var(--rule-strong);width:1.75rem;height:1.75rem;font-size:var(--fs-md);color:var(--ink-55);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;line-height:1;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.tc-week-nav-btn:hover{color:var(--ink);border-color:var(--ink-40);background:var(--ink-06)}.tc-brief-sub{font-size:var(--fs-xs);color:var(--ink-40);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-weight:400;overflow:hidden}.tc-brief-aside{align-items:center;gap:var(--space-3);white-space:nowrap;flex-shrink:0;display:inline-flex}.tc-save-state{font-size:var(--fs-xs);color:var(--ink-70);white-space:nowrap;align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.tc-pulse-dot{background:var(--rust);width:.4rem;height:.4rem;box-shadow:0 0 0 0 var(--rust-tint);border-radius:50%;animation:1.4s ease-out infinite tc-pulse;display:inline-block}.tc-pulse-dot.is-still{background:var(--ok);box-shadow:none;animation:none}.tc-pulse-dot.is-unsaved{background:var(--ink-40);box-shadow:none;animation:none}.tc-save-state.unsaved{color:var(--ink-55)}.tc-save-state.saving{color:var(--ink)}@keyframes tc-pulse{0%{box-shadow:0 0 #b5532e52}70%{box-shadow:0 0 0 .4rem #b5532e00}to{box-shadow:0 0 #b5532e00}}@media (prefers-reduced-motion:reduce){.tc-pulse-dot{animation:none}}.tc-notice{font-size:var(--fs-xs);color:var(--ink-70);white-space:nowrap;align-items:center;gap:.4rem;font-weight:500;display:inline-flex}.tc-notice:before{content:"";background:var(--ink-55);border-radius:50%;width:.4rem;height:.4rem;display:inline-block}.tc-error-note{font-size:var(--fs-xs);color:var(--err);white-space:nowrap}.tc-quick{align-items:center;gap:var(--space-2);display:inline-flex}.tc-quick>*+*{border-left:0}.tc-quick-btn{font-size:var(--fs-xs);color:var(--ink-55);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);padding:.25rem var(--space-3);white-space:nowrap;background:0 0;font-weight:500;transition:color .12s,background .12s,border-color .12s}.tc-quick-btn:hover:not(:disabled){color:var(--ink-70);background:var(--ink-03);border-color:var(--ink-20)}.tc-quick-btn:disabled{color:var(--ink-20);border-color:var(--rule);cursor:default}.tc-table-wrap{width:100%;max-width:100vw;padding:var(--space-3) var(--space-6) calc(var(--tc-footer-h) + var(--space-4));flex:1;overflow-x:auto}.tc-m-table,.tc-table{border-collapse:separate;border-spacing:0;table-layout:fixed;font-variant-numeric:tabular-nums;border:1px solid var(--rule-strong);border-radius:var(--radius-md);background:var(--paper-edge);width:100%;min-width:88rem;box-shadow:var(--shadow-card)}.tc-m-table thead th:first-child,.tc-table thead th:first-child{border-top-left-radius:calc(var(--radius-md) - 1px)}.tc-m-table thead th:last-child,.tc-table thead th:last-child{border-top-right-radius:calc(var(--radius-md) - 1px)}.tc-m-table tbody tr:last-child td:first-child,.tc-table tbody tr:last-child td:first-child{border-bottom-left-radius:calc(var(--radius-md) - 1px)}.tc-m-table tbody tr:last-child td:last-child,.tc-table tbody tr:last-child td:last-child{border-bottom-right-radius:calc(var(--radius-md) - 1px)}.tc-th-desc{width:10rem}.tc-th-job{width:13.5rem}.tc-th-phase{width:8rem}.tc-th-cost{width:12.5rem}.tc-th-day{width:5.75rem}.tc-th-actions{width:2rem}.tc-m-table thead th,.tc-table thead th{text-align:left;background:var(--paper-2);border-bottom:1px solid var(--rule-strong);border-right:1px solid var(--rule);vertical-align:top;font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-70);height:3.625rem;padding:0;font-weight:650}.tc-m-table thead th:last-child,.tc-table thead th:last-child{border-right:0}.tc-th-desc,.tc-th-job,.tc-th-phase,.tc-th-cost,.tc-th-actions{font-size:var(--fs-2xs);vertical-align:bottom;padding:0;position:relative}.tc-th-label{color:var(--ink-70);letter-spacing:.1em;font-size:.68rem;font-weight:700;position:absolute;bottom:1.45rem;left:.625rem}.tc-th-day{vertical-align:top;z-index:2;padding:0;position:relative}.tc-m-day-hd{grid-template-rows:auto 1fr;height:3.625rem;display:grid}.tc-m-dh-plate{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;padding:.4rem .5rem .3rem;display:flex}.tc-m-dh-day{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-70);font-weight:700}.tc-m-dh-num{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-sm);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.tc-th-day.is-weekend .tc-m-dh-plate,.tc-th-day.is-weekend .tc-m-dh-times,.tc-th-day.is-weekend .tc-m-dh-times>*{background:var(--paper-2)}.tc-th-day.is-weekend .tc-m-dh-day,.tc-th-day.is-weekend .tc-m-dh-num{color:var(--ink-40)}.tc-m-dh-times{background:var(--rule);grid-template-columns:1fr 1fr;gap:1px;padding:0;display:grid}.tc-m-dh-times>*{background:var(--paper-edge)}.tc-m-row{background:var(--paper-edge);transition:background .12s;position:relative}.tc-m-row:nth-child(2n){background:var(--paper)}.tc-m-row:hover{background:var(--ink-03)}.tc-m-cell,.tc-table td{background:inherit;border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);vertical-align:middle;height:3rem;padding:0;transition:background .12s;position:relative}.tc-m-table tbody tr:first-child .tc-m-cell,.tc-table tbody tr:first-child td{border-top:1px solid var(--rule-strong)}.tc-m-cell:last-child,.tc-table td:last-child{border-right:0}.tc-m-row:focus-within{background:var(--paper-edge)}.tc-m-row:focus-within>.tc-m-cell:first-child:before{content:"";background:var(--accent);pointer-events:none;width:3px;position:absolute;top:0;bottom:0;left:0}.tc-m-table thead .tc-th-cost,.tc-m-table tbody .tc-m-cost{border-right-color:var(--rule-strong);border-right-width:2px}.tc-m-cell.is-missing{box-shadow:inset 2px 0 0 var(--err);background:#9a2d1f0f}.tc-m-cell.is-missing .tc-phase-placeholder,.tc-m-cell.is-missing .tc-m-input-job::placeholder{color:var(--err)}.tc-m-day.is-weekend{background:var(--paper-2)}.tc-m-row:hover .tc-m-day.is-weekend{background:var(--ink-03)}.tc-th-day.is-today .tc-m-dh-plate{background:var(--accent-tint)}.tc-th-day.is-today .tc-m-dh-day{color:var(--accent-ink)}.tc-th-day.is-today .tc-m-dh-num{color:var(--accent);font-weight:700}.tc-m-day.is-today{background:#b5532e12!important}.tc-m-row:hover .tc-m-day.is-today{background:#b5532e1c!important}.tc-day-tot.is-today{background:var(--accent-tint)!important}.tc-day-tot.is-today .tc-day-tot-lbl{color:var(--accent-ink)}.tc-day-tot.is-today .tc-day-tot-alloc{color:var(--accent)}.tc-m-input,.tc-m-select,.tc-m-day-inp,.tc-m-pd-inp,.tc-time-combo input{color:var(--ink);background:0 0;border:0;border-radius:0;outline:0;transition:background .12s,box-shadow .12s}.tc-m-input,.tc-m-select{width:100%;height:3rem;font-size:var(--fs-sm);text-align:left;padding:0 .55rem;font-weight:400}.tc-m-input:not(:placeholder-shown){font-weight:500}.tc-m-select{appearance:none;cursor:pointer;color:var(--ink-40);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='rgba(14,14,12,0.40)'/%3E%3C/svg%3E");background-position:right .625rem center;background-repeat:no-repeat;padding-right:1.35rem}.tc-m-select.has-value{color:var(--ink);font-weight:400}.tc-m-input::placeholder,.tc-m-day-inp::placeholder,.tc-m-pd-inp::placeholder,.tc-time-combo input::placeholder{color:var(--ink-40);font-weight:400}.tc-m-input:focus,.tc-m-select:focus{background:var(--paper-edge);box-shadow:inset 0 -1px 0 0 var(--accent)}.tc-m-input:disabled,.tc-m-day-inp:disabled,.tc-m-pd-inp:disabled,.tc-time-combo input:disabled{color:var(--ink-70);cursor:default;opacity:1}.tc-m-day-wrap{grid-template-rows:1fr .875rem;align-items:stretch;height:3rem;display:grid}.tc-m-day-inp{width:100%;height:100%;font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-sm);text-align:center;font-variant-numeric:tabular-nums;padding:0 .35rem;font-weight:500}.tc-m-day-inp:focus{background:var(--paper-edge);box-shadow:inset 0 0 0 1px var(--accent)}.tc-m-day.has-value .tc-m-day-inp{color:var(--ink);font-weight:600}.tc-m-day-inp::placeholder{color:#d1d5db}.tc-m-pd-inp{width:100%;height:100%;font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);text-align:center;letter-spacing:.04em;color:var(--ink-55);opacity:0;pointer-events:none;padding:0 .35rem;font-weight:500;transition:opacity .12s}.tc-m-row:hover .tc-m-pd-inp,.tc-m-row:focus-within .tc-m-pd-inp,.tc-m-pd-inp.has-val,.tc-m-pd-inp:focus{opacity:1;pointer-events:auto}.tc-m-pd-inp:focus{box-shadow:inset 0 -1px 0 0 var(--accent);background:var(--paper-edge)}.tc-job-auto{height:100%;position:relative}.tc-job-auto>input{height:100%}.tc-job-drop{z-index:var(--z-popover);background:var(--paper-edge);border:1px solid var(--rule-strong);max-height:16rem;box-shadow:var(--shadow-popover);border-top:0;animation:.1s tc-drop-in;position:absolute;top:100%;left:-1px;right:-1px;overflow-y:auto}@keyframes tc-drop-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.tc-job-opt{cursor:pointer;font-size:var(--fs-sm);border-bottom:1px solid var(--rule);align-items:baseline;gap:.625rem;padding:.45rem .625rem;transition:background 80ms;display:flex;overflow:hidden}.tc-job-opt:last-child{border-bottom:0}.tc-job-opt:hover,.tc-job-opt.is-highlighted{background:var(--ink-03)}.tc-job-opt.empty{color:var(--ink-55);cursor:default;font-style:italic}.tc-jo-num{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-xs);color:var(--ink-55);letter-spacing:.04em;flex-shrink:0;min-width:3.5rem;font-weight:500}.tc-jo-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:400;overflow:hidden}.tc-field-chip{cursor:text;flex-direction:row;align-items:center;gap:0;padding:0 .4rem 0 .55rem;display:flex;position:absolute;inset:0;overflow:hidden}.tc-chip-body{flex-direction:column;flex:1;justify-content:center;gap:.1rem;min-width:0;display:flex;overflow:hidden}.tc-chip-num{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);letter-spacing:.08em;color:var(--ink-40);white-space:nowrap;font-weight:500;line-height:1}.tc-chip-label{font-size:var(--fs-sm);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:500;line-height:1.2;overflow:hidden}.tc-chip-clr{border-radius:var(--radius-sm);width:1.1rem;height:1.1rem;font-size:var(--fs-sm);color:var(--ink-40);cursor:pointer;opacity:0;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;margin-left:.2rem;padding:0;line-height:1;transition:color .1s,opacity .1s,background .1s;display:flex}.tc-m-row:hover .tc-chip-clr{opacity:1}.tc-chip-clr:hover{color:var(--err);background:var(--ink-06)}.tc-field-chip:hover{background:var(--ink-03)}.tc-m-row:hover .tc-field-chip:hover .tc-chip-label{text-decoration:underline;-webkit-text-decoration-color:var(--ink-20);text-decoration-color:var(--ink-20);text-underline-offset:2px}.tc-phase-placeholder{text-align:left;width:100%;height:3rem;font-size:var(--fs-sm);color:var(--ink-40);cursor:pointer;background:0 0;border:0;padding:0 .55rem;font-family:inherit;transition:color .12s}.tc-phase-placeholder:hover:not(:disabled){color:var(--ink-70)}.tc-phase-placeholder:disabled{cursor:default;color:var(--ink-20)}.tc-job-opt.is-selected{background:var(--ink-03)}.tc-job-opt.is-selected .tc-jo-num,.tc-job-opt.is-selected .tc-jo-name{font-weight:500}.tc-time-combo{position:relative}.tc-time-combo input{width:100%;height:1.55rem;font-family:var(--font-mono), ui-monospace, monospace;text-align:center;color:var(--ink-70);font-variant-numeric:tabular-nums;background:0 0;padding:0 .2rem;font-size:.72rem;font-weight:600}.tc-time-combo input::placeholder{color:var(--ink-40);text-transform:uppercase;letter-spacing:.08em}.tc-time-combo input:hover:not(:disabled){background:#0e0e0c08}.tc-time-combo input:focus{color:var(--ink);background:var(--paper-edge);box-shadow:inset 0 0 0 1px var(--accent)}.tc-time-dropdown{min-width:6.5rem;z-index:var(--z-popover);background:var(--paper-edge);border:1px solid var(--rule-strong);max-height:13rem;box-shadow:var(--shadow-popover);border-top:0;animation:.1s tc-drop-in;position:absolute;top:100%;left:-1px;right:auto;overflow-y:auto}.tc-time-opt{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-xs);color:var(--ink);cursor:pointer;border-bottom:1px solid var(--rule);padding:.4rem .625rem;font-weight:500;transition:background 80ms}.tc-time-opt:last-child{border-bottom:0}.tc-time-opt:hover,.tc-time-opt.is-highlighted{background:var(--ink-03)}.tc-time-opt.selected{color:var(--accent)}.tc-add-row-td{padding:var(--space-2) var(--space-3);background:var(--paper);border-bottom:1px solid var(--rule-strong)}.tc-add-btn{border:1px dashed var(--rule-strong);border-radius:var(--radius-sm);width:100%;height:2.25rem;font-size:var(--fs-sm);color:var(--ink-55);cursor:pointer;background:0 0;font-weight:400;transition:color .12s,background .12s,border-color .12s}.tc-add-btn:hover:not(:disabled){color:var(--ink-70);background:var(--ink-03);border-color:var(--ink-20)}.tc-add-btn:disabled{color:var(--ink-20);border-color:var(--rule);cursor:default}.tc-empty{background:var(--paper);text-align:center;padding:0}.tc-empty-panel{min-height:8rem;padding:var(--space-6) var(--space-4);place-items:center;gap:.5rem;display:grid}.tc-empty-mark{display:none}.tc-empty-title{font-size:var(--fs-md);color:var(--ink);letter-spacing:-.005em;font-weight:500}.tc-empty-copy{font-size:var(--fs-sm);color:var(--ink-55);font-family:var(--font-body), ui-sans-serif, system-ui, sans-serif;margin:0}.tc-empty .tc-add-btn{width:auto;min-width:12rem;margin-top:var(--space-3);border:1px solid var(--ink);border-style:solid}.tc-skeleton-row{background:var(--paper-edge)}.tc-skeleton-row .tc-m-cell{background:linear-gradient(90deg, transparent, var(--ink-03) 50%, transparent), var(--paper-edge);background-repeat:no-repeat;background-size:30% 100%,100% 100%;height:3rem;animation:1.4s ease-in-out infinite tc-skeleton}@keyframes tc-skeleton{0%{background-position:-30% 0,0 0}to{background-position:130% 0,0 0}}@media (prefers-reduced-motion:reduce){.tc-skeleton-row .tc-m-cell{animation:none}}.tc-m-actions{border-right:0;padding:0;overflow:visible}.tc-row-actions{justify-content:center;align-items:center;height:100%;display:flex;position:relative}.tc-m-row-actions{opacity:0;transition:opacity .12s}.tc-m-row:hover .tc-m-row-actions,.tc-m-row:focus-within .tc-m-row-actions{opacity:1}.tc-m-row-actions:has(.tc-row-menu){opacity:1}.tc-kebab-btn{width:2rem;height:100%;color:var(--ink-40);cursor:pointer;letter-spacing:0;background:0 0;border:0;justify-content:center;align-items:center;font-size:1rem;line-height:1;transition:color .12s;display:flex}.tc-kebab-btn:hover{color:var(--ink)}.tc-kebab-btn:disabled{color:var(--ink-25);cursor:default}.tc-row-menu{z-index:var(--z-popover);background:var(--paper-edge);border:1px solid var(--rule-strong);min-width:10rem;box-shadow:var(--shadow-popover);flex-direction:column;animation:.1s tc-drop-in;display:flex;position:absolute;top:50%;right:calc(100% + 4px);transform:translateY(-50%)}.tc-row-menu-item{text-align:left;width:100%;font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-70);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:.45rem .75rem;font-weight:500;transition:background 80ms,color 80ms;display:block}.tc-row-menu-item:hover{background:var(--ink-06);color:var(--ink)}.tc-row-menu-item.is-danger:hover{color:var(--err);background:var(--ink-03)}.tc-row-menu-divider{background:var(--rule);height:1px;margin:.2rem 0}.tc-totals{z-index:var(--z-sticky);height:var(--tc-footer-h);background:var(--paper);border-top:1px solid var(--rule-strong);grid-template-columns:minmax(13rem,auto) 1fr auto;align-items:center;gap:0;padding:0;display:grid;position:sticky;bottom:0}.tc-progress-thread{background:var(--ink-06);pointer-events:none;height:2px;position:absolute;top:-1px;left:0;right:0}.tc-progress-fill{width:var(--tc-progress,0%);background:var(--ink-90);transition:width .32s cubic-bezier(.2,.7,.2,1);position:absolute;top:0;bottom:0;left:0}.tc-progress-fill.is-over{background:linear-gradient(to right, var(--ink-90) 0, var(--ink-90) var(--tc-progress-target,100%), var(--accent) var(--tc-progress-target,100%), var(--accent) 100%)}.tc-progress-target{top:-2px;bottom:-2px;left:var(--tc-progress-target,100%);background:var(--ink-55);width:1px;position:absolute}.tc-totals-left{align-items:baseline;gap:var(--space-3);padding:0 var(--space-5);border-right:1px solid var(--rule);align-content:center;align-items:center;height:100%;display:flex}.tc-tot-group{flex-direction:column;justify-content:center;gap:.1rem;display:flex}.tc-tot-lbl{font-size:var(--fs-xs);color:var(--ink-40);font-weight:400}.tc-tot-target{color:var(--ink-40)}.tc-tot-val{font-family:var(--font-mono), ui-monospace, monospace;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;align-items:baseline;gap:.1rem;font-size:1.5rem;font-weight:700;line-height:1;display:inline-flex}.tc-tot-unit{font-size:var(--fs-sm);color:var(--ink-55);letter-spacing:0;font-weight:500}.tc-warn{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-xs);letter-spacing:.06em;color:var(--warn);white-space:nowrap;font-weight:500}.tc-warn.over{color:var(--accent)}.tc-warn:before{content:"/";color:var(--ink-40);margin-right:.4rem}.tc-day-totals{border-right:1px solid var(--rule-strong);grid-template-columns:repeat(7,1fr);align-items:center;height:100%;display:grid}.tc-day-tot{height:100%;padding:.4rem var(--space-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;display:flex;position:relative}.tc-day-tot+.tc-day-tot{border-left:1px solid var(--rule)}.tc-day-tot.is-weekend{background:var(--paper-2)}.tc-day-tot.blocks{box-shadow:inset 0 -2px 0 var(--err);background:#9a2d1f12}.tc-day-tot-lbl{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);letter-spacing:var(--ls-caps-sm);text-transform:uppercase;color:var(--ink-55);font-weight:500}.tc-day-tot-alloc{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-md);color:var(--ink);font-variant-numeric:tabular-nums;align-items:baseline;gap:.05rem;font-weight:500;line-height:1;display:inline-flex}.tc-day-tot-clock{font-family:var(--font-mono), ui-monospace, monospace;color:var(--ink-55);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:.7rem;font-weight:600;line-height:1}.tc-day-tot-unit{font-size:var(--fs-2xs);color:var(--ink-40);font-weight:500}.tc-day-tot-status{min-height:1.15rem;font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.08em;color:#0000;font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.05rem .45rem;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex}.tc-day-tot-status.is-ok{color:var(--paper-edge);background:var(--ok);border-color:#2f5e3aa6;padding:.1rem .55rem}.tc-day-tot-status.is-error{color:var(--err);background:var(--err-tint);border-color:#9a2d1f59}.tc-day-tot.over .tc-day-tot-alloc:after{content:"⚠";font-size:var(--fs-2xs);color:var(--accent);margin-left:.2rem}.tc-totals-btns{height:100%;padding:0 var(--space-5) 0 var(--space-6);align-items:center;gap:var(--space-3);display:flex}.tc-m-day.is-over .tc-m-day-inp{color:var(--ink)}.tc-m-day.is-mismatch:after{content:"!";font-size:var(--fs-2xs);color:var(--err);pointer-events:none;position:absolute;top:.1rem;right:.25rem}.tc-header-link,.tc-signout-btn,.mgr-back-link{height:1.75rem;padding:0 var(--space-3);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--fs-sm);letter-spacing:0;text-transform:none;color:var(--ink-70);background:0 0;border:0;align-items:center;font-weight:500;text-decoration:none;transition:color .12s,background .12s;display:inline-flex}.tc-header-link:hover,.mgr-back-link:hover{color:var(--ink);text-underline-offset:2px;background:0 0;text-decoration:underline}.tc-signout-btn{border:1px solid var(--rule-strong)}.tc-signout-btn:hover{color:var(--ink);background:var(--paper-2);border-color:var(--ink-20)}.tc-header-right form{align-items:center;display:flex}.tc-submit-btn,.tc-confirm-btn,.login-btn{height:2.25rem;padding:0 var(--space-4);background:var(--rust);color:var(--on-rust);border:1px solid var(--rust);border-radius:var(--radius-sm);font-size:var(--fs-sm);letter-spacing:.02em;white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;font-weight:500;transition:background .12s,border-color .12s,transform 80ms;display:inline-flex}.tc-submit-btn{height:2.5rem;padding:0 var(--space-5);letter-spacing:.04em;border-radius:var(--radius-md);font-weight:600;box-shadow:0 1px 2px #0000001a,0 1px 1px #0000000f}.tc-submit-btn:hover:not(:disabled),.tc-confirm-btn:hover:not(:disabled),.login-btn:hover:not(:disabled){background:var(--rust-ink);border-color:var(--rust-ink);filter:brightness(1.08)}.tc-submit-btn:disabled,.tc-confirm-btn:disabled,.login-btn:disabled{background:var(--paper-2);color:var(--ink-40);border-color:var(--rule-strong)}.tc-submit-arrow{font-size:var(--fs-sm);line-height:1;transition:transform .16s;display:inline-block}.tc-submit-btn:hover:not(:disabled) .tc-submit-arrow{transform:translate(2px)}.tc-cancel-btn,.login-btn-ghost{width:100%;height:2.25rem;color:var(--ink-55);border-radius:var(--radius-sm);font-size:var(--fs-sm);background:0 0;border:0;justify-content:center;align-items:center;margin-top:.5rem;font-weight:500;transition:color .12s,background .12s;display:inline-flex}.tc-cancel-btn:hover,.login-btn-ghost:hover:not(:disabled){color:var(--ink);background:var(--ink-03)}.tc-confirm-btn{width:100%}.tc-attest-modal{width:min(28rem,100%)}.tc-attest-body{padding:var(--space-5)}.tc-attest-summary{gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--paper);border:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tc-attest-summary span{min-width:0;font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-55);font-weight:500}.tc-attest-summary strong{font-family:var(--font-body), ui-sans-serif, system-ui, sans-serif;font-size:var(--fs-sm);letter-spacing:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap;color:var(--ink);margin-top:.25rem;font-weight:600;display:block;overflow:hidden}.tc-attest-check{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--fs-sm);color:var(--ink);line-height:1.4;display:flex}.tc-attest-check input{width:1rem;height:1rem;accent-color:var(--ink);flex:none;margin-top:.1rem}.tc-attest-block{margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--err);color:var(--ink);font-size:var(--fs-sm);background:#9a2d1f12;line-height:1.4}.tc-attest-block strong{color:var(--err);font-size:var(--fs-sm);display:block}.tc-attest-block p{color:var(--ink-70);margin:.4rem 0 .6rem}.tc-attest-block ul{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.tc-attest-block li{align-items:baseline;gap:var(--space-2);font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-sm);display:flex}.tc-attest-block-day{color:var(--ink);text-transform:uppercase;letter-spacing:.06em;flex:0 0 2.5rem;font-weight:600}.tc-attest-block-detail{color:var(--ink-70)}.mgr-copy-btn{height:var(--control-sm);margin-left:var(--space-2);padding:0 var(--space-2);color:var(--ink-55);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;background:0 0;align-items:center;font-weight:500;transition:color .12s,border-color .12s;display:inline-flex}.mgr-copy-btn:hover{color:var(--ink);border-color:var(--ink)}.mgr-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.mgr-list-controls{margin-bottom:var(--space-3)}.mgr-actions .mgr-copy-btn{margin-left:0}.mgr-reopen-btn,.mgr-delete-btn{height:var(--control-sm);padding:0 var(--space-2);color:var(--rust);border-radius:var(--radius-sm);font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #b5532e73;align-items:center;font-weight:500;transition:color .12s,border-color .12s,opacity .12s;display:inline-flex}.mgr-reopen-btn{color:var(--ink-70);border-color:var(--rule-strong)}.mgr-reopen-btn:hover:not(:disabled){color:var(--ink);border-color:var(--ink)}.mgr-delete-btn:hover:not(:disabled){color:var(--ink);border-color:var(--rust)}.mgr-reopen-btn:disabled,.mgr-delete-btn:disabled{cursor:default;opacity:.55}.mgr-week-btn{width:2rem;height:2rem;color:var(--ink-70);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm);background:0 0;justify-content:center;align-items:center;display:inline-flex}.mgr-week-btn:hover:not(:disabled){color:var(--ink);border-color:var(--ink)}.mgr-week-btn:disabled{opacity:.35}.tc-overlay{z-index:var(--z-modal);padding:var(--space-4);background:#0e0e0c66;place-items:center;animation:.16s tc-overlay-in;display:grid;position:fixed;inset:0}@keyframes tc-overlay-in{0%{opacity:0}to{opacity:1}}.tc-modal{background:var(--paper-edge);border:1px solid var(--rule-strong);border-radius:var(--radius-md);width:min(34rem,100%);max-height:84vh;box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.tc-modal-hd{padding:var(--space-3) var(--space-4);background:var(--paper);border-bottom:1px solid var(--rule-strong);justify-content:space-between;align-items:center;display:flex}.tc-modal-title{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-55);font-weight:500}.tc-modal-close{width:1.75rem;height:1.75rem;color:var(--ink-55);border-radius:var(--radius-sm);background:0 0;border:0;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;display:inline-flex}.tc-modal-close:hover{color:var(--ink);background:var(--ink-03)}.tc-exp-modal{padding:var(--space-5)}.tc-hist-list{overscroll-behavior:contain;overflow-y:auto}.tc-hist-empty{padding:var(--space-5) var(--space-4);font-size:var(--fs-sm);color:var(--ink-55);text-align:center}.tc-hist-row{width:100%;padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--rule);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;transition:background .1s;display:flex}.tc-hist-row:last-child{border-bottom:0}.tc-hist-row:hover{background:var(--ink-06)}.tc-hist-row.is-current{background:var(--rust-tint)}.tc-hist-row.is-current:hover{background:#b5532e26}.tc-hist-date{font-size:var(--fs-sm);color:var(--ink)}.tc-hist-badge{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-40);font-weight:500}.tc-hist-badge.is-submitted{color:var(--ok)}.tc-exp-name{color:var(--ink);letter-spacing:-.005em;font-size:1.125rem;font-weight:600}.tc-exp-sub{margin:.25rem 0 var(--space-4);font-size:var(--fs-sm);color:var(--ink-55)}.tc-exp-summary{gap:var(--space-4);padding:var(--space-3);background:var(--paper);border:1px solid var(--rule);display:flex}.tc-exp-stat{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-55);font-weight:500}.tc-exp-stat strong{font-family:var(--font-body), ui-sans-serif, system-ui, sans-serif;letter-spacing:0;text-transform:none;color:var(--ink);margin-top:.2rem;font-size:1rem;font-weight:600;display:block}.tc-inj-q{margin:var(--space-4) 0 var(--space-2);font-size:var(--fs-sm);color:var(--ink-70)}.tc-radio-row{gap:var(--space-4);margin-bottom:var(--space-4);font-size:var(--fs-sm);display:flex}.tc-radio-lbl{align-items:center;gap:.4rem;display:flex}.login-wrap{padding:var(--space-8);place-items:center;display:grid}.login-card{width:min(100%,26rem);padding:var(--space-8);background:var(--paper-edge);border:1px solid var(--rule-strong);border-radius:var(--radius-md)}.login-logo{margin-bottom:var(--space-8)}.login-title{letter-spacing:-.01em;margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.login-sub{margin:0 0 var(--space-6);font-size:var(--fs-sm);color:var(--ink-55)}.login-label{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-55);margin-bottom:.4rem;font-weight:500;display:block}.login-input{width:100%;height:var(--control-md);border:0;border-bottom:1px solid var(--ink-20);font-size:var(--fs-md);color:var(--ink);background:0 0;border-radius:0;outline:none;margin-bottom:.5rem;padding:0;transition:border-color .12s}.login-input:focus{border-bottom-color:var(--accent)}.login-input::placeholder{color:var(--ink-40)}.login-btn{width:100%;margin-top:var(--space-5);height:var(--control-lg)}.login-btn-microsoft{width:100%;height:var(--control-lg);margin-top:var(--space-5);padding:0 var(--space-4);background:var(--paper);color:var(--ink);border:1px solid var(--rule-strong);border-radius:var(--radius-md);font-size:var(--fs-sm);cursor:pointer;justify-content:center;align-items:center;gap:.625rem;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.login-btn-microsoft:hover:not(:disabled){background:var(--paper-2);border-color:var(--ink-55)}.login-btn-microsoft:disabled{opacity:.5;cursor:not-allowed}.login-divider{align-items:center;gap:var(--space-3);margin-top:var(--space-5);color:var(--ink-55);font-size:var(--fs-xs);letter-spacing:.02em;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--rule-strong);flex:1;height:1px}.login-success,.login-error{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-3);font-size:var(--fs-sm);border-radius:0}.login-success{color:var(--ok);background:var(--paper);border-left:2px solid var(--ok)}.login-error{color:var(--err);background:var(--paper);border-left:2px solid var(--rust)}.mgr-page{flex-direction:column;display:flex}.mgr-wrap{width:min(100%,82rem);padding:var(--space-6) var(--space-6) var(--space-10);margin:0 auto}.mgr-title{letter-spacing:-.01em;font-size:1.625rem;font-weight:600}.mgr-sub{margin:.25rem 0 var(--space-6);font-size:var(--fs-sm);color:var(--ink-55)}.mgr-empty{padding:var(--space-5);font-size:var(--fs-sm);color:var(--ink-55);background:var(--paper-edge);border:1px solid var(--rule-strong);border-radius:var(--radius-md)}.mgr-week-nav{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.mgr-week-label{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-70);font-weight:500}.mgr-grid-wrap{border:1px solid var(--rule-strong);border-radius:var(--radius-md);background:var(--paper-edge);box-shadow:var(--shadow-card);overflow:auto hidden}.mgr-grid{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:48rem}.mgr-grid th{padding:var(--space-3) var(--space-4);text-align:left;background:var(--paper-2);border-bottom:1px solid var(--rule-strong);font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-55);font-weight:500}.mgr-grid td{padding:var(--space-3) var(--space-4);background:var(--paper-edge);border-bottom:1px solid var(--rule);font-size:var(--fs-sm);vertical-align:middle}.mgr-grid tbody tr:hover td{background:var(--ink-03)}.mgr-emp-name{font-size:var(--fs-md);color:var(--ink);font-weight:500}.mgr-emp-meta{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-xs);letter-spacing:.06em;color:var(--ink-55);font-weight:500}.mgr-hours{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-md);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.mgr-badge{height:1.5rem;padding:0 var(--space-2);font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--rule-strong);border-radius:0;align-items:center;font-weight:500;display:inline-flex}.mgr-badge.submitted{color:var(--ink);border-color:var(--ink)}.mgr-badge.draft{color:var(--ink-55)}.mgr-badge.missing{color:var(--ink-40);border-style:dashed}.mgr-badge.deactivated{color:var(--ink-40);border-color:var(--rule);text-decoration:line-through}.mgr-view-link{height:var(--control-sm);padding:0 var(--space-2);color:var(--ink-55);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;background:0 0;align-items:center;font-weight:500;text-decoration:none;transition:color .12s,border-color .12s;display:inline-flex}.mgr-view-link:hover{color:var(--ink);border-color:var(--ink)}.mgr-tc-meta{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.mgr-tc-totals{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.2rem;display:flex}.mgr-tc-total-lbl{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-55);font-weight:500}.mgr-tc-total-val{font-size:1.75rem!important}.mgr-tc-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.mgr-tc-table th{padding:var(--space-3) var(--space-4);text-align:left;background:var(--paper-2);border-bottom:1px solid var(--rule-strong);font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-55);font-weight:500}.mgr-tc-table th.mgr-tc-num,.mgr-tc-table td.mgr-tc-num{text-align:right}.mgr-tc-table td{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--rule);font-size:var(--fs-sm);vertical-align:middle;background:var(--paper-edge)}.mgr-tc-table tr.mgr-tc-day-first td{border-top:1px solid var(--rule-strong)}.mgr-tc-day-cell{width:3.5rem;vertical-align:top!important;padding-top:var(--space-3)!important;border-right:2px solid var(--rule-strong)!important}.mgr-tc-day-lbl{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-70);font-weight:600}.mgr-tc-desc{max-width:16rem;font-size:var(--fs-sm);color:var(--ink)}.mgr-tc-meta-cell{max-width:14rem}.mgr-tc-chip{flex-direction:column;gap:.1rem;display:inline-flex}.mgr-tc-chip-num{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);letter-spacing:.06em;color:var(--ink-40);font-weight:500;line-height:1}.mgr-tc-chip-name{font-size:var(--fs-sm);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:13rem;font-weight:500;line-height:1.2;display:block;overflow:hidden}.mgr-tc-empty-val{color:var(--ink-20)}.mgr-tc-perdiem{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-sm);color:var(--ink-55);font-weight:500}.mgr-tc-day-total td{padding:var(--space-2) var(--space-4);background:var(--paper-2)!important;border-bottom:2px solid var(--rule-strong)!important}.mgr-tc-day-total-lbl{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-55);font-weight:500}.mgr-tc-grand-total td{padding:var(--space-3) var(--space-4);background:var(--paper-edge)!important;border-top:2px solid var(--ink)!important;border-bottom:0!important}.mgr-tc-grand-total .mgr-tc-day-total-lbl{color:var(--ink-70);font-size:var(--fs-xs)}.mgr-tc-grand-total .mgr-hours{font-size:1.125rem}button:focus-visible,a:focus-visible{outline:1px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible{outline:0}button:disabled,input:disabled,select:disabled{opacity:.5}.tc-submit-btn:disabled,.tc-confirm-btn:disabled,.login-btn:disabled{opacity:1}@media (max-width:1100px){.tc-header,.tc-brief,.tc-table-wrap,.tc-totals-left,.tc-totals-btns{padding-left:var(--space-4);padding-right:var(--space-4)}}@media (max-width:980px){.tc-brief{height:auto;padding-top:var(--space-2);padding-bottom:var(--space-2);gap:var(--space-2);flex-wrap:wrap}.tc-brief-left{flex:100%}.tc-brief-aside{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}}@media (max-width:760px){:root{--tc-footer-h:4.25rem}.tc-header{height:auto;padding:var(--space-3) var(--space-4);align-items:stretch;gap:var(--space-2);flex-direction:column}.tc-header-right{gap:var(--space-2);flex-wrap:wrap;justify-content:space-between}.tc-identity{flex:100%;padding:0}.tc-id-name,.tc-id-number{text-overflow:ellipsis;overflow:hidden}.tc-id-role,.tc-id-role-sep,.tc-id-wc,.tc-id-wc-sep{display:none}.tc-header-mgr{gap:var(--space-2);flex-wrap:wrap}.tc-header-link,.tc-signout-btn{border:0;height:2rem;padding-left:0}.tc-brief-left{gap:var(--space-2);flex-wrap:wrap}.tc-brief-sub{flex-basis:100%}}@media (max-width:520px){.tc-brief-sub{display:none}.tc-brief-aside{justify-content:space-between;gap:var(--space-2);width:100%}.tc-quick{flex:auto;justify-content:flex-end;min-width:0}.tc-quick-btn{padding-left:var(--space-2);padding-right:var(--space-2);letter-spacing:.08em}.mgr-wrap,.login-wrap{padding-left:var(--space-4);padding-right:var(--space-4)}.login-card{padding:var(--space-6)}.mgr-tc-meta{flex-direction:column}.mgr-tc-totals{align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.tc-job-drop{animation:none}}.mgr-nav-secondary{margin-left:auto}.invite-form{max-width:28rem;margin-bottom:var(--space-10);padding-bottom:var(--space-8);border-bottom:1px solid var(--rule)}.invite-form-title{margin:0 0 var(--space-2);color:var(--ink);font-size:1.125rem;font-weight:600}.invite-pending-title{margin:var(--space-8) 0 var(--space-4);color:var(--ink);font-size:1.125rem;font-weight:600}.invite-checkbox{align-items:flex-start;gap:var(--space-3);margin:var(--space-4) 0 var(--space-6);font-size:var(--fs-sm);color:var(--ink-70);cursor:pointer;display:flex}.invite-checkbox input{margin-top:.15rem}.invite-url-box{margin:var(--space-4) 0;padding:var(--space-4);font-size:var(--fs-sm);word-break:break-all;white-space:pre-wrap;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius-md);color:var(--ink-90);line-height:1.5}.invite-success-block{margin:var(--space-4) 0}.invite-url-fallback-label{margin:var(--space-3) 0 var(--space-1);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-55);font-size:.7rem}.mgr-jobs-add-form{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.mgr-jobs-input{height:var(--control-sm);padding:0 var(--space-2);border:1px solid var(--rule-strong);color:var(--ink);background:0 0;border-radius:2px;width:6rem;font-family:inherit;font-size:.72rem;transition:border-color .12s}.mgr-jobs-input-name{width:18rem}.mgr-jobs-input-inline{width:14rem}.mgr-jobs-input:focus{border-color:var(--accent);outline:none}.mgr-jobs-inline-edit{align-items:center;gap:var(--space-2);display:inline-flex}.mgr-jobs-grid{min-width:36rem}.mgr-jobs-row-expanded td{background:var(--ink-03)!important}.mgr-jobs-phases-row td{padding:0;background:var(--ink-01)!important}.mgr-jobs-phases-row:hover td{background:var(--ink-01)!important}.mgr-jobs-phases-wrap{padding:var(--space-3) var(--space-4) var(--space-4) calc(var(--space-4) * 2);border-left:2px solid var(--rule-strong);margin-left:var(--space-4)}.mgr-jobs-phases-table{border-collapse:collapse;width:100%;margin-bottom:var(--space-3)}.mgr-jobs-phases-table th{padding:var(--space-2) var(--space-3);text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-55);border-bottom:1px solid var(--rule);font-size:.65rem}.mgr-jobs-phases-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);font-size:.78rem}.mgr-jobs-add-phase-form,.mgr-jobs-add-phase-btn{margin-top:var(--space-2)}.emp-edit-form{gap:var(--space-4);max-width:28rem;margin-top:var(--space-6);flex-direction:column;display:flex}.emp-edit-field{gap:var(--space-1);flex-direction:column;display:flex}.emp-edit-label{font-size:var(--fs-xs);color:var(--ink-70);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.emp-edit-input{width:100%;height:var(--control-md,2.25rem);padding:0 var(--space-3);font-size:var(--fs-sm);color:var(--ink);background:var(--paper-edge);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);font-family:inherit}.emp-edit-input:focus{outline:2px solid var(--accent);outline-offset:1px}.emp-edit-input:disabled{background:var(--paper-2);color:var(--ink-55)}.emp-edit-hint{font-size:var(--fs-xs);color:var(--ink-55)}.emp-edit-checkbox{align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--ink-90);display:flex}.emp-edit-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.toast-region{bottom:var(--space-4);right:var(--space-4);gap:var(--space-2);z-index:1000;pointer-events:none;max-width:calc(100vw - var(--space-6));flex-direction:column;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--paper-edge);border:1px solid var(--rule-strong);border-radius:var(--radius-md,8px);padding:var(--space-3) var(--space-4);font-size:var(--fs-sm,.875rem);color:var(--ink-90);min-width:240px;max-width:420px;animation:.16s ease-out toast-in;box-shadow:0 6px 24px #0e0e0c1f}.toast-error{border-color:var(--err);background:var(--err-tint);color:var(--err)}.toast-success{border-color:var(--ok);color:var(--ok)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}