/* Palette and layout inspired by the user's COMUNE interface, without its data. */
:root{--ink:#173b60;--muted:#61758b;--teal:#1260a4;--line:#dce4ed;--bg:#f3f6fa}
.institution-bar{display:flex;justify-content:space-between;background:#1260a4;color:white;padding:8px 4%;font-size:12px}.topbar{background:white;color:var(--ink);border-bottom:1px solid var(--line);gap:22px;flex-wrap:wrap;padding:23px 4%}.brand{letter-spacing:1px}.brand small{color:var(--muted);font-size:12px;letter-spacing:0;margin-top:4px}.monogram{background:#edf4fb;border-color:#cbdfee;color:var(--teal);font-size:28px;font-weight:700}.environment{color:var(--muted);border-color:var(--line);margin-left:auto}.topbar button{color:var(--ink);border-color:var(--line)}.topbar nav{display:flex;gap:4px;flex-wrap:wrap}.nav-button{border:0!important;background:transparent;color:var(--muted)!important;font-size:13px;padding:10px 13px}.nav-button.active{background:#e9f2fb;color:var(--teal)!important}.welcome{min-height:640px}.login-card{box-shadow:0 12px 40px #16354c0c}.intro-flow span{border-color:#bfdaef}.notice{background:#eef4fa;border-color:#d4e1ef;color:#42627e}.run-card.selected{background:#f0f6fc}.node-button.active{background:#f0f6fc}.badge.good{background:#e7f4ee;color:#297055}.badge.warn{background:#fff5dc;color:#916a23}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 24px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:20px 24px;box-shadow:0 4px 14px #16354c04}.stat span{display:block;font-size:12px;color:var(--muted)}.stat strong{display:block;font-size:27px;margin-top:5px;line-height:1.25}.project-workspace{grid-template-columns:300px minmax(0,1fr)}#project-list .run-card strong{font-size:15px}#project-list .run-card small{margin:5px 0}.section-title button{font-size:11px;padding:6px 9px}.project-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.project-heading h2{font-size:23px;margin:0 0 8px}.project-heading button{white-space:nowrap;font-size:12px}.project-description{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;color:var(--muted)}.upload-box{background:#f8fbfe;border:1px dashed #afc9df;border-radius:10px;padding:20px;margin:20px 0}.upload-box h3{margin-bottom:5px}.upload-fields{display:grid;grid-template-columns:180px minmax(0,1fr);gap:15px;margin:15px 0}.upload-fields input[type=file]{background:white;font-size:12px;padding:8px;max-width:100%;min-width:0}.upload-fields input[type=file]::file-selector-button{border:0;background:#eaf2fa;color:#1260a4;padding:7px 10px;margin-right:10px;border-radius:4px}.file-list{display:flex;flex-direction:column;gap:10px}.file-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);padding:14px 16px;border-radius:8px}.file-info{min-width:0}.file-info strong{font-size:14px;overflow-wrap:anywhere;display:block}.file-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:5px}.file-row a{color:var(--teal);text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:7px 12px;font-size:12px;font-weight:600}.file-hash{font:10px Consolas,monospace;overflow-wrap:anywhere;color:var(--muted);margin:7px 0 0}.status-note{font-size:12px;color:#755822;background:#fff6e2;padding:12px 15px;border-radius:7px;margin:16px 0}.upload-result{font-size:13px;white-space:pre-wrap;color:var(--teal)}label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin:15px 0 6px}input,select,textarea{border:1px solid #b9c9d5;background:white;color:var(--ink);border-radius:7px;padding:10px 12px;font:inherit;max-width:100%}textarea{resize:vertical}dialog{width:min(530px,calc(100% - 30px));border:1px solid var(--line);border-radius:14px;padding:28px;color:var(--ink);box-shadow:0 20px 65px #0c2f5330}dialog::backdrop{background:#173b6066}.dialog-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.dialog-heading h2{margin:0}.dialog-heading button{font-size:24px;padding:0 10px}dialog input,dialog textarea,.account-form input{width:100%}dialog button[type=submit],.account-form button{margin-top:20px}.account-form{max-width:520px}.account-form p{font-size:13px}.project-log{margin-top:25px}.upload-button-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#e39b16}.empty{background:white;border-color:#bdcfe0}.empty p{max-width:380px;margin:0 auto}.intro h1{color:#173b60}.brand:hover{text-decoration:none}
@media(max-width:1050px){.topbar{gap:14px}.topbar nav{order:4;width:100%;border-top:1px solid var(--line);padding-top:12px}.environment{margin-left:auto}.project-workspace{grid-template-columns:250px minmax(0,1fr)}.upload-fields{grid-template-columns:1fr}.stat{padding:18px}.stat strong{font-size:23px}}
@media(max-width:700px){.institution-bar{font-size:10px;padding:7px 5%}.topbar{padding:18px 5%}.brand{font-size:20px}.topbar nav{justify-content:space-between;gap:0}.nav-button{font-size:11px;padding:9px 6px}.environment{font-size:10px}.topbar #logout{font-size:12px;padding:7px 10px}.stats{gap:8px}.stat{padding:12px}.stat span{font-size:10px}.stat strong{font-size:18px}.project-workspace{display:block}.project-workspace aside{margin-bottom:22px}#project-list{display:flex;overflow:auto;gap:10px;padding-bottom:8px}#project-list .run-card{min-width:230px}.project-heading{flex-wrap:wrap}.page-heading>button{font-size:12px;white-space:nowrap;padding:10px}.file-row{align-items:start;gap:8px}.file-row a{padding:6px 8px}.file-info strong{font-size:12px}.upload-box{padding:15px}input,select,textarea{font-size:16px}.upload-fields{gap:4px}.project-heading h2{font-size:20px}}
/* Document workflow: bounded previews, readable original/version selection. */
.planning-panel {margin-top:20px}
.planning-document {border-bottom:1px solid #dce5ed;padding:14px 0}
.planning-document button {margin:8px 8px 8px 0}
.planning-panel input[type=checkbox] {width:auto;display:inline;margin-right:8px}
.planning-panel label {display:block;margin:10px 0}
.planning-panel textarea,.planning-panel select {width:100%;box-sizing:border-box}
.extracted-text {max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f6fa;padding:14px;font-size:13px}
