:root{--paper:#f5f3ec;--ink:#203b35;--muted:#65766d;--line:#ced8cf;--green:#24654c;--orange:#bb6039}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 'Microsoft YaHei','PingFang SC',sans-serif}
main{max-width:1220px;margin:auto;padding:30px 34px 50px}a{color:var(--green);text-underline-offset:4px}.heading,.section-heading,.actions,footer{display:flex;justify-content:space-between;align-items:center;gap:16px}.back{text-decoration:none}
button,input{font:inherit}button{cursor:pointer;border:0;border-radius:7px;padding:11px 18px;min-height:44px}button:disabled{cursor:not-allowed;opacity:.5}.quiet{background:none;color:var(--green);padding:8px}.primary{background:var(--green);color:white;font-weight:bold}.secondary{background:var(--surface-subtle);color:var(--ink);border:1px solid var(--line)}.danger{background:var(--danger);color:white}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.intro{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center;padding:54px 0 42px}.eyebrow,.step-label{font:12px/1.7 Consolas,monospace;letter-spacing:1.5px;color:var(--green)}
h1{font:clamp(38px,4.6vw,58px)/1.24 Georgia,'SimSun',serif;letter-spacing:-1px;margin:18px 0}h2{font-size:21px;line-height:1.5;margin:9px 0 14px}p{margin:8px 0}.lead{font-size:16px;color:var(--muted);max-width:580px;line-height:1.9}.muted,.hint{color:var(--muted)}.hint{font-size:12px;margin:5px 0 0}
.status-card{background:var(--ink);color:var(--paper);padding:32px;border-radius:9px;min-height:218px;border-left:5px solid #dcebb5}.status-card .eyebrow{color:#dcebb5}.status-card h2{font-size:29px;margin:13px 0}.status-card p{color:#d5dfd6}.status-card .muted{color:#a9bdb0;font-size:12px;margin-top:18px}
.columns{display:grid;grid-template-columns:1.08fr 1fr;gap:24px}.sheet{background:var(--surface);border:1px solid var(--line);padding:29px;border-radius:9px;margin-bottom:24px}
form>label,#invite-row>label{display:block;font-weight:bold;margin:20px 0 7px}input:not([type=radio]){width:100%;border:1px solid var(--line);border-radius:6px;background:white;padding:11px 13px;color:var(--ink)}
fieldset{border:0;padding:0;margin:23px 0}legend{font-weight:bold;margin-bottom:10px}.duration{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.duration label{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;min-height:73px;cursor:pointer;font-size:13px}.duration label:has(input:checked){background:var(--accent-soft);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.duration input{accent-color:var(--green)}.duration span{font-size:10px;color:var(--green)}
#request-submit{width:100%}.form-message{min-height:25px;font-size:13px;margin-top:12px}.error{color:var(--danger);background:var(--danger-soft);padding:10px 13px;border-left:3px solid var(--orange)}[hidden]{display:none!important}
.guide ol{padding-left:22px;margin:20px 0}.guide li{padding:0 0 15px 8px}.guide li::marker{color:var(--orange);font-family:Consolas,monospace}.guide li p{font-size:13px;color:var(--muted)}code{background:var(--surface-subtle);padding:2px 4px;font-size:12px;overflow-wrap:anywhere}.note{background:var(--warning-soft);border-left:3px solid var(--orange);padding:13px 16px;font-size:12px;line-height:1.9}
.section-heading{align-items:flex-start}.section-heading h2{margin-bottom:20px}#refresh-note{font-size:12px;white-space:nowrap}.request-row{display:grid;grid-template-columns:1.4fr 1fr auto;align-items:center;gap:16px;border-top:1px solid var(--line);padding:17px 0}.request-name{font-weight:bold;font-size:16px;overflow-wrap:anywhere}.request-meta{font-size:12px;color:var(--muted)}.request-status{font-size:13px}.row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.row-actions button,.row-actions a{font-size:12px;padding:8px 12px;min-height:38px}.row-actions a{display:inline-block;text-decoration:none;background:var(--green);color:white;border-radius:7px}
.project-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0}.project{border:1px solid var(--line);border-radius:6px;padding:10px;font-size:12px}.project strong{display:block}.project p{color:var(--muted);font-size:11px}.admin>.actions{justify-content:flex-start;margin-top:20px}footer{font-size:12px;color:var(--muted);padding-top:18px}
dialog{border:1px solid var(--line);border-radius:10px;max-width:440px;width:calc(100% - 32px);padding:28px;background:var(--surface);color:var(--ink)}dialog::backdrop{background:#142d2580}dialog .actions{justify-content:flex-end;margin-top:22px}
@media(max-width:760px){main{padding:20px 18px 35px}.intro{grid-template-columns:1fr;gap:24px;padding:32px 0}.intro h1{font-size:39px}.status-card{min-height:0;padding:24px}.columns{grid-template-columns:1fr;gap:0}.sheet{padding:22px}.request-row{grid-template-columns:1fr auto;gap:8px}.row-actions{grid-column:1/-1;justify-content:flex-start}.project-grid{grid-template-columns:repeat(2,1fr)}.admin>.actions{flex-direction:column;align-items:stretch}footer{flex-direction:column;align-items:flex-start;gap:5px}.section-heading{gap:8px}#refresh-note{font-size:10px}.duration{gap:5px}.duration label{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.approval-toggle{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--line);border-radius:7px;background:var(--accent-soft);margin:18px 0 0}.approval-toggle input[type=checkbox]{width:20px;min-width:20px;height:20px;margin:3px 0;padding:0;accent-color:var(--green)}.approval-toggle small{display:block;color:var(--muted);margin-top:4px}details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}summary{cursor:pointer;color:var(--muted);font-size:13px;min-height:32px}#history-list .request-row{opacity:.8}
