:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--build:1;color:#f4f2ee;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#070809;--panel:#101214;--panel-muted:#171b1f;--border:#272b30;--border-strong:#3d4249;--text:#f4f2ee;--muted:#aaa8a4;--accent:#ff7a00;--accent-strong:#ff9a1f;--accent-soft:#ff7a0024;--danger:#ff9b93;--danger-soft:#ff6b5f29;--warning:#ffb454;--warning-soft:#ffb45429;--success:#5ee08b;--success-soft:#5ee08b29;--sidebar:#050607;--sidebar-text:#f4f2ee;--sidebar-muted:#9a9a9a;--radius:8px;--shadow:0 18px 46px #00000070;--ease:cubic-bezier(.4, 0, .2, 1);--t-fast:.12s var(--ease);--t-base:.18s var(--ease);background:#070809;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}.app-shell{grid-template-columns:256px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:var(--sidebar-text);border-right:1px solid var(--border);flex-direction:column;min-height:100vh;padding:0 0 16px;display:flex;position:relative}.sidebar:after{content:"";pointer-events:none;background:linear-gradient(#ff7a0038 0%,#ff7a0014 30%,#0000 70%);width:1px;position:absolute;inset:0 auto 0 0}.sidebar-backdrop{display:none}.sidebar__brand{border-bottom:1px solid var(--border);background:linear-gradient(135deg,#ff7a0014 0%,#0000 60%);align-items:center;gap:10px;padding:16px 14px 14px;display:flex}.sidebar__logo{object-fit:cover;object-position:center;background:#050607;border-radius:6px;flex-shrink:0;width:88px;height:44px}.sidebar__title{letter-spacing:-.01em;font-size:.88rem;font-weight:700;line-height:1.2}.sidebar__subtitle{color:var(--sidebar-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:3px;font-size:.72rem;font-weight:600}.sidebar__nav{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex;overflow-y:auto}.nav-group{border-bottom:1px solid var(--border);flex-direction:column;gap:1px;margin-bottom:4px;padding-bottom:4px;display:flex}.nav-group:last-child{border-bottom:0}.nav-group__label{color:var(--sidebar-muted);text-transform:uppercase;letter-spacing:.08em;padding:6px 8px 5px;font-size:.68rem;font-weight:700}.nav-link{min-height:36px;color:var(--muted);transition:color var(--t-fast), background var(--t-fast);border-radius:7px;align-items:center;gap:9px;padding:7px 9px;font-size:.875rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-link:hover{color:var(--sidebar-text);background:#ffffff0d}.nav-link--active{background:var(--accent-soft);color:var(--sidebar-text);font-weight:600}.nav-link--active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}.app-main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);background:#070809e0;align-items:center;gap:12px;min-height:56px;padding:8px 20px;display:flex;position:sticky;top:0}.icon-button.topbar__menu{display:none}.topbar__status{align-items:center;gap:8px;min-width:0;margin-right:auto;display:flex}.topbar__detail{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.content{width:min(1200px,100%);padding:28px 24px}.auth-page{background:radial-gradient(80% 50% at 50% 0,#ff7a000f 0%,#0000 60%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{border:1px solid var(--border);background:var(--panel);width:min(440px,100%);box-shadow:var(--shadow), 0 0 0 1px #ff7a000f inset;border-radius:12px;gap:20px;padding:24px;display:grid}.auth-panel__header{grid-template-columns:minmax(0,150px) minmax(0,1fr);align-items:center;gap:14px;display:grid}.auth-panel__header h1{letter-spacing:-.02em;margin:0;font-size:1.35rem;line-height:1.2}.auth-panel__header p{color:var(--muted);margin:5px 0 0;font-size:.875rem;line-height:1.5}.auth-panel__logo{object-fit:cover;object-position:center;background:#050607;border-radius:8px;width:100%;max-width:150px;height:86px}.auth-panel__section{gap:12px;display:grid}.auth-panel__button{width:100%}.auth-panel__subhead{align-items:center;gap:8px;font-size:.875rem;font-weight:700;display:inline-flex}.page{gap:22px;display:grid}.page__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page__header h1{letter-spacing:-.025em;margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}.page__header p,.placeholder-panel p,.empty-state p,.metric-card p{color:var(--muted);margin:5px 0 0;font-size:.875rem;line-height:1.5}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-card,.placeholder-panel,.empty-state{border:1px solid var(--border);background:var(--panel);border-radius:10px}.metric-card{min-height:130px;transition:border-color var(--t-base);background:linear-gradient(145deg, #121618 0%, var(--panel) 100%);grid-template-columns:40px minmax(0,1fr);gap:12px;padding:16px;display:grid}.metric-card:hover{border-color:var(--border-strong)}.metric-card__icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border:1px solid #ff7a0033;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.metric-card h2,.placeholder-panel h2,.empty-state h2,.dialog h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.82rem;font-weight:600;line-height:1.3}.metric-card__value{letter-spacing:-.03em;margin-top:10px;font-size:1.5rem;font-weight:700;line-height:1}.dashboard-page{padding-bottom:24px}.dashboard-header{align-items:center}.dashboard-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-card-title,.dashboard-summary-card__header,.dashboard-service-group__header,.dashboard-panel__header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.dashboard-card-title h2{min-width:0}.dashboard-panel,.dashboard-summary-card,.dashboard-service-group{border:1px solid var(--border);background:var(--panel);border-radius:10px}.dashboard-panel{gap:14px;padding:18px;display:grid}.dashboard-panel__header h2,.dashboard-summary-card h3,.dashboard-service-group h3{letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:600;line-height:1.25}.dashboard-panel__header p{color:var(--muted);margin:5px 0 0;font-size:.875rem;line-height:1.5}.dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dashboard-summary-grid--wide{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-summary-card{align-content:start;gap:12px;min-height:148px;padding:16px;display:grid}.dashboard-kv{gap:6px;margin:0;display:grid}.dashboard-kv div{border-bottom:1px solid #ffffff0a;grid-template-columns:minmax(120px,1fr) minmax(70px,auto);align-items:baseline;gap:12px;padding:3px 0;display:grid}.dashboard-kv div:last-child{border-bottom:0}.dashboard-kv dt{color:var(--muted);font-size:.84rem}.dashboard-kv dd{text-align:right;margin:0;font-size:.875rem;font-weight:600}.dashboard-warning{color:var(--warning);margin:0;font-size:.875rem;line-height:1.5}.dashboard-error-list{gap:8px;display:grid}.dashboard-service-grid{gap:12px;display:grid}.dashboard-service-group{gap:10px;padding:14px;display:grid}.dashboard-service-group .data-table{min-width:760px}.dashboard-log-message{overflow-wrap:anywhere;max-width:560px;line-height:1.5;display:inline-block}.governance-page,.wireguard-page,.operations-page{padding-bottom:28px}.governance-stack,.operations-stack{gap:16px;display:grid}.governance-panel,.operations-panel{border:1px solid var(--border);background:var(--panel);transition:border-color var(--t-base);border-radius:10px;gap:16px;padding:18px;display:grid}.governance-panel:hover,.operations-panel:hover{border-color:var(--border-strong)}.operations-panel--nested{background:var(--panel-muted);border-color:#0000}.governance-panel__header,.subject-editor__header,.operations-panel__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.governance-panel__header h2,.subject-editor__header h3,.operations-panel__header h2,.operations-panel__header h3{letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:600;line-height:1.25}.governance-panel__header p,.operations-panel__header p{color:var(--muted);margin:5px 0 0;font-size:.875rem;line-height:1.5}.appliance-action-list{flex-direction:column;gap:12px;display:flex}.appliance-action-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.appliance-action-row:last-child{border-bottom:0;padding-bottom:0}.appliance-action-row p{color:var(--muted);margin:4px 0 0;font-size:.875rem}.byoc-field-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.byoc-filename{color:var(--muted);font-size:.82rem}.form-grid{gap:14px;display:grid}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid__full{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:8px;display:flex}.ipsec-simple-actions{flex-wrap:wrap;gap:10px}.mapping-list,.subject-editor{gap:10px;display:grid}.mapping-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-muted);transition:border-color var(--t-fast);grid-template-columns:minmax(120px,.8fr) minmax(190px,1.5fr) minmax(160px,1fr) auto auto;align-items:end;gap:10px;padding:12px;display:grid}.mapping-row:hover{border-color:var(--border-strong)}.mapping-row__role{align-content:end;gap:8px;min-height:62px;display:grid}.check-field{align-self:end;align-items:center;gap:8px;min-height:36px;font-size:.875rem;font-weight:600;display:inline-flex}.enabled-toggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-muted);cursor:pointer;min-height:58px;transition:border-color var(--t-base), background var(--t-base), box-shadow var(--t-base);align-items:center;gap:12px;padding:10px 12px;display:flex;position:relative}.enabled-toggle:hover{border-color:var(--border-strong)}.enabled-toggle--on{background:var(--success-soft);border-color:#5ee08b5c;box-shadow:inset 0 0 0 1px #5ee08b1f}.enabled-toggle--on:hover{border-color:#5ee08b8f}.enabled-toggle--disabled{cursor:not-allowed;opacity:.55}.enabled-toggle__input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.enabled-toggle__control{border:1px solid var(--border-strong);width:44px;height:26px;transition:border-color var(--t-base), background var(--t-base);background:#ffffff12;border-radius:999px;flex:none;position:relative}.enabled-toggle--on .enabled-toggle__control{border-color:var(--success);background:#5ee08b38}.enabled-toggle__thumb{background:var(--muted);width:20px;height:20px;transition:background var(--t-base), transform var(--t-base);border-radius:999px;position:absolute;top:2px;left:2px;box-shadow:0 1px 6px #00000052}.enabled-toggle--on .enabled-toggle__thumb{background:var(--success);transform:translate(18px)}.enabled-toggle__input:focus-visible+.enabled-toggle__control{outline:2px solid var(--accent);outline-offset:3px}.enabled-toggle__copy{gap:2px;min-width:0;display:grid}.enabled-toggle__title{color:var(--text);font-size:.875rem;font-weight:600}.enabled-toggle__state{color:var(--muted);font-size:.8rem;font-weight:600}.enabled-toggle--on .enabled-toggle__state{color:var(--success)}.table-actions{flex-wrap:wrap;gap:6px;display:flex}.muted-text{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:.84rem;line-height:1.45}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.detail-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-muted);min-height:72px;transition:border-color var(--t-fast);gap:5px;padding:12px;display:grid}.detail-item:hover{border-color:var(--border-strong)}.detail-item dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.detail-item dd{overflow-wrap:anywhere;margin:0;font-size:.875rem}.detail-grid__actions{align-items:end;display:flex}.ipsec-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ipsec-preview-list{color:var(--text);overflow-wrap:anywhere;gap:6px;margin:0;padding-left:18px;display:grid}.ipsec-sa-stack{gap:8px;display:grid}.ipsec-customer-summary{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);white-space:pre-wrap;background:#08090a;margin:0;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.84rem;line-height:1.6;overflow-x:auto}.wireguard-back-link{color:var(--accent);opacity:.8;transition:opacity var(--t-fast);align-items:center;gap:4px;margin-bottom:10px;font-size:.84rem;font-weight:600;text-decoration:none;display:inline-flex}.wireguard-back-link:hover{opacity:1}.wireguard-action-bar{flex-wrap:wrap;gap:8px;display:flex}.wireguard-action-button{width:110px;min-width:110px}.button.wireguard-action-button--success{color:#fff;background:#166534;border-color:#5ee08b6b}.button.wireguard-action-button--success:hover{background:#15803d;border-color:#5ee08ba3}.button.wireguard-action-button--danger{color:#fff;background:#b42318;border-color:#ff9b937a}.button.wireguard-action-button--danger:hover{background:#c83b30;border-color:#ff9b93ad}.wireguard-runtime-cell{gap:3px;min-width:190px;display:grid}.wireguard-runtime-cell span:last-child{color:var(--muted);font-size:.84rem}.manual-peer-instructions{border-top:1px solid var(--border);color:var(--muted);gap:10px;margin-top:20px;padding-top:18px;display:grid}.manual-peer-instructions h3{color:var(--text);margin:0;font-size:.9rem;font-weight:600}.manual-peer-instructions p{margin:0;font-size:.875rem;line-height:1.55}.manual-peer-instructions pre{background:var(--panel-muted);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);margin:0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.84rem;line-height:1.6;overflow-x:auto}.manual-peer-instructions code{font-family:inherit;font-size:.84rem}.dialog-copy{gap:10px;display:grid}.dialog-copy p{margin:0;font-size:.875rem;line-height:1.55}.network-page .data-table{min-width:820px}.network-metric{grid-template-columns:minmax(0,1fr);min-height:118px}.network-toggle-row,.network-saved-summary,.network-form-status,.network-preview__badges{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.network-saved-summary,.network-form-status{color:var(--muted);font-size:.875rem}.network-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-muted);gap:10px;padding:14px;display:grid}.network-code-block{gap:6px;display:grid}.network-code-block__label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.network-code-block pre,.network-inline-code{overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.network-code-block pre{border:1px solid var(--border);max-height:260px;color:var(--text);background:#08090a;border-radius:6px;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.84rem;line-height:1.6;overflow:auto}.network-inline-code{max-width:360px;color:var(--muted);font-size:.82rem;display:inline-block}.firewall-header-actions,.firewall-runtime-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.firewall-policy-page .data-table{min-width:980px}.firewall-policy-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;display:grid}.firewall-policy-form .field:has(.textarea){grid-column:span 2}.firewall-nat-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.firewall-form-submit{flex-wrap:wrap;align-items:flex-end;gap:8px;min-height:36px;display:flex}.firewall-form-submit--right{grid-column:1/-1;justify-content:flex-end}.firewall-rule-cell{gap:3px;min-width:140px;display:grid}.firewall-rule-cell span{color:var(--muted);overflow-wrap:anywhere;font-size:.84rem}.firewall-warning-panel{border-color:color-mix(in srgb, var(--warning) 42%, var(--border))}.network-warning-list{color:var(--warning);gap:5px;margin:0;padding-left:18px;font-size:.875rem;display:grid}.status-sections{flex-direction:column;gap:16px;display:flex}.status-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:20px}.section-title{letter-spacing:-.01em;margin:0 0 14px;font-size:.875rem;font-weight:600}.detail-list{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:.875rem;display:grid}.detail-list dt{color:var(--muted)}.detail-list dd{overflow-wrap:anywhere;margin:0}.permissions-table{border-collapse:collapse;width:100%;font-size:.875rem}.permissions-table th,.permissions-table td{text-align:left;padding:6px 12px}.permissions-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.integration-card{flex-direction:column;gap:16px;display:flex}.integration-card+.integration-card{border-top:1px solid var(--border);margin-top:8px;padding-top:24px}.integration-card__fields{align-items:flex-end;gap:10px;display:flex}.integration-card__fields .field{flex:1;min-width:0}.integration-checklist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.integration-check-item{align-items:baseline;gap:8px;font-size:.875rem;display:flex}.integration-check-detail{color:var(--muted);font-size:.82rem}.placeholder-panel,.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:120px;padding:24px;display:flex}.button,.icon-button,.tabs__tab{border:1px solid #0000;border-radius:7px;font-weight:600}.button{letter-spacing:-.005em;min-height:36px;transition:background var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast);justify-content:center;align-items:center;gap:7px;padding:7px 13px;font-size:.875rem;display:inline-flex}.button--sm{min-height:32px;padding:5px 11px;font-size:.82rem}.button--primary{background:var(--accent);color:#090909;font-weight:700}.button--primary:hover:not(:disabled){background:var(--accent-strong);box-shadow:0 0 0 3px #ff7a002e}.button--primary:active:not(:disabled){background:var(--accent);box-shadow:none}.button--secondary{border-color:var(--border);background:var(--panel-muted);color:var(--text)}.button--secondary:hover:not(:disabled){border-color:var(--border-strong);background:#1e2227}.button--danger{color:#fff;background:#b42318;font-weight:700}.button--danger:hover:not(:disabled){background:#c83b30;box-shadow:0 0 0 3px #ff6b5f2e}.button--ghost{color:var(--text);background:0 0}.button--ghost:hover:not(:disabled){background:#ffffff0d}.button:disabled{opacity:.48}.icon-button{border-color:var(--border);background:var(--panel-muted);width:34px;height:34px;color:var(--muted);transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);place-items:center;padding:0;display:inline-grid}.icon-button:hover{border-color:var(--border-strong);color:var(--text);background:#1e2227}.icon-button--danger{background:var(--danger-soft);color:var(--danger);border-color:#ff9b935c}.icon-button--danger:hover{color:#fff;background:#ff6b5f38;border-color:#ff9b9399}.status-badge{white-space:nowrap;letter-spacing:.02em;border:1px solid #0000;border-radius:999px;align-items:center;min-height:22px;padding:2px 9px;font-size:.75rem;font-weight:700;display:inline-flex}.status-badge--neutral{background:var(--panel-muted);color:var(--muted);border-color:var(--border)}.status-badge--success{background:var(--success-soft);color:var(--success);border-color:#5ee08b3d}.status-badge--warning{background:var(--warning-soft);color:var(--warning);border-color:#ffb4543d}.status-badge--danger{background:var(--danger-soft);color:var(--danger);border-color:#ff6b5f3d}.field{gap:6px;display:grid}.field__label{color:var(--text);align-items:center;gap:5px;font-size:.875rem;font-weight:600;display:flex}.field__hint{color:var(--muted);cursor:help;align-items:center;line-height:1;display:inline-flex;position:relative}.field__hint-text{visibility:hidden;opacity:0;border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);white-space:normal;z-index:200;pointer-events:none;width:230px;transition:opacity var(--t-fast);box-shadow:var(--shadow);background:#1e2328;padding:8px 11px;font-size:.8rem;font-weight:400;line-height:1.5;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.field__hint:hover .field__hint-text,.field__hint:focus-within .field__hint-text{visibility:visible;opacity:1}.field__description{color:var(--muted);font-size:.82rem;line-height:1.45}.field__error{color:var(--danger);font-size:.82rem}.input{border:1px solid var(--border-strong);width:100%;min-height:36px;color:var(--text);transition:border-color var(--t-fast), box-shadow var(--t-fast);background:#08090a;border-radius:7px;padding:7px 10px;font-size:.875rem}.input:hover:not(:focus):not(:disabled){border-color:var(--border-strong);background:#0a0b0d}.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #ff7a0029}.input::placeholder{color:#aaa8a470}.textarea{resize:vertical;min-height:96px;line-height:1.55}.table-wrap{border:1px solid var(--border);background:var(--panel);border-radius:10px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:640px}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 14px;font-size:.875rem}.data-table th{background:var(--panel-muted);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:8px 14px;font-size:.75rem;font-weight:700}.data-table tbody tr{transition:background var(--t-fast)}.data-table tbody tr:hover{background:#ffffff06}.data-table tr:last-child td{border-bottom:0}.table-empty,.inline-error,.loading-state{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:12px 14px}.table-empty{color:var(--muted);text-align:center;padding:20px;font-size:.875rem}.inline-error{color:var(--danger);background:#ff6b5f14;border-color:#ff6b5f47;font-size:.875rem}.tabs{gap:14px;display:grid}.tabs__list{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;padding-bottom:1px;display:flex}.tabs__tab{min-height:34px;color:var(--muted);transition:color var(--t-fast), background var(--t-fast), border-color var(--t-fast);background:0 0;border-bottom-right-radius:0;border-bottom-left-radius:0;padding:7px 12px;font-size:.875rem}.tabs__tab:hover:not(.tabs__tab--active){color:var(--text);background:#ffffff0a}.tabs__tab--active{border-color:var(--border);border-bottom-color:var(--panel);background:var(--panel);color:var(--text);font-weight:600;position:relative}.tabs__tab--active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.tabs__panel{min-height:48px}.dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000085;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--border);background:var(--panel);width:min(460px,100%);box-shadow:var(--shadow), 0 0 0 1px #ffffff0a inset;border-radius:12px;padding:22px}.dialog h2{letter-spacing:-.02em}.dialog__body{color:var(--muted);margin-top:10px;font-size:.875rem;line-height:1.55}.dialog__body code{word-break:break-all;background:var(--panel-muted);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.84rem}.dialog__actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.loading-state{color:var(--muted);align-items:center;gap:9px;font-size:.875rem;display:inline-flex}.loading-state__spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:999px;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite spin}.toast-stack{z-index:60;gap:8px;width:min(360px,100vw - 32px);display:grid;position:fixed;bottom:16px;right:16px}.toast{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);animation:toast-in .2s var(--ease);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 10px 10px 14px;font-size:.875rem;display:flex}.toast--success{background:linear-gradient(135deg, #5ee08b0f 0%, var(--panel) 50%);border-color:#5ee08b47}.toast--warning{background:linear-gradient(135deg, #ffb4540f 0%, var(--panel) 50%);border-color:#ffb45447}.toast--danger{background:linear-gradient(135deg, #ff6b5f0f 0%, var(--panel) 50%);border-color:#ff6b5f47}.portal-shell{background:var(--bg);min-height:100vh}.portal-topbar{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);background:#070809e6;justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:10px 28px;display:flex;position:sticky;top:0}.portal-brand{align-items:center;gap:10px;min-width:0;display:flex}.portal-brand__logo{object-fit:cover;object-position:center;background:#050607;border-radius:4px;flex-shrink:0;width:72px;height:36px}.portal-brand__title{letter-spacing:-.01em;font-weight:700;line-height:1.2}.portal-brand__subtitle,.portal-user{color:var(--muted);font-size:.82rem}.portal-topbar__actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.portal-user{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.portal-content{width:min(980px,100%);margin:0 auto;padding:28px 24px}.portal-content--centered,:is(.portal-content:has(.portal-auth),.portal-content:has(.portal-centered)){place-items:center;min-height:calc(100vh - 64px);display:grid}.portal-centered{place-items:center;min-height:calc(100vh - 112px);display:grid}.portal-auth{border:1px solid var(--border);background:var(--panel);width:min(460px,100%);box-shadow:var(--shadow), 0 0 0 1px #ff7a000d inset;text-align:center;border-radius:14px;justify-items:center;gap:16px;margin:min(12vh,96px) auto 0;padding:28px 24px;display:grid}:is(.portal-content--centered .portal-auth,.portal-content:has(.portal-auth) .portal-auth){margin:0}.portal-auth .button{justify-self:center;width:fit-content}.portal-auth h1{letter-spacing:-.025em;margin:0;font-size:1.5rem;font-weight:700}.portal-auth p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.55}.portal-page{max-width:980px}.client-link-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.client-link{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-muted);min-height:64px;transition:border-color var(--t-base), background var(--t-base);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;text-decoration:none;display:flex}.client-link:hover{border-color:var(--accent);background:var(--accent-soft)}.client-link span{gap:3px;display:grid}.client-link strong{font-size:.875rem}.client-link small{color:var(--muted);font-size:.8rem}.operations-filter-grid{align-items:end}.operations-actions{gap:8px}.operations-presets{flex-wrap:wrap;gap:8px;display:flex}.operations-inline-controls{grid-template-columns:minmax(180px,260px) auto;align-items:end;gap:12px;display:grid}.operations-check{justify-self:start}.operations-message{overflow-wrap:anywhere;min-width:220px;font-size:.875rem;display:inline-block}.operations-message--rich{gap:8px;display:grid}.operations-log-details summary{cursor:pointer;color:var(--accent);transition:opacity var(--t-fast);font-size:.82rem;font-weight:600}.operations-log-details summary:hover{opacity:.8}.operations-addresses{gap:3px;min-width:130px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.8rem;display:grid}.operations-metadata{gap:5px;min-width:220px;margin:0;display:grid}.operations-metadata div{grid-template-columns:minmax(88px,.7fr) minmax(120px,1fr);gap:8px;display:grid}.operations-metadata dt{color:var(--muted);text-transform:capitalize;font-size:.8rem;font-weight:700}.operations-metadata dd{overflow-wrap:anywhere;margin:0;font-size:.84rem}.operations-empty{color:var(--muted);align-items:center;gap:8px;font-size:.875rem;display:inline-flex}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=960px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:40;width:min(272px,86vw);transition:transform .16s var(--ease);border-right:1px solid var(--border);position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:8px 0 32px #0006}.sidebar--open{transform:translate(0)}.sidebar-backdrop{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000085;border:0;padding:0;display:block;position:fixed;inset:0}.icon-button.topbar__menu{display:inline-grid}.metric-grid,.dashboard-summary-grid,.dashboard-summary-grid--wide,.form-grid--two,.detail-grid,.firewall-policy-form,.firewall-nat-form{grid-template-columns:repeat(2,minmax(0,1fr))}.mapping-row{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.client-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.content{padding:16px}.page__header,.topbar{align-items:flex-start}.page__header{flex-direction:column;gap:12px}.topbar{flex-wrap:wrap}.portal-topbar{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 16px}.portal-topbar__actions{justify-content:space-between;width:100%}.portal-content{padding:16px}.auth-panel__header{grid-template-columns:1fr}.topbar__status{order:3;width:100%}.metric-grid{grid-template-columns:1fr}.dashboard-header,.dashboard-panel__header{align-items:flex-start}.dashboard-summary-grid,.dashboard-summary-grid--wide,.form-grid--two,.detail-grid,.operations-inline-controls,.mapping-row,.firewall-policy-form,.firewall-nat-form{grid-template-columns:1fr}.firewall-policy-form .field:has(.textarea){grid-column:auto}.dashboard-kv div{grid-template-columns:1fr;gap:2px}.dashboard-kv dd{text-align:left}.client-link-grid{grid-template-columns:1fr}.metric-card__value{font-size:1.3rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
