@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-DHTKMUil.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-B1g8a0vD.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-BpXpdlRW.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-BsaNuasd.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-BVZ5su8S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-DMe4EKeb.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f5f3ee;--surface:#fbfaf7;--text:#141413;--muted:#6b6960;--border:#e3dfd5;--accent:#2f3f9e;--accent-hover:#24317d;--accent-text:#f5f3ee;--accent-soft:#2f3f9e1a;--ok:#2f7d4f;--warn:#a36a12;--bad:#b3362f;--code:#eeebe3;--font-sans:"Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:"Source Serif 4 Variable", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141413;--surface:#1c1c1a;--text:#eceae3;--muted:#9c9a91;--border:#2e2d29;--accent:#8fa0f2;--accent-hover:#a9b6f5;--accent-text:#141413;--accent-soft:#8fa0f226;--ok:#6bc48f;--warn:#e0a64a;--bad:#f0837a;--code:#232320;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#141413;--surface:#1c1c1a;--text:#eceae3;--muted:#9c9a91;--border:#2e2d29;--accent:#8fa0f2;--accent-hover:#a9b6f5;--accent-text:#141413;--accent-soft:#8fa0f226;--ok:#6bc48f;--warn:#e0a64a;--bad:#f0837a;--code:#232320;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:15px/1.55 var(--font-sans);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}h1,h2,h3{font-family:var(--font-serif);letter-spacing:-.01em;margin:0 0 14px;font-weight:500;line-height:1.2}h1{letter-spacing:-.02em;font-size:34px}h2{letter-spacing:-.02em;font-size:30px}h3{font-size:19px}::selection{background:var(--accent-soft)}input,select,button{font:inherit;color:inherit;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:7px 12px;transition:background-color .12s,border-color .12s,box-shadow .12s,color .12s}input:hover,select:hover{border-color:color-mix(in srgb, var(--text) 25%, var(--border))}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}button{background:var(--accent);color:var(--accent-text);border-color:var(--accent);cursor:pointer;font-weight:500}button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button:disabled{opacity:.45;cursor:default}button.ghost{color:var(--accent);background:0 0;border-color:#0000}button.ghost:hover{background:var(--accent-soft)}button.danger{color:var(--bad);border-color:var(--bad);background:0 0}button.danger:hover{background:color-mix(in srgb, var(--bad) 10%, transparent)}button.small{padding:3px 10px;font-size:13px}.app{max-width:1120px;margin:0 auto;padding:0 16px 64px}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:32px;padding:18px 0;display:flex}.topbar nav{gap:20px;display:flex}.topbar nav a{color:var(--muted);border-bottom:2px solid #0000;padding:4px 0}.topbar nav a:hover{color:var(--text);text-decoration:none}.topbar nav a.active{color:var(--text);border-bottom-color:var(--accent)}.brand{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--text);font-size:21px;font-weight:500}.brand:hover{text-decoration:none}.spacer{flex:1}.muted{color:var(--muted)}.mono{font-family:var(--font-mono);word-break:break-all;font-size:13px}.center{text-align:center;padding:40px 16px}.error{color:var(--bad)}.note{color:var(--muted)}.pill{border:1px solid var(--border);color:var(--muted);text-transform:capitalize;border-radius:999px;padding:1px 10px;font-size:12px}.banner{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0;padding:12px 16px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:22px 24px;position:relative;overflow-x:auto}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px 20px;display:grid}.grid .full{grid-column:1/-1}.cols{grid-template-columns:1fr;gap:20px;display:grid}.cols>.card{margin-bottom:0}label{flex-direction:column;gap:6px;font-size:14px;display:flex}label.check,label.switch{flex-direction:row;align-items:center;gap:8px}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;padding:0}fieldset{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;margin:0;padding:10px 14px;display:flex}legend{color:var(--muted);padding:0 4px;font-size:13px}form.inline{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}form.inline label{flex-direction:row;align-items:center;gap:8px}.auth{justify-content:center;padding:72px 16px;display:flex}.auth form{flex-direction:column;gap:14px;width:100%;max-width:400px;padding:32px;display:flex}.auth h1{text-align:center;margin-bottom:4px}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:10px 14px;font-weight:500}.tabs button:hover{color:var(--text);background:0 0}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 20px}.stat span{color:var(--muted);font-size:13px;display:block}.stat b{font-family:var(--font-serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:500;line-height:1.2}.toolbar{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.group{font-family:var(--font-sans);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:28px 0 10px;font-size:13px;font-weight:600}.title{align-items:center;gap:14px;margin-bottom:8px;display:flex}.title h2{margin:0}table{border-collapse:collapse;background:var(--surface);width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:11px 12px}tbody tr:last-child td{border-bottom:0}th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;font-weight:600}.scroll{border:1px solid var(--border);border-radius:12px;overflow-x:auto}.scroll table{border:0}td.mono{word-break:normal;white-space:nowrap}tr.click{cursor:pointer}tr.click:hover td{background:var(--accent-soft)}tr.dim td{opacity:.5}.card table+button{margin-top:16px}dl{grid-template-columns:max-content 1fr;gap:8px 20px;margin:0 0 18px;display:grid}dt{color:var(--muted);font-size:14px}dd{margin:0}.badge{--c:var(--muted);white-space:nowrap;text-transform:capitalize;color:var(--c);background:color-mix(in srgb, var(--c) 12%, transparent);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.badge.active,.badge.synced,.badge.done{--c:var(--ok)}.badge.provisioning,.badge.pending,.badge.sent{--c:var(--warn)}.badge.offline,.badge.error,.badge.failed,.badge.revoked,.badge.expired{--c:var(--bad)}.copy{align-items:flex-start;gap:10px;margin:10px 0;display:flex}.copy code{background:var(--code);border:1px solid var(--border);font-family:var(--font-mono);word-break:break-all;white-space:pre-wrap;border-radius:8px;flex:1;padding:10px 12px;font-size:12.5px}pre{background:var(--code);border:1px solid var(--border);font-family:var(--font-mono);border-radius:8px;margin:0;padding:12px;font-size:12.5px;overflow-x:auto}.card td:first-child{white-space:nowrap}.card th,.card td{padding:10px 8px}.card th:first-child,.card td:first-child{padding-left:0}.card th:last-child,.card td:last-child{padding-right:0}td.shrink,th.shrink{white-space:nowrap;text-align:right;width:1%}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}input.toggle{appearance:none;cursor:pointer;vertical-align:middle;background:var(--border);border:1px solid color-mix(in srgb, var(--text) 15%, var(--border));border-radius:999px;flex:none;width:38px;height:22px;margin:0;padding:0;position:relative}input.toggle:after{content:"";background:var(--surface);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}input.toggle:checked{background:var(--accent);border-color:var(--accent)}input.toggle:checked:after{background:var(--accent-text);transform:translate(16px)}.icon-btn{width:34px;height:34px;color:var(--muted);background:0 0;border-color:#0000;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--accent-soft);color:var(--text);border-color:#0000}.corner{position:absolute;top:16px;right:16px}body,.card,.stat,table,input,select{transition:background-color .2s,color .2s,border-color .2s}@media (prefers-reduced-motion:reduce){*,body,.card,.stat,table,input,select{transition:none!important}}.topbar .clip{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}@media (width<=1100px){.topbar .clip{max-width:160px}}.actions{flex-wrap:nowrap;gap:4px;display:inline-flex}button.danger-text{color:var(--bad)}button.danger-text:hover{background:color-mix(in srgb, var(--bad) 10%, transparent)}label.soon{color:var(--muted)}.qr{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:20px;margin-top:20px;padding-top:20px;display:flex}.qr-code{background:#fff;border-radius:10px;width:240px;max-width:100%;padding:10px;line-height:0}.qr-code svg{width:100%;height:auto}.profiles{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding:14px 16px;display:flex}.profiles p{margin:4px 0 0}td.nowrap{white-space:nowrap}code{font-family:var(--font-mono);background:var(--code);border-radius:4px;padding:1px 5px;font-size:.92em}.center-text{text-align:center;margin:0}.signed-out{max-width:1120px;margin:0 auto;padding:0 16px}.signed-out-top{justify-content:flex-end;padding-top:12px;display:flex}.signed-out+.auth{padding-top:24px}.stack>.card{margin-bottom:20px}label.setting{flex-direction:row;align-items:flex-start;gap:12px;font-size:15px}label.setting input.toggle{margin-top:2px}.rule-form{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}input.wide{flex:1;min-width:220px}.badge.ev-blocked,.badge.ev-denied{--c:var(--bad)}.badge.ev-allowed,.badge.ev-peer{--c:var(--ok)}label.setting+label.setting{margin-top:14px}.tabs{scrollbar-width:thin;overflow-x:auto}.tabs button{flex:none}.badge[class*=ev-]{text-transform:none}
