.nv-nav,.nv-nav *{box-sizing:border-box}
/* Shared Nova site chrome: top navigation + page shell. Prefixed nv- to avoid clashing with page styles. */
:root{--nv-navy:#071937;--nv-blue:#1262df;--nv-ink:#17243b;--nv-mut:#61718b;--nv-line:#e3e8f2;--nv-ok:#13894f;--nv-bad:#c9353f;--nv-warn:#b7791f}
.nv-nav{position:sticky;top:0;z-index:50;background:rgba(7,25,55,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.08);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.nv-nav-in{max-width:1100px;margin:0 auto;padding:0 16px;height:58px;display:flex;align-items:center;gap:18px}
.nv-brand{color:#fff;text-decoration:none;font-weight:850;font-size:15px;letter-spacing:.01em;white-space:nowrap;display:flex;align-items:center;gap:8px}
.nv-brand i{font-style:normal;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#2b7bff,#7c5cff);display:grid;place-items:center;font-size:14px}
.nv-links{display:flex;gap:4px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.nv-links::-webkit-scrollbar{display:none}
.nv-links a{color:#c6d6f3;text-decoration:none;font-weight:650;font-size:14px;padding:8px 14px;border-radius:999px;white-space:nowrap}
.nv-links a:hover{color:#fff;background:rgba(255,255,255,.08)}
.nv-links a.on{background:#fff;color:var(--nv-navy)}
.nv-links a:focus-visible,.nv-brand:focus-visible{outline:3px solid #f2b631;outline-offset:2px}
@media(max-width:640px){.nv-nav-in{height:auto;flex-wrap:wrap;padding:8px 12px;gap:8px}.nv-links{order:3;width:100%;margin-left:0;justify-content:space-between}.nv-links a{padding:6px 10px;font-size:13px}.nv-acct{margin-left:auto}}

/* Page shell used by dashboard + completed tests */
.nv-page{margin:0;min-height:100vh;background:linear-gradient(140deg,#071937 0%,#0f3c8f 50%,#1262df 100%) fixed;color:var(--nv-ink);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.nv-wrap{max-width:1100px;margin:0 auto;padding:28px 16px 56px}
.nv-hero{color:#fff;margin-bottom:20px}
.nv-hero h1{margin:0;font-size:clamp(26px,4vw,34px);font-weight:850;letter-spacing:-.02em;line-height:1.15}
.nv-hero p{margin:6px 0 0;color:#cfe0ff}
.nv-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}
.nv-stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:12px 14px;color:#fff}
.nv-stat b{display:block;font-size:24px;line-height:1.2;font-variant-numeric:tabular-nums}
.nv-stat span{font-size:12px;color:#cfe0ff}
.nv-h2{color:#fff;font-size:18px;font-weight:800;margin:26px 0 12px;display:flex;align-items:baseline;gap:10px}
.nv-h2 small{font-weight:500;color:#a9c2ec;font-size:13px}
.nv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.nv-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(3,14,40,.18);position:relative;overflow:hidden}
.nv-card.bar::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--cc,#1262df)}
.nv-card h3{margin:2px 0 4px;font-size:17px}
.nv-card p{margin:4px 0;color:var(--nv-mut);font-size:14px}
.nv-card.soon{background:rgba(255,255,255,.08);box-shadow:none;border:1.5px dashed rgba(255,255,255,.35);color:#cfe0ff}
.nv-card.soon h3{color:#fff}.nv-card.soon p{color:#a9c2ec}
.nv-tag{display:inline-block;font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;background:#eef2f9;color:var(--nv-mut)}
.nv-tag.ok{background:#e9f8ef;color:var(--nv-ok)}
.nv-tag.live{background:#fff4e0;color:#a35c00}
.nv-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.nv-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--nv-blue);background:var(--nv-blue);color:#fff;border-radius:999px;padding:8px 18px;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;font-family:inherit}
.nv-btn.ghost{background:#fff;color:var(--nv-blue)}
.nv-btn.light{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4);color:#fff}
.nv-btn:focus-visible{outline:3px solid #f2b631;outline-offset:2px}
.nv-fine{color:#a9c2ec;font-size:12px;margin-top:30px}
.nv-empty{color:var(--nv-mut);font-size:14px}
.nv-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--nv-line)}
.nv-row:first-of-type{border-top:0}
.nv-meter{height:7px;background:#edf0f6;border-radius:9px;overflow:hidden;margin-top:6px}
.nv-meter i{display:block;height:100%;background:var(--cc,#1262df);border-radius:9px}
.nv-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.nv-chips span{font-size:12px;background:#f1f4fa;border-radius:8px;padding:3px 9px;color:#3a4a66}
@media(max-width:640px){.nv-stats{grid-template-columns:repeat(2,1fr)}}
html:has(> body.nv-page){background:#0d2f75}
.nv-page{background-attachment:scroll}

/* Account menu (added by nova-cloud.js when accounts are on) */
.nv-acct{position:relative;flex:none}
.nv-signin{color:#fff;text-decoration:none;font-weight:700;font-size:14px;border:1.5px solid rgba(255,255,255,.5);border-radius:999px;padding:6px 14px}
.nv-me{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:0;border-radius:999px;padding:4px 12px 4px 4px;color:#fff;cursor:pointer;font:600 14px system-ui,sans-serif}
.nv-av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#2b7bff,#7c5cff);display:grid;place-items:center;font-size:12px;font-weight:800}
.nv-dot{width:8px;height:8px;border-radius:50%;background:transparent}
.nv-dot.syncing{background:#f2b631}.nv-dot.ok{background:#3ddc84}.nv-dot.error,.nv-dot.offline,.nv-dot.signedout{background:#ff6b6b}
.nv-menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;color:var(--nv-ink);border-radius:14px;box-shadow:0 14px 40px rgba(3,14,40,.3);padding:14px;min-width:230px;z-index:60;font:14px/1.4 system-ui,sans-serif}
.nv-menu b{display:block}.nv-menu small{color:var(--nv-mut);display:block;word-break:break-all}
.nv-menu .nv-st{font-size:12px;color:var(--nv-mut);margin:8px 0;border-bottom:1px solid var(--nv-line);padding-bottom:8px}
.nv-menu a{display:block;color:var(--nv-ink);text-decoration:none;padding:7px 0;font-weight:600}
.nv-menu a:hover{color:var(--nv-blue)}
@media(max-width:640px){.nv-me-n{display:none}.nv-me{padding:4px}}
