
body.routing-page{color-scheme:dark;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.45;color:#edf3fa}
body.routing-page *{box-sizing:border-box}
body.routing-page .gr-app{--gr-bg:#091321;--gr-panel:#111e30;--gr-card:#14283b;--gr-line:#293b50;--gr-ink:#edf3fa;--gr-sub:#a9b9cc;--gr-cyan:#35b9ed;background:var(--gr-bg);min-height:950px;overflow:hidden;border:1px solid var(--gr-line);border-radius:12px}
body.routing-page button,body.routing-page select{font:inherit;color:inherit}
body.routing-page button{cursor:pointer}
body.routing-page .gr-top{min-height:66px;display:flex;gap:18px;align-items:center;padding:15px 20px;background:#102840;border-bottom:1px solid var(--gr-line)}
body.routing-page .gr-brand{display:flex;align-items:center;gap:9px;min-width:170px;font-size:18px;font-weight:600}
body.routing-page .gr-brand svg{color:#80e0df;width:25px;height:25px}
body.routing-page .gr-sub{color:var(--gr-sub);font-size:12px}
body.routing-page .gr-top-info{display:flex;gap:15px;align-items:center;flex:1;justify-content:flex-end;padding-right:88px;color:var(--gr-sub);font-size:12px}
body.routing-page .gr-shell{display:grid;grid-template-columns:174px minmax(0,1fr);min-height:884px}
body.routing-page .gr-nav{background:#0e1d2e;border-right:1px solid var(--gr-line);padding:23px 10px;display:flex;flex-direction:column;gap:4px}
body.routing-page .gr-nav-item{padding:11px 10px;display:flex;gap:9px;align-items:center;color:var(--gr-sub);font-size:12px;border-radius:7px}
body.routing-page .gr-nav-item svg{width:16px;height:16px;flex:none}
body.routing-page .gr-nav-item.active{color:#edf3fa;background:#15354a;border-left:3px solid var(--gr-cyan);padding-left:7px}
body.routing-page .gr-nav-group{font-size:10px;letter-spacing:1.5px;color:#8297af;padding:23px 10px 8px}
body.routing-page main{min-width:0;padding:25px 23px 24px}
body.routing-page h1,body.routing-page h2,body.routing-page h3,body.routing-page p{margin:0}
body.routing-page h1{font-size:26px;line-height:1.25;font-weight:600}
body.routing-page h2{font-size:15px;font-weight:600}
body.routing-page h3{font-size:13px;font-weight:600}
body.routing-page .gr-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:19px}
body.routing-page .gr-eyebrow{font-size:10px;letter-spacing:1.4px;color:#72cfdf;margin-bottom:6px}
body.routing-page .gr-caption{font-size:12px;color:var(--gr-sub);margin-top:7px}
body.routing-page .gr-concept{font-size:10px;letter-spacing:.8px;border:1px solid var(--gr-line);padding:6px 9px;color:var(--gr-sub);white-space:nowrap;border-radius:5px}
body.routing-page .gr-toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:13px;color:var(--gr-sub);font-size:12px}
body.routing-page .gr-pill{display:inline-flex;align-items:center;justify-content:center;background:#3cdd79;color:#07160d;border-radius:999px;padding:4px 13px;font-size:11px;font-weight:600;white-space:nowrap}
body.routing-page .gr-pill.warning{background:#ffda82;color:#332402}
body.routing-page .gr-pill.offline{background:#d92935;color:#fff}
body.routing-page .gr-pill.neutral{background:#263d53;color:#dce9f6}
body.routing-page .gr-panel{background:var(--gr-panel);border:1px solid var(--gr-line);border-radius:10px;overflow:hidden;margin-top:16px}
body.routing-page .gr-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px;border-bottom:1px solid var(--gr-line)}
body.routing-page .gr-heading-with-icon{display:flex;gap:8px;align-items:center}
body.routing-page .gr-heading-with-icon svg{width:16px;height:16px;color:var(--gr-cyan)}
body.routing-page .gr-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}
body.routing-page .gr-table th{font-weight:500;color:var(--gr-sub);font-size:11px;text-align:left;padding:12px 12px;background:#17283c;vertical-align:middle}
body.routing-page .gr-table td{padding:14px 12px;vertical-align:top;border-top:1px solid var(--gr-line);overflow-wrap:anywhere}
body.routing-page .gr-table .gr-chosen{background:#142e42}
body.routing-page .gr-table strong{font-size:12px;font-weight:600}
body.routing-page .gr-table small{font-size:11px;display:block;color:var(--gr-sub);margin-top:4px}
body.routing-page .gr-num{font-variant-numeric:tabular-nums}
body.routing-page .gr-linkbutton{background:transparent;border:0;padding:5px;color:#7cd7f6;display:inline-flex;gap:6px;align-items:center;min-height:30px}
body.routing-page .gr-linkbutton svg{width:15px;height:15px}
body.routing-page .gr-detail{padding:17px}
body.routing-page .gr-route{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1.1fr) 24px minmax(0,1.2fr);align-items:center;gap:6px;margin:15px 0}
body.routing-page .gr-node{background:var(--gr-card);border:1px solid var(--gr-line);border-radius:8px;padding:13px 12px;min-width:0;min-height:103px}
body.routing-page .gr-node.emphasis{border-color:#36a1c8;background:#123247}
body.routing-page .gr-node.missing{border-style:dashed;border-color:#b99241;background:#29261e}
body.routing-page .gr-node .gr-label{font-size:10px;color:var(--gr-sub);text-transform:uppercase;letter-spacing:.8px;margin-bottom:7px}
body.routing-page .gr-node .gr-value{font-size:13px;font-weight:600;overflow-wrap:anywhere}
body.routing-page .gr-node .gr-node-sub{font-size:11px;color:var(--gr-sub);margin-top:5px;overflow-wrap:anywhere}
body.routing-page .gr-arrow{color:#6b8aab;width:22px;height:22px}
body.routing-page .gr-state-line{padding:11px 13px;background:#0d2535;border-left:3px solid var(--gr-cyan);display:flex;gap:10px;align-items:flex-start;font-size:12px;margin-bottom:15px}
body.routing-page .gr-state-line svg{height:16px;width:16px;flex:none;color:#7cd7f6;margin-top:1px}
body.routing-page .gr-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-top:16px}
body.routing-page .gr-fact{border-bottom:1px solid var(--gr-line);padding-bottom:10px;min-width:0}
body.routing-page .gr-fact span{display:block;font-size:11px;color:var(--gr-sub);margin-bottom:3px}
body.routing-page .gr-fact b{font-size:12px;font-weight:500;overflow-wrap:anywhere}
body.routing-page .gr-tabs{display:flex;gap:20px;margin-top:20px;border-bottom:1px solid var(--gr-line)}
body.routing-page .gr-tab{background:none;color:var(--gr-sub);border:0;border-bottom:2px solid transparent;padding:10px 0;font-size:12px}
body.routing-page .gr-tab[aria-pressed=true]{color:#7cd7f6;border-bottom-color:var(--gr-cyan)}
body.routing-page .gr-timeline{list-style:none;padding:0;margin:0}
body.routing-page .gr-timeline li{display:grid;grid-template-columns:61px minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--gr-line);font-size:12px}
body.routing-page .gr-timeline time{color:var(--gr-sub);font-size:11px;font-variant-numeric:tabular-nums}
body.routing-page .gr-timeline small{display:block;color:var(--gr-sub);font-size:11px;margin-top:3px}
body.routing-page .gr-bottom{font-size:11px;color:var(--gr-sub);padding-top:16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
body.routing-page .gr-inspector-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
body.routing-page .gr-budget{display:flex;justify-content:space-between;gap:12px;color:var(--gr-sub);font-size:11px;margin-top:12px}
body.routing-page .gr-budget-track{background:#263d53;height:5px;border-radius:999px;overflow:hidden;margin-top:7px}
body.routing-page .gr-budget-fill{height:100%;background:#35b9ed}
body.routing-page [hidden]{display:none!important}
@media(max-width:800px){body.routing-page .gr-shell{grid-template-columns:145px minmax(0,1fr)}body.routing-page main{padding:20px 15px}body.routing-page .gr-nav-item{font-size:11px;padding-right:3px}body.routing-page .gr-top-info span:nth-child(1){display:none}body.routing-page .gr-top-info{padding-right:70px}body.routing-page .gr-table td,body.routing-page .gr-table th{padding:12px 9px}}
@media(max-width:650px){body.routing-page .gr-shell{display:block}body.routing-page .gr-nav{display:none}body.routing-page .gr-top{padding:12px 15px}body.routing-page .gr-top-info{display:none}body.routing-page .gr-brand{min-width:0}body.routing-page .gr-app{min-height:1100px}body.routing-page .gr-route{grid-template-columns:1fr;gap:8px}body.routing-page .gr-arrow{transform:rotate(90deg);justify-self:center;height:18px}body.routing-page .gr-node{min-height:0;padding:12px}body.routing-page .gr-facts{grid-template-columns:1fr}body.routing-page .gr-heading{flex-wrap:wrap}body.routing-page .gr-table.gr-route-table thead{display:none}body.routing-page .gr-route-table tr{display:grid;grid-template-columns:1fr 1fr}body.routing-page .gr-route-table td{border:0}body.routing-page .gr-route-table td:first-child{grid-column:1/-1}body.routing-page .gr-candidates{font-size:11px}body.routing-page .gr-candidates th,body.routing-page .gr-candidates td{padding:11px 6px}body.routing-page h1{font-size:23px}body.routing-page .gr-detail{padding:13px}body.routing-page .gr-top .gr-mobile-menu{display:inline-flex}}
@media(pointer:coarse){body.routing-page button{min-height:44px}}


body.routing-page .gr-app{min-height:1170px}
body.routing-page .gr-shell{min-height:1104px}
body.routing-page .gr-pool{display:inline-flex;gap:5px;align-items:center;font-size:11px;color:#99dbf2;white-space:normal}
body.routing-page .gr-pool svg{width:13px;height:13px;flex:none}
body.routing-page .gr-pool.private{color:#d2bcf3}
body.routing-page .gr-scope{padding:12px 13px;background:#18283b;border-radius:7px;display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;font-size:12px}
body.routing-page .gr-scope svg{width:17px;height:17px;flex:none;color:#8cd7f2;margin-top:2px}
body.routing-page .gr-scope small{display:block;color:var(--gr-sub);font-size:11px;margin-top:4px}
body.routing-page .gr-next{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:13px 0;margin-top:7px}
body.routing-page .gr-next strong{font-weight:500;font-size:12px}
body.routing-page .gr-next span{font-size:11px;color:var(--gr-sub)}
body.routing-page .gr-next svg{width:15px;height:15px;color:#7b96b4}
body.routing-page .gr-order{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;background:#17425b;color:#98e1fd;border-radius:6px;font-variant-numeric:tabular-nums;font-size:12px}
body.routing-page .gr-rowselect{font:inherit;text-align:left;background:transparent;padding:0;border:0;color:#edf3fa;text-decoration:underline;text-decoration-color:#4b718f;text-underline-offset:4px}
body.routing-page .gr-excluded{border-top:1px solid var(--gr-line);margin-top:12px;padding-top:12px;font-size:12px}
body.routing-page .gr-excluded summary{padding:5px 0;color:var(--gr-sub)}
body.routing-page .gr-excluded-list{padding:3px 0 0;margin:0;list-style:none}
body.routing-page .gr-excluded-list li{padding:9px 0;display:flex;gap:12px;justify-content:space-between;border-bottom:1px solid var(--gr-line)}
body.routing-page .gr-excluded-list span{color:var(--gr-sub);font-size:11px;text-align:right}
body.routing-page .gr-candidate-note{font-size:11px;color:var(--gr-sub);padding:12px 0 0}
body.routing-page .gr-empty{padding:17px 0;color:#ffda82;font-size:12px}
body.routing-page .gr-table td{vertical-align:middle}
body.routing-page .gr-failover-table th:first-child{width:8%}
body.routing-page .gr-failover-table th:nth-child(2){width:29%}
body.routing-page .gr-failover-table th:nth-child(3){width:27%}
body.routing-page .gr-failover-table th:nth-child(4){width:16%}
body.routing-page .gr-failover-table th:nth-child(5){width:20%}
@media(max-width:650px){body.routing-page .gr-route-table tr{grid-template-columns:1fr 1fr;padding-bottom:9px;border-bottom:1px solid var(--gr-line)}body.routing-page .gr-route-table td[data-label]:before{content:attr(data-label);display:block;color:var(--gr-sub);font-size:11px;margin-bottom:4px}body.routing-page .gr-failover-table thead{display:none}body.routing-page .gr-failover-table tr{display:grid;grid-template-columns:30px minmax(0,1fr);padding:12px 0;border-bottom:1px solid var(--gr-line)}body.routing-page .gr-failover-table td{border:0;padding:5px 7px}body.routing-page .gr-failover-table td:nth-child(n+3){grid-column:2}body.routing-page .gr-failover-table td[data-label]:before{content:attr(data-label) ': ';color:var(--gr-sub);font-size:11px}body.routing-page .gr-next{gap:8px}body.routing-page .gr-excluded-list li{flex-direction:column;gap:3px}body.routing-page .gr-excluded-list span{text-align:left}}


body.routing-page .gr-global{border:1px solid var(--gr-line);background:#11283b;padding:17px;border-radius:10px;margin-bottom:19px}
body.routing-page .gr-global-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
body.routing-page .gr-global-heading h2{display:flex;gap:8px;align-items:center}
body.routing-page .gr-global-heading svg{height:16px;width:16px;color:#79d4f3}
body.routing-page .gr-global-heading p{font-size:11px;color:var(--gr-sub);margin-top:6px}
body.routing-page .gr-global-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px}
body.routing-page .gr-segment{display:flex;flex-wrap:wrap;background:#0b1b2c;padding:4px;border-radius:8px;gap:4px}
body.routing-page .gr-segment button{border:1px solid transparent;background:transparent;color:var(--gr-sub);padding:8px 13px;border-radius:6px;font-size:12px;min-height:36px}
body.routing-page .gr-segment button[aria-pressed=true]{color:#d9f4ff;border-color:#287b9e;background:#16425b}
body.routing-page .gr-global-plan{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:15px;padding:13px 0;border-top:1px solid var(--gr-line);border-bottom:1px solid var(--gr-line)}
body.routing-page .gr-global-plan span{display:block;font-size:11px;color:var(--gr-sub);margin-bottom:5px}
body.routing-page .gr-global-plan b{font-size:12px;font-weight:500;overflow-wrap:anywhere}
body.routing-page .gr-global-note{font-size:11px;color:var(--gr-sub);margin-top:12px}
body.routing-page .gr-global-lock{display:flex;align-items:flex-start;gap:7px;font-size:11px;color:#b8cedd;margin-top:12px}
body.routing-page .gr-global-lock svg{width:13px;height:13px;flex:none;margin-top:2px}
body.routing-page .gr-override{border:1px solid #485272;border-radius:8px;padding:13px;background:#192438;margin-bottom:16px}
body.routing-page .gr-override-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
body.routing-page .gr-override-heading p{font-size:11px;color:var(--gr-sub);margin-top:4px}
body.routing-page .gr-toggle{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap;min-height:32px}
body.routing-page .gr-toggle input{accent-color:#35b9ed;width:17px;height:17px;margin:0}
body.routing-page .gr-manual-order{list-style:none;padding:0;margin:12px 0 0}
body.routing-page .gr-manual-order li{display:grid;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--gr-line);font-size:12px}
body.routing-page .gr-manual-order small{display:block;color:var(--gr-sub);font-size:11px;margin-top:3px}
body.routing-page .gr-move{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gr-line);color:#c6e5f7;background:#173349;border-radius:5px;width:30px;min-height:30px;margin-left:4px}
body.routing-page .gr-move svg{width:14px;height:14px}
body.routing-page .gr-move:disabled{opacity:.35}
@media(max-width:650px){body.routing-page .gr-global-row{align-items:flex-start;flex-direction:column;gap:7px}body.routing-page .gr-segment{width:100%}body.routing-page .gr-segment button{flex:1;padding:9px 8px}body.routing-page .gr-global-plan{grid-template-columns:1fr}body.routing-page .gr-override-heading{flex-wrap:wrap}body.routing-page .gr-manual-order li{gap:8px}body.routing-page .gr-manual-order li>div{display:flex}body.routing-page .gr-move{width:32px}}
@media(pointer:coarse){body.routing-page .gr-segment button,body.routing-page .gr-toggle,body.routing-page .gr-move{min-height:44px}body.routing-page .gr-move{min-width:38px}}


/* Production shell is shared with Gatekeeper. The approved routing components
   keep their spacing, hierarchy and colors without replacing the sidebar. */
body.routing-page{--gr-bg:#091321;--gr-panel:#111e30;--gr-card:#14283b;--gr-line:#293b50;--gr-ink:#edf3fa;--gr-sub:#a9b9cc;--gr-cyan:#35b9ed;margin:0;padding:0;color:var(--gr-ink);background:var(--gr-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.45}
body.routing-page *{box-sizing:border-box}
body.routing-page:has(#workspace)>header{position:sticky;top:0;height:64px;min-height:64px;padding:10px 24px;gap:16px;background:#102840;border-bottom:1px solid var(--gr-line);z-index:10;backdrop-filter:none}
body.routing-page:has(#workspace)>header .brand{display:flex;align-items:center;gap:10px;min-width:210px;color:var(--gr-ink);font-size:22px;line-height:1.1;text-decoration:none}
body.routing-page:has(#workspace)>header .brand svg{width:34px;height:34px;flex:none}
body.routing-page:has(#workspace)>header .brand span{font-size:18px;font-weight:650}
body.routing-page:has(#workspace)>header .brand small{display:block;color:var(--gr-sub);font-size:11px;font-weight:400;margin-top:3px}
body.routing-page .header-identity{display:flex;align-items:center;gap:12px;margin-left:auto;min-width:0}
body.routing-page #identity{font-size:11px;color:var(--gr-sub)}
body.routing-page .operator-health{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin:0 0 0 auto;justify-content:flex-end}
body.routing-page .health-chip{display:inline-flex;align-items:center;padding:0;border:0;background:transparent;color:var(--gr-sub);font-size:11px;white-space:nowrap;text-decoration:none}
body.routing-page .health-chip::before{content:'●';font-size:8px;margin-right:6px;color:#45d58a}
body.routing-page .health-chip.degraded::before{color:#ffcb6d}body.routing-page .health-chip.failed::before{color:#ef6a6a}body.routing-page .health-chip.unknown::before{color:#8297af}
body.routing-page #notification-bell{display:flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;color:var(--gr-sub);border:1px solid var(--gr-line);border-radius:8px}
body.routing-page #admin-presence{display:flex;gap:5px}body.routing-page .admin-presence-person{font-size:11px;padding:5px 9px;border:1px solid var(--gr-line);border-radius:999px;white-space:nowrap}
body.routing-page .section-nav{position:fixed;left:0;top:64px;bottom:0;width:250px;height:calc(100dvh - 64px);display:flex;flex-direction:column;flex-wrap:nowrap;gap:12px;padding:19px 12px 12px;margin:0;border:0;border-right:1px solid var(--gr-line);border-radius:0;background:#0e1d2e;color:var(--gr-sub);overflow:hidden;z-index:9;backdrop-filter:none}
body.routing-page .section-nav .nav-primary{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;display:flex;flex-direction:column;gap:6px}
body.routing-page .section-nav :is(a,summary,button){display:flex;align-items:center;gap:11px;padding:11px 12px;border:0;background:transparent;color:var(--gr-sub);font-size:13px;line-height:1.45;font-weight:400;text-decoration:none;text-align:left;min-width:0;box-shadow:none}
body.routing-page .section-nav a span{min-width:0}
body.routing-page .section-nav .nav-icon{display:block;width:19px;height:19px;min-width:19px;flex:none}
body.routing-page .section-nav a[aria-current="page"]{padding-left:9px;border-left:3px solid var(--gr-cyan);border-radius:7px;background:#15354a;color:var(--gr-ink);box-shadow:none}
body.routing-page .section-nav .nav-group{margin:12px 0 0}body.routing-page .section-nav .nav-group summary{padding:12px 12px 8px;font-size:10px;letter-spacing:1.4px;color:#8297af;text-transform:uppercase;font-weight:500}
body.routing-page .section-nav .nav-group>div{padding:0;display:flex;flex-direction:column;gap:4px}
body.routing-page .section-nav .nav-bottom{position:static;left:auto;right:auto;bottom:auto;flex:none;margin:0;padding:10px 0 0;border-top:1px solid var(--gr-line);background:transparent}
body.routing-page .section-nav #logout{justify-content:center;width:100%;border:1px solid var(--gr-line);border-radius:8px}
body.routing-page .nav-heading,body.routing-page #menu-toggle{display:none}
body.routing-page:has(#workspace) main#workspace{max-width:none;min-width:0;margin:0 0 0 250px;padding:26px 28px 24px;min-height:calc(100dvh - 64px);color:var(--gr-ink)}
body.routing-page #routing-main{min-width:0;max-width:none}
body.routing-page #workspace .gr-heading{margin:0 0 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
body.routing-page #workspace h1{font-size:26px;line-height:1.25;font-weight:600;letter-spacing:-.5px;margin:0;color:var(--gr-ink)}
body.routing-page #workspace h2{font-size:15px;line-height:1.4;font-weight:600;letter-spacing:0;color:var(--gr-ink)}
body.routing-page #workspace h3{font-size:13px;font-weight:600;color:var(--gr-ink)}
body.routing-page #workspace .gr-eyebrow{margin:0 0 7px;color:#72cfdf;font-size:10px;letter-spacing:1.4px}
body.routing-page #workspace .gr-caption{margin-top:8px;color:var(--gr-sub);font-size:12px}
body.routing-page #workspace .gr-concept{padding:6px 9px;border:1px solid var(--gr-line);border-radius:5px;color:var(--gr-sub);font-size:10px;white-space:nowrap;letter-spacing:1px}
body.routing-page #workspace .gr-global{padding:17px;background:#11283b;border:1px solid var(--gr-line);border-radius:10px;margin-bottom:19px}
body.routing-page .gr-global svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
body.routing-page #workspace .gr-global-heading h2{display:flex;align-items:center;gap:8px}
body.routing-page #workspace .gr-global-heading h2 svg{width:17px;height:17px;color:#72cfdf}
body.routing-page #workspace .gr-global-heading p{font-size:11px;color:var(--gr-sub);margin-top:6px}
body.routing-page #workspace .gr-global-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;font-size:12px}
body.routing-page #workspace .gr-segment{display:inline-flex;gap:4px;background:#091e2f;padding:4px;border-radius:8px}
body.routing-page #workspace .gr-segment button{background:transparent!important;border:1px solid transparent!important;border-radius:6px!important;padding:8px 13px;color:var(--gr-sub)!important;font-size:12px;line-height:1.3;font-weight:400;min-height:34px;white-space:nowrap}
body.routing-page #workspace .gr-segment button[aria-pressed="true"]{background:#17425b!important;border-color:#2d8aac!important;color:#d5f3ff!important}
body.routing-page #workspace .gr-global-note{font-size:11px;color:var(--gr-sub);margin-top:13px}
body.routing-page #workspace .gr-global-lock{display:flex;align-items:center;gap:8px;color:#b9cddd;font-size:11px;margin-top:13px}
body.routing-page #workspace .gr-global-lock svg{width:17px;height:17px}
body.routing-page .global-policy-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid #293b5066;font-size:10px;color:var(--gr-sub)}
body.routing-page #workspace .text-action{background:transparent!important;border:0!important;color:#80d5f5!important;padding:3px 0;text-decoration:underline;text-underline-offset:3px;font-size:11px;line-height:1.4}
body.routing-page .routing-draft-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--gr-line)}
body.routing-page .routing-draft-actions>span{margin-right:auto;color:#ffda82;font-size:11px}
body.routing-page #workspace .gr-global-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
body.routing-page #workspace .gr-global-plan>div{padding:10px 12px;background:#0b2031;border-radius:6px;min-width:0}
body.routing-page #workspace .gr-global-plan span{display:block;color:var(--gr-sub);font-size:10px;margin-bottom:4px}
body.routing-page #workspace .gr-global-plan b{font-size:11px;font-weight:500;overflow-wrap:anywhere}
body.routing-page #workspace .gr-toolbar{margin-bottom:12px;font-size:11px}
body.routing-page #workspace .gr-panel{margin-top:16px;background:var(--gr-panel);border:1px solid var(--gr-line);border-radius:10px;box-shadow:none;overflow:hidden}
body.routing-page #workspace .routes-panel{margin-top:0}
body.routing-page #workspace .table-scroll{max-width:100%;overflow-x:auto;border:0;border-radius:0;margin:0}
body.routing-page #workspace table.gr-table{width:100%;border-collapse:collapse;table-layout:fixed;background:transparent;border:0;font-size:12px;line-height:1.45;margin:0}
body.routing-page #workspace .gr-table th{background:#17283c;color:var(--gr-sub);font-weight:500;font-size:11px;padding:12px;border:0;border-bottom:1px solid var(--gr-line);text-align:left;vertical-align:middle}
body.routing-page #workspace .gr-table td{padding:14px 12px;border:0;border-top:1px solid var(--gr-line);vertical-align:middle;overflow-wrap:anywhere;color:var(--gr-ink)}
body.routing-page #workspace .gr-table tr.gr-chosen,body.routing-page #workspace .gr-table tr.gr-chosen:hover{background:#142e42}
body.routing-page #workspace .gr-table small{font-size:11px;color:var(--gr-sub);margin-top:4px}
body.routing-page #workspace button.gr-rowselect{font:inherit;font-weight:600;text-align:left;background:transparent!important;border:0!important;color:var(--gr-ink)!important;padding:0;text-decoration:underline;text-decoration-color:#4b718f;text-underline-offset:4px;min-height:0}
body.routing-page .home-col{width:26%}body.routing-page .pool-col{width:14%}body.routing-page .serving-col{width:22%}body.routing-page .alternative-col{width:23%}body.routing-page .status-col{width:15%}
body.routing-page #workspace .gr-pill{font-size:11px;font-weight:600;padding:4px 13px;min-height:0;color:#07160d;background:#3cdd79;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;line-height:1.5;white-space:nowrap}
body.routing-page #workspace .gr-pill.neutral{background:#263d53;color:#dce9f6}body.routing-page #workspace .gr-pill.warning{background:#ffda82;color:#332402}
body.routing-page #workspace .gr-panel-head{padding:16px 17px;border-bottom:1px solid var(--gr-line)}
body.routing-page #workspace .gr-detail{padding:17px}
body.routing-page #workspace .gr-heading-with-icon svg{width:17px;height:17px}
body.routing-page #workspace .gr-override{padding:13px;margin-bottom:16px;border:1px solid #485272;border-radius:8px;background:#192438}
body.routing-page #workspace .gr-override-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}
body.routing-page #workspace .gr-override p{font-size:11px;color:var(--gr-sub);margin-top:6px}
body.routing-page #workspace .gr-toggle{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}
body.routing-page #workspace .gr-toggle input{width:18px;height:18px;margin:0;accent-color:var(--gr-cyan)}
body.routing-page #workspace .gr-override>.text-action{margin-top:10px}
body.routing-page #workspace .gr-scope{padding:12px 13px;background:#18283b;margin-bottom:16px}
body.routing-page #workspace .gr-scope strong{font-size:12px;font-weight:600}
body.routing-page #workspace .gr-state-line{padding:11px 13px;background:#0d2535;border-left:3px solid var(--gr-cyan);font-size:12px}
body.routing-page #workspace .gr-route{margin:15px 0;grid-template-columns:minmax(0,1fr) 24px minmax(0,1.1fr) 24px minmax(0,1.2fr)}
body.routing-page #workspace .gr-node{min-height:103px;padding:13px 12px;background:var(--gr-card);border:1px solid var(--gr-line);border-radius:8px}
body.routing-page #workspace .gr-node.emphasis{border-color:#36a1c8;background:#123247}
body.routing-page #workspace .gr-node.missing{border-style:dashed;border-color:#b99241;background:#29261e}
body.routing-page #workspace .gr-facts{grid-template-columns:1fr 1fr;gap:12px 24px;margin-top:16px}
body.routing-page #workspace .gr-fact b{font-weight:500;color:var(--gr-ink)}
body.routing-page #workspace .gr-tabs{gap:20px;margin-top:20px;border-bottom:1px solid var(--gr-line)}
body.routing-page #workspace button.gr-tab{border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;padding:10px 0;color:var(--gr-sub)!important;font-size:12px}
body.routing-page #workspace button.gr-tab[aria-pressed="true"]{border-bottom-color:var(--gr-cyan)!important;color:#7cd7f6!important}
body.routing-page .pagination{display:flex;justify-content:flex-end;gap:8px;padding:0}
body.routing-page .pagination:has(button:not([hidden])){padding:12px;border-top:1px solid var(--gr-line)}
body.routing-page #workspace .routing-footer{font-size:11px;color:var(--gr-sub);margin:16px 0 0;padding:0}
body.routing-page #routing-feedback{margin:0 0 16px;padding:12px 14px;border:1px solid var(--gr-line);border-radius:8px;background:var(--gr-panel);font-size:12px}
body.routing-page #routing-feedback.error{color:#ffcb8b}body.routing-page #routing-feedback a{color:#80d5f5;text-decoration:underline}
body.routing-page dialog{padding:0;width:calc(100% - 40px);max-width:1080px;max-height:calc(100dvh - 40px);color:var(--gr-ink);background:var(--gr-panel);border:1px solid #3b5670;border-radius:12px;box-shadow:0 20px 80px #0007;overflow:hidden}
body.routing-page dialog::backdrop{background:#020b16b8;backdrop-filter:blur(4px)}
body.routing-page dialog form{display:flex;flex-direction:column;max-height:calc(100dvh - 44px);margin:0}
body.routing-page .dialog-header,body.routing-page .dialog-footer{padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;margin:0;background:var(--gr-panel)}
body.routing-page .dialog-header{border-bottom:1px solid var(--gr-line)}body.routing-page .dialog-header h2{margin:0;font-size:18px}
body.routing-page .dialog-footer{border-top:1px solid var(--gr-line);justify-content:flex-end;flex-wrap:wrap}
body.routing-page .dialog-footer button{min-height:40px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
body.routing-page .dialog-body{flex:0 1 auto}
body.routing-page .dialog-body{padding:20px 22px;overflow:auto;min-height:0}
body.routing-page .dialog-body>p{color:var(--gr-sub);font-size:12px;line-height:1.6;margin:0 0 12px}
body.routing-page .policy-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(250px,1fr);gap:28px}
body.routing-page .policy-grid label{display:block;margin:13px 0 7px}
body.routing-page select,body.routing-page input[type="number"]{background:#102338;border:1px solid #46617b;border-radius:7px;color:var(--gr-ink);padding:10px;max-width:100%}
body.routing-page select{width:100%}body.routing-page input[type="number"]{width:95px}
body.routing-page .weight-group{padding:8px 0 13px;border-bottom:1px solid var(--gr-line)}body.routing-page .weight-group h3{font-size:13px}
body.routing-page .weight-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
body.routing-page .weight-total{font-size:12px;color:var(--gr-sub);margin-top:7px}
body.routing-page .checkbox{display:flex;gap:9px;align-items:center;margin:15px 0}.routing-page .checkbox input{width:18px;height:18px;accent-color:var(--gr-cyan)}
body.routing-page .manual-priority-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--gr-line)}
body.routing-page .manual-controls{display:flex;gap:7px}body.routing-page .manual-controls button{padding:6px 11px}
body.routing-page .add-relay{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:15px}body.routing-page .add-relay label{grid-column:1/-1}
body.routing-page dialog [role="alert"]{color:#ffb3b3}body.routing-page #routing-discard-dialog{max-width:540px}
body.routing-page .backdrop{position:fixed;inset:0;z-index:29;background:#010915b3;border:0;border-radius:0;padding:0}
body.routing-page [hidden]{display:none!important}
body.routing-page :is(button,a,input,select,summary):focus-visible{outline:2px solid var(--gr-cyan);outline-offset:3px}
@media(max-width:1150px){body.routing-page .operator-health{gap:8px}body.routing-page .health-chip{font-size:10px}body.routing-page #identity{display:none}body.routing-page:has(#workspace)>header .brand{min-width:180px}}
@media(max-width:900px){body.routing-page:has(#workspace)>header{height:64px;min-height:64px;padding:10px 15px}body.routing-page:has(#workspace)>header .brand{min-width:0;margin-right:auto}body.routing-page .operator-health{display:none!important}body.routing-page .header-identity{margin-left:0}body.routing-page #menu-toggle{display:flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:8px;border:1px solid var(--gr-line);border-radius:8px;background:transparent;color:var(--gr-ink)}body.routing-page #menu-toggle svg,body.routing-page #menu-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}body.routing-page .section-nav{display:none;top:0;bottom:0;height:100dvh;width:min(86vw,330px);z-index:30;padding:14px 12px 12px}body.routing-page.nav-open{overflow:hidden}body.routing-page.nav-open .section-nav{display:flex}body.routing-page .nav-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 12px;border-bottom:1px solid var(--gr-line);font-size:15px;color:var(--gr-ink)}body.routing-page .nav-heading button{width:42px;min-height:42px;padding:8px;justify-content:center;border:1px solid var(--gr-line);border-radius:8px}body.routing-page:has(#workspace) main#workspace{margin:0;padding:23px 16px;min-height:calc(100dvh - 64px)}body.routing-page #workspace .gr-global-plan{grid-template-columns:1fr}body.routing-page .policy-grid{grid-template-columns:1fr}body.routing-page #workspace .gr-heading{gap:8px}body.routing-page #workspace .gr-concept{font-size:9px;padding:5px 7px}}
@media(max-width:650px){body.routing-page #workspace .gr-route{grid-template-columns:1fr;gap:8px}body.routing-page #workspace .gr-arrow{transform:rotate(90deg);justify-self:center;height:18px}body.routing-page #workspace .gr-node{min-height:0;padding:12px}body.routing-page #workspace .gr-facts{grid-template-columns:1fr}body.routing-page #workspace .gr-override-heading{flex-wrap:wrap}body.routing-page #workspace .gr-global-row{align-items:flex-start;flex-direction:column;gap:8px}body.routing-page #workspace .gr-segment{align-self:stretch;display:flex}body.routing-page #workspace .gr-segment button{flex:1;padding:9px 10px}body.routing-page #workspace .gr-global{padding:14px}body.routing-page #workspace .gr-global-lock{align-items:flex-start}body.routing-page .global-policy-meta{align-items:flex-start;flex-direction:column;gap:6px}body.routing-page .routing-draft-actions{flex-wrap:wrap}body.routing-page .routing-draft-actions>span{flex-basis:100%}body.routing-page .gr-toolbar{align-items:flex-start;flex-direction:column;gap:5px}body.routing-page #workspace .gr-route-table thead,body.routing-page #workspace .gr-failover-table thead{display:none}body.routing-page #workspace .gr-route-table tr{display:grid;grid-template-columns:1fr 1fr;padding:8px;border-bottom:1px solid var(--gr-line)}body.routing-page #workspace .gr-route-table td{border:0;padding:9px}body.routing-page #workspace .gr-route-table td:first-child{grid-column:1/-1}body.routing-page #workspace .gr-route-table td[data-label]::before{content:attr(data-label);display:block;font-size:11px;color:var(--gr-sub);margin-bottom:5px}body.routing-page #workspace .gr-failover-table tr{display:grid;grid-template-columns:38px minmax(0,1fr);padding:10px 0;border-bottom:1px solid var(--gr-line)}body.routing-page #workspace .gr-failover-table td{padding:5px 8px;border:0}body.routing-page #workspace .gr-failover-table td:nth-child(n+3){grid-column:2}body.routing-page #workspace .gr-failover-table td[data-label]::before{content:attr(data-label) ': ';font-size:11px;color:var(--gr-sub)}body.routing-page #workspace .gr-excluded-list li{flex-direction:column;gap:4px}body.routing-page #workspace .gr-excluded-list span{text-align:left}body.routing-page .manual-priority-row{grid-template-columns:25px minmax(0,1fr);gap:8px}body.routing-page .manual-controls{grid-column:2;flex-wrap:wrap}body.routing-page dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}body.routing-page dialog form{max-height:calc(100dvh - 24px)}body.routing-page .dialog-header,body.routing-page .dialog-footer,body.routing-page .dialog-body{padding:15px}body.routing-page #workspace .gr-heading .gr-concept{display:none}}
@media(pointer:coarse){body.routing-page button{min-height:44px}body.routing-page input,body.routing-page select{font-size:16px}}
body.routing-page #workspace .gr-manual-order{list-style:none;padding:0;margin:12px 0 0}
body.routing-page #workspace .gr-manual-order li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 0;border-top:1px solid #48527266}
body.routing-page #workspace .gr-manual-order li>span:nth-child(2){font-size:12px}
body.routing-page #workspace .gr-manual-order small{display:block;font-size:10px;color:var(--gr-sub);margin-top:3px}
body.routing-page #workspace .gr-move{min-width:30px;padding:5px 9px;font-size:11px;line-height:1.3}
body.routing-page #workspace .inline-policy-error{color:#ffb3b3;margin-top:10px}
@media(max-width:650px){body.routing-page #workspace .gr-manual-order li{grid-template-columns:25px minmax(0,1fr)}body.routing-page #workspace .gr-manual-order .manual-controls{grid-column:2}}

/* Native assigned-Relay availability is distinct from retained assignment. */
body.routing-page #workspace .gr-pill.offline{background:#d92935;color:#fff}
body.routing-page .gr-node.offline,body.routing-page #workspace .gr-node.offline{border-color:#d92935;background:#301a24}

/* Routing inventory, active bindings and recovery are separate read-only views. */
body.routing-page #workspace .available-relays-panel{margin-top:0;margin-bottom:18px}
body.routing-page #workspace .gr-global{margin-top:0}
body.routing-page #workspace .gr-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
body.routing-page #workspace .gr-inline-failovers{margin:0;padding-left:18px;display:grid;gap:6px}
body.routing-page #workspace ul.gr-inline-failovers{list-style:none;padding-left:0}
body.routing-page .home-col{width:23%}body.routing-page .pool-col{width:14%}body.routing-page .serving-col{width:18%}body.routing-page .alternative-col{width:24%}body.routing-page .clients-col{width:11%}body.routing-page .status-col{width:10%}
body.routing-page #workspace .gr-available-table th:nth-child(1){width:25%}
body.routing-page #workspace .gr-available-table th:nth-child(2){width:18%}
body.routing-page #workspace .gr-available-table th:nth-child(3){width:17%}
body.routing-page #workspace .gr-available-table th:nth-child(4){width:28%}
body.routing-page #workspace .gr-available-table th:nth-child(5){width:12%}
@media(max-width:650px){body.routing-page #workspace .gr-panel-head{align-items:flex-start;flex-direction:column}body.routing-page #workspace .gr-available-table thead{display:none}body.routing-page #workspace .gr-available-table tr{display:grid;grid-template-columns:1fr 1fr;padding:8px;border-bottom:1px solid var(--gr-line)}body.routing-page #workspace .gr-available-table td{border:0;padding:9px}body.routing-page #workspace .gr-available-table td:first-child{grid-column:1/-1}body.routing-page #workspace .gr-available-table td[data-label]::before{content:attr(data-label);display:block;font-size:11px;color:var(--gr-sub);margin-bottom:5px}}
