:root{--bg: #0d1117;--panel: #161b22;--panel-2: #1c2330;--border: #232a33;--text: #e7edf3;--muted: #9aa7b4;--accent: #2d7ff0;--accent-2: #1f6feb;--green: #3ba55d;--red: #ed4245;--yellow: #faa61a;--orange: #db6d28;--radius: 10px}:root{--sp-2:2px;--sp-4:4px;--sp-6:6px;--sp-8:8px;--sp-10:10px;--sp-12:12px;--sp-14:14px;--sp-16:16px;--sp-22:22px;--sp-26:26px;--ctl-h: 28px;--ctl-h-sm: 24px;--ctl-pad-x: 12px;--ctl-gap: 6px;--ctl-lh: 20px;--icon-size: 16px;--check-size: 16px;--badge-h: 20px;--page-pad-x: 26px;--page-pad-y: 22px;--nav-w: 220px;--head-h: 36px;--row-h: 36px;--cell-pad-x: 12px;--mono: ui-monospace, SFMono-Regular, Menlo, monospace;--row-stripe: color-mix(in srgb, var(--text) 2.2%, var(--panel));--row-hover: color-mix(in srgb, var(--accent) 24%, var(--panel));--row-selected: color-mix(in srgb, var(--accent) 16%, var(--panel));--row-selected-hover: color-mix(in srgb, var(--accent) 24%, var(--panel));--r-sm:6px;--r-md:8px;--r-pill:999px;--fs-11:11px;--lh-11:16px;--fs-12:12px;--lh-12:16px;--fs-13:13px;--lh-13:18px;--fs-14:14px;--lh-14:20px;--fs-16:16px;--lh-16:24px;--fs-20:20px;--lh-20:28px;--fs-28:28px;--lh-28:32px;--z-sticky:100;--z-popover:200;--z-backdrop:300;--z-menu:400;--z-modal:410;--z-toast:450;--z-tooltip:500}:root[data-density=large]{--ctl-h:36px;--ctl-h-sm:28px;--row-h:44px;--cell-pad-x:16px;--ctl-gap:8px}:root[data-density=medium]{--ctl-h:28px;--ctl-h-sm:24px;--row-h:36px;--cell-pad-x:12px;--ctl-gap:6px}:root[data-density=compact]{--ctl-h:24px;--ctl-h-sm:24px;--row-h:28px;--cell-pad-x:8px;--ctl-gap:4px;--ctl-pad-x:8px;--badge-h:18px}:root[data-theme=light]{--bg: #f6f8fa;--panel: #ffffff;--panel-2: #eaeef2;--border: #d0d7de;--text: #1f2328;--muted: #59636e;--accent: #2d7ff0;--accent-2: #1f6feb;--green: #1a7f37;--red: #cf222e;--yellow: #9a6700;--orange: #bc4c00}:root[data-theme=light] .badge.gray{background:#eaeef2;color:var(--muted)}:root[data-theme=light] .badge.green{background:#dafbe1;color:#116329}:root[data-theme=light] .badge.red{background:#ffebe9;color:#a40e26}:root[data-theme=light] .badge.yellow{background:#fff8c5;color:#7d4e00}:root[data-theme=light] .badge.orange{background:#fff1e5;color:#953800}:root[data-theme=light] .badge.blue{background:#ddf4ff;color:#0969da}:root[data-theme=light] button.primary{color:#fff}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:7px 13px;border-radius:8px;transition:background-color .1s,border-color .1s,color .1s,box-shadow .1s,opacity .1s}button:hover{border-color:var(--accent)}:where(button,.icon-btn,a[role=button]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}td :focus-visible,.table-wrap :focus-visible{outline-offset:-2px}.u-num{display:inline-block;min-inline-size:2ch;text-align:right;font-variant-numeric:tabular-nums}.swap{display:inline-grid;grid-template-areas:"s";align-items:center;justify-items:start}.swap>*{grid-area:s}.swap>[hidden]{display:block;visibility:hidden}button.primary{background:var(--accent-2);border-color:var(--accent-2);color:#fff}button.primary:hover{background:var(--accent)}button.danger{color:var(--red);border-color:#3a2226}button.danger:hover{background:#3a2226}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}label{display:block;font-size:12px;color:var(--muted);margin:10px 0 4px}:root{color-scheme:dark}:root[data-theme=light]{color-scheme:light}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:30px;cursor:pointer;background-color:var(--bg);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='%239aa7b4' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 9px center;background-size:12px}:root[data-theme=light] select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='%2359636e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/></svg>")}select:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}select::-ms-expand{display:none}select option{background:var(--panel);color:var(--text)}.sel-ctl{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;font:inherit;font-size:13px;color:var(--text);text-align:left;white-space:nowrap;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 8px 6px 10px;min-height:var(--ctl-h);width:auto;cursor:pointer}.sel-ctl:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.sel-ctl:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.sel-ctl:disabled{opacity:.5;cursor:not-allowed}.sel-val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-arrow{opacity:.55;font-size:11px;flex:none}.sel-pop{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px #00000059;overflow-y:auto;overflow-x:hidden;z-index:5000;padding:4px}.sel-opt{padding:6px 10px;border-radius:6px;cursor:pointer;font-size:13px;white-space:nowrap;color:var(--text);overflow:hidden;text-overflow:ellipsis}.sel-opt.is-hi{background:color-mix(in srgb,var(--accent) 16%,transparent)}.sel-opt.is-sel{font-weight:600}.sel-opt.is-sel:after{content:" ✓";color:var(--accent)}.sel-opt.is-dis{opacity:.45;cursor:not-allowed}@supports (overflow: clip){html,body{overflow-x:clip}}@supports not (overflow: clip){html,body{overflow-x:hidden}}.layout-v{display:flex;flex-direction:column;height:100vh;height:calc(100dvh / var(--zoom, 1));overflow:clip}.topstrip{display:flex;align-items:center;gap:12px;padding:5px 12px;background:var(--panel);border-bottom:1px solid var(--border)}.topstrip .spacer{flex:1}.topstrip-user{display:flex;align-items:center;gap:8px;font-size:13px}.topstrip-user .tu-name{font-weight:600}.topstrip-user .tu-sep{color:var(--muted)}.topstrip-user .tu-link{font-size:13px;padding:2px 8px;color:var(--muted);border-radius:6px}.topstrip-user .tu-link:hover{color:var(--text);background:var(--panel-2)}.topstrip-user .tu-btn{border:none;background:none;cursor:pointer}.icon-btn{padding:5px 9px;font-size:14px;line-height:1}.ui-controls{display:flex;gap:6px;align-items:center}.ui-controls .scale-val{font-size:12px;color:var(--muted);min-width:40px;text-align:center}.layout{display:grid;grid-template-columns:220px 1fr;grid-template-rows:minmax(0,1fr);flex:1;min-height:0;transition:grid-template-columns .15s ease}.layout.nav-collapsed{grid-template-columns:0 1fr}.layout.nav-collapsed .sidebar{padding:0;overflow:hidden;border-right:none}.sidebar{background:var(--panel);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;overflow-y:auto}.brand{font-weight:700;font-size:18px;padding:6px 10px 16px}.brand span{color:var(--accent)}.nav a{display:flex;justify-content:space-between;padding:9px 12px;border-radius:8px;color:var(--muted);margin-bottom:2px}.nav a:hover,.nav a.active{background:var(--panel-2);color:var(--text)}.nav .count{font-size:12px;color:var(--muted)}.sidebar .spacer{flex:1}.userbox{border-top:1px solid var(--border);padding-top:12px;font-size:13px;color:var(--muted)}.main{overflow:auto;padding:22px 26px;min-height:0;min-width:0;scrollbar-gutter:stable}.head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px;flex-wrap:wrap}.head h1{font-size:20px;margin:0}.toolbar{display:flex;flex-wrap:wrap;gap:var(--sp-8);align-items:center}.toolbar input,.toolbar select{width:auto}.toolbar:has(.tb-row){flex-direction:column;flex-wrap:nowrap;align-items:stretch}.tb-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ctl-gap);min-width:0}.tb-row>input:not([type=checkbox]){flex:0 1 260px;min-width:120px}.tb-extra{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ctl-gap);min-width:0}.tb-extra .tb-reset{margin-inline-start:auto}.toolbar>*,.toolbar button,.toolbar input,.toolbar select,.toolbar label,.bulk-bar>*,.bulk-bar button,.bulk-bar input,.bulk-bar select{min-height:var(--ctl-h);margin:0;box-sizing:border-box}.toolbar button,.toolbar label,.field-inline,.check-row{display:inline-flex;align-items:center;gap:var(--sp-4)}.toolbar label,.toolbar button,.toolbar select{flex:none;white-space:nowrap}.toolbar .tb-more-toggle{display:none}.toolbar button{padding-block:0;padding-inline:var(--ctl-pad-x);font-size:var(--fs-13);line-height:1.25;white-space:nowrap}.toolbar input,.toolbar select{padding-block:0;padding-inline:var(--sp-10);font-size:var(--fs-13);width:auto}.toolbar select{block-size:var(--ctl-h);padding-right:28px}.toolbar input[type=checkbox]{min-height:0;inline-size:var(--check-size);block-size:var(--check-size);margin:0;accent-color:var(--accent)}.field-inline{flex:none;white-space:nowrap;min-height:var(--ctl-h);margin:0;line-height:var(--ctl-lh)}.check-row{flex:none;white-space:nowrap;min-height:var(--ctl-h);cursor:pointer;gap:var(--sp-6)}.emo{display:inline-grid;place-items:center;flex:none;inline-size:var(--icon-size);block-size:var(--icon-size);font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:calc(var(--icon-size) * .78);font-style:normal;font-weight:400;line-height:1;-webkit-user-select:none;user-select:none}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}table{border-collapse:collapse;width:100%;font-size:13px}.col-grid{table-layout:fixed}.col-grid td,.col-grid th{word-break:break-word;overflow-wrap:anywhere;white-space:normal}.col-grid th{position:sticky;top:0}.col-grid th .col-resize{position:absolute;top:0;right:0;width:7px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none}.col-grid th .col-resize:hover{background:var(--accent, #3b82f6);opacity:.5}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);white-space:nowrap}th{background:var(--panel);color:var(--muted);font-weight:600;position:sticky;top:0}table:not(.mgmt) tr:hover td{background:var(--panel)}tr.row-pick{cursor:pointer}tr.row-pick:hover td{background:var(--panel-2)}td.mono,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid transparent}.badge.gray{background:#21262d;color:var(--muted)}.badge.green{background:#12331c;color:var(--green)}.badge.red{background:#3a1d1f;color:var(--red)}.badge.yellow{background:#3a2f12;color:var(--yellow)}.badge.orange{background:#3a2814;color:var(--orange)}.badge.blue{background:#10243e;color:var(--accent)}.secret{color:var(--muted);font-family:ui-monospace,monospace}.reveal-btn{padding:2px 8px;font-size:11px}.reveal-btn.rb-off{opacity:.35;cursor:not-allowed;filter:grayscale(1)}.reveal-btn.rb-off:hover{opacity:.6}.bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ctl-gap);row-gap:var(--ctl-gap)}.bulk-bar>span{display:inline-flex;align-items:center;gap:var(--sp-6)}.bulk-bar .reveal-btn{min-height:var(--ctl-h);padding-inline:var(--sp-10);font-size:var(--fs-12)}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);background:var(--panel);color:var(--text);border:1px solid var(--border);padding:5px 9px;border-radius:8px;font-size:12px;line-height:1.3;white-space:normal;width:max-content;max-width:220px;text-align:center;box-shadow:0 8px 22px #00000052;z-index:200;pointer-events:none;animation:tipIn .12s ease-out}[data-tip]:hover:before{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);transform:translate(-50%);border:5px solid transparent;border-top-color:var(--border);z-index:200;pointer-events:none}@keyframes tipIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%)}}[data-tip]:active:after,[data-tip]:active:before{display:none}.cc-gear-btn.on:hover:after,.cc-gear-btn.on:hover:before{display:none}.tag{display:inline-block;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:1px 6px;margin:0 3px 3px 0;font-size:11px}.grid{display:grid;gap:14px}.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card .num{font-size:28px;font-weight:700}.card .lbl{color:var(--muted);font-size:13px;margin-top:2px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:flex-end;z-index:50}.drawer{width:min(560px,100%);height:100%;background:var(--panel);border-left:1px solid var(--border);padding:20px 22px;overflow:auto}.modal-center{align-items:center;justify-content:center}.cat-tbl{width:max-content;min-width:100%}.cat-tbl td,.cat-tbl th{vertical-align:top;padding:6px 8px;white-space:nowrap}.cat-tbl input,.cat-tbl textarea,.cat-tbl select{width:100%}.cat-tbl td:nth-child(3),.cat-tbl td:nth-child(4),.cat-tbl td:nth-child(5){min-width:220px}.cat-cell{display:flex;gap:4px;align-items:flex-start}.cat-cell>input,.cat-cell>textarea{flex:1 1 auto}.cd-arrow{padding:0 5px;align-self:flex-start}.cat-thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);font-size:18px}.cat-thumb-x{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;border:none;background:var(--red);color:#fff;font-size:9px;cursor:pointer;line-height:1;padding:0}.cat-add-media{width:40px;height:40px;border:1px dashed var(--border);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);font-size:18px}.cat-add-media:hover{border-color:var(--accent);color:var(--text)}.modal{width:min(760px,100%);max-height:88vh;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.drawer h2,.modal h2{margin:0 0 14px;font-size:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid .full{grid-column:1 / -1}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.login-wrap{display:grid;place-items:center;height:100vh}.login-card{width:340px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px}.login-card h1{margin:0 0 4px;font-size:22px}.login-card .sub{color:var(--muted);margin-bottom:18px;font-size:13px}.err{color:var(--red);font-size:13px;margin-top:10px}.ok{color:var(--green);font-size:13px;margin-top:10px}.muted{color:var(--muted)}.center{text-align:center}.row-actions{display:flex;gap:6px}.pill-row{display:flex;gap:6px;flex-wrap:wrap}.proxy-pop{position:absolute;top:100%;left:0;margin-top:6px;z-index:60;width:340px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 28px #00000059;padding:10px}.proxy-pop .pop-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.proxy-pop .pop-list{max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:2px}.proxy-pop .pop-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;margin:0;cursor:pointer}.proxy-pop .pop-row:hover{background:var(--panel-2)}.proxy-pop .pop-foot{display:flex;gap:14px;align-items:center;margin:8px 2px;font-size:12px;color:var(--muted)}.proxy-pop .pop-actions{display:flex;justify-content:flex-end;gap:8px}table.mgmt{--cell-pad-y: calc((var(--row-h) - var(--lh-13) - 1px) / 2)}table.mgmt th,table.mgmt td{padding:var(--cell-pad-y) var(--cell-pad-x)}table.mgmt td{white-space:normal;vertical-align:top}table.mgmt .mgmt-soc{min-width:160px}.card-chip{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px 6px;border:1px solid var(--border);border-radius:8px;margin-bottom:4px;background:var(--panel-2)}.card-chip .cc-name{font-weight:600}.card-chip .cc-num{font-size:12px;color:var(--muted)}.card-chip .cc-brand{font-size:10px;font-weight:700;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:0 4px}.card-chip .cc-bal{font-size:12px;margin-left:2px}.card-chip.cc-external{border-style:dashed}.card-chip.cc-external .cc-num{font-style:italic}.card-chip.cc-external .cc-fb{min-width:84px;text-align:center}.card-chip .cc-actions{display:inline-flex;gap:2px}.card-chip .cc-actions .reveal-btn{padding:1px 5px}.cc-row{display:flex;align-items:center;gap:6px;margin-bottom:3px}.cc-row .card-chip{margin-bottom:0;padding:1px 8px;gap:5px;flex-wrap:wrap}.cc-row .card-chip>*{flex:0 0 auto;white-space:nowrap}.cc-row .card-chip>.badge{text-align:center}.cc-row .card-chip .cc-fb{min-width:84px}.cc-row .card-chip .cc-ac{min-width:52px}.cc-star{color:#f0b400;font-size:13px;line-height:1;cursor:default}.cc-star-on{color:#f0b400}.cc-dismiss{border:none;background:none;color:var(--red);cursor:pointer;font-size:13px;line-height:1;padding:0 2px;opacity:.7}.cc-dismiss:hover{opacity:1}.cc-prog-wrap{display:inline-flex;align-items:center;gap:6px;min-width:92px}.cc-prog{flex:1 1 auto;height:7px;min-width:56px;background:var(--panel);border:1px solid var(--border);border-radius:999px;overflow:hidden}.cc-prog-fill{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .4s ease}.cc-prog-indet{display:block;height:100%;width:38%;border-radius:999px;background:var(--accent);animation:cc-indet 1s ease-in-out infinite;will-change:transform}@keyframes cc-indet{0%{transform:translate(-110%)}to{transform:translate(300%)}}@media(prefers-reduced-motion:reduce){.cc-prog-indet{animation:none;width:100%;opacity:.55}}.cc-prog-pct{font-size:11px;color:var(--muted);min-width:30px;text-align:right}.cc-gear-wrap{position:relative;display:inline-flex}.cc-gear-btn{width:22px;height:22px;padding:0;border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;transition:transform .18s ease,color .15s ease,border-color .15s ease,background .15s ease}.cc-gear-btn:hover{color:var(--text);border-color:var(--accent)}.cc-gear-btn.on{color:#fff;background:var(--accent);border-color:var(--accent);transform:rotate(90deg)}.cc-pop{position:absolute;z-index:50;top:calc(100% + 6px);left:0;right:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px #00000052;padding:6px 8px;min-width:210px;max-width:330px;transform-origin:top left;animation:ccPop .18s cubic-bezier(.2,.75,.3,1)}.cc-pop.pop-right{left:auto;right:0;transform-origin:top right}.cc-pop .cc-manage{gap:4px}@keyframes ccPop{0%{opacity:0;transform:translateY(-6px) scale(.95)}to{opacity:1;transform:none}}.attach-sel{width:auto;padding:3px 6px;font-size:12px}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg button{border:none;border-radius:0;padding:6px 12px;background:var(--panel-2);border-right:1px solid var(--border)}.seg button:last-child{border-right:none}.seg button.seg-on{background:var(--accent-2);color:#fff}.tag.hoverable{cursor:pointer}.tag.hoverable:hover{border-color:var(--accent)}.actions-menu{position:absolute;top:100%;left:0;margin-top:4px;z-index:60;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000004d;min-width:280px;display:flex;flex-direction:column;padding:4px}.actions-menu button{text-align:left;border:none;background:none;padding:8px 10px;border-radius:6px}.actions-menu button:hover:not(:disabled){background:var(--panel-2)}.tag.bm-hl{border-color:var(--accent);background:var(--accent-2);color:#fff;box-shadow:0 0 0 2px #58a6ff40}.mgmt-page{display:flex;flex-direction:column;height:100%;min-height:0;overflow:clip}.main:has(>.mgmt-page){padding:0;overflow:clip;scrollbar-gutter:auto}.main>.mgmt-page{padding:var(--page-pad-y) var(--page-pad-x) 0}.mgmt-page>.head{flex:0 0 auto;flex-wrap:wrap;align-items:center}.mgmt-page>.head>h1{flex:0 0 auto;white-space:nowrap}.mgmt-page>.bulk-bar{flex:0 0 auto}.mgmt-page>.head>.toolbar{flex:1 1 auto;min-width:0}.mgmt-page .table-wrap{flex:1 1 auto;min-height:0;overflow:auto;scrollbar-gutter:stable}table.mgmt thead th{position:sticky;top:0;z-index:3;background:var(--panel)}.mgmt-footer{flex:0 0 auto;display:flex;align-items:center;gap:var(--sp-12);flex-wrap:nowrap;margin:var(--sp-8) 0 0;padding:var(--sp-8) 0 calc(var(--sp-8) + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--border)}.mgmt-footer button,.mgmt-footer select,.mgmt-footer .mf-size{min-height:var(--ctl-h);box-sizing:border-box}.mgmt-footer .mf-page{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.mgmt-footer .mf-size{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:12px;color:var(--muted);flex:0 0 auto}.mgmt-footer .mf-size select{width:auto;padding:4px 26px 4px 8px;font-size:12px}.mgmt-footer .mf-legend{font-size:11.5px;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.mgmt tbody.grp{--z-bg: transparent}table.mgmt tbody.grp.zebra{--z-bg: rgba(255,255,255,.022)}table.mgmt tbody.grp td{background:var(--z-bg)}table.mgmt tbody.grp.is-selected td[rowspan]{background:#2d7ff029}table.mgmt tbody.grp:not(.is-selected):has(td[rowspan]:hover) td[rowspan]{background:#2d7ff03d}table.mgmt tbody.grp.is-selected:has(td:not([rowspan]):hover) td[rowspan]{background:var(--z-bg)}table.mgmt tbody.grp tr:has(td:not([rowspan]):hover) td:not([rowspan]){background:#2d7ff03d}table.mgmt tbody.grp tr.is-selected td:not([rowspan]){background:#2d7ff029}:root[data-theme=light] table.mgmt tbody.grp.zebra{--z-bg: rgba(20,24,32,.03)}:root[data-theme=light] table.mgmt tbody.grp.is-selected td[rowspan]{background:#2d7ff01f}:root[data-theme=light] table.mgmt tbody.grp:not(.is-selected):has(td[rowspan]:hover) td[rowspan]{background:#2d7ff033}:root[data-theme=light] table.mgmt tbody.grp tr:has(td:not([rowspan]):hover) td:not([rowspan]){background:#2d7ff033}:root[data-theme=light] table.mgmt tbody.grp tr.is-selected td:not([rowspan]){background:#2d7ff01f}.mgmt-progress{position:relative;height:4px;border-radius:3px;overflow:hidden;background:color-mix(in srgb,var(--accent, #3b82f6) 18%,transparent)}.mgmt-progress-fill{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent, #3b82f6),color-mix(in srgb,var(--accent, #3b82f6) 55%,#22c55e));transition:width .5s ease}.mgmt-progress.indet:before{content:"";position:absolute;top:0;bottom:0;left:-40%;width:40%;border-radius:3px;background:var(--accent, #3b82f6);animation:mgmt-prog 1.05s ease-in-out infinite}@keyframes mgmt-prog{0%{left:-40%}to{left:100%}}@media(prefers-reduced-motion:reduce){.mgmt-progress.indet:before{animation-duration:2.4s}}.mgmt-progress-step{font-size:10.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgmt-progress.ok{background:color-mix(in srgb,#16a34a 20%,transparent)}.mgmt-progress.ok .mgmt-progress-fill{background:#16a34a;transition:none}.mgmt-progress.partial{background:color-mix(in srgb,#f59e0b 22%,transparent)}.mgmt-progress.partial .mgmt-progress-fill{background:#f59e0b;transition:none}.mgmt-progress.fail{background:color-mix(in srgb,#e5484d 22%,transparent)}.mgmt-progress.fail .mgmt-progress-fill{background:#e5484d;transition:none}.mgmt-progress-step.okc{color:#16a34a}.mgmt-progress-step.warn{color:#d97706;white-space:normal;line-height:1.3}.mgmt-progress-step.err{color:#e5484d;white-space:normal;line-height:1.3}.mip{display:inline-flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0;min-height:var(--ctl-h);padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);font-size:12px;white-space:nowrap}.mip-txt{overflow:hidden;text-overflow:ellipsis}.mip-bar{flex:0 0 70px;height:5px;border-radius:4px;overflow:hidden;background:color-mix(in srgb,var(--text) 12%,transparent)}.mip-bar>span{display:block;height:100%;background:linear-gradient(90deg,#16a34a,#22c55e);transition:width .6s ease}.mip-stop{flex:none;border:none;background:transparent;color:#e5484d;font-size:11px;cursor:pointer;padding:0 2px}.mip-stop:disabled{opacity:.5;cursor:not-allowed}.nav-backdrop{display:none}@media(max-width:768px){.layout,.layout.nav-collapsed{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(80vw,260px);z-index:60;transform:translate(0);transition:transform .2s ease;overflow-y:auto;box-shadow:2px 0 16px #00000059;padding:14px 12px}.layout.nav-collapsed .sidebar{transform:translate(-100%);padding:14px 12px;overflow-y:auto;border-right:1px solid var(--border)}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:55}.nav a{padding:12px}.main{padding:12px 10px}.main>.mgmt-page{padding:12px 10px 0}.topstrip{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:6px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.topstrip::-webkit-scrollbar{display:none}.topstrip>*{flex:0 0 auto}.topstrip .spacer{flex:0 0 4px}.topstrip-user{flex-wrap:nowrap;gap:6px 8px;font-size:12px}.form-grid{grid-template-columns:1fr}.overlay{align-items:flex-end;justify-content:center}.modal,.drawer{width:100%;max-width:100%;max-height:90vh;border-radius:14px 14px 0 0}.actions{flex-wrap:wrap}.actions-menu{min-width:240px}.toolbar{gap:6px}.toolbar input:not([type=checkbox]),.toolbar select{width:100%;flex:1 1 140px}.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr))}button,.btn{min-height:38px}input,select,textarea{font-size:16px}.table-wrap{-webkit-overflow-scrolling:touch}table{font-size:12px}.mgmt-footer{margin:var(--sp-8) 0 0;padding:var(--sp-8) 0;gap:var(--sp-8)}.mgmt-footer .mf-legend{display:none}.mgmt-page>.head{margin-bottom:8px;gap:8px}.mgmt-page .head h1{font-size:16px}.mgmt-page .head h1 span{font-size:12px}.mgmt-page .toolbar{gap:6px 6px;row-gap:6px;flex-wrap:wrap}.mgmt-page>.head>.toolbar{flex-wrap:wrap}.mgmt-page>.head>.toolbar>input{flex:1 1 160px;min-width:0}.mgmt-page .toolbar input:not([type=checkbox]){width:auto;flex:1 1 160px;min-width:0}.mgmt-page button,.mgmt-page .btn{min-height:34px}.toolbar .tb-more-toggle{display:inline-flex;align-items:center}.tb-extra{display:none}.tb-extra.open{display:flex;flex-wrap:wrap;gap:8px;flex-basis:100%;padding:8px;margin-top:2px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2, var(--panel))}.tb-extra.open>label{font-size:13px}.tb-extra.open select{width:auto;flex:0 1 auto;font-size:13px}}
