:root{color:#111827;background:#f6f7fb;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}*{box-sizing:border-box}.app{flex-direction:column;min-height:100vh;display:flex}.header{background:#fff;border-bottom:1px solid #e5e7eb}.header-inner{justify-content:space-between;align-items:center;max-width:980px;margin:0 auto;padding:14px 16px;display:flex}.brand{color:#111827;font-weight:700;text-decoration:none}.nav{gap:10px;display:flex}.navlink{color:#374151;border-radius:8px;padding:8px 10px;text-decoration:none}.navlink.active{color:#1f2937;background:#eef2ff}.main{flex:1;padding:24px 0}.container{max-width:980px;margin:0 auto;padding:0 16px}.footer{color:#6b7280;padding:16px 0}.footer-inner{font-size:12px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;box-shadow:0 1px 2px #00000008}.panel{background:#fafafa;border:1px solid #eee;border-radius:12px;padding:14px}.stack{flex-direction:column;gap:14px;display:flex}.row{justify-content:space-between;align-items:center;gap:16px;display:flex}.h1{margin:0 0 6px;font-size:22px}.h2{margin:0 0 10px;font-size:16px}.muted{color:#6b7280;margin-top:0}.field{flex-direction:column;gap:6px;display:flex}.label{color:#6b7280;font-size:12px}.help{color:#6b7280;align-items:center;gap:8px;font-size:12px;display:flex}.dot{opacity:.6}.btn{color:#fff;cursor:pointer;background:#111827;border:1px solid #d1d5db;border-radius:10px;padding:10px 14px;font-weight:600}.btn:disabled{opacity:.5;cursor:not-allowed}.progress{background:#e5e7eb;border-radius:999px;height:14px;position:relative;overflow:hidden}.progress-bar{background:#111827;height:100%}.progress-label{color:#6b7280;margin-top:6px;font-size:12px}.badge{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.badge.processing{color:#374151;background:#f3f4f6;border:1px solid #e5e7eb}.badge.good{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.badge.bad{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.alert{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:10px 12px}.mono{color:#374151;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.pre{white-space:pre-wrap;color:#f9fafb;background:#111827;border-radius:10px;padding:12px;font-size:12px;overflow-x:auto}.spacer{height:10px}
