:root{color-scheme:dark;--bg:#202020;--surface:#262626;--line:#414141;--fg:#ccc;--muted:#aaa;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.6;color:var(--fg);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,.button{min-height:42px;border:1px solid #666;padding:9px 15px;background:transparent;color:var(--fg);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:0}button:hover,.button:hover{background:#222}button:disabled{opacity:.45;cursor:wait}.primary{background:#ccc;color:#202020;border-color:#ccc;justify-content:space-between}.primary:hover{background:#ccc}.plain{border:0;background:transparent;padding:8px 12px}.plain:hover{background:#181818}input,textarea{display:block;width:100%;background:var(--surface);color:var(--fg);border:1px solid #484848;padding:12px;border-radius:0}textarea{resize:vertical;min-height:160px}input::placeholder,textarea::placeholder{color:#888}input[type=file]{border:1px dashed #444;font-size:12px;padding:12px;line-height:1.8}input::file-selector-button{font:inherit;background:#222;color:#ccc;border:1px solid #555;padding:6px 10px;margin-right:12px;cursor:pointer}label{display:block;margin:22px 0 8px;font-size:12px}h1,h2,p{margin:0}h1{font-size:21px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}h2{font-size:12px;font-weight:400;color:var(--muted)}.small{font-size:12px}.quiet{color:var(--muted)}.notice{font-size:12px;min-height:24px;margin:14px 0;white-space:pre-wrap}.notice:empty{margin:7px 0;min-height:0}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.login{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-form{width:min(100%,340px)}.login-form h1{margin-bottom:34px}.login-form .primary{width:100%;margin:8px 0 18px}header{height:64px;border-bottom:1px solid var(--line);padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:10px}nav{display:flex;gap:8px}.workspace-grid{display:grid;grid-template-columns:220px minmax(320px,1fr) minmax(350px,1.1fr);min-height:calc(100dvh - 64px)}aside{padding:25px 12px;border-right:1px solid var(--line)}aside h2{padding:0 10px 18px}#history{display:flex;flex-direction:column;gap:5px}.history-entry{display:block;text-align:left;border-color:transparent;width:100%;padding:12px 10px;overflow-wrap:anywhere}.history-entry small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.history-entry[aria-current=true]{border-color:#666;background:#171717}.history-empty{padding:8px 10px;color:var(--muted);font-size:12px}.request-pane{padding:36px 30px;border-right:1px solid var(--line);min-width:0}#request-form{margin-top:30px}.attachment-heading{display:flex;align-items:baseline;justify-content:space-between}.file-list{padding:0;list-style:none;font-size:12px;margin:12px 0 24px}.file-list li{padding:8px 0;border-bottom:1px solid #262626;overflow-wrap:anywhere}.report-pane{padding:26px 22px;min-width:0;display:flex;flex-direction:column}.report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:42px;margin-bottom:20px}.report-toolbar .button{font-size:12px}.empty-preview{padding:20px;border:1px solid #252525;display:flex;flex:1;min-height:400px;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:#888;font-size:12px}.empty-preview span{font-size:28px;color:#555}iframe{display:block;width:100%;border:1px solid #444;min-height:660px;flex:1;background:#d0d0d0}.title-row{display:flex;align-items:start;gap:15px;justify-content:space-between}.status{font-size:12px;border:1px solid #555;padding:3px 9px;white-space:nowrap}.progress{padding:30px 0;margin:25px 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.progress p{margin:0 0 14px}.progress p:last-child{margin:0}#job-detail h2{margin:28px 0 12px}#job-date{margin-top:12px}.global-error{padding:12px 24px;border-bottom:1px solid var(--line);font-size:12px}dialog{color:var(--fg);background:#262626;border:1px solid #666;width:min(560px,calc(100% - 32px));max-height:90dvh;padding:25px}dialog::backdrop{background:rgb(0 0 0 / .8)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-heading h2{font-size:16px;color:var(--fg)}.close{font-size:23px;min-width:42px}.account-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}#create-user-form .primary{margin-top:20px}#user-list{margin-top:25px}.user-row{padding:15px 0;border-top:1px solid var(--line)}.user-row p{overflow-wrap:anywhere}.user-row .actions{display:flex;gap:8px;margin-top:12px}.user-row button{font-size:12px;padding:6px 10px}#connection-note{margin-top:18px}:focus-visible{outline:2px solid #ccc;outline-offset:3px}[hidden]{display:none!important}
@media(max-width:1050px){.workspace-grid{grid-template-columns:175px minmax(300px,1fr)}.report-pane{grid-column:2;border-top:1px solid var(--line)}aside{grid-row:1/3}.request-pane{border-right:0}.empty-preview{min-height:220px}}
@media(max-width:650px){header{padding:0 8px;height:auto;min-height:60px;gap:0}header button{font-size:12px;padding:8px}nav{gap:0}.workspace-grid{display:flex;flex-direction:column;min-height:calc(100dvh - 60px)}aside{border-right:0;border-bottom:1px solid var(--line);padding:16px}aside h2{padding:0 0 10px}#history{flex-direction:row;overflow:auto;max-height:115px}.history-entry{min-width:160px;max-width:220px}.request-pane{padding:26px 20px}#request-form{margin-top:18px}.report-pane{padding:22px 20px}iframe{min-height:500px}.account-fields{grid-template-columns:1fr}.title-row{flex-wrap:wrap}.empty-preview{min-height:180px}.login-form h1{margin-bottom:25px}}
@media(prefers-reduced-motion:no-preference){button,.button{transition:background .12s ease}}

/* IV workspace: input leads; report receives more reading space. */
:root{--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--panel-height:clamp(400px,62vh,640px)}
body{min-width:320px}::selection{background:#555;color:#eee}input,textarea{caret-color:#ccc}*{scrollbar-color:#555 #262626;scrollbar-width:thin}input::placeholder,textarea::placeholder{color:#a0a0a0}
header{height:80px;padding:0 max(24px,calc((100vw - 1280px)/2));border-bottom-color:#363636}header nav{gap:4px}header nav button{font-size:12px;color:#aaa}header nav button:hover{color:#ddd;background:#2d2d2d}
.wordmark{gap:0;font-size:28px;font-weight:700;letter-spacing:-.03em;color:#bcbcbc;padding-left:0}.wordmark span{color:#909090}
.workspace-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;padding:48px 24px 32px;max-width:1328px;margin:0 auto;min-height:0;align-items:start}
.request-pane{padding:0;border:0;min-width:0}#compose{display:block}#request-form{margin:0;display:block}.pane-label,.report-toolbar{display:flex;align-items:center;min-height:44px;margin:0 0 12px;font-size:12px;color:#aaa;font-weight:400}
#instructions{display:block;height:var(--panel-height);min-height:260px;padding:24px;border-color:#484848;background:#242424;line-height:1.8;font-size:14px;resize:vertical}
.request-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:16px}.attachments{margin:0;min-width:0;color:#aaa;font-size:12px;flex:1}.attachments summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;width:fit-content;padding:0 8px}.attachments input{margin:8px 0}.attachments .file-list{margin-bottom:0}
#submit-request{flex-shrink:0;background:#3c3c3c;border-color:#606060;color:#d0d0d0;gap:16px;min-width:104px;min-height:44px;justify-content:center}#submit-request:hover{background:#484848}
.report-pane{padding:0;grid-column:auto;border:0;min-width:0;display:block}.report-toolbar{justify-content:space-between;gap:12px}.report-toolbar .button{min-height:36px;padding:4px 12px}.empty-preview{background:#292929;border-color:#414141;height:var(--panel-height);min-height:260px;color:#aaa;display:flex;font-size:12px}iframe{height:var(--panel-height);min-height:400px;background:#292929;border-color:#484848}
.primary{background:#555;color:#eee;border-color:#777}.primary:hover{background:#666}.plain:hover{background:#303030}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#history{flex-direction:column;max-height:none;overflow:auto}.history-entry{max-width:none;min-width:0}.history-entry[aria-current=true]{background:#333}
#job-detail{padding-top:10px}.preserve{max-width:70ch}.title-row{flex-wrap:wrap}.progress{margin:24px 0;padding:24px 0}.notice{overflow-wrap:anywhere}
@media(max-width:800px){:root{--panel-height:400px}header{height:64px;padding:0 24px}.workspace-grid{grid-template-columns:minmax(0,1fr);max-width:680px;gap:32px;padding-top:24px}.request-pane,.report-pane{padding:0}.report-pane{border-top:1px solid #363636;padding-top:16px}#instructions{height:320px}.empty-preview{height:400px}.report-toolbar{margin-bottom:12px}}
@media(max-width:420px){header{padding:0 16px}header nav button{padding:8px;min-height:44px}.workspace-grid{padding:16px 16px 32px;gap:24px}.wordmark{font-size:25px}#instructions{padding:16px;height:280px}.request-actions{gap:8px}dialog{padding:16px}}

#feedback-panel{margin-top:24px;border-top:1px solid var(--line);padding-top:8px}#feedback-comment{min-height:112px;line-height:1.7}.feedback-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px}.feedback-actions p{max-width:34ch}.feedback-actions button{flex-shrink:0;font-size:12px;min-height:44px}#feedback-list{list-style:none;padding:0;margin:24px 0 0}#feedback-list li{padding:16px 0;border-top:1px solid var(--line)}#feedback-list time{display:block;margin-top:8px}@media(max-width:650px){.feedback-actions{align-items:flex-start;flex-direction:column}.feedback-actions button{align-self:flex-end}}

#review-list{padding:0;list-style:none}#review-list li{padding:20px 0;border-top:1px solid var(--line)}#review-list h3{font-size:14px;font-weight:500;margin:0 0 8px;overflow-wrap:anywhere}#review-list .preserve{margin-top:12px}header nav{flex-wrap:wrap}@media(max-width:650px){header{height:auto;min-height:64px;padding-top:8px;padding-bottom:8px}header nav{justify-content:flex-end}}
