@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ubuntu-400-latin.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:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ubuntu-400-latin-ext.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:Ubuntu;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ubuntu-400-italic-latin.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:Ubuntu;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ubuntu-400-italic-latin-ext.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:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ubuntu-500-latin.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:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ubuntu-500-latin-ext.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:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ubuntu-700-latin.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:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ubuntu-700-latin-ext.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}:root{--page:#f6f5fa;--surface:#fff;--surface-muted:#ededed;--input:#fff;--border:#d9d9d9;--control-border:#767676;--text:#171717;--text-muted:#696969;--primary:#403b8a;--primary-hover:#332e73;--primary-foreground:#fafafa;--link:#403b8a;--focus:#7a3a87;--brand-bar-start:#3b2a6d;--brand-bar-end:#191333;--brand-bar-edge:#120e26;--brand-bar-text:#f6f4ff;--brand-bar-text-muted:#cfc8ea;--brand-bar-link:#dcd6ff;--brand-bar-border:#5a4d8f;--brand-bar-control-border:#b4aadf;--brand-bar-surface:#2b2154;--brand-bar-surface-muted:#221a44;--brand-bar-focus:#d9c9ff;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--control-height:2.25rem;--control-height-compact:1.75rem;--field-width:34rem;--prose-width:44rem;--page-width:62rem;--font-size-xs:.75rem;--line-height-xs:1.125rem;--font-size-sm:.875rem;--line-height-sm:1.25rem;--font-size-base:1rem;--line-height-base:1.5rem;--font-size-lg:1.125rem;--line-height-lg:1.5rem;--font-size-xl:1.25rem;--line-height-xl:1.75rem;--font-size-2xl:1.875rem;--line-height-2xl:2.25rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--accent:var(--primary);--accent-contrast:var(--primary-foreground);--ok:#10714a;--ok-surface:#e7f6ee;--warn:#8a5a00;--warn-surface:#fdf3e0;--error:#a4232b;--error-surface:#fdecec;--info:#1d4f8f;--info-surface:#e9f1fd;--radius:16px;--radius-control:10px;--radius-input:8px;--radius-badge:8px;--shadow-card:0 1px 2px #10131f14;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background-color:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Ubuntu,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:100%;line-height:1.5}:root[data-theme=dark]{--page:#121018;--surface:#383d40;--surface-muted:#262626;--input:#383d40;--border:#262626;--control-border:#9a9a9a;--text:#fafafa;--text-muted:#b8b8b8;--primary:#403b8a;--primary-hover:#4f49a6;--primary-foreground:#fefefe;--link:#c4c4ff;--focus:#c4c4ff;--ok:#6fd6a5;--ok-surface:#14312a;--warn:#e5b567;--warn-surface:#33291a;--error:#f4948f;--error-surface:#3a1f22;--info:#8fbcff;--info-surface:#1a2534;--shadow-card:0 1px 2px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background-color:var(--page);min-height:100vh;color:var(--text);margin:0}#app{min-height:100vh}h1,h2,h3{font-family:Ubuntu,system-ui,sans-serif}h1{font-size:var(--font-size-2xl);line-height:var(--line-height-2xl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-xl);line-height:var(--line-height-xl);font-weight:var(--font-weight-bold)}h3{font-size:var(--font-size-lg);line-height:var(--line-height-lg);font-weight:var(--font-weight-medium)}a{color:var(--link)}.skip-link{z-index:10;padding:var(--space-2) var(--space-4);border:1px solid var(--control-border);border-radius:0 0 var(--radius-control) 0;background-color:var(--surface);color:var(--link);font-size:var(--font-size-sm);line-height:var(--line-height-sm);position:fixed;top:0;left:0;transform:translateY(-120%)}.skip-link:focus-visible{transform:translateY(0)}.app-header{flex-direction:column;display:flex}.app-brandbar{--text:var(--brand-bar-text);--text-muted:var(--brand-bar-text-muted);--link:var(--brand-bar-link);--border:var(--brand-bar-border);--control-border:var(--brand-bar-control-border);--surface:var(--brand-bar-surface);--surface-muted:var(--brand-bar-surface-muted);--focus:var(--brand-bar-focus);align-items:center;gap:var(--space-3) var(--space-5);padding:var(--space-3) var(--space-5);color:var(--brand-bar-text);border-bottom:1px solid var(--brand-bar-edge);background:linear-gradient(90deg, var(--brand-bar-start), var(--brand-bar-end));flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--font-size-lg);color:var(--text);font-weight:var(--font-weight-regular);text-decoration:none;display:flex}.brand-mark{flex:none;width:auto;height:1.75rem}.brand-text{overflow-wrap:anywhere;min-width:0}.brand strong{font-weight:var(--font-weight-bold)}.app-nav{padding:0 var(--space-5);background-color:var(--surface);border-bottom:1px solid var(--border);align-items:stretch;display:flex}.app-header nav{align-items:stretch;gap:var(--space-5);flex:auto;display:flex}.app-header nav a{padding:var(--space-3) 0;font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--text-muted);border-bottom:2px solid #0000;align-items:center;text-decoration:none;display:inline-flex}.app-header nav a:hover{color:var(--text)}.app-header nav a[aria-current=page]{color:var(--text);font-weight:var(--font-weight-medium);border-bottom-color:var(--accent)}.app-header nav a.nav-gap{margin-left:auto}.nav-toggle{margin:var(--space-2) 0;align-self:center;display:none}.header-utilities{justify-content:flex-end;align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;flex:auto;display:flex}.identity{align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--font-size-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.identity-email{overflow-wrap:anywhere;flex:auto}.identity-role{padding:.1rem var(--space-2);border:1px solid var(--border);border-radius:var(--radius-badge);text-transform:uppercase;font-size:var(--font-size-xs);line-height:var(--line-height-xs);letter-spacing:.04em}.appearance{align-items:center;gap:var(--space-2);border:none;flex-wrap:wrap;min-width:0;margin:0;padding:0;display:flex}.appearance legend{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--text-muted);padding:0}.appearance-options{border:1px solid var(--control-border);border-radius:var(--radius-control);background-color:var(--surface-muted);flex-wrap:wrap;align-items:center;gap:2px;padding:2px;display:flex}.appearance-option{min-height:var(--control-height-compact);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--text-muted);cursor:pointer;border-radius:8px;align-items:center;display:flex}.appearance-option:hover{color:var(--text)}.appearance-option input[type=radio]{opacity:0;appearance:none;border:none;width:1px;height:1px;min-height:0;margin:0;padding:0}.appearance-option:has(input[type=radio]:checked){background-color:var(--surface);color:var(--text);box-shadow:var(--shadow-card);font-weight:500}.appearance-option:has(input[type=radio]:focus-visible){outline:2px solid var(--focus);outline-offset:2px}@supports not selector(:has(*)){.appearance-option input[type=radio]{opacity:1;appearance:auto;width:1rem;height:1rem}}@media (forced-colors:active){.appearance-option input[type=radio]{opacity:1;appearance:auto;width:1rem;height:1rem}}.app-main{padding:var(--space-6) var(--space-5) 4rem}.page{max-width:var(--page-width);margin:0 auto}.page h1{font-size:var(--font-size-2xl);line-height:var(--line-height-2xl);margin:0 0 var(--space-2)}.lede{color:var(--text-muted);max-width:var(--prose-width);margin:0 0 var(--space-5)}.loading{color:var(--text-muted)}.callout{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4) var(--space-5);margin:0 0 var(--space-5);background-color:var(--surface);box-shadow:var(--shadow-card);border-left-width:4px}.callout-compact{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);border-radius:var(--radius-control);box-shadow:none;font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.callout-title{font-weight:var(--font-weight-bold);margin:0}.callout-body{margin-top:var(--space-1);color:var(--text-muted)}.callout-body p{margin:0 0 .6rem}.callout-body>:last-child{margin-bottom:0}.callout-info{border-left-color:var(--info);background-color:var(--info-surface)}.callout-ok{border-left-color:var(--ok);background-color:var(--ok-surface)}.callout-warn{border-left-color:var(--warn);background-color:var(--warn-surface)}.callout-error{border-left-color:var(--error);background-color:var(--error-surface)}.provider-grid{margin:0 0 var(--space-5);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));padding:0;list-style:none;display:grid}.provider-card{gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);background-color:var(--surface);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.provider-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.provider-head h3{min-width:0;font-size:var(--font-size-lg);line-height:var(--line-height-lg);overflow-wrap:anywhere;margin:0}.provider-purpose,.provider-detail,.provider-meta{font-size:var(--font-size-sm);line-height:var(--line-height-sm);margin:0}.provider-purpose{color:var(--text-muted)}.provider-meta{color:var(--text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-xs)}.provider-facts{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.provider-fact{padding-left:var(--space-3);border-left:2px solid var(--border)}.provider-fact dt{font-size:var(--font-size-xs);line-height:var(--line-height-xs);font-weight:var(--font-weight-medium);color:var(--text)}.provider-fact dd{gap:var(--space-1);flex-direction:column;margin:0;display:flex}.provider-noaction{font-style:italic}.scopes{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-size-xs);overflow-wrap:anywhere}.provider-narrowed,.provider-gap{color:var(--warn)}.provider-card-skipped{background-color:var(--surface-muted);box-shadow:none;border-style:dashed}.provider-actions{padding-top:var(--space-3);align-items:center;gap:var(--space-2);border-top:1px solid var(--border);flex-wrap:wrap;margin-top:auto;display:flex}.provider-card button{align-self:flex-start}button.danger{border-color:var(--error);color:var(--error);background-color:#0000}button.danger:hover:not(:disabled){border-color:var(--error);background-color:var(--error-surface)}.badge{padding:.125rem var(--space-2);border-radius:var(--radius-badge);font-size:var(--font-size-xs);line-height:var(--line-height-xs);font-weight:var(--font-weight-medium);letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;flex:none}.badge-ok{color:var(--ok);background-color:var(--ok-surface);border-color:var(--ok)}.badge-idle{color:var(--text-muted);background-color:var(--surface-muted);border-color:var(--border)}.badge-warn{color:var(--warn);background-color:var(--warn-surface);border-color:var(--warn)}.badge-error{color:var(--error);background-color:var(--error-surface);border-color:var(--error)}.badge-info{color:var(--info);background-color:var(--info-surface);border-color:var(--info)}.card{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);background-color:var(--surface);box-shadow:var(--shadow-card)}.form{gap:var(--space-5);max-width:var(--field-width);margin-bottom:var(--space-5);flex-direction:column;display:flex}.form fieldset{border:none;border-top:1px solid var(--border);padding:var(--space-4) 0 0;gap:var(--space-3);flex-direction:column;margin:0;display:flex}.form fieldset:first-of-type{border-top:none;padding-top:0}.form legend{font-weight:var(--font-weight-bold);padding:0}.form label,.field{gap:var(--space-1);font-size:var(--font-size-sm);line-height:var(--line-height-sm);font-weight:var(--font-weight-medium);flex-direction:column;display:flex}.form label:has(>input[type=radio]){align-items:center;gap:var(--space-2);font-weight:var(--font-weight-regular);flex-direction:row}.form label:has(>input[type=checkbox]){align-items:center;gap:var(--space-2);font-weight:var(--font-weight-regular);flex-direction:row}.field:has(>input[type=radio]){align-items:center;gap:var(--space-2);font-weight:var(--font-weight-regular);flex-direction:row}.field:has(>input[type=checkbox]){align-items:center;gap:var(--space-2);font-weight:var(--font-weight-regular);flex-direction:row}.field-error{font-size:var(--font-size-xs);line-height:var(--line-height-xs);font-weight:var(--font-weight-regular);color:var(--error)}.field-invalid input:not([type=radio]):not([type=checkbox]),.field-invalid select,.field-invalid textarea{border-color:var(--error)}.hint{font-size:var(--font-size-xs);line-height:var(--line-height-xs);font-weight:var(--font-weight-regular);color:var(--text-muted);margin:0}input:not([type=radio]):not([type=checkbox]),select,textarea{font:inherit;font-size:var(--font-size-base);min-height:var(--control-height);padding:var(--space-2) var(--space-3);color:var(--text);background-color:var(--input);border:1px solid var(--control-border);border-radius:var(--radius-input);width:100%}input:not([type=radio]):not([type=checkbox]):hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--text-muted)}input:disabled,select:disabled,textarea:disabled{background-color:var(--surface-muted);color:var(--text-muted);cursor:default}input[type=radio],input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer;flex:none;margin:0;padding:0}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app-main:focus,.app-main:focus-visible{outline:none}.signin-link{overflow-wrap:anywhere;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}button,.button{font:inherit;font-size:var(--font-size-sm);line-height:var(--line-height-sm);font-weight:var(--font-weight-medium);min-height:var(--control-height);padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);border:1px solid var(--control-border);background-color:var(--surface-muted);color:var(--text);cursor:pointer;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.button:hover{border-color:var(--primary);background-color:var(--surface)}button:disabled{cursor:default;opacity:.6}button.secondary,.button.secondary{background-color:var(--surface-muted);border-color:var(--control-border);color:var(--text)}button.primary,.button.primary{background-color:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}button.primary:hover:not(:disabled),.button.primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}:root[data-theme=dark] button.primary,:root[data-theme=dark] .button.primary{border-color:var(--control-border)}button.link{min-height:0;color:var(--link);background:0 0;border:none;padding:0;text-decoration:underline}button.link:hover:not(:disabled){background:0 0;border:none}.page-actions{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.gap-actions{gap:var(--space-2);margin:var(--space-3) 0 0;flex-wrap:wrap;display:flex}.tabs{gap:var(--space-5);margin:0 0 var(--space-5);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.tabs .tab{padding:var(--space-2) 0;font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--text-muted);border-bottom:2px solid #0000;margin-bottom:-1px;text-decoration:none}.tabs .tab:hover{color:var(--text)}.tabs .tab[aria-current=page]{color:var(--text);font-weight:var(--font-weight-medium);border-bottom-color:var(--accent)}.toolbar{align-items:flex-end;gap:var(--space-3) var(--space-4);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-control);background-color:var(--surface-muted);flex-wrap:wrap;display:flex}.toolbar .field{min-width:0;max-width:min(18rem,100%)}.toolbar .field select{width:auto;min-width:0;max-width:100%}.toolbar-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.data-table-scroll{margin:0 0 var(--space-5);border:1px solid var(--border);border-radius:var(--radius-control);background-color:var(--surface);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.data-table th,.data-table td{padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.data-table thead th{font-weight:var(--font-weight-medium);color:var(--text-muted);background-color:var(--surface-muted);white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:none}.data-table .align-end{text-align:right;font-variant-numeric:tabular-nums}.disclosure{margin:0 0 var(--space-3);font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.disclosure>summary{cursor:pointer;color:var(--link)}.disclosure>summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.disclosure-body{margin-top:var(--space-2);padding-left:var(--space-3);border-left:2px solid var(--border);color:var(--text-muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.week-range{text-align:center;flex-direction:column;align-items:center;display:flex}.week-table-scroll{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);max-height:70vh;box-shadow:var(--shadow-card);position:relative;overflow:auto}.week-table{border-collapse:collapse;width:100%;font-size:.875rem;line-height:1.25rem}.week-table th,.week-table td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--border);padding:.5rem .75rem}.week-table thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background-color:var(--surface-muted);font-size:.75rem}.week-table .day-empty td{color:var(--text-muted);font-style:italic}.week-table .entry-row.flagged>th,.week-table .entry-row.flagged>td{background-color:var(--warn-surface)}.week-table .entry-row.flagged>th:first-child{box-shadow:inset 3px 0 0 var(--warn)}.week-grid{table-layout:auto}.week-grid th,.week-grid td{padding:var(--space-2);vertical-align:top;white-space:nowrap}.week-grid .week-day-head{white-space:normal;min-width:6rem}.week-grid thead th{z-index:2;vertical-align:top;text-transform:none;letter-spacing:normal;font-size:var(--font-size-sm);line-height:var(--line-height-sm);font-weight:var(--font-weight-medium);position:sticky;top:0}.week-grid .week-row-head{z-index:1;white-space:normal;background-color:var(--surface);min-width:min(11rem,40vw);max-width:min(16rem,55vw);font-weight:var(--font-weight-medium);position:sticky;left:0}.week-grid thead .week-row-head,.week-grid tfoot .week-row-head{z-index:3;background-color:var(--surface-muted)}.week-grid .entry-row.flagged>.week-row-head{background-color:var(--warn-surface)}.week-grid .row-project{font-weight:var(--font-weight-bold);display:block}.week-grid .row-category,.week-grid .day-label{display:block}.week-grid .row-category{font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--text-muted)}.week-grid .row-remove,.week-grid .day-add,.week-grid .cell-open{font-size:var(--font-size-xs);line-height:var(--line-height-xs);font-weight:var(--font-weight-regular)}.week-grid .week-row-head .badge{margin-top:var(--space-1);margin-right:var(--space-1)}.week-grid .week-day-head .badge{margin-top:var(--space-1);margin-right:var(--space-1);display:inline-block}.week-grid .week-total-column{border-left:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums;font-weight:var(--font-weight-bold)}.week-grid tfoot th,.week-grid tfoot td{border-top:2px solid var(--border);background-color:var(--surface-muted);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;border-bottom:none;position:sticky;bottom:0}.week-grid .week-cell{text-align:right}.week-grid .cell-duration{text-align:right;font-variant-numeric:tabular-nums;width:4.5rem}.week-grid .cell-duration::placeholder{color:var(--text-muted)}.week-grid .cell-total{font-variant-numeric:tabular-nums;display:block}.week-grid .cell-locked{background-color:var(--surface-muted);color:var(--text-muted)}.week-grid .cell-open{margin-top:var(--space-1);display:block}.week-detail-panel:empty{display:none}.week-detail-panel{margin:var(--space-4) 0 0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface-muted)}.cell-details{gap:var(--space-3);max-width:var(--page-width);flex-direction:column;display:flex}.cell-details-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.entry-detail{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-control);background-color:var(--surface)}.entry-fields{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.entry-fields>label{gap:var(--space-1);flex-direction:column;display:flex}.entry-fields .entry-notes{flex:18rem}.entry-fields .entry-state,.entry-fields .entry-actions{gap:var(--space-2);flex-wrap:wrap;flex-basis:100%;margin:0;display:flex}.entry-copy,.copy-panel{margin-top:var(--space-3)}.copy-days{margin:var(--space-2) 0 0;gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}.copy-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.week-activity{gap:var(--space-2);margin:var(--space-4) 0 var(--space-2);flex-direction:column;display:flex}.week-activity-counts{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;display:flex}.week-add-row{margin:var(--space-4) 0 0}.week-add-row fieldset{flex-flow:wrap;justify-content:flex-start;align-items:end}.week-add-row-field{align-items:flex-start;gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.week-add-row select{flex:0 auto;width:auto;min-width:0;max-width:18rem}.week-add-row .hint{flex-basis:100%;margin:0}.week-table .entry-note td{border-bottom:1px solid var(--border);padding-top:0}.week-table .entry-note .saved-note{color:var(--ok)}.week-table .entry-note .error-note{color:var(--error)}.week-table .entry-state,.week-table .entry-actions{white-space:nowrap}.week-table .entry-actions button+button{margin-left:.5rem}.week-table .entry-fields input[type=number]{width:5rem}.week-table .entry-fields input[type=text]{min-width:12rem}.minutes-field{align-items:baseline;gap:.4rem;display:flex}.week-submit{flex-direction:column;align-items:flex-start;gap:.5rem;margin:1.25rem 0 0;display:flex}.add-entry-actions,.unbooked-actions{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;display:flex}.week-table .day-add{margin-top:var(--space-1);font-weight:var(--font-weight-regular);display:block}.week-add{flex-direction:column;align-items:flex-start;gap:.5rem;margin:1rem 0 0;display:flex}.week-add-form{align-self:stretch}.week-add-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.new-entry-billable{align-items:center;gap:.4rem;font-weight:400;display:flex}.decision-comment{border-left:3px solid var(--border);padding-left:.75rem;font-style:italic}@media (width<=40rem){.app-brandbar{padding:var(--space-3) var(--space-4)}.app-main{padding:var(--space-5) var(--space-4) 3rem}.page h1{font-size:1.625rem;line-height:2rem}.identity{width:100%}.app-nav{padding:0 var(--space-4);flex-direction:column;align-items:stretch}.nav-toggle{align-self:flex-start;display:inline-flex}.app-header nav{padding-bottom:var(--space-2);flex-direction:column;align-items:stretch;gap:0;display:none}.app-header nav[data-open=true]{display:flex}.app-header nav a{padding:var(--space-2) 0 var(--space-2) var(--space-3);border-bottom:none;border-left:2px solid #0000}.app-header nav a[aria-current=page]{border-left-color:var(--accent)}.app-header nav a.nav-gap{margin-left:0}}.project-chooser{grid-template-columns:minmax(0,1fr);gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.project-chooser a{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);color:var(--text);flex-wrap:wrap;align-items:baseline;gap:.75rem;padding:.9rem 1.1rem;text-decoration:none;display:flex}.project-chooser a:hover{border-color:var(--accent)}.project-chooser-name{font-weight:700}.project-chooser-meta,.project-chooser-stage{color:var(--text-muted);font-size:.9rem}.project-chooser-stage{border:1px solid var(--border);border-radius:var(--radius-badge);margin-left:auto;padding:.1rem .6rem}.project-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-setup,.project-source,.rollup-panel{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);box-shadow:var(--shadow-card);gap:1rem;padding:1.25rem 1.5rem;display:grid}.project-fields{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.85rem;margin:0;display:grid}.project-fields dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem}.project-fields dd{margin:.2rem 0 0;font-weight:700}.project-source h2,.project-source h3{margin:0}.project-source-origin,.project-source-references,.project-source-gaps{gap:.4rem;display:grid}.project-source p{margin:0}.project-source-gap-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.project-prose h3{margin:.9rem 0 .3rem;font-size:1rem}.project-prose p{white-space:pre-wrap;margin:0}.rollup-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.rollup-generated{color:var(--text-muted);margin:0;font-size:.85rem}.rollup-stage{border-radius:var(--radius);background-color:var(--surface-muted);flex-wrap:wrap;align-items:baseline;gap:.6rem;padding:.75rem 1rem;display:flex}.rollup-stage-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem}.rollup-stage-value{font-weight:700}.rollup-section h3{margin:0 0 .4rem;font-size:1rem}.rollup-section p{margin:0}.rollup-sources{gap:.4rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.rollup-sources li{border-top:1px solid var(--border);flex-wrap:wrap;gap:.75rem;padding:.4rem 0;font-size:.92rem;display:flex}.rollup-source-name{min-width:7rem;font-weight:700}.rollup-source-duration{color:var(--text-muted);margin-left:auto}.rollup-updates{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.rollup-updates li{border-left:3px solid var(--border);background-color:var(--surface-muted);border-radius:0 var(--radius) var(--radius) 0;padding:.75rem 1rem}.rollup-update-when{color:var(--text-muted);margin:0 0 .25rem;font-size:.82rem}.rollup-update-body{white-space:pre-wrap;margin:0}.rollup-empty,.rollup-note{color:var(--text-muted);font-size:.9rem}.rollup-note{margin:.5rem 0 0}.rollup-update-resolution{color:var(--text-muted);margin:.4rem 0 0;font-size:.85rem}.rollup-update-error{color:var(--error);margin:.4rem 0 0;font-size:.85rem}.rollup-update-action{margin-top:.4rem;padding-left:0}.rollup-section .project-filter-form{margin-bottom:.6rem}.approval-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.approval-queue-who{font-weight:var(--font-weight-bold)}.approval-queue-when{color:var(--text-muted)}.approval-facts{gap:var(--space-2) var(--space-4);margin:0 0 var(--space-4);font-size:var(--font-size-sm);line-height:var(--line-height-sm);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.approval-facts dt{color:var(--text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-xs);text-transform:uppercase;letter-spacing:.04em}.approval-facts dd{font-weight:var(--font-weight-medium);margin:0}.approval-totals{margin:0 0 var(--space-3)}.week-table .day-head-row{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.week-table .day-head .day-total{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-regular)}.approval-decision,.approval-reopen{margin-top:var(--space-5)}.form.approval-decision fieldset,.form.approval-reopen fieldset{border-top:1px solid var(--border);padding-top:var(--space-4)}.approval-decision label{font-weight:var(--font-weight-regular)}.approval-decision textarea{width:100%}.status-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.status-drafts{gap:var(--space-2);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.status-drafts a{align-items:baseline;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-control);background-color:var(--surface);color:var(--text);font-size:var(--font-size-sm);line-height:var(--line-height-sm);flex-wrap:wrap;text-decoration:none;display:flex}.status-drafts a:hover{border-color:var(--accent)}.status-draft-project{font-weight:var(--font-weight-bold)}.status-draft-excerpt{min-width:0;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:16rem;overflow:hidden}.status-draft-state{color:var(--text-muted);margin-left:auto}.status-draft-window{gap:var(--space-1) var(--space-2);color:var(--text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-xs);flex-wrap:wrap;flex-basis:100%;display:flex}.status-draft-window>span+span:before{content:"·";margin-right:var(--space-2)}.status-draft-form{margin-bottom:var(--space-4)}.status-type{gap:var(--space-2);flex-direction:column;display:flex}.status-type label{font-weight:var(--font-weight-regular)}.status-save{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.status-save .saved-note{color:var(--ok)}.status-compose{margin-bottom:var(--space-4)}.status-preview{max-width:var(--field-width);margin-bottom:var(--space-5);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);box-shadow:var(--shadow-card)}.status-preview h2{margin:0 0 var(--space-1)}.status-preview-text{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background-color:var(--surface-muted);font-size:var(--font-size-sm);line-height:var(--line-height-sm);white-space:pre-wrap;overflow-wrap:anywhere}.form.status-publish fieldset{border-top:1px solid var(--border);padding-top:var(--space-4)}.status-publish-actions{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.status-slack-toggle{font-weight:var(--font-weight-regular)}.status-mentions{gap:var(--space-2)}.status-slack-retry{align-self:flex-start}.project-setup-form{margin:0}.project-setup-save{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.project-setup-save .saved-note{color:var(--ok)}.grid-span{gap:var(--space-2);flex-wrap:wrap;display:flex}.grid-range-label{text-align:center;flex-direction:column;align-items:center;display:flex}.grid-scope{margin:0 0 var(--space-3)}.resource-grid-scroll{border:1px solid var(--border);border-radius:var(--radius-control);background-color:var(--surface);position:relative;overflow-x:auto}.resource-grid{border-collapse:collapse;width:100%;font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.resource-grid th,.resource-grid td{padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--border);white-space:nowrap}.resource-grid thead th{font-weight:var(--font-weight-medium);color:var(--text-muted);background-color:var(--surface-muted);vertical-align:bottom}.resource-grid th:first-child,.resource-grid td:first-child{z-index:1;background-color:var(--surface);position:sticky;left:0}.resource-grid thead th:first-child,.resource-grid tfoot th:first-child{background-color:var(--surface-muted)}.resource-grid tbody th{font-weight:var(--font-weight-bold)}.resource-grid tfoot th,.resource-grid tfoot td{border-top:2px solid var(--border);background-color:var(--surface-muted);font-weight:var(--font-weight-bold);border-bottom:none}.resource-grid .grid-total-column{border-left:1px solid var(--border)}.resource-grid .grid-project,.resource-grid .grid-person,.resource-grid .grid-utilization{display:block}.resource-grid .grid-customer,.resource-grid .grid-person-email,.resource-grid .grid-hours,.resource-grid .grid-variance,.resource-grid .grid-unplanned,.resource-grid .grid-submitted,.resource-grid .grid-leave{font-size:var(--font-size-xs);line-height:var(--line-height-xs);font-weight:var(--font-weight-regular);color:var(--text-muted);display:block}.resource-grid .grid-utilization{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-bold)}.resource-grid .grid-over{color:var(--warn)}.resource-grid .grid-over:before{content:"▲ ";font-size:.7em}.resource-grid .grid-unplanned{color:var(--warn)}.resource-grid .grid-empty{background-color:var(--surface-muted)}.resource-grid .grid-none{color:var(--text-muted);font-style:italic}.resource-grid thead .badge{margin-top:var(--space-1);display:inline-block}.resource-grid thead .badge+.badge{display:block}.resource-grid .grid-partial{color:var(--warn);font-style:italic}.resource-grid .grid-capacity-column{border-left:1px solid var(--border)}.resource-grid .grid-submitted{font-style:italic}.admin-settings,.admin-audit-filters{max-width:46rem}.admin-audit-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));align-items:end;gap:.9rem;display:grid}.admin-audit-filters .page-actions{grid-column:1/-1;margin-bottom:0}.admin-jobs .admin-job{justify-content:flex-start}.admin-overview .provider-card{justify-content:space-between}.admin-overview-link{font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.admin-readiness{flex-direction:column;gap:.35rem;margin:0;padding:0;font-family:inherit;font-size:.8125rem;line-height:1.5;list-style:none;display:flex}.admin-audit-table td:nth-child(3),.admin-audit-table td:nth-child(6){overflow-wrap:anywhere}.admin-audit-table td:first-child{white-space:nowrap}.admin-job-actions{margin-top:auto;margin-bottom:0;padding-top:.6rem}.admin-rerun,.admin-invite{max-width:34rem}.admin-invite-link{overflow-wrap:anywhere;word-break:break-all;max-width:100%;display:inline-block}.admin-users-table td:first-child,.admin-users-table td:nth-child(4){overflow-wrap:anywhere}.admin-user-edit{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));align-items:end;gap:.9rem;padding:.35rem 0;display:grid}.admin-user-edit .page-actions{grid-column:1/-1;margin-bottom:0}.project-create{margin-bottom:1.25rem}.project-create-form{margin-top:.25rem}.project-create-save{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.form .hint.field-error{color:var(--error);font-weight:600}.project-chooser-assignee{color:var(--text-muted);font-size:.9rem}.allocation-planner{margin-top:1.5rem}.allocation-planner-form{margin-top:.25rem}.allocation-planner-save{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.allocation-stored{border-radius:var(--radius-input);background-color:var(--surface-muted);color:var(--text);margin-top:1rem;padding:.6rem .75rem;font-size:.8125rem;line-height:1.25rem}.allocation-rate-history{border-radius:var(--radius-input);background-color:var(--surface-muted);color:var(--text);margin-top:.75rem;padding:.6rem .75rem;font-size:.8125rem;line-height:1.25rem}.allocation-rate-history h4{margin:0 0 .35rem;font-size:.8125rem}.allocation-rate-history p{margin:0}.allocation-rate-history-list{margin:0;padding-left:0;list-style:none}.allocation-rate-history-list li+li{margin-top:.25rem}.salesforce-queue{margin-top:.5rem}.salesforce-queue-table th:first-child,.salesforce-queue-table td:first-child{text-align:center;width:2.5rem}.salesforce-queue-pick{align-items:center;margin:0;display:inline-flex}.salesforce-queue-outcome{color:var(--text-muted);margin:.35rem 0 0;font-size:.8125rem;font-weight:400;line-height:1.25rem}.admin-setup-import-flows,.admin-setup-import-values{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.admin-setup-import-flows legend{flex-basis:100%}.admin-setup-import-flow,.admin-setup-import-value{align-items:center;gap:.375rem;margin:0;font-weight:400;display:inline-flex}.admin-setup-import-table th:first-child,.admin-setup-import-table td:first-child{text-align:center;width:2.5rem}.admin-setup-import-result{margin-top:1rem}.admin-setup-import-outcomes{color:var(--text-muted);margin-top:.75rem;font-size:.8125rem;line-height:1.375rem}.admin-setup-import-runs{margin-top:1rem}.admin-setup-import-actions{margin-top:.75rem}.week-table .entry-project{width:100%;max-width:14rem}.week-table .day-resolve{margin-top:var(--space-1);font-size:var(--font-size-xs);line-height:var(--line-height-xs);font-weight:var(--font-weight-regular);display:block}.week-add-form .resolve-note{border-radius:var(--radius-input);background-color:var(--surface-muted);color:var(--text);margin:0 0 .75rem;padding:.6rem .75rem}.financial-panel{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);box-shadow:var(--shadow-card);gap:1rem;padding:1.25rem 1.5rem;display:grid}.financial-header{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.financial-header h2{margin:0}.financial-window-label{margin:0;font-weight:700}.financial-scope{margin:0}.financial-figures{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.85rem;margin:0;display:grid}.financial-figures dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem}.financial-figures dd{margin:.2rem 0 0;font-weight:700}.financial-gap,.financial-rate-source,.financial-window-form{margin:0}.financial-window-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.financial-window-form input[type=date]:focus{outline:2px solid var(--focus);outline-offset:2px}.financial-table .financial-row.flagged>th,.financial-table .financial-row.flagged>td{background-color:var(--warn-surface)}.financial-table .financial-row.flagged>th:first-child{box-shadow:inset 3px 0 0 var(--warn)}.financial-table .financial-note td{color:var(--text-muted);padding-top:0}.financial-note-list{margin:0;padding-left:0;list-style:none}.financial-note-list li+li{margin-top:.15rem}.resource-grid thead .grid-financials{text-transform:none;letter-spacing:normal;margin-top:.35rem;font-weight:400;display:block}.project-filter{border:0;flex-wrap:wrap;align-items:center;gap:.35rem 1.1rem;margin:0;padding:0;display:flex}.project-filter legend{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0;font-size:.85rem}.project-filter-option{cursor:pointer;align-items:center;gap:.4rem;margin:0;font-weight:400;display:inline-flex}.project-filter-option input{accent-color:var(--accent);margin:0}.project-filter-form{margin:0}.project-people,.project-lifecycle,.project-identity{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);box-shadow:var(--shadow-card);gap:1rem;padding:1.25rem 1.5rem;display:grid}.project-people h2,.project-people h3,.project-lifecycle h2,.project-identity h2{margin:0}.project-people-assignment,.project-people-contributors{gap:.4rem;display:grid}.project-people p{margin:0}.project-people-current{font-weight:700}.project-people-form{gap:0}.project-people-save{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.project-people-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.project-people-list li{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;display:flex}.project-people-list button{margin-left:auto}.project-lifecycle-actions{grid-template-columns:minmax(0,1fr);gap:1rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=40rem){.project-lifecycle-actions{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}}.project-lifecycle-actions li{align-content:start;gap:.35rem;display:grid}.project-lifecycle-actions button{width:100%}.project-lifecycle-actions .hint{margin:0}.project-identity-form{gap:0}.project-identity-save{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.project-identity-save .saved-note{margin:0}.project-heading h1{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.project-heading-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.project-chooser .badge{flex:none}
