:root{color-scheme:light;--bg:#f5f6f3;--paper:#fff;--ink:#20352e;--muted:#54665e;--line:#cbd4cc;--accent:#256147;--error:#a12926;--space:1.5rem;font-family:"Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:16px}
*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1160px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:24px 36px;border-bottom:1px solid var(--line);gap:16px}header span{font-size:.875rem;color:var(--muted)}.brand{font-size:1.15rem;font-weight:700;color:var(--ink);text-decoration:none}main{padding:44px 36px}h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.14;letter-spacing:-.025em;margin:0 0 20px;font-weight:650;text-wrap:balance}h2{font-size:1.15rem;margin:0 0 24px}p{line-height:1.55;margin:0 0 16px}.intro{margin-bottom:36px}.intro p{max-width:65ch;color:var(--muted)}.workspace{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow:hidden}.workspace>section{padding:30px;min-width:0}.status-panel{border-left:1px solid var(--line);background:#fafbf8}label{display:block;font-weight:600;margin-bottom:10px}.optional{font-size:.8rem;font-weight:400;color:var(--muted);margin-left:8px}input[type=file]{width:100%;padding:16px;border:1px dashed #81998b;border-radius:6px;background:#f7faf6;color:var(--muted);font:inherit;font-size:.875rem}input::file-selector-button{border:1px solid var(--line);background:#fff;border-radius:4px;padding:9px 12px;margin-right:12px;color:var(--ink);font:inherit;cursor:pointer}input[type=number]{font:inherit;width:180px;padding:12px;border:1px solid #81998b;border-radius:4px;color:var(--ink);background:#fff}input::placeholder{color:var(--muted)}.hint{font-size:.875rem;color:var(--muted);margin-top:10px;line-height:1.5}.file-list{padding-left:20px;margin:12px 0 24px;font-size:.875rem;overflow-wrap:anywhere}.file-list:empty{display:none}button{font:inherit;font-size:.9rem;font-weight:600;border:1px solid transparent;border-radius:5px;padding:13px 17px;background:var(--accent);color:#fff;cursor:pointer;min-height:44px}button:hover{background:#194a34}button:disabled{cursor:default;opacity:.55}.secondary{background:#fff;color:var(--accent);border-color:#81998b;margin-bottom:12px}.secondary:hover{background:#edf4ed}.submit-row{display:flex;align-items:center;gap:16px;margin-top:26px;flex-wrap:wrap}.submit-row .hint{margin:0}.note{font-size:.8rem;color:var(--muted);margin-top:18px;max-width:60ch}.error{color:var(--error);font-size:.9rem;overflow-wrap:anywhere;margin-top:16px}.empty-title{font-size:1.4rem;margin-top:46px;font-weight:600}.state{font-size:1.35rem;font-weight:600;margin-top:32px}progress{width:100%;height:10px;accent-color:var(--accent);margin:6px 0 18px}#current{overflow-wrap:anywhere}.sheet-link{display:inline-block;margin-top:16px;color:var(--accent);font-weight:600;text-underline-offset:4px}.text-button{background:none;color:var(--accent);text-decoration:underline;padding:0;font-size:inherit;min-height:44px}.text-button:hover{background:none;color:var(--ink)}.history{margin-top:40px}.history h2{margin-bottom:12px}.history ul{list-style:none;padding:0;margin:0}.history li{border-bottom:1px solid var(--line)}.history button{background:transparent;color:var(--ink);text-align:left;width:100%;padding:16px 0;display:flex;justify-content:space-between;gap:16px;font-weight:400;overflow-wrap:anywhere}.history button:hover{color:var(--accent)}.history small{color:var(--muted);white-space:nowrap}.table-scroll{overflow:auto;margin:20px 0;max-height:360px}table{border-collapse:collapse;font-size:.8rem;min-width:580px;text-align:left}caption{text-align:left;font-weight:600;margin-bottom:12px}td,th{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600}td{max-width:200px;overflow-wrap:anywhere}.confirm{font-size:.875rem;display:flex;align-items:flex-start;gap:10px;line-height:1.5}.confirm input{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent)}.resolution{margin-top:16px}.resolution button{width:100%}footer{padding:0 36px 32px;color:var(--muted);font-size:.8rem;line-height:1.5}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #d08021;outline-offset:3px}[hidden]{display:none!important}
.header-actions{display:flex;align-items:center;gap:20px}.header-actions .secondary{margin:0}.login-main{max-width:520px;padding-top:64px}.login-panel h1{font-size:clamp(1.8rem,4vw,2.25rem)}.login-description{color:var(--muted);margin-bottom:28px}.login-panel input{display:block;width:100%;font:inherit;min-height:48px;padding:12px;border:1px solid #81998b;border-radius:4px;color:var(--ink);background:var(--paper);margin-bottom:24px}.login-panel input[aria-invalid=true]{border-color:var(--error)}#login-submit{width:100%}.login-help{margin-top:24px}
@media(max-width:760px){.header-actions{gap:12px;flex-wrap:wrap;justify-content:flex-end}.header-actions span{display:none}.login-main{padding-top:36px}}
@media(max-width:760px){header{padding:20px}main{padding:30px 20px}.workspace{grid-template-columns:1fr}.workspace>section{padding:24px}.status-panel{border-left:0;border-top:1px solid var(--line)}.empty-title{margin-top:16px}.state{margin-top:8px}.history button{flex-direction:column;gap:6px}footer{padding:0 20px 28px}h1 br{display:none}.intro{margin-bottom:24px}}
@media(prefers-reduced-motion:no-preference){progress{transition:opacity .2s ease-out}}
