:root{--ink:#17334a;--muted:#637989;--line:#d8e3ea;--paper:#fff;--bg:#edf3f6;--blue:#006cac;--deep:#004c7d;--mint:#d6f2e9;--danger:#a6442e;--amber:#fff3d7;font-family:"Microsoft YaHei UI","Microsoft YaHei",sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}header{height:88px;background:var(--paper);border-bottom:1px solid var(--line);padding:0 max(30px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:42px;height:46px;background:var(--blue);color:white;display:grid;place-items:center;font-size:23px;font-weight:bold;border-radius:5px 5px 14px 5px}.brand strong{display:block;font-size:19px;letter-spacing:1px}.brand small{display:block;font-size:11px;color:var(--muted);margin-top:5px}nav{display:flex;gap:10px}button{font:inherit;cursor:pointer;border:0;transition:background .15s}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #52b3e6;outline-offset:2px}.quiet{background:transparent;color:var(--muted);padding:9px 11px;border-radius:5px}.quiet:hover{background:#e9f1f7;color:var(--blue)}main{max-width:1200px;margin:auto;padding:34px 30px 18px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:12px;font-weight:bold;color:var(--blue);margin:0 0 8px;letter-spacing:1.5px}h1{font-size:29px;font-weight:650;margin:0 0 10px;letter-spacing:-.7px}.intro p:last-child{color:var(--muted);margin:0;font-size:13px}.local-badge{font-size:11px;color:#357463;display:flex;gap:7px;align-items:center;padding:9px 12px;background:#e2f1ec;border-radius:20px}.local-badge i{width:6px;height:6px;background:#3c9a7d;border-radius:50%}.workspace{display:grid;grid-template-columns:1fr 1.03fr;gap:23px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:24px;box-shadow:0 4px 20px #17334a04}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.section-head h2{font-size:16px;margin:0}.section-head>span{font-size:11px;color:var(--muted)}textarea{resize:vertical;min-height:225px;width:100%;padding:16px;background:#f8fafb;border:1px solid var(--line);border-radius:7px;font:13px/1.85 "Microsoft YaHei UI",sans-serif;color:var(--ink)}textarea::placeholder{color:#91a2af}.drop{margin-top:16px;border:1px dashed #adc7d9;border-radius:7px;min-height:125px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:#f7fbfe;cursor:pointer}.drop:hover,.drop.drag{border-color:var(--blue);background:#eaf5fc}.upload-symbol{font-size:22px;color:var(--blue)}.drop strong{font-size:12px;font-weight:500}.drop>span:last-of-type{font-size:11px;color:var(--muted)}.images{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.image-card{width:78px;position:relative}.image-card img{width:78px;height:70px;object-fit:cover;border:1px solid var(--line);border-radius:5px}.image-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:var(--muted)}.remove{position:absolute;right:-5px;top:-6px;width:21px;height:21px;border-radius:50%;background:var(--ink);color:white;padding:0}.primary{background:var(--blue);color:white;width:100%;padding:14px 16px;border-radius:6px;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:13px}.primary:hover{background:var(--deep)}.primary span{font-size:21px;font-weight:400;line-height:10px}.run-options{font-size:12px;color:var(--muted);padding:18px 0 15px}input[type=checkbox],input[type=radio]{accent-color:var(--blue)}.helper{font-size:11px;color:var(--muted);line-height:1.7;margin:12px 0 0}.status{background:#edf3f6;padding:5px 9px;border-radius:4px;white-space:nowrap}.status.working{background:#e7f2fc;color:var(--blue)}.status.success{background:var(--mint);color:#23765d}.empty{text-align:center;padding:40px 4px 65px;min-height:475px}.empty h3{font-size:15px;font-weight:500;margin-top:28px}.empty p{font-size:12px;color:var(--muted);line-height:2}.paper{width:142px;height:175px;background:#f7fafc;border:1px solid #cbdce8;border-radius:7px;margin:15px auto 30px;padding:21px 18px;text-align:left;transform:rotate(-4deg);box-shadow:8px 10px 0 #eef4f8}.paper b{font-size:12px;letter-spacing:2px;color:#658399}.paper i{display:block;height:3px;background:#d5e3ec;margin-top:16px;width:100%}.paper i:nth-of-type(2){width:72%}.paper em{display:block;font:28px/1.5 Consolas,monospace;color:#4d9dc7;margin-top:9px}.message{font-size:12px;line-height:1.8;padding:12px;background:#edf6fc;border-left:3px solid #72b1d5;border-radius:3px;margin-bottom:16px}.issues{list-style:none;margin:0 0 15px;padding:0;background:var(--amber);border-radius:5px}.issues:empty{display:none}.issues li{font-size:12px;padding:5px 12px;color:#8a6530;line-height:1.6}.issues li:first-child{padding-top:10px}.issues li:last-child{padding-bottom:10px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-grid label{font-size:11px;color:var(--muted)}.field-grid label.wide{grid-column:1/-1}input:not([type=checkbox]):not([type=radio]),select{display:block;border:1px solid var(--line);border-radius:4px;background:white;padding:10px;width:100%;font:12px "Microsoft YaHei UI",sans-serif;color:var(--ink);margin-top:6px}.field-grid input.invalid,.field-grid select.invalid{border-color:#d2a56b;background:#fffdf7}.source{display:block;color:#8b9daa;font-size:10px;line-height:1.6;margin-top:3px;overflow-wrap:anywhere}.derived{margin:18px 0;padding:14px;background:#f5f8fa;border-radius:5px;font-size:11px;color:var(--muted);line-height:1.9}.derived b{color:var(--ink);font-weight:500}.check-block{display:block;margin:12px 0;font-size:12px;line-height:1.8;color:#8a6530}.danger{color:var(--danger);width:100%;margin-top:7px}details{margin-top:18px;color:var(--muted);font-size:11px}details summary{cursor:pointer}details ol{padding-left:21px;line-height:2}footer{font-size:11px;color:#8093a0;display:flex;justify-content:space-between;gap:25px;margin-top:22px;line-height:1.8}dialog{border:1px solid var(--line);border-radius:12px;padding:25px;width:480px;max-width:95vw;box-shadow:0 18px 80px #17334a33;color:var(--ink)}dialog::backdrop{background:#122f4666}dialog p{font-size:12px;line-height:1.9;color:var(--muted)}dialog label:not(.inline){display:block;margin:15px 0;font-size:12px}dialog .primary{margin-top:22px}.inline{font-size:12px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:85vw;padding:14px 22px;background:#17334a;color:white;border-radius:7px;box-shadow:0 8px 35px #17334a33;font-size:13px;z-index:10}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}@media(max-width:820px){header{padding:0 18px;height:75px}nav{gap:0}.quiet{font-size:12px;padding:8px}main{padding:24px 17px}.workspace{grid-template-columns:1fr}.intro{align-items:start}.local-badge{display:none}h1{font-size:24px}.intro p:last-child{line-height:1.8}footer{flex-direction:column;gap:4px}.empty{min-height:300px;padding:10px 0 25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

#ocrText{white-space:pre-wrap;max-height:230px;overflow:auto;background:#f5f8fa;padding:12px;border-radius:5px;line-height:1.8;font-family:Consolas,'Microsoft YaHei UI',monospace;overflow-wrap:anywhere} #aiAssist{margin-top:8px;width:100%}


.connection-badge{display:flex;align-items:center;gap:9px;white-space:nowrap;color:#a33c36;background:#fcece9;border-radius:24px;padding:10px 16px;font-size:13px}.connection-badge i{display:block;width:10px;height:10px;border-radius:50%;background:#d94a42}.connection-badge.connected{background:#e2f1ec;color:#236e54}.connection-badge.connected i{background:#249b6d}

.run-options{display:flex;flex-wrap:wrap;gap:12px 24px}.run-options label{display:flex;align-items:center;gap:4px}.run-options label:has(input:disabled){opacity:.55}

.run-options[role=group]{margin-bottom:14px}.run-options input[type=radio]{width:auto;margin:0;padding:0}

.account-card{max-width:430px;margin:50px auto}
.account-card label,.admin-form label{display:block;margin:12px 0}
.account-card button{margin-top:20px}
.admin-stack{display:grid;gap:20px}
.admin-scroll{overflow-x:auto}
.admin-table{border-collapse:collapse;width:100%;min-width:520px;text-align:left}
.admin-table th,.admin-table td{padding:8px;border-bottom:1px solid var(--line)}
.admin-table input{min-width:90px}
.admin-table input[data-key=issuer]{min-width:200px}
.admin-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px}
.admin-form .primary,.admin-stack .primary{width:auto}
.status-message{min-height:24px;color:var(--danger);line-height:1.6}
nav a{align-self:center;text-decoration:none}
