:root{--border-color:#d9d9d9;--bg:#fff;--bg-muted:#f7f7f7;--text:#1a1a1a;--text-muted:#6b6b6b;--accent:#2563eb;--danger:#d92d20;--ok:#15803d;--warn:#c2410c;--font-family:-apple-system, "Segoe UI", "Malgun Gothic", "Apple SD Gothic Neo", Roboto, "Helvetica Neue", Arial, sans-serif}[data-theme=dark]{--border-color:#5b6982;--bg:#3a4457;--bg-muted:#4a566d;--text:#e8ecf3;--text-muted:#b0bacb;--accent:#7ea6e0;--danger:#ff8a80;--ok:#6fcf8f;--warn:#f2a65a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-family);background:var(--bg);color:var(--text);margin:0;font-size:14px}.title{font-size:18px;font-weight:500}.section-title{font-size:15px;font-weight:500}.label,.hint-text{color:var(--text-muted);font-size:13px}.caption{color:var(--text-muted);font-size:12px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-weight:500}th,td{border-bottom:.5px solid var(--border-color);padding:10px 12px}td.nowrap,th{white-space:nowrap}tbody tr.click{cursor:pointer}tbody tr.click:hover{background:var(--bg-muted)}input,select,textarea,button{font-family:inherit;font-size:14px}button{cursor:pointer;border:.5px solid var(--border-color);background:var(--bg);color:var(--text);padding:8px 14px;font-size:13px}button:hover{background:var(--bg-muted)}button:disabled{cursor:not-allowed;opacity:.5}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger)}button.link{background:0 0;border:0;padding:8px 6px}input:not([type=radio]):not([type=checkbox]):not([type=file]),select,textarea{border:.5px solid var(--border-color);background:var(--bg);color:var(--text);padding:8px 10px}textarea{resize:vertical;width:100%;line-height:1.5}.bordered{border:.5px solid var(--border-color)}.error-text{color:var(--danger);font-size:13px}.hidden{display:none!important}header.topbar{align-items:center;gap:16px;height:50px;padding:10px 20px;display:flex}header.topbar nav{gap:4px;margin-left:auto;display:flex}.menu-btn{background:0 0;border:0;padding:6px 8px;font-size:18px;display:none}.shell{min-height:calc(100vh - 50px);display:flex}.side{border-top:0;flex-direction:column;flex-shrink:0;gap:8px;width:200px;padding:12px;display:flex}.side button{text-align:left;width:100%}.side button.on{background:var(--accent);border-color:var(--accent);color:#fff}.side .grp{color:var(--text-muted);padding:4px 2px 0;font-size:12px}main.content{flex:1;min-width:0;padding:24px}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-head .sp{margin-left:auto}.scrim{display:none}.st{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.st:before{content:"";background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.st.proc{color:var(--accent)}.st.proc:before{background:var(--accent);animation:1s infinite blink}.st.done{color:var(--ok)}.st.done:before{background:var(--ok)}.st.fail{color:var(--danger)}.st.fail:before{background:var(--danger)}.st.stale{color:var(--warn)}.st.stale:before{background:var(--warn)}@keyframes blink{50%{opacity:.3}}.chip{border:.5px solid var(--border-color);color:var(--text-muted);padding:2px 8px;font-size:12px}.cards{gap:10px;display:none}.card{cursor:pointer;flex-direction:column;gap:8px;padding:14px;display:flex}.card .row{align-items:center;gap:8px;display:flex}.card .row .sp{margin-left:auto}.empty{text-align:center;color:var(--text-muted);padding:48px 16px}.sec{margin-bottom:16px;padding:20px}.sec h3{align-items:center;gap:10px;margin:0 0 14px;font-size:15px;font-weight:500;display:flex}.sec h3 .num{border:.5px solid var(--accent);width:22px;height:22px;color:var(--accent);justify-content:center;align-items:center;font-size:12px;display:inline-flex}.field-grid{grid-template-columns:110px 1fr;align-items:center;gap:12px 16px;max-width:720px;display:grid}.field-grid input:not([type=radio]):not([type=checkbox]),.field-grid select{width:100%;height:36px}.radios{flex-wrap:wrap;gap:18px;display:flex}.radios label{cursor:pointer;align-items:center;gap:6px;display:flex}.opt{flex-direction:column;gap:10px;display:flex}.opt label{border:.5px solid var(--border-color);cursor:pointer;align-items:flex-start;gap:10px;padding:12px;display:flex}.opt label.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}.opt label.off{opacity:.55;cursor:not-allowed}.opt b{font-weight:500}.grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;display:grid}.th{border:.5px solid var(--border-color);background:var(--bg-muted);aspect-ratio:1/1.414;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:manipulation;position:relative;overflow:hidden}.locked .th{cursor:default}.th img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.th .n{background:var(--accent);color:#fff;padding:2px 7px;font-size:12px;position:absolute;top:0;left:0}.th .x{color:#fff;background:#0000008c;border:0;padding:2px 8px;font-size:13px;position:absolute;top:0;right:0}.th .ok{background:var(--ok);color:#fff;padding:1px 6px;font-size:11px;position:absolute;bottom:4px;right:4px}.th .bar{background:#00000026;height:4px;position:absolute;bottom:0;left:0;right:0}.th .bar i{background:var(--accent);height:100%;display:block}.th .err{background:var(--danger);color:#fff;padding:3px 6px;font-size:11px;position:absolute;inset:auto 0 0}.th.ghost{opacity:.35}.th.chosen{outline:2px solid var(--accent)}.add{border:.5px dashed var(--border-color);aspect-ratio:1/1.414;cursor:pointer;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.add:hover{background:var(--bg-muted)}.prog{background:var(--bg-muted);border:.5px solid var(--border-color);height:8px;margin:10px 0}.prog i{background:var(--accent);height:100%;transition:width .4s;display:block}.steps{color:var(--text-muted);flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.steps span{border:.5px solid var(--border-color);padding:3px 8px}.steps span.on{color:var(--accent);border-color:var(--accent)}.steps span.fin{color:var(--ok);border-color:var(--ok)}.result{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.pdf-icon{width:44px;height:56px;color:var(--danger);justify-content:center;align-items:flex-end;padding-bottom:6px;font-size:11px;font-weight:500;display:flex}.lb{z-index:50;background:#0f141ef0;flex-direction:column;display:flex;position:fixed;inset:0}.lb-top{color:#fff;align-items:center;gap:10px;padding:10px 14px;display:flex}.lb-top button{color:#fff;background:0 0;border-color:#fff6}.lb-top button.on{color:#111;background:#fff}.lb-top .sp{margin-left:auto}.lb-body{flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:auto}.lb-body img{object-fit:contain;background:#fff;max-width:100%;max-height:100%}.lb-nav{color:#fff;background:#ffffff1f;border:0;padding:14px 12px;font-size:22px;position:absolute;top:50%;transform:translateY(-50%)}.lb-nav.l{left:8px}.lb-nav.r{right:8px}.modal-bg{z-index:60;background:#00000059;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--bg);width:100%;max-width:380px;padding:22px}.modal p{white-space:pre-line;margin:0 0 18px;line-height:1.6}.modal .acts{justify-content:flex-end;gap:8px;display:flex}.toast{background:var(--text);color:var(--bg);z-index:70;padding:10px 16px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.split{align-items:flex-start;gap:16px;display:flex}.split .list{flex-direction:column;flex-shrink:0;gap:4px;width:200px;padding:8px;display:flex}.split .list button{text-align:left;white-space:nowrap;border-color:#0000;flex-shrink:0;align-items:center;gap:8px;display:flex}.split .list button.on{border-color:var(--accent);color:var(--accent)}.split .list .h{cursor:grab;color:var(--text-muted)}.split .ed{flex-direction:column;flex:1;gap:14px;min-width:0;padding:20px;display:flex}.dot{background:var(--ok);border-radius:50%;width:7px;height:7px;margin-left:auto}.dot.off{background:var(--border-color)}details{border-bottom:.5px solid var(--border-color)}details summary{cursor:pointer;flex-wrap:wrap;gap:12px;padding:10px 12px;font-size:13px;display:flex}details .body{padding:4px 12px 14px;font-size:13px;line-height:1.7}pre{white-space:pre-wrap;background:var(--bg-muted);margin:6px 0;padding:10px;font-family:inherit;font-size:12px}.login{max-width:340px;margin:12vh auto;padding:28px}.login form{flex-direction:column;gap:12px;display:flex}.login .title{text-align:center;margin-bottom:8px}@media (pointer:coarse){button,input:not([type=radio]):not([type=checkbox]),select{min-height:44px}input[type=radio],input[type=checkbox]{width:20px;height:20px}.th .x{padding:6px 12px;font-size:15px}}@media (width<=1023px){header.topbar{gap:8px;padding:10px 12px}.menu-btn{display:block}.side{z-index:40;background:var(--bg);width:260px;padding-top:20px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.side.open{transform:none}.scrim.show{z-index:39;background:#0000004d;display:block;position:fixed;inset:0}main.content{padding:20px}.tablewrap{display:none}.cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}@media (width<=599px){header.topbar nav button{padding:8px}main.content{padding:16px}.cards{grid-template-columns:1fr}.grid{grid-template-columns:repeat(3,1fr);gap:8px}.field-grid{gap:6px;grid-template-columns:1fr!important}.sec{padding:16px}.split{flex-direction:column}.split .list{flex-direction:row;width:100%;overflow-x:auto}.split .ed{width:100%}.lb-nav{display:none}}
