:root { --ink:#17211b; --muted:#68746d; --line:#dfe5e1; --paper:#fff; --wash:#f4f7f4; --green:#246b4b; --green-soft:#e7f2eb; --amber:#a96114; --red:#a33b36; }
* { box-sizing:border-box; }
html,body { height:100%; overflow:hidden; }
body { margin:0; display:grid; grid-template-rows:72px auto auto minmax(0,1fr) 62px; color:var(--ink); background:var(--wash); font:15px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, sans-serif; }
header { height:72px; padding:0 28px; display:flex; align-items:center; justify-content:space-between; background:#173d2c; color:white; }
.brand { display:flex; align-items:center; gap:12px; }.brand div { display:flex; flex-direction:column; }.brand strong { font-size:18px; }.brand small { color:#bad0c3; }
.mark { width:36px; height:36px; display:grid; place-items:center; border-radius:9px; background:#d9a441; color:#173d2c; font-weight:800; font-family:Georgia,serif; font-size:21px; }
.header-actions { display:flex; align-items:center; gap:12px; }.header-actions #saveState { color:#c9d8cf; font-size:13px; }
.user-button { border:1px solid #608170; border-radius:99px; padding:7px 12px; background:#28533f; color:white; cursor:pointer; font-weight:700; }
.toolbar { padding:10px 28px; display:grid; grid-template-columns:210px 135px 125px minmax(180px,1fr) auto; align-items:end; gap:10px; background:var(--paper); border-bottom:1px solid var(--line); }.toolbar.has-mode { grid-template-columns:210px 135px 125px 125px minmax(180px,1fr) auto; }.toolbar [hidden] { display:none; }
.auto-label { height:38px; display:flex; align-items:center; gap:7px; white-space:nowrap; text-transform:none; letter-spacing:0; font-weight:600; }.auto-label input { width:16px; height:16px; margin:0; }
label { color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; }
select,input,textarea { width:100%; margin-top:5px; border:1px solid #cfd8d2; border-radius:8px; background:white; color:var(--ink); font:inherit; }
select,input { height:38px; padding:0 10px; } textarea { min-height:92px; padding:10px; resize:vertical; }
.progress-wrap { padding:7px 28px 9px; background:white; }.progress-label { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; margin-bottom:5px; }.progress { height:4px; border-radius:9px; background:#e8ece9; overflow:hidden; }.progress i { display:block; height:100%; width:0; background:#d49b37; transition:width .2s; }
main { min-height:0; display:grid; grid-template-columns:230px minmax(0,900px); justify-content:center; overflow:hidden; }
aside { min-height:0; border-right:1px solid var(--line); padding:12px 10px; overflow:auto; }
.list-item { width:100%; display:flex; align-items:center; gap:9px; border:0; padding:9px 10px; border-radius:7px; background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
.list-item:hover { background:#eaf0ec; }.list-item.active { background:#dfece4; color:#174e35; font-weight:700; }.dot { width:8px; height:8px; flex:none; border-radius:50%; background:#c7ceca; }.dot.done { background:#2b865d; }.item-number { color:var(--muted); width:34px; font-variant-numeric:tabular-nums; }.item-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#workspace { min-height:0; padding:18px 28px; overflow:auto; }.loading,.empty { padding:70px; text-align:center; color:var(--muted); }
.eyebrow { display:flex; gap:8px; align-items:center; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }.pill { padding:2px 7px; border-radius:99px; background:#e2e9e4; color:#415048; font-weight:700; }.task-title { margin:4px 0 12px; font:600 21px/1.2 Georgia,serif; }
.compare { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 12px; }.text-card { min-height:110px; padding:14px 16px; border:1px solid var(--line); border-radius:10px; background:white; box-shadow:0 2px 8px #1b322313; }.text-card.intervened { border-color:#d3b06e; background:#fffcf5; }.text-label { display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }.text { font-size:16px; line-height:1.5; white-space:pre-wrap; }
.source-card { padding:9px 14px; border-left:3px solid #9aafa2; background:#eef2ef; border-radius:0 8px 8px 0; margin-bottom:10px; }.source-card .text { font-size:13px; }.source-card .text-label { margin-bottom:3px; }
.rapid { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 16px; border:1px solid #cbd8cf; border-radius:11px; background:white; box-shadow:0 3px 14px #173d2c12; }.rapid>div:first-child { display:flex; flex-direction:column; }.rapid strong { font-size:17px; }.rapid small { color:var(--muted); }.rapid-actions { display:flex; gap:9px; }.rapid-button { min-width:135px; padding:9px 13px; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:9px; border:1px solid #cbd5cf; border-radius:9px; background:white; color:var(--ink); text-align:left; cursor:pointer; }.rapid-button kbd { grid-row:1/3; align-self:center; }.rapid-button span { font-size:16px; font-weight:800; }.rapid-button small { font-size:11px; }.rapid-button.yes:hover,.rapid-button.yes.selected { border-color:var(--green); background:var(--green-soft); }.rapid-button.no:hover,.rapid-button.no.selected { border-color:var(--red); background:#f9ecea; color:#792c28; }
.questions { margin-top:22px; border-top:1px solid var(--line); }.question { padding:18px 0; border-bottom:1px solid var(--line); }.question-head { display:flex; justify-content:space-between; gap:16px; margin-bottom:10px; }.question-title { font-weight:750; }.hint { color:var(--muted); font-size:13px; font-weight:400; }
.choices { display:flex; flex-wrap:wrap; gap:8px; }.choice { cursor:pointer; }.choice input { position:absolute; opacity:0; pointer-events:none; }.choice span { display:inline-flex; align-items:center; gap:7px; padding:8px 13px; border:1px solid #cdd7d0; border-radius:8px; background:white; color:#344139; font-size:14px; font-weight:650; text-transform:none; letter-spacing:0; }.choice input:checked + span { border-color:var(--green); background:var(--green-soft); color:#155239; box-shadow:inset 0 0 0 1px var(--green); }.choice kbd { color:#7a857e; }
details { margin:10px 0; border:1px solid var(--line); border-radius:9px; background:white; } summary { padding:9px 13px; cursor:pointer; color:var(--muted); font-weight:700; }.manual-body { padding:0 13px 12px; }.manual .question { padding:10px 0; }.notes-label { display:block; margin-top:10px; }.notes-label textarea { min-height:65px; }.details-grid { padding:0 12px 12px; display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }.detail { padding:9px; background:var(--wash); border-radius:7px; }.detail b { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; }.detail span { white-space:pre-wrap; }
footer { min-height:0; padding:0 28px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); background:white; } button.button,a.button { height:36px; padding:0 14px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; border:1px solid transparent; font:700 14px/1 inherit; text-decoration:none; cursor:pointer; }.primary { margin-left:8px; background:var(--green); color:white; }.secondary { border-color:#cdd6d0!important; background:white; color:#304039; }.shortcuts { color:var(--muted); font-size:12px; }kbd { padding:2px 5px; border:1px solid #cad2cd; border-bottom-width:2px; border-radius:4px; background:white; font:11px ui-monospace,monospace; }
.modal { position:fixed; inset:0; z-index:20; display:grid; place-items:center; padding:20px; background:#10271dcc; backdrop-filter:blur(5px); }.modal[hidden] { display:none; }.modal-card { width:min(420px,100%); padding:30px; border-radius:16px; background:white; box-shadow:0 24px 80px #0005; }.modal-card h2 { margin:16px 0 5px; font:600 27px Georgia,serif; }.modal-card p { margin:0 0 22px; color:var(--muted); }.modal-card label { display:block; margin-top:12px; }.modal-card .button { width:100%; margin:16px 0 0; }.form-error { min-height:20px; margin-top:8px; color:var(--red); font-size:13px; font-weight:650; }
@media (max-width:900px) { .toolbar,.toolbar.has-mode { grid-template-columns:1fr 1fr 1fr; }.search { grid-column:span 2; }.auto-label { justify-self:end; } }
@media (max-width:700px) { body { grid-template-rows:64px auto auto minmax(0,1fr) 56px; } header { height:64px; padding:0 12px; }.brand small,.header-actions #saveState,.header-actions a { display:none; }.toolbar,.toolbar.has-mode { grid-template-columns:1fr 1fr; padding:8px 12px; }.search { grid-column:span 1; }.auto-label { justify-self:start; }.progress-wrap { padding-left:12px; padding-right:12px; } main { grid-template-columns:1fr; } aside { display:none; } #workspace { padding:12px; }.compare { grid-template-columns:1fr; }.text-card { min-height:80px; }.rapid { align-items:stretch; flex-direction:column; }.rapid-actions { display:grid; grid-template-columns:1fr 1fr; }.rapid-button { min-width:0; }.shortcuts { display:none; } footer { padding:0 12px; } }
