:root{--ink:#193833;--muted:#71837e;--green:#22684e;--line:#e2ebe6;--paper:#fff;--bg:#f3f6f3}*{box-sizing:border-box}body{margin:0;font-family:Inter,"Microsoft YaHei",Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}aside{position:fixed;width:238px;height:100vh;background:#133c30;padding:38px 25px;color:#b9cdc3;display:flex;flex-direction:column}.brand{color:#fff;text-decoration:none;font-size:21px;font-weight:700;letter-spacing:3px}.brand span{display:block;font-size:14px;font-weight:400;letter-spacing:1px;margin-top:9px}nav{margin-top:54px;display:grid;gap:12px}nav a{padding:12px;color:#bed0c8;text-decoration:none;font-size:13px;border-radius:7px}nav .active{background:#2b5345;color:white}aside footer{margin-top:auto;font-size:10px;letter-spacing:1px}main{max-width:1320px;margin-left:238px;padding:46px 5vw 50px}header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:30px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--green);font-weight:700;margin:0 0 10px}h1{font-size:32px;margin:0 0 10px;letter-spacing:-1px}h2{font-size:19px;margin:0 0 5px}.subtitle{font-size:14px;color:var(--muted);margin:0}.badge{font-size:11px;white-space:nowrap;border:1px solid #d7e4db;border-radius:20px;padding:7px 12px;margin-top:7px}.card{padding:28px 30px;background:var(--paper);border:1px solid var(--line);border-radius:13px;margin-bottom:22px;box-shadow:0 2px 6px #17382c03}.section-title{display:flex;gap:13px;align-items:center;margin-bottom:22px}.section-title p{margin:0;color:var(--muted);font-size:12px}.step{background:#edf4ed;color:var(--green);font-size:12px;padding:10px;border-radius:50%;font-weight:700}.status,.link-button{margin-left:auto;font-size:11px;white-space:nowrap}.status{color:var(--green);background:#eff6ef;padding:5px 10px;border-radius:20px}.status.warn{color:#966230;background:#fff4e2}.link-button{text-decoration:none;color:var(--green);border:1px solid #d7e4db;border-radius:7px;padding:8px 12px}.dropzone{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:10px;height:188px;border:1.5px dashed #bdd1bf;border-radius:9px;background:#f9fbf7;cursor:pointer;transition:.2s}.dropzone:hover,.dropzone.drag{background:#eef6e9;border-color:var(--green)}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-icon{width:38px;height:38px;border-radius:9px;background:#e5efdf;color:var(--green);text-align:center;font-size:26px;line-height:38px}.dropzone strong{font-size:14px;font-weight:500}.dropzone small{font-size:11px;color:#8c9b91}.form-bottom{display:flex;gap:20px;align-items:end;justify-content:space-between;margin-top:20px}label{display:block;font-size:12px;color:#61766a}input[type=password]{display:block;margin-top:8px;padding:12px 13px;font-size:13px;border:1px solid #d8e2d9;border-radius:7px;width:290px;background:white}input:focus{outline:2px solid #a9c8b5}button{background:var(--green);color:white;border:0;padding:13px 22px;border-radius:7px;font-size:13px;cursor:pointer}button:hover{background:#184e3a}button:disabled{opacity:.55;cursor:wait}button span{margin-left:18px}.scope,.footnote{font-size:11px;color:#87958c;margin-bottom:0}.scope{margin-top:20px}.progress-box{display:flex;gap:13px;align-items:center;background:#f2f7f1;border-radius:8px;margin-top:22px;padding:17px}.progress-box p{margin:4px 0 0;font-size:12px;color:var(--muted)}.progress-box strong{font-size:13px}.spinner{width:20px;height:20px;border:2px solid #ccdecd;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{padding:18px 16px;border:1px solid #e7eee5;background:#fbfcf9;border-radius:8px}.metric span{font-size:11px;color:var(--muted);display:block;margin-bottom:8px}.metric strong{font-size:24px;font-weight:600;letter-spacing:-.5px}.metric small{font-size:11px;font-weight:400;margin-left:3px}.result-foot{display:flex;justify-content:space-between;margin-top:20px;font-size:12px}.result-foot a{color:var(--green)}.muted{font-size:11px;color:#829185}.history-row{display:flex;align-items:center;gap:18px;padding:15px 0;border-top:1px solid #e9eee8;font-size:13px}.history-date{font-weight:600}.history-status{font-size:11px;color:#849386}.history-actions{display:flex;gap:15px;margin-left:auto;align-items:center}.history-actions a,.history-actions button{font-size:11px;color:var(--green);text-decoration:none}.history-actions button{background:#edf4ed;padding:6px 10px}.error{color:#a44630}.history-empty{font-size:13px;color:var(--muted);padding:20px 0}#accessForm{display:flex;gap:15px;align-items:end}[hidden]{display:none!important}@media(max-width:1100px){aside{width:195px;padding:32px 18px}main{margin-left:195px;padding:36px 3vw}.metrics{grid-template-columns:repeat(2,1fr)}h1{font-size:28px}}@media(max-width:700px){aside{position:static;height:auto;width:auto;padding:20px}nav{display:none}aside footer{display:none}.brand span{display:inline;margin-left:15px}main{margin:0;padding:26px 16px}header{display:block}.badge{display:inline-block;margin-top:15px}.card{padding:22px 18px}.form-bottom{display:block}input[type=password]{width:100%}button#generateButton{width:100%;margin-top:16px}.section-title{flex-wrap:wrap}.status{margin-left:45px}.metric strong{font-size:21px}.history-row{gap:10px;flex-wrap:wrap}.history-actions{width:100%;margin-left:0}.link-button{margin-left:45px}#accessForm{display:block}#accessForm button{margin-top:16px}}
