:root{color-scheme:light;font-family:Avenir Next,Avenir,PingFang TC,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--font-sans: "Avenir Next", Avenir, "PingFang TC", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--color-canvas: #f4f7f5;--color-surface: #ffffff;--color-surface-subtle: #f7f9f8;--color-surface-strong: #eaf0ec;--color-ink: #13251b;--color-ink-muted: #617168;--color-ink-subtle: #7b8981;--color-border: #dce4df;--color-border-strong: #bdcbc2;--color-brand: #0b5b38;--color-brand-hover: #07482d;--color-brand-soft: #e8f5ee;--color-brand-ink: #08492d;--color-positive: #137345;--color-positive-soft: #eaf8f0;--color-positive-border: #bde4cd;--color-info: #285f91;--color-info-soft: #edf5fd;--color-info-border: #c7dcf0;--color-warning: #825a0a;--color-warning-soft: #fff8df;--color-warning-border: #ead99a;--color-danger: #a92d24;--color-danger-hover: #8d211a;--color-danger-soft: #fff1ef;--color-danger-border: #edc3be;--color-neutral: #56645c;--color-neutral-soft: #f1f4f2;--color-neutral-border: #d5ddd8;--focus-ring: 0 0 0 3px rgba(23, 128, 78, .22);--shadow-card: 0 8px 28px rgba(18, 48, 31, .06);--shadow-overlay: 0 28px 80px rgba(5, 20, 11, .28);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: clamp(1.75rem, 3vw, 2.5rem);--duration-fast: .12s;--duration-normal: .18s;--ease-standard: cubic-bezier(.2, 0, 0, 1)}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;min-height:100%;scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;color:var(--color-ink);background:var(--color-canvas);font-family:var(--font-sans)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}code,kbd,pre{font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);color:var(--color-surface);background:var(--color-brand);border:1px solid var(--color-brand);border-radius:var(--radius-sm);box-shadow:0 6px 16px #0b5b381f;font-size:var(--text-sm);font-weight:750;line-height:1;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.button:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.button:active:not(:disabled){transform:translateY(1px)}.button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.button:disabled{opacity:.5;box-shadow:none}.button--sm{min-height:36px;padding-inline:var(--space-3);font-size:var(--text-xs)}.button--secondary{color:var(--color-ink);background:var(--color-surface);border-color:var(--color-border-strong);box-shadow:none}.button--secondary:hover:not(:disabled){color:var(--color-brand-ink);background:var(--color-brand-soft);border-color:var(--color-positive-border)}.button--ghost{color:var(--color-ink-muted);background:transparent;border-color:transparent;box-shadow:none}.button--ghost:hover:not(:disabled){color:var(--color-ink);background:var(--color-surface-strong);border-color:transparent}.button--danger{color:#fff;background:var(--color-danger);border-color:var(--color-danger);box-shadow:0 6px 16px #a92d2424}.button--danger:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.button__spinner,.spin{flex:0 0 auto;animation:spin .9s linear infinite}.icon-button{width:40px;height:40px;display:inline-grid;place-items:center;padding:0;color:var(--color-ink-muted);background:transparent;border:0;border-radius:var(--radius-sm)}.icon-button:hover{color:var(--color-ink);background:var(--color-surface-strong)}.status-badge{width:fit-content;display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:4px 9px;color:var(--color-neutral);background:var(--color-neutral-soft);border:1px solid var(--color-neutral-border);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:750;line-height:1;white-space:nowrap}.status-badge--positive{color:var(--color-positive);background:var(--color-positive-soft);border-color:var(--color-positive-border)}.status-badge--info{color:var(--color-info);background:var(--color-info-soft);border-color:var(--color-info-border)}.status-badge--warning{color:var(--color-warning);background:var(--color-warning-soft);border-color:var(--color-warning-border)}.status-badge--danger{color:var(--color-danger);background:var(--color-danger-soft);border-color:var(--color-danger-border)}.status-badge--neutral{color:var(--color-neutral);background:var(--color-neutral-soft);border-color:var(--color-neutral-border)}.ui-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--space-3);padding:var(--space-4);color:var(--color-neutral);background:var(--color-neutral-soft);border:1px solid var(--color-neutral-border);border-radius:var(--radius-md)}.ui-alert__icon{margin-top:1px}.ui-alert__body{min-width:0}.ui-alert__body>strong{display:block;margin-bottom:var(--space-1);color:inherit;font-size:var(--text-sm)}.ui-alert__body>div{font-size:var(--text-sm);line-height:1.55}.ui-alert--info{color:var(--color-info);background:var(--color-info-soft);border-color:var(--color-info-border)}.ui-alert--positive{color:var(--color-positive);background:var(--color-positive-soft);border-color:var(--color-positive-border)}.ui-alert--warning{color:var(--color-warning);background:var(--color-warning-soft);border-color:var(--color-warning-border)}.ui-alert--danger{color:var(--color-danger);background:var(--color-danger-soft);border-color:var(--color-danger-border)}.ui-progress{display:grid;gap:6px}.ui-progress__track{height:7px;overflow:hidden;background:var(--color-surface-strong);border-radius:var(--radius-pill)}.ui-progress__indicator{height:100%;background:var(--color-brand);border-radius:inherit;transition:width var(--duration-normal) var(--ease-standard)}.ui-progress[data-tone=warning] .ui-progress__indicator{background:var(--color-warning)}.ui-progress[data-tone=danger] .ui-progress__indicator{background:var(--color-danger)}.ui-skeleton{position:relative;overflow:hidden;background:var(--color-surface-strong);border-radius:var(--radius-sm)}.ui-skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:shimmer 1.35s infinite}.ui-empty-state{min-height:240px;display:grid;place-items:center;align-content:center;gap:var(--space-3);padding:var(--space-8);color:var(--color-ink-muted);text-align:center}.ui-empty-state__icon{width:52px;height:52px;display:grid;place-items:center;color:var(--color-brand);background:var(--color-brand-soft);border-radius:var(--radius-lg)}.ui-empty-state h2{margin:0;color:var(--color-ink);font-size:var(--text-lg)}.ui-empty-state p{max-width:460px;margin:0;font-size:var(--text-sm);line-height:1.6}.ui-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6)}.ui-page-header__eyebrow{display:block;margin-bottom:var(--space-2);color:var(--color-brand);font-size:var(--text-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.ui-page-header h1{margin:0;color:var(--color-ink);font-size:var(--text-2xl);line-height:1.1;letter-spacing:-.035em}.ui-page-header p{max-width:680px;margin:var(--space-2) 0 0;color:var(--color-ink-muted);font-size:var(--text-sm);line-height:1.6}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{transform:translate(100%)}}@media(max-width:600px){.ui-page-header{align-items:stretch;flex-direction:column;gap:var(--space-4)}.ui-page-header__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.ui-alert{grid-template-columns:auto minmax(0,1fr)}.ui-alert__action{grid-column:2}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-shell{min-height:100vh;background:var(--color-canvas)}.app-content{width:min(1440px,calc(100% - 64px));margin:0 auto;padding:var(--space-10) 0 var(--space-12)}.app-menu-control{position:relative;display:inline-grid;flex:0 0 auto;justify-self:end}.app-menu-trigger{width:44px;height:44px;display:grid;place-items:center;padding:0;color:var(--color-ink-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.app-menu-trigger:hover,.app-menu-trigger[data-state=open]{color:var(--color-ink);background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.app-menu{z-index:70;min-width:200px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay)}.app-menu__item{min-height:40px;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:var(--color-ink-muted);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:650;outline:none;cursor:pointer}.app-menu__item[data-highlighted],.app-menu__item[aria-current=page]{color:var(--color-brand-ink);background:var(--color-brand-soft)}.app-menu__item[data-disabled]{opacity:.55;cursor:wait}.app-menu__separator{height:1px;margin:var(--space-2) var(--space-1);background:var(--color-border)}.app-menu__error{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:60;width:max-content;max-width:min(300px,calc(100vw - 32px));margin:0;padding:var(--space-2) var(--space-3);color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);font-size:var(--text-xs)}.signin-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);background:#07150f}.signin-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(32px,6vw,88px);color:#eef8f2;background:radial-gradient(circle at 72% 42%,rgba(31,157,94,.34),transparent 32rem),#07150f}.signin-panel{display:grid;place-items:center;padding:clamp(24px,5vw,64px);background:var(--color-surface)}.signin-panel__card{width:min(380px,100%)}@media(max-width:900px){.app-content{width:min(100% - 32px,760px);padding-top:var(--space-8)}}.signin-brand{display:flex;align-items:center;gap:var(--space-3);color:#f4fff8;font-weight:800}.signin-copy{position:relative;z-index:2;max-width:700px;margin-block:clamp(64px,12vh,140px)}.eyebrow,.page-eyebrow,.section-eyebrow{color:var(--color-brand);font-size:var(--text-xs);font-weight:800;letter-spacing:.14em}.signin-copy .eyebrow{color:#72d69b}.signin-copy h1{max-width:640px;margin:var(--space-4) 0;font-size:clamp(2.6rem,6vw,5.4rem);line-height:.98;letter-spacing:-.055em}.signin-copy p{max-width:560px;margin:0;color:#b8c9bf;font-size:clamp(1rem,2vw,1.2rem);line-height:1.7}.signin-visual{position:absolute;right:clamp(24px,8vw,120px);bottom:clamp(24px,8vh,100px);width:210px;height:210px;display:grid;place-items:center;color:#9bf0ba;opacity:.68}.orbit{position:absolute;border:1px solid rgba(139,231,175,.3);border-radius:50%}.orbit--one{inset:4px}.orbit--two{inset:34px}.signin-panel__card h2{margin-bottom:var(--space-2);font-size:var(--text-xl)}.signin-panel__card>p{margin-bottom:var(--space-6);color:var(--color-ink-muted);line-height:1.6}.google-button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-weight:700}.google-button:hover:not(:disabled){background:var(--color-surface-subtle);border-color:var(--color-brand)}.google-button>span{color:#4285f4;font-size:1.05rem;font-weight:900}.signin-panel__card>small{display:flex;gap:var(--space-2);margin-top:var(--space-5);color:var(--color-ink-subtle);font-size:var(--text-xs);line-height:1.5}.full-loader{min-height:100vh;display:grid;place-items:center;align-content:center;gap:var(--space-4);color:var(--color-ink-muted)}@media(max-width:560px){.signin-copy{margin-block:var(--space-10)}.signin-copy h1{font-size:clamp(2.2rem,12vw,3.4rem)}.signin-visual{width:120px;height:120px;opacity:.32}}@media(max-width:760px){.signin-layout{grid-template-columns:1fr}.signin-hero{min-height:40vh;padding:var(--space-6)}.signin-panel{min-height:60vh;align-items:start;padding:var(--space-8) var(--space-6)}}.project-list,.project-detail-panel,.audit-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.project-list{overflow:clip;margin-top:var(--space-6)}.project-list__header,.project-list__item{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(150px,1fr) minmax(150px,1fr) minmax(130px,.8fr) auto;gap:var(--space-4);align-items:center}.project-list__header{min-height:44px;padding:0 var(--space-5);color:var(--color-ink-subtle);background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);font-weight:800;letter-spacing:.05em;text-transform:uppercase}.project-list__item{position:relative;min-height:88px;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.project-list__item:last-child{border-bottom:0}.project-list__item:hover{background:var(--color-surface-subtle)}.project-identity{min-width:0}.project-identity strong,.project-identity code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-identity strong{color:var(--color-ink);font-size:var(--text-sm)}.project-identity code{margin-top:var(--space-1);color:var(--color-ink-subtle);font-size:var(--text-xs)}.project-money{font-size:var(--text-md);font-variant-numeric:tabular-nums;font-weight:750}.project-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:var(--space-6)}.project-detail-panel,.audit-panel{padding:var(--space-6)}.audit-list{display:grid}.audit-list__item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:var(--space-3);align-items:start;padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.audit-list__item:last-child{border-bottom:0}@media(max-width:1050px){.project-list__header,.project-list__item{grid-template-columns:minmax(180px,1.4fr) minmax(140px,1fr) minmax(120px,.8fr) auto}.project-list__header>:nth-child(3),.project-list__item>:nth-child(3){display:none}}@media(max-width:760px){.project-list{display:grid;gap:var(--space-3);overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none}.project-list__header{display:none}.project-list__item{min-height:0;grid-template-columns:1fr auto;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.project-list__item>*{display:initial}.project-list__item>:not(.project-identity,.project-list__actions){grid-column:1 / -1}.project-detail-grid{grid-template-columns:1fr}.audit-list__item{grid-template-columns:10px minmax(0,1fr)}.audit-list__item time{grid-column:2}}.page-heading,.projects-workspace__header,.audit-log__header,.project-detail-page__header,.panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6)}.page-heading h1,.projects-workspace__header h1,.audit-log__header h1,.project-detail-page__header h1{margin:var(--space-2) 0;font-size:var(--text-2xl);line-height:1.08;letter-spacing:-.04em}.page-heading p,.projects-workspace__header p,.audit-log__header p,.panel-head p{margin:0;color:var(--color-ink-muted);font-size:var(--text-sm);line-height:1.6}.page-heading__actions,.project-detail-page__header-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.error-state,.page-error{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-4);margin-block:var(--space-6);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md)}.error-state>div,.page-error>div{display:grid;gap:2px}.error-state p,.page-error p{margin:0;color:var(--color-ink-muted);font-size:var(--text-sm)}.error-state,.page-error{color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger-border)}.panel{margin-top:var(--space-6);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.panel-head h2{margin:0 0 var(--space-1);font-size:var(--text-lg)}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-5)}.project-block,.add-project-block{position:relative;min-height:276px;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.project-block{display:flex;flex-direction:column}.project-block[data-breaker=tripped]{border-color:var(--color-danger-border)}.project-block[data-breaker=unknown]{border-color:var(--color-warning-border)}.project-block__open{position:absolute;inset:0;z-index:0;background:transparent;border:0;border-radius:inherit}.project-block__open:hover{background:#0b5b3806}.project-block__head,.project-block__footer,.project-block__limit>div:first-child,.project-block__amount{display:flex;justify-content:space-between;gap:var(--space-3)}.project-block__head,.project-block__footer,.project-block__amount,.project-block__limit{position:relative;z-index:1;pointer-events:none}.project-menu-trigger,.project-menu,.project-menu *{pointer-events:auto}.project-block__head>div{min-width:0;display:grid;gap:4px}.project-block__head strong,.project-block__head code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-block__head code{color:var(--color-ink-subtle);font-size:var(--text-xs)}.project-menu-trigger{width:36px;height:36px;display:grid;place-items:center;color:var(--color-ink-muted);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.project-menu{z-index:70;min-width:190px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay)}.project-menu [role=menuitem]{min-height:38px;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);outline:none}.project-menu [role=menuitem][data-highlighted]{background:var(--color-brand-soft)}.project-block__amount{flex-direction:column;margin-top:auto}.project-block__amount span,.project-block__limit span{color:var(--color-ink-muted);font-size:var(--text-xs)}.project-block__amount strong{font-size:1.65rem;font-variant-numeric:tabular-nums}.project-block__limit{margin-top:var(--space-4)}.project-block__progress,.project-risk-row__progress,.project-detail-budget__progress{height:7px;overflow:hidden;margin-top:var(--space-2);background:var(--color-surface-strong);border-radius:var(--radius-pill)}.project-block__progress>span,.project-risk-row__progress>span,.project-detail-budget__progress>span{display:block;height:100%;background:var(--color-brand);border-radius:inherit}.project-block__footer{align-items:center;margin-top:var(--space-5)}.breaker-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs)}.breaker-label>span{width:8px;height:8px;background:var(--color-positive);border-radius:50%}.breaker-label[data-tone=tripped]>span{background:var(--color-danger)}.breaker-label[data-tone=unknown]>span{background:var(--color-warning)}.add-project-block{display:grid;place-items:center;align-content:center;gap:var(--space-3);color:var(--color-brand);background:var(--color-brand-soft);border:1px dashed var(--color-positive-border)}.add-project-block>span{width:48px;height:48px;display:grid;place-items:center;background:var(--color-surface);border-radius:var(--radius-md)}.empty-state,.projects-empty,.audit-empty,.project-not-found{min-height:240px;display:grid;place-items:center;align-content:center;gap:var(--space-3);padding:var(--space-8);color:var(--color-ink-muted);text-align:center}.empty-state h3,.projects-empty strong,.audit-empty strong,.project-not-found h1{margin:0;color:var(--color-ink)}.empty-state p,.projects-empty p,.audit-empty p,.project-not-found p{max-width:560px;margin:0}.page-refresh-row{min-height:40px;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);margin-bottom:var(--space-4);color:var(--color-ink-subtle);font-size:var(--text-xs)}.projects-toolbar,.audit-toolbar{display:grid;grid-template-columns:minmax(230px,1fr) auto auto;gap:var(--space-3);align-items:center;margin-top:var(--space-6);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.projects-search,.audit-search,.projects-sort,.audit-outcome-filter{min-height:42px;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:var(--color-ink-muted);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.projects-search input,.audit-search input,.projects-sort select,.audit-outcome-filter select{min-width:0;flex:1;color:var(--color-ink);background:transparent;border:0;outline:0}.projects-filters{display:flex;gap:var(--space-1)}.projects-filters button{min-height:38px;padding:0 var(--space-3);color:var(--color-ink-muted);background:transparent;border:0;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:700}.projects-filters button[data-active=true]{color:var(--color-brand-ink);background:var(--color-brand-soft)}.projects-workspace__summary,.audit-log__summary{margin:var(--space-3) 0;color:var(--color-ink-subtle);font-size:var(--text-xs)}.projects-risk-list,.audit-timeline,.project-detail-budget,.project-detail-status,.project-detail-config,.project-detail-audit{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.projects-risk-list{overflow:clip}.projects-risk-list__head,.project-risk-row{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(160px,1fr) minmax(180px,1fr) minmax(130px,.8fr) minmax(130px,.8fr) auto;gap:var(--space-4);align-items:center}.projects-risk-list__head{min-height:44px;padding:0 var(--space-5);color:var(--color-ink-subtle);background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-risk-row{min-height:104px;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.project-risk-row:last-child{border-bottom:0}.project-risk-row:hover{background:#fbfdfc}.project-risk-row__identity{min-width:0;display:flex;gap:var(--space-3);align-items:flex-start}.project-risk-row__signal{width:9px;height:9px;flex:0 0 auto;margin-top:6px;background:var(--color-positive);border-radius:50%}.project-risk-row[data-risk=danger] .project-risk-row__signal{background:var(--color-danger)}.project-risk-row[data-risk=warning] .project-risk-row__signal{background:var(--color-warning)}.project-risk-row__identity>div{min-width:0}.project-risk-row__identity a{display:flex;align-items:center;gap:var(--space-1);overflow:hidden;color:var(--color-ink);font-weight:750;text-overflow:ellipsis;white-space:nowrap}.project-risk-row__identity a:hover{color:var(--color-brand)}.project-risk-row__identity code{display:block;overflow:hidden;margin-top:var(--space-1);color:var(--color-ink-subtle);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.project-risk-row__risk,.project-risk-row__budget{min-width:0;display:grid;gap:var(--space-1)}.project-risk-row__risk strong{font-size:var(--text-sm)}.project-risk-row__risk span,.project-risk-row__budget span,.project-risk-row__budget small,.project-risk-row__updated{color:var(--color-ink-muted);font-size:var(--text-xs)}.project-risk-row__budget strong{font-variant-numeric:tabular-nums}.project-risk-row__budget small,.project-risk-row__updated{display:flex;align-items:center;gap:var(--space-1)}.project-risk-row__statuses{display:flex;flex-wrap:wrap;gap:var(--space-1)}.project-risk-row__actions{display:flex;gap:var(--space-1)}.project-detail-page{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:var(--space-5)}.project-detail-page__back,.project-detail-page__header,.project-detail-risk,.project-detail-audit{grid-column:1 / -1}.project-detail-page__back{width:fit-content;display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-ink-muted);font-size:var(--text-sm)}.project-detail-page__header code{color:var(--color-ink-subtle)}.project-detail-page__header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.project-detail-risk{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);padding:var(--space-4) var(--space-5);color:var(--color-positive);background:var(--color-positive-soft);border:1px solid var(--color-positive-border);border-radius:var(--radius-md)}.project-detail-risk[data-risk=danger]{color:var(--color-danger);background:var(--color-danger-soft);border-color:var(--color-danger-border)}.project-detail-risk[data-risk=warning]{color:var(--color-warning);background:var(--color-warning-soft);border-color:var(--color-warning-border)}.project-detail-risk span{font-size:var(--text-xs);font-weight:700}.project-detail-risk h2{margin:2px 0;font-size:var(--text-lg)}.project-detail-risk p{margin:0;color:var(--color-ink-muted);font-size:var(--text-sm)}.project-detail-budget,.project-detail-status,.project-detail-config,.project-detail-audit{padding:var(--space-6)}.project-detail-budget>header,.project-detail-status>header,.project-detail-config>header,.project-detail-audit>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.project-detail-budget h2,.project-detail-status h2,.project-detail-config h2,.project-detail-audit h2{margin:var(--space-1) 0 0;font-size:var(--text-lg)}.project-detail-budget__percent{color:var(--color-brand);font-size:var(--text-xl);font-weight:800}.project-detail-budget__amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-block:var(--space-6)}.project-detail-budget__amounts>div{display:grid;gap:var(--space-1)}.project-detail-budget__amounts span{color:var(--color-ink-muted);font-size:var(--text-xs)}.project-detail-budget__amounts strong{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.project-detail-budget>footer{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);color:var(--color-ink-muted);font-size:var(--text-xs)}.project-detail-budget__temporary{display:grid;gap:var(--space-1);margin-top:var(--space-4);padding:var(--space-3);color:var(--color-info);background:var(--color-info-soft);border-radius:var(--radius-sm);font-size:var(--text-xs)}.project-detail-status dl,.project-detail-config dl{display:grid;gap:0;margin:var(--space-4) 0 0}.project-detail-status dl>div,.project-detail-config dl>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.project-detail-status dl>div:last-child,.project-detail-config dl>div:last-child{border-bottom:0}.project-detail-status dt,.project-detail-config dt{color:var(--color-ink-muted);font-size:var(--text-xs)}.project-detail-status dd,.project-detail-config dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:var(--text-sm)}.project-detail-status dd{display:grid;justify-items:start;gap:var(--space-1)}.project-detail-status dd small{color:var(--color-ink-subtle)}.project-detail-config__error{padding:var(--space-3);color:var(--color-danger);background:var(--color-danger-soft);border-radius:var(--radius-sm)}.project-detail-audit>header a{color:var(--color-brand);font-size:var(--text-sm);font-weight:700}.project-detail-audit .audit-timeline{margin-top:var(--space-4);border:0;box-shadow:none}.audit-toolbar{grid-template-columns:minmax(230px,1fr) auto}.audit-timeline{margin:0;padding:var(--space-3) var(--space-6);list-style:none}.audit-timeline>li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.audit-timeline>li:last-child{border-bottom:0}.audit-timeline__marker{width:30px;height:30px;display:grid;place-items:center;color:var(--color-warning);background:var(--color-warning-soft);border-radius:50%}.audit-timeline>li[data-outcome=success] .audit-timeline__marker{color:var(--color-positive);background:var(--color-positive-soft)}.audit-timeline>li[data-outcome=failed] .audit-timeline__marker{color:var(--color-danger);background:var(--color-danger-soft)}.audit-timeline__content>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.audit-timeline__content p{margin:var(--space-1) 0;color:var(--color-ink-muted);font-size:var(--text-sm)}.audit-timeline__content footer{display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--color-ink-subtle);font-size:var(--text-xs)}.audit-outcome{padding:4px 8px;color:var(--color-warning);background:var(--color-warning-soft);border-radius:var(--radius-pill);font-size:.68rem;font-weight:800}.audit-outcome[data-outcome=success]{color:var(--color-positive);background:var(--color-positive-soft)}.audit-outcome[data-outcome=failed]{color:var(--color-danger);background:var(--color-danger-soft)}.audit-timeline__empty{margin:0;padding:var(--space-8);color:var(--color-ink-muted);text-align:center}.projects-loading,.audit-loading,.project-detail-loading{display:grid;gap:var(--space-4)}.projects-loading>div,.audit-loading>div,.project-detail-loading>div,.skeleton{min-height:108px;overflow:hidden;background:var(--color-surface-strong);border-radius:var(--radius-lg);animation:skeleton-pulse 1.25s ease-in-out infinite alternate}.project-detail-loading>div:first-child{min-height:180px}.skeleton--table{min-height:320px;margin-top:var(--space-6)}.toast{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:80;display:flex;align-items:center;gap:var(--space-2);max-width:min(420px,calc(100vw - 32px));padding:var(--space-4);color:#fff;background:#133d28;border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);font-size:var(--text-sm);font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes skeleton-pulse{to{opacity:.55}}@media(max-width:1200px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-risk-list__head,.project-risk-row{grid-template-columns:minmax(190px,1.3fr) minmax(150px,1fr) minmax(170px,1fr) minmax(120px,.8fr) auto}.projects-risk-list__head>:nth-child(5),.project-risk-row__updated{display:none}}@media(max-width:900px){.projects-toolbar{grid-template-columns:1fr auto}.projects-filters{grid-column:1 / -1;order:3;overflow-x:auto}.projects-risk-list{display:grid;gap:var(--space-3);overflow:visible;background:transparent;border:0;box-shadow:none}.projects-risk-list__head{display:none}.project-risk-row{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.project-risk-row>:not(.project-risk-row__identity,.project-risk-row__actions){grid-column:1 / -1;display:grid;grid-template-columns:minmax(92px,.3fr) minmax(0,1fr)}.project-risk-row>[data-label]:before{content:attr(data-label);color:var(--color-ink-subtle);font-size:var(--text-xs);font-weight:700}.project-risk-row__statuses{align-items:center}.project-risk-row__updated{display:grid}.project-detail-page{grid-template-columns:1fr}.project-detail-page>*{grid-column:1}}@media(max-width:700px){.page-heading,.projects-workspace__header,.audit-log__header,.project-detail-page__header,.panel-head{align-items:stretch;flex-direction:column;gap:var(--space-4)}.projects-grid{grid-template-columns:1fr}.project-block,.add-project-block{min-height:240px}.projects-toolbar,.audit-toolbar{grid-template-columns:1fr}.projects-filters{grid-column:auto}.projects-sort,.audit-outcome-filter{min-width:0}.project-detail-page__header-actions{display:grid;grid-template-columns:1fr}.page-heading__actions{width:100%}.project-detail-budget__amounts{grid-template-columns:1fr}.project-detail-status dl>div,.project-detail-config dl>div{grid-template-columns:1fr;gap:var(--space-1)}.error-state,.page-error{grid-template-columns:auto minmax(0,1fr)}.error-state .button,.page-error .button{grid-column:2;justify-self:start}}@media(max-width:430px){.panel{padding:var(--space-4)}.project-risk-row{grid-template-columns:1fr}.project-risk-row__actions{grid-column:1;display:grid;grid-template-columns:1fr 1fr}.project-risk-row>:not(.project-risk-row__identity,.project-risk-row__actions){grid-column:1}.audit-timeline{padding-inline:var(--space-4)}.audit-timeline__content>div{align-items:flex-start;flex-direction:column}}.ui-field{display:grid;gap:7px}.ui-field__label{color:var(--color-ink);font-size:var(--text-sm);font-weight:700}.ui-field__required{margin-left:var(--space-1);color:var(--color-danger)}.ui-field__hint,.ui-field__error{margin:0;font-size:var(--text-xs);line-height:1.5}.ui-field__hint{color:var(--color-ink-muted)}.ui-field__error{color:var(--color-danger);font-weight:650}.ui-field input,.ui-field select,.ui-field textarea,.form-stack input:not([type=checkbox]),.form-stack select,.form-stack textarea{width:100%;min-height:42px;padding:9px 12px;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);outline:none;font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.ui-field textarea,.form-stack textarea{min-height:112px;resize:vertical}.ui-field input:focus-visible,.ui-field select:focus-visible,.ui-field textarea:focus-visible,.form-stack input:focus-visible,.form-stack select:focus-visible,.form-stack textarea:focus-visible{border-color:var(--color-brand);box-shadow:var(--focus-ring)}.ui-field[data-invalid=true] input,.ui-field[data-invalid=true] select,.ui-field[data-invalid=true] textarea{border-color:var(--color-danger)}.ui-field input:disabled,.ui-field select:disabled,.ui-field textarea:disabled,.ui-field input[readonly]{color:var(--color-ink-muted);background:var(--color-surface-strong)}.modal-overlay{position:fixed;inset:0;z-index:50;background:#040f099e;animation:overlay-in var(--duration-normal) var(--ease-standard)}.modal-content{position:fixed;z-index:51;top:50%;left:50%;width:min(560px,calc(100vw - 32px));max-height:min(88vh,780px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;transform:translate(-50%,-50%);color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-overlay);animation:dialog-in var(--duration-normal) var(--ease-standard)}.modal-content[data-size=sm]{width:min(440px,calc(100vw - 32px))}.modal-content[data-size=lg]{width:min(720px,calc(100vw - 32px))}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);padding:var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.modal-head h2{margin:0;font-size:var(--text-lg);letter-spacing:-.02em}.modal-head p{margin:var(--space-1) 0 0;color:var(--color-ink-muted);font-size:var(--text-sm);line-height:1.5}.form-stack{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6)}.form-stack label{display:grid;gap:7px;color:var(--color-ink);font-size:var(--text-sm);font-weight:650}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-1)}@keyframes overlay-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-48%) scale(.985)}}@media(max-width:480px){.modal-content,.modal-content[data-size=sm],.modal-content[data-size=lg]{top:auto;bottom:0;left:0;width:100%;max-height:92vh;transform:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation-name:sheet-in}.modal-head,.form-stack{padding:var(--space-5)}.form-stack{padding-bottom:max(var(--space-5),env(safe-area-inset-bottom))}.dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dialog-actions .button{width:100%}}@keyframes sheet-in{0%{transform:translateY(100%)}}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);padding:var(--space-1);background:var(--color-surface-strong);border-radius:var(--radius-sm)}.segmented button{min-height:38px;color:var(--color-ink-muted);background:transparent;border:0;border-radius:6px;font-size:var(--text-sm);font-weight:700}.segmented button[data-active=true]{color:var(--color-brand-ink);background:var(--color-surface);box-shadow:0 1px 4px #12301f1a}.current-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.current-context>div{display:grid;gap:var(--space-1);padding:var(--space-3);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.current-context span{color:var(--color-ink-muted);font-size:var(--text-xs)}.current-context strong{font-variant-numeric:tabular-nums}.callout{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);color:var(--color-warning);background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:1.55}.callout>svg{flex:0 0 auto;margin-top:2px}.callout>div{display:grid;gap:var(--space-1)}.callout--info{color:var(--color-info);background:var(--color-info-soft);border-color:var(--color-info-border)}.callout--danger{color:var(--color-danger);background:var(--color-danger-soft);border-color:var(--color-danger-border)}.preflight-panel,.impact-panel,.danger-confirm{display:grid;gap:var(--space-4)}.preflight-panel,.impact-panel{padding:var(--space-4);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md)}.impact-panel--danger{background:var(--color-danger-soft);border-color:var(--color-danger-border)}.preflight-title,.impact-title{display:flex;align-items:flex-start;gap:var(--space-3)}.preflight-title{color:var(--color-warning)}.preflight-title[data-ready=true]{color:var(--color-positive)}.preflight-title>div,.impact-title>div{display:grid;gap:var(--space-1)}.preflight-title span,.impact-title span{color:var(--color-ink-muted);font-size:var(--text-xs)}.preflight-title strong{color:var(--color-ink);overflow-wrap:anywhere}.preflight-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.preflight-status{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:start;padding:var(--space-4);color:var(--color-neutral);background:var(--color-neutral-soft);border:1px solid var(--color-neutral-border);border-radius:var(--radius-sm)}.preflight-status[data-tone=positive]{color:var(--color-positive);background:var(--color-positive-soft);border-color:var(--color-positive-border)}.preflight-status[data-tone=warning]{color:var(--color-warning);background:var(--color-warning-soft);border-color:var(--color-warning-border)}.preflight-status[data-tone=danger]{color:var(--color-danger);background:var(--color-danger-soft);border-color:var(--color-danger-border)}.preflight-status>div{min-width:0;display:grid;gap:var(--space-1)}.preflight-status strong{color:var(--color-ink);font-size:var(--text-sm);line-height:1.4}.preflight-status span{color:var(--color-ink-muted);font-size:var(--text-xs);line-height:1.5;overflow-wrap:anywhere}.impact-panel ul{margin:0;padding-left:var(--space-5);color:var(--color-ink-muted);font-size:var(--text-sm);line-height:1.6}.check-row{grid-template-columns:auto minmax(0,1fr)!important;align-items:flex-start}.check-row input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--color-brand)}.mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.mode-options button{min-height:112px;display:grid;justify-items:start;align-content:center;gap:var(--space-2);padding:var(--space-4);color:var(--color-ink-muted);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left}.mode-options button[data-active=true]{color:var(--color-brand-ink);background:var(--color-brand-soft);border-color:var(--color-positive-border)}.mode-options button span{font-size:var(--text-xs);line-height:1.45}.command-box{min-width:0;overflow:hidden;color:var(--color-surface);background:var(--color-ink);border-radius:var(--radius-sm)}.command-box__head,.command-box__head>div,.command-box__actions{display:flex;align-items:center}.command-box__head{min-height:64px;justify-content:space-between;gap:var(--space-3);padding:var(--space-3)}.command-box__head>div{min-width:0;gap:var(--space-2)}.command-box__head span{min-width:0;display:grid;gap:2px}.command-box__head strong,.command-box__head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-box__head small{color:inherit;font-size:var(--text-xs);opacity:.72}.command-box__actions{flex:0 0 auto;gap:var(--space-1)}.command-box__actions .button{min-height:44px}.command-box .button--ghost{color:var(--color-surface)}.command-box .button--ghost:hover:not(:disabled){color:var(--color-surface);background:var(--color-brand)}.command-box pre{max-height:280px;overflow:auto;margin:0;padding:var(--space-4);background:var(--color-ink);border-top:1px solid var(--color-ink-muted);font-size:var(--text-xs);line-height:1.6;white-space:pre}.command-box__feedback{margin:0;padding:0 var(--space-3) var(--space-3);color:var(--color-positive-border);font-family:var(--font-sans);font-size:var(--text-xs)}.command-box__feedback[data-error]{color:var(--color-danger-border)}@media(max-width:640px){.preflight-summary{grid-template-columns:1fr}.command-box__head{align-items:flex-start;flex-direction:column}.command-box__actions{width:100%}.command-box__actions .button{flex:1}}.form-error{margin:0;color:var(--color-danger);font-size:var(--text-sm);font-weight:650;line-height:1.5}.project-detail{display:grid;gap:var(--space-5)}.project-detail__hero,.project-detail__actions,.project-detail__statuses,.project-detail__updated,.project-detail__activity{padding-inline:var(--space-6)}.project-detail__hero{display:grid;grid-template-columns:1fr auto;gap:var(--space-4)}.project-detail__hero code{color:var(--color-ink-muted)}.project-detail__statuses{display:flex;flex-wrap:wrap;gap:var(--space-2)}.project-detail__updated{color:var(--color-ink-muted);font-size:var(--text-xs)}.project-detail__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.project-detail__activity{padding-bottom:var(--space-6)}@media(max-width:480px){.current-context,.mode-options{grid-template-columns:1fr}.project-detail__actions{display:grid;grid-template-columns:1fr}}
