@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--bg-gradient:linear-gradient(145deg,#f5f8e8 0%,#dce9ea 52%,#d4deef 100%);--surface:#ffffffe6;--surface-border:#0b222929;--text-primary:#0e2128;--text-secondary:#32515a;--text-muted:#55717a;--accent:#0a7f78;--accent-strong:#08645f;--accent-soft:#dff3ef;--danger:#b42318;--danger-soft:#fde6e2;--shadow:0 18px 36px #0d212626;--radius-lg:20px;--radius-md:14px;--focus:#14659f}*,:before,:after{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0;padding:0}body{color:var(--text-primary);background:var(--bg-gradient);font-family:var(--font-geist-sans),"Segoe UI","Apple SD Gothic Neo",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button,input{font:inherit}.appShell{min-height:100vh;padding:40px 18px 56px}.contentWrap{gap:18px;width:min(1080px,100%);margin:0 auto;display:grid}.pageTop{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 24px;display:flex}.pageTitle{letter-spacing:-.03em;margin:0;font-size:clamp(1.35rem,2.8vw,2rem);line-height:1.2}.pageSubtitle{color:var(--text-secondary);margin:8px 0 0;font-size:.95rem;line-height:1.5}.pageActions{align-items:center;gap:8px;display:flex}.navLink{color:var(--accent-strong);background:#ffffffbd;border:1px solid #08645f59;border-radius:999px;justify-content:center;align-items:center;padding:9px 14px;font-size:.9rem;font-weight:600;display:inline-flex}.panel{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);gap:14px;padding:22px 22px 20px;display:grid}.panelTitle{letter-spacing:-.02em;margin:0;font-size:1.1rem}.panelHint{color:var(--text-secondary);margin:0;font-size:.93rem;line-height:1.5}.formStack{gap:12px;display:grid}.inputGroup{gap:8px;display:grid}.inputLabel{color:var(--text-secondary);font-size:.86rem;font-weight:600}.textInput{width:100%;color:var(--text-primary);background:#fff;border:1px solid #0e212833;border-radius:12px;padding:11px 12px}.fileInput{padding-block:9px}.textInput:focus-visible,.btn:focus-visible,.navLink:focus-visible,a.btn:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.buttonRow{flex-wrap:wrap;gap:8px;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;min-height:38px;padding:0 13px;font-size:.88rem;font-weight:600;transition:background-color .2s,border-color .2s,color .2s,opacity .2s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btnPrimary{color:#fff;background:linear-gradient(120deg,var(--accent)0%,var(--accent-strong)100%)}.btnPrimary:hover:not(:disabled){filter:brightness(.96)}.btnSecondary{color:var(--text-primary);background:#fff;border-color:#0e212833}.btnSecondary:hover:not(:disabled){background:#eef7f5}.btnDanger{color:var(--danger);background:var(--danger-soft);border-color:#b4231847}.btnDanger:hover:not(:disabled){background:#fbd9d3}.metaText{color:var(--text-muted);margin:0;font-size:.84rem;line-height:1.45}.statusLine{color:var(--accent-strong);margin:0;font-size:.88rem;font-weight:600;line-height:1.45}.progressRegion{gap:7px;display:grid}.progressBarTrack{background:#d6e5e2;border-radius:999px;width:100%;height:11px;overflow:hidden}.progressBarFill{background:linear-gradient(90deg,#10948b 0%,#0d6d66 100%);border-radius:999px;height:100%;transition:width .2s ease-out;display:block}.progressLabel{color:var(--text-secondary);margin:0;font-size:.83rem}.noticeBox{border-radius:var(--radius-md);background:var(--accent-soft);color:var(--text-secondary);border:1px solid #08645f33;margin:0;padding:11px 13px;line-height:1.5}.selectedList,.fileGrid{gap:10px;margin:0;padding:0;list-style:none;display:grid}.selectedItem,.fileCard{border-radius:var(--radius-md);background:#ffffffd1;border:1px solid #0e212829;justify-content:space-between;align-items:center;gap:8px;padding:12px;display:flex}.itemTitle{word-break:break-word;margin:0;font-size:.92rem;line-height:1.4}.batchCard{border-radius:var(--radius-md);background:#fffc;border:1px solid #0e212829;gap:12px;padding:14px;display:grid}.batchHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.inlineActions{flex-wrap:wrap;gap:6px;display:flex}.emptyState{border-radius:var(--radius-md);color:var(--text-secondary);background:#ffffff94;border:1px dashed #0e21283d;margin:0;padding:12px;font-size:.9rem}.srOnly{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:768px){.appShell{padding:22px 12px 32px}.panel,.pageTop{padding:16px 14px}.selectedItem,.fileCard{flex-direction:column;align-items:stretch}.inlineActions,.buttonRow{width:100%}.inlineActions .btn,.buttonRow .btn,.buttonRow .navLink{flex:140px}}
