:root{--a-font:-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","PingFang TC","Microsoft JhengHei",sans-serif;--a-mono:ui-monospace,"Cascadia Mono",SFMono-Regular,Menlo,Consolas,monospace;--a-radius:10px;--a-panel-radius:18px;--a-gap:16px;--a-row:48px;--a-ease:cubic-bezier(.2,.8,.2,1);--a-glass:light-dark(color-mix(in oklab,var(--surface) 62%,transparent),color-mix(in oklab,var(--surface) 52%,transparent));--a-glass-strong:light-dark(color-mix(in oklab,var(--surface) 80%,transparent),color-mix(in oklab,var(--surface) 78%,transparent));--a-edge:light-dark(color-mix(in oklab,var(--surface) 85%,transparent),color-mix(in oklab,var(--text) 13%,transparent));--a-shine:light-dark(var(--surface),color-mix(in oklab,var(--text) 16%,transparent));--a-blur:blur(24px) saturate(1.6);--a-shadow:0 24px 56px -28px var(--shadow-color),0 2px 8px -3px var(--shadow-color),inset 0 1px var(--a-shine);--a-hair:color-mix(in oklab,var(--line) 70%,transparent);--a-grid:color-mix(in oklab,var(--line) 55%,transparent)}*{box-sizing:border-box}html{scrollbar-color:color-mix(in oklab,var(--text-muted) 40%,transparent) transparent;accent-color:var(--accent)}body,html{margin:0}body{min-height:100vh;color:var(--text);font:15px/1.6 var(--a-font);font-feature-settings:"tnum";-webkit-font-smoothing:antialiased;background-color:var(--bg);background-image:radial-gradient(70rem 44rem at 6% -12%,color-mix(in oklab,var(--accent) 24%,transparent),transparent 68%),radial-gradient(56rem 40rem at 104% 112%,color-mix(in oklab,var(--accent-2) 20%,transparent),transparent 70%),radial-gradient(40rem 30rem at 70% 18%,color-mix(in oklab,var(--accent) 9%,transparent),transparent 70%);background-attachment:fixed}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--a-grid) 1px,transparent 1px),linear-gradient(90deg,var(--a-grid) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0,var(--text),transparent 78%);mask-image:radial-gradient(ellipse 90% 70% at 50% 0,var(--text),transparent 78%)}::selection{background:color-mix(in oklab,var(--accent) 30%,transparent)}button,input,select{font:inherit;color:inherit}input{caret-color:var(--accent)}a{color:var(--accent);text-underline-offset:3px}svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel{border:1px solid var(--a-edge);border-radius:var(--a-panel-radius);background:var(--a-glass);box-shadow:var(--a-shadow);-webkit-backdrop-filter:var(--a-blur);backdrop-filter:var(--a-blur)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:color-mix(in oklab,var(--surface) 35%,transparent);color:var(--text);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out}.btn:hover{background:var(--a-glass-strong);border-color:color-mix(in oklab,var(--accent) 45%,var(--line))}.btn:disabled{opacity:.55;cursor:default}.btn.icon{width:36px;padding:0}.btn.primary{border-color:transparent;background:var(--accent);color:var(--bg);font-weight:600;box-shadow:0 10px 22px -12px color-mix(in oklab,var(--accent) 85%,transparent),inset 0 1px color-mix(in oklab,var(--surface) 35%,transparent)}.btn.primary:hover{background:color-mix(in oklab,var(--accent) 86%,var(--text))}.btn.danger{border-color:transparent;background:var(--danger);color:var(--bg);font-weight:600}.btn.danger:hover{background:color-mix(in oklab,var(--danger) 86%,var(--text))}.link{min-height:30px;padding:0 9px;border:0;border-radius:8px;background:none;color:var(--text-muted);font-size:14px;cursor:pointer;white-space:nowrap;transition:background-color .15s ease-out,color .15s ease-out}.link:focus-visible,.link:hover{background:color-mix(in oklab,var(--accent) 13%,transparent);color:var(--accent)}.link.danger:focus-visible,.link.danger:hover{background:color-mix(in oklab,var(--danger) 12%,transparent);color:var(--danger)}.note .link{padding:0;color:var(--accent)}.note .link:hover{background:none;text-decoration:underline}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-size:14px;color:var(--text-muted)}.field input,.field select{height:42px;padding:0 14px;border:1px solid var(--line);border-radius:var(--a-radius);background:color-mix(in oklab,var(--surface) 72%,transparent);transition:border-color .15s ease-out,box-shadow .15s ease-out}.field input:hover,.field select:hover{border-color:color-mix(in oklab,var(--accent) 35%,var(--line))}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 20%,transparent)}.field input:disabled{color:var(--text-muted);background:color-mix(in oklab,var(--surface-sunken) 60%,transparent);cursor:not-allowed}fieldset.field{min-width:0;margin:0;padding:0;border:0}fieldset.field legend{margin-bottom:6px;padding:0;font-size:14px;color:var(--text-muted)}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:2px;gap:2px;padding:4px;border:1px solid var(--line);border-radius:999px;background:color-mix(in oklab,var(--surface-sunken) 70%,transparent)}.seg label{position:relative;display:grid;place-items:center;height:36px;border:1px solid transparent;border-radius:999px;color:var(--text-muted);font-size:15px;cursor:pointer;transition:background-color .18s ease-out,color .18s ease-out,border-color .18s ease-out}.seg label:hover{color:var(--text)}.seg input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.seg label:has(input:checked){border-color:color-mix(in oklab,var(--accent) 45%,transparent);background:var(--surface);color:light-dark(var(--accent),var(--text));font-weight:600;box-shadow:0 3px 10px -4px var(--shadow-color),inset 0 1px var(--a-shine)}.seg label.seg-danger:has(input:checked){border-color:color-mix(in oklab,var(--danger) 50%,transparent);color:var(--danger)}.seg label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.field input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 4px color-mix(in oklab,var(--danger) 14%,transparent)}.msg{min-height:1.6em;margin:0;font-size:14px}.msg.error{color:var(--danger)}.msg.done{color:var(--accent)}.note{margin:0;font-size:14px}.mock-bar,.note{color:var(--text-muted)}.mock-bar{position:fixed;left:16px;right:16px;bottom:18px;z-index:30;width:-moz-fit-content;width:fit-content;margin:0 auto;padding:9px 18px;border:1px solid color-mix(in oklab,var(--warn) 45%,transparent);border-radius:20px;background:var(--a-glass-strong);box-shadow:var(--a-shadow);-webkit-backdrop-filter:var(--a-blur);backdrop-filter:var(--a-blur);font-size:13.5px;line-height:1.5}.mock-bar b{display:inline-flex;align-items:center;gap:7px;margin-right:10px;color:var(--warn)}.mock-bar b:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.mock-bar code{font-family:var(--a-mono);font-size:13px;color:var(--text)}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.brand b{font-size:26px;font-weight:800;letter-spacing:-3px;line-height:1}.brand b span{color:var(--accent)}.brand b i{font-style:normal;color:var(--accent-2)}.brand small{font-size:12.5px;line-height:1.35;color:var(--text-muted)}.login-page{display:grid;place-items:center;min-height:100vh;padding:40px var(--a-gap) 96px}.login-card{width:min(400px,100%);display:grid;grid-gap:22px;gap:22px;padding:36px 32px 28px;border:1px solid var(--a-edge);border-radius:22px;background:var(--a-glass);box-shadow:0 40px 80px -36px var(--shadow-color),0 2px 10px -4px var(--shadow-color),inset 0 1px var(--a-shine);-webkit-backdrop-filter:var(--a-blur);backdrop-filter:var(--a-blur)}.login-card .brand b{font-size:32px}.login-card h1{margin:0;font-size:22px;font-weight:700;letter-spacing:.01em}.login-card form{display:grid;grid-gap:16px;gap:16px}.login-card .btn.primary{height:44px;font-size:16px}.login-sso,.rules{display:grid}.rules{grid-gap:4px;gap:4px;margin:-4px 0 0;padding:0;list-style:none;font-size:14px;color:var(--text-muted)}.rules li{display:flex;align-items:center;gap:8px}.rules li:before{content:"";flex:none;width:14px;height:14px;border:1.5px solid color-mix(in oklab,var(--text-muted) 60%,transparent);border-radius:50%;box-sizing:border-box}.rules li.ok{color:var(--text)}.rules li.ok:before{border:0;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 0a7 7 0 1 1 0 14A7 7 0 0 1 7 0Zm3.2 4.3L6.1 8.4 3.8 6.1 2.9 7l3.2 3.2 5-5-.9-.9Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 0a7 7 0 1 1 0 14A7 7 0 0 1 7 0Zm3.2 4.3L6.1 8.4 3.8 6.1 2.9 7l3.2 3.2 5-5-.9-.9Z'/%3E%3C/svg%3E") center/contain no-repeat}.rules li.bad{color:var(--danger)}.rules li.bad:before{border-color:var(--danger);background:color-mix(in oklab,var(--danger) 16%,transparent)}.admin-top{z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:20px;gap:20px;height:82px;padding:0 36px;border-bottom:1px solid transparent}.top-left{gap:20px}.top-left,.top-right{display:flex;align-items:center;min-width:0}.top-right{justify-content:flex-end;gap:16px}@supports (animation-timeline:scroll()){.admin-top{position:-webkit-sticky;position:sticky;top:0;animation:top-glass linear both;animation-timeline:scroll(root);animation-range:0 48px}@keyframes top-glass{to{background:var(--a-glass-strong);border-bottom-color:var(--a-hair);-webkit-backdrop-filter:var(--a-blur);backdrop-filter:var(--a-blur)}}}.admin-top .brand{gap:25px}.admin-top .brand b{font-size:39px;letter-spacing:-5px}.admin-top .brand small{font-size:10px;letter-spacing:2px;line-height:1.6}.avatar{position:relative}.avatar summary{list-style:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;cursor:pointer;color:var(--text);background:color-mix(in oklab,var(--accent) 14%,transparent);border:1px solid color-mix(in oklab,var(--accent) 45%,transparent);transition:border-color .15s ease-out,color .15s ease-out}.avatar summary::-webkit-details-marker{display:none}.avatar summary svg{width:20px;height:20px}.avatar summary:hover,.avatar[open] summary{border-color:var(--accent);color:var(--accent)}.avatar-pop{position:absolute;right:0;top:46px;z-index:60;width:252px;padding:14px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(var(--surface-2),var(--surface-2)) var(--bg);box-shadow:0 14px 30px var(--shadow-color);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);font-size:13px;color:var(--text)}.avatar-pop:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}.avatar-who{display:grid;grid-gap:1px;gap:1px;margin:0;padding:2px 4px 12px;border-bottom:1px solid var(--line)}.avatar-who b{font-size:14px;font-weight:600}.avatar-who small{font-size:12px;color:var(--text-muted)}.menu-sep{margin-top:6px;border-top:1px solid var(--line)}.menu-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;margin-top:6px;padding:6px 4px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:14px;text-align:left;text-decoration:none;cursor:pointer}.menu-toggle:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.menu-toggle svg{flex:none;width:19px;height:19px}.menu-toggle>span:first-of-type{flex:1 1}.switch{position:relative;flex:none;width:48px;height:22px;border-radius:11px;background:color-mix(in srgb,var(--text-muted) 35%,transparent);transition:background .15s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:28px;height:18px;border-radius:9px;background:light-dark(var(--surface),var(--text));box-shadow:0 0 2px var(--shadow-color);transition:translate .15s}.menu-toggle[aria-checked=true] .switch{background:var(--accent)}.menu-toggle[aria-checked=true] .switch:after{translate:16px 0}.admin-main{max-width:1320px;margin:0 auto;padding:12px 28px 104px}.tabs{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;padding:4px;border:1px solid var(--a-edge);background:color-mix(in oklab,var(--surface-sunken) 70%,transparent);box-shadow:inset 0 1px 3px color-mix(in oklab,var(--shadow-color) 140%,transparent),0 1px 0 var(--a-edge);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4)}.tabs,.tabs:before{border-radius:999px}.tabs:before{content:"";position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border:1px solid color-mix(in oklab,var(--accent) 50%,transparent);background:radial-gradient(circle at 30% 15%,var(--surface),color-mix(in oklab,var(--accent) 10%,var(--surface)) 55%,color-mix(in oklab,var(--accent) 22%,var(--surface)));box-shadow:0 3px 10px -3px var(--shadow-color),0 0 18px -2px color-mix(in oklab,var(--accent) 30%,transparent),inset 0 1px var(--a-shine);transition:translate .45s cubic-bezier(.16,1,.3,1)}.tabs:has(#tabAudit[aria-selected=true]):before{translate:100% 0}.tabs [role=tab]{position:relative;z-index:1;min-width:72px;height:34px;padding:0 20px;border:0;border-radius:999px;background:none;color:var(--text-muted);font-size:15px;letter-spacing:.08em;text-indent:.08em;cursor:pointer;transition:color .3s cubic-bezier(.16,1,.3,1)}.tabs [role=tab]:hover{color:var(--text)}.tabs [role=tab][aria-selected=true]{color:light-dark(var(--accent),var(--text));font-weight:700}@media (prefers-reduced-motion:reduce){.tabs:before{transition:none}}.panel-head{display:flex;align-items:center;gap:12px;min-height:68px;padding:14px 20px;flex-wrap:wrap}.panel-head .end{margin-left:auto}.panel-head.filters{align-items:flex-end}.panel-head.filters .field input,.panel-head.filters .field select{height:38px}.panel-msg{padding:0 20px}.panel-msg:empty{display:none}.gate{max-width:460px;margin:72px auto;padding:32px;display:grid;grid-gap:16px;gap:16px;justify-items:center;text-align:center}.gate p{margin:0}.table-wrap{position:relative;overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}td,th{height:var(--a-row);padding:0 14px;text-align:left;border-bottom:1px solid var(--a-hair)}td:first-child,th:first-child{padding-left:22px}td:last-child,th:last-child{padding-right:16px}th{height:40px;border-top:1px solid var(--a-hair);border-bottom-color:var(--line);font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--text-muted);background:color-mix(in oklab,var(--surface-sunken) 45%,transparent)}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background-color .15s ease-out}tbody tr:hover{background:color-mix(in oklab,var(--accent) 6%,transparent)}td.mono{font-family:var(--a-mono);font-size:14px}td.name{font-weight:600}td.name .muted{font-weight:400}.muted,td.muted{color:var(--text-muted)}td.actions{text-align:right}td.actions .link+.link{margin-left:2px}td.status-act .link{display:inline-flex;align-items:center;height:28px;margin-left:10px;padding:0 13px;border:1px solid color-mix(in oklab,var(--warn) 55%,transparent);border-radius:999px;background:color-mix(in oklab,var(--warn) 15%,transparent);color:var(--warn);font-size:14px;font-weight:600}td.status-act .link:focus-visible,td.status-act .link:hover{background:color-mix(in oklab,var(--warn) 26%,transparent);border-color:var(--warn);color:var(--warn)}tr.is-disabled td:not(.actions){color:var(--text-muted)}tr.is-disabled td.name{font-weight:400}.pill{font-weight:500}.pill.st-ok{font-weight:400;color:var(--text-muted)}.st-locked{color:var(--warn)}.st-disabled{color:var(--danger)}.st-change{color:var(--accent-2)}.res-fail{color:var(--danger)}.more{display:flex;justify-content:center;padding:14px}.more:has(>[hidden]){display:none}dialog{width:min(460px,calc(100vw - 32px));padding:26px;border:1px solid var(--a-edge);border-radius:20px;background:light-dark(color-mix(in oklab,var(--surface) 90%,transparent),color-mix(in oklab,var(--surface) 92%,transparent));color:var(--text);box-shadow:0 40px 90px -30px var(--shadow-color),0 2px 10px -4px var(--shadow-color),inset 0 1px var(--a-shine);-webkit-backdrop-filter:var(--a-blur);backdrop-filter:var(--a-blur)}dialog::-webkit-backdrop{background:color-mix(in oklab,var(--bg) 45%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}dialog::backdrop{background:color-mix(in oklab,var(--bg) 45%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}dialog h2{margin:0 0 16px;font-size:18px;font-weight:700}dialog form{display:grid;grid-gap:14px;gap:14px}dialog p{margin:0}.dlg-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.temp{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 16px;border:1px solid color-mix(in oklab,var(--accent) 40%,transparent);border-radius:14px;background:color-mix(in oklab,var(--accent) 8%,transparent)}.temp code{flex:1 1;font-family:var(--a-mono);font-size:20px;letter-spacing:1.5px;-webkit-user-select:all;-moz-user-select:all;user-select:all;word-break:break-all}@media (prefers-reduced-motion:no-preference){dialog[open]{transition:opacity .2s ease-out,translate .28s var(--a-ease),scale .28s var(--a-ease)}@starting-style{dialog[open]{opacity:0;translate:0 10px;scale:.98}}}@media (max-width:760px){.admin-top{gap:10px;height:64px;padding:0 16px}.tabs [role=tab]{min-width:0;padding:0 14px}.admin-top .brand small{display:none}.admin-top .brand b{font-size:30px;letter-spacing:-4px}.admin-main{padding:20px 16px 104px}}.tabs a[role=tab]{display:inline-grid;place-items:center;text-decoration:none}td.actions form,td.status-act form{display:inline}td.actions .msg,td.status-act .msg{display:inline;margin-left:8px;font-size:13px}dialog .temp+.note{margin-top:2px}.login-card form+form{margin-top:-8px}.tabs:has(#tabHealth){grid-template-columns:1fr 1fr 1fr}.tabs:has(#tabHealth):before{width:calc((100% - 8px) / 3)}.tabs:has(#tabHealth[aria-selected=true]):before{translate:200% 0}.tabs:has(#tabRules){grid-template-columns:repeat(4,1fr)}.tabs:has(#tabRules):before{width:calc((100% - 8px) / 4)}.tabs:has(#tabRules[aria-selected=true]):before{translate:300% 0}.tab-dot{display:inline-block;width:8px;height:8px;margin-left:6px;border-radius:50%;background:var(--danger);vertical-align:middle}