.appbar{z-index:15;background:var(--surface);border-bottom:1px solid var(--border);justify-content:flex-end;padding:10px 32px;display:flex;position:sticky;top:0}.global-search{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:min(460px,100%);color:var(--ink-2);align-items:center;gap:8px;padding:0 10px;display:flex}.global-search:focus-within{border-color:var(--accent)}.global-search input{min-width:0;box-shadow:none;background:0 0;border:0;flex:1;padding:8px 0}.global-search input:focus{outline:none}.global-search__key{border:1px solid var(--border);color:var(--ink-2);border-radius:4px;padding:0 6px;font-size:12px}.inventory-switcher{gap:4px;margin-bottom:8px;font-size:12px;display:grid}.inventory-switcher select{width:100%}.search-group{margin-bottom:20px}.search-group h2{margin-bottom:8px;font-size:14px}.search-hits{gap:0;margin:0;padding:0;list-style:none;display:grid}.search-hit a{border-bottom:1px solid var(--grid);color:inherit;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:10px 12px;text-decoration:none;display:flex}.search-hit a:hover,.search-hit a:focus-visible{background:var(--grid)}.search-hit__title{font-weight:600}.grant-list{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.grant-chip{background:var(--grid);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px}.scope-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr) auto;align-items:end;gap:8px;margin-bottom:8px;display:grid}.perm-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px 12px;display:grid}.perm-grid label{align-items:center;gap:6px;font-size:13px;display:flex}.secret-box{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);width:100%;font-family:var(--font-mono,monospace);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;padding:10px;display:block}.audit-filters{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 12px;margin-bottom:16px;display:grid}.audit-result--failure{color:var(--status-critical-text)}.diff{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.diff pre{border-radius:var(--radius-sm);background:var(--grid);white-space:pre-wrap;overflow-wrap:anywhere;max-height:50vh;margin:0;padding:10px;font-size:12px;overflow:auto}.diff-table td:first-child{white-space:nowrap;font-weight:600}.diff-table .diff--changed td{background:var(--grid)}@media (width<=900px){.appbar{padding:8px 16px}.scope-row,.diff{grid-template-columns:minmax(0,1fr)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f6f8f8;--surface:#fff;--surface-2:#eef2f2;--ink:#090b0b;--ink-2:#4a5555;--ink-3:#6b7777;--grid:#e3e6e6;--axis:#cfd4d4;--border:#090b0b1a;--border-strong:#090b0b38;--wash:#090b0b0d;--overlay:#090b0b80;--accent:#007a6b;--accent-wash:#00baa31f;--accent-bright:#00f2d4;--mint:#8feeb4;--btn-bg:#00f2d4;--btn-bg-hover:#00dcc1;--btn-ink:#02060a;--series-1:#0f9e8b;--series-2:#eb6834;--series-3:#2a78d6;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-8:#e34948;--status-good:#0ca30c;--status-good-text:#006300;--status-warning:#fab219;--status-serious:#ec835a;--status-critical:#d03b3b;--status-critical-text:#b42f2f;--status-unknown:#898781;--map-land:#0096841f;--map-border:#090b0b29;--map-grid:#090b0b0f;--glass:color-mix(in srgb, var(--surface) 90%, transparent);--radius:14px;--radius-sm:8px;--shadow:0 1px 2px #090b0b0a, 0 6px 20px #090b0b0d;--font:system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#090b0b;--surface:#131515;--surface-2:#1a1e1e;--ink:#fff;--ink-2:#b8c2c2;--ink-3:#7d8989;--grid:#222828;--axis:#2f3636;--border:#cfd4d41f;--border-strong:#cfd4d43d;--wash:#cfd4d40f;--overlay:#000000a6;--accent:#00f2d4;--accent-wash:#00f2d41f;--series-1:#0fa592;--series-2:#d95926;--series-3:#3987e5;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--status-good-text:#0ca30c;--status-critical-text:#ec6b6b;--shadow:none;--map-land:#00f2d41a;--map-border:#cfd4d429;--map-grid:#cfd4d40d}}:root[data-theme=dark],.landing{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#090b0b;--surface:#131515;--surface-2:#1a1e1e;--ink:#fff;--ink-2:#b8c2c2;--ink-3:#7d8989;--grid:#222828;--axis:#2f3636;--border:#cfd4d41f;--border-strong:#cfd4d43d;--wash:#cfd4d40f;--overlay:#000000a6;--accent:#00f2d4;--accent-wash:#00f2d41f;--series-1:#0fa592;--series-2:#d95926;--series-3:#3987e5;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--status-good-text:#0ca30c;--status-critical-text:#ec6b6b;--shadow:none;--map-land:#00f2d41a;--map-border:#cfd4d429;--map-grid:#cfd4d40d;--glass:color-mix(in srgb, var(--surface) 90%, transparent)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--page);color:var(--ink);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p{margin:0}h1{letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.2}h2{font-size:15px;font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--ink-2)}.mono{font-family:var(--mono);font-size:13px}.num{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--map-left:248px}.app{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--btn-bg);color:var(--btn-ink);padding:8px 12px;position:absolute;top:-48px;left:12px}.skip-link:focus{top:12px}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:24px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar__brand{align-items:center;gap:10px;padding:0 8px;display:flex}.sidebar__brand strong{font-size:15px;line-height:1.2;display:block}.sidebar__brand small{color:var(--ink-2);font-size:12px;display:block}.logo{border-radius:24%;flex:none;display:block}.sidebar__logo{box-shadow:0 6px 18px color-mix(in srgb, var(--btn-bg) 25%, transparent)}.sidebar__nav{gap:2px;display:grid}.nav-link{border-radius:var(--radius-sm);height:40px;color:var(--ink-2);align-items:center;gap:12px;padding:0 12px;font-weight:500;display:flex}.nav-link:hover{background:var(--wash);color:var(--ink);text-decoration:none}.nav-link.is-active{background:var(--accent-wash);color:var(--ink);box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.nav-link.is-active svg{color:var(--accent)}.nav-link__count{color:var(--ink-2);background:var(--wash);border-radius:999px;margin-left:auto;padding:0 8px;font-size:12px}.sidebar__footer{justify-content:space-between;align-items:center;padding:0 8px;font-size:13px;display:flex}.segmented{background:var(--wash);border-radius:8px;padding:2px;display:inline-flex}.segmented__item{width:28px;height:26px;color:var(--ink-2);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.segmented__item.is-active{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--border)}.app__main{z-index:1;min-width:0;position:relative}.topbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:none;position:sticky;top:0}.topbar__brand{align-items:center;gap:8px;font-weight:650;display:inline-flex}.page{max-width:1760px;margin:0 auto;padding:28px 32px 64px}.page:focus{outline:none}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px;margin-bottom:24px;display:flex}.page-header p{margin-top:4px}.page-header__actions{flex-wrap:wrap;gap:8px;display:flex}.scrim{z-index:30;background:var(--overlay);position:fixed;inset:0}.toasts{z-index:200;gap:8px;width:min(380px,100vw - 32px);margin:0;padding:0;list-style:none;display:grid;position:fixed;bottom:16px;right:16px}.toast{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border-strong);align-items:center;gap:10px;padding:10px 8px 10px 14px;display:flex;box-shadow:0 8px 24px #00000024}.toast span{flex:1}.toast--success svg:first-child{color:var(--status-good-text)}.toast--error svg:first-child{color:var(--status-critical-text)}.toast--info svg:first-child{color:var(--accent)}@media (width<=900px){:root{--map-left:0px}.app{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:40;width:272px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.is-open{transform:none}.topbar{display:flex}.page{padding:20px 16px 56px}}.page>.card+.card,.page>.card+.grid,.page>.card+.dashboard,.page>.grid+.card{margin-top:16px}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);height:36px;color:var(--ink);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:550;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--wash)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn[aria-busy=true]{cursor:progress}.btn--sm{height:30px;padding:0 10px;font-size:13px}.btn--primary{background:var(--btn-bg);border-color:var(--btn-bg);color:var(--btn-ink)}.btn--primary:hover:not(:disabled){background:var(--btn-bg-hover)}.btn--ghost{background:0 0;border-color:#0000}.btn--danger{background:var(--status-critical);border-color:var(--status-critical);color:#fff}.btn--danger:hover:not(:disabled){background:#b83232}.btn--icon{width:30px;padding:0}.btn--icon.btn--md{width:36px}.btn--icon[aria-pressed=true]{background:var(--accent-wash);color:var(--accent)}.spinner{border:3px solid var(--grid);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin;display:inline-block}.spinner--inline{opacity:.8;border-width:2px;border-color:#0000 currentColor currentColor;width:14px;height:14px}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:20px}.card--flush{padding:0;overflow:hidden}.card--flush>.card__header{margin:0;padding:20px 20px 16px}.card--flush>p,.card--flush>.muted,.card--flush>.empty,.card--flush>.empty-state,.card--flush>.field__error,.card--flush>.card__body{margin:0;padding:0 20px 20px}.card--flush>.card__header+p,.card--flush>.card__header+.muted{padding-top:0}.card__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.card__subtitle{color:var(--ink-2);margin-top:2px;font-size:13px}.card__actions{align-items:center;gap:8px;display:flex}.link-btn--plain{color:inherit;font-weight:500}.card-link,.link-btn{color:var(--accent);text-align:left;background:0 0;border:0;padding:0;font-weight:550}.card-link:hover,.link-btn:hover{text-decoration:underline}.stat{background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:16px 18px}.stat__label{color:var(--ink-2);font-size:13px}.stat__value{letter-spacing:-.01em;margin-top:4px;font-size:28px;font-weight:650;line-height:1.15}.stat--hero .stat__value{letter-spacing:-.02em;font-size:52px;line-height:1.05}.stat__detail{color:var(--ink-2);margin-top:6px;font-size:12.5px}input,select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);height:36px;color:var(--ink);min-width:0;padding:0 10px}input::placeholder{color:var(--ink-3)}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--btn-bg);padding:0}select{padding-right:28px}.field{align-content:start;gap:6px;display:grid}.field label{font-size:13px;font-weight:550}.field__required{color:var(--status-critical-text)}.field__hint{color:var(--ink-2);font-size:12.5px}.field__error{color:var(--status-critical-text);font-size:12.5px;font-weight:500}.field--error input,.field--error select{border-color:var(--status-critical)}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid__full{grid-column:1/-1}.form-error{border-radius:var(--radius-sm);border:1px solid var(--status-critical);color:var(--status-critical-text);background:color-mix(in srgb, var(--status-critical) 8%, transparent);grid-column:1/-1;margin:12px 0;padding:10px 12px}.fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);gap:8px;min-width:0;margin:0;padding:12px 14px 14px;display:grid}.fieldset legend{padding:0 6px;font-size:13px;font-weight:550}.form-grid__full.fieldset{margin:0}.check{cursor:pointer;align-items:center;gap:8px;display:flex}.footer-check{margin-right:auto}.form-actions{gap:8px;margin-top:16px;display:flex}.form-actions--flush{margin-top:0}.stack-md{justify-items:start;gap:14px;display:grid}.stack-md>*{max-width:100%}.stack-md>.dropzone,.stack-md>.fieldset{justify-self:stretch}.dialog{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:min(480px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--ink);padding:0;box-shadow:0 24px 64px #0000004d}.dialog--wide{width:min(680px,100vw - 32px)}.dialog::backdrop{background:var(--overlay)}.dialog__panel{flex-direction:column;max-height:calc(100vh - 48px);display:flex}.dialog__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 12px 20px;display:flex}.dialog__header h2{overflow-wrap:anywhere;font-size:16px}.dialog__body{padding:16px 20px;overflow-y:auto}.dialog__footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px 16px;display:flex}.table-scroll{position:relative;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:var(--ink-2);white-space:nowrap;border-bottom:1px solid var(--border);padding:10px 12px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid var(--grid);vertical-align:middle;padding:10px 12px}.data-table tbody tr:last-child td{border-bottom:0}.data-table--rows tbody tr:hover td{background:var(--wash)}.data-table tr.is-selected td{background:var(--accent-wash)}.data-table--rows tbody tr{cursor:pointer}.data-table tr.is-focused td{background:var(--accent-wash);box-shadow:inset 0 1px 0 var(--accent), inset 0 -1px 0 var(--accent)}.data-table tr.is-focused td:first-child{box-shadow:inset 3px 0 0 var(--accent), inset 0 1px 0 var(--accent), inset 0 -1px 0 var(--accent)}.num-col{text-align:right!important}.check-col{width:40px;padding-right:0!important}.actions-col{text-align:right;white-space:nowrap;width:1%}.cell-sub{text-overflow:ellipsis;white-space:nowrap;max-width:260px;color:var(--ink-2);font-size:12px;display:block;overflow:hidden}.row-actions{gap:2px;display:inline-flex}.sort-btn{font:inherit;color:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.sort-btn:hover,.sort-btn.is-active{color:var(--ink)}.sort-btn__icon{width:14px;display:inline-flex}.tags{flex-wrap:wrap;gap:4px;display:inline-flex}.tag{white-space:nowrap;background:var(--wash);color:var(--ink-2);border:0;border-radius:999px;padding:1px 8px;font-size:12px}.tag:hover{background:var(--accent-wash);color:var(--ink)}.badge{background:var(--wash);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px 2px 3px;font-size:12px;font-weight:600;display:inline-flex}.badge__icon{color:#fff;border-radius:50%;place-items:center;width:16px;height:16px;display:grid}.badge--up{color:var(--status-good-text)}.badge--up .badge__icon{background:var(--status-good)}.badge--down{color:var(--status-critical-text)}.badge--down .badge__icon{background:var(--status-critical)}.badge--unknown{color:var(--ink-2)}.badge--unknown .badge__icon{background:var(--status-unknown)}.badge--busy{color:var(--ink-2);padding-left:10px}.chip{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.chip__dot{border-radius:2px;width:8px;height:8px}.country{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.country--unknown{color:var(--ink-3)}.country__flag{font-size:16px;line-height:1}.filters{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:14px 16px;display:flex}.search{flex:260px;max-width:380px;position:relative}.search svg{color:var(--ink-3);pointer-events:none;position:absolute;top:10px;left:10px}.search input{width:100%;padding-left:32px}.select select{max-width:176px}.select--inline{align-items:center;gap:8px;display:inline-flex}.filters__count{margin-left:auto;font-size:13px}.bulkbar{background:var(--accent-wash);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex}.bulkbar__spacer{flex:1}.progress{appearance:none;background:var(--accent-wash);border:0;width:100%;height:4px;display:block}.progress::-webkit-progress-bar{background:var(--accent-wash)}.progress::-webkit-progress-value{background:var(--series-1);transition:width .2s}.progress::-moz-progress-bar{background:var(--series-1)}.pagination{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px 24px;padding:10px 16px;font-size:13px;display:flex}.pagination__size{align-items:center;gap:8px;display:inline-flex}.pagination__nav{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.empty{text-align:center;justify-items:center;gap:8px;padding:48px 24px;display:grid}.empty p{max-width:52ch}.empty__icon{background:var(--accent-wash);width:48px;height:48px;color:var(--accent);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.empty__actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}@media (width<=1599px){.hide-xl{display:none}}@media (width<=1100px){.hide-lg{display:none}}@media (width<=800px){.hide-md{display:none}.form-grid,.form-grid--3{grid-template-columns:minmax(0,1fr)}}.cleanbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex}.cleanbar__label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-right:4px;font-size:12px;font-weight:600}.cleanbar__hint{color:var(--ink-3);font-size:12px}.notice{border:1px solid var(--border);border-radius:var(--radius);background:var(--accent-wash);color:var(--ink);flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:16px;padding:10px 14px;display:flex}.notice>svg{color:var(--accent);flex:none}.notice__text{color:var(--ink-2);flex:260px;margin:0;font-size:13px}.notice__text strong{color:var(--ink)}.donut,.bars,.columns,.area{position:relative}.tooltip{z-index:10;pointer-events:none;border:1px solid var(--border-strong);background:var(--surface);white-space:nowrap;border-radius:8px;padding:8px 10px;font-size:12px;position:absolute;transform:translate(14px,calc(-100% - 10px));box-shadow:0 6px 20px #00000029}.tooltip--flip{transform:translate(calc(-100% - 14px),calc(-100% - 10px))}.tooltip__title{color:var(--ink-2);margin-bottom:4px}.tooltip__row{align-items:center;gap:6px;display:flex}.tooltip__row strong{font-size:13px}.tooltip__row span:last-child{color:var(--ink-2)}.tooltip__key{border-radius:2px;width:10px;height:3px}.donut{flex-direction:column;align-items:center;gap:16px;display:flex}.donut__plot{width:176px;height:176px;position:relative}.donut__center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut__value{font-size:26px;font-weight:650;line-height:1.1}.donut__label{color:var(--ink-2);font-size:12px}.donut__segment{outline:none;transition:stroke-width .12s}.donut__segment--link{cursor:pointer}.donut__segment:focus-visible{filter:brightness(1.2)}.legend{gap:2px;width:100%;margin:0;padding:0;list-style:none;display:grid}.legend--inline{flex-wrap:wrap;gap:4px 16px;margin-bottom:12px;display:flex}.legend__row{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.legend--inline .legend__row{width:auto;padding:0}.legend__row--link{cursor:pointer}.legend__row--link:hover{background:var(--wash)}.legend__swatch{border-radius:3px;flex:none;width:10px;height:10px}.legend__label{flex:1}.legend__value{font-weight:600}.legend__share{text-align:right;min-width:48px;color:var(--ink-2)}.bars__list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.bars__row{text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:minmax(96px,168px) minmax(0,1fr);align-items:center;gap:12px;width:100%;min-height:36px;padding:4px 8px;display:grid}.bars__row--link{cursor:pointer}.bars__row:hover{background:var(--wash)}.bars__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bars__track{align-items:center;gap:8px;min-width:0;display:flex}.bars__bar{height:16px;width:calc((100% - 56px) * var(--ratio));background:var(--series-1);border-radius:0 4px 4px 0;flex:none;min-width:2px;display:block}.bars__bar--other{background:var(--ink-3)}.bars__value{min-width:40px;font-size:13px;font-weight:600}.columns__body{grid-template-columns:36px minmax(0,1fr);gap:8px;display:grid}.columns__y,.columns__inner{height:168px;margin-top:22px;position:relative}.columns__tick{color:var(--ink-3);font-size:11px;position:absolute;right:0;transform:translateY(50%)}.columns__grid{background:var(--grid);height:1px;position:absolute;left:0;right:0}.columns__grid:first-of-type{background:var(--axis)}.columns__cols{grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:absolute;inset:0}.columns__band{cursor:default;background:0 0;border:0;justify-content:center;align-items:flex-end;padding:0 4px;display:flex;position:relative}.columns__col{background:var(--series-1);border-radius:4px 4px 0 0;width:100%;max-width:24px;transition:filter .12s;display:block}.columns__band:hover .columns__col,.columns__band:focus-visible .columns__col{filter:brightness(1.15)}.columns__value{text-align:center;font-size:12px;font-weight:600;position:absolute;left:0;right:0}.columns__x{text-align:center;color:var(--ink-3);grid-auto-columns:1fr;grid-auto-flow:column;margin:6px 0 0 44px;font-size:10.5px;display:grid}.columns__title{text-align:center;color:var(--ink-3);margin-top:2px;font-size:12px}.area__body{grid-template-columns:36px minmax(0,1fr);gap:8px;display:grid}.area__y{height:176px;position:relative}.area__tick{color:var(--ink-3);font-size:11px;position:absolute;right:0;transform:translateY(50%)}.area__plot{cursor:crosshair;height:176px;position:relative}.area__plot:focus-visible{outline-offset:6px}.area__grid{background:var(--grid);height:1px;position:absolute;left:0;right:0}.area__plot svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.area__fill{fill:var(--series-1);fill-opacity:.1;stroke:none}.area__line{fill:none;stroke:var(--series-1);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.area__cross{background:var(--axis);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.area__dot{background:var(--series-1);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);pointer-events:none;border-radius:50%;margin:-5px 0 0 -5px;position:absolute}.area__x{color:var(--ink-3);justify-content:space-between;margin:8px 0 0 44px;font-size:11px;display:flex}.meter{align-items:center;gap:8px;min-width:150px;display:inline-flex}.meter--none{color:var(--ink-3)}.meter__track{background:var(--accent-wash);border-radius:4px;flex:1;height:8px;display:block;overflow:hidden}.meter__fill{border-radius:4px;height:100%;display:block}.meter__fill--ok{background:var(--series-1)}.meter__fill--warning{background:var(--status-warning)}.meter__fill--critical{background:var(--status-critical)}.meter__text{text-align:right;min-width:38px;font-size:12.5px}.stack{gap:2px;width:100%;min-width:96px;max-width:200px;height:10px;display:flex}.stack__seg{border-radius:2px;min-width:3px;display:block}.stack__seg--empty{background:var(--grid)}.chart-empty{text-align:center;place-items:center;min-height:200px;padding:0 16px;display:grid}.dashboard,.stack-lg{gap:16px;display:grid}.kpis{grid-template-columns:1.5fr repeat(4,minmax(0,1fr));gap:16px;display:grid}.kpis--5{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:8px}.kpis--5 .stat__value{font-size:24px}.grid{gap:16px;display:grid}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.grid--top{align-items:start}.section-title{margin:20px 0 8px;font-size:14px}.attention-list{margin:0;padding:0;list-style:none;display:grid}.attention-list li{border-bottom:1px solid var(--grid);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.attention-list li:last-child{border-bottom:0}.attention-ok{color:var(--status-good-text);align-items:center;gap:8px;font-weight:550;display:flex}.attention-empty{justify-items:start;gap:12px;display:grid}.share{align-items:center;gap:8px;min-width:140px;display:flex}.share__bar{background:var(--series-1);border-radius:0 4px 4px 0;min-width:2px;height:8px;display:block}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--page);text-align:center;cursor:pointer;justify-items:center;gap:4px;padding:32px 16px;transition:background .12s,border-color .12s;display:grid}.dropzone:hover,.dropzone.is-dragging{border-color:var(--accent);background:var(--accent-wash)}.dropzone:focus-within{outline:2px solid var(--accent);outline-offset:2px}.dropzone.is-busy{opacity:.6;cursor:progress}.dropzone svg{color:var(--accent)}.plain-list{gap:4px;margin:0;padding-left:18px;display:grid}.import-result{margin-top:16px}@media (width<=1280px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis .stat--hero{grid-column:1/-1}.grid--3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (width<=1000px){.grid--2,.grid--2-1{grid-template-columns:minmax(0,1fr)}.kpis--5{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.stat--hero .stat__value{font-size:44px}}.map-layer{top:0;bottom:0;right:0;left:var(--map-left);z-index:0;pointer-events:none;position:fixed;overflow:hidden}.map-svg{display:block;position:absolute;inset:0}.map-world{transform-origin:0 0;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}.map-land{fill:var(--map-land)}.map-borders{fill:none;stroke:var(--map-border);stroke-width:.7px;vector-effect:non-scaling-stroke}.map-grid{stroke:var(--map-grid);stroke-width:1px;vector-effect:non-scaling-stroke}.map-marker{transition:transform 1.1s cubic-bezier(.22,1,.36,1)}.map-dot{stroke:var(--surface);stroke-width:2px}.map-pulse{fill:var(--accent);transform-box:fill-box;transform-origin:50%;animation:2.2s ease-out infinite map-pulse}@keyframes map-pulse{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(3.4)}}.map-window{height:max(220px,36vh);margin-bottom:8px}.map-caption{z-index:5;pointer-events:auto;width:max-content;max-width:min(560px,100vw - 32px);position:fixed;transform:translate(-50%)}.map-caption__body{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);padding:8px 8px 8px 14px;animation:.45s cubic-bezier(.22,1,.36,1) .5s both map-caption-in;box-shadow:0 8px 28px #00000029}.map-caption__head{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.map-caption__place{color:var(--ink-2);margin-top:2px;padding-right:6px;font-size:12.5px}@keyframes map-caption-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.map-pulse{opacity:.25;animation:none}.map-caption__body{animation:none}}.auth{--map-left:0px;place-items:center;min-height:100vh;padding:24px 16px;display:grid;position:relative}.auth__main{z-index:1;gap:16px;width:min(420px,100%);display:grid;position:relative}.auth__card{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);padding:28px;box-shadow:0 16px 48px #00000024}.auth__brand{width:fit-content;color:var(--ink);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:20px;display:flex}.auth__brand:hover{text-decoration:none}.auth__home{color:var(--ink-2);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;justify-self:start;align-items:center;gap:4px;padding:4px 10px 4px 6px;display:inline-flex}.auth__home:hover{color:var(--ink);text-decoration:none}.auth__brand strong{font-size:15px;line-height:1.2;display:block}.auth__brand small{color:var(--ink-2);font-size:12px;display:block}.auth__subtitle{margin-top:4px}.auth__form{gap:16px;margin-top:20px;display:grid}.auth__form .form-error{margin:0}.auth__submit{width:100%;height:40px;margin-top:4px}.auth__footer{text-align:center;color:var(--ink-2);border-radius:var(--radius-sm);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 12px}.password{display:block;position:relative}.password input{width:100%;padding-right:40px}.password__toggle{width:30px;height:30px;color:var(--ink-2);background:0 0;border:0;border-radius:6px;place-items:center;display:grid;position:absolute;top:3px;right:3px}.password__toggle:hover{background:var(--wash);color:var(--ink)}.sidebar__bottom{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:auto;display:grid}.sidebar__bottom .sidebar__footer{margin-top:0}.account{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--page);align-items:center;gap:8px;padding:8px;display:flex}.account__avatar{background:var(--accent-wash);width:30px;height:30px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:650;display:grid}.account__who{flex:1;min-width:0}.account__who strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.forecast__line{fill:none;stroke:var(--series-2);stroke-width:2px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.forecast__limit{stroke:var(--status-critical);stroke-width:1px;stroke-dasharray:2 3;vector-effect:non-scaling-stroke}.forecast__swatch{background:repeating-linear-gradient(90deg, var(--series-2) 0 5px, transparent 5px 8px)!important}.forecast__legend{margin-top:8px}.sev{white-space:nowrap;align-items:center;gap:6px;font-size:.85em;font-weight:600;display:inline-flex}.sev:before{content:"";background:var(--status-unknown);border-radius:2px;width:8px;height:8px}.sev--critical:before{background:var(--status-critical)}.sev--high:before{background:var(--status-serious)}.sev--warning:before{background:var(--status-warning)}.sev--info:before{background:var(--accent)}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.tabs__item{color:var(--ink-2,inherit);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px}.tabs__item.is-active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.tabs__count{font-variant-numeric:tabular-nums;opacity:.7;margin-left:6px}.kpi-link{text-align:left;width:100%;height:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0;display:flex}.kpi-link>.stat{flex-direction:column;flex:1;justify-content:flex-start;display:flex}.kpis--ops{grid-template-columns:minmax(0,1.5fr);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}@media (width<=1280px){.kpis--ops{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row}}@media (width<=700px){.kpis--ops{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi-link:hover .stat,.kpi-link:focus-visible .stat{box-shadow:0 0 0 2px var(--accent-wash)}.sev-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.sev-list li{justify-content:space-between;align-items:center;display:flex}.ops-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:16px;display:grid}.report-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.report-option{border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.report-option input{flex-shrink:0;margin-top:3px}.report-option__text{gap:2px;min-width:0;display:grid}.report-option__desc{color:var(--ink-2);font-size:12.5px;line-height:1.4}.report-option.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.report-option[aria-disabled=true]{opacity:.55;cursor:not-allowed}.report-form{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-top:20px;display:flex}.report-form .field{min-width:200px}.report-form select,.report-form input{width:100%}.kpis--3,.kpis--4{margin-bottom:16px}.kpis--3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis--4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpis--3 .stat__value,.kpis--4 .stat__value{font-size:24px}.chip--conflict{color:var(--status-critical-text);font-weight:600}.bulk-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.select--sm select,.input--sm{padding-top:4px;padding-bottom:4px;font-size:13px}.input--sm{width:150px}.cell-line{font-size:13px;display:block}.timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.timeline__item{border-left:2px solid var(--grid);margin-left:6px;padding:0 0 16px 20px;position:relative}.timeline__item:before{content:"";background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:3px;left:-7px}.timeline__item--conflict:before{border-color:var(--status-critical)}.timeline__item--deleted:before,.timeline__item--released:before{border-color:var(--status-unknown)}.timeline__head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.timeline__head .muted{font-size:13px}.timeline__changes{overflow-wrap:anywhere;margin:4px 0 0;padding:0;font-size:13px;list-style:none}.timeline__changes del{color:var(--ink-3)}.timeline__note{margin:4px 0 0;font-size:13px;font-style:italic}.details{grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;margin:0;display:grid}.details dt{color:var(--ink-3);font-size:13px}.details dd{overflow-wrap:anywhere;margin:0}.details__pair{display:contents}@media (width<=720px){.kpis--3,.kpis--4{grid-template-columns:repeat(2,minmax(0,1fr))}.input--sm{width:120px}}.kind-chip{border:1px solid var(--border);color:var(--ink-3);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.kind-chip--supernet,.kind-chip--address_space{color:var(--accent);border-color:currentColor}.plan-tree__name{align-items:center;gap:6px;min-width:0;display:flex}.plan-tree__toggle{width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;line-height:1}.plan-tree__toggle:hover{background:var(--wash)}.plan-tree__spacer{flex:none;width:22px}.plan-tree__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plan-tree__row--container td{font-weight:600}.facts{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 24px;margin:0;display:grid}.facts__row dt{color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.facts__row dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:2px 0 0}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar input[type=search],.toolbar input[type=text]{min-width:220px}.notes{margin:12px 0 0;padding-left:1.2em}.breadcrumbs{color:var(--ink-3);flex-wrap:wrap;gap:4px;margin:0 0 8px;padding:0;font-size:.85rem;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";margin-right:4px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 16px;display:grid}.status-create,.status-update{color:var(--status-good-text)}.status-invalid,.status-overlap{color:var(--status-critical-text)}.plan-toolbar{margin-bottom:12px}.plan-toolbar__vlan{width:72px}.plan-tree__row.is-focused td{background:color-mix(in srgb, var(--accent) 10%, transparent)}.plan-tree .cell-sub{margin-left:8px;display:inline}.plan-error strong{display:block}.plan-error p{margin:4px 0 0}.plan-preview{justify-items:stretch;margin-top:16px}.data-table tr.is-problem td{background:color-mix(in srgb, var(--status-critical) 6%, transparent)}.status-skip,.status-duplicate{color:var(--ink-3)}.link-button{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.calc-form{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.calc-form .field{flex:240px}.vlan-summary{justify-items:stretch}
