@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;--page-width-wide:84rem;--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,.form .field-label{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}.booked-day{margin:0 0 var(--space-3)}.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);position:relative;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}.day-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}.week-state-counts{align-items:baseline;gap:var(--space-1) var(--space-4);margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.week-state-count strong{color:var(--text);font-variant-numeric:tabular-nums}.returned-mark{white-space:nowrap;font-weight:var(--font-weight-medium)}.returned-entries{margin:var(--space-2) 0 0;padding-left:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.returned-entries li{gap:var(--space-1);flex-direction:column;display:flex}.returned-entry-where{font-weight:var(--font-weight-medium)}.week-grid .entry-returned td{border-left:4px double var(--error)}.returned-note{margin:0 0 var(--space-1)}.returned-note:last-child{margin-bottom:0}.returned-note .decision-comment{border-left:none;padding-left:0;display:inline}.week-grid .cell-returned-mark{float:left;color:var(--error);font-weight:var(--font-weight-bold)}.week-grid .cell-returned{border-left:4px double var(--error)}@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-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)}.approval-announcement:empty{display:none}.week-table th.entry-select,.week-table td.entry-select{white-space:nowrap;text-align:center;width:1%}.week-table td.entry-select input:disabled{cursor:not-allowed;opacity:.45}.approval-selected{margin:0 0 var(--space-3);color:var(--text-muted)}.approval-selected strong{color:var(--text)}.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-conflict{margin:var(--space-2) 0 0;gap:var(--space-2);display:grid}.project-setup-conflict dt{font-weight:var(--font-weight-medium)}.project-setup-conflict dd{overflow-wrap:anywhere;margin:0}.project-setup-save{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.project-setup-save .saved-note{color:var(--ok)}.utilization-week-label{font-weight:var(--font-weight-medium);align-self:center}.utilization-availability{align-self:center}.utilization-scope{margin:0 0 var(--space-3)}.utilization-hours,.utilization-percent,.utilization-not-applicable{font-variant-numeric:tabular-nums}.utilization-not-applicable{color:var(--text-muted);font-size:var(--font-size-sm)}.utilization-pto .badge{margin-bottom:var(--space-1);display:block}.utilization-provisional-reasons{margin:var(--space-1) 0 0;padding-left:var(--space-4)}.utilization-breakdown-freshness{margin-top:.15rem}.utilization-person{display:block}.utilization-detail td{padding-top:0}.utilization-breakdown{padding:.6rem var(--space-3);border-radius:var(--radius-input);background-color:var(--surface-muted);color:var(--text);font-size:.8125rem;line-height:1.25rem}.utilization-breakdown h3{margin:var(--space-2) 0 var(--space-1);font-size:.8125rem}.utilization-breakdown h3:first-child{margin-top:0}.utilization-breakdown ul{margin:0;padding-left:0;list-style:none}.utilization-breakdown li+li{margin-top:.15rem}.utilization-breakdown p{margin:0}.absence-week-label{font-weight:var(--font-weight-medium);align-self:center}.absence-table-scroll{max-width:100%;margin-top:var(--space-4);position:relative;overflow-x:auto}.absence-table{border-collapse:collapse;background-color:var(--surface);width:100%}.absence-table caption{text-align:left;font-weight:var(--font-weight-medium);padding-bottom:var(--space-2)}.absence-table th,.absence-table td{padding:var(--space-3);border:1px solid var(--border);vertical-align:top;text-align:left}.absence-table .absence-day{min-width:15rem}.absence-day-head{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.absence-day-status{color:var(--text-muted)}.absence-day-windows,.absence-day-capacity,.absence-day-rules{margin:var(--space-2) 0 0}.absence-day-capacity{font-variant-numeric:tabular-nums}.absence-day-conflict{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border-left:3px solid var(--warn);background-color:var(--warn-surface);color:var(--text)}.absence-day-conflict p{margin:0}.absence-day-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.absence-day-editor{margin-top:var(--space-3)}.absence-day-editor fieldset{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-input);margin:0}.absence-day-editor legend{padding:0 var(--space-1);font-weight:var(--font-weight-medium)}.absence-field{gap:var(--space-1);margin-top:var(--space-2);max-width:24rem;display:grid}.absence-field-times{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.absence-field-label{font-weight:var(--font-weight-medium)}.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-holiday-form{max-width:34rem}.admin-holiday-extent{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.admin-holiday-extent legend{flex-basis:100%}.admin-holiday-extent-choice,.admin-holiday-observed{align-items:center;gap:.375rem;margin:0;font-weight:400;display:inline-flex}.admin-holidays-table td:nth-child(2),.admin-holidays-table td:nth-child(6){overflow-wrap:anywhere}.admin-absence-rule-form{max-width:34rem}.admin-absence-rule-enabled{align-items:center;gap:.375rem;margin:0;font-weight:400;display:inline-flex}.admin-absence-rules-table td:nth-child(2){overflow-wrap:anywhere}.admin-capacity-subject,.admin-cost-rate-subject{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));align-items:end;gap:.9rem;max-width:46rem;display:grid}.admin-capacity-form,.admin-cost-rate-form{max-width:34rem}.admin-capacity-days{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:.5rem 1rem;display:grid}.admin-capacity-days legend{grid-column:1/-1}.admin-capacity-counted,.admin-cost-rate-unpriced{align-items:center;gap:.375rem;margin:0;font-weight:400;display:inline-flex}.admin-schedule-table td:nth-child(3),.admin-schedule-table td:nth-child(5),.admin-participation-table td:nth-child(4),.admin-cost-rate-table td:nth-child(4){overflow-wrap:anywhere}.admin-user-edit,.admin-mention-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,.admin-mention-edit .page-actions{grid-column:1/-1;margin-bottom:0}.admin-mention-edit .admin-mention-withdrawn{grid-column:1/-1}.admin-mentions-table td:first-child,.admin-mentions-table td:nth-child(4){overflow-wrap:anywhere}.admin-mentions-scroll{container-type:inline-size}.admin-mentions-scroll .admin-mention-edit{--mention-editor-gutter:.75rem;left:var(--mention-editor-gutter);width:min(100%, calc(100cqw - 2 * var(--mention-editor-gutter)));position:sticky}.project-dialog .form:last-of-type{margin-bottom:0}.project-dialog .project-identity{box-shadow:none;background-color:#0000;border:0;padding:0}.form .hint.field-error{color:var(--error);font-weight:600}.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}.dialog-backdrop{z-index:50;padding:var(--space-4);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.dialog-panel{width:100%;max-width:34rem;max-height:85vh;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);color:var(--text);overflow-y:auto}.dialog-title{margin:0 0 var(--space-3);font-size:var(--font-size-lg);line-height:var(--line-height-lg)}.dialog-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.activity-list{margin:var(--space-3) 0;gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.activity-item{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-input);background-color:var(--surface-muted)}.activity-item label{align-items:flex-start;gap:var(--space-2);font-weight:var(--font-weight-regular);display:flex}.activity-meta{margin-top:var(--space-1);display:block}.duration-basis{margin-top:var(--space-4);padding:var(--space-3);border-radius:var(--radius-input);background-color:var(--surface-muted)}.duration-basis ul{margin:var(--space-2) 0 0;padding-left:var(--space-5)}.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}.project-filter-form .project-filter{border:0;flex-flow:wrap;align-items:center;gap:.35rem 1.1rem;margin:0;padding:0;display:flex}.project-filter-form .project-filter legend{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0;font-size:.85rem}.project-filter-form .project-filter-option{cursor:pointer;align-items:center;gap:.4rem;margin:0;font-weight:400;display:inline-flex}.project-filter-form .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-heading-identity{gap:.5rem;min-width:0;display:grid}.project-heading-back{justify-self:start}.project-heading-facts{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.85rem;margin:.25rem 0 0;display:grid}.project-heading-facts dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem}.project-heading-facts dd{margin:.2rem 0 0;font-weight:700}.project-heading-facts dd.project-fact-absent{color:var(--text-muted);font-size:.9rem;font-weight:400}.project-heading-unsaved{flex-basis:100%;margin:0}.field-origin{text-transform:none;letter-spacing:normal;color:var(--text-muted);font-weight:400}.project-actions-menu{gap:1rem;display:grid}.project-tab-panel{gap:1.5rem;display:grid}.project-summary-lines{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.page-directory{max-width:var(--page-width-wide)}.directory-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.directory-heading-identity h1{margin-bottom:var(--space-1)}.directory-heading-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.directory-count{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-sm);margin:0}.data-table-sort{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap}.directory-project{font-weight:var(--font-weight-medium);overflow-wrap:anywhere}.directory-absent{color:var(--text-muted)}.toolbar .project-filter-form{align-self:flex-end}.page-directory .directory-search-hint{margin:0 0 var(--space-4)}.page-directory .toolbar .field{flex:12rem;max-width:100%}.page-directory .toolbar .field input,.page-directory .toolbar .field select{width:100%;min-width:0}.page-directory .toolbar>*{min-width:0}.page-directory .toolbar .field-label,.page-directory .directory-heading-identity{overflow-wrap:anywhere;min-width:0}.page-directory .toolbar{overflow-x:clip}.page-directory .toolbar .field select{text-overflow:ellipsis;overflow:hidden}.login-shell{--login-control-border:var(--control-border);--login-canvas:#f5f4ff;--login-text:#17152c;--login-muted:#54516d;--login-link:#5148a5;--login-surface:#fff;--login-border:#beb9dc;--login-focus:#5148a5;background:var(--login-canvas);color:var(--login-text);flex-direction:column;min-height:100svh;display:flex}[data-theme=dark] .login-shell{--login-canvas:#111526;--login-text:#f4f1ff;--login-muted:#c6c1db;--login-link:#c5b9ff;--login-surface:#20243a;--login-border:#85809e;--login-focus:#c5b9ff}.login-shell .app-header{z-index:1;position:relative}.login-shell .app-brandbar{--text:var(--login-text);--text-muted:var(--login-muted);--link:var(--login-link);--border:var(--login-border);--control-border:var(--login-control-border);--surface:var(--login-surface);--surface-muted:var(--login-canvas);--focus:var(--login-focus);color:var(--login-text);background:0 0;border:0;align-items:flex-start;padding:28px 4vw 12px}.login-shell .brand{font-size:1.5rem}.login-shell .brand-mark{height:3rem}.login-shell .header-utilities{flex-direction:column;align-items:flex-end;gap:12px}.login-invite{color:var(--login-link);font-size:var(--font-size-sm);text-underline-offset:3px}.login-shell .app-main{flex:1;width:100%;max-width:none;padding:0;display:flex}.login-layout{width:100%;color:var(--login-text);grid-template-columns:minmax(0,1fr) minmax(0,440px);align-items:center;padding:32px 5vw 64px;display:grid;position:relative}.login-artwork{pointer-events:none;background:url(/vantage-background-light.png) bottom/cover no-repeat;position:absolute;inset:-120px 0 0}[data-theme=dark] .login-artwork{background-image:url(/vantage-background-dark.png)}.login-card{--text:var(--login-text);--text-muted:var(--login-muted);--link:var(--login-link);--focus:var(--login-focus);border:1px solid var(--login-border);background:var(--login-surface);overflow-wrap:anywhere;border-radius:22px;grid-column:2;width:100%;padding:34px;position:relative;box-shadow:0 12px 36px #23195014}.login-card h1{margin:0 0 12px;font-size:1.75rem}.login-support{color:var(--login-muted);margin:0 0 26px}.login-google{background:var(--login-surface);width:100%;min-height:48px;color:var(--login-text);border:1px solid var(--login-control-border);font-weight:var(--font-weight-medium);border-radius:10px;justify-content:center;align-items:center;gap:12px;padding:12px;display:flex}.login-google svg{flex:none}.login-guidance{border-top:1px solid var(--login-border);color:var(--login-muted);text-align:center;font-size:var(--font-size-sm);margin-top:30px;padding-top:20px}.login-guidance p+p{margin-top:26px}.login-card .disclosure{margin-top:24px}.login-card .disclosure summary{color:var(--login-link)}@media (width<=959px){.login-artwork{display:none}.login-layout{grid-template-columns:minmax(0,440px);justify-content:center;padding:24px 16px}.login-card{grid-column:1;padding:28px 24px}.login-shell .app-brandbar{padding:20px 16px 0}}@media (width<=479px){.login-shell .brand{font-size:1.2rem}.login-shell .brand-mark{height:2rem}.login-shell .header-utilities{flex-basis:100%}}
