/* Waystone material system: matches LauncherView.xaml and Golos Text. */
:root {
 --bg:#0c1419; --surface:rgba(23,38,45,.66); --text:#f1f5f6;
 --muted:#a9bec9; --accent:#b8dce7; --gold:#8baebb;
 --line:rgba(169,198,212,.14);
 --glass-edge:rgba(201,224,235,.28);
 --glass-shadow:inset 0 1px 0 rgba(230,246,255,.12),inset 0 -1px 0 rgba(6,17,23,.5),0 16px 44px rgba(0,6,11,.22);
}
body {
 min-height:100dvh;
 background:radial-gradient(ellipse at 5% 0%,#28434c 0,transparent 46%),radial-gradient(ellipse at 100% 65%,#1d3541 0,transparent 52%),#0c1419;
 background-attachment:fixed;
 -webkit-font-smoothing:antialiased;
}
/* The scene is decorative, independent of the pointer and outside text layers. */
.glass-scene { position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none; }
.glass-scene::before {
 content:'';position:absolute;inset:-40% -20%;
 background:linear-gradient(124deg,transparent 37%,rgba(172,215,225,.06) 42%,transparent 49%),radial-gradient(ellipse at 74% 36%,rgba(118,165,184,.16),transparent 35%);
 transform:rotate(-8deg);
}
.glass-scene img { position:absolute;width:min(62vw,850px);height:auto;right:-17%;top:7%;opacity:.18;transform:rotate(15deg); }
.topbar {
 height:82px;margin:20px auto 0;width:calc(100% - 64px);max-width:1536px;
 padding:0 27px;border:1px solid var(--glass-edge);border-right-color:var(--line);border-bottom-color:var(--line);border-radius:22px;
 background:linear-gradient(115deg,rgba(83,111,122,.3),rgba(23,37,45,.55) 52%,rgba(29,45,54,.44));
 box-shadow:var(--glass-shadow);backdrop-filter:blur(22px) saturate(130%);-webkit-backdrop-filter:blur(22px) saturate(130%);
}
.brand {font-weight:500;letter-spacing:-.65px;gap:13px}
.brand svg {width:32px;height:42px;filter:drop-shadow(0 0 9px #afdae325);stroke:none;fill:none}
.brand small {letter-spacing:0;font-size:10px;margin-top:1px;color:var(--muted)}
.owner-menu {gap:16px;color:#d9e5eb}
#owner-name {display:flex;align-items:center;gap:9px}
#owner-name::before {content:'';width:5px;height:5px;border-radius:50%;background:#adcdd4;box-shadow:0 0 9px #acd8dc40}
main {max-width:1536px;width:calc(100% - 64px);padding:0 0 16px}
.tabs {
 display:inline-flex;gap:5px;width:auto;max-width:100%;padding:5px;margin-top:30px;border:1px solid var(--line);border-radius:14px;
 background:rgba(11,24,31,.45);box-shadow:inset 0 1px 0 #dcf4ff09;
}
.tabs button {padding:10px 19px;border:1px solid transparent;border-radius:10px;font-size:13px;white-space:nowrap}
.tabs button[aria-selected=true] {
 color:#f0f7fa;border-color:rgba(190,216,228,.28);
 background:linear-gradient(150deg,rgba(156,189,201,.27),rgba(108,143,158,.08));
 box-shadow:inset 0 1px 0 #edfbff15,0 3px 8px #0002;
}
.tabs button[aria-selected=true]::after {display:none}
.tabs button:hover:not([aria-selected=true]) {background:#d7eff509;color:#e2edf3}
.tabs span {background:rgba(9,22,31,.42);border:1px solid #d9f4ff0f;color:#bad1dc;font-size:10px;border-radius:5px;padding:1px 5px}
.page-heading {margin:34px 0 26px;min-height:65px}
h1 {font-size:32px;font-weight:500;letter-spacing:-1px;margin-bottom:10px}
h2 {font-weight:500;letter-spacing:-.3px}
.page-heading p {font-size:13px;color:#a9bec9}
button {
 border-radius:10px;border-color:rgba(175,202,216,.23);
 background:linear-gradient(150deg,rgba(157,186,202,.16),rgba(91,124,141,.06));
 box-shadow:inset 0 1px 0 #e3f4ff0b;
 transition:background-color .16s,border-color .16s,box-shadow .16s;
}
button:hover {background-color:rgba(170,208,223,.1);border-color:rgba(189,216,228,.4)}
button:active {box-shadow:inset 0 2px 5px #07131c44}
button:disabled {opacity:.38}
.primary {
 color:#14232a;background:linear-gradient(165deg,#e3edf0,#c7d9df);border:1px solid #e1eef1;font-weight:550;
 box-shadow:inset 0 1px 0 #fff9,0 3px 14px #020e1630;
}
.primary:hover {background:linear-gradient(165deg,#f2f8fa,#d5e5eb);border-color:#f0f9fc;box-shadow:inset 0 1px 0 #fff,0 3px 18px #b8dce71a}
.quiet {background:rgba(17,32,41,.16)}
.text-button,.link {background:none;box-shadow:none}
.text-button:hover,.link:hover {background:none;box-shadow:none;color:#effbff}
.text-button:active,.link:active {box-shadow:none}
input,select,textarea {
 border-radius:10px;border-color:rgba(162,193,209,.24);background:rgba(8,21,30,.44);
 box-shadow:inset 0 1px 4px #050e1426;transition:border-color .16s,background-color .16s;
}
input:hover,select:hover,textarea:hover {border-color:rgba(170,204,221,.42)}
input:focus,select:focus,textarea:focus {border-color:#a1c6d6;background-color:rgba(12,28,39,.7)}
input::placeholder,textarea::placeholder {color:#92aab9}
select option {color:#e8f2f6;background:#172932}
label {color:#a9bec9}
.searchbar {margin-bottom:23px;gap:12px}
.search-field input {
 background:linear-gradient(120deg,rgba(134,169,186,.1),rgba(18,37,47,.45));
 border-color:rgba(175,205,220,.3);border-radius:13px;padding-top:15px;padding-bottom:15px;
 box-shadow:inset 0 1px 0 #e8f7ff0b,0 7px 18px #0000000d;
}
.searchbar>button {border-radius:12px;width:110px}
.filterbar {margin-bottom:24px}
.surface,.summary>div {
 background:linear-gradient(125deg,rgba(85,115,129,.17),rgba(23,39,49,.58) 42%,rgba(17,33,43,.67));
 border:1px solid var(--glass-edge);border-right-color:rgba(167,199,215,.14);border-bottom-color:rgba(167,199,215,.13);
 box-shadow:var(--glass-shadow);border-radius:20px;
 backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);
}
.table-caption {padding:19px 22px;background:linear-gradient(100deg,#d7f2ff03,transparent)}
.table-caption .muted {color:#94aeba;font-size:11px}
th {text-transform:none;letter-spacing:0;font-size:11px;font-weight:400;color:#aac0cd;background:rgba(170,206,226,.035)}
td,th {border-color:rgba(173,204,221,.1)}
td {padding-top:19px;padding-bottom:19px;color:#e0ecf2}
td small {color:#a1b8c5}
tbody tr:hover {background:rgba(170,209,229,.045)}
.key .link {color:#d1e8f2;font-size:12px;font-weight:450}
.row-actions {border-color:rgba(165,199,216,.2);background:rgba(13,29,40,.2);color:#b6d2df;border-radius:8px}
.pagination {border-color:rgba(173,204,221,.13);padding:17px 22px;background:rgba(7,20,30,.08)}
.pagination button {border-radius:8px}
.badge {padding:4px 8px;border:1px solid #bdd6e411;background:rgba(167,198,218,.08);color:#bacee0;border-radius:6px}
.badge.active {background:#83baab10;border-color:#90ccba26;color:#b4d9cc}
.badge.new {background:#8ab7d512;border-color:#a2d0f12b;color:#b9d9ef}
.badge.blocked,.badge.revoked {background:#d38b9210;border-color:#dda2b029;color:#e5b9bc}
.badge.expired,.badge.deleted {background:#bdc2d710;border-color:#c1c9d61c;color:#b9c4d0}
.summary {gap:12px}
.summary>div {border-radius:15px;padding:22px 20px}
.summary strong {font-size:33px;font-weight:450;letter-spacing:-1.2px;color:#e9f5f9}
.summary span {color:#aac0cd}
.activity,.distribution {padding:27px}
.activity-chart {background:repeating-linear-gradient(to top,transparent 0,transparent 51px,#b5d6e313 52px)}
.bar.created {background:linear-gradient(to top,#65899d,#c3e2ee);box-shadow:inset 1px 0 0 #ffffff20}
.bar.activated {background:linear-gradient(to top,#365969,#7fa4b4)}
.created-dot {background:#c3e2ee}.activated-dot {background:#7fa4b4}
.duration-track {background:#060f1b33;box-shadow:inset 0 1px 1px #0003}
.duration-fill {background:linear-gradient(90deg,#5b7e90,#bddde9)}
.empty {padding:65px 20px}
footer {padding:28px 2px;color:#8ba5b3}
#notice {background:rgba(28,59,54,.75);border-color:#96c6b62b;box-shadow:inset 0 1px 0 #ccffed08}
#notice.error {background:rgba(66,39,49,.85);border-color:#d38b923d}
dialog {
 background:linear-gradient(130deg,rgba(46,66,77,.95),rgba(14,27,36,.96));
 border-radius:24px;border-color:rgba(196,222,235,.42);border-right-color:rgba(135,171,192,.23);border-bottom-color:rgba(135,171,192,.19);
 box-shadow:inset 0 1px 0 #def2fc1f,0 32px 100px #0008;
 backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
}
dialog::backdrop {background:rgba(4,12,18,.64)}
.dialog-heading {margin-bottom:22px}
dialog h2 {font-weight:500}
.icon-button {background:none;box-shadow:none}
.icon-button:hover {background:#d8eff509}
.details-actions .primary {color:#14232a}
.danger {color:#e5b9bc}
#locked {
 display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px;
 max-width:880px;width:100%;margin:75px auto 45px;padding:42px 52px 42px 20px;
 border:1px solid #c9dae151;border-right-color:#90b0c026;border-bottom-color:#90b0c026;border-radius:28px;
 background:linear-gradient(122deg,rgba(66,91,102,.38),rgba(16,29,37,.73) 57%);
 box-shadow:inset 0 1px 0 #effaff0f,0 30px 85px #0004;
 backdrop-filter:blur(20px) saturate(120%);-webkit-backdrop-filter:blur(20px) saturate(120%);
}
.login-art {text-align:center;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center}
.login-art img {width:100%;max-width:310px;height:auto}
.login-art p {font-size:11px;color:#8fa9b8;margin:8px 0 0}
#owner-login {width:100%}
#locked h1 {font-size:29px;font-weight:500}
#locked .muted {font-size:13px;line-height:1.7;margin-bottom:27px}
#locked label {color:#c2d3dd}
#locked input {padding:12px 14px;margin-bottom:19px}
#locked .primary {height:46px;margin-top:8px}
#local-login {align-self:center}
@supports not (backdrop-filter:blur(1px)) {
 .surface,.summary>div {background:linear-gradient(125deg,#243943,#142530)}
 .topbar {background:#21343e}
 #locked {background:linear-gradient(122deg,#273d46,#101d25)}
}
@media(min-width:1600px){.page-heading{margin-top:40px}.topbar{margin-top:26px}}
@media(max-width:1100px){.topbar{width:calc(100% - 40px);padding:0 23px}main{width:calc(100% - 40px)}.tabs{margin-top:26px}#locked{margin-top:54px;padding:30px;gap:24px}.glass-scene img{right:-30%;width:90vw;top:18%}}
@media(max-width:760px){
 .topbar {width:calc(100% - 28px);height:76px;margin-top:14px;padding:0 16px;border-radius:19px}
 main {width:calc(100% - 32px);padding:0 0 12px}
 .brand {font-size:20px;gap:9px}.brand svg{width:25px;height:36px}.brand small{font-size:9px}
 .owner-menu {gap:9px;font-size:11px}#owner-name{gap:6px}#owner-name::before{width:4px;height:4px}
 .tabs {display:flex;width:100%;gap:2px;padding:4px;border-radius:12px;margin-top:24px;justify-content:space-between}
 .tabs button {padding:10px 7px;font-size:11px;border-radius:8px}.tabs span{font-size:9px;margin-left:3px;padding:1px 4px}
 .page-heading {margin:27px 0 23px;min-height:0}h1{font-size:29px}.page-heading p{font-size:12px}
 .heading-actions {margin-top:22px}.heading-actions button{min-height:44px}
 .search-field input {padding-top:14px;padding-bottom:14px;font-size:12px}.searchbar{gap:9px}.searchbar>button{width:auto}
 .filterbar {gap:12px;margin-bottom:23px}.filterbar .check-label{font-size:11px}
 .surface {border-radius:17px}.table-caption{padding:17px}.table-caption .muted{font-size:10px}
 tr {padding:18px 17px;border-color:#a8c8d51a}td {padding:6px 0}td:before{font-size:11px}
 td.key {padding-bottom:12px}.row-actions{top:15px;right:13px}.key .link{font-size:12px}
 .pagination{padding:16px 17px}.summary{gap:10px}.summary>div{padding:18px 16px;border-radius:13px}
 .summary strong{font-size:30px}.activity,.distribution{padding:20px}
 .section-heading h2{font-size:17px}.section-heading p{line-height:1.6}
 footer {font-size:9px;gap:8px;padding-top:24px}
 dialog {padding:23px;border-radius:21px;max-height:calc(100dvh - 28px)}
 #locked {max-width:420px;grid-template-columns:1fr;margin:28px auto;padding:20px 25px 30px;gap:8px;border-radius:24px}
 .login-art img {width:140px;height:150px;margin-top:-5px}.login-art p{display:none}
 #locked h1 {font-size:27px}#locked .muted{font-size:12px;margin-bottom:24px}
 .glass-scene img {width:650px;right:-440px;top:12%;opacity:.15}
}
@media(max-width:360px){.tabs button{padding:9px 5px;font-size:10px}.tabs span{margin-left:1px}.brand small{display:none}.owner-menu{gap:7px}.topbar{padding:0 12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.glass-scene img{display:none}}
@media(prefers-contrast:more){:root{--muted:#c4d7e2;--line:#6d8999}.surface,.summary>div,.topbar,#locked,dialog{background:#152a36;border-color:#92b2c3}td small,footer,.table-caption .muted{color:#c4d7e2}}
/* Keep the launcher emblem prominent at sign-in, quiet behind the registry. */
.glass-scene img{opacity:.11}
body:has(#locked:not([hidden])) .glass-scene img{opacity:.055}
@media(min-width:761px){.key .link{max-width:420px}}
@media(max-width:760px){.glass-scene img{opacity:.10}}
.download-loader {display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text);font-size:13px;padding:10px 16px;border:1px solid rgba(175,202,216,.23);border-radius:10px;background:linear-gradient(150deg,rgba(157,186,202,.16),rgba(91,124,141,.06));box-shadow:inset 0 1px 0 #e3f4ff0b;white-space:nowrap}
.download-loader:hover {background-color:rgba(170,208,223,.1);border-color:rgba(189,216,228,.4)}
.login-download {display:block;text-align:center;margin-top:20px;font-size:12px;color:var(--accent);text-underline-offset:4px}
@media(max-width:760px){.heading-actions{flex-wrap:wrap}.download-loader{order:3;flex-basis:100%;min-height:44px}.heading-actions .primary{flex:1}}
