@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap");:root{--paper:#FAFAF7;--surface:#FFFFFF;--surface-2:#F4F3EE;--surface-3:#EBEAE3;--border:#E5E3DB;--border-2:#D7D4CA;--ink:#1B1D1A;--ink-2:#45483F;--muted:#71746B;--faint:#9B9D93;--brand:#1C4E5A;--brand-hover:#163F49;--brand-deep:#0F2E36;--brand-tint:rgba(28,78,90,0.08);--brand-tint-2:rgba(28,78,90,0.14);--ring:rgba(28,78,90,0.30);--st-neutral:#5C6066;--st-neutral-bg:#5c606620;--st-info:#2C6E9B;--st-info-bg:#2c6e9b1f;--st-wait:#9A6612;--st-wait-bg:#9a661226;--st-done:#2E7D52;--st-done-bg:#2e7d5222;--st-stop:#AC4338;--st-stop-bg:#ac433820;--fs-2xs:10.5px;--fs-xs:11.5px;--fs-sm:12.5px;--fs:13.5px;--fs-md:15px;--fs-lg:17px;--fs-xl:21px;--fs-2xl:27px;--f-display:"Inter",system-ui,-apple-system,sans-serif;--f-sans:"Inter",system-ui,-apple-system,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--r-sm:4px;--r:6px;--r-lg:9px;--r-pill:999px;--shadow-pop:0 1px 2px rgba(20,22,18,0.06),0 8px 24px -8px rgba(20,22,18,0.18);--shadow-soft:0 1px 2px rgba(20,22,18,0.04);--sidebar-w:252px;--topbar-h:56px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--f-sans);font-size:var(--fs);line-height:1.45;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--brand-tint-2)}h1,h2,h3,h4,p{margin:0}button{font-family:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.mono{font-family:var(--f-mono);font-feature-settings:"tnum" 1}.display,.mono{letter-spacing:-.01em}.display{font-family:var(--f-display)}.tnum{font-variant-numeric:tabular-nums}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;overflow:hidden}.sidebar{background:var(--surface-2);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh}.sb-brand{display:flex;align-items:center;gap:10px;height:var(--topbar-h);box-sizing:border-box;padding:0 18px;border-bottom:1px solid var(--border)}.sb-mark{width:34px;height:34px;border-radius:8px;flex:none;background:var(--brand);color:#fff;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.sb-brand-tx{display:flex;flex-direction:column;line-height:1.15;min-width:0}.sb-brand-tx .nm{font-family:var(--f-display);font-weight:700;font-size:15.5px;color:var(--ink);letter-spacing:-.01em}.sb-brand-tx .sub{font-size:var(--fs-2xs);color:var(--muted);letter-spacing:.02em;white-space:nowrap}.sb-scroll{flex:1;overflow-y:auto;padding:14px 12px}.sb-section-label{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);padding:4px 10px 8px}.nav{display:flex;flex-direction:column;gap:1px}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r);color:var(--ink-2);font-size:var(--fs);font-weight:500;cursor:pointer;position:relative;transition:background .12s,color .12s}.nav-item:hover{background:var(--surface-3);color:var(--ink)}.nav-item.active{background:var(--brand);color:#fff}.nav-item.active .nav-ic{color:#fff}.nav-ic{width:17px;height:17px;color:var(--muted);flex:none}.nav-item .count,.nav-item.active .count{margin-left:auto;font-size:var(--fs-2xs);font-weight:600;background:var(--st-wait-bg);color:var(--st-wait);padding:1px 6px;border-radius:var(--r-pill);min-width:18px;text-align:center}.nav-item.active .count{background:rgba(255,255,255,.2);color:#fff}.sb-foot{border-top:1px solid var(--border);padding:10px 12px}.sb-user{display:flex;align-items:center;gap:9px;padding:4px 4px 2px}.avatar{width:30px;height:30px;border-radius:var(--r-pill);flex:none;display:grid;place-items:center;color:#fff;background:var(--brand-deep)}.avatar,.sb-user .un{font-weight:600;font-size:var(--fs-sm)}.sb-user .un{line-height:1.2}.sb-user .ur{font-size:var(--fs-2xs);color:var(--muted)}.main{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--paper)}.topbar{height:var(--topbar-h);flex:none;border-bottom:1px solid var(--border);background:rgba(250,250,247,.88);backdrop-filter:blur(8px);gap:14px;padding:0 24px;position:sticky;top:0;z-index:20}.crumbs,.topbar{display:flex;align-items:center}.crumbs{gap:7px;font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}.crumbs .cur{color:var(--ink);font-weight:600}.crumbs .sep{color:var(--faint)}.topbar-spacer{flex:1}.content{flex:1;overflow-y:auto}.page{max-width:1320px;margin:0 auto;padding:26px 32px 80px}.page-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px}.page-head .ttl{font-family:var(--f-display);font-weight:650;font-size:var(--fs-2xl);letter-spacing:-.02em;line-height:1.05}.page-head .sub{color:var(--muted);font-size:var(--fs);margin-top:5px}.page-head .acts{margin-left:auto;display:flex;gap:9px;align-items:center}.btn{display:inline-flex;align-items:center;gap:7px;justify-content:center;border:1px solid var(--border-2);background:var(--surface);color:var(--ink);font-size:var(--fs);font-weight:600;padding:7px 13px;border-radius:var(--r);cursor:pointer;transition:background .12s,border-color .12s,transform .04s;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(.5px)}.btn svg{width:15px;height:15px}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-hover)}.btn.ghost{border-color:transparent;background:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--surface-3)}.btn.sm{padding:4.5px 10px;font-size:var(--fs-sm)}.btn.sm svg{width:14px;height:14px}.btn.danger{color:var(--st-stop);border-color:var(--border-2)}.btn.danger:hover{background:var(--st-stop-bg);border-color:var(--st-stop)}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{display:inline-grid;place-items:center;width:31px;height:31px;border:1px solid var(--border-2);background:var(--surface);border-radius:var(--r);cursor:pointer;color:var(--ink-2);transition:.12s}.icon-btn:hover{background:var(--surface-2)}.icon-btn svg{width:16px;height:16px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);font-weight:600;line-height:1;padding:3.5px 8px 3.5px 7px;border-radius:var(--r-pill);white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;flex:none}.badge.neutral{background:var(--st-neutral-bg);color:var(--st-neutral)}.badge.neutral .dot{background:var(--st-neutral)}.badge.info{background:var(--st-info-bg);color:var(--st-info)}.badge.info .dot{background:var(--st-info)}.badge.wait{background:var(--st-wait-bg);color:var(--st-wait)}.badge.wait .dot{background:var(--st-wait)}.badge.done{background:var(--st-done-bg);color:var(--st-done)}.badge.done .dot{background:var(--st-done)}.badge.stop{background:var(--st-stop-bg);color:var(--st-stop)}.badge.stop .dot{background:var(--st-stop)}.pill-outline{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);font-weight:600;padding:3px 9px;border:1px solid var(--border-2);border-radius:var(--r-pill);color:var(--ink-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.card-pad{padding:18px 20px}.card-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}.card-head .ch-ttl{font-weight:600;font-size:var(--fs-md);font-family:var(--f-display);letter-spacing:-.01em}.card-head .ch-sub{color:var(--muted);font-size:var(--fs-sm)}.card-head .ch-act{margin-left:auto}.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:15px 17px}.metric .lab{font-size:var(--fs-sm);color:var(--muted);display:flex;align-items:center;gap:7px;white-space:nowrap}.metric .val{font-family:var(--f-display);font-weight:650;font-size:30px;letter-spacing:-.02em;margin-top:8px;line-height:1}.metric .val small{font-size:14px;color:var(--muted);font-weight:500}.tbl-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}table.tbl{width:100%;border-collapse:collapse;font-size:var(--fs)}table.tbl thead th{text-align:left;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);padding:9px 14px;border-bottom:1px solid var(--border);white-space:nowrap;user-select:none}table.tbl thead th.sortable{cursor:pointer}table.tbl thead th.sortable:hover{color:var(--ink)}table.tbl tbody td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}table.tbl tbody tr:last-child td{border-bottom:0}table.tbl tbody tr{transition:background .1s}table.tbl tbody tr.clickable{cursor:pointer}table.tbl tbody tr.clickable:hover{background:var(--surface-2)}.cell-strong{font-weight:600;color:var(--ink)}.cell-muted{color:var(--muted)}.sort-ar{display:inline-block;margin-left:4px;color:var(--brand)}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}.field .hint{font-size:var(--fs-xs);color:var(--muted)}.input,.select,.textarea{font-family:inherit;font-size:var(--fs);color:var(--ink);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r);padding:8px 11px;width:100%;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.textarea{resize:vertical;min-height:92px;line-height:1.5}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2371746B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--r);padding:2px;gap:2px}.seg button{border:0;background:transparent;cursor:pointer;padding:6px 12px;border-radius:4px;font-size:var(--fs-sm);font-weight:600;color:var(--muted);transition:.12s;white-space:nowrap}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-soft)}.seg.brand button.on{background:var(--brand);color:#fff}.check{display:flex;align-items:flex-start;gap:9px;cursor:pointer;padding:6px 8px;border-radius:var(--r);transition:background .1s}.check:hover{background:var(--surface-2)}.check input{display:none}.check .box{width:17px;height:17px;border:1.5px solid var(--border-2);border-radius:4px;flex:none;margin-top:1px;display:grid;place-items:center;background:var(--surface);transition:.12s}.check .box svg{width:12px;height:12px;color:#fff;opacity:0}.check input:checked+.box{background:var(--brand);border-color:var(--brand)}.check input:checked+.box svg{opacity:1}.check .ctx{font-size:var(--fs);line-height:1.35}.toggle{width:36px;height:21px;border-radius:999px;background:var(--border-2);position:relative;cursor:pointer;transition:background .15s;flex:none}.toggle.on{background:var(--brand)}.toggle .knob{position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}.toggle.on .knob{left:17px}.tabs{gap:2px;border-bottom:1px solid var(--border)}.tab,.tabs{display:flex}.tab{padding:10px 14px;font-size:var(--fs);font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;align-items:center;gap:7px;transition:color .12s}.tab:hover{color:var(--ink)}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.tab .tcount{font-size:var(--fs-2xs);background:var(--surface-3);color:var(--muted);padding:1px 6px;border-radius:var(--r-pill);font-weight:600}.tab.active .tcount{background:var(--brand-tint-2);color:var(--brand)}.divider{height:1px;background:var(--border);border:0;margin:0}.eyebrow{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.theme-panel{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;background:var(--surface)}.theme-panel+.theme-panel{margin-top:10px}.tp-head{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;user-select:none}.tp-head:hover{background:var(--surface-2)}.tp-title{font-weight:600;font-size:var(--fs-md);flex:1}.tp-count{font-size:var(--fs-xs);color:var(--muted)}.tp-count.has{color:var(--brand);font-weight:600}.tp-chev{color:var(--muted);transition:transform .15s;flex:none}.tp-chev.open{transform:rotate(90deg)}.tp-body{padding:4px 8px 10px;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:3px 16px}.kv{display:grid;grid-template-columns:130px 1fr;gap:4px 14px;font-size:var(--fs)}.kv dt{color:var(--muted);white-space:nowrap}.kv dd{margin:0;color:var(--ink);font-weight:500}.stack{flex-direction:column}.row,.stack{display:flex}.row{align-items:center}.muted{color:var(--muted)}.faint{color:var(--faint)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-3,.grid-4{display:grid;gap:14px}.grid-4{grid-template-columns:repeat(4,1fr)}.queue{display:flex;flex-direction:column}.queue-item{display:flex;align-items:center;gap:13px;padding:13px 18px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.queue-item:last-child{border-bottom:0}.queue-item:hover{background:var(--surface-2)}.queue-ic{width:34px;height:34px;border-radius:8px;flex:none;display:grid;place-items:center}.queue-ic svg{width:17px;height:17px}.qi-tx{flex:1;min-width:0}.qi-tx .t{font-weight:600;font-size:var(--fs-md)}.qi-tx .d,.qi-tx .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qi-tx .d{font-size:var(--fs-sm);color:var(--muted);margin-top:1px}.qi-chev{color:var(--faint)}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty .em-ic{width:40px;height:40px;margin:0 auto 12px;color:var(--st-done)}.feed-item{display:flex;gap:11px;padding:11px 18px;border-bottom:1px solid var(--border)}.feed-item:last-child{border-bottom:0}.feed-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none;background:var(--border-2)}.feed-tx{font-size:var(--fs);line-height:1.4}.feed-tx .who{font-weight:600}.feed-time{font-size:var(--fs-xs);color:var(--faint);margin-top:3px}.callout{display:flex;gap:11px;padding:12px 15px;border-radius:var(--r);font-size:var(--fs);line-height:1.45;align-items:flex-start}.callout svg{width:17px;height:17px;flex:none;margin-top:1px}.callout.info{background:var(--st-info-bg);color:#1f5476}.callout.wait{background:var(--st-wait-bg);color:#7a5210}.callout.brand{background:var(--brand-tint);color:var(--brand-deep)}.form-foot{position:sticky;bottom:0;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-top:1px solid var(--border);padding:14px 0;margin-top:26px;display:flex;align-items:center;gap:11px}.modal-bg{position:fixed;inset:0;background:rgba(20,22,18,.34);display:grid;place-items:center;z-index:100;padding:24px}.modal{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);width:100%;max-width:520px;max-height:88vh;overflow:auto}.toast-wrap{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:200;flex-direction:column;gap:8px}.toast,.toast-wrap{display:flex;align-items:center}.toast{background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--r);font-size:var(--fs);font-weight:500;box-shadow:var(--shadow-pop);gap:9px;animation:toastIn .2s ease}.toast svg{width:16px;height:16px;color:#8fdcae}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.shimmer{background:linear-gradient(100deg,var(--surface-2) 30%,var(--surface-3) 50%,var(--surface-2) 70%);background-size:200% 100%;animation:sh 1.3s infinite;border-radius:4px}@keyframes sh{0%{background-position:200% 0}to{background-position:-200% 0}}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.fade-in{animation:fadeIn .24s ease}@keyframes fadeIn{0%{transform:translateY(5px)}to{transform:translateY(0)}}.login-wrap{height:100vh;display:grid;place-items:center;background:var(--paper);position:relative}.login-card{width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:36px 34px;text-align:center;box-shadow:var(--shadow-soft)}.login-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(28,78,90,.06) 1px,transparent 0);background-size:20px 20px;pointer-events:none}.content::-webkit-scrollbar,.sb-scroll::-webkit-scrollbar{width:10px}.content::-webkit-scrollbar-thumb,.sb-scroll::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:6px;border:3px solid var(--paper)}.sb-scroll::-webkit-scrollbar-thumb{border-color:var(--surface-2)}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-sans:"Geist","Geist Fallback"}