:root {
    --o4c-blue: #2E9BF7;
    --o4c-orange: #FC723C;
    --o4c-signal: #64CDFC;
    --o4c-deep-blue: #1D63A6;
    --o4c-silver: #DDE1E0;
    --o4c-graphite: #31363E;
    --o4c-dark-graphite: #23282F;
    --o4c-bench-black: #14171C;
    --o4c-title: 'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --o4c-text: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: var(--o4c-text); background: #f7f8fa; color: var(--o4c-graphite); line-height: 1.5; }
main { max-width: 760px; margin: 8vh auto; padding: 2rem; background: #fff; border: 1px solid var(--o4c-silver); border-radius: 14px; }
h1 { margin: 0 0 .6rem; font-family: var(--o4c-title); color: var(--o4c-dark-graphite); font-size: clamp(1.8rem, 5vw, 2.5rem); }
p { margin: .6rem 0; }
a { color: var(--o4c-deep-blue); }
.status-list { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(120px, 1fr); gap: .6rem 1rem; margin-top: 1.5rem; }
.status-list dt { font-weight: 600; }.status-list dd { margin: 0; }.ok { color: #14743d; font-weight: 700; }.warn { color: #8a5b00; font-weight: 700; }.fail { color: #a32b22; font-weight: 700; }.neutral { color: #5f6874; }
.auth-page { min-height: 100vh; background: linear-gradient(145deg, #f7f9fb 0%, #eef5fb 100%); }
.auth-shell { min-height: 100vh; max-width: none; margin: 0; padding: 2rem 1rem; background: transparent; border: 0; border-radius: 0; display: grid; place-items: center; }
.auth-card { width: min(100%, 440px); background: #fff; border: 1px solid var(--o4c-silver); border-radius: 18px; padding: 2rem; box-shadow: 0 18px 55px rgba(35,40,47,.10); }
.auth-card-wide { width: min(100%, 620px); }
.brand-logo { display: block; width: min(100%, 230px); min-width: 160px; height: auto; margin-bottom: 1.7rem; }
.eyebrow { margin: 0 0 .35rem; color: var(--o4c-deep-blue); font-family: var(--o4c-title); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.muted { color: #68717c; }.auth-copy { margin-bottom: 1.4rem; }
.auth-form { display: grid; gap: .6rem; margin-top: 1.25rem; }
.auth-form label { font-weight: 600; color: var(--o4c-dark-graphite); }
.auth-form input { width: 100%; padding: .78rem .85rem; border: 1px solid #bcc5ce; border-radius: 9px; font: inherit; background: #fff; color: var(--o4c-bench-black); }
.auth-form input:focus { outline: 3px solid rgba(46,155,247,.18); border-color: var(--o4c-deep-blue); }
button { margin-top: .55rem; appearance: none; border: 0; border-radius: 9px; padding: .82rem 1rem; font: 700 1rem var(--o4c-text); background: var(--o4c-deep-blue); color: #fff; cursor: pointer; }
button:hover { filter: brightness(.96); }.button-secondary { background: var(--o4c-graphite); }
.notice { margin: 1rem 0; padding: .8rem .9rem; border-radius: 9px; background: #eef5fb; border-left: 4px solid var(--o4c-deep-blue); }
.notice-error { background: #fff3f0; border-left-color: var(--o4c-orange); }.notice-success { background: #eef8f2; border-left-color: #2c8a50; }
.auth-link { margin-top: 1.25rem; }
@media (max-width: 540px) { .auth-card { padding: 1.35rem; border-radius: 14px; } .status-list { grid-template-columns: 1fr; gap: .2rem; } .status-list dd { margin-bottom: .6rem; } }
.files-card { width: min(100%, 760px); }
.file-help { margin-top: .1rem; font-size: .9rem; }
.section-title { margin: 2rem 0 .75rem; font-family: var(--o4c-title); font-size: 1.15rem; color: var(--o4c-dark-graphite); }
.file-list { border-top: 1px solid var(--o4c-silver); }
.file-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--o4c-silver); }
.download-link { white-space: nowrap; font-weight: 700; }
@media (max-width: 540px) { .file-row { align-items: flex-start; flex-direction: column; } }

/* T5 operational core */
html[data-resolved-theme="dark"] { color-scheme: dark; }
html[data-resolved-theme="dark"] body { background:#171b20; color:#e8ebee; }
html[data-resolved-theme="dark"] main, html[data-resolved-theme="dark"] .panel, html[data-resolved-theme="dark"] .auth-card, html[data-resolved-theme="dark"] .request-card, html[data-resolved-theme="dark"] .site-header { background:#23282f; border-color:#414852; color:#e8ebee; }
html[data-resolved-theme="dark"] h1, html[data-resolved-theme="dark"] h2, html[data-resolved-theme="dark"] h3, html[data-resolved-theme="dark"] label, html[data-resolved-theme="dark"] legend { color:#f4f6f8; }
html[data-resolved-theme="dark"] input, html[data-resolved-theme="dark"] textarea, html[data-resolved-theme="dark"] select { background:#171b20; color:#f4f6f8; border-color:#56606c; }
html[data-resolved-theme="dark"] .muted, html[data-resolved-theme="dark"] .help { color:#b7bec7; }
html[data-resolved-theme="dark"] .brand-link, html[data-resolved-theme="dark"] .brand-logo { background:#fff; border-radius:8px; padding:.2rem .35rem; }
.site-header { position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem clamp(1rem,4vw,3rem); background:#fff; border-bottom:1px solid var(--o4c-silver); }
.site-header .brand-link img { width:190px; display:block; }
.site-header nav { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; justify-content:flex-end; }
.site-header nav a,.link-button { font-weight:700; text-decoration:none; color:var(--o4c-deep-blue); }
.inline-form { display:inline; margin:0; }.link-button { background:none; border:0; padding:0; margin:0; cursor:pointer; }
.site-footer { max-width:1180px; margin:2rem auto; padding:1rem; text-align:center; color:#6b7480; font-size:.9rem; }
.page-shell { max-width:860px; margin:3rem auto; padding:0 1rem; background:transparent; border:0; }.page-shell.wide{max-width:1120px}.page-shell.xwide{max-width:1320px}
.hero { margin-bottom:1.4rem; }.hero h1 { font-size:clamp(2rem,5vw,3.4rem); }
.stack-form { display:grid; gap:1.25rem; }.stack-form.compact{gap:.75rem}.stack-form fieldset,.panel{border:1px solid var(--o4c-silver);border-radius:14px;padding:1.25rem;background:#fff}.stack-form legend{font-family:var(--o4c-title);font-weight:800;padding:0 .4rem}.stack-form label{display:grid;gap:.35rem;font-weight:650}.stack-form input,.stack-form textarea,.stack-form select,.filter-bar input,.filter-bar select,.inline-controls select{width:100%;padding:.72rem .8rem;border:1px solid #bbc4ce;border-radius:9px;font:inherit;background:#fff;color:var(--o4c-bench-black)}
.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus,.filter-bar input:focus,.filter-bar select:focus{outline:3px solid rgba(46,155,247,.2);border-color:var(--o4c-blue)}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.choice{display:flex!important;align-items:flex-start;gap:.65rem!important;border:1px solid #c8d0d8;border-radius:10px;padding:.85rem;cursor:pointer}.choice input{width:auto;margin-top:.2rem}.form-grid{display:grid;gap:.85rem}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.optional,.help{font-weight:400;color:#6c7580;font-size:.88rem}.nda-explain{margin-top:1rem;padding:1rem;border-radius:10px;background:#f2f7fb}.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.button-link{display:inline-block;background:var(--o4c-deep-blue);color:#fff!important;text-decoration:none;font-weight:750;padding:.75rem 1rem;border-radius:9px}.button-link.secondary{background:var(--o4c-graphite)}
.success-panel{padding:2rem;border:1px solid var(--o4c-silver);border-radius:16px;background:#fff}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}.page-heading h1{margin:0}.badge{display:inline-block;padding:.3rem .55rem;border-radius:999px;background:#eaf3fb;color:#225d92;font-size:.82rem;font-weight:800}.card-list{display:grid;gap:.8rem}.request-card{display:grid;grid-template-columns:1.2fr 1.4fr auto auto;gap:1rem;align-items:center;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--o4c-silver);border-radius:12px;padding:1rem}.empty-state{padding:2rem;border:1px dashed #aab4bf;border-radius:12px;text-align:center;color:#68717c}.detail-grid,.tabs-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;margin-bottom:1rem}.panel h2{margin-top:0}.meta,.answers{display:grid;grid-template-columns:minmax(120px,.6fr) 1.4fr;gap:.4rem 1rem}.meta dt,.answers dt{font-weight:800}.meta dd,.answers dd{margin:0 0 .45rem}.prewrap{white-space:pre-wrap}.message-list{display:grid;gap:.7rem;margin-bottom:1rem}.message{border-left:3px solid var(--o4c-blue);padding:.6rem .8rem;background:rgba(46,155,247,.05)}.message div{display:flex;justify-content:space-between;gap:1rem}.message time{font-size:.82rem;color:#6d7680}.notice-lock{border-left-color:var(--o4c-orange);background:#fff6ef}.inline-controls{display:flex;align-items:end;gap:.7rem;margin-top:1rem}.inline-controls label{flex:1}.filter-bar{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:.6rem;margin-bottom:1rem}.filter-bar button{margin:0}.table-wrap{overflow:auto;border:1px solid var(--o4c-silver);border-radius:12px;background:#fff}table{border-collapse:collapse;width:100%;min-width:900px}th,td{text-align:left;padding:.75rem;border-bottom:1px solid var(--o4c-silver)}th{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.theme-picker{display:flex;gap:.5rem;flex-wrap:wrap}.theme-picker button{margin:0;background:var(--o4c-graphite)}.theme-picker button[aria-pressed="true"]{background:var(--o4c-deep-blue);outline:3px solid rgba(46,155,247,.2)}.section-space{margin-top:2rem!important}.action-row{display:flex;gap:.7rem;flex-wrap:wrap}code{overflow-wrap:anywhere}
@media(max-width:800px){.choice-grid,.form-grid.two,.detail-grid,.tabs-grid{grid-template-columns:1fr}.request-card{grid-template-columns:1fr 1fr}.filter-bar{grid-template-columns:1fr 1fr}.site-header{align-items:flex-start;flex-direction:column}.site-header nav{justify-content:flex-start}.page-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.request-card,.filter-bar{grid-template-columns:1fr}.meta,.answers{grid-template-columns:1fr}.inline-controls{align-items:stretch;flex-direction:column}.site-header .brand-link img{width:160px}}

:focus-visible{outline:3px solid var(--o4c-orange)!important;outline-offset:2px}.nav-user{font-weight:700;color:var(--o4c-graphite)}
