@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/archivo-vietnamese-wght-normal.3b352474.woff2) format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/archivo-latin-ext-wght-normal.1a471e96.woff2) format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/archivo-latin-wght-normal.2829ce62.woff2) format("woff2-variations");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}:root{color-scheme:dark;--color-bg:#171615;--color-surface:#221f1e;--color-surface-hover:#2a2726;--color-text:#f3f2f2;--color-divider:color-mix(in srgb,#f3f2f2 9%,transparent);--color-hover:color-mix(in srgb,#f3f2f2 7%,transparent);--color-soft:color-mix(in srgb,#f3f2f2 8%,transparent);--color-scrim:color-mix(in srgb,#000 55%,var(--color-bg));--color-accent:#ec3013;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-neutral-400:#bab6b6;--color-neutral-500:#9b9797;--color-neutral-600:#7d7979;--color-neutral-700:#605d5d;--color-neutral-800:#444141;--color-accent-300:#ffc4b8;--color-accent-400:#ff9783;--color-accent-600:#dd2b0f;--ring:0 0 0 3px color-mix(in srgb,#ec3013 18%,transparent);--ring-border:color-mix(in srgb,#ec3013 70%,transparent);--shadow-lg:0 0 0 1px color-mix(in srgb,#f3f2f2 14%,transparent),0 16px 40px rgba(0,0,0,0.55);--font-body:"Archivo Variable","Archivo",system-ui,sans-serif;--font-heading:var(--font-body);--font-mono:ui-monospace,Menlo,Consolas,monospace}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 40%,transparent)}::placeholder{color:color-mix(in srgb,#f3f2f2 40%,transparent)}a{color:var(--color-accent-400)}h1,h2,h3{margin:0;font-family:var(--font-heading);font-weight:800;letter-spacing:-.01em}*{scrollbar-width:thin;scrollbar-color:var(--color-neutral-800) transparent}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.btn,.sr-only{white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border:0;border-radius:10px;font-family:var(--font-heading);font-weight:800;font-size:14px;transition:background-color .12s}.btn-primary{background:var(--color-accent);color:#fff}@media (hover:hover){.btn-primary:hover:not(:disabled){background:var(--color-accent-600)}}.btn-primary:active:not(:disabled){background:var(--color-accent-400)}.btn-secondary{background:var(--color-soft);color:var(--color-text)}@media (hover:hover){.btn-secondary:hover:not(:disabled){background:color-mix(in srgb,#f3f2f2 13%,transparent)}}.btn-danger{background:var(--color-accent);color:#fff}@media (hover:hover){.btn-danger:hover:not(:disabled){background:var(--color-accent-600)}}.btn-small{height:32px;padding:0 12px;font-size:13px}.icon-btn{display:grid;place-items:center;width:28px;height:28px;flex:none;padding:0;border:0;border-radius:8px;background:transparent;color:var(--color-text);transition:background-color .12s}@media (hover:hover){.icon-btn:hover:not(:disabled){background:color-mix(in srgb,#f3f2f2 12%,transparent)}}.icon-btn.danger{color:var(--color-accent-400)}@media (hover:hover){.icon-btn.danger:hover:not(:disabled){background:color-mix(in srgb,#ec3013 18%,transparent)}}.icon-btn.big{width:32px;height:32px;color:var(--color-neutral-400)}.spinner{width:16px;height:16px;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentcolor;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.screen-center{min-height:100dvh;display:grid;place-items:center;padding:24px}.fatal{max-width:480px;text-align:left}.fatal p{color:var(--color-neutral-400)}.fatal code{padding:2px 6px;border-radius:6px;background:var(--color-soft);font-family:var(--font-mono);font-size:13px}.app{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.header{flex:none;height:64px;gap:16px;padding:0 32px;border-bottom:1px solid var(--color-divider)}.brand,.header{display:flex;align-items:center}.brand{gap:10px;font-family:var(--font-heading);font-weight:800;font-size:20px;letter-spacing:-.01em}.brand-mark{flex:none;display:block}.grow{flex:1 1}.account{display:flex;align-items:center;gap:12px;height:44px;padding:0 12px 0 6px;border:1px solid transparent;border-radius:10px;background:transparent;transition:background-color .12s}.account[aria-expanded=true]{background:var(--color-hover)}@media (hover:hover){.account:hover{background:var(--color-hover)}}.account[aria-expanded=true]{border-color:var(--ring-border);box-shadow:var(--ring)}.avatar{position:relative;width:32px;height:32px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:var(--color-neutral-800);font-size:12px;font-weight:600}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .2s}.avatar[data-picture=ok] img{opacity:1}.account-name{display:flex;flex-direction:column;align-items:flex-start;gap:1px;font-size:14px;font-weight:600;line-height:1.15;white-space:nowrap}.account-name small{font-size:11px;font-weight:400}.account-name small,.chevron{color:var(--color-neutral-500)}.chevron,.toolbar{flex:none}.toolbar{display:grid;grid-gap:12px;gap:12px;padding:24px 32px 14px;grid-template-columns:minmax(280px,400px) minmax(160px,220px) minmax(160px,240px) minmax(0,1fr) auto;grid-template-areas:"subnet type tag search add"}.toolbar>.select-subnet{grid-area:subnet}.toolbar>.select-type{grid-area:type}.toolbar>.select-tag{grid-area:tag}.toolbar>.search{grid-area:search}.toolbar>.btn-add{grid-area:add}.select{position:relative;width:100%;min-width:0;height:44px;display:flex;align-items:center;gap:10px;padding:0 12px 0 14px;border:1px solid transparent;border-radius:10px;background:var(--color-surface);text-align:left;transition:border-color .12s,box-shadow .12s}@media (hover:hover){.select:hover{background:var(--color-surface-hover)}}.select[aria-expanded=true]{border-color:var(--ring-border);box-shadow:var(--ring)}.select-label{flex:none;font-size:12px;color:var(--color-neutral-500)}.select-value{flex:none;font-size:14px;font-weight:600}.select-value.fill{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-subnet .select-value{font-size:15px}.select-sub{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--color-neutral-400)}.search{min-width:0;height:44px;display:flex;align-items:center;gap:10px;padding:0 8px 0 14px;border:1px solid transparent;border-radius:10px;background:var(--color-surface);color:var(--color-neutral-500)}.search:focus-within{border-color:var(--ring-border);box-shadow:var(--ring)}.search input{flex:1 1;min-width:0;border:0;outline:none;background:transparent;font-size:14px;color:var(--color-text)}.btn-add{height:44px;padding:0 18px 0 14px;justify-self:end}.fab{display:none;position:fixed;right:16px;bottom:72px;z-index:5;width:56px;height:56px;place-items:center;padding:0;border:0;border-radius:50%;background:var(--color-accent);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.5)}@media (hover:hover){.fab:hover{background:var(--color-accent-600)}}.content{flex:1 1;min-height:0;overflow-y:auto;padding:10px 32px 24px;--cols:6}.content.loading .grid{opacity:.55;transition:opacity .15s .4s}.grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-auto-rows:190px;grid-gap:16px;gap:16px}.card{min-width:0;display:flex;flex-direction:column;padding:14px 16px 16px;border-radius:14px;background:var(--color-surface);outline:1px solid transparent;outline-offset:-1px}.card:has(:focus-visible),.row:has(:focus-visible){background:var(--color-surface-hover);outline-color:color-mix(in srgb,#f3f2f2 30%,transparent)}@media (hover:hover){.card:hover,.row:hover{background:var(--color-surface-hover);outline-color:color-mix(in srgb,#f3f2f2 30%,transparent)}}.card-head{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.card-ip{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-heading);font-weight:800;font-size:19px;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button.card-ip{flex:0 1 auto;margin:-3px -7px;padding:3px 7px;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background-color .12s}button.card-ip:active{background:color-mix(in srgb,#f3f2f2 15%,transparent)}@media (hover:hover){button.card-ip:hover{background:color-mix(in srgb,#f3f2f2 9%,transparent)}}.card-ip.range,.card-ip.v6{font-size:15px}.card-ip.v6.single{font-size:16px}.pill{flex:none;padding:3px 8px;border-radius:999px;font-size:11px;line-height:16px;letter-spacing:.02em}.pill-used{background:var(--color-accent);color:#fff}.pill-reserved{background:transparent;color:var(--color-accent-400);box-shadow:inset 0 0 0 1px var(--color-accent)}.card-desc{flex:none;height:40px;margin-top:8px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;font-size:13px;line-height:20px;color:var(--color-neutral-300)}.card-desc.no-desc{color:var(--color-neutral-600)}.card-tags{flex:none;height:22px;margin-top:6px;display:flex;gap:6px;min-width:0;overflow:hidden}.chip{flex:0 1 auto;min-width:0;max-width:120px;padding:3px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--color-neutral-800);color:var(--color-neutral-200)}.chip,.chip-more{border-radius:999px;font-size:11px;line-height:16px}.chip-more{flex:none;padding:3px 6px;color:var(--color-neutral-400);box-shadow:inset 0 0 0 1px var(--color-neutral-700)}.card-foot{flex:none;height:28px;margin-top:auto;padding-top:10px;box-sizing:content-box;border-top:1px solid color-mix(in srgb,#f3f2f2 12%,transparent)}.card-by,.card-foot{display:flex;align-items:center;gap:8px}.card-by{flex:1 1;min-width:0;white-space:nowrap;font-size:12px;color:var(--color-neutral-500)}.card-by-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.card-maps{flex:none;display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border:0;border-radius:999px;background:color-mix(in srgb,#f3f2f2 9%,transparent);color:var(--color-neutral-300);font:inherit;font-size:12px;cursor:pointer;transition:background-color .12s,color .12s}@media (hover:hover){.card-maps:hover{background:var(--color-soft);color:var(--color-accent-400)}}.card-actions{display:flex;gap:4px;flex:none;opacity:0;pointer-events:none}.card:has(:focus-visible) .card-actions,.row:has(:focus-visible) .card-actions{opacity:1;pointer-events:auto}@media (hover:hover){.card:hover .card-actions,.row:hover .card-actions{opacity:1;pointer-events:auto}}.card-more{display:none}.card-actions,.card-more{margin-right:-6px}.empty{min-height:320px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;max-width:440px;margin:0 auto;padding:24px 0}.empty h2{font-size:22px}.empty p{margin:0;color:var(--color-neutral-400)}.pager{flex:none;height:76px;display:flex;align-items:center;gap:16px;padding:0 32px;border-top:1px solid var(--color-divider)}.pager-info{font-size:14px;color:var(--color-neutral-400);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pager-nav{display:flex;align-items:center;gap:8px}.page-btn{min-width:36px;height:36px;padding:0 10px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--color-neutral-300);font-size:14px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (hover:hover){.page-btn:hover:not(:disabled){background:color-mix(in srgb,#f3f2f2 8%,transparent)}}.page-btn.arrow{background:color-mix(in srgb,#f3f2f2 6%,transparent)}.page-btn.active{background:var(--color-accent);color:#fff;font-weight:700}@media (hover:hover){.page-btn.active:hover{background:var(--color-accent-600)}}.page-gap{width:28px;text-align:center;color:var(--color-neutral-500)}.per-page{height:36px;display:flex;align-items:center;gap:10px;padding:0 10px 0 12px;border:0;border-radius:10px;background:var(--color-surface);font-size:14px;font-weight:600}.per-page span:first-child{font-size:13px;font-weight:400;color:var(--color-neutral-400)}.pager-compact{display:none;font-size:14px;color:var(--color-neutral-300);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (min-width:2560px){.content{--cols:8}}@media (min-width:1920px) and (max-width:2559px){.content{--cols:6}}@media (min-width:1440px) and (max-width:1919px){.content{--cols:5}}@media (min-width:1280px) and (max-width:1439px){.content{--cols:4}.toolbar{grid-template-columns:minmax(240px,340px) 190px 200px minmax(0,1fr) auto}}@media (min-width:1024px) and (max-width:1279px){.content{--cols:3}.toolbar{grid-template-columns:minmax(0,1fr) 190px 200px;grid-template-areas:"subnet type tag" "search search add"}.btn-add{justify-self:stretch}}@media (min-width:768px) and (max-width:1023px){.content{--cols:2}.toolbar{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"subnet subnet subnet add" "type type tag tag" "search search search search"}.btn-add{justify-self:stretch}}@media (hover:none),(max-width:1279px){.card-actions{display:none}.card-more{display:grid}}@media (max-width:767px){.header{height:56px;padding:0 16px}.account{padding:0;border-radius:50%;height:40px;width:40px;justify-content:center}.account .chevron,.account-name{display:none}.toolbar{padding:12px 16px 2px;grid-template-columns:1fr 1fr;grid-template-areas:"subnet subnet" "search search" "type tag"}.btn-add{display:none}.fab{display:grid}.content{--cols:1;padding:10px 16px 96px}.grid{grid-auto-rows:auto;gap:12px}.card-desc{height:auto;min-height:20px}.card-foot{margin-top:12px}.pager{height:56px;padding:0 16px}.pager-nav .page-btn:not(.arrow),.pager-nav .page-gap,.per-page{display:none}.pager .grow,.pager-compact{display:block}}.skeleton{border-radius:6px;background:linear-gradient(90deg,var(--color-surface) 0,var(--color-surface-hover) 50%,var(--color-surface) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.search.skeleton,.select.skeleton{border-radius:10px}.skeleton-card .skeleton{background:linear-gradient(90deg,var(--color-surface-hover) 0,color-mix(in srgb,#f3f2f2 9%,var(--color-surface)) 50%,var(--color-surface-hover) 100%);background-size:200% 100%}@media (hover:hover){.skeleton-card:hover{outline-color:transparent}}.skeleton-content{overflow:hidden}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.app{animation:fade .2s ease-out}.intro .card,.skeleton-card.card{animation:card-in .28s ease-out backwards;animation-delay:calc(min(var(--i, 0), 14) * 18ms)}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}}.empty{animation:card-in .35s ease-out .05s backwards}.card,.row,button{-webkit-tap-highlight-color:transparent}@media (max-width:767px){.card,.row{cursor:pointer}.card:active,.row:active{background:var(--color-surface-hover)}}.panel{position:fixed;z-index:50;display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:var(--color-surface);box-shadow:var(--shadow-lg);max-height:min(520px,calc(100dvh - 24px))}.panel-search{flex:none;padding:10px;border-bottom:1px solid var(--color-divider)}.panel-search label{height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid transparent;border-radius:10px;background:var(--color-bg);color:var(--color-neutral-500)}.panel-search label:focus-within{border-color:var(--ring-border)}.panel-search input{flex:1 1;min-width:0;border:0;outline:none;background:transparent;font-size:14px;color:var(--color-text)}.panel-list{flex:1 1;min-height:0;overflow-y:auto;padding:6px 0}.panel-group{padding:8px 20px 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.panel-empty,.panel-group{color:var(--color-neutral-500)}.panel-empty{padding:16px 20px;font-size:14px}.panel-foot{flex:none;padding:6px;border-top:1px solid var(--color-divider)}.option{position:relative;width:calc(100% - 12px);height:40px;margin:0 6px;display:flex;align-items:center;gap:10px;padding:0 14px;border:0;border-radius:8px;background:transparent;text-align:left;font-size:14px;color:var(--color-text)}.option:focus-visible{background:var(--color-hover)}@media (hover:hover){.option:hover{background:var(--color-hover)}}.option.selected{background:color-mix(in srgb,#f3f2f2 6%,transparent)}.option+.option,.option+.option-row,.option-row+.option,.option-row+.option-row{margin-top:3px}.option.tall{height:42px}.option-main{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-meta{flex:none;font-size:12px;color:var(--color-neutral-500);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.option-check{display:block;flex:none;color:var(--color-accent)}.check-slot{width:16px;height:16px;flex:none;display:flex;align-items:center;justify-content:center}.option.action,.option.danger{color:var(--color-accent-400)}.option.action{width:100%;height:40px;margin:0;padding:0 8px;font-family:var(--font-heading);font-weight:800}.subnet-option{display:grid;grid-template-columns:minmax(0,168px) minmax(0,1fr) 44px 16px;grid-gap:10px;gap:10px}.subnet-option .cidr{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.subnet-option .cidr,.subnet-option .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subnet-option .name{font-size:13px;color:var(--color-neutral-400)}.subnet-option .usage{text-align:right}.option-row{position:relative}.row-tools{position:absolute;right:14px;top:50%;display:flex;gap:2px;opacity:0;pointer-events:none;transform:translate(10px,-50%);transition:opacity .18s ease,transform .26s cubic-bezier(.22,.8,.28,1)}.option-row .check-slot,.option-row .option-meta{transition:opacity .16s ease,transform .26s cubic-bezier(.22,.8,.28,1)}.option-row:focus-within .row-tools{opacity:1;pointer-events:auto;transform:translateY(-50%);transition-delay:.02s}.option-row:focus-within .check-slot,.option-row:focus-within .option-meta{opacity:0;transform:translateX(-8px)}@media (hover:hover){.option-row:hover .row-tools{opacity:1;pointer-events:auto;transform:translateY(-50%);transition-delay:.02s}.option-row:hover .check-slot,.option-row:hover .option-meta{opacity:0;transform:translateX(-8px)}}@media (hover:none){.option-row .row-tools{opacity:1;pointer-events:auto;transform:translateY(-50%)}.option-row .option-meta,.option-row .usage{visibility:hidden}}.status-dot{flex:none;width:10px;height:10px;border-radius:50%}.menu-head{padding:10px 14px 12px;margin-bottom:6px;border-bottom:1px solid var(--color-divider)}.menu-head strong{display:block;font-size:14px;font-weight:600}.menu-head span{font-size:12px;color:var(--color-neutral-500)}.menu-sep{height:1px;margin:6px 0;background:var(--color-divider)}dialog{padding:0;border:0;background:transparent;color:inherit;max-width:none;max-height:none;overflow:visible}dialog::-webkit-backdrop{background:color-mix(in srgb,#000 62%,transparent)}dialog::backdrop{background:color-mix(in srgb,#000 62%,transparent)}.modal{width:min(var(--modal-width,600px),calc(100vw - 32px));max-height:calc(100dvh - 48px);display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:var(--color-surface);box-shadow:var(--shadow-lg)}dialog.modal-host{margin:auto}.modal-head{flex:none;display:flex;align-items:flex-start;gap:12px;padding:20px 24px 16px;border-bottom:1px solid var(--color-divider)}.modal-title{font-family:var(--font-heading);font-weight:800;font-size:20px;line-height:1.25}.modal-sub{margin-top:2px;font-size:13px;color:var(--color-neutral-500)}.modal-body{flex:1 1;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.modal-body,.modal-scroll{min-height:0;overflow-y:auto}.modal-scroll{flex:1 1}.modal-foot{flex:none;display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--color-divider)}.modal.confirm .modal-body{padding:20px 24px 0;gap:8px}.modal.confirm .modal-foot{border-top:0;padding:20px 24px}.confirm-text{font-size:14px;line-height:1.5;color:var(--color-neutral-300)}.sheet{width:100vw;max-height:88dvh;display:flex;flex-direction:column;overflow:hidden;border-radius:20px 20px 0 0;background:var(--color-surface);box-shadow:var(--shadow-lg);padding-bottom:env(safe-area-inset-bottom)}dialog.sheet-host{margin:auto 0 0;width:100vw}.sheet:focus{outline:none}.sheet-handle{flex:none;width:36px;height:4px;margin:10px auto 6px;border-radius:2px;background:var(--color-neutral-700)}.sheet-title{flex:none;padding:8px 20px 10px;font-family:var(--font-heading);font-weight:800;font-size:17px}.sheet .panel-list{padding-bottom:8px}.sheet .option{height:48px}@keyframes rise{0%{transform:translateY(24px);opacity:0}}@keyframes fade{0%{opacity:0}}dialog[open] .modal,dialog[open] .sheet{animation:rise .18s ease-out}dialog[open]::-webkit-backdrop{animation:fade .18s ease-out}dialog[open]::backdrop{animation:fade .18s ease-out}@media (max-width:767px){dialog.modal-host.form{margin:0;width:100vw;height:100dvh}dialog.modal-host.form .modal{width:100vw;height:100dvh;max-height:none;border-radius:0;box-shadow:none}.modal-head{padding:14px 16px}.modal-body{padding:16px}.modal-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.modal-foot .btn{flex:1 1;height:44px}dialog.modal-host.confirm{margin:auto 0 0;width:100vw}dialog.modal-host.confirm .modal{width:100vw;border-radius:20px 20px 0 0}}.toasts{position:fixed;left:50%;bottom:24px;z-index:100;flex-direction:column;gap:8px;transform:translateX(-50%);pointer-events:none}.toast,.toasts{display:flex;align-items:center}.toast{gap:10px;max-width:min(480px,calc(100vw - 32px));padding:12px 16px;border-radius:10px;background:var(--color-surface-hover);box-shadow:var(--shadow-lg);font-size:14px;pointer-events:auto;animation:rise .18s ease-out}.toast.error{box-shadow:0 0 0 1px var(--color-accent),0 16px 40px rgba(0,0,0,.55)}@media (max-width:767px){.toasts{bottom:80px}}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:12px;color:var(--color-neutral-400)}.hint{font-size:12px;color:var(--color-neutral-500)}.error-text,.hint.error{font-size:12px;color:var(--color-accent-400)}.input,.textarea{width:100%;border:1px solid transparent;border-radius:10px;background:var(--color-bg);font-size:14px;color:var(--color-text);outline:none;transition:border-color .12s,box-shadow .12s}.input{height:40px;padding:0 12px}.textarea{height:72px;padding:8px 10px;resize:none}.input:focus,.input:focus-visible,.textarea:focus,.textarea:focus-visible{border-color:var(--ring-border);box-shadow:var(--ring);outline:none}.input[aria-invalid=true]{border-color:var(--color-accent)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.form-row.subnet-row{grid-template-columns:200px 1fr}.form-error{padding:10px 12px;border-radius:10px;background:color-mix(in srgb,#ec3013 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#ec3013 55%,transparent);font-size:13px;color:var(--color-accent-300)}.segmented{display:flex;height:40px;padding:3px;gap:3px;border-radius:10px;background:var(--color-bg)}.segmented.small{height:36px}.seg-opt{flex:1 1;display:flex;align-items:center;justify-content:center;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--color-neutral-300);font-size:13px;white-space:nowrap}@media (hover:hover){.seg-opt:hover:not(.on){background:var(--color-hover)}}.seg-opt.on{background:var(--color-accent);color:#fff;font-weight:600}.addr-line{display:flex;align-items:center;gap:16px}.addr-line>.field-label{width:80px;flex:none}.addr-line.stack{flex-direction:column;align-items:flex-start;gap:8px}.addr-line.stack>.field-label{width:auto}.addr.v6 .addr-part{width:50px}.addr.v6 .addr-sep{width:5px}.addr-stack{display:flex;flex-direction:column;gap:10px}.addr-wrap{gap:12px}.addr,.addr-wrap{display:flex;align-items:center;min-width:0}.addr{gap:4px}.addr-part{flex:none;width:52px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,#f3f2f2 14%,transparent);border-radius:8px;background:var(--color-bg);color:var(--color-text);font-size:15px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;outline:none;transition:border-color .12s,box-shadow .12s}.addr.v4 .addr-part.editable{width:60px}.addr-part.locked{border-color:transparent;background:color-mix(in srgb,#f3f2f2 4%,transparent);color:var(--color-neutral-500);font-weight:400;-webkit-user-select:none;-moz-user-select:none;user-select:none}.addr-part.editable:focus{border-color:var(--ring-border);box-shadow:var(--ring)}.addr-part.editable[aria-invalid=true]{border-color:var(--color-accent)}.addr-sep{flex:none;width:6px;text-align:center;font-size:16px;font-weight:600;color:var(--color-neutral-600);-webkit-user-select:none;-moz-user-select:none;user-select:none}.addr.v6{gap:3px}.btn-random{flex:none;height:40px;padding:0 14px 0 12px;font-size:13px}.btn-random.icon-only{width:40px;padding:0}.tags-field{position:relative;min-height:38px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 8px;width:100%;border:1px solid transparent;border-radius:10px;background:var(--color-bg);text-align:left;transition:border-color .12s,box-shadow .12s}.tags-field[aria-expanded=true]{border-color:var(--ring-border);box-shadow:var(--ring)}button.tags-placeholder{border:0;background:none;padding:0 0 0 4px;text-align:left}.tags-placeholder{padding-left:4px;font-size:13px;color:var(--color-neutral-500)}.tag-chip{display:flex;align-items:center;gap:6px;max-width:100%;padding:3px 6px 3px 8px;border-radius:999px;background:var(--color-neutral-800);color:var(--color-neutral-200);font-size:12px}.tag-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-chip button{display:grid;place-items:center;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--color-neutral-400)}@media (hover:hover){.tag-chip button:hover{background:color-mix(in srgb,#f3f2f2 18%,transparent);color:var(--color-text)}}.checkbox{flex:none;width:16px;height:16px;display:grid;place-items:center;border-radius:4px;box-shadow:inset 0 0 0 1.5px var(--color-neutral-600);color:#fff}.option.selected .checkbox{background:var(--color-accent);box-shadow:none}.new-key{margin:16px 24px 0;padding:12px 14px;display:flex;flex-direction:column;gap:8px;border-radius:10px;box-shadow:0 0 0 1px var(--color-accent),var(--ring)}.new-key-title{font-size:13px;color:var(--color-accent-300)}.new-key-row{display:flex;align-items:center;gap:8px}.new-key code{flex:1 1;min-width:0;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:13px}.keys-table{display:flex;flex-direction:column}.key-row,.keys-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1.3fr) 32px;align-items:center;grid-gap:12px;gap:12px;border-bottom:1px solid var(--color-divider)}.keys-head{padding:10px 0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-500)}.key-row{min-height:44px;font-size:14px}.key-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.key-row .mono{font-family:var(--font-mono);font-size:13px}.key-row .muted{color:var(--color-neutral-400)}.keys-empty{padding:18px 0;font-size:14px;color:var(--color-neutral-500)}.mcp{display:flex;flex-direction:column;gap:14px;padding:20px 24px 24px;border-top:1px solid var(--color-divider)}.mcp-head{display:flex;align-items:flex-end;gap:16px}.mcp-head h3{font-size:16px}.mcp-head .segmented{min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none}.mcp-head .seg-opt{flex:1 0 auto}.mcp .grow{min-width:0}.code-block{min-width:0;border-radius:10px;background:var(--color-bg);font-family:var(--font-mono);font-size:12px;line-height:1.7}.code-bar{display:flex;justify-content:flex-end;padding:8px 8px 0}.code-block pre{margin:0;padding:6px 16px 14px;overflow-x:auto;font:inherit}.code-block mark{padding:1px 4px;border-radius:4px;background:color-mix(in srgb,#ec3013 16%,transparent);color:var(--color-accent-300)}@media (max-width:767px){.form-row,.form-row.subnet-row{grid-template-columns:1fr}.addr-line{flex-direction:column;align-items:flex-start;gap:6px}.addr-line>.field-label{width:auto}.addr-wrap{width:100%;flex-wrap:wrap}.addr{width:100%}.addr-part,.addr.v4 .addr-part.editable{flex:1 1;width:auto;min-width:0;font-size:14px}.addr-sep{width:4px}.keys-head{display:none}.key-row{grid-template-columns:minmax(0,1fr) 32px;grid-template-areas:"name act" "meta act";padding:10px 0}.key-row>:first-child{grid-area:name;font-weight:600}.key-row>:nth-child(2),.key-row>:nth-child(3){display:none}.key-row>:nth-child(4){grid-area:meta;font-size:12px}.key-row>:nth-child(5){grid-area:act}.mcp-head{flex-direction:column;align-items:stretch}}.addr-readonly{font-family:var(--font-heading);font-weight:800;font-size:20px;overflow-wrap:anywhere}.form-row:has(>.field:only-child){grid-template-columns:1fr}.view-toggle{display:flex;gap:2px;padding:3px;border-radius:10px;background:var(--color-surface)}.view-toggle button{width:34px;height:30px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--color-neutral-500);transition:background-color .12s,color .12s}.view-toggle button.on{background:var(--color-neutral-800);color:var(--color-text)}@media (hover:hover){.view-toggle button:not(.on):hover{color:var(--color-text)}}.list{display:flex;flex-direction:column;gap:6px}.list-head,.row{display:grid;grid-template-columns:minmax(150px,1.1fr) 96px minmax(0,2.2fr) minmax(0,1.5fr) minmax(0,1.1fr) 64px;align-items:center;grid-gap:16px;gap:16px;padding:0 16px}.list-head{position:-webkit-sticky;position:sticky;top:0;z-index:1;height:34px;background:var(--color-bg);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-500)}.row{min-height:56px;border-radius:12px;background:var(--color-surface);outline:1px solid transparent;outline-offset:-1px}.intro .row,.skeleton-card.row{animation:card-in .28s ease-out backwards;animation-delay:calc(min(var(--i, 0), 14) * 18ms)}.row>.addr-cell{justify-self:stretch}.row .card-ip{font-size:16px}.row>.pill{justify-self:start}.row .card-desc{-webkit-line-clamp:1}.row .card-desc,.row .card-tags{height:auto;margin:0}.row .card-by{flex:none}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-right:-6px}.row-actions .card-actions,.row-actions .card-more{margin-right:0}.skeleton-card.row:hover{background:var(--color-surface)}@media (max-width:1023px){.list-head,.row{grid-template-columns:minmax(130px,1fr) 96px minmax(0,2fr) minmax(0,1fr) 40px}.list-head .h-tags,.row .card-tags,.skeleton-card.row>:nth-child(4){display:none}}@media (max-width:767px){.list-head{display:none}.row{grid-template-columns:minmax(0,1fr) auto 36px;grid-template-areas:"ip pill more" "desc desc desc" "by by by";gap:4px 10px;padding:12px 12px 12px 16px}.row>.addr-cell{grid-area:ip}.row>.pill{grid-area:pill}.row>.card-desc{grid-area:desc}.row>.card-by{grid-area:by;font-size:12px}.row>.row-actions{grid-area:more}.skeleton-card.row{grid-template-areas:none;grid-template-columns:1fr 60px}}.card-desc.editable{margin-left:-7px;margin-right:-7px;padding:0 7px;border-radius:8px;cursor:text;transition:background-color .12s}.row .card-desc.editable{padding:2px 7px}.card-desc.editable:active,.card-desc.editable:focus-visible{background:color-mix(in srgb,#f3f2f2 9%,transparent)}@media (hover:hover){.card-desc.editable:hover{background:color-mix(in srgb,#f3f2f2 9%,transparent)}}textarea.desc-edit{display:block;width:auto;height:46px;margin:8px -7px -4px;padding:2px 7px;resize:none;overflow:hidden;border:1px solid var(--ring-border);border-radius:8px;background:var(--color-bg);box-shadow:var(--ring);color:var(--color-text);font:inherit;font-size:13px;line-height:20px;outline:none;-webkit-line-clamp:unset}textarea.desc-edit.single{height:36px;margin:0 -7px;padding:7px;white-space:nowrap}button.pill-btn{border:0;font-family:inherit;white-space:nowrap;cursor:pointer;transition:background-color .12s,box-shadow .12s}button.pill-reserved.pill-btn{background:transparent}@media (hover:hover){button.pill-used.pill-btn:hover{background:var(--color-accent-600)}button.pill-reserved.pill-btn:hover{background:color-mix(in srgb,#ec3013 16%,transparent)}}button.pill-btn:active{transform:scale(.96)}.card-tags .chips{display:flex;gap:6px;min-width:0;overflow:hidden}.chip-edit{display:flex;align-items:center}.chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.chip-x{flex:none;width:0;height:14px;margin-left:0;padding:0;display:grid;place-items:center;overflow:hidden;border:0;border-radius:50%;background:transparent;color:var(--color-neutral-300);opacity:0;transition:width .12s,margin-left .12s,opacity .12s,background-color .12s}.chip-edit:hover .chip-x,.chip-x:focus-visible{width:14px;margin-left:4px;opacity:1}.chip-x:hover{background:color-mix(in srgb,#ec3013 35%,transparent);color:#fff}.tag-add{flex:none;width:22px;height:22px;display:grid;place-items:center;padding:0;border:1px dashed var(--color-neutral-600);border-radius:999px;background:transparent;color:var(--color-neutral-400);opacity:0;transition:opacity .12s,background-color .12s,color .12s}.card:has(:focus-visible) .tag-add,.card:hover .tag-add,.row:has(:focus-visible) .tag-add,.row:hover .tag-add,.tag-add[aria-expanded=true]{opacity:1}.tag-add:hover{border-color:var(--color-accent);background:color-mix(in srgb,#ec3013 14%,transparent);color:var(--color-accent-300)}.addr-cell{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:0}.card-head>.addr-cell{flex:1 1}.addr-cell .card-ip,.card-host{max-width:100%}.card-host{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:14px;color:var(--color-neutral-500)}button.card-host{margin:0 -5px;padding:0 5px;border:0;border-radius:6px;background:transparent;font-family:inherit;text-align:left;cursor:text;transition:background-color .12s,color .12s,opacity .12s}button.card-host.add{opacity:0;color:var(--color-neutral-400)}.card:has(:focus-visible) button.card-host.add,.card:hover button.card-host.add,.row:has(:focus-visible) button.card-host.add,.row:hover button.card-host.add{opacity:1}@media (hover:hover){button.card-host:hover{background:color-mix(in srgb,#f3f2f2 9%,transparent);color:var(--color-neutral-300)}}input.host-edit{width:calc(100% + 10px);height:22px;margin:-3px -5px;padding:0 5px;border:1px solid var(--ring-border);border-radius:6px;background:var(--color-bg);box-shadow:var(--ring);color:var(--color-text);font:inherit;font-size:12px;outline:none}@media (max-width:767px){.view-toggle{display:none}}.card,.row{position:relative}.pick{position:absolute;z-index:2;top:-8px;left:-8px;width:22px;height:22px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--color-bg);box-shadow:inset 0 0 0 1.5px var(--color-neutral-600);color:#fff;opacity:0;pointer-events:none;transition:opacity .12s,background-color .12s,box-shadow .12s}.pick svg{opacity:0;transition:opacity .12s}.row .pick{top:calc(50% - 11px);left:-11px}.pick[aria-checked=true]{background:var(--color-accent);box-shadow:none}.pick[aria-checked=true] svg{opacity:1}.card.selecting .pick,.row.selecting .pick{opacity:1;pointer-events:auto}@media (min-width:768px){.card:has(:focus-visible) .pick,.row:has(:focus-visible) .pick{opacity:1;pointer-events:auto}}@media (hover:hover) and (min-width:768px){.card:hover .pick,.row:hover .pick{opacity:1;pointer-events:auto}}@media (hover:hover){.pick[aria-checked=false]:hover{box-shadow:inset 0 0 0 1.5px var(--color-neutral-300)}.pick[aria-checked=true]:hover{background:var(--color-accent-600)}}.card.picked,.row.picked{background:var(--color-surface-hover);outline-color:color-mix(in srgb,#ec3013 75%,transparent)}@media (hover:hover) and (min-width:768px){.card.selecting,.row.selecting,.selecting .card-desc.editable,.selecting button.card-host,.selecting button.pill-btn{cursor:pointer}.selecting .card-desc.editable:hover,.selecting button.card-host:hover{background:transparent}.selecting .tag-add,.selecting button.card-host.add{opacity:0!important;pointer-events:none}.selecting .chip-edit:hover .chip-x{width:0;margin-left:0;opacity:0}}body:has(.bulk-bar) .content{padding-bottom:88px}.bulk-bar{position:fixed;left:0;right:0;bottom:92px;z-index:20;width:max-content;max-width:calc(100vw - 32px);margin:0 auto;display:flex;align-items:center;gap:4px;padding:8px;border-radius:14px;background:var(--color-surface-hover);box-shadow:var(--shadow-lg);animation:bar-in .18s ease-out backwards}@keyframes bar-in{0%{opacity:0;transform:translateY(12px)}}.bulk-count{padding:0 10px 0 4px;font-size:14px;white-space:nowrap;color:var(--color-neutral-300)}.bulk-count strong{color:var(--color-text)}.bulk-extend{display:flex;gap:2px}.bulk-link{height:32px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--color-accent-400);font-size:13px;font-weight:600;white-space:nowrap;transition:background-color .12s}@media (hover:hover){.bulk-link:hover{background:color-mix(in srgb,#ec3013 16%,transparent)}}.bulk-sep{flex:none;width:1px;height:22px;margin:0 6px;background:var(--color-divider)}.bulk-btn{height:36px;display:flex;align-items:center;gap:8px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--color-text);font-size:14px;font-weight:500;white-space:nowrap;transition:background-color .12s}.bulk-btn[aria-expanded=true]{background:color-mix(in srgb,#f3f2f2 12%,transparent)}.bulk-btn.danger{color:var(--color-accent-400)}@media (hover:hover){.bulk-btn:hover:not(:disabled){background:color-mix(in srgb,#f3f2f2 12%,transparent)}.bulk-btn.danger:hover:not(:disabled){background:color-mix(in srgb,#ec3013 18%,transparent)}}.tag-grid{display:flex;flex-wrap:wrap;gap:8px}.tag-toggle{max-width:100%;height:32px;display:flex;align-items:center;gap:6px;padding:0 12px;border:0;border-radius:999px;background:var(--color-neutral-800);color:var(--color-neutral-200);font-size:13px;transition:background-color .12s,color .12s}.tag-toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-toggle.on{background:var(--color-accent);color:#fff}@media (hover:hover){.tag-toggle:not(.on):hover{background:var(--color-neutral-700)}}body:has(.bulk-bar) .toasts{bottom:160px}.app.selecting .fab{display:none}@media (max-width:767px){.bulk-bar{bottom:68px;width:auto;max-width:none;margin:0 12px}body:has(.bulk-bar) .toasts{bottom:132px}.card,.row{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;transition:padding-left .15s ease-out,background-color .12s}.card.selecting,.row.selecting{padding-left:50px}.pick{width:24px;height:24px;top:14px;left:14px}.row .pick{top:12px;left:14px}}.card.saving:after,.row.saving:after{content:"";position:absolute;top:0;left:16px;right:16px;height:2px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent) no-repeat;background-size:45% 100%;animation:saving-in .15s .25s backwards,saving-run .9s ease-in-out infinite;pointer-events:none}@keyframes saving-in{0%{opacity:0}}@keyframes saving-run{0%{background-position:-50% 0}to{background-position:150% 0}}.bulk-bar .spinner{margin:0 4px 0 -2px;color:var(--color-accent-400)}.content{position:relative}.marquee{display:none;position:fixed;z-index:3;border:1px solid var(--color-accent);border-radius:6px;background:color-mix(in srgb,#ec3013 14%,transparent);pointer-events:none}.content.drag-selecting,.content.drag-selecting *{cursor:default!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.login-or{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--color-neutral-500)}.login-or:after,.login-or:before{content:"";flex:1 1;height:1px;background:var(--color-divider)}.sso-buttons{display:flex;flex-direction:column;gap:8px}.sso-button{height:44px;justify-content:flex-start;padding:0 14px;text-decoration:none}.sso-button[aria-disabled=true]{opacity:.6;pointer-events:none}.sso-button-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sso-button .spinner{margin:0 7px}.sso-mark{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,#f3f2f2 10%,transparent);color:var(--color-neutral-200);font-size:14px;font-weight:800}.sso-list{display:flex;flex-direction:column;padding:8px 24px 0}.sso-row{display:flex;align-items:center;gap:12px;min-height:60px;border-bottom:1px solid var(--color-divider)}.sso-row-main{min-width:0}.sso-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600}.sso-state{width:72px;text-align:right;font-size:12px;color:var(--color-neutral-500)}.sso-state.on{color:var(--color-text)}.sso-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 0 28px;text-align:center;color:var(--color-neutral-500)}.sso-empty p{margin:0;max-width:340px;font-size:14px}.sso-foot{display:flex;align-items:center;gap:12px;padding:16px 24px}.sso-foot .hint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sso-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;padding:20px 24px 4px}.sso-preset{display:flex;align-items:center;gap:12px;padding:12px 14px;border:0;border-radius:10px;background:var(--color-bg);color:var(--color-text);text-align:left}.sso-preset strong{display:block;font-size:14px}.sso-preset small{font-size:12px;color:var(--color-neutral-500)}@media (hover:hover){.sso-preset:hover{background:var(--color-surface-hover);box-shadow:inset 0 0 0 1px var(--color-neutral-700)}}.switch{flex:none;position:relative;width:38px;height:22px;padding:0;border:0;border-radius:999px;background:var(--color-neutral-700);transition:background-color .15s}.switch span{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}.switch.on{background:var(--color-accent)}.switch.on span{transform:translateX(16px)}.switch:disabled{opacity:.5}.switch:focus-visible{outline:none;box-shadow:var(--ring)}.sso-section{display:flex;flex-direction:column;border-radius:10px;background:var(--color-bg)}.toggle-row{display:flex;align-items:flex-start;gap:16px;padding:12px 14px}.toggle-row+.toggle-row{border-top:1px solid var(--color-divider)}.toggle-title{font-size:14px;font-weight:600;margin-bottom:2px}.toggle-row .switch{margin-top:2px}.copy-line{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border-radius:10px;background:var(--color-bg)}.copy-line code{flex:1 1;min-width:0;overflow-wrap:anywhere;font-size:12px;color:var(--color-neutral-200)}.copy-line code,.mono-input{font-family:var(--font-mono)}.mono-input{font-size:13px}.check-line{display:flex;align-items:flex-start;gap:12px;margin-top:4px}.check-line .btn{flex:none}.check-result{min-width:0;padding-top:6px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.check-result.ok{color:var(--color-neutral-300)}.check-result.ok div:first-child{color:#7fd6a0}.check-result.bad{color:var(--color-accent-300)}.sso-advanced summary{cursor:pointer;font-size:13px;color:var(--color-neutral-400)}.sso-note{padding:12px 14px;border-radius:10px;background:color-mix(in srgb,#f3f2f2 5%,transparent);font-size:12.5px;line-height:1.55;color:var(--color-neutral-400)}@media (max-width:767px){.sso-presets{grid-template-columns:1fr}.sso-state{display:none}.sso-foot,.sso-list{padding-left:16px;padding-right:16px}.sso-foot{flex-wrap:wrap}.sso-foot .hint{flex-basis:100%;white-space:normal}.check-line{flex-direction:column}}.users-bar{gap:12px;padding:16px 24px}.users-bar,.users-search{display:flex;align-items:center}.users-search{flex:1 1;min-width:0;height:40px;gap:8px;padding:0 12px;border-radius:10px;background:var(--color-bg);color:var(--color-neutral-500)}.users-search:focus-within{box-shadow:var(--ring)}.users-search input{flex:1 1;min-width:0;height:100%;border:0;outline:none;background:transparent;color:var(--color-text);font-size:14px}.users-list{display:flex;flex-direction:column;padding:0 24px}.user-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--color-divider)}.user-row.off .avatar,.user-row.off .user-main{opacity:.55}.user-row .avatar{width:36px;height:36px}.user-main{min-width:0}.user-name{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.user-name>span:first-child{min-width:0}.user-name>span:first-child,.user-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.chip.muted{background:transparent;color:var(--color-neutral-400)}.chip.muted,.role-badge{box-shadow:inset 0 0 0 1px var(--color-neutral-700)}.role-badge{flex:none;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--color-neutral-300)}.role-badge.admin{background:color-mix(in srgb,#ec3013 16%,transparent);box-shadow:none;color:var(--color-accent-300)}.role-badge.off{color:var(--color-neutral-500)}@media (max-width:767px){.users-bar{padding:12px 16px}.users-list{padding:0 16px}.user-row{flex-wrap:wrap}.user-row .grow{flex-basis:calc(100% - 100px)}.user-row .role-badge{order:3}}.sso-picker{display:flex;flex-direction:column;gap:12px;padding:20px 24px 4px}.sso-picker .sso-presets{padding:0}.sso-picker-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-500)}.sso-universal{display:flex;align-items:center;gap:16px;padding:16px 18px;border:0;border-radius:12px;background:color-mix(in srgb,#ec3013 10%,var(--color-bg));box-shadow:inset 0 0 0 1px color-mix(in srgb,#ec3013 45%,transparent);color:var(--color-text);text-align:left}.sso-universal strong{display:block;margin-bottom:4px;font-size:16px}.sso-universal small{display:block;font-size:12.5px;line-height:1.5;color:var(--color-neutral-400)}@media (hover:hover){.sso-universal:hover{background:color-mix(in srgb,#ec3013 16%,var(--color-bg))}}.sso-mark.big{width:44px;height:44px;border-radius:12px;background:var(--color-accent);color:#fff}.sso-mark{font-size:12px;letter-spacing:.02em}.tag-chip em{flex:none;font-size:11px;font-style:normal;color:var(--color-neutral-500)}.tag-chip.on{background:color-mix(in srgb,#ec3013 18%,transparent)}.tag-chip.on,.tag-chip.on em{color:var(--color-accent-300)}.tag-chip.off{opacity:.7}.tag-chip.off>span:first-child{text-decoration:line-through}.tag-chip.off em{color:var(--color-accent-400)}button.tags-placeholder.add{color:var(--color-accent-300)}@keyframes sink{to{opacity:0;transform:translateY(14px)}}@keyframes fade-out{to{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}}@keyframes pop-out{to{opacity:0;transform:translateY(-4px) scale(.98)}}@keyframes bar-out{to{opacity:0;transform:translateY(12px)}}.leave-host,.leaving{pointer-events:none}.leave-host{position:fixed;inset:auto;margin:0;padding:0;border:0;background:transparent;color:inherit;max-width:none;max-height:none;overflow:visible}dialog.leave-host[open]::-webkit-backdrop{pointer-events:none;background:color-mix(in srgb,#000 62%,transparent);animation:fade-out .16s ease-in forwards}dialog.leave-host[open]::backdrop{pointer-events:none;background:color-mix(in srgb,#000 62%,transparent);animation:fade-out .16s ease-in forwards}dialog.leave-host[open]>.leaving{animation:sink .16s ease-in forwards}.panel[data-placed]{animation:pop-in .14s ease-out}.panel.leaving{animation:pop-out .12s ease-in forwards}.toast.leaving{animation:fade-out .16s ease-in forwards}.bulk-bar.leaving{animation:bar-out .16s ease-in forwards}.swipe{--p:0;position:relative;touch-action:pan-y}.swipe[data-swipe=open]{--p:1}.swipe-front{position:relative}.swipe-actions{position:absolute;top:0;right:0;bottom:0;width:140px;display:flex;align-items:center;justify-content:center;gap:12px;transition:visibility 0s linear .26s}.swipe[data-swipe=idle] .swipe-actions{visibility:hidden}.swipe[data-swipe=drag] .swipe-actions,.swipe[data-swipe=open] .swipe-actions{transition-delay:0s}.swipe-btn{flex:none;width:52px;height:52px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--color-surface-hover);color:var(--color-text);box-shadow:0 0 0 1px var(--color-divider);opacity:var(--p);transform:scale(calc(.5 + .5 * var(--p)));transition:opacity .26s,transform .26s cubic-bezier(.22,.8,.28,1)}.swipe[data-swipe=drag] .swipe-btn{transition:none}.swipe-btn.danger{background:var(--color-accent);box-shadow:none;color:#fff}.swipe-btn:active{filter:brightness(1.2)}.list-end{height:40px;display:grid;place-items:center;color:var(--color-neutral-500)}.app{position:relative}.ptr{display:none}@media (max-width:767px){.ptr{position:absolute;left:50%;top:0;z-index:1;width:22px;height:22px;display:grid;place-items:center;color:var(--color-neutral-500);opacity:0;pointer-events:none;transform:translate(-50%,-11px)}.ptr svg{transform:rotate(var(--turn,0deg))}.ptr[data-state=busy],.ptr[data-state=ready]{color:var(--color-accent-400)}.ptr[data-state=busy] svg{animation:spin .7s linear infinite}.content[data-pulling]>.empty,.content[data-pulling]>.grid{transform:translateY(var(--pull,0));transition:transform var(--pull-time,0s) cubic-bezier(.22,.8,.28,1)}.content{overscroll-behavior-y:contain;overflow-x:hidden}}.modal-head,.sheet-handle,.sheet-title{touch-action:none}.modal-body,.modal-scroll,.sheet{overscroll-behavior:contain}@keyframes slide-away{to{transform:translateY(100vh)}}dialog.leave-host[open]>.leaving[data-swiped]{animation:slide-away .22s cubic-bezier(.4,0,1,1) forwards}dialog[open]::-webkit-backdrop{opacity:calc(1 - var(--drag, 0) * .85)}dialog[open]::backdrop{opacity:calc(1 - var(--drag, 0) * .85)}dialog[open]:not([data-dragging])::-webkit-backdrop{-webkit-transition:opacity .24s ease-out;transition:opacity .24s ease-out}dialog[open]:not([data-dragging])::backdrop{transition:opacity .24s ease-out}body,html{overscroll-behavior:none}html{text-size-adjust:100%;touch-action:manipulation}@media (hover:none) and (pointer:coarse){.btn,.bulk-bar,.card,.fab,.header,.option,.pager,.select,.sheet,.swipe,.toast,.toolbar{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}.btn,.fab,.icon-btn,.page-btn{transition:transform .12s ease-out,background-color .12s,filter .12s}.btn:active:not(:disabled),.fab:active,.icon-btn:active:not(:disabled),.page-btn:active:not(:disabled){transform:scale(.95)}}@media (max-width:767px){.header{height:calc(56px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.app{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.pager{height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.fab{bottom:calc(72px + env(safe-area-inset-bottom))}.toasts{bottom:calc(80px + env(safe-area-inset-bottom))}}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:radial-gradient(900px 460px at 50% -120px,color-mix(in srgb,var(--color-accent) 15%,transparent),transparent 70%),var(--color-bg)}.login-card{width:min(400px,100%);display:flex;flex-direction:column;gap:18px;padding:32px;border-radius:18px;background:var(--color-surface);box-shadow:var(--shadow-lg)}.login-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-heading);font-weight:800;font-size:15px;letter-spacing:-.01em;color:var(--color-neutral-300)}.login-head{margin:6px 0 4px}.login-head h1{font-size:30px;line-height:1.15}.login-head p{margin:6px 0 0;font-size:14px;color:var(--color-neutral-500)}.login-card .input{height:46px}.pass-wrap{position:relative}.pass-wrap .input{padding-right:46px}.pass-eye{position:absolute;top:3px;right:3px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:var(--color-neutral-500);transition:color .12s}@media (hover:hover){.pass-eye:hover{color:var(--color-text)}}.login-submit{height:46px;font-size:15px}.login-skeleton{display:flex;flex-direction:column;gap:18px}.login-skeleton .skeleton{background:linear-gradient(90deg,var(--color-surface-hover) 0,color-mix(in srgb,#f3f2f2 9%,var(--color-surface)) 50%,var(--color-surface-hover) 100%);background-size:200% 100%}.boot-splash{min-height:100dvh;display:grid;place-items:center;background:var(--color-bg)}.boot-splash .brand-mark{animation:splash 1.1s ease-in-out infinite}@keyframes splash{50%{opacity:.35;transform:scale(.88)}}@media (max-width:767px){.login-screen{place-items:start stretch;padding-top:max(12dvh,env(safe-area-inset-top))}.login-card{width:100%;max-width:440px;margin:0 auto;padding:0;background:transparent;box-shadow:none}.login-card .btn-secondary,.login-card .input{background:var(--color-surface)}}