:root{color-scheme:light;--primary:#37b5c1;--primary-hover:#2f99a3;--primary-active:#2c9099;--primary-soft:rgba(55,181,193,.12);--primary-soft-2:#e9f7f9;--secondary:#82868b;--success:#28c76f;--info:#00cfe8;--warning:#ff9f43;--danger:#ea5455;--light:#f6f6f6;--gray-token:#b8c2cc;--bg:#f8f8f8;--panel:#fff;--panel-2:#fafafc;--card:#fff;--line:#ebe9f1;--line-2:#f0eef6;--line-inp:#d8d6de;--text:#6e6b7b;--text-head:#5e5873;--text-3:#b9b9c3;--text-2:#6e6b7b;--brand:var(--primary);--brand-soft:var(--primary-soft);--brand-deep:var(--primary-hover);--teal:#00cfe8;--teal-soft:rgba(0,207,232,.12);--blue:#00cfe8;--blue-soft:rgba(0,207,232,.14);--blue-text:#0090a3;--green:#28c76f;--green-soft:rgba(40,199,111,.12);--red:#ea5455;--red-soft:rgba(234,84,85,.1);--amber:#ff9f43;--amber-soft:rgba(255,159,67,.14);--gray-soft:#f6f6f6;--side:#fff;--side-2:#f6f6f6;--side-text:#4b4b4b;--side-text-2:#6e6b7b;--side-active:#37b5c1;--r-s:5px;--r-m:6px;--r-l:8px;--sh-1:0 2px 8px rgba(34,41,47,.04);--sh-2:0 4px 24px rgba(34,41,47,.08);--sh-3:0 8px 40px rgba(34,41,47,.16);--ring:0 3px 10px 0 rgba(34,41,47,.1);--mono:"JetBrains Mono",SFMono-Regular,Consolas,"Liberation Mono",monospace}html[data-theme=dark]{color-scheme:dark;--primary:#3ec5d2;--primary-hover:#5ad4df;--primary-active:#2f99a3;--primary-soft:rgba(62,197,210,.16);--primary-soft-2:rgba(62,197,210,.09);--secondary:#8b95a3;--success:#38d27d;--info:#2fd3e8;--warning:#ffab5e;--danger:#f06a6b;--light:#1b222b;--gray-token:#4b5563;--bg:#0f1216;--panel:#161b22;--panel-2:#1a212a;--card:#161b22;--line:#242c37;--line-2:#1e252e;--line-inp:#333d4a;--text:#a7b0bd;--text-head:#e8eef5;--text-3:#6c7787;--text-2:#a7b0bd;--blue-text:#5ad4df;--green-soft:rgba(56,210,125,.15);--red-soft:rgba(240,106,107,.15);--amber-soft:rgba(255,171,94,.15);--blue-soft:rgba(47,211,232,.15);--teal-soft:rgba(47,211,232,.15);--gray-soft:#1e252e;--side:#161b22;--side-2:#1e252e;--side-text:#c2cbd6;--side-text-2:#a7b0bd;--side-active:#3ec5d2;--sh-1:0 2px 8px rgba(0,0,0,.35);--sh-2:0 4px 24px rgba(0,0,0,.38);--sh-3:0 16px 48px rgba(0,0,0,.55);--ring:0 3px 10px 0 rgba(0,0,0,.5)}html[data-theme=dark] .pill-run,html[data-theme=dark] .pill-accept{color:#5ddb92}html[data-theme=dark] .pill-expired,html[data-theme=dark] .pill-drop{color:#f19394}html[data-theme=dark] .pill-suspend{color:#f0b878}html[data-theme=dark] .pill-udp{color:#5ad4df}html[data-theme=dark] .note-warn{color:#f0b878}html[data-theme=dark] .note-info{color:#69dbe8}html[data-theme=dark] .note-danger{color:#f19394}html[data-theme=dark] .note-ok{color:#6fdd9f}html[data-theme=dark] .skel{background:linear-gradient(90deg,#1e252e 25%,#242c37 37%,#1e252e 63%);background-size:400% 100%}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:#333d4a}html[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#44505f}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 PingFang SC,HarmonyOS_Regular,-apple-system,BlinkMacSystemFont,Helvetica Neue,Segoe UI,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}.hidden{display:none!important}a{color:var(--primary);text-decoration:none;transition:color .15s}a:hover{color:var(--primary-hover)}button{font-family:inherit}svg:not([width]){width:16px;height:16px;flex:none;vertical-align:-2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line-inp);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}::-webkit-scrollbar-track{background:transparent}.btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 16px;border:1px solid var(--line-inp);border-radius:var(--r-s);background:var(--panel);color:var(--text);font-size:13.5px;font-weight:500;cursor:pointer;transition:.15s;white-space:nowrap}.btn:hover{border-color:var(--primary);color:var(--primary-hover);background:var(--primary-soft-2)}.btn:focus-visible{outline:0;box-shadow:var(--ring)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.65;cursor:not-allowed}.btn svg{width:15px;height:15px}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.btn-primary:active{background:var(--primary-active);border-color:var(--primary-active)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.btn-danger:hover{background:#d13d3e;border-color:#d13d3e;color:#fff}.btn-ghost{border-color:transparent;background:transparent;color:var(--text)}.btn-ghost:hover{background:var(--gray-soft);border-color:transparent;color:var(--primary-hover)}.btn-sm{height:30px;padding:0 11px;font-size:12.5px}.btn-lg{height:42px;padding:0 22px;font-size:14px}.btn-block{width:100%;justify-content:center}.card{background:var(--panel);border-radius:var(--r-l);box-shadow:var(--sh-2)}.card-hd{display:flex;align-items:center;gap:9px;padding:14px 18px;border-bottom:1px solid var(--line)}.card-hd>svg{width:18px;height:18px;color:var(--primary);flex:none}.card-hd h3{margin:0;font-size:15px;font-weight:600;color:var(--text-head)}.card-hd .sub{font-size:12px;color:var(--text-3)}.card-hd .right{margin-left:auto;display:flex;gap:8px;align-items:center}.card-bd{padding:16px 18px}.card-bd.tight{padding:0;overflow-x:auto}table.tbl{min-width:100%}.acc{border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:var(--panel)}.acc+.acc{margin-top:8px}.acc-hd{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;background:var(--panel-2);border:0;cursor:pointer;text-align:left;color:var(--text);font-size:13.5px;font-family:inherit}.acc-hd:hover{background:var(--gray-soft)}.acc-hd b{color:var(--text-head);font-size:14px;font-weight:600}.acc-hd>svg{width:16px;height:16px;color:var(--text-3);flex:none}.acc.open .acc-hd{background:var(--panel);border-bottom:1px solid var(--line)}.acc-bd{padding:0}.acc-bd .acc-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line-2)}@media(max-width:991.98px){.acc-hd{padding:12px}.acc-hd b{font-size:13.5px}}.pill{display:inline-flex;align-items:center;gap:5px;height:23px;padding:0 10px;border-radius:1rem;font-size:12px;font-weight:600;white-space:nowrap}.pill .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.pill-run{background:var(--green-soft);color:#1f9e5c}.pill-stop{background:var(--gray-soft);color:var(--secondary)}.pill-pending{background:var(--blue-soft);color:var(--blue-text)}.pill-suspend{background:var(--amber-soft);color:#b0620a}.pill-expired{background:var(--red-soft);color:#c94a4b}.pill-accept{background:var(--green-soft);color:#1f9e5c}.pill-drop{background:var(--red-soft);color:#c94a4b}.pill-tcp{background:#37b5c124;color:var(--primary-hover)}.pill-udp{background:var(--teal-soft);color:#008fa1}.pill-info{background:var(--primary-soft);color:var(--primary-hover)}.tag{display:inline-block;padding:2px 8px;border-radius:4px;background:var(--gray-soft);color:var(--text);font-size:12px;font-weight:500}.mono{font-family:var(--mono);font-size:12.5px}.muted{color:var(--text-3)}.small{font-size:12px}.strong{font-weight:600;color:var(--text-head)}.nowrap{white-space:nowrap}.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:8px}.grow{flex:1;min-width:0}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.grid{display:grid;gap:14px}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1199.98px){.g-4,.g-3{grid-template-columns:repeat(2,minmax(0,1fr))}}table.tbl{width:100%;border-collapse:collapse;font-size:13.5px;color:var(--text)}table.tbl th{text-align:left;padding:10px 14px;background:transparent;color:var(--text);font-weight:600;font-size:12.5px;border-bottom:2px solid var(--line);white-space:nowrap}table.tbl td{padding:11px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}table.tbl tr:last-child td{border-bottom:0}table.tbl tbody tr:hover{background:var(--gray-soft)}.empty{padding:46px 20px;text-align:center;color:var(--text-3)}.empty svg{width:40px;height:40px;opacity:.5;margin-bottom:8px;color:var(--gray-token)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>label{font-size:12.5px;color:var(--text);font-weight:600}.field .hint{font-size:11.5px;color:var(--text-3)}.field .err{font-size:11.5px;color:var(--danger)}.inp,.sel,.ta{width:100%;height:38px;padding:0 12px;border:1px solid var(--line-inp);border-radius:var(--r-s);background:var(--panel);color:var(--text-head);font-size:13.5px;font-family:inherit;outline:none;transition:.15s}.ta{height:auto;padding:9px 12px;resize:vertical;line-height:1.6}.inp:focus,.sel:focus,.ta:focus{border-color:var(--primary);box-shadow:var(--ring)}.inp::placeholder,.ta::placeholder{color:var(--text-3)}::selection{background:var(--primary-soft);color:var(--text-head)}.inp:disabled{background:var(--gray-soft);color:var(--text-3)}.sel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b9b9c3' stroke-width='3'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 11px center;padding-right:30px}.chk{display:inline-flex;align-items:flex-start;gap:7px;cursor:pointer;font-size:13px;color:var(--text)}.chk input{margin:3px 0 0;accent-color:var(--primary);width:15px;height:15px}.seg{display:inline-flex;background:var(--gray-soft);border-radius:var(--r-s);padding:2px;gap:2px}.seg button{height:28px;padding:0 13px;border:0;border-radius:4px;background:transparent;color:var(--text);font-size:12.5px;cursor:pointer;transition:.15s}.seg button.on{background:var(--panel);color:var(--primary-hover);font-weight:600;box-shadow:var(--sh-1)}.note{display:flex;gap:9px;padding:11px 13px;border-radius:var(--r-m);font-size:12.5px;line-height:1.65}.note svg{width:16px;height:16px;flex:none;margin-top:2px}.note-warn{background:var(--amber-soft);color:#8f5716}.note-info{background:#00cfe81a;color:#077c8d}.note-danger{background:var(--red-soft);color:#b03a3b}.note-ok{background:var(--green-soft);color:#157a4a}@media(max-width:768px){.card-bd.tight,.tbl-scroll{overflow-x:auto}table.tbl{min-width:900px}table.tbl th,table.tbl td{white-space:nowrap}.kv{grid-template-columns:96px 1fr}.kv .v,.kv .v>*{min-width:0}.kv .v .mono,.kv .v .small{overflow-wrap:anywhere}.card-hd{flex-wrap:wrap;row-gap:4px}.card-hd h3{white-space:nowrap}.pager{flex-wrap:wrap}}@media(max-width:575.98px){.tab{padding:8px 10px;font-size:12.5px}table.tbl th,table.tbl td{padding:8px 10px}table.tbl input[type=checkbox]{width:18px;height:18px}.page-hd .acts{width:100%}.page-hd .acts .btn{flex:1;justify-content:center}.page-hd .acts .seg{flex:1}.mask{padding:48px 12px 16px}.modal.wide{max-width:100%}.toast{max-width:92vw}.drawer{width:100%}.chart-card{padding:10px 10px 4px}.login-wrap{padding:16px}.login-card{padding:22px 18px 18px}}.page-hd{display:flex;align-items:flex-end;gap:14px;margin-bottom:16px;flex-wrap:wrap}.page-hd h2{margin:0;font-size:19px;font-weight:650;letter-spacing:-.2px;color:var(--text-head)}.page-hd .desc{font-size:12.5px;color:var(--text-3);margin-top:2px}.page-hd .acts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.kv{display:grid;grid-template-columns:132px 1fr;gap:0}.kv .k{padding:9px 0;color:var(--text-3);font-size:12.5px;border-bottom:1px solid var(--line-2)}.kv .v{padding:9px 0;font-size:13px;border-bottom:1px solid var(--line-2);display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--text-head)}.kv .k:last-of-type,.kv .v:last-child{border-bottom:0}.copy{cursor:pointer;color:var(--text-3);display:inline-grid;place-items:center;padding:2px;border-radius:4px;border:0;background:transparent}.copy:hover{color:var(--primary-hover);background:var(--primary-soft)}.copy svg{width:13px;height:13px}.secret{font-family:var(--mono);background:var(--gray-soft);padding:1px 7px;border-radius:4px;letter-spacing:.5px}#toast-host{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{display:flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 16px;box-shadow:var(--sh-3);font-size:13px;color:var(--text);animation:tin .22s ease;max-width:520px}.toast svg{width:16px;height:16px;flex:none}.toast.ok svg{color:var(--success)}.toast.err svg{color:var(--danger)}.toast.warn svg{color:var(--warning)}.toast.info svg{color:var(--info)}.toast.out{animation:tout .2s ease forwards}@keyframes tin{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes tout{to{opacity:0;transform:translateY(-8px)}}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#22292f80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:150;display:flex;align-items:flex-start;justify-content:center;padding:70px 16px 24px;overflow:auto;animation:fin .16s ease}@keyframes fin{0%{opacity:0}to{opacity:1}}.modal{background:var(--panel);border-radius:var(--r-l);box-shadow:var(--sh-3);width:100%;max-width:520px;animation:min .2s cubic-bezier(.2,.8,.3,1)}.modal.wide{max-width:760px}@keyframes min{0%{opacity:0;transform:translateY(-14px) scale(.98)}to{opacity:1;transform:none}}.modal-hd{display:flex;align-items:center;gap:10px;padding:15px 18px;border-bottom:1px solid var(--line)}.modal-hd h3{margin:0;font-size:15px;color:var(--text-head)}.modal-hd .x{margin-left:auto;width:28px;height:28px;border-radius:6px;border:0;background:transparent;cursor:pointer;color:var(--text-3);display:grid;place-items:center}.modal-hd .x svg{width:14px;height:14px}.modal-hd .x:hover{background:var(--gray-soft);color:var(--text)}.modal-bd{padding:18px}.modal-ft{display:flex;justify-content:flex-end;gap:8px;padding:13px 18px;border-top:1px solid var(--line);background:var(--panel-2);border-radius:0 0 var(--r-l) var(--r-l)}.spin{width:15px;height:15px;border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:sp .7s linear infinite;display:inline-block}@keyframes sp{to{transform:rotate(360deg)}}.loading-box{display:flex;align-items:center;justify-content:center;gap:9px;padding:50px;color:var(--text-3);font-size:13px}.skel{background:linear-gradient(90deg,#eef0f3 25%,#f6f7f9 37%,#eef0f3 63%);background-size:400% 100%;animation:sk 1.3s ease infinite;border-radius:6px}@keyframes sk{0%{background-position:100% 50%}to{background-position:0 50%}}.chip-row{display:flex;gap:6px;flex-wrap:wrap}.chip{padding:3px 9px;border:1px solid var(--line-inp);border-radius:1rem;font-size:11.5px;color:var(--text);background:var(--panel);cursor:pointer;transition:.15s}.chip:hover{border-color:var(--primary)}.chip.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-hover);font-weight:600}.os-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:10px}.os-i{border:1px solid var(--line-inp);border-radius:var(--r-m);padding:11px 12px;cursor:pointer;transition:.15s;background:var(--panel)}.os-i:hover{border-color:var(--primary)}.os-i.on{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px #37b5c126}.os-i.off{opacity:.45;cursor:not-allowed}.os-i .pill{font-size:10px;padding:1px 8px}.os-i b{display:block;font-size:13px;margin-bottom:2px;color:var(--text-head)}.os-i span{font-size:11.5px;color:var(--text-3)}.os-i.on span{color:var(--primary-hover)}.pager{display:flex;align-items:center;gap:8px;padding:11px 14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--text);flex-wrap:wrap}.divider{height:1px;background:var(--line);margin:14px 0}.side-sec{font-size:10.5px;letter-spacing:.1em;color:var(--text-3);padding:12px 10px 6px;text-transform:uppercase;font-weight:600}.nav-i{display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:8px;cursor:pointer;color:var(--side-text);font-size:13.5px;margin-bottom:2px;transition:.14s;border:0;background:transparent;width:100%;font-family:inherit;font-weight:500}.nav-i svg{width:16px;height:16px;flex:none;color:var(--secondary)}.nav-i:hover{background:var(--side-2);color:var(--primary-hover)}.nav-i:hover svg{color:var(--primary-hover)}.nav-i.on{background:var(--primary-soft);color:var(--side-active);font-weight:600}.nav-i.on svg{color:var(--side-active)}.nav-i .cnt{margin-left:auto;font-size:11px;background:var(--gray-soft);color:var(--text);padding:0 7px;border-radius:1rem;min-width:20px;text-align:center;font-weight:600}.nav-i.on .cnt{background:var(--primary);color:#fff}.nav-i.zero{opacity:.5}.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(min-width:992px){.tbl-scroll table.tbl{min-width:1060px}.tbl-scroll table.tbl td,.tbl-scroll table.tbl th{white-space:nowrap}}.w-100{width:100%}.tbl input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.admin-wrap{max-width:1320px;margin:0 auto;padding:24px 20px 64px;display:grid;grid-template-columns:228px minmax(0,1fr);gap:20px;align-items:start}.admin-wrap>*{min-width:0}.admin-main{min-width:0}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;background:var(--card,#fff);border:1px solid var(--line);border-radius:var(--r-l);margin-bottom:18px;position:sticky;top:12px;z-index:45;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-top .mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--primary),var(--info));display:grid;place-items:center;color:#fff;flex:none}.admin-top .mark svg{width:19px;height:19px}.icon-btn{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--text-3);cursor:pointer;transition:.15s}.icon-btn:hover{border-color:var(--primary);color:var(--primary-hover);background:var(--primary-soft-2)}.icon-btn:focus-visible{outline:0;box-shadow:var(--ring)}.icon-btn svg{width:16px;height:16px}.theme-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;height:34px;padding:0 11px}.theme-btn .theme-label{font-size:12.5px;font-weight:600;line-height:1;color:var(--text);white-space:nowrap}@media(max-width:991.98px){.theme-btn{padding:0 9px}}@media(max-width:575.98px){.theme-btn{width:34px;padding:0}.theme-btn .theme-label{display:none}}@media(min-width:992px){#admin-side{max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain}}html[data-theme=dark] .sticky-bar,html[data-theme=dark] .bulk-bar{box-shadow:0 -6px 18px #00000080}html[data-theme=dark] .admin-top{box-shadow:var(--sh-1)}#admin-app{min-height:100vh;min-height:100dvh}.appbar,.mnav{display:none}@media(max-width:991.98px){#admin-side,.admin-top{display:none!important}.appbar{display:flex;position:sticky;top:0;z-index:70;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top)) 14px 8px;background:var(--card,#fff);border-bottom:1px solid var(--line);box-shadow:0 2px 10px #22292f0d}html[data-theme=dark] .appbar{box-shadow:0 2px 10px #00000059}.appbar .grow{min-width:0}.appbar .grow b,.appbar .grow .small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.appbar .mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--primary),var(--info));display:grid;place-items:center;color:#fff;flex:none}.appbar .mark svg{width:19px;height:19px}.appbar b{font-size:14.5px;line-height:1.2}.appbar .btn{flex:none}.admin-wrap{grid-template-columns:minmax(0,1fr)!important;padding:14px 12px calc(78px + env(safe-area-inset-bottom))}.mnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:95;justify-content:space-around;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--card,#fff);border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.mnav::-webkit-scrollbar{display:none}.mnav button{flex:1 0 auto;min-width:56px;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:0;font-size:11px;color:var(--text-3);padding:6px 3px;border-radius:10px;cursor:pointer;position:relative;white-space:nowrap}.mnav button svg{width:19px;height:19px}.mnav button.on{color:var(--primary);background:var(--primary-soft);font-weight:600}.mnav .badge{position:absolute;top:0;right:calc(50% - 22px);min-width:16px;height:16px;border-radius:8px;background:var(--red,#e74c3c);color:#fff;font-size:10px;font-style:normal;line-height:16px;padding:0 4px;text-align:center}.admin-wrap .btn{min-height:40px}.admin-wrap .btn-sm{min-height:36px;padding:8px 14px}.admin-wrap .chip{min-height:36px;padding:8px 14px;display:inline-flex;align-items:center;font-size:13px}.admin-wrap .field>label{font-size:12.5px;margin-bottom:6px}.admin-wrap .inp,.admin-wrap .sel{min-height:42px}.admin-wrap .card{border-radius:14px}.admin-wrap .card-bd{padding:14px}.admin-wrap .card-hd h3{font-size:14.5px}.admin-wrap .page-hd h2{font-size:19px}.admin-wrap .os-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.admin-wrap .os-i{padding:12px}.admin-wrap .seg{flex-wrap:wrap}.admin-wrap .seg button{min-height:38px;padding:8px 14px}.admin-wrap .row.mt-16{flex-wrap:wrap}#ac-go{flex:1;justify-content:center}#admin-body .row.mt-16[style*="position:sticky"]{position:sticky!important;bottom:calc(84px + env(safe-area-inset-bottom));border-radius:12px;z-index:60;box-shadow:0 -6px 18px #22292f14}.sticky-bar{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));border-radius:12px;z-index:60;box-shadow:0 -6px 18px #22292f14}.admin-wrap input[type=range]{height:26px}.admin-wrap .kv{grid-template-columns:1fr;gap:2px}.admin-wrap .kv .k{font-size:11.5px}.admin-wrap .kv>div+div{padding-top:2px}.bulk-bar{position:sticky;top:calc(56px + env(safe-area-inset-top));z-index:50;background:var(--panel);border-radius:12px;box-shadow:0 2px 12px #22292f0f}.bulk-bar .row.wrap{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}.bulk-bar .row.wrap::-webkit-scrollbar{display:none}.bulk-bar .row.wrap .btn{flex:none}.bulk-bar .row.wrap .small.muted{display:none}#toast-host{top:calc(60px + env(safe-area-inset-top))}}@media(max-width:768px){.admin-wrap .grid.g-2{grid-template-columns:1fr}.admin-wrap .os-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.admin-wrap .seg{flex-wrap:wrap}.admin-wrap .card-bd{overflow-x:auto}#admin-body .page-hd{flex-wrap:wrap}#admin-body .page-hd .acts{width:100%}#ac-go{flex:1;justify-content:center}.row.mt-16{flex-wrap:wrap}.modal-bd{max-height:65dvh;overflow:auto}}@media(max-width:575.98px){.appbar .hide-xs,.appbar .pill span{display:none}.appbar .pill{padding:0 8px}.admin-wrap .grid.g-2{grid-template-columns:1fr}.admin-wrap .chip,.admin-wrap .seg button{min-height:40px}.admin-wrap .seg button{flex:1}.admin-wrap input[type=range]+label,.admin-wrap .field>label b.mono{white-space:nowrap}}
