:root{--ink:#182124;--muted:#6f7b7a;--line:#dce4e1;--paper:#f7faf8;--card:#fff;--accent:#0e7c68;--accent-dark:#075746;--amber:#a96712;--red:#b6493e;--shadow:0 12px 38px #1a322d0c}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}header{height:76px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;padding:0 5vw;gap:32px}.brand{display:flex;align-items:center;gap:11px;min-width:220px}.mark{width:30px;height:30px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px}.brand b,.brand small{display:block}.brand small{font-size:11px;color:var(--muted);letter-spacing:.12em}.context{border-left:1px solid var(--line);padding-left:28px}.context span{color:var(--muted);margin-left:14px}.secure{margin-left:auto;color:var(--muted);font-size:12px}main{max-width:1120px;margin:0 auto;padding:48px 28px}.intro{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:28px}.eyebrow{margin:0 0 7px;color:var(--accent);font-size:11px;letter-spacing:.16em;font-weight:700}.intro h1{font:600 clamp(27px,4vw,42px)/1.12 Georgia,"Songti SC",serif;margin:0 0 12px;letter-spacing:-.03em}.lede{margin:0;color:var(--muted);font-size:15px}.period{border-left:3px solid var(--accent);padding:8px 0 8px 16px;min-width:228px}.period span,.period b{display:block}.period span{color:var(--muted);font-size:12px}.period b{margin-top:4px;font-size:15px}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:30px}.status-card{background:#fff;padding:17px 19px}.status-card span,.status-card b{display:block}.status-card span{color:var(--muted);font-size:12px}.status-card b{margin-top:5px;font-size:15px}.status-card b.ok{color:var(--accent)}.status-card b.warn{color:var(--amber)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:26px}.tab{border:0;background:transparent;padding:13px 20px;color:var(--muted);font:600 14px inherit;cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--ink);border-bottom-color:var(--accent)}.panel{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);padding:28px 30px}.hidden{display:none}.panel-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:28px}.panel h2{margin:0 0 5px;font:600 24px Georgia,"Songti SC",serif}.panel p:not(.eyebrow){margin:0;color:var(--muted)}.state{font-size:12px;padding:5px 10px;border:1px solid currentColor}.state.pending{color:var(--amber)}.state.ready{color:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:24px}.form-grid label{font-weight:600}.form-grid input{display:block;width:100%;margin-top:7px;border:1px solid var(--line);padding:11px 12px;font:inherit;color:var(--ink);background:#fbfdfc}.form-grid small{display:block;color:var(--muted);font-weight:400;font-size:11px;margin-top:5px}.primary,.secondary{border:0;padding:12px 18px;font:600 14px inherit;cursor:pointer}.primary{background:var(--accent);color:#fff}.primary:hover{background:var(--accent-dark)}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.notice{margin-top:22px;padding:13px 16px;background:#f7f0e5;color:#765426;font-size:13px}.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:170px;border:1px dashed #9db4ae;background:#fbfdfc;cursor:pointer;text-align:center}.drop:hover{border-color:var(--accent);background:#f5faf8}.drop input{display:none}.drop strong{font-size:16px}.drop span{color:var(--muted);margin-top:6px;font-size:12px}.file-list{margin-top:22px;border-top:1px solid var(--line)}.file-row,.run-row{display:flex;align-items:center;gap:15px;padding:15px 4px;border-bottom:1px solid var(--line)}.file-name{flex:1;font-weight:600}.file-meta{color:var(--muted);font-size:12px}.badge{font-size:11px;padding:4px 8px;border:1px solid}.badge.running{color:var(--amber)}.badge.succeeded{color:var(--accent)}.badge.failed{color:var(--red)}.run-row .file-name small{display:block;color:var(--muted);font-weight:400}.run-row time{color:var(--muted);font-size:12px}footer{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;padding:22px 0}@media(max-width:700px){header{padding:0 18px;gap:12px}.context,.secure{display:none}main{padding:32px 16px}.intro{display:block}.period{margin-top:20px}.status-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.panel{padding:22px 18px}.panel-head{display:block}.state{display:inline-block;margin-top:14px}.file-row,.run-row{align-items:flex-start;flex-wrap:wrap}.file-meta{width:100%}footer{display:block}footer span{display:block;margin-top:6px}}
.audit-details{margin:-1px 0 0;padding:12px 4px 14px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.audit-details summary{cursor:pointer;color:var(--accent);font-weight:600}.audit-details section{padding:8px 0 2px}.audit-details section b{color:var(--ink)}.audit-details section p{margin:3px 0 0!important;line-height:1.8}.audit-details small{display:block;margin-top:8px}
 .hidden{display:none!important}.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 15% 15%,#e2f1ec 0,transparent 32%),linear-gradient(145deg,#f4f8f6,#e9f0ed)}.login-card{width:min(100%,420px);padding:44px 42px 36px;background:#fff;border:1px solid #e1e9e5;border-radius:18px;box-shadow:0 24px 70px #16372d18}.login-brand{display:flex;align-items:center;gap:12px}.login-brand .eyebrow{margin:0;letter-spacing:.12em}.login-card h1{font:600 30px/1.2 Georgia,"Songti SC",serif;margin:30px 0 8px;color:#182124}.login-card>p{margin:0 0 26px;color:#6f7b7a}.login-card label{display:block;margin:16px 0;color:#465450;font-size:13px;font-weight:600}.login-card input{display:block;width:100%;height:46px;margin-top:7px;padding:0 12px;border:1px solid #dce4e1;border-radius:8px;font:inherit;outline:none}.login-card input:focus{border-color:#0e7c68;box-shadow:0 0 0 3px #0e7c6817}.login-submit{width:100%;height:46px;margin-top:10px;border-radius:8px}.login-card>small{display:block;margin-top:25px;text-align:center;color:#8a9692}.login-error{min-height:20px;margin-top:12px;color:#b6493e;font-size:13px}.file-list-title{margin:24px 0 0;font-size:16px}
 .danger{border:1px solid #e9c7c3;background:#fff;color:#a83d34;padding:8px 12px;border-radius:7px;cursor:pointer}.logout-btn{padding:7px 12px;border-radius:7px}.secure{display:flex;align-items:center;gap:14px;margin-left:auto;color:var(--muted);font-size:12px}@media(max-width:700px){.secure{display:none}.login-card{padding:34px 25px}}
