:root{color-scheme:dark;font-family:IBM Plex Sans,system-ui,sans-serif;--bg: #071112;--bg-soft: #0d1d20;--panel: rgba(15, 31, 35, .9);--panel-strong: #132a2f;--line: rgba(133, 179, 183, .2);--text: #e4f0ef;--muted: #9db3b4;--teal: #2dd4bf;--teal-dark: #0f766e;--amber: #f2c166;--danger: #f97373;--radius: 18px;--shadow: 0 24px 80px rgba(0, 0, 0, .36)}*{box-sizing:border-box}body{min-width:360px;margin:0;background:radial-gradient(circle at 18% 8%,rgba(45,212,191,.16),transparent 32rem),linear-gradient(135deg,#071112,#0b1a1d 48%,#091315);color:var(--text)}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}:focus-visible{outline:3px solid var(--amber);outline-offset:3px}h1,h2,h3{font-family:"Source Serif 4",Georgia,serif;letter-spacing:-.02em}h1{margin:0 0 1rem;font-size:clamp(2rem,4vw,3.4rem)}h2{margin:0 0 1rem;font-size:1.35rem}.auth-shell,.center-screen{display:grid;min-height:100vh;place-items:center;padding:1.5rem}.auth-card{width:min(100%,460px);border:1px solid var(--line);border-radius:calc(var(--radius) + 8px);background:linear-gradient(180deg,#142a2ff2,#081417f2);box-shadow:var(--shadow);padding:2rem}.brand-mark{display:inline-grid;width:56px;height:56px;margin-bottom:1.5rem;place-items:center;border:1px solid rgba(45,212,191,.36);border-radius:16px;background:#2dd4bf1a;color:var(--teal);font-weight:700}.auth-language{display:flex;justify-content:flex-end;margin:-4.25rem 0 2.5rem}.stack{display:grid;gap:1rem}.ui-field{display:grid;gap:.45rem}.ui-field__label,.info-row span{color:var(--muted);font-size:.9rem}.ui-input,select{width:100%;border:1px solid var(--line);border-radius:12px;background:#060f11d6;color:var(--text);padding:.75rem .9rem}.ui-field__error{color:var(--danger);font-size:.9rem}.ui-button{border:1px solid transparent;border-radius:999px;cursor:pointer;font-weight:700;padding:.72rem 1rem}.ui-button:disabled{cursor:not-allowed;opacity:.62}.ui-button--primary{background:linear-gradient(180deg,#32d9c8,#13a394);color:#061315}.ui-button--secondary,.ui-button--ghost{border-color:var(--line);background:#ffffff0a;color:var(--text)}.ui-button--danger{background:#f973731f;border-color:#f973736b;color:#ffd0d0}.ui-alert{display:grid;gap:.3rem;border:1px solid var(--line);border-radius:14px;padding:1rem}.ui-alert--danger{border-color:#f9737385;background:#f973731a}.ui-alert--warning{border-color:#f2c16675;background:#f2c1661a}.ui-alert--success{border-color:#2dd4bf80;background:#2dd4bf1a}.app-shell{display:grid;min-height:100vh;grid-template-columns:280px 1fr}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:#050f11c7;padding:1.25rem}.shell-brand{margin-bottom:1.5rem;color:var(--teal);font-family:"Source Serif 4",Georgia,serif;font-size:1.35rem;font-weight:700}.nav-list{display:grid;gap:.35rem}.nav-list a,.bottom-nav a,.bottom-nav button{border-radius:12px;color:var(--muted);padding:.78rem .9rem}.nav-list a.active,.bottom-nav a.active{background:#2dd4bf1f;color:var(--text)}.shell-body{min-width:0}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:1rem;border-bottom:1px solid var(--line);background:#071112d1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:1rem 1.5rem}.topbar>div:first-of-type{display:grid;margin-right:auto}.topbar span{color:var(--muted);font-size:.88rem}.content{padding:2rem}.page{display:grid;gap:1.25rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 18px 54px #0000002e;padding:1.25rem}.info-row{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:.75rem 0}.info-row:first-of-type{border-top:0}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;background:var(--panel)}th,td{border-bottom:1px solid var(--line);padding:.9rem;text-align:left;vertical-align:top}th{color:var(--muted);font-size:.82rem;text-transform:uppercase}.empty-state{border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);padding:2rem;text-align:center}.chip-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}.chip-list li{align-items:center;border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;gap:.45rem;padding:.35rem .65rem}.permission-key{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85em}.permission-effect{font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.permission-effect--allow{color:#1f7a3f}.permission-effect--deny{color:#a12622}.qr{width:180px;height:180px;border-radius:16px;background:#fff;padding:.6rem}.manual-secret{display:grid;gap:.4rem}.manual-secret code{overflow-wrap:anywhere;border:1px solid var(--line);border-radius:12px;padding:.75rem}.tablet-menu,.bottom-nav,.drawer-backdrop{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:1279px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.tablet-menu{display:inline-flex}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:block;background:#00000094}.drawer{width:min(86vw,340px);height:100%;background:var(--panel-strong);padding:1rem}}.recovery-codes{display:grid;gap:.5rem;margin:1rem 0;padding:0;list-style:none}.recovery-codes code{display:block;overflow-wrap:anywhere;padding:.55rem .75rem;border:1px solid var(--line);border-radius:.5rem;background:#ffffff08}.status-badge{display:inline-block;border:1px solid transparent;border-radius:999px;font-size:.78rem;font-weight:600;padding:.2rem .62rem;text-transform:lowercase}.status-badge--online{border-color:#2dd4bf73;background:#2dd4bf1f;color:var(--teal)}.status-badge--offline,.status-badge--unknown{border-color:var(--line);background:#ffffff0a;color:var(--muted)}.status-badge--pending,.status-badge--degraded,.status-badge--maintenance{border-color:#f2c16673;background:#f2c1661a;color:var(--amber)}.status-badge--revoked,.status-badge--cert-revoked,.status-badge--cert-expired{border-color:#f973736b;background:#f973731a;color:var(--danger)}.status-badge--cert-active,.status-badge--token-active,.status-badge--release-published{border-color:#2dd4bf73;background:#2dd4bf1f;color:var(--teal)}.status-badge--cert-superseded,.status-badge--token-consumed,.status-badge--release-deprecated,.status-badge--release-draft{border-color:var(--line);background:#ffffff0a;color:var(--muted)}.status-badge--token-expired,.status-badge--token-revoked,.status-badge--release-yanked{border-color:#f973736b;background:#f973731a;color:var(--danger)}.status-badge--upgrade-succeeded{border-color:#2dd4bf73;background:#2dd4bf1f;color:var(--teal)}.status-badge--upgrade-failed,.status-badge--upgrade-rollback_failed{border-color:#f973736b;background:#f973731a;color:var(--danger)}.status-badge--upgrade-pending,.status-badge--upgrade-offered,.status-badge--upgrade-downloading,.status-badge--upgrade-verifying,.status-badge--upgrade-swapping,.status-badge--upgrade-restarting,.status-badge--upgrade-verifying_reconnect,.status-badge--upgrade-rolling_back,.status-badge--upgrade-rolled_back,.status-badge--upgrade-cancelled{border-color:#f2c16673;background:#f2c1661a;color:var(--amber)}.tag-chip-list{display:flex;flex-wrap:wrap;gap:.3rem;list-style:none;margin:0;padding:0}.tag-chip{border:1px solid var(--line);border-radius:6px;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.72rem;padding:.15rem .45rem;white-space:nowrap}.fleet-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.fleet-search{display:flex;align-items:flex-end;flex:1;gap:.5rem;min-width:200px}.fleet-search .ui-field{flex:1}.fleet-filter-btn{display:none}.fleet-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.filter-field{display:grid;gap:.35rem;min-width:160px}.fleet-tabs{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:1.25rem;padding-bottom:0}.fleet-tab{border:0;border-radius:10px 10px 0 0;background:transparent;color:var(--muted);cursor:pointer;font:inherit;padding:.65rem 1rem;transition:color .15s}.fleet-tab:hover{color:var(--text)}.fleet-tab--active{border-bottom:2px solid var(--teal);color:var(--text)}.cmd-field{display:grid;gap:.4rem}.cmd-box{display:flex;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#060f11d6}.cmd-box code{flex:1;overflow-x:auto;padding:.75rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.82rem;white-space:pre}.cmd-box--mono code{word-break:break-all;white-space:pre-wrap}.cmd-token{color:var(--teal);letter-spacing:.03em}.cmd-copy-btn{flex-shrink:0;border:0;border-left:1px solid var(--line);border-radius:0 12px 12px 0;background:#2dd4bf14;color:var(--teal);cursor:pointer;font:inherit;font-size:.82rem;padding:.5rem .9rem;transition:background .15s}.cmd-copy-btn:hover{background:#2dd4bf29}.wizard-steps{display:flex;gap:0;list-style:none;margin:0 0 1.5rem;padding:0}.wizard-steps li{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.9rem;padding-right:1.5rem}.wizard-steps li:after{content:"›";margin-left:1rem;color:var(--line)}.wizard-steps li:last-child:after{content:""}.wizard-step--active{color:var(--text)!important}.wizard-step-num{display:inline-grid;width:22px;height:22px;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:.75rem}.wizard-step--active .wizard-step-num{border-color:var(--teal);background:#2dd4bf26;color:var(--teal)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:#000000a6;padding:1.5rem}.modal-card{width:min(100%,480px);display:grid;gap:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-strong);box-shadow:var(--shadow);padding:1.5rem}.button-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.pagination{display:flex;align-items:center;gap:.75rem}.drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.text-danger{color:var(--danger)}.text-muted{color:var(--muted);font-size:.9rem}.enrollment-revoke{margin-top:.5rem}@media(max-width:767px){.content{padding:1rem 1rem 5.5rem}.topbar{gap:.5rem;padding:.8rem}.topbar .ui-button--secondary{display:none}.grid{grid-template-columns:1fr}.auth-card{width:min(100%,24rem);margin-inline:auto}.qr{max-width:min(180px,70vw);height:auto}.table-wrap,table,thead,tbody,th,td,tr{display:block}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}tr{margin-bottom:.85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}td{border-bottom:0;padding:.65rem .9rem}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);background:#071112f2}.bottom-nav a,.bottom-nav button{border:0;background:none;color:var(--muted);font-size:.78rem;text-align:center}.fleet-filters{display:none}.fleet-filter-btn{display:inline-flex}.fleet-search{width:100%}.wizard-steps{flex-direction:column;gap:.5rem}.wizard-steps li:after{display:none}.fleet-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.fleet-tab{flex-shrink:0}}
