@layer reset,base,components,responsive;
@layer components{.console-main table.data-table{min-width:680px}.compact-mobile td:nth-child(5){white-space:nowrap}.data-table .primary-text{min-width:120px}}
@layer responsive {
 @media(max-width:760px){.console-topbar>[data-sidebar-toggle]{width:40px;min-width:40px;max-width:40px;flex:0 0 40px}.console-global-search{min-width:0;flex:1 1 0}.tabs{flex-wrap:wrap;gap:8px 18px}.tabs a{white-space:normal}.console-sidebar [data-sidebar-close]{width:auto;max-width:100%;flex:none}}
}
@layer components{.console-user-name{max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-foot button{max-width:100%;width:auto}.console-main{overflow-wrap:anywhere}.toolbar>button{flex:0 0 auto}}
@layer responsive {
 @media(max-width:760px){.summary-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important}.context-label{white-space:normal!important;flex-basis:100%}.page-heading .actions{width:100%;margin-top:0}.source-list{grid-template-columns:minmax(0,1fr)}.source-list dd{margin-bottom:10px}.console-topbar{min-width:0}.console-global-search{min-width:0}.console-user{flex-shrink:0}}
 @media(min-width:761px) and (max-width:1100px){.console-topbar{flex-wrap:wrap;gap:12px}.console-global-search{order:3;flex-basis:100%;width:100%}.console-user{margin-left:auto}}
}
@layer components {
 .card-header{flex-wrap:wrap}.card-header>div{min-width:0}.technical-grid>*{min-width:0}.table-scroll:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.data-table td{overflow-wrap:normal;max-width:360px}.console-sidebar [data-sidebar-close]{align-self:flex-end;margin-bottom:12px}.console-main form{max-width:100%}.console-main input[type=file]{width:100%;overflow:hidden}.badge-syncing{background:#e5f5f3;color:#08666b}.badge-degraded{background:#fff3d7;color:#775009}.technical-prose pre{max-width:100%}
}
@layer components {
 .section-navigation{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0 0 16px;border-bottom:1px solid var(--line)}
 .section-navigation a{padding:7px 12px;border-radius:8px;font-size:13px;text-decoration:none;color:var(--muted)}
 .section-navigation a:hover,.section-navigation a[aria-current=page]{background:var(--teal-soft);color:var(--teal)}
 .technical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}
 .document-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.document-card h2{font-size:19px}.document-card p{margin:0 0 8px;line-height:1.6}.document-card .row-action{margin-top:auto}
 .document-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted);margin-bottom:12px}
 [data-document-outline]{display:grid;gap:8px;margin:12px 0 24px}[data-document-outline] a{color:var(--teal);text-decoration:none}.technical-prose h2{scroll-margin-top:100px}
 .technology-intro{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:32px;align-items:center;background:linear-gradient(105deg,#fff,#edf7f6)}
 .technology-symbol{font-size:50px;font-weight:800;color:var(--teal);text-align:center;letter-spacing:-2px}.technology-symbol small{display:block;font-size:12px;letter-spacing:1px;font-weight:500}
 .document-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}.document-context{position:sticky;top:95px;font-size:13px}.document-context dl{display:grid;gap:6px}.document-context dd{margin:0 0 8px;color:var(--muted)}.document-context details{margin-top:20px}.revision-hash{overflow-wrap:anywhere;font-size:11px}
 .technical-prose{min-width:0;line-height:1.8;overflow-wrap:anywhere}.technical-prose h1{font-size:27px}.technical-prose h2{font-size:21px;margin-top:32px}.technical-prose h3{font-size:18px;margin-top:24px}.technical-prose p,.technical-prose ul,.technical-prose ol{margin:14px 0}.technical-prose li{margin:7px 0}.technical-prose code{font-size:.85em;background:var(--canvas);padding:2px 5px;border-radius:4px}.technical-prose a{text-decoration:underline;text-underline-offset:3px;color:var(--teal)}
 .source-list{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;font-size:13px}.source-list dt{overflow-wrap:anywhere}.source-list dd{margin:0;font-weight:600}.badge-warning{background:#fff3d7;color:#775009}.badge-pending{background:#eaf0ff;color:#294b85}
 .row-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.context-actions{font-size:12px}.context-actions summary{cursor:pointer;color:var(--teal)}.context-actions[open]{min-width:145px}.context-actions a,.context-actions span{display:block;padding:7px 0}.context-actions span{color:var(--muted);font-size:11px}.incident-row{padding:14px 0;border-bottom:1px solid var(--line)}.incident-row p{margin:7px 0}
 :focus-visible{outline:3px solid #168c91;outline-offset:4px}main.console-main{min-width:0}.table-scroll{overscroll-behavior-x:contain}.technical-prose pre{overflow-x:auto}
}
@layer responsive {
 @media(max-width:1000px){.document-layout{grid-template-columns:1fr}.document-context{position:static}.document-context dl{grid-template-columns:auto 1fr;column-gap:14px}.technical-grid{gap:14px}}
 @media(max-width:600px){.technical-grid{grid-template-columns:1fr}.technology-intro{grid-template-columns:1fr;gap:14px}.technology-symbol{display:none}.technical-prose h1{font-size:24px}.technical-prose h2{font-size:20px}.section-navigation{gap:4px}.section-navigation a{font-size:12px;padding:7px 9px}.source-list{grid-template-columns:minmax(0,1fr) auto}.technical-prose{font-size:15px}}
}
@layer reset{*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}img,svg{max-width:100%}[hidden]{display:none!important}}
@layer base{
:root{color-scheme:light;--ink:#183047;--muted:#596c7e;--line:#e2e9ef;--paper:#fff;--canvas:#f3f6f9;--nav:#102437;--nav-muted:#9db0c1;--teal:#076c71;--teal-soft:#e5f5f3;--red:#b83442;--amber:#936117;--radius:14px;--shadow:0 4px 24px #142b4005}
body{font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--canvas);color:var(--ink)}a{text-decoration:none}a:hover{color:var(--teal)}p{margin:0 0 14px}h1,h2,h3{line-height:1.25;letter-spacing:-.025em;margin:0 0 16px}h1{font-size:clamp(23px,3vw,30px);font-weight:720}h2{font-size:20px}h3{font-size:16px}small,.muted{color:var(--muted);font-size:12px}code{font:12px ui-monospace,monospace;background:#eef2f6;padding:2px 5px;border-radius:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #087e83;outline-offset:3px}input,select,textarea{max-width:100%;min-height:40px;padding:9px 12px;border:1px solid #cfdbe4;background:#fff;border-radius:8px;color:var(--ink)}input[type=checkbox],input[type=radio]{width:17px;min-height:17px;height:17px;accent-color:var(--teal);vertical-align:middle}textarea{min-height:100px;width:100%}label{display:block;font-size:13px;font-weight:550;margin:0 0 14px}label>input:not([type=checkbox]):not([type=radio]),label>select,label>textarea{display:block;margin-top:6px;width:min(100%,520px)}button,.button{min-height:39px;padding:9px 15px;border:1px solid transparent;border-radius:8px;background:var(--teal);color:#fff;font-weight:620;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.3;vertical-align:middle}button:hover,.button:hover{background:#06696e;color:#fff}button:disabled{opacity:.5;cursor:not-allowed}.button-secondary,button.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.button-secondary:hover{background:#f5f8fa;color:var(--ink)}.button-danger{background:#fff0f1;color:var(--red);border-color:#ffd4d8}.button-danger:hover{background:#b83442;color:#fff}dt{font-size:12px;color:var(--muted);margin-bottom:3px}dd{margin:0 0 18px;font-weight:550}hr{border:0;border-top:1px solid var(--line);margin:24px 0}}
@layer components{
.skip-link{position:fixed;top:-60px;left:20px;background:#fff;color:var(--ink);padding:12px;z-index:100}.skip-link:focus{top:10px}.console-sidebar{width:232px;background:var(--nav);color:#e3edf4;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:28px 16px 18px;z-index:40;overflow-y:auto}.console-brand{display:flex;gap:10px;align-items:center;padding:0 12px 26px;color:#fff!important;font-size:19px;font-weight:780;letter-spacing:.03em}.console-brand small{display:block;color:var(--nav-muted);font-size:9px;font-weight:500;letter-spacing:.18em}.brand-mark{width:30px;height:34px;display:grid;place-items:center;color:#5fd1c5}.nav-label{padding:12px 13px 8px;color:#7f9bb1;font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.14em}.console-nav{display:flex;flex-direction:column;gap:5px}.console-nav a,.console-nav .nav-unavailable{display:flex;gap:12px;align-items:center;min-height:43px;padding:10px 13px;color:#b9c9d7;border-radius:9px;font-size:13px;font-weight:520}.console-nav a:hover{background:#193448;color:#fff}.console-nav a[aria-current=page]{background:#1c444f;color:#96eadf;box-shadow:inset 3px 0 #5ccdbc}.console-nav .nav-unavailable{opacity:.42;font-size:12px}.nav-icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.console-sidebar details{margin:22px 0 0;padding:12px 0 0;border:0;border-top:1px solid #ffffff15;border-radius:0}.console-sidebar summary{font-size:11px;color:var(--nav-muted);padding:7px 12px}.console-sidebar details a{font-size:12px;padding-left:15px}.sidebar-foot{margin-top:auto;padding:26px 12px 0;font-size:11px;color:var(--nav-muted)}.sidebar-foot strong{display:block;font-size:12px;color:#dce8f0;margin-bottom:3px}.console-wrap{margin-left:232px;min-height:100dvh}.console-topbar{min-height:65px;padding:12px 28px;display:flex;align-items:center;gap:24px;background:#fff;border-bottom:1px solid var(--line)}.console-breadcrumb{font-size:12px;color:var(--muted)}.console-breadcrumb strong{color:var(--ink);font-weight:550}.console-global-search{margin:0 auto;position:relative;width:min(100%,380px)}.console-global-search input{background:#f6f8fa;border-color:#ecf0f4;width:100%;padding-left:38px;font-size:12px}.console-global-search svg{position:absolute;left:12px;top:12px;width:16px;height:16px;color:#7f91a1}.console-user{display:flex;gap:10px;align-items:center;font-size:12px}.console-avatar{width:33px;height:33px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal);border:1px solid #cfe6e2;border-radius:50%;font-weight:700}.console-user form{margin:0}.console-user button{background:transparent;border:1px solid var(--line);min-height:32px;font-size:11px;padding:5px 10px;color:var(--muted)}.console-main{max-width:1600px;margin:auto;padding:24px 28px 42px}.page-heading{display:flex;gap:20px;align-items:start;justify-content:space-between;margin-bottom:18px}.page-heading h1{margin-bottom:6px}.page-heading p{color:var(--muted);font-size:13px;margin:0}.page-heading .eyebrow{color:var(--teal);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:750;margin-bottom:8px}.card,main.console-main>section,main.console-main>article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin:0 0 22px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.card-header h2,.card-header h3{margin:0}.card-header p{margin:5px 0 0;color:var(--muted);font-size:12px}.notice,.errors{padding:13px 16px;margin-bottom:20px;border-radius:9px;border:1px solid #cce6e2;background:#edf9f6;color:#176354;font-size:13px}.errors{background:#fff0f1;color:#a52e3a;border-color:#f6d6da}.notice.neutral{background:#eef4fa;border-color:#d9e7f1;color:#395e7d}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.toolbar label{margin:0;min-width:140px}.toolbar .grow{flex:1;min-width:220px}.toolbar .grow input{width:100%;max-width:none}.toolbar label input,.toolbar label select{min-height:38px;font-size:12px}.toolbar .toolbar-link{margin:0 8px 10px;font-size:12px;color:var(--teal)}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}.tabs a{padding:10px 0;border-bottom:2px solid transparent;white-space:nowrap;color:var(--muted);font-size:13px}.tabs a[aria-current=page]{color:var(--teal);border-color:var(--teal);font-weight:650}.table-scroll{overflow-x:auto}.data-table,table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}th{text-align:left;padding:12px 13px;background:#f6f8fa;color:#536678;font-size:10px;letter-spacing:.04em;text-transform:uppercase;font-weight:650;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:13px;border-bottom:1px solid #edf1f5;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbfc}td .primary-text{display:block;font-size:13px;font-weight:620;color:var(--ink)}td .secondary-text{display:block;font-size:11px;color:var(--muted);margin-top:3px}td a.primary-text:hover{color:var(--teal)}.row-action{font-size:11px;font-weight:650;color:var(--teal);background:var(--teal-soft);padding:6px 10px;border-radius:7px;display:inline-block;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:20px;font-size:10px;font-weight:600;white-space:nowrap;background:#eef2f5;color:#4f6275}.badge::before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%;flex:none}.badge-connected,.badge-confirmed{background:#e7f5ed;color:#287449}.badge-disconnected,.badge-failed{background:#fff0f0;color:#ad454b}.badge-suspended,.badge-pending,.badge-delivered{background:#fff5dc;color:#8c6315}.badge-disabled,.badge-missing{background:#edf0f4;color:#526274}.badge-unknown,.badge-review-required{background:#edf2fb;color:#526fa5}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:14px}.summary-card{padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.summary-card span{display:block;color:var(--muted);font-size:12px}.summary-card strong{display:block;font-size:28px;letter-spacing:-.04em;margin:3px 0;color:var(--ink)}.summary-card small{font-size:11px}.form-grid,.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.form-grid .full{grid-column:1/-1}.form-grid input:not([type=checkbox]),.form-grid select{width:100%;max-width:none}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:20px}.context-label{padding:9px 12px;border:1px solid #cfe5e2;background:#f0f9f7;color:#2c6e65;border-radius:8px;font-size:12px;white-space:nowrap}.empty-state{padding:44px 20px;text-align:center;color:var(--muted)}.empty-state strong{display:block;color:var(--ink);font-size:15px;margin-bottom:7px}.search-feedback{font-size:11px;color:var(--muted);min-height:20px}.advanced{border:1px solid var(--line);background:#fff;border-radius:10px;margin:20px 0;padding:14px 18px}.advanced summary{font-size:13px;font-weight:600;cursor:pointer;list-style-position:inside}.advanced[open] summary{margin-bottom:18px}.operator-note{font-size:11px;color:var(--muted);margin:16px 0 0}.console-menu-toggle{display:none;background:#fff;color:var(--ink);border-color:var(--line);padding:6px 10px;min-height:34px}.sidebar-scrim{display:none}.confirm-dialog{max-width:440px;width:calc(100% - 32px);border:0;border-radius:18px;padding:28px;box-shadow:0 24px 80px #10243740;color:var(--ink)}.confirm-dialog::backdrop{background:#10243780}.confirm-dialog h2{font-size:21px}.confirm-dialog p{color:var(--muted);font-size:13px}.confirm-dialog .actions{justify-content:flex-end}.console-main [aria-busy=true]{opacity:.55;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.console-main nav[role=navigation]{display:flex;align-items:center;justify-content:space-between;margin-top:18px;font-size:12px}.console-main nav[role=navigation] svg{width:18px;height:18px}.console-main nav[role=navigation] a,.console-main nav[role=navigation] span[aria-current]{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid var(--line);background:#fff;border-radius:5px}.console-main nav[role=navigation] .hidden{display:none}.console-main nav[role=navigation] .flex{display:flex;gap:8px;flex-wrap:wrap}
}
@layer responsive{
@media(min-width:768px){.console-main nav[role=navigation] .sm\:flex{display:flex}.console-main nav[role=navigation] .sm\:hidden{display:none}}
@media(max-width:1050px){.console-sidebar{width:208px}.console-wrap{margin-left:208px}.console-main{padding:25px 22px}.console-topbar{padding:15px 22px}.console-global-search{width:280px}.console-user-name{display:none}}
@media(max-width:760px){.console-sidebar{width:240px;transform:translateX(-100%);transition:transform .18s}.console-wrap{margin-left:0}.console-topbar{min-height:65px;padding:12px 16px;gap:12px}.console-main{padding:22px 14px 35px}.console-menu-toggle{display:inline-flex}.console-breadcrumb{display:none}.console-global-search{width:auto;flex:1}.console-user-name,.console-user form{display:none}.page-heading{gap:12px;flex-wrap:wrap;margin-bottom:20px}.context-label{font-size:11px}.card,main.console-main>section,main.console-main>article{padding:16px}.summary-grid{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.summary-card{padding:14px 12px}.summary-card strong{font-size:23px}.summary-card small{display:none}.form-grid,.detail-grid{grid-template-columns:1fr}.toolbar{gap:10px}.toolbar .grow{flex-basis:100%}.toolbar label{flex:1;min-width:120px}.toolbar label select{width:100%}.tabs{gap:22px}.console-sidebar.is-open{transform:translateX(0)}.sidebar-scrim.is-open{display:block;position:fixed;inset:0;background:#10243788;z-index:35}.console-main table{min-width:600px}.console-main .compact-mobile{min-width:520px}.actions .button,.actions button{flex:1}.console-main nav[role=navigation]{font-size:11px;gap:10px}.console-main nav[role=navigation] p{margin:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.console-sidebar,.console-topbar,.toolbar,.row-action,.console-main form,.console-menu-toggle{display:none!important}.console-wrap{margin:0}.console-main{padding:0}.card{box-shadow:none;border:0}}
}
/* Compact per-subscriber PPPoE controls; the menu stays in the row on desktop and mobile. */
.pppoe-row-actions{position:relative;display:inline-block;vertical-align:top;margin:6px 0 0;min-width:150px}
.pppoe-row-actions>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:34px}
.pppoe-row-actions>summary::-webkit-details-marker,.pppoe-row-actions__group>summary::-webkit-details-marker{display:none}
.pppoe-row-actions__menu{display:grid;gap:7px;min-width:220px;max-width:min(320px,calc(100vw - 48px));padding:10px;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 10px 28px #1024371a;white-space:normal}
.pppoe-row-actions__menu>a,.pppoe-row-actions__menu>button,.pppoe-row-actions__menu>form button{font-size:12px;text-align:left}
.pppoe-row-actions__menu>a{padding:7px 9px;border-radius:6px;color:var(--teal);background:var(--teal-soft);font-weight:650}
.pppoe-row-actions__group{border-top:1px solid var(--line);padding-top:7px}
.pppoe-row-actions__group>summary{list-style:none;cursor:pointer;font-size:12px;font-weight:650;padding:5px 2px}
.pppoe-row-form{display:grid;gap:7px;margin:6px 0 2px;padding:9px;background:#f7f9fb;border-radius:7px}
.pppoe-row-form label{display:grid;gap:4px;font-size:11px}
.pppoe-row-form input,.pppoe-row-form select{width:100%;max-width:none;min-height:36px;font-size:12px}
.pppoe-row-form button{width:100%;justify-content:center}
.pppoe-row-form--danger{border-top:1px solid #f1d7d9;padding-top:10px}
.pppoe-row-actions__notice{margin:2px 0;color:var(--muted);font-size:11px}
