:root{
  --bg:#0b0f14;--panel:#111821;--card:#151e29;--card2:#182330;--border:#253243;
  --text:#f4f7fa;--muted:#8fa1b5;--muted2:#617286;--blue:#2d7ff9;--green:#21c77a;
  --yellow:#f6b94a;--red:#f06464;--entry:#0e151d
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:"Segoe UI",Arial,sans-serif}
button,input{font:inherit}.app-shell{width:min(1440px,100%);margin:auto;padding:24px 28px 16px}
.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:10px}
.topbar h1{margin:0;font-size:31px}.topbar p{margin:5px 0;color:var(--muted);font-size:13px}
.top-actions,.stats{display:flex;gap:8px}.stat{min-width:95px;border:1px solid var(--border);background:var(--panel);padding:8px 12px;text-align:center}
.stat strong{display:block;font-size:18px}.stat span{font-size:10px;color:var(--muted2);font-weight:700}
.logout,button{background:var(--card2);color:var(--text);border:1px solid var(--border);padding:10px 15px;cursor:pointer}
.primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}.panel{background:var(--panel);border:1px solid var(--border)}
.search-panel{padding:17px 18px;margin-bottom:14px}.section-title{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.7px;margin-bottom:10px}
.search-row{display:flex;gap:8px}.search-row input{flex:1;min-width:0;background:var(--entry);color:var(--text);border:1px solid var(--border);padding:11px 14px;font-family:Consolas,monospace;font-size:17px;outline:none}
.search-row input:focus{border-color:var(--blue)}.examples{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}
.examples span{font-size:11px;color:var(--muted2);font-weight:700}.examples button{padding:5px 9px;font-size:11px;background:#13253a;color:#bdd6ff;border:0}
.main-grid{display:grid;grid-template-columns:245px minmax(0,1fr);gap:14px;height:calc(100vh - 255px);min-height:520px}
.info-panel,.results-panel{min-height:0;overflow:hidden}.scroll,.results-body{height:100%;overflow:auto;scrollbar-color:var(--card2) var(--panel)}
.scroll{padding:18px 16px}.info-item{margin-bottom:14px}.info-item b{display:block;font-size:13px}.info-item span{display:block;color:var(--muted2);font-size:11px;line-height:1.35;margin-top:3px}
.info-note{background:#101d2b;border-left:3px solid var(--blue);padding:10px;color:#a9bfd7;font-size:11px;line-height:1.45;margin:16px 0}
.info-panel hr{border:0;border-top:1px solid var(--border);margin:18px 0}.scope{display:flex;flex-direction:column;gap:7px;align-items:flex-start}
.scope span{background:var(--card2);padding:5px 9px;font-size:12px;font-weight:650}.muted{color:var(--muted2);font-size:11px}
.results-panel{display:flex;flex-direction:column}.results-head{padding:15px 16px 12px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border)}
.results-head h2{margin:0;font-size:19px}.detected{font-size:11px;color:var(--muted2);margin-top:4px}.badge{padding:6px 10px;font-size:11px;font-weight:800;white-space:nowrap;height:max-content}
.badge.ready{background:var(--card2);color:var(--muted)}.badge.exact,.badge.match{background:#102a20;color:var(--green)}
.badge.verify,.badge.ambiguous,.badge.out-of-scope,.badge.partial{background:#332a15;color:var(--yellow)}.badge.no-match{background:#331d22;color:var(--red)}
.results-body{padding:14px}.welcome,.card,.warning{border:1px solid var(--border);background:var(--card);padding:16px;margin-bottom:10px}
.card-head{display:flex;gap:6px;align-items:center;background:var(--card2);margin:-16px -16px 12px;padding:10px 12px}
.card-head h3{margin:0 auto 0 0;font-size:17px}.chip{font-size:11px;background:#25303d;padding:5px 9px}.chip.blue{background:#1b3554;color:#d7e7ff}
.row{display:grid;grid-template-columns:185px minmax(0,1fr);gap:10px;padding:4px 0}.label{font-size:10px;color:var(--muted2);font-weight:800;letter-spacing:.45px}.value{font-size:13px;overflow-wrap:anywhere}
.warning{background:#332a15;border-color:#695522}.warning h3{margin:0 0 10px;color:var(--yellow)}.warning .label{color:#a99461}
footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted2);font-size:11px;padding-top:9px}
.login-page{min-height:100vh;display:grid;place-items:center}.login-card{width:min(470px,calc(100% - 32px));padding:28px}.login-card h1{margin:4px 0}.login-card p{color:var(--muted);line-height:1.5}
.brand{color:var(--blue);font-size:12px;font-weight:800}.login-card label{display:block;color:var(--muted);font-size:12px;font-weight:700;margin:20px 0 7px}
.login-card input{width:100%;padding:12px;background:var(--entry);border:1px solid var(--border);color:var(--text)}.full{width:100%;margin-top:12px}.error{background:#331d22;color:#ffb2b2;padding:10px;margin-top:14px}
@media(max-width:980px){.app-shell{padding:18px}.topbar{flex-direction:column}.main-grid{grid-template-columns:1fr;height:auto}.info-panel{max-height:300px}.results-panel{min-height:560px}}
@media(max-width:720px){.search-row{flex-wrap:wrap}.search-row input{flex-basis:100%}.search-row button{flex:1}.row{grid-template-columns:1fr;gap:2px}.top-actions{flex-wrap:wrap}.stats{width:100%}.stat{flex:1;min-width:0}footer{flex-direction:column}}

.account-top{display:flex;align-items:center;gap:9px}.account-identity{text-align:right}.account-identity strong{display:block;font-size:13px}.account-identity span{display:block;font-size:10px;color:var(--muted2);margin-top:3px}
.account-link,.button-link{text-decoration:none}.account-link{color:var(--text);border:1px solid var(--border);padding:9px 12px;background:var(--card2)}
.subscription-block{background:#332a15;border:1px solid #695522;color:#e8d59d;padding:11px 14px;margin-bottom:14px;font-size:12px}.subscription-block strong{color:var(--yellow)}
.disabled-panel{opacity:.55}.account-page-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.account-card{width:min(620px,100%);padding:26px}.account-card h1{margin:4px 0 22px}.account-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:15px;border-top:1px solid var(--border);padding:11px 0}.account-row span{color:var(--muted);font-size:12px}.account-row strong{font-size:13px;overflow-wrap:anywhere}.account-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.button-link{display:inline-block;padding:10px 15px}.ok-text{color:var(--green)}.warn-text{color:var(--yellow)}
@media(max-width:720px){.account-top{flex-wrap:wrap}.account-identity{width:100%;text-align:left}.account-row{grid-template-columns:1fr;gap:3px}}

.admin-link{border-color:#2d7ff9;color:#bdd6ff}
.admin-shell{width:min(1540px,100%);margin:0 auto;padding:24px 28px 30px}
.admin-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.admin-topbar h1{margin:3px 0 0;font-size:29px}.admin-topbar p{margin:5px 0 0;color:var(--muted);font-size:12px}
.admin-actions{display:flex;align-items:center;gap:8px}
.admin-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.admin-summary-card{background:var(--panel);border:1px solid var(--border);padding:16px}
.admin-summary-card span{display:block;color:var(--muted2);font-size:10px;font-weight:800;letter-spacing:.55px}
.admin-summary-card strong{display:block;margin-top:7px;font-size:27px}
.warning-summary strong{color:var(--yellow)}.danger-summary strong{color:var(--red)}
.admin-section{margin-bottom:14px;overflow:hidden}.admin-section-head{padding:14px 16px;border-bottom:1px solid var(--border)}
.admin-section-head h2{margin:0;font-size:17px}.admin-section-head p{margin:4px 0 0;color:var(--muted2);font-size:11px}
.admin-table-wrap{overflow:auto;max-height:480px}.admin-table-wrap.compact{max-height:390px}
.admin-table{width:100%;border-collapse:collapse;min-width:820px;font-size:12px}
.admin-table th{position:sticky;top:0;z-index:1;background:var(--card2);color:var(--muted);font-size:10px;letter-spacing:.45px;text-align:left;padding:9px 10px;border-bottom:1px solid var(--border)}
.admin-table td{padding:9px 10px;border-bottom:1px solid #1c2734;vertical-align:top}
.admin-table tr:hover td{background:#131d28}.admin-table small{display:block;color:var(--muted2);margin-top:2px}
.rank-cell{font-weight:800;color:#bdd6ff}.metric-main{font-weight:800;font-size:14px}.danger-text{color:var(--red)}
.mini-badge{display:inline-block;margin-top:4px;padding:2px 5px;background:#1b3554;color:#bdd6ff;font-size:9px;font-weight:800}
.status-pill{display:inline-block;padding:4px 7px;font-size:9px;font-weight:800;letter-spacing:.3px}
.ambiguous-pill{background:#332a15;color:var(--yellow)}.nomatch-pill{background:#331d22;color:var(--red)}
.admin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.admin-table code{font-family:Consolas,monospace;color:#d7e7ff;white-space:nowrap}.empty-row{text-align:center;color:var(--muted2);padding:22px!important}
@media(max-width:1050px){.admin-summary-grid{grid-template-columns:1fr 1fr}.admin-two-col{grid-template-columns:1fr}}
@media(max-width:720px){.admin-shell{padding:18px}.admin-topbar{flex-direction:column}.admin-summary-grid{grid-template-columns:1fr 1fr}.admin-actions{flex-wrap:wrap}}


/* BMWVetGroup public portal */
.portal-body{min-height:100vh;background:
radial-gradient(circle at 75% 8%,rgba(45,127,249,.14),transparent 28%),
linear-gradient(180deg,#090d12 0%,#0b0f14 100%);color:var(--text)}
.site-header{width:min(1320px,calc(100% - 40px));margin:0 auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(143,161,181,.16)}
.site-brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;font-weight:750}
.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:linear-gradient(135deg,#2d7ff9,#174985);border:1px solid #438ef7;font-size:12px;letter-spacing:.5px}
.brand-word{font-size:18px;letter-spacing:-.2px}
.site-nav{display:flex;align-items:center;gap:18px}.site-nav a{color:var(--muted);text-decoration:none;font-size:13px}.site-nav a:hover{color:var(--text)}
.site-nav .nav-cta{color:var(--text);border:1px solid #35465b;background:#111821;padding:9px 13px}
.hero{width:min(1320px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:70px;align-items:center;padding:92px 0 86px}
.hero-copy h1,.product-hero h1{font-size:clamp(42px,5vw,70px);line-height:1.02;letter-spacing:-2.2px;margin:12px 0 22px;max-width:820px}
.hero-copy p,.product-hero p{font-size:17px;line-height:1.68;color:#aab7c6;max-width:760px}
.eyebrow,.section-kicker{font-size:10px;font-weight:800;letter-spacing:1.7px;color:#67a4ff}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.portal-btn{display:inline-block;text-decoration:none;padding:12px 17px;border:1px solid var(--border);font-weight:700;font-size:13px;cursor:pointer}
.portal-btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.portal-btn.secondary{background:#111821;color:var(--text);border-color:#304054}
.hero-console{border:1px solid #26384c;background:linear-gradient(180deg,#111a24,#0d141c);box-shadow:0 26px 70px rgba(0,0,0,.32);min-height:350px;padding:0 22px 22px}
.console-top{height:52px;margin:0 -22px 22px;padding:0 17px;display:flex;align-items:center;gap:7px;border-bottom:1px solid #223142;background:#0c1219}
.console-top span{width:7px;height:7px;border-radius:50%;background:#34465a}.console-top b{margin-left:auto;font-size:11px;color:#75879b;letter-spacing:.4px}
.console-line{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #1d2936;font-family:Consolas,monospace;font-size:11px}
.console-line span{color:#607287}.console-line strong{color:#dbe8f6;font-weight:600}
.console-query{font-family:Consolas,monospace;margin-top:28px;padding:13px;background:#0a1016;color:#9ec4ff;border:1px solid #1b2b3c}
.console-result{font-family:Consolas,monospace;color:#56d492;padding-top:15px;font-size:12px}
.portal-section{width:min(1320px,calc(100% - 40px));margin:0 auto;padding:64px 0;border-top:1px solid rgba(143,161,181,.13)}
.product-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:16px}
.portal-product{position:relative;border:1px solid #263548;background:#111821;padding:30px;min-height:310px}
.portal-product.featured{background:linear-gradient(145deg,#121d2a,#10171f)}
.portal-product h2{font-size:27px;margin:13px 0}.portal-product p{color:#9aacbf;line-height:1.58;max-width:690px}
.product-status{display:inline-block;font-size:9px;font-weight:800;letter-spacing:1px;color:#56d492;border:1px solid #245c43;background:#102a20;padding:5px 7px}
.product-status.coming{color:#d7bb71;background:#332a15;border-color:#695522}
.product-tags{display:flex;flex-wrap:wrap;gap:6px;margin:24px 0}.product-tags span{font-size:9px;font-weight:750;color:#8ea5bd;border:1px solid #29384a;padding:5px 7px}
.muted-product{opacity:.8}.split-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.split-section h2{font-size:32px;line-height:1.2;margin:12px 0}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:10px}.steps div{background:#111821;border:1px solid #233244;padding:18px}.steps b{display:block;color:#67a4ff;font-size:11px;margin-bottom:16px}.steps span{color:#b8c5d3;font-size:13px;line-height:1.45}
.site-footer{width:min(1320px,calc(100% - 40px));margin:0 auto;border-top:1px solid rgba(143,161,181,.15);padding:26px 0 36px;display:flex;justify-content:space-between;gap:25px;color:#66788c;font-size:11px}
.site-footer strong{display:block;color:#d8e2ec;margin-bottom:4px}.site-footer span{display:block}.footer-links{display:flex;gap:20px;align-items:flex-start}.footer-links a{color:#8297ac;text-decoration:none}
.dashboard-wrap,.product-page,.subscribe-wrap,.legal-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:65px 0 90px}
.dashboard-heading{display:flex;justify-content:space-between;gap:25px;align-items:flex-end;margin-bottom:32px}.dashboard-heading h1{font-size:39px;margin:8px 0}.dashboard-heading p{color:#8799ac}
.dashboard-product-grid{display:grid;grid-template-columns:minmax(0,720px);gap:15px}.dashboard-product{border:1px solid #28384a;background:#111821;padding:26px}
.dashboard-product-top{display:flex;justify-content:space-between;gap:20px}.dashboard-product h2{font-size:26px;margin:10px 0}.dashboard-product p{color:#95a7ba;line-height:1.55}
.tool-icon{width:64px;height:64px;display:grid;place-items:center;border:1px solid #2b4667;background:#102237;color:#8ebcff;font:700 12px Consolas,monospace}
.dashboard-meta{display:flex;gap:30px;margin:24px 0}.dashboard-meta span{display:flex;flex-direction:column;color:#687b8f;font-size:10px;letter-spacing:.4px}.dashboard-meta b{color:#d8e3ed;font-size:12px;margin-top:4px}
.product-hero{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:70px;align-items:center;margin-bottom:60px}.product-stat-card{border:1px solid #27384a;background:#111821;padding:22px;display:grid;grid-template-columns:1fr;gap:5px}
.product-stat-card span{color:#61768c;font-size:9px;font-weight:800;letter-spacing:.8px;margin-top:10px}.product-stat-card strong{font-size:13px;color:#d8e4ef}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.feature-grid article{background:#111821;border:1px solid #243447;padding:19px;min-height:145px}.feature-grid b{display:block;font-size:13px;margin-bottom:10px}.feature-grid span{font-size:12px;line-height:1.5;color:#8296aa}
.subscribe-wrap{display:grid;place-items:center}.subscribe-card{width:min(700px,100%);background:#111821;border:1px solid #2a3a4d;padding:34px}.subscribe-card h1{font-size:32px;margin:10px 0}.subscribe-card>p{color:#90a3b6;line-height:1.5}
.pricing-placeholder{background:#0d141c;border:1px solid #25374a;margin:24px 0;padding:22px}.pricing-placeholder span{display:block;color:#697c90;font-size:9px;font-weight:800;letter-spacing:1px}.pricing-placeholder strong{display:block;font-size:25px;margin:7px 0}.pricing-placeholder p{font-size:11px;color:#74879a}
.subscribe-features{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:24px}.subscribe-features span{border:1px solid #243447;padding:10px;color:#9badbf;font-size:11px}
.disabled-checkout{opacity:.5;cursor:not-allowed;margin-right:8px}
.legal-wrap{max-width:850px}.legal-wrap h1{font-size:39px;line-height:1.15}.legal-wrap p{color:#9aacbf;font-size:14px;line-height:1.75}.legal-note{border-left:3px solid #d3aa4d;background:#2a2416;padding:13px 15px;color:#d9c588!important}
@media(max-width:980px){.hero,.product-hero{grid-template-columns:1fr;gap:35px;padding-top:55px}.hero-console{max-width:680px}.product-grid,.split-section{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.site-header{align-items:flex-start;padding:18px 0;flex-direction:column}.site-nav{width:100%;overflow:auto;gap:14px}.hero{padding:48px 0}.hero-copy h1,.product-hero h1{font-size:41px;letter-spacing:-1.3px}.feature-grid,.steps,.subscribe-features{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr}.dashboard-heading{align-items:flex-start;flex-direction:column}.dashboard-meta{flex-direction:column;gap:10px}.site-footer{flex-direction:column}.footer-links{flex-direction:column;gap:8px}}


/* =============================================================
   BMWVetGroup Website Design v0.7
   Distinct public-site system: graphite + electric blue + steel
   ============================================================= */
:root{
  --bvg-bg:#070a0e;
  --bvg-bg2:#0a0f15;
  --bvg-surface:#0e151d;
  --bvg-surface2:#121b25;
  --bvg-line:#223040;
  --bvg-line-soft:rgba(126,157,189,.13);
  --bvg-text:#eef4fa;
  --bvg-copy:#91a3b7;
  --bvg-dim:#617488;
  --bvg-blue:#2f8cff;
  --bvg-blue2:#65b1ff;
  --bvg-green:#48d193;
  --bvg-gold:#d5ad59;
  --bvg-red:#f0656f;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.bvg-site{margin:0;background:var(--bvg-bg);color:var(--bvg-text);font-family:Inter,Segoe UI,Arial,sans-serif}
.bvg-container{width:min(1240px,calc(100% - 44px));margin:0 auto}
.bvg-header{position:relative;z-index:40;background:rgba(7,10,14,.92);border-bottom:1px solid var(--bvg-line-soft);backdrop-filter:blur(14px)}
.bvg-header-inner{width:min(1320px,calc(100% - 44px));margin:auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.bvg-logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--bvg-text)}
.bvg-logo-icon{position:relative;width:35px;height:35px;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;transform:skewX(-10deg)}
.bvg-logo-icon i{display:block;background:#243344;border-top:2px solid #45617e}
.bvg-logo-icon i:nth-child(1){background:#13365b;border-color:#2f8cff}
.bvg-logo-icon i:nth-child(2){background:#1a568c;border-color:#65b1ff}
.bvg-logo-icon i:nth-child(3){background:#d9e4ee;border-color:#fff}
.bvg-logo-text{font-size:19px;font-weight:550;letter-spacing:-.45px}.bvg-logo-text b{font-weight:800}
.bvg-nav{display:flex;align-items:center;gap:26px}.bvg-nav a{color:#91a3b7;text-decoration:none;font-size:12px;font-weight:650;letter-spacing:.12px;transition:.18s}.bvg-nav a:hover{color:#fff}
.bvg-nav .bvg-nav-login{border:1px solid #31455c;color:#dce8f5;padding:10px 14px;background:#101820}
.mobile-nav-toggle{display:none;background:none;border:0;padding:8px}.mobile-nav-toggle span{display:block;width:22px;height:2px;background:#d8e5f1;margin:4px}
.bvg-hero{position:relative;overflow:hidden;min-height:700px;border-bottom:1px solid var(--bvg-line-soft);background:linear-gradient(108deg,#070a0e 0%,#091019 56%,#08111c 100%)}
.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(80,120,160,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(80,120,160,.055) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to right,transparent,black 25%,black 100%)}
.hero-grid-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#070a0e 3%,transparent 68%)}
.hero-glow{position:absolute;width:720px;height:720px;right:-150px;top:-230px;border-radius:50%;background:radial-gradient(circle,rgba(47,140,255,.15),rgba(47,140,255,.02) 48%,transparent 70%)}
.hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:1.03fr .97fr;gap:65px;align-items:center;min-height:700px;padding:70px 0}
.bvg-kicker{display:flex;align-items:center;gap:8px;color:#70adf4;font-size:9.5px;font-weight:850;letter-spacing:1.8px}
.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--bvg-green);box-shadow:0 0 0 5px rgba(72,209,147,.09)}
.hero-content h1{font-size:clamp(52px,6.2vw,88px);line-height:.95;letter-spacing:-4.5px;margin:17px 0 27px;font-weight:760}
.hero-content h1 em,.product-detail-hero h1 em{font-style:normal;color:#79b6ff;font-weight:420}
.hero-lead{max-width:670px;color:#9aacbf;font-size:17px;line-height:1.72;margin:0}
.hero-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.bvg-btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:46px;padding:0 18px;text-decoration:none;border:1px solid #2a3b4f;background:#101821;color:#dce8f3;font-size:12px;font-weight:750;letter-spacing:.15px;transition:.18s}
.bvg-btn:hover{transform:translateY(-1px);border-color:#496786}.bvg-btn-primary{background:#2279e4;border-color:#318afb;color:#fff}.bvg-btn-primary:hover{background:#2f8cff;border-color:#66adff}.bvg-btn-ghost{background:#0c1219}
.hero-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:27px;color:#687e93;font-size:10px;font-weight:650}.hero-trust span{display:flex;align-items:center;gap:6px}.check{width:12px;height:12px;border:1px solid #315f4d;position:relative}.check:after{content:"";position:absolute;width:5px;height:3px;border-left:1px solid #55d89a;border-bottom:1px solid #55d89a;transform:rotate(-45deg);left:3px;top:3px}
.hero-tech-panel{position:relative}.tech-panel-shell{position:relative;min-height:480px;border:1px solid #26394e;background:linear-gradient(165deg,rgba(16,26,37,.94),rgba(8,13,19,.98));box-shadow:0 35px 100px rgba(0,0,0,.43);padding:18px}
.tech-topbar{height:37px;border-bottom:1px solid #1e2c3c;display:flex;align-items:center;justify-content:space-between;font:600 9px Consolas,monospace;color:#5f748a;letter-spacing:.6px}
.tech-live{color:#6ddba2;display:flex;align-items:center;gap:6px}.tech-live i{width:5px;height:5px;border-radius:50%;background:#5bdd99;box-shadow:0 0 8px #5bdd99}
.vehicle-lines{height:220px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #172431;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 70%,rgba(47,140,255,.08),transparent 50%)}
.vehicle-lines:before,.vehicle-lines:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(83,130,176,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(83,130,176,.05) 1px,transparent 1px);background-size:25px 25px}
.car-silhouette{position:relative;width:330px;height:125px;z-index:2;opacity:.88}.car-roof{position:absolute;left:80px;top:18px;width:178px;height:65px;border:2px solid #4877a5;border-bottom:0;border-radius:90px 110px 0 0;transform:skewX(-10deg)}
.car-body{position:absolute;left:20px;bottom:24px;width:295px;height:52px;border:2px solid #4877a5;border-radius:50% 30% 18px 18px;clip-path:polygon(0 44%,18% 7%,80% 0,100% 35%,97% 82%,0 82%)}
.wheel{position:absolute;bottom:6px;width:45px;height:45px;border:2px solid #5d8ab5;border-radius:50%;box-shadow:inset 0 0 0 8px #101820}.wheel-a{left:65px}.wheel-b{right:42px}
.scan-line{position:absolute;left:0;right:0;top:61%;height:1px;background:#36a0ff;box-shadow:0 0 12px #36a0ff;opacity:.8}
.console-search{display:flex;align-items:center;gap:9px;margin-top:17px;border:1px solid #24364a;background:#091017;min-height:45px;padding:0 12px;font:600 12px Consolas,monospace;color:#a9c9eb}.console-prompt{color:#429aff}.console-search b{margin-left:auto;font-size:9px;color:#5e7892}
.console-match{margin-top:12px;border-left:2px solid var(--bvg-green);background:#0b1515;padding:12px}.match-status{font:800 9px Consolas,monospace;color:#63d9a0;letter-spacing:.7px}.match-data{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.match-data span{display:block;color:#506579;font-size:8px;font-weight:800;letter-spacing:.5px}.match-data strong{display:block;color:#dbe8f4;font-size:11px;margin-top:4px}
.tech-corner{position:absolute;width:15px;height:15px}.c1{left:-1px;top:-1px;border-left:2px solid #4a8dd2;border-top:2px solid #4a8dd2}.c2{right:-1px;top:-1px;border-right:2px solid #4a8dd2;border-top:2px solid #4a8dd2}.c3{left:-1px;bottom:-1px;border-left:2px solid #4a8dd2;border-bottom:2px solid #4a8dd2}.c4{right:-1px;bottom:-1px;border-right:2px solid #4a8dd2;border-bottom:2px solid #4a8dd2}
.confidence-strip{background:#0a0f15;border-bottom:1px solid var(--bvg-line-soft)}.confidence-grid{display:grid;grid-template-columns:repeat(4,1fr)}.confidence-grid>div{padding:22px 27px;border-right:1px solid #17222e}.confidence-grid>div:first-child{border-left:1px solid #17222e}.confidence-grid strong{display:block;font-size:10px;color:#dbe7f3;letter-spacing:.85px}.confidence-grid span{display:block;font-size:10px;color:#5d7186;margin-top:4px}
.bvg-section{padding:90px 0;border-bottom:1px solid var(--bvg-line-soft)}.section-number{display:block;color:#364d66;font:650 10px Consolas,monospace;margin-bottom:22px}.section-head h2,.workflow-copy h2{font-size:clamp(35px,4vw,55px);line-height:1.04;letter-spacing:-2.1px;margin:13px 0}.split-head{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:end}.split-head>p{color:#8195a9;line-height:1.65;font-size:14px;max-width:560px;margin:0 0 6px}
.featured-tool{margin-top:45px;display:grid;grid-template-columns:1fr .9fr;border:1px solid #27384c;background:linear-gradient(145deg,#111a24,#0b1118);min-height:430px}.featured-tool-copy{padding:39px}.tool-availability{display:flex;align-items:center;gap:7px;color:#56d69a;font-size:9px;font-weight:850;letter-spacing:.8px}.tool-availability i{width:6px;height:6px;border-radius:50%;background:#56d69a}.featured-tool h3{font-size:34px;margin:12px 0}.featured-tool p{color:#8ea1b5;line-height:1.62;max-width:650px}
.tool-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin:24px 0}.tool-chip-row span{border:1px solid #2a3c50;background:#0c131a;color:#7891a9;padding:5px 7px;font-size:8.5px;font-weight:800;letter-spacing:.45px}.featured-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.text-link{color:#7ca9d6;font-size:11px;text-decoration:none}
.featured-tool-visual{display:grid;place-items:center;padding:35px;background:linear-gradient(135deg,rgba(47,140,255,.07),transparent 55%),#0b1118;border-left:1px solid #223042}.lookup-demo{width:min(430px,100%);border:1px solid #26384b;background:#0d151e;padding:15px;box-shadow:0 25px 60px rgba(0,0,0,.25)}.demo-title{display:flex;justify-content:space-between;color:#60758a;font-size:9px;font-weight:800;letter-spacing:.7px}.demo-title i{font-style:normal;color:#5bd99b}.demo-input{margin-top:14px;border:1px solid #293d53;background:#080e14;padding:12px;color:#b4d2ee;font:600 11px Consolas,monospace}.demo-input b{float:right;color:#64809a;font-size:9px}.demo-result{margin-top:10px;border:1px solid #243447;background:#101921;padding:15px}.demo-exact{font-size:8px;font-weight:850;color:#54d497;background:#10281e;border:1px solid #275c44;padding:4px 6px}.demo-result h4{font-size:14px;margin:13px 0}.demo-result dl{margin:0}.demo-result dl div{display:flex;justify-content:space-between;border-top:1px solid #1d2b39;padding:8px 0;font-size:10px}.demo-result dt{color:#61778d}.demo-result dd{margin:0;color:#d5e1ed;font-weight:700}
.future-tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:11px}.future-tool-grid article{position:relative;min-height:215px;padding:25px;border:1px solid #1e2c3b;background:#0b1118}.future-index{position:absolute;right:19px;top:19px;color:#31475e;font:700 10px Consolas,monospace}.future-badge{display:inline-block;color:#8b7951;background:#282316;border:1px solid #504426;padding:4px 6px;font-size:8px;font-weight:850;letter-spacing:.5px}.future-tool-grid h3{margin:19px 0 9px;font-size:19px}.future-tool-grid p{color:#657a8f;font-size:12px;line-height:1.55}
.dark-section{background:#090d12}.workflow-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;align-items:center}.workflow-copy p{color:#7f93a6;line-height:1.65;margin:20px 0 28px;max-width:520px}.workflow-steps{border-top:1px solid #203041}.workflow-step{display:grid;grid-template-columns:55px 1fr;gap:17px;padding:22px 3px;border-bottom:1px solid #203041}.workflow-step>span{font:700 10px Consolas,monospace;color:#47709a;padding-top:4px}.workflow-step h3{font-size:15px;margin:0 0 6px}.workflow-step p{font-size:11px;color:#6f8397;line-height:1.5;margin:0}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:36px}.principle-grid article{padding:29px;border-top:2px solid #2c5e91;background:#0c1219;min-height:250px}.principle-icon{color:#5785b2;font:700 10px Consolas,monospace}.principle-grid h3{font-size:18px;line-height:1.3;margin:28px 0 10px}.principle-grid p{color:#71869b;font-size:12px;line-height:1.65}
.bvg-cta{padding:62px 0;background:linear-gradient(90deg,#0e1824,#0b1118);border-bottom:1px solid #213244}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.cta-inner h2{font-size:35px;margin:9px 0 0}
.bvg-footer{background:#06090c;padding:55px 0 0}.bvg-footer-grid,.bvg-footer-bottom{width:min(1240px,calc(100% - 44px));margin:auto}.bvg-footer-grid{display:grid;grid-template-columns:1.6fr .7fr .7fr .8fr;gap:45px;padding-bottom:40px}.footer-logo{margin-bottom:14px}.bvg-footer p{color:#5e7286;font-size:10.5px;line-height:1.55;max-width:330px}.bvg-footer h4{font-size:9px;color:#8196aa;letter-spacing:.9px;margin:3px 0 16px}.bvg-footer-grid>div>a:not(.bvg-logo){display:block;color:#60758a;text-decoration:none;font-size:10px;margin:10px 0}.footer-status{display:flex;align-items:center;gap:6px;color:#64d99f;font-size:9px;font-weight:800}.footer-status i{width:6px;height:6px;border-radius:50%;background:#56d69a}.bvg-footer-bottom{border-top:1px solid #151f29;display:flex;justify-content:space-between;gap:20px;padding:17px 0 24px;color:#435568;font-size:9px}
.inner-page{min-height:680px}.inner-hero{padding:85px 0 50px;border-bottom:1px solid #182532}.inner-hero h1{font-size:clamp(46px,6vw,74px);letter-spacing:-3.2px;margin:13px 0 18px}.inner-hero p{color:#8296aa;font-size:15px;max-width:700px;line-height:1.6}
.tool-catalog{padding:45px 0 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.catalog-card{min-height:350px;border:1px solid #213043;background:#0b1118;padding:27px;display:flex;flex-direction:column}.live-card{border-color:#315476;background:linear-gradient(145deg,#101d2a,#0c131a)}.catalog-top{display:flex;justify-content:space-between}.catalog-state{font-size:8px;font-weight:850;letter-spacing:.7px;padding:4px 6px;border:1px solid #4d4228;color:#b9a26a}.catalog-state.live{color:#58d89c;border-color:#285d45;background:#0f271d}.catalog-code{font:700 8px Consolas,monospace;color:#41566c}.catalog-card h2{font-size:24px;margin:25px 0 10px}.catalog-card>p{color:#71869a;line-height:1.6;font-size:12px}.catalog-card .bvg-btn{margin-top:auto;align-self:flex-start}
.about-layout{padding:55px 0 90px;display:grid;grid-template-columns:1.25fr .75fr;gap:75px}.about-main h2{font-size:35px;line-height:1.18;letter-spacing:-1.2px}.about-main p{color:#7f93a7;line-height:1.75;font-size:13px}.about-side{border-top:1px solid #27394b}.about-side div{padding:15px 0;border-bottom:1px solid #27394b}.about-side span{display:block;color:#536a80;font-size:8px;font-weight:850;letter-spacing:.75px}.about-side strong{display:block;color:#d6e2ed;font-size:12px;margin-top:5px}
.product-detail-hero{background:linear-gradient(110deg,#070a0e,#0a1420);border-bottom:1px solid #1d2b39}.product-detail-grid{min-height:610px;display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:center;padding:70px 0}.product-detail-hero h1{font-size:clamp(55px,7vw,90px);line-height:.94;letter-spacing:-4px;margin:17px 0 25px}.product-detail-hero p{color:#879bad;font-size:16px;line-height:1.68;max-width:630px}.product-terminal{border:1px solid #293c51;background:#0d151d;padding:19px}.terminal-head{display:flex;justify-content:space-between;color:#647b91;font:700 9px Consolas,monospace;padding-bottom:12px;border-bottom:1px solid #243548}.terminal-head b{color:#5bd99c}.product-terminal ul{list-style:none;margin:0;padding:0}.product-terminal li{padding:13px 3px;border-bottom:1px solid #1c2a38;color:#b2c1d0;font-size:11px}.product-terminal li span{display:inline-block;width:36px;color:#3f6488;font:700 9px Consolas,monospace}.feature-band{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:35px}.feature-band article{min-height:220px;padding:25px;border:1px solid #213142;background:#0c1219}.feature-band article>span{font-size:8px;font-weight:850;color:#65a7ed;border:1px solid #2f5278;padding:4px 6px}.feature-band h3{font-size:17px;margin:25px 0 8px}.feature-band p{font-size:11px;color:#6f8498;line-height:1.6}
.bvg-login-page{display:grid!important;grid-template-columns:1fr 1fr;min-height:100vh!important;background:#070a0e!important}.login-brand-panel{position:relative;padding:45px 55px;background:linear-gradient(145deg,#09111a,#0b1724);overflow:hidden}.login-logo{position:relative;z-index:2}.login-brand-copy{position:relative;z-index:2;max-width:600px;margin-top:22vh}.login-brand-copy h1{font-size:clamp(46px,5vw,68px);line-height:1.02;letter-spacing:-3px;margin:13px 0}.login-brand-copy p{color:#8196aa;line-height:1.65;max-width:540px}.login-grid-art{position:absolute;inset:0;background-image:linear-gradient(rgba(72,123,174,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(72,123,174,.065) 1px,transparent 1px);background-size:45px 45px;mask-image:linear-gradient(135deg,transparent 5%,black 65%)}.login-form-side{display:grid;place-items:center;padding:35px}.member-login-card{width:min(440px,100%)}.login-code{color:#4c6580;font:700 8px Consolas,monospace;letter-spacing:.7px}.member-login-card h2{font-size:34px;margin:12px 0 8px}.member-login-card>p{color:#71869a;font-size:12px;margin-bottom:28px}.member-login-card form{display:grid}.member-login-card label{font-size:10px;color:#879bae;font-weight:700;margin:0 0 7px}.member-login-card input{height:48px;border:1px solid #283b4f;background:#0c131a;color:#dce7f2;padding:0 13px;margin-bottom:17px;outline:none}.member-login-card input:focus{border-color:#438fd8}.full-login{width:100%;margin-top:7px}.return-home{display:inline-block;margin-top:20px;color:#627b92;text-decoration:none;font-size:10px}

@media(max-width:1000px){
  .hero-layout,.featured-tool,.workflow-grid,.product-detail-grid{grid-template-columns:1fr}
  .hero-layout{padding:65px 0}.hero-tech-panel{max-width:650px}.featured-tool-visual{border-left:0;border-top:1px solid #223042}
  .split-head{grid-template-columns:1fr;gap:20px}.future-tool-grid,.tool-catalog,.principle-grid{grid-template-columns:1fr 1fr}
  .feature-band{grid-template-columns:1fr 1fr}.bvg-footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-tech{display:none}
}
@media(max-width:730px){
  .bvg-header-inner{min-height:67px}.mobile-nav-toggle{display:block}.bvg-nav{display:none;position:absolute;left:0;right:0;top:67px;padding:18px 22px;background:#090e14;border-bottom:1px solid #233447;flex-direction:column;align-items:stretch;gap:0}.nav-open .bvg-nav{display:flex}.bvg-nav a{padding:12px}
  .hero-layout{min-height:auto;padding:55px 0}.bvg-hero{min-height:auto}.hero-content h1{font-size:53px;letter-spacing:-3px}.hero-lead{font-size:14px}
  .hero-tech-panel{display:none}.confidence-grid{grid-template-columns:1fr 1fr}.confidence-grid>div{border-bottom:1px solid #17222e}.bvg-section{padding:65px 0}
  .future-tool-grid,.tool-catalog,.principle-grid,.feature-band{grid-template-columns:1fr}.workflow-grid{gap:45px}.cta-inner{align-items:flex-start;flex-direction:column}
  .bvg-footer-grid{grid-template-columns:1fr 1fr}.bvg-footer-grid>div:first-child{grid-column:1/-1}.bvg-footer-bottom{flex-direction:column}
  .about-layout{grid-template-columns:1fr;gap:35px}.product-detail-grid{min-height:auto}.product-detail-hero h1{font-size:60px}
  .bvg-login-page{grid-template-columns:1fr!important}.login-brand-panel{min-height:260px;padding:28px}.login-brand-copy{margin-top:60px}.login-brand-copy h1{font-size:42px}.login-form-side{padding:50px 24px}
}


/* ============================================================
   BMWVetGroup v0.8 Approved Homepage
   ============================================================ */

.approved-home{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  background:#03070b;
  color:#f4f7fa;
  font-family:"Segoe UI",Arial,sans-serif;
}

.approved-nav{
  position:absolute;
  top:0; left:0; right:0;
  z-index:100;
  height:82px;
  background:linear-gradient(180deg,rgba(2,5,8,.98),rgba(4,8,13,.94));
  border-bottom:1px solid rgba(89,126,166,.23);
  backdrop-filter:blur(12px);
}

.approved-nav-inner{
  width:min(1500px,calc(100% - 54px));
  height:100%;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:42px;
}

.approved-menu{
  display:flex;
  align-items:stretch;
  height:100%;
  margin-right:245px;
}

.approved-menu-item{
  position:relative;
  display:flex;
  align-items:stretch;
}

.nav-trigger,
.nav-direct{
  min-width:145px;
  height:100%;
  border:0;
  border-left:1px solid transparent;
  border-right:1px solid transparent;
  background:transparent;
  color:#f2f6fa;
  font:400 18px "Segoe UI",Arial,sans-serif;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  cursor:pointer;
  transition:background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.nav-trigger:hover,
.nav-trigger.active,
.nav-direct:hover{
  color:#8fd0ff;
  background:linear-gradient(180deg,rgba(14,43,75,.55),rgba(8,25,43,.26));
  border-color:rgba(58,145,224,.24);
  box-shadow:inset 0 -2px 0 #2295ff,0 12px 25px rgba(0,108,216,.09);
}

.chev{
  color:#d7e8f8;
  font-size:17px;
  transform:translateY(-1px);
  transition:transform .18s ease;
}

.nav-trigger.active .chev{transform:rotate(180deg)}

.member-button{
  position:absolute;
  right:0;
  top:20px;
  height:43px;
  padding:0 21px;
  border:1px solid #008fd7;
  color:#f5f8fb;
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:11px;
  font-size:15px;
  background:rgba(5,14,22,.72);
  box-shadow:inset 0 0 0 1px rgba(0,184,255,.05);
  transition:.22s ease;
}

.member-button:hover{
  background:#0b5c9c;
  border-color:#55c7ff;
  color:#fff;
  box-shadow:0 0 22px rgba(0,144,255,.36),inset 0 0 20px rgba(65,177,255,.11);
  transform:translateY(-1px);
}

.member-icon{font-size:22px;color:#dcebf8}

.approved-dropdown{
  position:absolute;
  top:78px;
  left:50%;
  transform:translateX(-50%) translateY(-8px);
  width:330px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  padding:7px;
  border:1px solid #2a3f55;
  background:linear-gradient(180deg,rgba(13,22,32,.985),rgba(7,13,20,.99));
  box-shadow:0 24px 55px rgba(0,0,0,.48),0 0 28px rgba(14,110,206,.08);
  transition:opacity .17s ease,transform .17s ease,visibility .17s ease;
}

.approved-menu-item.open .approved-dropdown,
.approved-menu-item:hover .approved-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

.services-dropdown{width:290px}
.tools-dropdown{width:370px}

.approved-dropdown a{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:10px;
  align-items:center;
  min-height:55px;
  padding:7px 11px;
  color:#eef5fb;
  text-decoration:none;
  border:1px solid transparent;
  background:transparent;
  transition:.18s ease;
}

.approved-dropdown a:hover{
  color:#fff;
  background:linear-gradient(90deg,rgba(11,84,164,.55),rgba(8,43,81,.45));
  border-color:#146dbb;
  box-shadow:inset 3px 0 0 #25a3ff,0 0 22px rgba(0,134,255,.16);
  transform:translateX(2px);
}

.menu-icon{
  width:28px;height:28px;
  display:grid;place-items:center;
  color:#d7e8f8;
  font:700 20px Consolas,monospace;
}

.approved-dropdown b{
  display:block;
  font-size:14px;
  font-weight:600;
}

.approved-dropdown small{
  display:block;
  color:#6f859c;
  font-size:10px;
  margin-top:2px;
  line-height:1.35;
}

.approved-dropdown a:hover small{color:#9ab7d0}

.approved-hero{
  position:relative;
  min-height:941px;
  overflow:hidden;
  background:
    radial-gradient(circle at 75% 45%,rgba(1,92,173,.15),transparent 34%),
    radial-gradient(circle at 20% 32%,rgba(3,93,181,.08),transparent 27%),
    linear-gradient(116deg,#02060a 0%,#050b12 47%,#06101b 100%);
}

.approved-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(32,102,168,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(32,102,168,.035) 1px,transparent 1px);
  background-size:48px 48px;
  opacity:.55;
}

.approved-circuit{
  position:absolute;
  width:45%;height:45%;
  opacity:.85;
  background:
    linear-gradient(90deg,transparent 0 5%,#007bd3 5% 5.3%,transparent 5.3% 12%,#0068b5 12% 12.3%,transparent 12.3%),
    linear-gradient(0deg,transparent 0 13%,#007bd3 13% 13.3%,transparent 13.3% 26%,#005a9e 26% 26.3%,transparent 26.3%);
  mask-image:radial-gradient(circle at 30% 40%,black,transparent 73%);
}
.circuit-left{left:-3%;top:8%;transform:skewY(-5deg)}
.circuit-right{right:-3%;top:11%;transform:scaleX(-1) skewY(-5deg);opacity:.45}

.approved-floor{
  position:absolute;left:0;right:0;bottom:0;height:33%;
  background:
    linear-gradient(180deg,transparent,rgba(0,14,26,.78)),
    radial-gradient(ellipse at 71% 40%,rgba(0,112,223,.24),transparent 43%);
}

.hero-wrap{
  position:relative;
  z-index:3;
  width:min(1580px,calc(100% - 90px));
  min-height:775px;
  margin:auto;
  padding-top:158px;
  display:grid;
  grid-template-columns:43% 57%;
}

.hero-left{
  position:relative;
  z-index:8;
  padding-top:98px;
}

.metal-logo{
  margin:0;
  width:max-content;
  font-family:Georgia,"Times New Roman",serif;
  font-size:74px;
  line-height:.95;
  font-weight:900;
  letter-spacing:-3px;
  color:#bfc4c9;
  background:
    linear-gradient(180deg,#fcfcfc 0%,#777d83 16%,#f8f8f8 33%,#5f6469 53%,#d9dcdf 70%,#565b60 84%,#fbfbfb 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:
    0 2px 0 #15191e,
    0 4px 0 #3a4047,
    0 7px 18px rgba(0,0,0,.82),
    0 0 14px rgba(255,255,255,.07);
  filter:drop-shadow(0 5px 3px rgba(0,0,0,.68));
}

.logo-line{
  margin-top:18px;
  width:590px;
  height:2px;
  background:linear-gradient(90deg,#0193ff,rgba(0,142,255,.3),transparent);
  box-shadow:0 0 10px #007bd3;
}

.hero-tagline{
  color:#f4f4f4;
  font-size:22px;
  letter-spacing:.1px;
  margin:19px 0 0;
}

.hero-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  max-width:610px;
  margin-top:34px;
}

.hero-point{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  min-height:160px;
  padding:5px 20px 10px 0;
  border-right:1px solid #213142;
  transition:.2s ease;
}
.hero-point:nth-child(2){padding-left:20px}
.hero-point:nth-child(3){padding-left:20px;border-right:0}

.hero-point-icon{
  width:46px;height:46px;
  display:grid;place-items:center;
  color:#08b8ff;
  font-size:37px;
  filter:drop-shadow(0 0 8px rgba(0,174,255,.32));
}

.hero-point h3{
  margin:2px 0 5px;
  font-size:14px;
  font-weight:500;
}
.hero-point p{
  margin:0;
  color:#a4aab0;
  font-size:12px;
  line-height:1.55;
}

.hero-actions{
  display:flex;
  gap:18px;
  margin-top:16px;
}

.hero-btn{
  min-width:205px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 24px;
  color:#fff;
  text-decoration:none;
  border:1px solid #506073;
  font-size:16px;
  transition:.2s ease;
}
.hero-btn.primary{
  background:linear-gradient(180deg,#0877df,#045abc);
  border-color:#149fff;
  box-shadow:0 0 18px rgba(0,135,255,.2);
}
.hero-btn.secondary{background:rgba(5,10,15,.58)}

.hover-glow:hover{
  transform:translateY(-2px);
  border-color:#5ec7ff;
  box-shadow:0 0 26px rgba(0,145,255,.48),inset 0 0 19px rgba(66,173,255,.09);
}
.hero-btn.primary:hover{background:linear-gradient(180deg,#1396ff,#096cd8)}
.grid-mini{font-size:24px}

.hero-right{position:relative;z-index:4}

.hero-car{
  position:absolute;
  width:930px;
  max-width:none;
  right:-8px;
  bottom:8px;
  z-index:4;
  object-fit:cover;
  border:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.72) 8%,#000 18%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.72) 8%,#000 18%,#000 100%);
  filter:
    saturate(1.08)
    contrast(1.04)
    drop-shadow(0 34px 22px rgba(0,0,0,.7))
    drop-shadow(0 0 28px rgba(0,92,192,.16));
}

.hud-circle{
  position:absolute;
  right:310px;
  top:-7px;
  width:180px;height:180px;
  opacity:.48;
}
.hud-ring{position:absolute;border:1px solid #0b78cb;border-radius:50%;inset:20px}
.hud-ring.r2{inset:42px;border-style:dashed}
.hud-ring.r3{inset:66px;border-color:#0ea2ff}
.hud-cross:before,.hud-cross:after{
  content:"";position:absolute;background:#07588f;
}
.hud-cross:before{left:50%;top:8px;bottom:8px;width:1px}
.hud-cross:after{top:50%;left:8px;right:8px;height:1px}

.status-panel{
  position:absolute;
  z-index:7;
  right:5px;
  border:1px solid #075a90;
  background:linear-gradient(180deg,rgba(4,19,30,.85),rgba(3,13,22,.9));
  box-shadow:inset 0 0 22px rgba(0,91,168,.05);
  color:#0fb5ff;
  transition:.2s ease;
}

.ecu-panel{top:28px;width:155px;height:138px;padding:18px}
.system-panel{top:185px;width:155px;padding:15px 18px}

.status-panel>span{
  display:block;
  font:600 12px Consolas,monospace;
  margin-bottom:13px;
}
.ecu-panel>strong{
  display:flex;align-items:center;gap:8px;
  font:500 12px Consolas,monospace;color:#13d98a;
}
.ecu-panel>strong i{width:9px;height:9px;border-radius:50%;background:#13d98a;box-shadow:0 0 8px #13d98a}
.status-chart{display:flex;align-items:flex-end;gap:4px;height:48px;margin-top:17px;border-top:1px solid #12334a;padding-top:7px}
.status-chart b{width:5px;background:#0b73b8;display:block}
.status-chart b:nth-child(1){height:21px}.status-chart b:nth-child(2){height:34px}.status-chart b:nth-child(3){height:16px}.status-chart b:nth-child(4){height:42px}.status-chart b:nth-child(5){height:25px}.status-chart b:nth-child(6){height:31px}.status-chart b:nth-child(7){height:18px}.status-chart b:nth-child(8){height:39px}
.system-panel div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(12,77,119,.25);font:500 11px Consolas,monospace}.system-panel div b{font-weight:500}.system-panel div i{font-style:normal;color:#10d78d;font-size:14px}

.selectable-card:hover{
  background:linear-gradient(90deg,rgba(9,70,126,.22),rgba(4,24,42,.08));
  box-shadow:0 0 22px rgba(0,129,235,.12);
}
.hero-point:hover{transform:translateY(-3px)}
.status-panel:hover{border-color:#119fee;box-shadow:0 0 20px rgba(0,135,244,.2)}

.bottom-feature-wrap{
  position:absolute;
  z-index:12;
  left:50%;
  bottom:40px;
  transform:translateX(-50%);
  width:min(1480px,calc(100% - 90px));
  min-height:126px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid #273442;
  background:linear-gradient(180deg,rgba(8,15,22,.96),rgba(4,10,15,.98));
  box-shadow:0 15px 50px rgba(0,0,0,.36);
}

.bottom-feature{
  display:grid;
  grid-template-columns:70px 1fr;
  align-items:center;
  padding:24px 28px;
  border-right:1px solid #182533;
  transition:.2s ease;
}
.bottom-feature:last-child{border-right:0}

.bottom-feature:hover{
  transform:translateY(-3px);
  background:linear-gradient(180deg,rgba(10,50,84,.45),rgba(4,18,31,.82));
  box-shadow:inset 0 2px 0 #078eeb,0 0 20px rgba(0,119,216,.13);
}

.bottom-icon{
  width:56px;height:56px;
  display:grid;place-items:center;
  color:#14b4ff;
  border:1px solid #32465b;
  font-size:31px;
  border-radius:7px;
}

.bottom-feature h4{font-size:14px;font-weight:500;margin:0 0 7px}
.bottom-feature p{margin:0;color:#a5adb5;font-size:12px;line-height:1.5}

@media(max-width:1250px){
  .approved-menu{margin-right:215px}
  .hero-wrap{grid-template-columns:50% 50%;width:calc(100% - 50px)}
  .metal-logo{font-size:58px}
  .logo-line{width:480px}
  .hero-car{width:760px;right:-95px}
  .status-panel{display:none}
  .bottom-feature-wrap{width:calc(100% - 46px)}
}

@media(max-width:900px){
  .approved-nav{position:relative;height:auto}
  .approved-nav-inner{min-height:72px;width:calc(100% - 28px);justify-content:space-between}
  .approved-menu{margin:0;height:72px}
  .nav-trigger,.nav-direct{min-width:90px;font-size:14px}
  .member-button{position:static;height:40px;font-size:12px}
  .approved-dropdown{top:67px;left:0;transform:translateY(-8px)}
  .approved-menu-item.open .approved-dropdown,.approved-menu-item:hover .approved-dropdown{transform:translateY(0)}
  .tools-dropdown{width:330px}
  .approved-hero{min-height:1120px}
  .hero-wrap{display:block;padding-top:20px;min-height:850px}
  .hero-left{padding-top:65px}
  .hero-right{height:450px}
  .hero-car{width:760px;right:-70px;bottom:-75px}
  .bottom-feature-wrap{position:relative;left:auto;bottom:auto;transform:none;margin:20px auto 40px;grid-template-columns:1fr 1fr}
  .hero-points{max-width:720px}
}
@media(max-width:650px){
  .approved-menu{gap:0}.nav-trigger,.nav-direct{min-width:72px;font-size:12px}
  .member-button{padding:0 10px}.member-icon{display:none}
  .approved-dropdown{position:fixed;left:12px;right:12px;top:71px;width:auto;transform:translateY(-8px)}
  .approved-menu-item.open .approved-dropdown,.approved-menu-item:hover .approved-dropdown{transform:translateY(0)}
  .hero-wrap{width:calc(100% - 30px)}
  .metal-logo{font-size:42px;letter-spacing:-2px}
  .logo-line{width:100%}
  .hero-tagline{font-size:16px}
  .hero-points{grid-template-columns:1fr;margin-top:25px}.hero-point,.hero-point:nth-child(2),.hero-point:nth-child(3){padding:14px 0;border-right:0;border-bottom:1px solid #213142;min-height:auto}
  .hero-actions{flex-direction:column}.hero-btn{width:100%}
  .hero-right{display:none}
  .approved-hero{min-height:auto}
  .bottom-feature-wrap{grid-template-columns:1fr;position:relative}
  .bottom-feature{border-right:0;border-bottom:1px solid #182533}
}

/* v0.9 visual-strengthening */
.approved-hero:after{
  content:"";
  position:absolute;
  inset:82px 0 0;
  pointer-events:none;
  background:
    radial-gradient(circle at 79% 38%,rgba(20,112,215,.13),transparent 23%),
    linear-gradient(90deg,rgba(0,0,0,.08),transparent 52%,rgba(0,20,38,.10));
  z-index:1;
}
.metal-logo{
  filter:
    drop-shadow(0 2px 0 rgba(255,255,255,.10))
    drop-shadow(0 8px 3px rgba(0,0,0,.78))
    drop-shadow(0 0 12px rgba(173,198,222,.12));
}
.hero-btn,.member-button,.approved-dropdown a,.bottom-feature,.hero-point{
  will-change:transform,box-shadow,background-color;
}


/* ============================================================
   v0.10 Typography + Modern Icon Refinement
   ============================================================ */

.approved-home,
.approved-nav,
.approved-dropdown,
.approved-dropdown a,
.hero-btn,
.member-button{
  font-family:"Segoe UI Variable Text","Segoe UI","Helvetica Neue",Arial,sans-serif;
}

.nav-trigger,
.nav-direct{
  font-family:"Segoe UI Variable Display","Segoe UI","Helvetica Neue",Arial,sans-serif;
  font-size:17px;
  font-weight:500;
  letter-spacing:.15px;
}

.member-button{
  font-size:14px;
  font-weight:550;
  letter-spacing:.12px;
}

.approved-dropdown b{
  font-size:14px;
  font-weight:600;
  letter-spacing:.05px;
}

.approved-dropdown small{
  font-size:10.5px;
  line-height:1.4;
  font-weight:400;
}

.metal-logo{
  font-family:"Bahnschrift Condensed","Arial Narrow","Segoe UI Variable Display","Segoe UI",sans-serif;
  font-size:78px;
  font-weight:700;
  letter-spacing:-2.1px;
  color:#d7dadd;
  background:
    linear-gradient(
      180deg,
      #f7f8f9 0%,
      #d9dde1 25%,
      #f2f4f5 43%,
      #bec4ca 64%,
      #e6e9ec 82%,
      #c2c7cc 100%
    );
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:
    0 1px 0 rgba(255,255,255,.22),
    0 3px 0 rgba(78,84,90,.48),
    0 8px 18px rgba(0,0,0,.62);
  filter:drop-shadow(0 0 10px rgba(190,210,230,.09));
}

.hero-tagline{
  font-family:"Segoe UI Variable Text","Segoe UI","Helvetica Neue",Arial,sans-serif;
  font-size:21px;
  font-weight:400;
  letter-spacing:.08px;
  color:#e2e6ea;
}

.hero-point h3,
.bottom-feature h4{
  font-family:"Segoe UI Variable Display","Segoe UI","Helvetica Neue",Arial,sans-serif;
  font-weight:600;
  letter-spacing:.02px;
}

.hero-point h3{font-size:15px}
.hero-point p,
.bottom-feature p{
  font-family:"Segoe UI Variable Text","Segoe UI","Helvetica Neue",Arial,sans-serif;
  font-weight:400;
  color:#aeb7c0;
}

.hero-btn{
  font-size:15px;
  font-weight:600;
  letter-spacing:.1px;
}

.ui-icon{
  width:1em;
  height:1em;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}

.menu-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  color:#55b9ff;
  font-size:23px;
  border:1px solid transparent;
  border-radius:5px;
  transition:.18s ease;
}

.approved-dropdown a:hover .menu-icon{
  color:#c4e7ff;
  background:rgba(24,119,201,.14);
  border-color:rgba(67,171,255,.32);
  box-shadow:0 0 15px rgba(0,139,255,.16);
}

.member-icon{
  width:22px;
  height:22px;
  color:#dcecff;
  display:grid;
  place-items:center;
  font-size:22px;
}

.hero-point-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:#1ab6ff;
  font-size:39px;
  filter:drop-shadow(0 0 8px rgba(0,174,255,.24));
}

.hero-point:hover .hero-point-icon{
  color:#83d6ff;
  filter:drop-shadow(0 0 12px rgba(0,176,255,.35));
}

.grid-mini{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  color:#dbeeff;
  font-size:22px;
}

.grid-icon{stroke-width:1.55}

.bottom-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  color:#27baff;
  border:1px solid #354b61;
  background:linear-gradient(180deg,rgba(16,34,50,.72),rgba(8,18,28,.72));
  font-size:31px;
  border-radius:8px;
  transition:.2s ease;
}

.bottom-feature:hover .bottom-icon{
  color:#a5e0ff;
  border-color:#238cd0;
  background:linear-gradient(180deg,rgba(14,77,121,.62),rgba(8,32,53,.78));
  box-shadow:0 0 18px rgba(0,147,255,.20);
}

@media(max-width:1250px){
  .metal-logo{font-size:62px}
}

@media(max-width:650px){
  .metal-logo{font-size:43px;letter-spacing:-1.2px}
  .hero-tagline{font-size:16px}
}


/* ============================================================
   v0.11 Modern BMWVetGroup Wordmark
   ============================================================ */

.metal-logo{
  position:relative;
  display:inline-flex;
  align-items:baseline;
  gap:0;
  margin:0;
  width:max-content;
  font-family:"Bahnschrift SemiCondensed","Bahnschrift Condensed","Arial Narrow","Segoe UI Variable Display","Segoe UI",sans-serif;
  font-size:79px;
  line-height:.88;
  font-weight:780;
  letter-spacing:-3.2px;
  text-transform:uppercase;
  color:transparent;
  background:none;
  -webkit-text-fill-color:initial;
  text-shadow:none;
  filter:
    drop-shadow(0 3px 0 rgba(0,0,0,.80))
    drop-shadow(0 9px 18px rgba(0,0,0,.62))
    drop-shadow(0 0 16px rgba(58,156,255,.10));
}

.metal-logo .wordmark-bmw,
.metal-logo .wordmark-vet{
  position:relative;
  display:inline-block;
  color:transparent;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.metal-logo .wordmark-bmw{
  padding-right:.06em;
  background-image:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #e9edf1 15%,
      #aeb7c0 36%,
      #f5f7f9 50%,
      #8f9aa5 69%,
      #d8dde2 84%,
      #ffffff 100%
    );
}

.metal-logo .wordmark-vet{
  background-image:
    linear-gradient(
      180deg,
      #f8fbfd 0%,
      #dde4ea 16%,
      #a2adb8 35%,
      #eef3f6 50%,
      #87939f 69%,
      #c9d1d8 84%,
      #f6f9fb 100%
    );
}

.metal-logo .wordmark-bmw::before,
.metal-logo .wordmark-vet::before{
  content:attr(class);
  position:absolute;
  inset:0;
  color:transparent;
  pointer-events:none;
}

.metal-logo::before{
  content:"";
  position:absolute;
  left:1%;
  right:0;
  top:-7px;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.55) 14%,
    rgba(255,255,255,.12) 58%,
    transparent
  );
  box-shadow:0 0 8px rgba(142,202,255,.12);
}

.metal-logo::after{
  content:"";
  position:absolute;
  left:1.2%;
  right:0;
  bottom:-9px;
  height:2px;
  background:
    linear-gradient(
      90deg,
      #0b6fc7 0%,
      #45b4ff 32%,
      rgba(48,159,245,.42) 66%,
      transparent 100%
    );
  box-shadow:
    0 0 8px rgba(0,142,255,.54),
    0 0 18px rgba(0,109,214,.18);
}

.wordmark-bmw{
  transform:skewX(-3deg);
}

.wordmark-vet{
  transform:skewX(-3deg);
}

.metal-logo:hover{
  filter:
    drop-shadow(0 3px 0 rgba(0,0,0,.82))
    drop-shadow(0 9px 18px rgba(0,0,0,.64))
    drop-shadow(0 0 18px rgba(71,169,255,.17));
}

.metal-logo:hover::after{
  box-shadow:
    0 0 11px rgba(0,156,255,.72),
    0 0 24px rgba(0,108,215,.26);
}

/* subtle bevel / highlight without looking like old chrome text */
.wordmark-bmw,
.wordmark-vet{
  -webkit-text-stroke:.45px rgba(240,247,252,.22);
  text-rendering:geometricPrecision;
}

@media(max-width:1250px){
  .metal-logo{font-size:64px;letter-spacing:-2.5px}
}

@media(max-width:650px){
  .metal-logo{font-size:44px;letter-spacing:-1.8px}
}


/* ============================================================
   v0.12 Glass-Grey BMWVETGROUP Wordmark
   ============================================================ */

.metal-logo{
  position:relative;
  display:inline-flex;
  align-items:baseline;
  gap:0;
  margin:0;
  width:max-content;
  font-family:"Bahnschrift SemiCondensed","Bahnschrift Condensed","Arial Narrow","Segoe UI Variable Display","Segoe UI",sans-serif;
  font-size:79px;
  line-height:.88;
  font-weight:760;
  letter-spacing:-3.0px;
  text-transform:uppercase;
  background:none;
  color:transparent;
  -webkit-text-fill-color:initial;
  text-shadow:none;
  filter:
    drop-shadow(0 3px 1px rgba(0,0,0,.70))
    drop-shadow(0 10px 22px rgba(0,0,0,.54))
    drop-shadow(0 0 10px rgba(142,202,255,.07));
}

.metal-logo .wordmark-bmw,
.metal-logo .wordmark-vet{
  position:relative;
  display:inline-block;
  color:transparent;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.55px rgba(244,249,252,.30);
  text-rendering:geometricPrecision;
  transform:skewX(-2deg);
}

/* glass body: bright upper refraction, smoky middle, frosted lower face */
.metal-logo .wordmark-bmw{
  padding-right:.055em;
  background-image:
    linear-gradient(
      180deg,
      rgba(255,255,255,.98) 0%,
      rgba(231,236,240,.90) 13%,
      rgba(176,185,194,.78) 29%,
      rgba(238,242,245,.94) 43%,
      rgba(151,160,170,.72) 58%,
      rgba(206,213,219,.86) 74%,
      rgba(134,143,153,.70) 88%,
      rgba(239,243,246,.92) 100%
    );
}

.metal-logo .wordmark-vet{
  background-image:
    linear-gradient(
      180deg,
      rgba(252,253,254,.97) 0%,
      rgba(222,228,233,.88) 13%,
      rgba(161,171,181,.76) 29%,
      rgba(233,238,241,.92) 43%,
      rgba(139,149,159,.70) 58%,
      rgba(198,206,213,.84) 74%,
      rgba(124,134,144,.68) 88%,
      rgba(233,238,241,.90) 100%
    );
}

/* thin glass highlight line */
.metal-logo::before{
  content:"";
  position:absolute;
  left:1%;
  right:0;
  top:-5px;
  height:2px;
  background:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(255,255,255,.18) 6%,
      rgba(255,255,255,.72) 22%,
      rgba(235,245,252,.34) 58%,
      rgba(255,255,255,.10) 84%,
      transparent 100%
    );
  box-shadow:
    0 0 5px rgba(255,255,255,.16),
    0 0 10px rgba(125,198,255,.05);
  opacity:.95;
}

/* subtle refracted blue-grey lower edge */
.metal-logo::after{
  content:"";
  position:absolute;
  left:1.1%;
  right:0;
  bottom:-9px;
  height:2px;
  background:
    linear-gradient(
      90deg,
      rgba(93,111,128,.10) 0%,
      rgba(131,186,229,.72) 24%,
      rgba(111,161,201,.40) 52%,
      rgba(89,106,122,.18) 78%,
      transparent 100%
    );
  box-shadow:
    0 0 7px rgba(97,171,230,.24),
    0 0 15px rgba(73,143,204,.08);
}

/* soft internal gloss across the glass letters */
.metal-logo .wordmark-bmw::after,
.metal-logo .wordmark-vet::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:8%;
  height:27%;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.22),
      rgba(255,255,255,.06),
      transparent
    );
  opacity:.42;
  pointer-events:none;
  mix-blend-mode:screen;
}

/* less neon on hover: just a polished-glass lift */
.metal-logo:hover{
  filter:
    drop-shadow(0 3px 1px rgba(0,0,0,.72))
    drop-shadow(0 10px 22px rgba(0,0,0,.56))
    drop-shadow(0 0 12px rgba(145,202,248,.11));
}

.metal-logo:hover::before{
  box-shadow:
    0 0 7px rgba(255,255,255,.22),
    0 0 13px rgba(125,198,255,.08);
}

.metal-logo:hover::after{
  box-shadow:
    0 0 9px rgba(97,171,230,.30),
    0 0 18px rgba(73,143,204,.10);
}

@media(max-width:1250px){
  .metal-logo{font-size:64px;letter-spacing:-2.4px}
}

@media(max-width:650px){
  .metal-logo{font-size:44px;letter-spacing:-1.6px}
}


/* ============================================================
   v0.13 BMWVetGroup Member Registration / Account Recovery
   ============================================================ */

.member-auth-page{
  margin:0;
  min-height:100vh;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  background:#070a0e;
  color:#eef4fa;
  font-family:"Segoe UI Variable Text","Segoe UI","Helvetica Neue",Arial,sans-serif;
}

.member-auth-brand{
  position:relative;
  min-height:100vh;
  padding:42px 55px;
  overflow:hidden;
  background:
    radial-gradient(circle at 77% 32%,rgba(27,116,210,.17),transparent 30%),
    linear-gradient(145deg,#07101a,#0b1724 57%,#07101a);
}

.member-auth-brand:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(72,123,174,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(72,123,174,.06) 1px,transparent 1px);
  background-size:45px 45px;
  mask-image:linear-gradient(135deg,transparent 4%,black 72%);
}

.member-auth-logo{
  position:relative;
  z-index:2;
  color:#dce4eb;
  text-decoration:none;
  font-family:"Bahnschrift SemiCondensed","Segoe UI",sans-serif;
  font-size:25px;
  font-weight:700;
  letter-spacing:-.8px;
}

.member-auth-brand-copy{
  position:relative;
  z-index:2;
  max-width:670px;
  margin-top:23vh;
}

.member-auth-brand-copy>span,
.auth-code{
  color:#5dacfa;
  font:800 9px Consolas,monospace;
  letter-spacing:1.2px;
}

.member-auth-brand-copy h1{
  margin:13px 0 18px;
  max-width:620px;
  font-size:clamp(43px,5vw,68px);
  line-height:1.02;
  letter-spacing:-2.8px;
}

.member-auth-brand-copy>p{
  max-width:570px;
  color:#8da1b5;
  line-height:1.68;
  font-size:14px;
}

.auth-points{
  display:flex;
  gap:9px;
  margin-top:38px;
}

.auth-points div{
  min-width:150px;
  border-top:1px solid #294057;
  padding-top:12px;
}

.auth-points b{
  display:block;
  color:#3d6e9e;
  font:700 9px Consolas,monospace;
  margin-bottom:6px;
}

.auth-points span{
  color:#9cb0c3;
  font-size:10px;
}

.member-auth-form-wrap{
  display:grid;
  place-items:center;
  min-height:100vh;
  padding:45px 30px;
  background:#080c11;
}

.member-auth-card{
  width:min(460px,100%);
}

.member-auth-card h2{
  font-size:35px;
  margin:12px 0 7px;
}

.member-auth-card>p{
  color:#73879a;
  font-size:12px;
  margin-bottom:26px;
}

.member-auth-card form,
.form-message-card form{
  display:grid;
}

.member-auth-card label,
.form-message-card label{
  color:#879caf;
  font-size:10px;
  font-weight:700;
  margin:0 0 7px;
}

.member-auth-card input,
.form-message-card input{
  height:49px;
  margin-bottom:16px;
  padding:0 13px;
  color:#e4edf5;
  background:#0c131a;
  border:1px solid #293c50;
  outline:none;
}

.member-auth-card input:focus,
.form-message-card input:focus{
  border-color:#348ed9;
  box-shadow:0 0 0 2px rgba(34,131,214,.08);
}

.field-help{
  color:#586e83;
  font-size:9px;
  margin-top:-10px;
  margin-bottom:14px;
}

.auth-warning{
  margin:0 0 18px;
  padding:11px 13px;
  color:#d8c486;
  border:1px solid #665424;
  background:#2b2516;
  font-size:11px;
  line-height:1.5;
}

.auth-success{
  margin:0 0 18px;
  padding:11px 13px;
  color:#8fdbb7;
  border:1px solid #285c46;
  background:#0f281d;
  font-size:11px;
  line-height:1.5;
}

.auth-switch{
  margin-top:21px;
  padding-top:16px;
  border-top:1px solid #1c2a38;
  color:#697f94;
  font-size:10px;
}

.auth-switch a,
.forgot-link{
  color:#68b8ff;
  text-decoration:none;
}

.auth-switch a:hover,
.forgot-link:hover{color:#a1d5ff}

.login-form-row{
  display:flex;
  justify-content:flex-end;
  margin:-7px 0 14px;
}

.forgot-link{
  font-size:10px;
}

.register-divider{
  display:flex;
  align-items:center;
  gap:12px;
  margin:25px 0 15px;
  color:#51677c;
  font-size:8px;
  font-weight:800;
  letter-spacing:.75px;
}

.register-divider:before,
.register-divider:after{
  content:"";
  height:1px;
  flex:1;
  background:#213142;
}

.create-account-button{
  width:100%;
}

.member-message-page{
  min-height:100vh;
  margin:0;
  display:grid;
  place-items:center;
  padding:28px;
  background:
    radial-gradient(circle at 70% 20%,rgba(30,120,215,.12),transparent 26%),
    #070b10;
  color:#eef4fa;
  font-family:"Segoe UI Variable Text","Segoe UI","Helvetica Neue",Arial,sans-serif;
}

.member-message-card{
  width:min(620px,100%);
  padding:35px;
  background:#0d151e;
  border:1px solid #283a4e;
  box-shadow:0 25px 75px rgba(0,0,0,.33);
}

.member-message-card h1{
  margin:11px 0 12px;
  font-size:35px;
  letter-spacing:-1.3px;
}

.member-message-card>p{
  color:#8da0b3;
  line-height:1.65;
  font-size:13px;
}

.member-message-card>p strong{color:#dce7f1}

.message-icon{
  width:55px;
  height:55px;
  margin-top:24px;
  display:grid;
  place-items:center;
  color:#7ac5ff;
  border:1px solid #2d5f8e;
  background:#0e2132;
  font-size:24px;
}

.success-icon{
  color:#64dfa5;
  border-color:#2c7255;
  background:#0e291e;
}

.error-icon{
  color:#f1c576;
  border-color:#75602f;
  background:#2c2515;
}

.message-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:24px;
}

.form-message-card{max-width:500px}

.form-message-card form{
  margin-top:22px;
}

@media(max-width:850px){
  .member-auth-page{grid-template-columns:1fr}
  .member-auth-brand{min-height:360px;padding:30px}
  .member-auth-brand-copy{margin-top:70px}
  .member-auth-form-wrap{min-height:auto;padding:55px 24px}
}

@media(max-width:620px){
  .auth-points{flex-direction:column}
  .auth-points div{min-width:0}
}


/* ============================================================
   v0.16 Admin Member Management
   ============================================================ */

.admin-member-link{
  border-color:#2d6fa8 !important;
  color:#8fcaff !important;
}

.admin-user-link{
  color:#dce9f4;
  text-decoration:none;
}

.admin-user-link:hover{
  color:#70baff;
}

.admin-flash{
  margin:0 0 18px;
  padding:12px 15px;
  border:1px solid;
  font-size:12px;
}

.admin-flash-ok{
  color:#90e4ba;
  border-color:#2d6b51;
  background:#0d281d;
}

.admin-flash-error{
  color:#f2b2a8;
  border-color:#75483f;
  background:#2c1715;
}

.admin-member-summary{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.member-list-heading{
  gap:24px;
  align-items:flex-end;
}

.admin-member-search{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.admin-member-search input,
.admin-member-search select,
.duration-action select,
.delete-member-form input{
  height:38px;
  padding:0 11px;
  color:#d8e6f1;
  background:#0a121a;
  border:1px solid #2a4156;
  outline:none;
}

.admin-member-search input{
  min-width:230px;
}

.admin-member-search input:focus,
.admin-member-search select:focus,
.duration-action select:focus,
.delete-member-form input:focus{
  border-color:#338cd7;
  box-shadow:0 0 0 2px rgba(51,140,215,.08);
}

.admin-small-button,
.admin-manage-button,
.admin-action-button{
  min-height:38px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:#cfe8ff;
  background:#102033;
  border:1px solid #315578;
  text-decoration:none;
  font:700 10px "Segoe UI",sans-serif;
  cursor:pointer;
}

.admin-small-button:hover,
.admin-manage-button:hover,
.admin-action-button:hover{
  border-color:#4aa7f5;
  background:#132c43;
  color:white;
}

.admin-clear-filter{
  color:#6faede;
  font-size:10px;
  text-decoration:none;
}

.member-table td{
  vertical-align:middle;
}

.member-table td small{
  display:block;
  margin-top:4px;
  color:#607487;
  font-size:9px;
}

.member-state,
.access-state{
  display:inline-flex;
  padding:5px 7px;
  border:1px solid;
  font-size:8px;
  font-weight:800;
  letter-spacing:.5px;
  white-space:nowrap;
}

.state-active,
.access-on{
  color:#80d9ad;
  border-color:#29634a;
  background:#0f271d;
}

.state-pending_verification{
  color:#e5c276;
  border-color:#6a5527;
  background:#2a2315;
}

.state-disabled,
.access-off{
  color:#ce8a82;
  border-color:#6b3d38;
  background:#291513;
}

.verification-dot{
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:5px;
  border-radius:50%;
  vertical-align:middle;
}

.verification-dot.verified{
  background:#4dc690;
  box-shadow:0 0 7px rgba(77,198,144,.35);
}

.verification-dot.unverified{
  background:#c29d50;
  box-shadow:0 0 7px rgba(194,157,80,.25);
}

.member-breadcrumb{
  margin:7px 0 9px;
  color:#5d7287;
  font-size:9px;
}

.member-breadcrumb a{
  color:#70baff;
  text-decoration:none;
}

.member-breadcrumb span{
  margin:0 7px;
}

.member-profile-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);
  gap:16px;
  margin-bottom:16px;
}

.member-profile-card{
  padding:22px;
}

.member-data-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:17px;
}

.member-data-grid>div{
  min-height:70px;
  padding:12px;
  background:#0a121a;
  border:1px solid #1d3042;
}

.member-data-grid span{
  display:block;
  margin-bottom:7px;
  color:#557087;
  font-size:8px;
  font-weight:800;
  letter-spacing:.65px;
}

.member-data-grid strong{
  color:#d6e2ec;
  font-size:11px;
  word-break:break-word;
}

.admin-action-cluster{
  margin-top:20px;
  padding-top:17px;
  border-top:1px solid #1c2d3c;
}

.admin-action-cluster h3{
  margin:0 0 10px;
  color:#71879a;
  font-size:9px;
  letter-spacing:.5px;
  text-transform:uppercase;
}

.action-row{
  display:flex;
  gap:8px;
  align-items:center;
}

.wrap-actions{
  flex-wrap:wrap;
}

.admin-action-button.positive{
  color:#a7e7c8;
  border-color:#2d6c51;
  background:#10291e;
}

.admin-action-button.danger-soft{
  color:#e1aaa2;
  border-color:#70433e;
  background:#281815;
}

.duration-action{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:8px;
}

.access-hero{
  margin-top:17px;
  padding:18px;
  border:1px solid;
  background:#09131d;
}

.access-hero>span{
  display:block;
  margin-bottom:5px;
  color:#5a7187;
  font-size:8px;
  font-weight:800;
  letter-spacing:.7px;
}

.access-hero>strong{
  display:block;
  font-size:26px;
  letter-spacing:-.7px;
}

.access-hero p{
  margin:7px 0 2px;
  color:#90a4b6;
  font-size:10px;
}

.access-hero small{
  color:#5e7489;
  font-size:9px;
}

.access-live{
  border-color:#285f48;
  background:linear-gradient(135deg,#0c241b,#0a1518);
}

.access-live>strong{
  color:#6dd6a3;
}

.access-dead{
  border-color:#553735;
  background:linear-gradient(135deg,#201413,#0c1218);
}

.access-dead>strong{
  color:#cf9189;
}

.access-special-actions{
  margin-top:17px;
  padding-top:17px;
  border-top:1px solid #1c2d3c;
  flex-wrap:wrap;
}

.member-search-summary{
  margin-bottom:16px;
}

.member-admin-two-col{
  align-items:start;
}

.audit-head{
  margin-top:26px;
  padding-top:21px;
  border-top:1px solid #1d2d3c;
}

.delete-member-panel{
  display:grid;
  grid-template-columns:auto minmax(260px,1fr) minmax(340px,.85fr);
  gap:18px;
  align-items:center;
  margin-top:16px;
  border-color:#603936 !important;
  background:
    linear-gradient(90deg,rgba(103,37,31,.13),transparent 43%),
    #0d1319;
}

.delete-warning-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  color:#ef9f92;
  border:1px solid #7b463f;
  background:#2b1715;
  font-size:25px;
}

.delete-member-copy h2{
  margin:0 0 7px;
  color:#ebc1ba;
}

.delete-member-copy p{
  margin:0;
  max-width:650px;
  color:#8b7371;
  font-size:10px;
  line-height:1.6;
}

.delete-member-form{
  display:grid;
  gap:8px;
}

.delete-member-form label{
  color:#94726e;
  font-size:9px;
}

.admin-delete-button{
  min-height:40px;
  color:#f2b5aa;
  background:#331817;
  border:1px solid #874a42;
  font-weight:800;
  cursor:pointer;
}

.admin-delete-button:hover{
  background:#471d1a;
  border-color:#b56358;
  color:white;
}

.protected-admin-panel{
  margin-top:16px;
  color:#7e98ad;
}

.protected-admin-panel strong{
  color:#8cc7f4;
}

.protected-admin-panel p{
  margin-bottom:0;
  font-size:10px;
}

@media(max-width:1100px){
  .member-profile-grid{
    grid-template-columns:1fr;
  }

  .delete-member-panel{
    grid-template-columns:auto 1fr;
  }

  .delete-member-form{
    grid-column:1 / -1;
  }
}

@media(max-width:760px){
  .admin-member-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .member-data-grid{
    grid-template-columns:1fr;
  }

  .duration-action{
    grid-template-columns:1fr;
  }

  .member-list-heading{
    align-items:stretch;
    flex-direction:column;
  }

  .admin-member-search{
    align-items:stretch;
  }

  .admin-member-search input,
  .admin-member-search select{
    min-width:0;
    flex:1 1 180px;
  }

  .delete-member-panel{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   v0.17 Registration Terms & Access Agreement
   ============================================================ */

.registration-agreement{
  margin:4px 0 19px;
  padding:15px;
  background:
    linear-gradient(135deg,rgba(31,103,166,.08),transparent 60%),
    #0a1219;
  border:1px solid #293d50;
}

.agreement-check{
  display:grid !important;
  grid-template-columns:22px minmax(0,1fr);
  gap:11px;
  align-items:start;
  margin:0 !important;
  cursor:pointer;
}

.agreement-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
  width:1px !important;
  height:1px !important;
  margin:0 !important;
}

.agreement-control{
  position:relative;
  width:18px;
  height:18px;
  margin-top:2px;
  border:1px solid #47647c;
  background:#071018;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.015);
  transition:.18s ease;
}

.agreement-control::after{
  content:"";
  position:absolute;
  left:5px;
  top:2px;
  width:5px;
  height:9px;
  border-right:2px solid white;
  border-bottom:2px solid white;
  transform:rotate(45deg) scale(.4);
  opacity:0;
  transition:.16s ease;
}

.agreement-check input:checked + .agreement-control{
  border-color:#4ca8f6;
  background:#177bd5;
  box-shadow:0 0 12px rgba(42,145,230,.24);
}

.agreement-check input:checked + .agreement-control::after{
  opacity:1;
  transform:rotate(45deg) scale(1);
}

.agreement-check input:focus-visible + .agreement-control{
  outline:2px solid rgba(84,169,243,.7);
  outline-offset:2px;
}

.agreement-copy{
  display:block;
  min-width:0;
}

.agreement-copy strong{
  display:block;
  margin-bottom:7px;
  color:#dceaf5;
  font-size:11px;
  letter-spacing:.02em;
}

.agreement-copy small{
  display:block;
  color:#7f93a5;
  font-size:9.5px;
  line-height:1.65;
}

.agreement-copy small b{
  color:#b8d8f1;
}

.agreement-affiliation{
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid #1e3040;
  color:#667d91 !important;
}

.agreement-terms-link{
  display:inline-block;
  margin-top:9px;
  color:#62b5fc;
  text-decoration:none;
  font-size:9px;
  font-weight:700;
}

.agreement-terms-link:hover{
  color:#a2d7ff;
}

/* Terms page */
.terms-page{
  min-height:100vh;
  margin:0;
  color:#dce8f2;
  background:
    radial-gradient(circle at 82% 7%,rgba(30,116,201,.10),transparent 30%),
    #070b10;
  font-family:"Segoe UI Variable Text","Segoe UI","Helvetica Neue",Arial,sans-serif;
}

.terms-header{
  height:70px;
  padding:0 clamp(24px,5vw,72px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #162434;
  background:rgba(7,11,16,.92);
}

.terms-wordmark{
  color:#d8e1e8;
  text-decoration:none;
  font-family:"Bahnschrift SemiCondensed","Segoe UI",sans-serif;
  font-size:20px;
  font-weight:750;
  letter-spacing:-.7px;
}

.terms-nav{
  display:flex;
  gap:18px;
}

.terms-nav a{
  color:#71879a;
  text-decoration:none;
  font-size:10px;
}

.terms-nav a:hover{
  color:#70baff;
}

.terms-shell{
  width:min(940px,calc(100% - 42px));
  margin:0 auto;
  padding:70px 0 90px;
}

.terms-kicker{
  color:#51a9f7;
  font:800 9px Consolas,monospace;
  letter-spacing:1.15px;
}

.terms-shell>h1{
  margin:12px 0 15px;
  font-size:clamp(42px,6vw,70px);
  line-height:.98;
  letter-spacing:-3px;
}

.terms-intro{
  max-width:720px;
  margin-bottom:42px;
  color:#8598aa;
  font-size:13px;
  line-height:1.7;
}

.terms-section{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:18px;
  padding:25px 0;
  border-top:1px solid #1a2a39;
}

.terms-section>span{
  color:#3f719d;
  font:800 10px Consolas,monospace;
}

.terms-section h2{
  margin:0 0 10px;
  color:#e0ebf4;
  font-size:18px;
}

.terms-section p{
  margin:0;
  color:#7f92a4;
  font-size:12px;
  line-height:1.75;
}

.terms-section p strong{
  color:#d4e5f3;
}

.enforcement-section{
  margin:10px 0;
  padding:25px 18px;
  border:1px solid #3b5266;
  background:
    linear-gradient(135deg,rgba(35,108,169,.09),transparent 70%),
    #0a1219;
}

.terms-footer-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:35px;
  padding-top:27px;
  border-top:1px solid #1a2a39;
}

.terms-version{
  margin-top:24px;
  color:#465c70;
  font:700 8px Consolas,monospace;
  letter-spacing:.6px;
}

@media(max-width:620px){
  .terms-section{
    grid-template-columns:1fr;
    gap:7px;
  }

  .terms-header{
    padding:0 20px;
  }

  .terms-nav{
    gap:11px;
  }
}


/* ============================================================
   v0.18 Member Dashboard
   ============================================================ */

.member-dashboard-body{
  background:
    radial-gradient(circle at 78% 2%,rgba(34,126,220,.12),transparent 25%),
    radial-gradient(circle at 10% 31%,rgba(19,74,126,.08),transparent 27%),
    linear-gradient(180deg,#070b10 0%,#091018 55%,#070b10 100%);
}

.dashboard-site-header{
  width:min(1320px,calc(100% - 44px));
}

.dashboard-wordmark{
  position:relative;
  color:transparent;
  background:
    linear-gradient(
      180deg,
      #f1f4f6 0%,
      #bbc3ca 28%,
      #e7ebee 45%,
      #8f9aa4 68%,
      #d9dfe4 100%
    );
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-decoration:none;
  font-family:"Bahnschrift SemiCondensed","Segoe UI Variable Display","Segoe UI",sans-serif;
  font-size:22px;
  font-weight:780;
  letter-spacing:-1px;
}

.dashboard-nav a.active{
  color:#e8f1f8;
}

.member-dashboard{
  width:min(1260px,calc(100% - 44px));
  margin:0 auto;
  padding:56px 0 88px;
}

.member-dashboard-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:35px;
  padding-bottom:32px;
}

.member-dashboard-welcome h1{
  max-width:820px;
  margin:10px 0 10px;
  font-size:clamp(38px,4.6vw,60px);
  line-height:1.02;
  letter-spacing:-2.5px;
}

.member-dashboard-welcome p{
  max-width:700px;
  margin:0;
  color:#8196aa;
  font-size:13px;
  line-height:1.65;
}

.member-dashboard-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.member-dashboard-actions form{
  margin:0;
}

.dashboard-primary-action span{
  margin-left:12px;
}

.member-status-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:52px;
}

.member-status-card{
  min-height:112px;
  padding:18px 19px;
  border:1px solid #203246;
  background:
    linear-gradient(135deg,rgba(40,103,164,.065),transparent 58%),
    #0c141d;
}

.status-card-label{
  display:block;
  margin-bottom:12px;
  color:#526a80;
  font:800 8px Consolas,monospace;
  letter-spacing:.9px;
}

.status-card-value{
  display:block;
  margin-bottom:6px;
  font-size:18px;
  letter-spacing:-.45px;
}

.member-status-card small{
  color:#687e91;
  font-size:9px;
}

.status-good{color:#74d9a7}
.status-blue{color:#78bdff}
.status-warn{color:#e1bf72}
.status-danger{color:#e09a90}
.status-muted{color:#95a7b8}

.member-dashboard-section{
  margin-top:42px;
}

.member-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
}

.member-section-heading h2{
  margin:7px 0 0;
  font-size:28px;
  letter-spacing:-1px;
}

.member-text-link{
  color:#6aaee9;
  text-decoration:none;
  font-size:10px;
  font-weight:700;
}

.member-text-link:hover{
  color:#a7d7ff;
}

.bosch-member-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  border:1px solid #263b50;
  background:
    radial-gradient(circle at 94% 10%,rgba(30,123,215,.10),transparent 34%),
    linear-gradient(145deg,#0e1822,#0a1219);
  box-shadow:0 28px 70px rgba(0,0,0,.20);
}

.bosch-card-main{
  min-width:0;
  padding:28px 30px;
}

.bosch-card-actions{
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:9px;
  justify-content:center;
  border-left:1px solid #203348;
  background:rgba(7,12,18,.45);
}

.bosch-card-heading{
  display:flex;
  align-items:flex-start;
  gap:17px;
}

.bosch-dashboard-icon{
  flex:0 0 58px;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  color:#7fc0fa;
  border:1px solid #315b7f;
  background:#0c2234;
}

.bosch-dashboard-icon svg{
  width:29px;
  height:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.member-access-badge{
  display:inline-flex;
  margin-bottom:9px;
  padding:5px 7px;
  border:1px solid;
  font:800 8px Consolas,monospace;
  letter-spacing:.75px;
}

.badge-live{
  color:#73d7a4;
  border-color:#2a624a;
  background:#0d261c;
}

.badge-admin{
  color:#82c8ff;
  border-color:#315d82;
  background:#0d2234;
}

.badge-expired{
  color:#e3bf70;
  border-color:#6c5728;
  background:#2a2315;
}

.badge-blocked{
  color:#e0a098;
  border-color:#6e413b;
  background:#291714;
}

.badge-off{
  color:#96a7b7;
  border-color:#3c4c5d;
  background:#121a22;
}

.bosch-card-heading h3{
  margin:0 0 8px;
  font-size:28px;
  letter-spacing:-1px;
}

.bosch-card-heading p{
  max-width:760px;
  margin:0;
  color:#8297aa;
  font-size:11px;
  line-height:1.65;
}

.trial-countdown-panel,
.access-expiration-panel,
.expired-access-panel,
.access-review-panel{
  margin:24px 0 0 75px;
  padding:15px 16px;
  border:1px solid #24425d;
  background:#09131d;
}

.trial-countdown-panel{
  border-color:#295b83;
  background:
    linear-gradient(90deg,rgba(24,102,172,.12),transparent 75%),
    #09131d;
}

.trial-countdown-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
}

.trial-countdown-top span,
.access-expiration-panel>span{
  color:#5d7891;
  font:800 8px Consolas,monospace;
  letter-spacing:.75px;
}

.trial-countdown-top strong{
  color:#92ceff;
  font:800 19px Consolas,monospace;
  letter-spacing:.5px;
}

.trial-progress{
  height:4px;
  margin:12px 0 10px;
  overflow:hidden;
  background:#172838;
}

.trial-progress span{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(90deg,#2f84cf,#7cc6ff);
  box-shadow:0 0 12px rgba(59,146,220,.35);
  transition:width .8s linear;
}

.trial-countdown-panel small,
.access-expiration-panel small,
.expired-access-panel small{
  color:#647c91;
  font-size:9px;
}

.trial-countdown-panel small b{
  color:#9db4c7;
  font-weight:650;
}

.countdown-expired{
  border-color:#6b5225;
}

.countdown-expired .trial-progress span{
  width:0 !important;
}

.access-expiration-panel{
  display:grid;
  gap:5px;
}

.access-expiration-panel>strong{
  color:#c7dae9;
  font-size:13px;
}

.expired-access-panel{
  border-color:#5b4724;
  background:#1d1910;
}

.expired-access-panel strong{
  color:#e1c27b;
}

.expired-access-panel p,
.access-review-panel p{
  margin:6px 0;
  color:#8d8065;
  font-size:10px;
}

.access-review-panel{
  border-color:#6a403b;
  background:#241514;
}

.access-review-panel strong{
  color:#e2aaa2;
}

.access-review-panel p{
  color:#92716d;
}

.bosch-dashboard-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:24px 0 0 75px;
}

.bosch-dashboard-meta>div{
  min-width:0;
  padding:11px 12px;
  border:1px solid #1c3042;
  background:#091119;
}

.bosch-dashboard-meta span{
  display:block;
  margin-bottom:5px;
  color:#4f687e;
  font:800 7px Consolas,monospace;
  letter-spacing:.65px;
}

.bosch-dashboard-meta strong{
  display:block;
  overflow:hidden;
  color:#aec0d0;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.online-value{
  color:#6fd39e !important;
}

.online-value i{
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:5px;
  border-radius:50%;
  background:#58d393;
  box-shadow:0 0 8px rgba(88,211,147,.45);
}

.member-big-action{
  position:relative;
  min-height:92px;
  padding:16px 42px 16px 16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid;
  text-decoration:none;
  transition:.18s ease;
}

.member-big-action>span{
  margin-bottom:4px;
  font:800 7px Consolas,monospace;
  letter-spacing:.7px;
}

.member-big-action>strong{
  font-size:12px;
}

.member-big-action>i{
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  font-style:normal;
  font-size:19px;
}

.member-big-action.primary-action{
  color:#eaf6ff;
  border-color:#3679b2;
  background:
    linear-gradient(135deg,rgba(49,137,213,.24),rgba(17,57,91,.28)),
    #0b2032;
}

.member-big-action.primary-action>span{
  color:#75bffc;
}

.member-big-action.secondary-action{
  color:#b9cad8;
  border-color:#2c4154;
  background:#0c141c;
}

.member-big-action.secondary-action>span{
  color:#647f95;
}

.member-big-action:hover{
  transform:translateY(-1px);
  border-color:#63b9fc;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}

.member-tool-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.member-tool-card{
  position:relative;
  min-height:235px;
  padding:20px;
  border:1px solid #203246;
  background:
    linear-gradient(145deg,rgba(29,83,135,.045),transparent 60%),
    #0b131c;
  transition:.18s ease;
}

.member-tool-card:hover{
  transform:translateY(-2px);
  border-color:#315d82;
  background:
    linear-gradient(145deg,rgba(38,111,179,.08),transparent 60%),
    #0c151e;
}

.member-tool-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  margin-bottom:21px;
  color:#6caee5;
  border:1px solid #2b4c68;
  background:#0d1d2b;
}

.member-tool-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.coming-pill{
  position:absolute;
  top:18px;
  right:18px;
  padding:4px 6px;
  color:#8c9eae;
  border:1px solid #334657;
  background:#101820;
  font:800 7px Consolas,monospace;
  letter-spacing:.5px;
}

.member-tool-card h3{
  margin:0 0 9px;
  font-size:15px;
}

.member-tool-card p{
  min-height:55px;
  margin:0 0 17px;
  color:#71869a;
  font-size:10px;
  line-height:1.6;
}

.member-tool-card>a{
  color:#67aeea;
  text-decoration:none;
  font-size:9px;
  font-weight:700;
}

.member-account-strip{
  margin-top:48px;
  padding:20px 21px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  border:1px solid #203246;
  background:#0b131b;
}

.member-account-strip>div>span{
  display:block;
  margin-bottom:6px;
  color:#536b80;
  font:800 8px Consolas,monospace;
  letter-spacing:.75px;
}

.member-account-strip strong{
  display:block;
  color:#c6d6e3;
  font-size:12px;
}

.member-account-strip small{
  display:block;
  margin-top:5px;
  color:#60778a;
  font-size:9px;
}

.member-dashboard-footer{
  margin-top:0;
}

@media(max-width:1080px){
  .member-tool-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .bosch-member-card{
    grid-template-columns:1fr;
  }

  .bosch-card-actions{
    border-left:0;
    border-top:1px solid #203348;
    flex-direction:row;
  }

  .member-big-action{
    flex:1;
  }
}

@media(max-width:800px){
  .dashboard-site-header{
    flex-direction:column;
    padding:20px 0;
  }

  .dashboard-nav{
    flex-wrap:wrap;
    justify-content:center;
  }

  .member-dashboard-hero{
    align-items:flex-start;
    flex-direction:column;
  }

  .member-dashboard-actions{
    justify-content:flex-start;
  }

  .member-status-grid{
    grid-template-columns:1fr;
  }

  .bosch-dashboard-meta{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .member-dashboard,
  .dashboard-site-header{
    width:min(100% - 28px,1260px);
  }

  .member-dashboard{
    padding-top:40px;
  }

  .member-dashboard-welcome h1{
    font-size:39px;
  }

  .member-tool-grid{
    grid-template-columns:1fr;
  }

  .bosch-card-main{
    padding:21px 18px;
  }

  .bosch-card-heading{
    flex-direction:column;
  }

  .trial-countdown-panel,
  .access-expiration-panel,
  .expired-access-panel,
  .access-review-panel,
  .bosch-dashboard-meta{
    margin-left:0;
  }

  .bosch-dashboard-meta{
    grid-template-columns:1fr 1fr;
  }

  .bosch-card-actions{
    flex-direction:column;
  }

  .member-section-heading,
  .member-account-strip{
    align-items:flex-start;
    flex-direction:column;
  }

  .trial-countdown-top{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* ============================================================
   v0.19 BMW ZCS / VO / FA Creator
   ============================================================ */

.tool-live-pill{
  color:#7dd8aa !important;
  border-color:#2d6a50 !important;
  background:#0d281e !important;
}

.tool-locked-pill{
  color:#d2b56f !important;
  border-color:#665329 !important;
  background:#251f13 !important;
}

.zcsfa-body{
  min-height:100vh;
  margin:0;
  color:#dce9f3;
  background:
    radial-gradient(circle at 78% 4%,rgba(32,123,213,.12),transparent 28%),
    linear-gradient(180deg,#070b10,#09111a 52%,#070b10);
  font-family:"Segoe UI Variable Text","Segoe UI","Helvetica Neue",Arial,sans-serif;
}

.zcsfa-header{
  width:min(1380px,calc(100% - 44px));
  min-height:72px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #172637;
}

.zcsfa-wordmark{
  color:#d8e2ea;
  text-decoration:none;
  font-family:"Bahnschrift SemiCondensed","Segoe UI",sans-serif;
  font-size:21px;
  font-weight:780;
  letter-spacing:-.8px;
}

.zcsfa-header nav{
  display:flex;
  align-items:center;
  gap:22px;
}

.zcsfa-header nav a{
  color:#768b9d;
  text-decoration:none;
  font-size:10px;
  font-weight:650;
}

.zcsfa-header nav a:hover{
  color:#83c6ff;
}

.zcsfa-shell{
  width:min(1320px,calc(100% - 44px));
  margin:0 auto;
  padding:52px 0 82px;
}

.zcsfa-title-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:35px;
  margin-bottom:28px;
}

.zcsfa-title-row h1{
  margin:9px 0 11px;
  font-size:clamp(38px,5vw,62px);
  line-height:.98;
  letter-spacing:-2.6px;
}

.zcsfa-title-row p{
  max-width:760px;
  margin:0;
  color:#8297aa;
  font-size:12px;
  line-height:1.68;
}

.zcsfa-access-chip{
  min-width:126px;
  padding:12px 15px;
  border:1px solid #2b684f;
  background:#0d251c;
}

.zcsfa-access-chip span{
  display:block;
  color:#557e69;
  font:800 7px Consolas,monospace;
  letter-spacing:.7px;
}

.zcsfa-access-chip strong{
  display:block;
  margin-top:5px;
  color:#75d6a5;
  font-size:12px;
}

.zcsfa-mode-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:12px;
}

.zcsfa-mode{
  min-height:74px;
  padding:13px 16px;
  text-align:left;
  color:#8699aa;
  background:#0b131c;
  border:1px solid #203348;
  cursor:pointer;
  transition:.17s ease;
}

.zcsfa-mode span{
  display:block;
  margin-bottom:4px;
  font-size:13px;
  font-weight:800;
}

.zcsfa-mode small{
  color:#586f84;
  font-size:9px;
}

.zcsfa-mode:hover{
  border-color:#33638a;
  background:#0d1823;
}

.zcsfa-mode.active{
  color:#e4f2ff;
  border-color:#3a81ba;
  background:
    linear-gradient(135deg,rgba(35,119,193,.15),transparent 70%),
    #0d1924;
  box-shadow:inset 0 -2px 0 #409be4;
}

.zcsfa-mode.active small{
  color:#70a9d6;
}

.zcsfa-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  gap:12px;
}

.zcsfa-form-panel,
.zcsfa-preview-panel{
  min-width:0;
  border:1px solid #22374b;
  background:
    linear-gradient(145deg,rgba(29,91,147,.045),transparent 52%),
    #0b131c;
}

.zcsfa-form-panel{
  padding:23px;
}

.zcsfa-preview-panel{
  padding:23px;
  display:flex;
  flex-direction:column;
}

.zcsfa-panel-heading{
  min-height:45px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:14px;
  border-bottom:1px solid #1d3042;
}

.zcsfa-panel-heading>div:first-child{
  display:flex;
  align-items:center;
  gap:9px;
}

.zcsfa-panel-heading>div:first-child>span{
  color:#4076a2;
  font:800 8px Consolas,monospace;
}

.zcsfa-panel-heading h2{
  margin:0;
  font-size:17px;
}

.zcsfa-inline-status{
  color:#62809a;
  font:700 8px Consolas,monospace;
  text-align:right;
}

.zcsfa-fields{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding-top:18px;
}

.zcsfa-field{
  display:block;
  min-width:0;
}

.zcsfa-field>span{
  display:block;
  margin-bottom:6px;
  color:#7c92a5;
  font-size:9px;
  font-weight:750;
}

.zcsfa-field input,
.zcsfa-field select{
  width:100%;
  height:43px;
  box-sizing:border-box;
  padding:0 11px;
  color:#d8e7f2;
  background:#081018;
  border:1px solid #263d52;
  outline:none;
}

.zcsfa-field input:focus,
.zcsfa-field select:focus{
  border-color:#3b8cca;
  box-shadow:0 0 0 2px rgba(51,139,207,.08);
}

.zcsfa-field small{
  display:block;
  margin-top:5px;
  color:#50677b;
  font-size:8px;
  line-height:1.45;
}

.field-vin{
  grid-column:span 2;
}

.hidden-field{
  display:none !important;
}

.zcsfa-vin-note{
  margin-top:13px;
  padding:9px 11px;
  color:#83bdeb;
  border:1px solid #285372;
  background:#0b1d2b;
  font-size:9px;
}

.zcsfa-options-block{
  margin-top:18px;
  padding-top:17px;
  border-top:1px solid #1d3042;
}

.zcsfa-options-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:8px;
}

.zcsfa-options-heading span{
  display:block;
  color:#9eb1c1;
  font-size:10px;
  font-weight:750;
}

.zcsfa-options-heading small{
  display:block;
  margin-top:4px;
  color:#536b80;
  font-size:8px;
  line-height:1.5;
}

.zcsfa-text-button{
  color:#68aee7;
  background:none;
  border:0;
  cursor:pointer;
  font-size:8px;
  font-weight:750;
}

.zcsfa-options-block textarea{
  width:100%;
  height:150px;
  box-sizing:border-box;
  padding:12px;
  resize:vertical;
  color:#d5e4ef;
  background:#071018;
  border:1px solid #263d52;
  outline:none;
  font:11px/1.55 Consolas,"SFMono-Regular",monospace;
  text-transform:uppercase;
}

.zcsfa-options-block textarea:focus{
  border-color:#3b8cca;
}

.zcsfa-form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:17px;
}

.zcsfa-main-button,
.zcsfa-save-button,
.zcsfa-ghost-button{
  min-height:42px;
  padding:0 16px;
  border:1px solid;
  cursor:pointer;
  font-size:9px;
  font-weight:800;
}

.zcsfa-main-button{
  color:#edf7ff;
  border-color:#3d87bf;
  background:#116bb4;
}

.zcsfa-save-button{
  color:#a8e4c8;
  border-color:#2d6b50;
  background:#0f2a1f;
}

.zcsfa-ghost-button{
  color:#8fa5b8;
  border-color:#2b4155;
  background:#0b151e;
}

.zcsfa-main-button:hover,
.zcsfa-save-button:hover,
.zcsfa-ghost-button:hover{
  filter:brightness(1.12);
}

.zcsfa-main-button:disabled,
.zcsfa-save-button:disabled{
  opacity:.55;
  cursor:wait;
}

#previewOutput{
  flex:1;
  min-height:520px;
  margin:17px 0 0;
  padding:18px;
  overflow:auto;
  white-space:pre-wrap;
  word-break:break-word;
  color:#c5d7e5;
  background:#070e15;
  border:1px solid #1e3345;
  font:11px/1.62 Consolas,"SFMono-Regular",monospace;
}

.zcsfa-preview-error{
  margin-top:14px;
  padding:11px 12px;
  color:#e4a49b;
  border:1px solid #71413b;
  background:#2a1715;
  font-size:10px;
  line-height:1.55;
}

.zcsfa-preview-footer{
  display:flex;
  justify-content:space-between;
  gap:15px;
  margin-top:11px;
  color:#4d6478;
  font-size:8px;
}

.zcsfa-locked-card{
  max-width:630px;
}

.zcsfa-locked-note{
  padding-top:12px;
  border-top:1px solid #1f3040;
}

.zcsfa-admin-access-panel{
  margin-bottom:16px;
}

.zcsfa-admin-grid{
  display:grid;
  grid-template-columns:minmax(300px,.8fr) minmax(380px,1.2fr);
  gap:14px;
  align-items:center;
}

.zcsfa-admin-grid .access-hero{
  margin:0;
}

.zcsfa-admin-controls{
  display:grid;
  gap:9px;
}

.full-admin-action{
  width:100%;
}

@media(max-width:1050px){
  .zcsfa-workspace{
    grid-template-columns:1fr;
  }

  #previewOutput{
    min-height:390px;
  }

  .zcsfa-admin-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .zcsfa-header{
    padding:17px 0;
    flex-direction:column;
    gap:13px;
  }

  .zcsfa-header nav{
    flex-wrap:wrap;
    justify-content:center;
  }

  .zcsfa-title-row{
    align-items:flex-start;
    flex-direction:column;
  }

  .zcsfa-mode-tabs{
    grid-template-columns:1fr;
  }

  .zcsfa-fields{
    grid-template-columns:1fr;
  }

  .field-vin{
    grid-column:auto;
  }

  .zcsfa-preview-footer{
    flex-direction:column;
  }
}


/* ============================================================
   v0.20 BMW FSC Lookup
   ============================================================ */
.fsc-body{min-height:100vh;margin:0;color:#dce9f3;background:radial-gradient(circle at 77% 4%,rgba(32,123,213,.11),transparent 28%),linear-gradient(180deg,#070b10,#09111a 52%,#070b10);font-family:"Segoe UI Variable Text","Segoe UI","Helvetica Neue",Arial,sans-serif}
.fsc-header{width:min(1380px,calc(100% - 44px));min-height:72px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #172637}
.fsc-wordmark{color:#d8e2ea;text-decoration:none;font-family:"Bahnschrift SemiCondensed","Segoe UI",sans-serif;font-size:21px;font-weight:780;letter-spacing:-.8px}
.fsc-header nav{display:flex;align-items:center;gap:22px}.fsc-header nav a{color:#768b9d;text-decoration:none;font-size:10px;font-weight:650}.fsc-header nav a:hover{color:#83c6ff}
.fsc-shell{width:min(1320px,calc(100% - 44px));margin:0 auto;padding:52px 0 82px}
.fsc-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:26px}.fsc-title-row h1{margin:9px 0 11px;font-size:clamp(40px,5vw,64px);line-height:.98;letter-spacing:-2.6px}.fsc-title-row p{max-width:760px;margin:0;color:#8196a9;font-size:12px;line-height:1.68}
.fsc-stats{display:flex;gap:7px}.fsc-stats>div{min-width:90px;padding:10px 12px;text-align:center;border:1px solid #24394c;background:#0b141d}.fsc-stats strong{display:block;color:#d8e6f1;font-size:17px}.fsc-stats span{display:block;margin-top:3px;color:#526a7f;font:800 7px Consolas,monospace;letter-spacing:.55px;text-transform:uppercase}
.fsc-search-card{margin-bottom:12px;padding:18px;border:1px solid #22384b;background:linear-gradient(135deg,rgba(31,102,165,.06),transparent 58%),#0c141d}.fsc-search-label{margin-bottom:8px;color:#5f7890;font:800 8px Consolas,monospace;letter-spacing:.8px}
.fsc-search-row{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto auto;gap:8px}.fsc-search-row input{min-width:0;height:46px;padding:0 14px;color:#dceaf5;background:#071018;border:1px solid #294258;outline:none;font:13px Consolas,monospace}.fsc-search-row input:focus{border-color:#3c8dcc;box-shadow:0 0 0 2px rgba(54,143,211,.08)}
.fsc-primary-button,.fsc-secondary-button{min-height:46px;padding:0 15px;border:1px solid;cursor:pointer;font-size:9px;font-weight:800}.fsc-primary-button{color:#f2f8fd;border-color:#3b87c1;background:#116bb4}.fsc-secondary-button{color:#9cb0c1;border-color:#2b4256;background:#0b151e}.fsc-primary-button:hover,.fsc-secondary-button:hover{filter:brightness(1.12)}.fsc-primary-button:disabled{opacity:.55}
.fsc-example-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}.fsc-example-row>span{color:#536c81;font-size:8px;font-weight:800}.fsc-example-row button{padding:5px 8px;color:#81bdef;background:#0d2030;border:1px solid #294965;cursor:pointer;font-size:8px}.fsc-example-row button:hover{border-color:#428aca;color:#b5ddff}
.fsc-workspace{display:grid;grid-template-columns:245px minmax(0,1fr);gap:12px}.fsc-info-panel,.fsc-results-panel{border:1px solid #22374b;background:#0b131c}.fsc-info-panel{padding:20px 17px}.fsc-info-panel h2{margin:0 0 18px;font-size:14px}.fsc-info-block{margin-bottom:17px}.fsc-info-block strong{display:block;color:#d1dce5;font-size:10px}.fsc-info-block span{display:block;margin-top:3px;color:#8196a9;font-size:9px}.fsc-info-block small{display:block;margin-top:4px;color:#50677b;font-size:8px;line-height:1.5}
.fsc-scope-note{margin-top:22px;padding:12px;border:1px solid #263e52;background:#09121a}.fsc-scope-note span{display:block;color:#4e687e;font:800 7px Consolas,monospace}.fsc-scope-note strong{display:block;margin-top:5px;color:#99c7ec;font-size:11px}.fsc-scope-note small{display:block;margin-top:3px;color:#526b80;font-size:8px}
.fsc-results-panel{min-width:0;padding:20px}.fsc-results-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid #1d3042}.fsc-results-header span{display:block;color:#4f87b5;font:800 7px Consolas,monospace;letter-spacing:.75px}.fsc-results-header h2{margin:5px 0 0;font-size:19px}.fsc-result-count{color:#688198;font:700 8px Consolas,monospace}
.fsc-error{margin-top:14px;padding:11px 12px;color:#e4a49b;border:1px solid #71413b;background:#2a1715;font-size:10px}.fsc-intro-card,.fsc-empty-card{margin-top:14px;padding:20px;border:1px solid #20364a;background:#09121a}.fsc-intro-card h3,.fsc-empty-card h3{margin:0 0 8px;color:#d9e7f2;font-size:16px}.fsc-intro-card p,.fsc-empty-card p{margin:0;color:#71879a;font-size:10px;line-height:1.6}.fsc-audit-line{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.fsc-audit-line span{padding:5px 7px;color:#7ca9cc;border:1px solid #26465f;background:#0c1c29;font-size:8px}
.fsc-results-list{margin-top:14px}.fsc-result-card{margin-bottom:10px;overflow:hidden;border:1px solid #243a4e;background:#0a131b}.fsc-result-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;background:#101c27;border-bottom:1px solid #22374a}.fsc-result-card-head>div:first-child{min-width:0}.fsc-result-card-head span{display:block;margin-bottom:5px;color:#4f6b82;font:800 7px Consolas,monospace;letter-spacing:.6px}.fsc-result-card-head h3{margin:0;color:#e0eaf2;font-size:14px;line-height:1.35}.fsc-system-chip{flex:0 0 auto;max-width:210px;padding:5px 8px;color:#a7d2f6;border:1px solid #315a7b;background:#10263a;font-size:8px;font-weight:800;text-align:center}
.fsc-result-card-body{padding:9px 15px 13px}.fsc-field-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;padding:6px 0;border-bottom:1px solid rgba(40,59,76,.45)}.fsc-field-row:last-child{border-bottom:0}.fsc-field-row span{color:#50697f;font:800 7px Consolas,monospace;letter-spacing:.55px}.fsc-field-row strong{min-width:0;color:#b6c8d6;font-size:9px;font-weight:600;line-height:1.5;word-break:break-word}.fsc-code-row strong{color:#a7d4f9;font:800 11px Consolas,monospace}
.fsc-locked-card{max-width:630px}.fsc-locked-note{padding-top:12px;border-top:1px solid #1f3040}.fsc-admin-access-panel{margin-bottom:16px}
@media(max-width:1000px){.fsc-title-row{align-items:flex-start;flex-direction:column}.fsc-workspace{grid-template-columns:1fr}.fsc-info-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fsc-info-panel h2,.fsc-scope-note{grid-column:1 / -1}.fsc-info-block{margin:0}}
@media(max-width:780px){.fsc-header{padding:17px 0;flex-direction:column;gap:13px}.fsc-header nav{flex-wrap:wrap;justify-content:center}.fsc-search-row{grid-template-columns:1fr 1fr}.fsc-search-row input{grid-column:1 / -1}.fsc-stats{flex-wrap:wrap}}
@media(max-width:560px){.fsc-shell,.fsc-header{width:min(100% - 28px,1320px)}.fsc-info-panel{grid-template-columns:1fr}.fsc-info-panel h2,.fsc-scope-note{grid-column:auto}.fsc-field-row{grid-template-columns:1fr;gap:4px}.fsc-result-card-head{align-items:flex-start;flex-direction:column}.fsc-system-chip{max-width:none}}


/* v0.21 — free FSC member access */
.free-member-access-admin{
  display:grid;
  grid-template-columns:minmax(220px,.45fr) minmax(300px,1fr);
  gap:14px;
  align-items:center;
  padding:16px;
  border:1px solid #2b684f;
  background:linear-gradient(135deg,rgba(41,128,89,.09),transparent 65%),#0c1814;
}
.free-member-access-admin span{
  display:block;color:#557f69;font:800 8px Consolas,monospace;letter-spacing:.65px
}
.free-member-access-admin strong{
  display:block;margin-top:6px;color:#78d8a8;font-size:18px
}
.free-member-access-admin p{
  margin:0;color:#789488;font-size:10px;line-height:1.6
}
@media(max-width:720px){
  .free-member-access-admin{grid-template-columns:1fr}
}


/* ============================================================
   v0.21.2 BVG browser/header identity
   ============================================================ */

.approved-brand-icon{
  position:absolute;
  left:0;
  top:50%;
  width:52px;
  height:52px;
  transform:translateY(-50%);
  display:block;
  overflow:hidden;
  border-radius:12px;
  border:1px solid rgba(54,144,230,.52);
  background:#06101c;
  box-shadow:
    0 0 0 1px rgba(172,210,244,.05) inset,
    0 0 18px rgba(35,126,221,.16);
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.approved-brand-icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.approved-brand-icon:hover{
  transform:translateY(-50%) scale(1.035);
  border-color:rgba(84,173,255,.82);
  box-shadow:
    0 0 0 1px rgba(194,224,250,.09) inset,
    0 0 22px rgba(34,144,242,.26);
}

@media(max-width:900px){
  .approved-brand-icon{
    left:4px;
    width:44px;
    height:44px;
    border-radius:10px;
  }
}


/* ============================================================
   v0.21.4 — Oversized BVG header badge
   The badge intentionally extends below the 82px navigation bar.
   ============================================================ */

.approved-nav{
  overflow:visible;
}

.approved-nav-inner{
  position:relative;
  overflow:visible;
}

.approved-brand-icon{
  left:0;
  top:13px;
  width:112px;
  height:112px;
  transform:none;
  z-index:140;
  overflow:visible;
  border-radius:19px;
  border:1px solid rgba(68,157,241,.72);
  background:#050d16;
  box-shadow:
    0 0 0 1px rgba(198,225,249,.08) inset,
    0 8px 22px rgba(0,0,0,.45),
    0 0 28px rgba(31,139,240,.24),
    0 0 54px rgba(17,100,196,.13);
}

.approved-brand-icon::after{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  border-radius:19px;
  box-shadow:
    inset 0 0 18px rgba(64,169,255,.09),
    0 0 14px rgba(47,153,245,.13);
}

.approved-brand-icon img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:18px;
}

.approved-brand-icon:hover{
  transform:scale(1.035);
  border-color:rgba(101,190,255,.94);
  box-shadow:
    0 0 0 1px rgba(211,234,253,.11) inset,
    0 10px 26px rgba(0,0,0,.48),
    0 0 34px rgba(35,154,255,.31),
    0 0 66px rgba(17,100,196,.17);
}

/* Keep the hero from visually cutting into the badge while still allowing
   the logo to overlap it. */
.approved-hero{
  overflow:visible;
}

@media(max-width:1100px){
  .approved-brand-icon{
    left:2px;
    top:14px;
    width:100px;
    height:100px;
    border-radius:17px;
  }

  .approved-brand-icon img,
  .approved-brand-icon::after{
    border-radius:16px;
  }
}

@media(max-width:900px){
  .approved-brand-icon{
    left:4px;
    top:12px;
    width:86px;
    height:86px;
    border-radius:15px;
  }

  .approved-brand-icon img,
  .approved-brand-icon::after{
    border-radius:14px;
  }
}

@media(max-width:620px){
  .approved-brand-icon{
    width:76px;
    height:76px;
    top:13px;
  }
}


/* ============================================================
   v0.21.5 — Universal BMWVetGroup BVG logo
   Replaces legacy three-bar, BV square and text-only logo treatments.
   ============================================================ */

.bvg-universal-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  text-decoration:none;
  line-height:0;
  overflow:visible;
}

.bvg-universal-logo img{
  display:block;
  width:46px;
  height:46px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid rgba(68,157,241,.58);
  background:#050d16;
  box-shadow:
    0 0 0 1px rgba(198,225,249,.06) inset,
    0 4px 14px rgba(0,0,0,.34),
    0 0 16px rgba(31,139,240,.14);
  transition:
    transform .16s ease,
    border-color .16s ease,
    box-shadow .16s ease;
}

.bvg-universal-logo:hover img{
  transform:scale(1.045);
  border-color:rgba(101,190,255,.9);
  box-shadow:
    0 0 0 1px rgba(211,234,253,.1) inset,
    0 5px 17px rgba(0,0,0,.38),
    0 0 21px rgba(35,154,255,.22);
}

/* Public header / footer */
.bvg-universal-logo-sitebrand img{
  width:48px;
  height:48px;
}

.bvg-universal-logo-footer img{
  width:44px;
  height:44px;
}

/* Login / registration */
.bvg-universal-logo-login img,
.bvg-universal-logo-auth img{
  width:58px;
  height:58px;
  border-radius:13px;
}

/* Member dashboard / policy pages / protected tools */
.bvg-universal-logo-dashboard img{
  width:50px;
  height:50px;
}

.bvg-universal-logo-compact img,
.bvg-universal-logo-tool img{
  width:46px;
  height:46px;
}

/* Admin/account headers */
.bvg-universal-logo-admin img{
  width:42px;
  height:42px;
  border-radius:9px;
}

/* Existing homepage badge owns its larger dimensions and overlap. */
.approved-brand-icon.bvg-universal-logo-home img{
  width:100%;
  height:100%;
  border-radius:18px;
  border:0;
  box-shadow:none;
  background:transparent;
}

/* Neutralize legacy generated logo pieces if stale browser HTML is cached. */
.bvg-logo-icon,
.brand-mark{
  display:none !important;
}

@media(max-width:620px){
  .bvg-universal-logo-sitebrand img,
  .bvg-universal-logo-dashboard img,
  .bvg-universal-logo-tool img,
  .bvg-universal-logo-compact img{
    width:42px;
    height:42px;
  }
}


/* ============================================================
   v0.21.6 — Scratched BMWVETGROUP title typography
   Uses CSS distressing rather than an external font dependency.
   ============================================================ */

.scratched-brand-word{
  position:relative;
  display:inline-block;
  isolation:isolate;
  white-space:nowrap;

  font-family:
    "Bahnschrift SemiCondensed",
    "Bahnschrift Condensed",
    "Arial Narrow",
    "Arial Black",
    Impact,
    sans-serif;
  font-weight:900;
  font-stretch:condensed;
  letter-spacing:-.045em;
  text-transform:uppercase;
  line-height:inherit;

  color:transparent;
  background:
    linear-gradient(
      180deg,
      #fafbfc 0%,
      #d9dde1 14%,
      #909ba5 31%,
      #f0f3f5 45%,
      #737e88 61%,
      #cbd1d6 75%,
      #858f98 88%,
      #f1f4f6 100%
    );
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.45px rgba(245,249,252,.26);

  text-shadow:
    0 1px 0 rgba(255,255,255,.08),
    0 3px 2px rgba(0,0,0,.58),
    0 0 9px rgba(111,177,228,.08);
}

/*
  Scratch/gouge layer.
  The pseudo-element redraws the same glyphs, but only paints thin dark
  diagonal and horizontal cuts inside them.
*/
.scratched-brand-word::before{
  content:attr(data-text);
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;

  font:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  text-transform:inherit;
  white-space:nowrap;

  color:transparent;
  -webkit-text-fill-color:transparent;
  background:
    repeating-linear-gradient(
      173deg,
      transparent 0 5px,
      rgba(5,9,13,.93) 5px 5.9px,
      transparent 6px 13px
    ),
    repeating-linear-gradient(
      7deg,
      transparent 0 17px,
      rgba(7,12,17,.72) 17px 18px,
      transparent 18px 34px
    ),
    linear-gradient(
      92deg,
      transparent 0 11%,
      rgba(4,9,14,.82) 11.2% 11.9%,
      transparent 12.1% 36%,
      rgba(7,12,17,.68) 36.2% 36.9%,
      transparent 37.1% 63%,
      rgba(3,8,13,.78) 63.3% 64%,
      transparent 64.2% 100%
    );

  -webkit-background-clip:text;
  background-clip:text;
  opacity:.88;
}

/* Small brand headings get a slightly lighter distress so they stay legible. */
.scratched-brand-small::before{
  opacity:.66;
}

/*
  Homepage hero is intentionally more aggressive:
  retain its existing glass/silver body and highlight strip, then cut
  deeper scratches into BMWVETGROUP.
*/
.metal-logo .scratched-brand-word{
  font-family:
    "Bahnschrift SemiCondensed",
    "Bahnschrift Condensed",
    "Arial Narrow",
    Impact,
    sans-serif;
  font-weight:900;
  letter-spacing:-.035em;
}

.metal-logo .scratched-brand-word::before{
  content:attr(data-text);
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;

  font:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  text-transform:uppercase;
  white-space:nowrap;

  color:transparent;
  -webkit-text-fill-color:transparent;
  background:
    repeating-linear-gradient(
      171deg,
      transparent 0 4px,
      rgba(3,7,11,.96) 4px 5.3px,
      transparent 5.4px 11px
    ),
    repeating-linear-gradient(
      10deg,
      transparent 0 21px,
      rgba(10,14,18,.76) 21px 22.4px,
      transparent 22.5px 39px
    ),
    linear-gradient(
      88deg,
      transparent 0 7%,
      rgba(1,5,9,.82) 7.2% 8.1%,
      transparent 8.3% 25%,
      rgba(2,6,10,.88) 25.2% 26.1%,
      transparent 26.3% 48%,
      rgba(4,8,12,.78) 48.1% 48.8%,
      transparent 49% 73%,
      rgba(2,6,10,.86) 73.2% 74.1%,
      transparent 74.3% 100%
    );

  -webkit-background-clip:text;
  background-clip:text;
  opacity:.94;
  mix-blend-mode:multiply;
}

/* Keep the existing glass highlight layer on top of the scratched body. */
.metal-logo .scratched-brand-word::after{
  z-index:4;
}

/* Slight tactile movement without changing layout. */
h1 .scratched-brand-word,
h2 .scratched-brand-word,
h3 .scratched-brand-word,
h4 .scratched-brand-word{
  transform:skewX(-1.5deg);
}

.metal-logo .scratched-brand-word{
  transform:skewX(-2.5deg);
}

@media(max-width:650px){
  .scratched-brand-word{
    letter-spacing:-.03em;
    -webkit-text-stroke:.35px rgba(245,249,252,.22);
  }

  .scratched-brand-word::before{
    opacity:.72;
  }

  .metal-logo .scratched-brand-word::before{
    opacity:.86;
  }
}
