:root{color-scheme:dark;--bg:#0c0e0d;--surface:#171b19;--text:#f5f5f4;--muted:#adb2ad;--gold:#ffc34e;--line:#4c4936;font:14px/1.6 "Segoe UI",system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0%,#5c3c1733,transparent 55%),var(--bg);min-height:100svh}a{color:inherit;text-decoration:none}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.symbols{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.shell{max-width:1200px;margin:auto;padding:0 32px}.brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700;letter-spacing:.07em;line-height:1.3}.brand small{display:block;font-size:8px;letter-spacing:.12em;color:var(--muted);font-weight:400;margin-top:4px}header{min-height:110px;display:flex;justify-content:space-between;align-items:center;gap:24px}.header-right{display:flex;align-items:center;gap:20px;color:var(--muted)}.panel{border:1px solid var(--line);border-radius:24px;background:linear-gradient(130deg,#191d1a,#111512);padding:28px;margin-bottom:22px}h1,h2,p{margin-top:0}h1{font-size:clamp(28px,3.5vw,38px);letter-spacing:-.025em;line-height:1.2;margin-bottom:16px;font-weight:600}h2{font-size:21px;line-height:1.4}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:600;color:var(--gold);margin-bottom:18px}.auth{max-width:520px;margin:35px auto 80px;padding:36px}.auth form{margin-top:30px}label{display:block;font-size:13px;color:#c8cdc6;margin-bottom:20px}input{display:block;width:100%;min-height:52px;padding:14px 16px;margin-top:8px;background:#101411;border:1px solid #ffffff17;border-radius:14px;color:var(--text);font:inherit;transition:border-color .52s ease}input:hover,input:focus{border-color:var(--gold);outline:none}button{display:flex;align-items:center;justify-content:center;gap:14px;font:inherit;font-size:13px;font-weight:550;min-height:52px;padding:14px 18px;border:1px solid #ffffff17;border-radius:14px;color:var(--text);background:linear-gradient(145deg,#2a2e26,#1b1f1a);cursor:pointer;transition:border-color .52s ease,background-color .52s ease,color .52s ease}button:hover{border-color:var(--gold)}button.primary:hover{background:var(--gold);color:#282010}button:disabled{opacity:.5;cursor:wait}.auth button,dialog button{width:100%;margin-top:16px}.secondary{background:transparent}button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:25px 0}.pill,.status{border:1px solid var(--line);border-radius:999px;padding:6px 12px;white-space:nowrap;font-size:12px}.status{display:inline-flex;align-items:center;gap:8px}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:#b07e76}.status.online{color:#98c4ac}.status.online:before{background:#98c4ac}summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-weight:550}summary::-webkit-details-marker{display:none}details[open]>summary{margin-bottom:24px}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;margin-top:24px}.fields button{grid-column:1/-1}.fields label{min-width:0}.help{font-size:12px;margin:20px 0 0}.devices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.device{padding:26px;min-width:0}.device-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}.device-name{display:flex;align-items:center;gap:12px;font-weight:600}.device-name svg{color:var(--gold)}dl{margin:0 0 22px}dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:14px 0;border-bottom:1px solid #ffffff0d}dt{font-size:13px;color:var(--muted)}dd{margin:0;font-size:14px;font-weight:550;text-align:right;overflow-wrap:anywhere}dd.email{font-size:12px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions button{font-size:12px;padding:12px 10px}.empty{grid-column:1/-1;text-align:center;padding:50px 25px;color:var(--muted);border:1px dashed var(--line);border-radius:24px;margin-bottom:22px}.history-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #ffffff12;font-size:12px;overflow-wrap:anywhere}.notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:min(520px,calc(100% - 32px));padding:16px 20px;border:1px solid #ab803d;border-radius:16px;background:#232318;color:#f0e6d0;box-shadow:0 12px 40px #0008;z-index:10}footer{display:flex;justify-content:space-between;gap:20px;padding:30px 0;color:var(--muted);font-size:11px}dialog{width:min(480px,calc(100% - 32px));padding:30px;border:1px solid var(--line);border-radius:24px;background:#171b19;color:var(--text)}dialog::backdrop{background:#0009}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.8 monospace;border:1px solid var(--line);padding:16px;border-radius:14px}#account{font-size:12px}#logout{min-height:38px;font-size:11px;padding:8px 12px}@media(max-width:750px){.shell{padding:0 18px}header{min-height:92px}.header-right{gap:8px;flex-direction:column;align-items:flex-end}#account{max-width:160px;overflow-wrap:anywhere}.auth{margin-top:20px;padding:26px}.devices,.fields{grid-template-columns:1fr}.panel{padding:22px;border-radius:20px}.page-heading{align-items:flex-start}.pill{margin-top:4px}.actions{gap:10px}.history-row{flex-direction:column;gap:4px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Authentication uses the approved router surface; dashboard remains unchanged. */
body.auth-page{position:relative;isolation:isolate;display:grid;place-items:center;padding:34px 16px;min-height:100svh;background:#0d0f0e;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
body.auth-page:before,body.auth-page:after,body.panel-page:before,body.panel-page:after{content:"";position:fixed;z-index:-1;pointer-events:none;display:block}
body.auth-page:before,body.panel-page:before{inset:-20%;background:radial-gradient(36% 32% at 76% 22%,#ffb53480,transparent 70%),radial-gradient(32% 30% at 20% 40%,#f0791c66,transparent 70%),radial-gradient(30% 26% at 55% 55%,#ffc4533d,transparent 72%),radial-gradient(40% 36% at 62% 92%,#ffd06a48,transparent 72%),radial-gradient(70% 60% at 50% 50%,#33291a,transparent 80%);filter:brightness(.8)}
body.auth-page:after,body.panel-page:after{inset:0;opacity:.8;background:radial-gradient(#ffd99a40 1px,transparent 1.4px) 0 0/26px 26px;mask-image:radial-gradient(ellipse 80% 70% at 50% 35%,#000 20%,transparent 85%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 35%,#000 20%,transparent 85%)}
.auth-page .shell{width:100%;max-width:560px;margin:auto;padding:34px 34px 30px;border:1px solid #75602c;border-radius:32px;background:linear-gradient(155deg,#1b1c1c,#121414 65%,#161716);box-shadow:0 28px 90px #0009,inset 0 1px 0 #ffffff08}
.auth-page header{min-height:42px;margin-bottom:34px;gap:12px}
.auth-page .brand{gap:10px;font-size:13px;letter-spacing:2.1px;color:#f7f5ef}
.auth-page .brand img{border-radius:13px;box-shadow:0 5px 20px #f3ad2022}
.auth-page .brand small{font-size:7px;letter-spacing:1.1px;margin-top:2px;color:#a6a69b}
.auth-page .header-right{display:none}
.auth-page .auth{max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none}
.auth-page h1{font-size:30px;font-weight:600;line-height:1.22;letter-spacing:-.8px;margin:0 0 16px}
.auth-page #auth-description{font-size:14px;line-height:1.7;color:#a6aaa2;margin:0 0 30px}
.auth-page .auth form{margin:0}
.auth-page label{font-size:12px;color:#b5beab;margin:0 0 20px}
.auth-page input{min-height:50px;margin-top:8px;padding:12px 14px;font-size:16px;border-radius:13px;background:#101311;color:#eee;border-color:#ffffff17;transition:border-color .52s ease,background-color .52s ease,box-shadow .52s ease}
.auth-page input:hover,.auth-page input:focus{border-color:#ffc15a}
.auth-page input:focus{background:#141713;box-shadow:0 0 0 3px #ffc0530c}
.auth-page #otp-label .muted{display:block;font-size:11px;color:#a6aaa2;margin-top:4px}




.auth-page footer{padding:0;margin-top:34px;font-size:10px;color:#a0a694;align-items:center}
@media(max-width:480px){body.auth-page{padding:20px 12px}.auth-page .shell{padding:25px 22px 30px;border-radius:22px}.auth-page h1{font-size:28px}.auth-page header{margin-bottom:30px}.auth-page footer{gap:10px;flex-wrap:wrap}.auth-page:before{inset:-40%}.auth-page:after{background-size:22px 22px}}
@media(prefers-reduced-motion:reduce){}

/* Fleet table: bounded rows, persistent search, keyboard-accessible actions. */
.device-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:26px 0 18px}.device-tools label{flex:1;max-width:600px;margin:0}.device-pagination{display:flex;align-items:center;gap:12px;font-size:12px;white-space:nowrap}.device-pagination button{min-width:44px;min-height:44px;padding:8px}.device-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:20px;margin-bottom:26px;background:#141815;scrollbar-color:#8b7138 #171b19}.device-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;min-width:1000px}.device-table th{font-size:11px;font-weight:550;color:#b7bdb2;background:#20241e;padding:16px;white-space:nowrap}.device-table td{padding:18px 16px;border-top:1px solid #ffffff0d;vertical-align:middle;overflow-wrap:anywhere;max-width:230px}.device-table tbody tr:hover{background:#ffffff03}.device-table strong{font-size:12px}.table-sub{display:block;color:var(--muted);font-size:11px;margin-top:4px}.table-actions{display:flex;gap:6px}.table-actions button{width:38px;min-height:40px;padding:8px;border-radius:10px}.table-actions svg{width:18px;height:18px}.table-empty{text-align:center;color:var(--muted);height:100px}.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}@media(max-width:750px){.device-tools{align-items:stretch;flex-direction:column;gap:14px}.device-pagination{justify-content:flex-end}.device-table td,.device-table th{padding:14px 12px}}

/* Router visual language on the wide administrator surface. */
body.panel-page{position:relative;isolation:isolate;min-height:100svh;padding:34px 0;background:#0d0f0e;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;--muted:#a6aaa2;--gold:#ffc15a;--line:#ffffff10}
.panel-page .shell{max-width:1200px;padding:0 32px;border:1px solid #75602c;border-radius:32px;background:linear-gradient(155deg,#1b1c1c,#121414 65%,#161716);box-shadow:0 28px 90px #0009,inset 0 1px 0 #ffffff08}
.panel-page header{min-height:110px}.panel-page .brand{gap:10px;font-size:13px;letter-spacing:2.1px;color:#f7f5ef}.panel-page .brand img{border-radius:13px;box-shadow:0 5px 20px #f3ad2022}.panel-page .brand small{font-size:7px;letter-spacing:1.1px;margin-top:2px;color:#a6a69b}
.panel-page h1{font-size:30px;font-weight:600;line-height:1.22;letter-spacing:-.8px}.panel-page h2{font-size:21px;font-weight:550}.panel-page .eyebrow{color:#b0b2a9}.panel-page .page-heading{margin:14px 0 28px}.panel-page .page-heading .muted{font-size:14px;line-height:1.7}
.panel-page .panel{background:linear-gradient(145deg,#24272688,#1a1e1d88);border-color:#ffffff10;border-radius:18px;box-shadow:inset 0 1px 0 #ffffff05;padding:24px;margin-bottom:20px}
.panel-page label{font-size:12px;color:#b5beab}.panel-page input{min-height:50px;padding:12px 14px;border-radius:13px;background:#101311;color:#eee;font-size:16px;border-color:#ffffff17;transition:border-color .52s ease,background-color .52s ease,box-shadow .52s ease}.panel-page input:hover,.panel-page input:focus{border-color:#ffc15a}.panel-page input:focus{background:#141713;box-shadow:0 0 0 3px #ffc0530c}.panel-page input::placeholder{color:#9ba394}
.panel-page button{position:relative;isolation:isolate;overflow:hidden;min-height:54px;padding:14px 18px;font-size:13px;font-weight:550;line-height:1.5;border-radius:14px;border:1px solid #ffffff17;color:#e9ece2;background:linear-gradient(145deg,#2a2e26,#1b1f1a);transition:border-color .52s ease,color .52s ease,box-shadow .52s ease}
.panel-page button:before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;background:linear-gradient(115deg,#ffc453,#f0a223);opacity:0;pointer-events:none;transition:opacity .52s ease}.panel-page button:hover:not(:disabled),.panel-page button:focus-visible:not(:disabled){background:linear-gradient(145deg,#2a2e26,#1b1f1a);border-color:#ffc15a;color:#282010}.panel-page button:hover:not(:disabled):before,.panel-page button:focus-visible:not(:disabled):before{opacity:1}
.panel-page #logout{min-height:40px;font-size:11px;padding:8px 12px}.panel-page .device-pagination button{min-height:44px;padding:8px}.panel-page .table-actions button{min-height:40px;padding:8px;border-radius:10px}.panel-page .device-table-wrap{border-radius:18px;background:linear-gradient(145deg,#24272688,#1a1e1d88);box-shadow:inset 0 1px 0 #ffffff05}.panel-page .device-table th{background:#242724;color:#b5beab}.panel-page .device-table td{border-color:#ffffff10;color:#efeee8}.panel-page .table-sub{color:#a6aaa2}.panel-page .pill{border-color:#75602c;background:#ffffff04}.panel-page summary{font-size:13px}.panel-page summary svg{color:#d1d5c9}.panel-page .status.online{color:#99d5b4;border-color:#89ccaa48;background:#67b99208}.panel-page .status.online:before{background:#99d5b4}
.panel-page dialog{border:1px solid #75602c;border-radius:28px;padding:30px;background:linear-gradient(155deg,#1b1c1c,#121414 65%,#161716);box-shadow:0 28px 90px #0009}.panel-page dialog label{margin-bottom:20px}.panel-page pre{background:#101311;border-color:#ffffff17;color:#efeee8}.panel-page .notice{background:#201e17;border-color:#80682f;color:#e8e7df}.panel-page footer{font-size:10px;color:#a0a694}
@media(max-width:750px){body.panel-page{padding:20px 12px}.panel-page .shell{padding:0 18px;border-radius:22px}.panel-page header{min-height:92px}.panel-page .panel{padding:20px}.panel-page h1{font-size:28px}.panel-page .header-right{gap:10px}.panel-page .device-table td,.panel-page .device-table th{padding:14px 12px}}
@media(max-width:480px){body.panel-page:before{inset:-40%}body.panel-page:after{background-size:22px 22px}.panel-page .brand{letter-spacing:1.4px}.panel-page #account{max-width:125px;font-size:10px}.panel-page .page-heading{gap:12px}.panel-page .pill{font-size:10px}.panel-page dialog{padding:24px}}
@media(prefers-reduced-motion:reduce){.panel-page button:before{transition:none}}

.section-title{display:flex;align-items:center;gap:14px;min-width:0}.section-title svg{width:22px;height:22px;flex:none}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.history-heading h2{margin:0;font-size:14px;font-weight:550}.history-scroll{max-height:240px;overflow-y:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:#957336 #1b1e1a;overscroll-behavior:contain}.history-scroll::-webkit-scrollbar{width:6px}.history-scroll::-webkit-scrollbar-thumb{background:#957336;border-radius:8px}.history-scroll .history-row{font-size:12px}.panel-page button.clear-history{width:40px;min-height:40px;padding:8px;border-radius:10px;flex:none}.device-table th,.device-table td{vertical-align:middle}.device-table td:last-child,.device-table th:last-child{padding-right:16px;width:186px}.table-actions{justify-content:flex-end}.device-pagination #device-page{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #ffffff17;border-radius:12px;background:linear-gradient(145deg,#2a2e26,#1b1f1a);transition:border-color .52s ease}.device-pagination #device-page:hover{border-color:#ffc15a}.history-scroll:focus-visible{outline:1px solid #ffc15a;outline-offset:4px}

/* Same contained scrollbars as the router's LAN device picker. */
.history-scroll,.device-table-wrap{scrollbar-width:thin;scrollbar-color:#887447 #1b2019;overscroll-behavior:contain}.history-scroll::-webkit-scrollbar,.device-table-wrap::-webkit-scrollbar{width:7px;height:7px}.history-scroll::-webkit-scrollbar-track,.device-table-wrap::-webkit-scrollbar-track{background:#1b2019;border-radius:10px}.history-scroll::-webkit-scrollbar-thumb,.device-table-wrap::-webkit-scrollbar-thumb{background:#887447;border:1px solid #1b2019;border-radius:10px}.history-scroll::-webkit-scrollbar-thumb:hover,.device-table-wrap::-webkit-scrollbar-thumb:hover{background:#ffc154}
details.history>summary.history-heading{margin:0;min-height:40px}details.history[open]>summary.history-heading{margin-bottom:18px}.history-heading .section-title{font-size:14px;font-weight:550}details.panel>summary{transition:color .52s ease}details.panel>summary:hover{color:#ffc15a}

/* Shared geometry and hover state for all administrator disclosures. */
.panel-page #admin-section>details.panel{padding:24px;margin-bottom:20px;border:1px solid #ffffff10;border-radius:18px;transition:border-color .52s ease}
.panel-page #admin-section>details.panel>summary{min-height:40px;margin:0;font-size:14px;font-weight:550;line-height:1.5;gap:18px;transition:color .52s ease}
.panel-page #admin-section>details.panel[open]>summary{margin-bottom:18px}
.panel-page #admin-section .section-title{gap:14px;font-size:14px;font-weight:550;line-height:1.5}
.panel-page #admin-section>details.panel>summary svg{width:22px;height:22px;color:inherit;transition:color .52s ease}
.panel-page #admin-section>details.panel:has(>summary:hover),.panel-page #admin-section>details.panel:has(>summary:focus-visible){border-color:#ffc15a}
.panel-page #admin-section>details.panel>summary:hover,.panel-page #admin-section>details.panel>summary:focus-visible{color:#ffc15a}
@media(max-width:750px){.panel-page #admin-section>details.panel{padding:20px}}

.journal-scroll-shell{position:relative}.journal-scroll-shell .history-scroll{scrollbar-width:none!important;padding-right:18px}.journal-scroll-shell .history-scroll::-webkit-scrollbar{display:none!important;width:0;height:0}.journal-scroll-track{position:absolute;top:0;right:0;bottom:0;width:7px;border-radius:10px;background:#1b2019}.journal-scroll-thumb{position:absolute;top:0;left:0;width:7px;border:1px solid #1b2019;border-radius:10px;background:#887447;touch-action:none;cursor:grab;transition:background-color .52s ease}.journal-scroll-thumb:hover,.journal-scroll-thumb:active{background:#ffc154}.journal-scroll-thumb:active{cursor:grabbing}

/* Native file selector retains accessible browser behavior with STACK GATE styling. */
.panel-page #firmware-file{padding:8px;font-size:13px;min-height:62px;cursor:pointer;color:#d1d5c9}
.panel-page #firmware-file::file-selector-button{font:inherit;font-size:13px;font-weight:550;min-height:44px;padding:12px 16px;margin-right:14px;border:1px solid #ffffff17;border-radius:10px;background:#242724;color:#e9ece2;cursor:pointer;transition:background-color .52s ease,border-color .52s ease,color .52s ease}
.panel-page #firmware-file::file-selector-button:hover{background:#ffc453;border-color:#ffc15a;color:#282010}
.panel-page #firmware-file:focus-visible::file-selector-button{border-color:#ffc15a}
@media(prefers-reduced-motion:reduce){.panel-page #firmware-file::file-selector-button{transition:none}}

.panel-page #firmware-file{height:50px;min-height:50px;padding:4px 8px}.panel-page #firmware-file::file-selector-button{height:40px;min-height:40px;padding:9px 14px}
.panel-page #claim-box{padding:24px;transition:border-color .52s ease}.panel-page #claim-box>summary{min-height:40px;margin:0;font-size:14px;font-weight:550;line-height:1.5}.panel-page #claim-box[open]>summary{margin-bottom:18px}.panel-page #claim-box:has(>summary:hover),.panel-page #claim-box:has(>summary:focus-visible){border-color:#ffc15a}.panel-page #claim-box>summary:hover{color:#ffc15a}.panel-page #claim-box .section-title{font-size:14px;gap:14px}.panel-page:not(.admin-page) .table-actions button{width:auto;min-height:40px;white-space:nowrap}.panel-page:not(.admin-page) .device-table{min-width:850px}
@media(max-width:750px){.panel-page #claim-box{padding:20px}}

.panel-page #upload-form input{height:50px;min-height:50px;box-sizing:border-box}

.panel-page:not(.admin-page) .device-table{min-width:1250px}.panel-page:not(.admin-page) .device-table td:last-child{max-width:none;width:310px}.panel-page button:disabled{cursor:default}

/* Fit the fleet to the page; compact labelled rows replace the table on small screens. */
.panel-page .device-table-wrap{overflow:visible}.panel-page .device-table,.panel-page:not(.admin-page) .device-table{width:100%;min-width:0;table-layout:fixed}.panel-page .device-table th,.panel-page .device-table td{padding:16px 10px;max-width:none;overflow-wrap:anywhere;white-space:normal;font-size:12px}.panel-page .device-table th{font-size:10px}.panel-page .device-table td:last-child,.panel-page .device-table th:last-child{width:18%;padding-right:14px}.panel-page .device-table th:first-child{width:14%}.panel-page .device-table th:nth-child(2){width:9%}.panel-page .device-table .table-sub{font-size:10px}.panel-page .table-actions{gap:5px;flex-wrap:wrap}.panel-page .table-actions button{flex-shrink:0}.panel-page:not(.admin-page) .table-actions{flex-direction:column;align-items:stretch}.panel-page:not(.admin-page) .table-actions button{width:100%;min-width:0;min-height:38px;white-space:normal;font-size:11px;padding:8px;gap:8px}.panel-page .device-table .status{font-size:10px;padding:5px 7px;gap:5px}.panel-page .device-table thead th:first-child{border-radius:17px 0 0 0}.panel-page .device-table thead th:last-child{border-radius:0 17px 0 0}
@media(max-width:950px){.panel-page .device-table-wrap{border:0;background:none;box-shadow:none}.panel-page .device-table{display:block}.panel-page .device-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.panel-page .device-table tbody{display:grid;gap:16px}.panel-page .device-table tr{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:18px;border:1px solid #ffffff10;border-radius:18px;background:linear-gradient(145deg,#24272688,#1a1e1d88)}.panel-page .device-table td{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px 0;border:0;border-bottom:1px solid #ffffff0d;font-size:13px;min-width:0}.panel-page .device-table td:before{content:attr(data-label);display:block;color:#a6aaa2;font-size:10px;margin-bottom:6px}.panel-page .device-table td:first-child{grid-column:1/-1}.panel-page .device-table td:last-child{grid-column:1/-1;width:100%;padding:14px 0 0;border-bottom:0}.panel-page .device-table .table-actions{width:100%;justify-content:flex-start}.panel-page:not(.admin-page) .table-actions{flex-direction:row}.panel-page:not(.admin-page) .table-actions button{width:auto;flex:1;min-height:44px}.panel-page .device-table td.table-empty{grid-column:1/-1;border:0}.panel-page .device-table td.table-empty:before{display:none}}
@media(max-width:380px){.panel-page .device-table tr{gap:0 12px;padding:14px}.panel-page:not(.admin-page) .table-actions{flex-direction:column}}

@media(max-width:950px){.panel-page .device-table-wrap,.panel-page .device-table,.panel-page .device-table tbody{min-width:0;max-width:100%;width:100%}.panel-page .device-table tbody{grid-template-columns:minmax(0,1fr)}.panel-page .device-table tr{min-width:0;max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:600px){.panel-page:not(.admin-page) .table-actions{flex-direction:column;align-items:stretch}.panel-page:not(.admin-page) .table-actions button{width:100%;flex:none;min-width:0}.panel-page .device-table td:last-child{min-width:0}}

@media(max-width:950px){.panel-page:not(.admin-page) .device-table td:last-child{width:100%;max-width:100%;padding-right:0}}

.device-name-link{font-size:12px;font-weight:650;color:var(--text,#efeee8);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:color .52s ease,text-decoration-color .52s ease}.device-name-link:hover,.device-name-link:focus-visible{color:#ffc154;text-decoration-color:#ffc154}.device-name-link:focus-visible{outline:1px solid #ffc154;outline-offset:4px;border-radius:3px}
.device-details{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box}.device-details h2{margin-top:0}.device-details>p:empty{display:none}.device-facts{margin:22px 0}.device-fact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px;padding:15px 0;border-bottom:1px solid #ffffff10;font-size:13px;line-height:1.5}.device-fact dt{display:flex;align-items:center;gap:12px;color:var(--muted)}.device-fact dt svg{width:18px;height:18px;flex:none}.device-fact dd{margin:0;text-align:right;overflow-wrap:anywhere;color:var(--text,#efeee8)}.device-details>button{width:100%;margin-top:14px}.admin-page .device-table th:last-child,.admin-page .device-table td:last-child{width:114px}
@media(max-width:440px){.device-fact{grid-template-columns:1fr;gap:6px}.device-fact dd{text-align:left;padding-left:30px}.device-details{padding:22px}}
@media(prefers-reduced-motion:reduce){.device-name-link{transition:none}}

/* Shared visual tokens from vpn.stackgate.org, 15 October 2026. */
:root{--bg:#0a0b0a;--text:#f5f5f2;--muted:#a3a79c;--dim:#6f7468;--gold:#ffc34e;--line:#ffffff12;--line2:#ffffff1f;--surface:linear-gradient(145deg,#2a2e26,#1b1f1a);--gold-grad:linear-gradient(115deg,#ffc453,#f0a223);--shadow:0 8px 22px #0004,inset 0 1px 0 #ffffff09;--ease:cubic-bezier(.16,1,.3,1)}
body.auth-page,body.panel-page{background:var(--bg);color:var(--text);font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.auth-page:before,body.panel-page:before{inset:0;background:radial-gradient(60% 45% at 50% 0,#ffb53424,transparent 70%),radial-gradient(40% 40% at 85% 10%,#ff8a1f1c,transparent 70%);filter:none}
body.auth-page:after,body.panel-page:after{inset:0;opacity:1;background:linear-gradient(#ffffff08 1px,transparent 1px) 0 0/64px 64px,linear-gradient(90deg,#ffffff08 1px,transparent 1px) 0 0/64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 10%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 10%,#000,transparent 75%)}
.auth-page .shell,.panel-page .shell{background:linear-gradient(160deg,#161815,#0e100d);border:1px solid var(--line2);border-radius:24px;box-shadow:0 24px 70px #0005,inset 0 1px 0 #ffffff09}
.panel-page .shell{max-width:1200px;padding:0 32px}
.auth-page .shell{padding:36px;max-width:560px}
.auth-page .brand,.panel-page .brand{font-size:13px;font-weight:800;letter-spacing:.08em;gap:10px}
.auth-page .brand small,.panel-page .brand small{font-size:7px;font-weight:400;letter-spacing:1.1px;color:#a6a69b;margin-top:2px}
.auth-page .brand img,.panel-page .brand img{box-shadow:none;border-radius:12px}
.panel-page header{border-bottom:1px solid var(--line);min-height:104px}
.auth-page h1,.panel-page h1{font-weight:700;letter-spacing:-.04em;line-height:1.12;font-size:clamp(28px,3.4vw,38px)}
.auth-page h2,.panel-page h2{font-size:21px;font-weight:700;letter-spacing:-.02em}
.panel-page .page-heading{margin:32px 0}.panel-page .eyebrow{color:var(--gold);font-weight:700;letter-spacing:.1em}
.auth-page .muted,.panel-page .muted{color:var(--muted)}
.auth-page label,.panel-page label{font-size:12px;font-weight:600;color:#c3c7bb}
.auth-page input,.panel-page input{min-height:52px;padding:14px 16px;border:1px solid var(--line2);border-radius:14px;background:#0e100d;color:var(--text);font:inherit;font-size:14px;transition:border-color .5s ease,box-shadow .5s ease,background-color .5s ease}
.auth-page input:hover,.panel-page input:hover,.auth-page input:focus,.panel-page input:focus{border-color:var(--gold)}
.auth-page input:focus,.panel-page input:focus{background:#121510;box-shadow:0 0 0 3px #ffc34e12}
.auth-page input::placeholder,.panel-page input::placeholder{color:#92988a;font-weight:400;opacity:1}
.auth-page button,.panel-page button{font-family:inherit;min-height:52px;padding:14px 24px;gap:12px;border:1px solid var(--line2);border-radius:14px;background:var(--surface);color:#eceee6;font-size:14px;line-height:1.5;font-weight:700;box-shadow:var(--shadow);transition:border-color .5s ease,box-shadow .5s ease,color .5s ease;transform:none}
.auth-page button:before,.panel-page button:before{display:none}
.auth-page button:hover:not(:disabled),.panel-page button:hover:not(:disabled),.auth-page button:focus-visible:not(:disabled),.panel-page button:focus-visible:not(:disabled){background:var(--surface);border-color:var(--gold);color:var(--text);transform:none}
.auth-page button.primary,.panel-page button.primary{position:relative;isolation:isolate;overflow:hidden;background:var(--gold-grad);color:#241b08;border-color:#ffc15470;box-shadow:0 10px 30px #f0a22326,inset 0 1px 0 #ffffff55}
.auth-page button.primary:before,.panel-page button.primary:before{display:block;content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,#ffdc8a,#ffb63f);opacity:0;transition:opacity .5s ease;pointer-events:none}
.auth-page button.primary:hover:not(:disabled),.panel-page button.primary:hover:not(:disabled){background:var(--gold-grad);color:#241b08;border-color:#ffc15470;box-shadow:0 14px 40px #f0a22344}
.auth-page button.primary:hover:not(:disabled):before,.panel-page button.primary:hover:not(:disabled):before,.auth-page button.primary:focus-visible:before,.panel-page button.primary:focus-visible:before{opacity:1}
.auth-page button svg,.panel-page button svg{width:18px;height:18px;stroke-width:1.7}
.panel-page button:disabled,.auth-page button:disabled{opacity:.45;cursor:default;box-shadow:none}
.panel-page .panel,.panel-page #admin-section>details.panel,.panel-page #claim-box{border:1px solid var(--line);border-radius:24px;background:linear-gradient(160deg,#161815,#0e100d);box-shadow:inset 0 1px 0 #ffffff05;padding:24px;transition:border-color .5s ease}
.panel-page details.panel:has(>summary:hover),.panel-page details.panel:has(>summary:focus-visible){border-color:#ffc15470}
.panel-page summary,.panel-page #admin-section>details.panel>summary,.panel-page #claim-box>summary{font-size:14px;font-weight:700;min-height:40px}
.panel-page summary svg{stroke-width:1.7;color:inherit}.panel-page .section-title{gap:14px}
.panel-page .device-table-wrap{border:1px solid var(--line);border-radius:24px;background:linear-gradient(160deg,#161815,#0e100d);box-shadow:none}
.panel-page .device-table th{background:#1b1f1a;color:var(--muted);font-weight:600;font-size:10px}
.panel-page .device-table td{border-color:var(--line);color:var(--text)}
.panel-page .device-table thead th:first-child{border-radius:23px 0 0 0}.panel-page .device-table thead th:last-child{border-radius:0 23px 0 0}
.panel-page .table-sub{color:var(--muted)}.panel-page .device-table strong,.device-name-link{font-weight:800}
.panel-page .table-actions button{padding:8px;min-height:40px;width:38px;border-radius:10px;font-size:11px;gap:8px}
.panel-page:not(.admin-page) .table-actions button{width:100%;font-size:11px;padding:9px}
.panel-page .pill,.panel-page .status{background:#151714;border-color:var(--line2);color:#d7d9d0;font-weight:700}
.panel-page .status.online{color:#99d5b4;border-color:#89ccaa48;background:#67b99208}
.panel-page #logout{min-height:38px;border-radius:999px;padding:8px 16px;font-size:12px}
.panel-page .device-pagination button{min-height:44px;padding:8px;min-width:44px}
.panel-page .device-pagination #device-page{border-color:var(--line2);background:var(--surface);font-weight:600;transition:border-color .5s ease}
.panel-page button.clear-history{min-height:40px;width:40px;padding:8px;border-radius:10px}
body dialog{border:1px solid var(--line2);background:linear-gradient(160deg,#161815,#0e100d);border-radius:24px;padding:30px;box-shadow:0 24px 80px #0009;color:var(--text);max-height:calc(100dvh - 40px);overflow:auto;font-family:inherit}
body dialog::backdrop{background:#000b}
.device-fact{border-color:var(--line)}.device-fact dt{font-weight:600}.device-fact dd{font-weight:700}
.auth-page .notice,.panel-page .notice{border:1px solid #ffc15450;border-radius:16px;background:#211d13;color:#f5ecd8}
.auth-page footer,.panel-page footer{font-size:10px;color:var(--muted)}footer a{transition:color .5s ease}footer a:hover{color:var(--gold)}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:950px){.panel-page .device-table-wrap{border:0;background:none}.panel-page .device-table tr{border-radius:24px;border-color:var(--line);background:linear-gradient(160deg,#161815,#0e100d)}}
@media(max-width:750px){body.panel-page{padding:16px 12px}.panel-page .shell{padding:0 18px}.auth-page .shell{padding:28px 24px}.panel-page .panel,.panel-page #admin-section>details.panel,.panel-page #claim-box{padding:20px}.panel-page header{min-height:96px}.panel-page .page-heading{margin:26px 0}.panel-page #account{font-size:10px}.panel-page #logout{font-size:10px;padding:8px 12px}.panel-page .device-table th,.panel-page .device-table td{font-size:12px}.panel-page .device-table td:last-child{width:100%;padding-right:0}.auth-page h1,.panel-page h1{font-size:28px}}
@media(max-width:440px){.panel-page .page-heading{flex-wrap:wrap}.panel-page .device-table tr{gap:0 12px}.panel-page .brand{letter-spacing:.05em}.panel-page .brand img{width:36px;height:36px}.panel-page .brand small{font-size:6px;letter-spacing:.8px}.panel-page dialog{padding:22px}.panel-page .header-right{max-width:42%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Site motion kit: bounded amber light, shared icon geometry, static controls. */
.auth-page button,.panel-page button{position:relative;isolation:isolate;overflow:hidden;transition:border-color .52s ease,box-shadow .52s ease,color .52s ease}
.auth-page button:not(.primary):hover:not(:disabled),.panel-page button:not(.primary):hover:not(:disabled),.auth-page button:not(.primary):focus-visible,.panel-page button:not(.primary):focus-visible{color:#f5f5f2;background:var(--surface);border-color:var(--gold);box-shadow:0 8px 28px #f0a22328,inset 0 1px 0 #ffc45320}
.auth-page button:not(.primary):before,.panel-page button:not(.primary):before{display:block;content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 0,#ffc34e22,transparent 75%);opacity:0;transition:opacity .52s ease}
.auth-page button:hover:not(:disabled):before,.panel-page button:hover:not(:disabled):before{opacity:1}
.auth-page button svg,.panel-page button svg,summary svg{stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .52s var(--ease),color .52s ease,filter .52s ease;transform-origin:center}
.auth-page button:hover:not(:disabled) svg,.panel-page button:hover:not(:disabled) svg{filter:drop-shadow(0 0 5px #ffc34e55)}
button:hover:not(:disabled) svg:has(use[href="#arrow"]){transform:translateX(3px)}
button:hover:not(:disabled) svg:has(use[href="#user-add"]){transform:scale(1.1)}
button:hover:not(:disabled) svg:has(use[href="#exit"]){transform:translateX(2px)}
button:hover:not(:disabled) svg:has(use[href="#update"]){transform:rotate(45deg)}
button:hover:not(:disabled) svg:has(use[href="#close"]){transform:rotate(90deg)}
body .shell{position:relative;isolation:isolate}

.panel-page details.panel{position:relative;isolation:isolate}
.panel-page details.panel:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,-20%),#ffc34e20,transparent 65%);opacity:0;transition:opacity .52s ease}
.panel-page details.panel:hover:before,.panel-page details.panel:focus-within:before{opacity:1}
.panel-page details.panel:hover{box-shadow:0 12px 32px #f0a2230d,inset 0 1px 0 #ffffff08}
.panel-page summary:hover .section-title svg,.panel-page details[open]>summary .section-title svg{color:var(--gold);filter:drop-shadow(0 0 6px #ffc34e55)}
.auth-page .brand img,.panel-page .brand img{box-shadow:0 6px 26px #f0a22333;transition:box-shadow .52s ease}
.brand:hover img{box-shadow:0 6px 34px #f0a22366}
.panel-page .status.online:before{box-shadow:0 0 9px #99d5b477;animation:sg-status-pulse 2s ease-in-out infinite}
.panel-page .device-table tbody tr{transition:background-color .52s ease,box-shadow .52s ease}
.panel-page .device-table tbody tr:hover{background-color:#ffc34e06;box-shadow:inset 0 0 24px #ffc34e05}
body.auth-page:before,body.panel-page:before{background:radial-gradient(60% 45% at 50% 0,#ffb53438,transparent 70%),radial-gradient(40% 40% at 85% 10%,#ff8a1f2c,transparent 70%);animation:sg-ambient 12s ease-in-out infinite alternate}
body dialog[open]{animation:sg-dialog-in .4s var(--ease)}
body dialog[open]::backdrop{animation:sg-backdrop-in .3s ease}
.notice:not([hidden]){animation:sg-notice-in .35s var(--ease);box-shadow:0 12px 40px #0008,0 0 32px #ffc34e14}
#auth:not([hidden]){animation:sg-view-in .4s var(--ease)}
@keyframes sg-status-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.7)}}
@keyframes sg-ambient{from{opacity:.65}to{opacity:1}}
@keyframes sg-dialog-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes sg-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes sg-notice-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes sg-view-in{from{opacity:.3}to{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.auth-page button svg,.panel-page button svg{transform:none!important}}

/* Main-site diagonal beam and drifting amber orbs, behind the opaque portal. */
.sg-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict}
.sg-beam{position:absolute;top:-260px;right:12%;width:260px;height:1150px;transform:rotate(48deg);transform-origin:50% 0;opacity:0;animation:sg-beam-in 2s ease .3s forwards,sg-beam-drift 16s ease-in-out .3s infinite alternate}
.sg-beam span{position:absolute;inset:0;-webkit-mask-image:linear-gradient(to bottom,transparent 5%,#000 35%,#000 55%,transparent 85%);mask-image:linear-gradient(to bottom,transparent 5%,#000 35%,#000 55%,transparent 85%)}
.sg-beam span:first-child{background:linear-gradient(90deg,transparent,#ff8a1f12 25%,#ffb5343d 45%,#ffe6a8 50%,#ffb5343d 55%,#ff8a1f12 75%,transparent);animation:sg-beam-breathe 6s ease-in-out infinite alternate}
.sg-beam span:last-child{left:38%;right:58%;background:linear-gradient(90deg,transparent,#fff3d0,transparent);opacity:.7;animation:sg-beam-breathe 4s ease-in-out infinite alternate-reverse}
.sg-orb{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(closest-side,#ffb53448,#ff8a1f1e 55%,transparent);animation:sg-orb-drift 20s ease-in-out infinite alternate}
.sg-orb-a{top:-120px;left:-160px}.sg-orb-b{bottom:-200px;right:-140px;animation-delay:-7s;background:radial-gradient(closest-side,#ff8a1f42,transparent)}
@keyframes sg-beam-in{to{opacity:1}}
@keyframes sg-beam-breathe{from{opacity:.65}to{opacity:1}}
@keyframes sg-beam-drift{0%{translate:-60px -65px;rotate:-2deg}50%{translate:50px 55px;rotate:1.5deg}100%{translate:150px 165px;rotate:-1deg}}
@keyframes sg-orb-drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(60px,-40px,0) scale(1.12)}100%{transform:translate3d(-40px,30px,0) scale(.95)}}
@media(max-width:760px){.sg-beam{right:-30%;width:200px}.sg-orb{width:420px;height:420px}}
@media(prefers-reduced-motion:reduce){.sg-background *{animation:none!important}.sg-beam{opacity:1;translate:none;rotate:none}}

/* Dense fleet rows; actions remain in the device card. */
.admin-page .device-table th,.admin-page .device-table td{padding:10px 14px;font-size:12px}.admin-page .device-table th{font-size:10px}.admin-page .device-table th:first-child{width:20%}.admin-page .device-table th:nth-child(2){width:11%}.admin-page .device-table th:last-child,.admin-page .device-table td:last-child{width:20%}.admin-page .device-table .table-sub{margin-top:2px}.device-details>button{min-height:46px}
@media(max-width:950px){.admin-page .device-table tr{padding:14px 18px}.admin-page .device-table td{padding:9px 0}.admin-page .device-table td:last-child{width:100%;grid-column:1/-1}}
/* Password entry follows the device panel, including inline field feedback. */
#auth-form .auth-password-wrap{position:relative;display:block;margin-top:8px}#auth-form .auth-password-wrap input{margin-top:0;padding-right:52px}
#auth-form .auth-password-eye{position:absolute!important;top:0;bottom:0;right:7px;width:36px!important;min-width:36px;min-height:36px!important;height:36px;margin:auto 0!important;padding:7px!important;display:grid;place-items:center;background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:#f5f5f2;transform:none!important;transition:color .52s ease!important}
#auth-form .auth-password-eye:hover,#auth-form .auth-password-eye:focus-visible{color:#ffc34e!important}#auth-form .auth-password-eye:before,#auth-form .auth-password-eye:after{display:none!important}#auth-form .auth-password-eye svg{width:20px;height:20px;stroke-width:1.8;filter:none;transform:none}#auth-form .auth-password-eye .eye-slash{display:none}#auth-form .auth-password-eye[aria-pressed="true"] .eye-slash{display:block}
.auth-field-error,.auth-password-hint{display:block;margin:8px 0 0;font-size:12px;line-height:1.5;font-weight:400}.auth-field-error,.auth-password-hint.mismatches{color:#eda6a0}.auth-password-hint{color:var(--muted)}.auth-password-hint.matches{color:#99d5b4}.auth-page #auth-form input[aria-invalid="true"]{border-color:#d77970;box-shadow:0 0 0 2px #d7797010}
.auth-feedback{padding:12px 14px;margin:16px 0;border:1px solid #d7797050;border-radius:12px;color:#eda6a0;background:#d779700a;font-size:12px}
/* Calm central surface; compact, matching navigation actions. */
body .shell:before{content:none}
.auth-page .cabinet-nav-button,.panel-page .cabinet-nav-button,.panel-page #logout.cabinet-nav-button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 16px;border:1px solid var(--line2);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);color:#eceee6;font-family:inherit;font-size:12px;font-weight:700;line-height:1.5;white-space:nowrap;transition:border-color .52s ease,color .52s ease,box-shadow .52s ease}
.cabinet-nav-button svg{width:18px;height:18px;stroke-width:1.7;flex:none}
.auth-page .cabinet-nav-button:before,.panel-page .cabinet-nav-button:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 0,#ffc34e22,transparent 75%);opacity:0;transition:opacity .52s ease}
.auth-page .cabinet-nav-button:hover,.panel-page .cabinet-nav-button:hover,.auth-page .cabinet-nav-button:focus-visible,.panel-page .cabinet-nav-button:focus-visible{color:#f5f5f2;border-color:var(--gold);box-shadow:0 8px 28px #f0a22328,inset 0 1px 0 #ffc45320}
.cabinet-nav-button:hover:before,.cabinet-nav-button:focus-visible:before{opacity:1}
.auth-page footer,.panel-page footer{align-items:center}
@media(max-width:480px){.auth-page .cabinet-nav-button,.panel-page .cabinet-nav-button,.panel-page #logout.cabinet-nav-button{font-size:11px;padding:10px 12px;gap:8px}.auth-page footer,.panel-page footer{gap:14px;flex-wrap:wrap}.auth-page footer>span,.panel-page footer>span{margin-left:auto}}
.panel-page #logout.cabinet-nav-button:hover,.panel-page #logout.cabinet-nav-button:focus-visible{border-color:var(--gold);color:#f5f5f2;box-shadow:0 8px 28px #f0a22328,inset 0 1px 0 #ffc45320}
@media(max-width:480px){.panel-page #logout.cabinet-nav-button{white-space:normal;max-width:100%;line-height:1.3;text-align:center}}


/* ---------- Р СћР вЂ” 2026-10-16: glass shell, unified alerts, device dialog, language ---------- */
:root{--glass-bg:#12141199;--glass-panel:#ffffff06;--glass-line:#ffffff1c;--glass-blur:blur(16px) saturate(140%);--radius:22px;--radius-sm:14px;--alert-ms:180ms}
/* One blurred layer per screen: the shell. Inner surfaces are translucent, never blurred again. */
.auth-page .shell,.panel-page .shell{background:linear-gradient(160deg,#1a1d18b3,#0d0f0cb8);border:1px solid var(--glass-line);border-radius:var(--radius);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:0 24px 70px #0006,inset 0 1px 0 #ffffff12}
.panel-page .panel,.panel-page #admin-section>details.panel,.panel-page #claim-box,.panel-page .device-table-wrap{background:linear-gradient(160deg,#ffffff08,#ffffff03);border-color:var(--glass-line);border-radius:var(--radius)}
.panel-page .device-table th{background:#ffffff08}
.auth-page input,.panel-page input{background:#0b0d0ab3}
.auth-page input:focus,.panel-page input:focus{background:#0e110cd9}
body dialog{background:linear-gradient(160deg,#1a1d18eb,#0d0f0cf0);border-color:var(--glass-line);border-radius:var(--radius);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
body dialog::backdrop{background:#000a}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.auth-page .shell,.panel-page .shell{background:linear-gradient(160deg,#171a16,#0e100d)}body dialog{background:linear-gradient(160deg,#171a16,#0e100d)}}
@media(max-width:480px){.auth-page .shell,.panel-page .shell{border-radius:20px}}

/* Cursor-following light is off in the account and the admin panel (site keeps it). */
.panel-page details.panel:before{content:none}
.panel-page details.panel:hover{box-shadow:inset 0 1px 0 #ffffff08}

/* Unified alert: error, warning, success, info. Icon is drawn in CSS (CSP allows no data: images). */
.sg-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--alert-line);border-radius:var(--radius-sm);background:var(--alert-bg);color:var(--alert-text);font-size:13px;font-weight:500;line-height:1.5;text-align:left}
.sg-alert:before{content:var(--alert-icon);flex:none;display:grid;place-items:center;width:18px;height:18px;margin-top:1px;border:1.5px solid currentColor;border-radius:50%;color:var(--alert-icon-color);font-size:11px;font-weight:800;line-height:1}
.sg-alert[hidden]{display:none}
.sg-alert--error{--alert-line:#d7797066;--alert-bg:#2a1614e6;--alert-text:#f3c4bf;--alert-icon:"!";--alert-icon-color:#ee8a80}
.sg-alert--warning{--alert-line:#ffc34e66;--alert-bg:#29210fe6;--alert-text:#f5e2b8;--alert-icon:"!";--alert-icon-color:#ffc34e}
.sg-alert--success{--alert-line:#89ccaa66;--alert-bg:#11231ae6;--alert-text:#c9ecd8;--alert-icon:"\2713";--alert-icon-color:#99d5b4}
.sg-alert--info{--alert-line:#ffffff2e;--alert-bg:#1a1d18f0;--alert-text:#e8e9e2;--alert-icon:"i";--alert-icon-color:#c3c7bb}
.auth-feedback.sg-alert{margin:16px 0;animation:sg-alert-in var(--alert-ms) ease-out}
.auth-page .notice.sg-alert,.panel-page .notice.sg-alert,.notice.sg-alert{border-radius:var(--radius-sm);padding:14px 16px;box-shadow:0 12px 40px #0008;animation:sg-alert-up var(--alert-ms) ease-out}
.auth-field-error{display:flex;align-items:center;gap:6px}
.auth-field-error:not([hidden]):before{content:"!";flex:none;display:grid;place-items:center;width:14px;height:14px;border:1.5px solid currentColor;border-radius:50%;font-size:9px;font-weight:800;line-height:1}
.auth-field-error[hidden]{display:none}
.auth-field-error:not([hidden]),.auth-password-hint:not([hidden]){animation:sg-alert-in var(--alert-ms) ease-out}
@keyframes sg-alert-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@keyframes sg-alert-up{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}

/* Device dialog (admin): text on the left, icon on the right, no icon rotation. Scoped to this dialog only. */
#device-details>button{justify-content:space-between;text-align:left}
#device-details>button>span{flex:1;min-width:0}
#device-details button:hover:not(:disabled) svg:has(use[href="#close"]),#device-details button:focus-visible svg:has(use[href="#close"]){transform:none}

/* Language picker: same structure as the device panel, styled like vpn.stackgate.org; top right next to Р’В«Р вЂ”Р В°Р Р†Р ВµРЎР‚РЎв‚¬Р С‘РЎвЂљРЎРЉ РЎРѓР ВµРЎРѓРЎРѓР С‘РЎР‹Р’В». */
.auth-page .header-right{display:flex}
.lang{position:relative;flex:none}
.auth-page .lang-button,.panel-page .lang-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:76px;width:auto;min-height:44px;margin:0;padding:8px 12px;border:1px solid var(--line2);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);color:#eceee6;font:inherit;font-size:12px;font-weight:700;line-height:1;cursor:pointer;transition:border-color .5s ease,box-shadow .5s ease}
.auth-page .lang-button:hover,.panel-page .lang-button:hover,.lang-button:focus-visible,.lang-button[aria-expanded="true"]{border-color:var(--gold)!important;box-shadow:0 8px 28px #f0a22328,inset 0 1px 0 #ffc45320!important}
.lang-button:before{content:none!important}
.lang-flag{display:inline-block;width:18px!important;height:12px!important;flex:none;border-radius:2px;box-shadow:0 0 0 1px #ffffff20;overflow:hidden;filter:none!important;stroke:none}
.lang-list{position:absolute;right:0;top:calc(100% + 10px);z-index:30;display:flex;flex-direction:column;gap:8px;width:192px;margin:0;padding:8px;list-style:none;border:1px solid var(--line2);border-radius:14px;background:linear-gradient(145deg,#232720f7,#171a16f7);box-shadow:0 18px 42px #000a,inset 0 1px 0 #ffffff0a;transform-origin:100% 0;animation:lang-unfold .24s cubic-bezier(.2,.7,.2,1) both}
.lang-list[hidden]{display:none}
.lang-list li{position:relative;display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 38px 12px 12px;border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:600;color:#e6eadf;cursor:pointer;transition:color .5s ease,border-color .5s ease,background-color .5s ease}
.lang-list li:hover,.lang-list li:focus-visible{background-color:#ffbf5110;border-color:#ffbf5125;outline:none}
.lang-list li:focus{outline:none}
.lang-list li[aria-selected="true"]{background:linear-gradient(110deg,#ffc05320,#ffc05308);border-color:#ffc05332}
.lang-list li[aria-selected="true"]:after{content:"";position:absolute;right:15px;top:50%;width:7px;height:12px;margin-top:-8px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(40deg)}
@keyframes lang-unfold{from{opacity:0;transform:translateY(-5px) scaleY(.96)}to{opacity:1;transform:none}}
.panel-page .header-right{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px}
@media(max-width:750px){.panel-page .header-right{gap:8px}.panel-page #account{flex-basis:100%;text-align:right}}
@media(max-width:480px){.auth-page .lang-button,.panel-page .lang-button{min-width:68px;min-height:40px;padding:6px 10px}}
@media(prefers-reduced-motion:reduce){.sg-alert,.auth-field-error,.auth-password-hint,.lang-list{animation:none!important}}
@media(max-width:480px){.panel-page header{flex-wrap:wrap;row-gap:12px;padding:16px 0}.panel-page .header-right{max-width:none!important;flex:1 1 100%;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;align-items:center}.panel-page #account{flex:1 1 auto;flex-basis:auto!important;min-width:0;max-width:none!important;text-align:left!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-page #logout.cabinet-nav-button{white-space:nowrap!important;flex:none}}

/* Registration: reuse the existing controls and language switch unchanged. */
.registration-progress{display:flex;gap:6px;margin-bottom:24px}.registration-progress i{height:4px;flex:1;border-radius:4px;background:#ffffff12}.registration-progress i.on{background:var(--gold)}.registration-progress[hidden],#email-code-form[hidden]{display:none}.verification-address{overflow-wrap:anywhere;padding:12px 14px;border:1px solid #ffc34e40;border-radius:14px;background:#ffc34e0a;margin:0 0 18px}.verification-code{text-align:center;font-size:24px;letter-spacing:.35em;font-variant-numeric:tabular-nums;min-width:0}.verification-note{font-size:12px;line-height:1.6}.verification-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.verification-actions button{font-size:12px;padding:12px;min-width:0}.verification-actions svg{width:16px;flex:none}@media(max-width:380px){.verification-actions{grid-template-columns:1fr}}

.auth-page #email-code{font-size:24px;font-weight:700;line-height:1.3;letter-spacing:.35em;height:56px}.auth-page #email-code::placeholder{font-size:24px;opacity:.4}
/* Account device cards and shared footer; admin table remains compact. */
.device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.user-device-card,.device-placeholder{min-width:0;padding:22px;border:1px solid var(--border,#ffffff1f);border-radius:22px;background:linear-gradient(145deg,#22261fe0,#151915e0)}.device-card-heading{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;justify-content:space-between}.device-card-heading h2{font-size:16px;margin:0}.device-card-heading .device-renew{font-size:11px;padding:9px 10px;min-height:36px}.card-facts{margin:24px 0}.card-facts>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #ffffff0a;font-size:12px}.card-facts dt{color:var(--muted,#a3a79c)}.card-facts dd{margin:0;text-align:right;overflow-wrap:anywhere;min-width:0;max-width:58%}.device-placeholder{position:relative;min-height:320px;display:flex;flex-direction:column;justify-content:center;gap:15px;align-items:center;opacity:.4;transition:opacity .3s,border-color .3s}.device-placeholder>svg{width:36px;height:36px}.device-placeholder .placeholder-plus{position:absolute;inset:0;display:grid;place-items:center;background:#10140d88;font-size:64px;font-weight:400;opacity:0;transition:opacity .25s;border-radius:inherit}.device-placeholder:hover,.device-placeholder:focus-visible{opacity:.7;border-color:#ffc34e88}.device-placeholder:hover .placeholder-plus,.device-placeholder:focus-visible .placeholder-plus{opacity:1}.cabinet-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.cabinet-footer>#lang{justify-self:start}.cabinet-footer>span{grid-column:2;grid-row:1;text-align:center}.cabinet-footer>.site-return{grid-column:3;grid-row:1;justify-self:end}.cabinet-footer .lang-list{top:auto;bottom:calc(100% + 10px)}.account-security{padding:10px!important;min-width:40px;min-height:40px}.account-security svg{width:18px;height:18px}.dialog-feedback{margin:16px 0;white-space:normal}dialog .auth-password-wrap{display:block;position:relative}dialog .auth-password-wrap input,.fields .auth-password-wrap input{padding-right:48px}dialog .auth-password-eye,.fields .auth-password-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;min-height:0;padding:6px;border:0;background:none;box-shadow:none;color:#fff}dialog .auth-password-eye:hover,.fields .auth-password-eye:hover{color:#ffc34e;transform:translateY(-50%)}.auth-field-error.matches{color:#92cbb1}.account-delete{margin-top:20px}#account-dialog{width:min(480px,calc(100vw - 32px));max-height:90dvh;overflow:auto}#account-dialog form{display:grid;gap:14px}#account-dialog label{display:grid;gap:7px}.history-scroll{scrollbar-width:thin!important;scrollbar-color:#ffc34e35 transparent!important}.history-scroll::-webkit-scrollbar{width:4px!important}.history-scroll::-webkit-scrollbar-track{background:transparent!important}.history-scroll::-webkit-scrollbar-thumb{background:#ffc34e35!important;border-radius:9px}.history-scroll::-webkit-scrollbar-button{display:none;width:0;height:0}.site-return:hover svg{transform:translateX(-3px)}
@media(max-width:760px){.device-grid{grid-template-columns:1fr}.device-placeholder{min-height:200px}.cabinet-footer{grid-template-columns:1fr 1fr;gap:18px}.cabinet-footer>.site-return{grid-column:2}.cabinet-footer>span{grid-column:1/-1;grid-row:2}.device-card-heading .device-renew{font-size:12px}.header-right{flex-wrap:wrap}.header-right #account{overflow-wrap:anywhere;min-width:0;max-width:100%}}
@media(hover:none){.device-placeholder .placeholder-plus{opacity:.45;background:transparent;inset:auto;right:20px;bottom:8px;font-size:40px}}
@media(prefers-reduced-motion:reduce){.device-placeholder,.placeholder-plus{transition:none}}

dialog .auth-password-wrap input,.fields .auth-password-wrap input{margin:0}dialog .auth-password-eye,.fields .auth-password-eye{margin:0!important}#account-dialog label{margin:0}#account-dialog form>button{margin-top:0}#account-dialog{scrollbar-width:thin;scrollbar-color:#ffc34e35 transparent}

.journal-scroll-shell .history-scroll{scrollbar-width:none!important}.journal-scroll-track{width:4px;right:3px;background:transparent}.journal-scroll-thumb{width:4px;border:0;background:#ffc34e35}.journal-scroll-thumb:hover,.journal-scroll-thumb:active{background:#ffc34e65}

/* Cabinet performance: static ambient layers, no full-page backdrop sampling. */
.panel-page:before,.panel-page .sg-background *,.panel-page .status.online:before{animation:none!important}
.panel-page .sg-beam{opacity:1;translate:none;rotate:none}
.panel-page .shell{backdrop-filter:none;-webkit-backdrop-filter:none;background:linear-gradient(160deg,#1a1d18f5,#0d0f0cf5)}
.panel-page dialog{backdrop-filter:none;-webkit-backdrop-filter:none}
.panel-page .header-right #account-security,.panel-page .header-right #logout{height:44px;min-height:44px;margin:0;align-self:center;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
.panel-page .header-right #account-security{width:44px;min-width:44px;flex:none;padding:0!important;line-height:1}
#account-security svg{display:block;flex:none;margin:0;width:18px;height:18px}
#account-dialog form[hidden],#account-delete[hidden],#account-otp-label[hidden]{display:none!important}
/* Same secondary component and alignment as device access / SSH diagnostics. */
#account-dialog #account-close,#account-dialog #account-delete,#account-dialog #account-code-back{min-height:46px;justify-content:space-between;text-align:left}
#account-dialog #account-close>span,#account-dialog #account-delete>span{flex:1;min-width:0}
#account-dialog #account-close:hover svg,#account-dialog #account-close:focus-visible svg{transform:none}
#account-dialog #account-code{height:56px;font-size:24px;font-weight:700;letter-spacing:.35em;text-align:center}

/* Cabinet device cards and aligned credential fields — 2026-10-18. */
.fields{align-items:start}.fields .auth-password-wrap{display:block;position:relative;margin-top:8px;min-width:0}.fields .auth-password-wrap input{margin:0;width:100%}.fields .auth-password-eye{display:grid;place-items:center;right:10px;top:50%;width:36px;height:36px;padding:8px}.fields .auth-password-eye svg{width:20px;height:20px;transform:none!important}.fields input:autofill{background:#10130f;color:#f5f5f2}.fields input:-webkit-autofill{-webkit-text-fill-color:#f5f5f2;box-shadow:0 0 0 1000px #10130f inset;caret-color:#f5f5f2}
.user-device-card{display:flex;flex-direction:column;padding:24px;background:linear-gradient(145deg,#292d23,#141813 72%);border-color:#ffffff26;box-shadow:inset 0 1px 0 #ffffff08}.device-card-heading{display:flex;flex-direction:column;gap:16px}.device-identity{display:flex;align-items:center;gap:12px;min-width:0}.device-identity h2{font-size:16px;line-height:1.4}.device-mark{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border:1px solid #ffc34e45;border-radius:12px;background:#ffc34e12;color:#ffc34e}.device-mark svg{width:25px;height:25px}.device-status{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#b4b8ad}.device-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.device-status.is-online{color:#92cbb1}.card-facts{margin:18px 0 22px}.card-facts>div{padding:10px 0;align-items:baseline}.card-facts dt,.card-facts dd{font-size:12px;line-height:1.6}.device-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.device-card-actions button{flex:1 1 auto;min-height:42px;padding:10px 12px;font-size:11px;gap:8px;white-space:normal}.device-card-actions svg{flex-shrink:0;width:16px;height:16px}
.device-placeholder{padding:28px;min-height:300px;gap:12px;opacity:1;border:1px dashed #ffffff24;background:linear-gradient(145deg,#22261b66,#11150f55);box-shadow:none;color:#b5b9ad;overflow:hidden;transition:border-color .35s,background-color .35s,color .35s}.device-placeholder:before,.device-placeholder:after{display:none}.device-placeholder strong{font-size:16px;font-weight:650;color:#c7cbbe}.device-placeholder .placeholder-model{font-size:11px;color:#919889}.placeholder-mark{position:relative;display:grid;place-items:center;width:76px;height:76px;margin-bottom:10px;color:#a3aa96;border:1px solid #ffffff1c;border-radius:22px;background:#ffffff04}.placeholder-mark>svg{width:34px;height:34px}.device-placeholder .placeholder-plus{inset:auto;right:-8px;bottom:-8px;width:28px;height:28px;border:1px solid #a99a66;border-radius:50%;background:#272b20;color:#e6c77d;font-size:24px;line-height:1;opacity:.65}.placeholder-action{display:inline-flex;align-items:center;gap:10px;margin-top:20px;font-size:12px;color:#b5b9ad}.placeholder-action:after{content:"→";transition:transform .3s}.device-placeholder:hover,.device-placeholder:focus-visible{opacity:1;border-color:#ffc34e88;background-color:#ffc34e07;color:#ffc34e;transform:none}.device-placeholder:hover strong,.device-placeholder:focus-visible strong,.device-placeholder:hover .placeholder-action,.device-placeholder:focus-visible .placeholder-action{color:#ffc34e}.device-placeholder:hover .placeholder-action:after{transform:translateX(3px)}.device-placeholder:focus-visible{outline:2px solid #ffc34e;outline-offset:4px}
@media(min-width:761px) and (max-width:1050px){.user-device-card{padding:18px}.device-identity{gap:8px}.device-identity h2{font-size:13px}.device-mark{width:34px;height:34px}.card-facts>div{flex-wrap:wrap;gap:2px}.card-facts dd{max-width:100%;margin-left:auto}}
@media(max-width:760px){.user-device-card{padding:22px}.device-placeholder{min-height:230px;padding:24px}.placeholder-mark{width:60px;height:60px;margin-bottom:2px}.placeholder-action{margin-top:8px}.device-card-actions button{font-size:12px}}

.panel-page button.device-placeholder{border-style:dashed;border-radius:22px;background:linear-gradient(145deg,#22261b66,#11150f55);box-shadow:none}.panel-page button.device-placeholder .placeholder-mark>svg{width:34px;height:34px;transform:none}.panel-page button.device-placeholder:hover,.panel-page button.device-placeholder:focus-visible{background:linear-gradient(145deg,#ffc34e0d,#11150f88);box-shadow:none;transform:none}


.panel-page .fields .auth-password-eye,.panel-page .fields .auth-password-eye:hover,.panel-page .fields .auth-password-eye:focus-visible,.panel-page .fields .auth-password-eye:active{top:0;bottom:0;margin:auto 0!important;transform:none!important;background:none!important;box-shadow:none!important;border:0}.panel-page .fields .auth-password-eye:before,.panel-page .fields .auth-password-eye:after{display:none}.panel-page .fields .auth-password-eye:focus-visible{outline:1px solid #ffc34e;outline-offset:0}


/* Approved layouts: administrator concept 03, user concept 04. */
.panel-page #devices{margin:24px 0 32px}.sg-device-status{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#a3a79c;white-space:normal}.sg-device-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.sg-device-status.is-online,.sg-vpn.is-connected,.sg-sub-state.is-active{color:#92cbb1}.sg-device-identity{display:flex;align-items:center;gap:14px}.sg-device-identity h2{font-size:19px;line-height:1.4;margin:0}.sg-router-mark{display:grid;place-items:center;width:48px;height:48px;flex:none;border:1px solid #ffc34e40;border-radius:14px;color:#ffc34e;background:#ffc34e0c}.sg-router-mark svg{width:26px;height:26px}.sg-device-facts{margin:20px 0 24px}.sg-device-facts>div{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding:13px 0;border-bottom:1px solid #ffffff0d}.sg-device-facts dt{font-size:12px;color:#a3a79c}.sg-device-facts dd{margin:0;max-width:62%;font-size:12px;overflow-wrap:anywhere;text-align:right}.sg-subscription{min-width:0}.sg-subscription-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.sg-subscription-heading h3{margin:0;font-size:13px;font-weight:600}.sg-sub-state{font-size:11px;color:#a3a79c;text-align:right}.sg-expiry{font-size:26px;font-weight:600;line-height:1.3;letter-spacing:-.5px;margin:28px 0 20px;overflow-wrap:anywhere}.sg-sub-id{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:22px 0;margin-bottom:24px;border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;font-size:12px}.sg-sub-id>span{color:#a3a79c}.sg-sub-id strong{overflow-wrap:anywhere;min-width:0;text-align:right}.sg-sub-note{color:#a3a79c;font-size:11px;line-height:1.7;margin:12px 0 0}.panel-page .sg-renew,.panel-page .sg-manage{width:100%;font-size:12px;min-height:46px}.sg-manage{margin-top:22px}.sg-layout-empty{padding:36px 20px;text-align:center;color:#a3a79c}
/* Admin inventory: fixed columns in summary, details only when needed. */
.sg-inventory{border-top:1px solid #ffffff1a}.sg-inventory-labels,.panel-page .sg-inventory-device>summary{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(100px,.75fr) minmax(150px,1.5fr) minmax(110px,.9fr) 20px;gap:20px;align-items:center}.sg-inventory-labels{padding:17px 24px;font-size:10px;color:#a3a79c}.sg-inventory-device{margin:0 0 10px;border:1px solid #ffffff1c;border-radius:16px;background:#ffffff02;overflow:hidden}.panel-page .sg-inventory-device>summary{list-style:none;padding:22px 24px;cursor:pointer;min-height:78px;margin:0;font-weight:400;font-size:12px;transition:background .35s,color .35s}.sg-inventory-device>summary::-webkit-details-marker{display:none}.sg-inventory-device>summary:hover{background:#ffc34e06}.sg-inventory-device>summary:focus-visible{outline:1px solid #ffc34e;outline-offset:-2px}.sg-inventory-name{display:flex;align-items:center;gap:14px;min-width:0}.sg-inventory-name>svg{color:#ffc34e;width:24px;height:24px;flex:none}.sg-inventory-name strong{font-size:14px;font-weight:650}.sg-inventory-name small{display:block;margin-top:6px;color:#a3a79c;font-size:10px;font-weight:400}.sg-owner{overflow-wrap:anywhere;min-width:0}.sg-public-ip{font-variant-numeric:tabular-nums}.sg-disclosure-arrow{width:16px;height:16px;color:#ffc34e;transform:none;transition:transform .35s}.sg-inventory-device[open]>summary .sg-disclosure-arrow{transform:rotate(90deg)}.sg-inventory-content{display:grid;grid-template-columns:1.2fr 1fr;gap:42px;padding:28px;border-top:1px solid #ffffff1a;background:#0c100c66;animation:sg-detail-in .25s ease-out}.sg-inventory-content>.sg-subscription{border-left:1px solid #ffffff1a;padding-left:36px}.sg-vpn{font-size:13px;margin:0}.sg-inventory-content .sg-device-facts{margin-bottom:0}
/* User workspace: selection is retained while status refreshes. */
.sg-master-detail{display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px;border-top:1px solid #ffffff1a;padding-top:30px}.sg-device-rail{padding-right:26px;border-right:1px solid #ffffff1a;min-width:0}.sg-device-rail>h2{font-size:27px;font-weight:650;line-height:1.25;letter-spacing:-.5px;margin:0 0 12px}.sg-device-rail>.muted{font-size:12px;line-height:1.7;margin-bottom:26px}.panel-page button.sg-rail-device{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:15px 12px;min-height:76px;margin:0 0 10px;text-align:left;border:1px solid #ffffff1f;border-radius:13px;background:#ffffff03;box-shadow:none;color:#eceee6;font-size:12px;transform:none;transition:border-color .35s,background .35s}.panel-page button.sg-rail-device.selected{border-color:#ffc34e70;background:#ffc34e0b}.panel-page button.sg-rail-device:hover{border-color:#ffc34e;box-shadow:none;transform:none}.panel-page button.sg-rail-device:before,.panel-page button.sg-rail-device:after{display:none}.panel-page button.sg-rail-device>svg{width:21px;height:21px;color:#ffc34e;flex:none;transform:none!important}.sg-rail-device>span:not(.sg-device-status){min-width:0;flex:1}.sg-rail-device strong{display:block;font-size:11px;font-weight:650}.sg-rail-device small{display:block;font-size:9px;color:#a3a79c;margin-top:5px;overflow-wrap:anywhere}.sg-rail-device .sg-device-status{font-size:9px;max-width:64px;flex:none}.panel-page .sg-rail-add{width:100%;font-size:11px;padding:12px;gap:8px;margin-top:4px;min-height:44px}.sg-device-stage{min-width:0;outline:none}.sg-stage-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.sg-stage-state{display:flex;align-items:center;gap:18px;padding:26px 0;margin:30px 0;border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a}.sg-state-mark{display:grid;place-items:center;flex:none;width:50px;height:50px;border:1px solid #ffffff20;border-radius:50%;color:#a3a79c}.sg-stage-state.connected .sg-state-mark{color:#92cbb1;border-color:#92cbb140;background:#92cbb108}.sg-stage-state h2{font-size:22px;margin:0 0 5px}.sg-stage-state p{font-size:11px;margin:0}.sg-stage-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}.sg-stage-columns h3{font-size:13px;margin:0;color:#c7cebf}.sg-stage-columns>.sg-subscription{border-left:1px solid #ffffff1a;padding-left:28px}.sg-stage-columns .sg-device-facts>div{display:block;padding:11px 0}.sg-stage-columns .sg-device-facts dd{text-align:left;margin-top:6px;max-width:100%}.sg-stage-columns .sg-sub-id{flex-direction:column;align-items:flex-start}.sg-stage-columns .sg-sub-id strong{text-align:left}.sg-stage-columns>section>button{font-size:12px;min-height:44px}.sg-empty-stage{display:flex;min-height:310px;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:18px}.sg-empty-stage>svg{width:38px;height:38px;color:#ffc34e}.sg-empty-stage>h2{font-size:24px}.sg-empty-stage>.primary{width:auto;font-size:12px}.panel-page:not(.admin-page) #claim-box:not([open]){padding:16px 22px}.panel-page:not(.admin-page) .page-heading{margin-bottom:26px}
@keyframes sg-detail-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.sg-master-detail{grid-template-columns:220px minmax(0,1fr);gap:24px}.sg-device-rail{padding-right:20px}.sg-stage-columns{grid-template-columns:1fr}.sg-stage-columns>.sg-subscription{padding:24px 0 0;border-left:0;border-top:1px solid #ffffff1a}.sg-stage-columns .sg-device-facts>div{display:flex;gap:20px}.sg-stage-columns .sg-device-facts dd{max-width:60%;margin:0;text-align:right}.sg-stage-columns .sg-sub-id{flex-direction:row}.sg-inventory-labels,.panel-page .sg-inventory-device>summary{grid-template-columns:minmax(160px,1.2fr) minmax(80px,.65fr) minmax(130px,1fr) minmax(100px,.8fr) 16px;gap:14px;padding-left:18px;padding-right:18px}.sg-inventory-name{gap:9px}.sg-inventory-name strong{font-size:12px}.sg-inventory-content{gap:24px;padding:24px}.sg-inventory-content>.sg-subscription{padding-left:24px}.sg-rail-device .sg-device-status{font-size:0;max-width:7px;gap:0}}
@media(max-width:750px){.sg-master-detail{display:block;padding-top:24px}.sg-device-rail{border-right:0;padding-right:0;padding-bottom:26px;border-bottom:1px solid #ffffff1a;margin-bottom:28px}.sg-device-rail>h2{font-size:24px}.sg-device-rail>.muted{margin-bottom:18px}.panel-page button.sg-rail-device{min-height:66px}.sg-rail-device .sg-device-status{font-size:10px;max-width:100px;gap:6px}.sg-rail-device strong{font-size:13px}.sg-rail-device small{font-size:10px}.sg-stage-heading{gap:12px}.sg-device-identity h2{font-size:16px}.sg-router-mark{width:40px;height:40px}.sg-device-identity{gap:10px}.sg-stage-heading .sg-device-status{font-size:10px}.sg-stage-state{margin:22px 0;padding:22px 0}.sg-stage-state h2{font-size:20px}.sg-device-facts>div{font-size:11px}.sg-inventory-labels{display:none}.sg-inventory{padding-top:14px}.panel-page .sg-inventory-device>summary{grid-template-columns:minmax(0,1fr) 20px;padding:18px;gap:12px}.sg-inventory-name{grid-column:1}.sg-inventory-name strong{font-size:14px}.sg-inventory-device>summary .sg-device-status{grid-column:1;grid-row:2}.sg-owner,.sg-public-ip{grid-column:1;font-size:11px}.sg-owner:before{content:'Email: ';color:#a3a79c}.sg-public-ip:before{content:'IP: ';color:#a3a79c}.sg-disclosure-arrow{grid-column:2;grid-row:1}.sg-inventory-content{grid-template-columns:1fr;padding:20px;gap:26px}.sg-inventory-content>.sg-subscription{padding:24px 0 0;border-left:0;border-top:1px solid #ffffff1a}.sg-expiry{font-size:25px}.sg-subscription-heading{gap:10px}.sg-device-facts dd{max-width:60%}.sg-sub-id{flex-wrap:wrap}.sg-empty-stage{min-height:280px}.sg-empty-stage>h2{font-size:21px}.panel-page #devices{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.sg-inventory-content{animation:none}.sg-disclosure-arrow,.panel-page button.sg-rail-device{transition:none}}
/* Approved two-column device dialog, 2026-10-18 */
#device-details{width:min(900px,calc(100vw - 32px));padding:0;border-radius:24px;background:linear-gradient(140deg,#1a1e18,#111510);max-height:calc(100dvh - 36px);overflow:auto;scrollbar-width:thin;scrollbar-color:#7c714955 transparent;box-shadow:0 28px 100px #0009}#device-details[open]{animation:dd-open .32s cubic-bezier(.2,.7,.2,1)}#device-details::backdrop{background:#050704bb;backdrop-filter:none}#device-details.dd-closing{animation:dd-close .22s ease-in forwards}.dd-heading{padding:24px 26px;display:flex;gap:14px;align-items:center;border-bottom:1px solid #ffffff12}.dd-heading h2{margin:0;font-size:22px;letter-spacing:-.7px}.dd-heading .eyebrow{margin:0 0 4px;font-size:9px;letter-spacing:1.6px;color:#d4b873}.dd-mark{width:44px;height:44px;display:grid;place-items:center;border:1px solid #f5c46640;background:#ffc34e09;border-radius:14px;color:#f3c267;flex-shrink:0}.dd-mark svg{width:20px;height:20px}#device-details .dd-close{width:38px;min-height:38px;padding:8px;margin:0 0 0 auto;flex:none;border-radius:10px}#device-details-message{margin:0;padding:14px 26px}#device-details-message:empty{display:none}.dd-columns{padding:0 26px 24px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px}.dd-columns h3{font-size:12px;color:#c9cec2;margin:24px 0 8px}.dd-health{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:80px;border-bottom:1px solid #ffffff12;font-size:14px;font-weight:700}.dd-health .sg-device-status{font-weight:400;font-size:11px}.dd-health .connected{color:#96cab0}.dd-health .connected:before{content:'✓';margin-right:12px;color:#96cab0}#device-details .device-facts{margin:0}#device-details .device-fact{display:flex;justify-content:space-between;align-items:baseline;gap:22px;padding:12px 0;border-bottom:1px solid #ffffff0d;font-size:12px}#device-details .device-fact dt{font-size:12px;color:#949e8a}#device-details .device-fact dd{max-width:65%;font-size:12px;font-weight:700;overflow-wrap:anywhere}.dd-columns aside{border-left:1px solid #ffffff12;padding:26px 0 0 28px}.dd-columns aside>.eyebrow{font-size:9px;letter-spacing:1.6px;color:#d4b873;margin:0}.dd-columns aside>h3{font-size:18px;color:#e6eadd;margin:7px 0 14px}.dd-columns aside>.muted{font-size:12px;line-height:1.8;margin-bottom:20px}#device-details .dd-action{width:100%;display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:12px;margin:10px 0 0;padding:15px;min-height:68px;border-radius:12px}#device-details .dd-action>svg:first-child{color:#d8bd7e;flex:none}#device-details .dd-action>span{display:block;flex:1;min-width:0}#device-details .dd-action strong{display:block;font-size:12px}#device-details .dd-action small{display:block;color:#959d8d;font-size:10px;margin-top:4px;font-weight:400}#device-details .dd-action>svg:last-child{margin-left:auto;width:16px;flex:none}.dd-safety{display:flex;gap:8px;color:#88937e;font-size:10px;margin:22px 0 0}.dd-safety svg{width:15px;height:15px;flex:none}.dd-footer{border-top:1px solid #ffffff12;padding:17px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#0c100b55}.dd-footer small{font-size:10px;color:#939a8b}#device-details .dd-footer button{width:auto;margin:0;min-height:40px;padding:10px 17px;font-size:12px}@keyframes dd-open{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@keyframes dd-close{to{opacity:0;transform:translateY(10px) scale(.985)}}@media(max-width:650px){.dd-heading{padding:20px 18px;gap:10px}.dd-heading h2{font-size:18px}.dd-mark{width:36px;height:36px;border-radius:10px}.dd-columns{display:block;padding:0 18px 18px}.dd-columns aside{border-left:0;border-top:1px solid #ffffff12;padding:24px 0 0;margin-top:24px}.dd-columns aside>.muted{display:none}#device-details .device-fact{gap:12px}#device-details .device-fact dt,#device-details .device-fact dd{font-size:11px}.dd-footer{padding:14px 18px}.dd-footer small{max-width:125px}}@media(prefers-reduced-motion:reduce){#device-details[open],#device-details.dd-closing{animation:none}}

/* Device inventory is collapsed on administrator entry. */
.panel-page:not(.admin-page) #device-list-fold{padding:0;border:0;background:none;box-shadow:none;margin:0;backdrop-filter:none}.panel-page:not(.admin-page) #device-list-fold::before,.panel-page:not(.admin-page) #device-list-fold::after{display:none}.admin-page #device-list-fold{margin-bottom:20px}.admin-page #device-list-fold:not([open]){padding-bottom:22px}.admin-page #device-list-fold #device-tools{margin-top:24px}

/* Shared confirmation headers */
.confirmation-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.confirmation-heading h2{margin:0!important;padding-top:5px;min-width:0}dialog .confirmation-heading .confirmation-close{width:38px!important;height:38px;min-height:38px;padding:8px!important;margin:0!important;flex:0 0 38px;border-radius:10px}dialog .confirmation-close svg{width:18px;height:18px}#simple-confirm{width:min(480px,calc(100vw - 32px))}#simple-confirm>p{margin:0 0 24px}#simple-confirm-submit{width:100%}#account-code-back{width:auto;padding:4px 0;min-height:28px;background:none;border:0;box-shadow:none;color:var(--muted);font-size:12px}#account-code-back:hover{color:#ffc34e}
/* Approved device passport with on-demand refresh */
#device-details{width:min(620px,calc(100vw - 32px))}.dd-passport{padding:0 26px 24px}.dd-passport h3{font-size:12px;color:#c9cec2;margin:24px 0 8px}.dd-health>div>small{display:block;color:#929c88;font-size:10px;font-weight:400;margin:5px 0 0 24px}.dd-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.dd-metrics>div{position:relative;border:1px solid #ffffff13;border-radius:13px;background:#ffffff03;padding:16px 40px 16px 16px;min-width:0}.dd-metrics small{display:block;color:#919b88;font-size:10px}.dd-metrics strong{display:block;font-size:17px;margin-top:5px;overflow-wrap:anywhere}.dd-metrics svg{position:absolute;right:16px;top:18px;width:18px;height:18px;color:#d9bc77}.dd-passport-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:26px}#device-details .dd-passport-actions .dd-action{padding:14px 10px;display:flex;flex-direction:column;gap:12px;text-align:center;justify-content:flex-start;margin:0;min-height:78px}#device-details .dd-passport-actions .dd-action>span{flex:initial}#device-details .dd-passport-actions .dd-action>svg:last-child,#device-details .dd-passport-actions .dd-action small{display:none}#device-details-refresh[aria-busy=true] svg{animation:dd-refresh 1s linear infinite}@keyframes dd-refresh{to{transform:rotate(360deg)}}@media(max-width:650px){.dd-passport{padding:0 18px 18px}.dd-metrics>div{padding:12px 30px 12px 12px}.dd-metrics strong{font-size:14px}.dd-metrics svg{width:15px;right:10px;top:14px}#device-details .dd-passport-actions .dd-action strong{font-size:10px}}@media(prefers-reduced-motion:reduce){#device-details-refresh[aria-busy=true] svg{animation:none}}
#device-details .dd-footer{position:sticky;bottom:0;background:#141813;z-index:1}.dd-passport .dd-health{min-height:74px}.dd-passport-actions{margin-top:20px}.dd-metrics{margin:16px 0}
/* Always-visible device rows; click opens passport. */
.panel-page button.sg-inventory-row{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(80px,.65fr) minmax(130px,1.2fr) minmax(100px,.8fr) 20px;gap:20px;align-items:center;width:100%;padding:24px;margin:10px 0 0;text-align:left;border:1px solid #ffffff1a;border-radius:16px;background:#ffffff02;transform:none;box-shadow:none}.panel-page button.sg-inventory-row::before,.panel-page button.sg-inventory-row::after{display:none}.panel-page button.sg-inventory-row:hover{border-color:#d2a944;background:#ffc34e05}.sg-inventory-row>.sg-owner,.sg-inventory-row>.sg-public-ip{font-size:12px;overflow-wrap:anywhere;min-width:0}.sg-inventory-row>svg:last-child{width:16px}.sg-inventory-row .sg-device-status{font-weight:400}
#confirm-form>label,#account-settings>label,#account-code-form>label{display:block;margin:0 0 20px;line-height:1.6}#confirm-form>label>.auth-password-wrap,#account-settings>label>.auth-password-wrap{display:block;position:relative;margin:8px 0 0}#confirm-form>label>.auth-password-wrap input,#account-settings>label>.auth-password-wrap input{margin:0}#confirm-form>label>input,#account-settings>label>input,#account-code-form>label>input{margin:8px 0 0}#confirm-form .auth-field-error,#account-settings .auth-field-error,#account-code-form .auth-field-error{margin:8px 0 0}#confirm-form>button.primary{margin-top:0}
@media(max-width:750px){.panel-page button.sg-inventory-row{grid-template-columns:minmax(0,1fr) 20px;padding:18px;gap:12px}.sg-inventory-row>.sg-device-status,.sg-inventory-row>.sg-owner,.sg-inventory-row>.sg-public-ip{grid-column:1}.sg-inventory-row>svg:last-child{grid-column:2;grid-row:1}}
@media(min-width:751px){.sg-inventory-labels{grid-template-columns:minmax(160px,1.2fr) minmax(80px,.65fr) minmax(130px,1.2fr) minmax(100px,.8fr) 20px;gap:20px;padding-left:24px;padding-right:24px}}
.panel-page .sg-inventory-row .sg-inventory-name{gap:22px}.panel-page .sg-inventory-row .sg-inventory-name>svg{width:24px;height:24px;flex:0 0 24px}#account-dialog .confirmation-heading{align-items:center}#account-dialog .confirmation-heading h2{padding:0;margin:0!important}#account-dialog .confirmation-heading #account-close{box-sizing:border-box;display:grid;place-items:center;width:38px!important;height:38px!important;min-height:38px!important;max-height:38px;padding:8px!important;margin:0!important;flex:0 0 38px;line-height:1;border-radius:10px;transform:none}#account-close svg{display:block;width:18px;height:18px;margin:0;transform:none!important}#account-method{line-height:1.75;margin-bottom:22px}@media(max-width:750px){.panel-page .sg-inventory-row .sg-inventory-name{gap:18px}}

/* Shared history tabs: approved variant 1. */
.sg-history{margin-top:28px;border:1px solid #ffffff1c;border-radius:18px;background:#11150f;overflow:hidden}.sg-history-tabs{display:flex;gap:8px;padding:9px;border-bottom:1px solid #ffffff15;background:#ffffff03}.sg-history-tabs button{padding:13px 20px;border:1px solid transparent;background:none;color:#a3a79c;box-shadow:none}.sg-history-tabs button[aria-selected=true]{background:#ffca5810;border-color:#c5a04c55;color:#f1cb79}.sg-history-tabs button span{font-size:10px;border-radius:7px;padding:2px 6px;background:#ffffff08;margin-left:10px}.sg-history-heading{padding:23px 24px 0}.sg-history-heading h2{font-size:18px;margin:0}.sg-history-tools{display:flex;gap:8px;padding:20px 24px;align-items:center}.sg-history-tools input{flex:1;min-width:0;margin:0}.sg-history-tools input,.sg-history-tools select{height:42px;border:1px solid #ffffff1c;border-radius:10px;background:#0b0f0a;color:inherit;font:inherit;font-size:12px;padding:0 12px}.sg-history-tools select{width:140px}.sg-history-tools button{width:42px;height:42px;min-height:42px;flex-shrink:0;padding:10px}.sg-history-tools svg{width:17px;height:17px}.sg-history .history-scroll{height:330px;max-height:330px;padding:0 24px 12px}.sg-history .journal-scroll-shell{margin:0 12px 0 0}.sg-history-entry{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:14px;padding:18px 0;border-bottom:1px solid #ffffff0d;align-items:start;animation:sg-history-in .22s ease}.sg-history-mark{width:30px;height:30px;display:grid;place-items:center;border:1px solid #94c6ad22;border-radius:10px;color:#94c6ad}.sg-history-mark svg{width:16px;height:16px}.sg-history-entry.error .sg-history-mark,.sg-history-entry.error .sg-history-state{color:#e7a29b}.sg-history-entry.wait .sg-history-mark,.sg-history-entry.wait .sg-history-state{color:#e2be75}.sg-history-entry h3{font-size:12px;margin:0}.sg-history-entry p{font-size:11px;color:#969e8e;margin:5px 0;overflow-wrap:anywhere}.sg-history-entry time{font-size:10px;color:#969e8e;white-space:nowrap}.sg-history-state{font-size:10px;color:#97c5ae;overflow-wrap:anywhere}.sg-demo-badge{font-size:9px;color:#f1cb79;border:1px solid #c5a04c44;border-radius:5px;padding:2px 5px;margin-left:9px;display:inline-block}.sg-history-foot{padding:15px 24px;border-top:1px solid #ffffff12;color:#969e8e;font-size:10px}.sg-history-empty{text-align:center;padding:60px 12px;color:#969e8e}@keyframes sg-history-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-width:600px){.sg-history-tabs button{flex:1;padding:12px 8px;font-size:11px}.sg-history-tabs button span{margin-left:4px}.sg-history-tools{padding:16px;flex-wrap:wrap}.sg-history-tools input{flex-basis:100%}.sg-history-tools select{margin-right:auto}.sg-history-heading{padding:20px 16px 0}.sg-history .history-scroll{padding:0 16px 12px}.sg-history-entry{grid-template-columns:26px minmax(0,1fr);gap:10px}.sg-history-mark{width:26px;height:26px}.sg-history-entry time{grid-column:2;margin-top:-5px}.sg-history-foot{padding:14px 16px}}@media(prefers-reduced-motion:reduce){.sg-history-entry{animation:none}}

/* History controls follow the router connection picker. */
.sg-history-tools{align-items:center}.sg-history .sg-history-tools>input,.sg-history .sg-history-tools>.sg-history-picker,.sg-history .sg-history-tools>button{height:52px;min-height:52px;max-height:52px;margin:0;box-sizing:border-box}.sg-history .sg-history-tools>input{padding:0 14px}.sg-history .sg-history-tools>button{width:44px;padding:12px}.sg-history-picker{position:relative;width:170px;flex:0 0 170px;z-index:4}.sg-history .sg-history-picker-trigger{position:relative;display:flex;align-items:center;justify-content:flex-start;width:100%;height:52px;min-height:52px;margin:0;padding:0 38px 0 15px;text-align:left;font-size:12px;border:1px solid #ffffff26;border-radius:14px;background:linear-gradient(145deg,#2a2e26,#1b1f1a);color:#e5e7df;box-shadow:inset 0 1px 0 #ffffff09}.sg-history-picker-trigger:after{content:"";position:absolute;right:17px;width:7px;height:7px;border-right:1.5px solid #ffc34e;border-bottom:1.5px solid #ffc34e;transform:rotate(45deg) translateY(-2px);transition:transform .25s}.sg-history .sg-history-picker-trigger:hover,.sg-history .sg-history-picker-trigger[aria-expanded=true]{border-color:#ffc34e80;color:#ffc34e}.sg-history-picker-trigger[aria-expanded=true]:after{transform:rotate(225deg) translate(-2px,-2px)}.sg-history-options{position:absolute;top:calc(100% + 9px);right:0;width:100%;min-width:170px;padding:7px;border:1px solid #ffffff26;border-radius:16px;background:linear-gradient(155deg,#292d25,#191e18);box-shadow:0 15px 36px #0006;animation:sg-history-in .22s ease}.sg-history .sg-history-option{position:relative;display:block;width:100%;height:auto;min-height:42px;padding:12px 32px 12px 12px;margin:0;background:transparent;border:1px solid transparent;border-radius:10px;text-align:left;font-size:12px;box-shadow:none;color:#e5e7df}.sg-history .sg-history-option:hover,.sg-history .sg-history-option:focus-visible{background:#ffc34e0d;border-color:#ffc34e33;color:#ffc34e;outline:none}.sg-history .sg-history-option[aria-selected=true]{background:#ffc34e12;border-color:#ffc34e38;color:#f1cb79}.sg-history-option[aria-selected=true]:after{content:'✓';position:absolute;right:12px;color:#ffc34e}.sg-history .journal-scroll-track{top:8px;bottom:8px;right:5px;width:4px;opacity:0;transition:opacity .4s ease;pointer-events:none}.sg-history .journal-scroll-thumb{width:4px;background:#ffc34e40}.sg-history .journal-scroll-shell.is-scrolling .journal-scroll-track{opacity:1;pointer-events:auto}.sg-history .journal-scroll-shell{margin-right:7px}.sg-history .history-scroll{padding-right:25px}@media(max-width:600px){.sg-history .sg-history-picker{margin-right:auto;width:150px;flex-basis:150px}.sg-history .journal-scroll-track{right:2px;width:3px}.sg-history .journal-scroll-thumb{width:3px}.sg-history .journal-scroll-shell{margin-right:4px}.sg-history .history-scroll{padding-right:18px}}@media(prefers-reduced-motion:reduce){.sg-history-options{animation:none}.sg-history-picker-trigger:after,.sg-history .journal-scroll-track{transition:none}}
/* Router picker spacing and square journal actions. */
.sg-history .sg-history-options{display:flex;flex-direction:column;gap:9px;padding:9px;border-radius:16px;background:linear-gradient(145deg,#2a2e26,#1a1e19)}
.sg-history .sg-history-options .sg-history-option{flex:0 0 auto;padding:16px 34px 16px 13px;min-height:50px;line-height:18px;margin:0;transform:none;box-shadow:none}
.sg-history .sg-history-options .sg-history-option:hover,.sg-history .sg-history-options .sg-history-option:focus-visible{transform:none;box-shadow:none;background:#ffbf5110;border-color:#ffbf5125}
.sg-history .sg-history-option[aria-selected=true]:after{content:"";right:17px;top:50%;width:7px;height:12px;border-right:2px solid #ffbf51;border-bottom:2px solid #ffbf51;transform:translateY(-65%) rotate(40deg)}
.sg-history .sg-history-tools>button{display:grid;place-items:center;width:52px;height:52px;min-width:52px;min-height:52px;max-height:52px;flex:0 0 52px;padding:0;margin:0;line-height:1;box-sizing:border-box;border-radius:14px;transform:none}
.sg-history .sg-history-tools>button svg,.sg-history .sg-history-tools>button:hover svg{display:block;width:18px;height:18px;flex:none;margin:0;transform:none}
.admin-page button.sg-inventory-row{padding:13px 18px;margin-top:7px;gap:16px;min-height:64px}.admin-page .sg-inventory-labels{padding-left:18px;padding-right:18px}.admin-page .device-pagination{margin-left:auto}.admin-page .sg-inventory-row .sg-inventory-name{gap:16px}@media(max-width:750px){.admin-page button.sg-inventory-row{padding:12px 14px;gap:7px 12px}.admin-page .device-tools{align-items:center}.admin-page .device-pagination{align-self:flex-end}}
/* Stable five-row inventory on every page, including empty search results. */
.admin-page #devices.sg-inventory{display:grid;grid-template-rows:36px repeat(5,72px);gap:7px;height:432px;min-height:432px;max-height:432px;padding:0;align-content:start;box-sizing:border-box}
.admin-page .sg-inventory-labels{margin:0;padding:0 18px;align-items:center}
.admin-page #devices button.sg-inventory-row{height:72px;min-height:72px;max-height:72px;margin:0;padding:12px 18px;box-sizing:border-box}
.admin-page .sg-inventory-name,.admin-page .sg-inventory-name>span{min-width:0}.admin-page .sg-inventory-name strong,.admin-page .sg-inventory-row>.sg-owner{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-page #devices>.sg-layout-empty{grid-row:2 / -1;align-self:center;margin:0;text-align:center}
@media(max-width:750px){.admin-page #devices.sg-inventory{grid-template-rows:repeat(5,132px);gap:7px;height:689px;min-height:689px;max-height:689px}.admin-page #devices button.sg-inventory-row{height:132px;min-height:132px;max-height:132px;padding:12px 14px;gap:6px 12px}.admin-page #devices>.sg-layout-empty{grid-row:1 / -1}}
/* Inventory frame matches the command history panel. */
.admin-page #devices.sg-inventory{border:1px solid #ffffff1c;border-radius:18px;background:#11150f;overflow:hidden;grid-template-rows:36px repeat(5,minmax(0,1fr));padding:0 9px 9px}.admin-page #devices button.sg-inventory-row{height:100%;min-height:0;max-height:none}.admin-page #devices .sg-inventory-labels{padding-left:18px;padding-right:18px}@media(max-width:750px){.admin-page #devices.sg-inventory{grid-template-rows:repeat(5,minmax(0,1fr));padding:9px}.admin-page #devices button.sg-inventory-row{height:100%;min-height:0;max-height:none}}

.panel-page:not(.admin-page) .sg-rail-add{padding:14px 24px;gap:12px;font-size:12px;min-height:44px}
/* User actions share the logout icon timing and horizontal motion. */
.panel-page:not(.admin-page) :is(.sg-rail-add,.sg-stage-columns>section>button.secondary,.site-return)>svg{transform:translateX(0);transition:transform .52s var(--ease),color .52s ease,filter .52s ease}
.panel-page:not(.admin-page) :is(.sg-rail-add,.sg-stage-columns>section>button.secondary):is(:hover,:focus-visible):not(:disabled)>svg{transform:translateX(2px)}
.panel-page:not(.admin-page) .site-return:is(:hover,:focus-visible)>svg{transform:translateX(-2px)}
@media(prefers-reduced-motion:reduce){.panel-page:not(.admin-page) :is(.sg-rail-add,.sg-stage-columns>section>button.secondary,.site-return)>svg{transform:none!important;transition:none!important}}
/* Approved claim variant 1: label guide beside the existing working form. */
.panel-page:not(.admin-page) #claim-box{padding:0;overflow:hidden;border:1px solid #ffffff20;border-radius:20px;background:#11150f}
.panel-page:not(.admin-page) #claim-box:not([open]){padding:0}
#claim-box>summary{padding:20px 24px;margin:0}#claim-box[open]>summary{border-bottom:1px solid #ffffff13;margin:0}
.claim-split{display:grid;grid-template-columns:.85fr 1.15fr}.claim-guide{padding:28px;background:#ffffff02;border-right:1px solid #ffffff13;min-width:0}
.claim-guide svg.claim-router-illustration{display:block;width:100%;height:auto;max-width:430px;margin:0 auto 18px;stroke:none;fill:initial;flex:none;filter:none;transform:none}
.claim-guide h3{font-size:15px;margin:0 0 9px}.claim-guide p{color:#a3a79c;font-size:12px;line-height:1.85;margin:0}.claim-guide small{display:block;font-size:10px;line-height:1.85;color:#a3a79c;margin-top:18px}
#claim-form.claim-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;margin:0;padding:28px 32px;align-content:start;min-width:0}
.claim-intro,.claim-mac,.claim-password-hint,#claim-form>.help{grid-column:1/-1}.claim-intro h2{font-size:22px;line-height:1.35;margin:0 0 12px}.claim-intro p{font-size:12px;color:#a3a79c;margin:0}
#claim-form label{margin:0;font-size:11px;min-width:0}#claim-form input{font-size:13px}#claim-mac-help{display:block;font-size:10px;font-weight:400;color:#a3a79c;margin-top:7px}.claim-password-hint{font-size:10px;line-height:1.8;color:#a3a79c;margin:0}
#claim-form>.primary{margin:0}#claim-form>.help{font-size:10px;line-height:1.8;margin:0}#claim-form .auth-password-wrap input{margin:0}#claim-form .auth-password-wrap{margin-top:8px}
@media(max-width:760px){.claim-split{grid-template-columns:1fr}.claim-guide{border-right:0;border-bottom:1px solid #ffffff13;padding:20px}.claim-guide svg.claim-router-illustration{max-width:300px}#claim-form.claim-fields{padding:24px}}
@media(max-width:460px){#claim-form.claim-fields{grid-template-columns:1fr;padding:18px}.panel-page #claim-box>summary{padding:17px}.claim-guide{padding:18px}}

/* Analytics — approved variant 3 */
.sg-analytics .section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.sg-analytics .section-heading .muted{margin:0;font-size:11px}.sg-analytics .actions{display:flex;gap:8px;flex:none}.sg-analytics .month{display:flex;align-items:center;gap:9px;border:1px solid #ffffff26;border-radius:12px;padding:0 13px;background:linear-gradient(145deg,#2a2e26,#1b1f1a);color:#dac083}.sg-analytics .month select{height:42px;border:0;background:transparent;color:#e6e8df;font-size:11px;cursor:pointer;outline:none}.sg-analytics .month option{background:#20251e}.sg-analytics .icon-button{width:44px;height:44px;display:grid;place-items:center;padding:0}.sg-analytics .source-note{border-bottom:1px solid #ffffff10;padding:0 0 18px;font-size:10px;color:#a8ae9f}.sg-analytics .metrics{display:grid;grid-template-columns:1.3fr 1fr 1fr;border-bottom:1px solid #ffffff14;padding:22px 0;margin-bottom:24px}.sg-analytics .metrics>div{padding:0 24px;border-left:1px solid #ffffff12}.sg-analytics .metrics>div:first-child{border:0;padding-left:0}.sg-analytics .metrics span{display:block;font-size:11px;color:#a3a79c}.sg-analytics .metrics strong{display:block;font-size:30px;font-weight:650;letter-spacing:-.7px;margin:7px 0;font-variant-numeric:tabular-nums;line-height:1.3}.sg-analytics .metrics>div:first-child strong{color:#f0c56e}.sg-analytics .metrics small{font-size:9px;color:#969e8d}.sg-analytics .chart-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.sg-analytics .chart-heading span{font-size:9px;color:#a3a79c}.sg-analytics .chart{display:grid;grid-template-columns:68px minmax(0,1fr);height:226px;padding-bottom:26px}.sg-analytics .axis{display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:#909a82;padding-right:10px;text-align:right}.sg-analytics .bars{display:flex;gap:7px;align-items:stretch;position:relative;background:linear-gradient(to bottom,#ffffff10 1px,transparent 1px) top/100% 50%;border-bottom:1px solid #ffffff17}.sg-analytics .bar{position:relative;display:flex;align-items:flex-end;flex:1;min-width:0;padding:0;border:0;border-radius:0;background:transparent;height:100%}.sg-analytics .bar-fill{width:100%;height:var(--value);min-height:2px;background:#b28d4666;border:1px solid #cfad5844;border-radius:4px 4px 0 0;transition:background .25s,border-color .25s}.sg-analytics .bar:hover .bar-fill,.sg-analytics .bar:focus-visible .bar-fill,.sg-analytics .bar.chosen .bar-fill{background:linear-gradient(#ffd373,#e9a621);border-color:#ffd584}.sg-analytics .bar-date{position:absolute;top:calc(100% + 8px);width:100%;text-align:center;font-size:9px;color:#a3a79c}.sg-analytics .bar-tip{position:absolute;bottom:calc(var(--value) + 7px);left:50%;transform:translateX(-50%);background:#303528;border:1px solid #c6a04e55;box-shadow:0 8px 20px #0005;border-radius:7px;padding:6px 9px;font-size:10px;white-space:nowrap;opacity:0;pointer-events:none;z-index:5;color:#f1d99e}.sg-analytics .bar:hover .bar-tip,.sg-analytics .bar:focus-visible .bar-tip{opacity:1}.sg-analytics .chart-hint{font-size:10px;color:#929c85;margin:14px 0 0}.sg-analytics .day-summary{margin-top:25px;border-top:1px solid #ffffff15;padding-top:20px}.sg-analytics .day-summary .eyebrow{margin-bottom:4px}.sg-analytics .day-total{display:block;font-size:24px;margin-top:8px;color:#ecd095}.sg-analytics .day-summary>p:not(.eyebrow){font-size:11px;color:#a3a79c;margin:5px 0 14px}.sg-analytics .day-list{display:flex;gap:30px;flex-wrap:wrap;margin:15px 0}.sg-analytics .day-list>div{display:flex;gap:20px;font-size:11px}.sg-analytics .day-list small{display:block;font-size:9px;color:#959f87}.sg-analytics .day-summary>small{font-size:9px}.sg-analytics .update-note{margin-top:24px;padding-top:15px;border-top:1px solid #ffffff12;font-size:9px;color:#8d9780}.sg-analytics .table-wrap{max-height:390px;overflow:auto;scrollbar-width:thin;scrollbar-color:#c8ad6640 transparent}.sg-analytics table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}.sg-analytics th{position:sticky;top:0;background:#1b2017;font-size:9px;color:#aab49b;font-weight:600;padding:12px 10px;z-index:1}.sg-analytics td{padding:15px 10px;border-bottom:1px solid #ffffff0c;vertical-align:middle}.sg-analytics td:first-child{padding-left:10px}.sg-analytics td strong{font-weight:600}.sg-analytics td small{display:block;font-size:9px;color:#919c82;margin-top:4px}.sg-analytics td.amount{font-weight:700;white-space:nowrap}.sg-analytics .status{font-size:9px;padding:4px 7px;border-radius:6px;display:inline-block;white-space:nowrap}.sg-analytics .status.paid{color:#9ecdb5;background:#9ecdb509}.sg-analytics .status.pending{color:#d7b577;background:#d7b57709}.sg-analytics .status.failed{color:#d69b94;background:#d69b9409}.sg-analytics .toolbar{display:flex;gap:10px;align-items:center;margin-bottom:20px}.sg-analytics .search{display:flex;align-items:center;gap:10px;flex:1;background:#0a0e09;border:1px solid #ffffff1c;border-radius:12px;padding:0 13px;color:#919b82}.sg-analytics .search input{height:46px;border:0;background:none;color:#eceee6;width:100%;min-width:0;outline:none;font-size:11px}.sg-analytics .toolbar>select{height:46px;border:1px solid #ffffff24;border-radius:12px;background:#22271f;color:#dfe5d5;padding:0 12px;font-size:11px}.sg-analytics .count{font-size:10px;margin:15px 0 0}.sg-analytics .traffic-heading{display:flex;justify-content:space-between;gap:20px;margin:8px 0 18px}.sg-analytics .traffic-heading span{font-size:10px}.sg-analytics .traffic-meter{width:100px;max-width:100%;height:5px;background:#ffffff08;border-radius:8px;overflow:hidden}.sg-analytics .traffic-meter i{height:100%;display:block;background:#d3b366;border-radius:8px}
.analytics-symbols{position:absolute;width:0;height:0;overflow:hidden}
.sg-history .sg-history-tabs{display:flex;padding:0;gap:0;border-bottom:1px solid #ffffff1c;overflow:visible}
.sg-history .sg-history-tabs button{display:flex;flex:1;min-width:0;align-items:center;justify-content:flex-start;gap:10px;padding:20px 14px;border:1px solid transparent;border-right-color:#ffffff12;border-radius:0;text-align:left;font-size:12px;height:auto;box-shadow:none;background:transparent}
.sg-history .sg-history-tabs button[aria-selected=true]{background:#ffc34e0e;border-color:#ffc34e45;color:#f1cc80}
.sg-history .sg-history-tabs button>span{background:none;padding:0;border:0;font-size:inherit}
.sg-history .sg-history-tabs button small{display:block;margin-top:6px;color:#b3aa93;font-size:10px;font-weight:500}
.sg-history .sg-history-tabs svg{position:static;transform:none;width:18px;height:18px;flex:none}
.sg-analytics{padding:26px;min-width:0;font-size:13px}
.sg-analytics h2{font-size:22px;line-height:1.3;margin:0 0 7px}
.sg-analytics h3{font-size:13px;margin:0}
.sg-analytics .eyebrow{color:#cfad62;font-size:9px;letter-spacing:1.4px;text-transform:uppercase;margin:0 0 9px}
.sg-analytics .income-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:30px}
.sg-analytics .day-summary{margin:0;padding:0 0 0 25px;border-top:0;border-left:1px solid #ffffff15}
.sg-analytics .day-list{display:block}
.sg-analytics .day-list>div{justify-content:space-between;gap:8px;padding:12px 0;border-top:1px solid #ffffff10;font-size:10px}
.sg-analytics .chart{height:270px}
.sg-analytics .bar{box-shadow:none;min-height:0;transition:none}
.sg-analytics .bar:hover{background:transparent;transform:none;box-shadow:none}
.sg-analytics .bar>span{pointer-events:none}
.sg-analytics .bar-tip{display:none}
.sg-analytics .bar:hover .bar-tip,.sg-analytics .bar:focus-visible .bar-tip{display:block}
.sg-analytics .icon-button{display:grid;place-items:center;padding:0;width:44px;height:44px;min-height:44px}
.sg-analytics .icon-button svg{position:static;transform:none;width:18px;height:18px}
.sg-analytics .search input{margin:0;box-shadow:none;padding:0}
.sg-analytics .month select{padding:0;width:auto;margin:0;box-shadow:none}
.sg-analytics .empty{padding:40px 15px;text-align:center;color:#a3a79c}
.sg-analytics .table-wrap{scrollbar-color:transparent transparent;transition:scrollbar-color .4s}
.sg-analytics .table-wrap:hover,.sg-analytics .table-wrap:focus-within{scrollbar-color:#c8ad6640 transparent}
.sg-analytics td strong{overflow-wrap:anywhere}
@media(max-width:1000px){.sg-history .sg-history-tabs button{font-size:11px;padding:16px 10px;gap:8px}.sg-analytics .income-layout{grid-template-columns:minmax(0,1fr) 200px;gap:20px}.sg-analytics .metrics strong{font-size:25px}}
@media(max-width:760px){.sg-history .sg-history-tabs{flex-wrap:wrap}.sg-history .sg-history-tabs button{flex:1 1 30%;padding:13px 10px}.sg-analytics{padding:20px}.sg-analytics .income-layout{display:block}.sg-analytics .day-summary{border-left:0;border-top:1px solid #ffffff14;padding:20px 0 0;margin-top:22px}.sg-analytics .section-heading{display:block}.sg-analytics .actions{margin-top:16px}.sg-analytics .table-wrap table{min-width:600px}.sg-analytics .chart{grid-template-columns:53px minmax(0,1fr);height:235px}.sg-analytics .bars{gap:4px}.sg-analytics .metrics>div{padding:0 12px}.sg-analytics .toolbar{flex-wrap:wrap}}
@media(max-width:460px){.sg-history .sg-history-tabs button{flex-basis:40%;font-size:11px}.sg-analytics{padding:16px}.sg-analytics .metrics{grid-template-columns:1fr 1fr;gap:18px}.sg-analytics .metrics>div:first-child{grid-column:1/-1}.sg-analytics .metrics>div:nth-child(2){border:0;padding-left:0}.sg-analytics .metrics strong{font-size:23px}.sg-analytics .day-list>div{flex-wrap:wrap}.sg-analytics .toolbar .search{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.sg-analytics *{transition:none!important}}
.sg-analytics .bar{overflow:visible}.sg-analytics .bar-date{pointer-events:none}.sg-analytics .bar:first-child .bar-tip{left:0;transform:none}.sg-analytics .bar:last-child .bar-tip{left:auto;right:0;transform:none}

/* Shared router-style selectors in analytics. Native menus are never exposed. */
.sg-analytics .month{padding:0;border:0;background:none;display:block}
.sg-analytics .month .sg-history-picker{width:210px;flex-basis:210px}
.sg-analytics .sg-history-picker{flex-shrink:0}
.sg-analytics .sg-history-picker-trigger{height:44px;min-height:44px;font-size:11px}
.sg-analytics .toolbar .sg-history-picker-trigger{height:52px;min-height:52px}
.sg-analytics .sg-history-options{z-index:10}
.sg-analytics .sg-history-options .sg-history-option{font-size:11px}
@media(max-width:600px){.sg-analytics .month .sg-history-picker{width:210px;margin:0}.sg-analytics .toolbar .sg-history-picker{margin:0 0 0 auto}}

/* Align payment controls and reuse the journal scrollbar. */
.sg-analytics .toolbar{align-items:center;gap:10px}
.sg-analytics .toolbar>.search,.sg-analytics .toolbar>.sg-history-picker{height:52px;min-height:52px;margin:0;box-sizing:border-box}
.sg-analytics .toolbar>.search{display:flex;align-items:center;padding:0 14px}
.sg-analytics .toolbar .search input{height:50px;min-height:0;line-height:20px}
.sg-analytics .toolbar>.sg-history-picker .sg-history-picker-trigger{height:52px;min-height:52px;margin:0}
.sg-analytics .sg-history-picker-trigger:after{top:50%;margin-top:-5px;transform:rotate(45deg)}
.sg-analytics .sg-history-picker-trigger[aria-expanded=true]:after{margin-top:-2px;transform:rotate(225deg)}
.sg-analytics .journal-scroll-shell{margin-right:0;min-width:0}
.sg-analytics .journal-scroll-shell .table-wrap{scrollbar-width:none;padding-right:18px;overscroll-behavior:contain}
.sg-analytics .table-wrap::-webkit-scrollbar{display:none;width:0;height:0}
.sg-analytics .journal-scroll-track{background:transparent;right:5px}
.sg-analytics .journal-scroll-thumb{border:0;background:#ffc34e40}
.sg-analytics .journal-scroll-thumb:hover,.sg-analytics .journal-scroll-thumb:active{background:#ffc34e65}
@media(max-width:600px){.sg-analytics .journal-scroll-track{right:2px}.sg-analytics .journal-scroll-shell .table-wrap{padding-right:12px}}
/* Tab borders follow the shared panel corners, including wrapped rows. */
.sg-history .sg-history-tabs button:first-child{border-top-left-radius:17px}
@media(min-width:761px){.sg-history .sg-history-tabs button:last-child{border-top-right-radius:17px}}
@media(min-width:461px) and (max-width:760px){.sg-history .sg-history-tabs button:nth-child(3){border-top-right-radius:17px}}
@media(max-width:460px){.sg-history .sg-history-tabs button:nth-child(2){border-top-right-radius:17px}}

/* Alert variants retain their own colors above legacy toast styling. */
.auth-page .notice.sg-alert,.panel-page .notice.sg-alert,.notice.sg-alert{background:var(--alert-bg);border-color:var(--alert-line);color:var(--alert-text);gap:12px;line-height:1.5;overflow-wrap:anywhere}
.sg-alert:before{position:static;flex:0 0 18px;min-width:18px;overflow:hidden;letter-spacing:0;text-indent:0}
