
/* extracted from fleet-analysis.html inline styles (v37) */

/* ===== Fleet Analysis Tool v2 ===== */
.fa-wrap{min-height:calc(100vh - 72px);background:
  radial-gradient(1200px 600px at 80% -10%,rgba(159,207,39,.14),transparent 60%),
  linear-gradient(160deg,var(--navy) 0%,var(--navy-d) 70%);
  position:relative;overflow:hidden;display:flex;flex-direction:column}
.fa-wrap::before{content:"";position:absolute;inset:0;opacity:.05;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
  background-size:64px 64px}
.fa-top{position:relative;z-index:6;max-width:980px;width:100%;margin:0 auto;padding:22px 22px 0}
.fa-progress-row{display:flex;align-items:center;gap:16px;color:rgba(255,255,255,.75);font-size:13px;font-weight:600}
.fa-fc-pill{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.fa-fc-pill img{height:30px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.55}
.fa-fc-pill span{font-size:11px;font-weight:800;letter-spacing:.06em;color:rgba(255,255,255,.75);white-space:nowrap;text-transform:uppercase}
.fa-bar{flex:1;height:6px;border-radius:99px;background:rgba(255,255,255,.15);overflow:hidden;min-width:60px}
.fa-bar-fill{height:100%;width:0%;border-radius:99px;background:linear-gradient(90deg,var(--green),#a5d96b);transition:width .45s cubic-bezier(.4,0,.2,1)}
.fa-mins{white-space:nowrap;color:var(--green);font-weight:800}
.fa-steplbl{white-space:nowrap}
.fa-stage{position:relative;z-index:3;flex:1;display:flex;align-items:flex-start;justify-content:center;padding:26px 22px 90px}
.fa-stage>div{position:relative}
.fa-card{width:100%;opacity:0;transform:translateX(90px);transition:opacity .38s ease,transform .38s cubic-bezier(.25,.8,.35,1);display:none}
.fa-card.active{display:block;opacity:1;transform:translateX(0)}
.fa-card.exit-left{display:block;opacity:0;transform:translateX(-90px);pointer-events:none;position:absolute;top:0;left:0;right:0}
.fa-card.enter-right{display:block;opacity:0;transform:translateX(90px)}
.fa-card.enter-left{display:block;opacity:0;transform:translateX(-90px)}
/* slide container */
.fa-slide{position:relative;overflow:hidden;background:linear-gradient(150deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.16);border-radius:26px;padding:clamp(30px,5.5vw,60px);
  box-shadow:0 30px 80px rgba(0,8,50,.45), inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(4px)}
.fa-slide>*{position:relative;z-index:3}
/* giant ghost step number */
.fa-ghostnum{position:absolute;z-index:1;top:-38px;left:6px;font-size:clamp(120px,22vw,220px);line-height:1;font-weight:800;
  color:rgba(250,70,22,.4);letter-spacing:-.05em;pointer-events:none;user-select:none;font-variant-numeric:tabular-nums}
/* FleetCare ghost watermark */
.fa-watermark{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);width:min(64%,480px);opacity:.25;pointer-events:none;user-select:none;
  filter:brightness(0) invert(1)}
.fa-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--green);margin-bottom:14px}
.fa-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:#5A79B8;box-shadow:0 0 10px #5A79B8}
.fa-q{color:#fff;font-size:clamp(27px,4.6vw,44px);font-weight:800;line-height:1.1;margin:0 0 10px}
.fa-q em{font-style:normal;color:var(--green)}
.fa-sub{color:rgba(255,255,255,.8);font-size:17px;line-height:1.65;max-width:660px;margin:0 0 26px}
/* inputs: 50% larger */
.fa-input{width:100%;max-width:620px;background:rgba(255,255,255,.07);border:2px solid rgba(255,255,255,.28);border-radius:18px;
  color:#fff;font-family:inherit;font-size:30px;font-weight:700;padding:22px 26px;outline:none;transition:border-color .2s,background .2s,box-shadow .2s}
.fa-input:focus{border-color:var(--green);background:rgba(255,255,255,.12);box-shadow:0 0 0 5px rgba(159,207,39,.18)}
.fa-input::placeholder{color:rgba(255,255,255,.32);font-weight:500;font-size:22px;text-transform:none}
.fa-input[type=text],textarea.fa-input{text-transform:uppercase}
input.fa-input[type=number]{font-variant-numeric:tabular-nums}
textarea.fa-input{min-height:150px;resize:vertical;font-size:20px;font-weight:500;line-height:1.6}
.fa-input.sm{font-size:20px;padding:14px 18px;max-width:420px;border-radius:12px;margin-top:14px;display:none}
.fa-input.sm::placeholder{font-size:16px}
.fa-prefix{position:relative;max-width:620px}
.fa-prefix span{position:absolute;left:24px;top:50%;transform:translateY(-50%);color:var(--green);font-weight:800;font-size:30px}
.fa-prefix .fa-input{padding-left:58px}
.fa-dual{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:640px}
.fa-dual label{display:block;color:rgba(255,255,255,.7);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.fa-opts{display:grid;gap:12px;max-width:680px}
.fa-opts.cols{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.fa-opt{display:flex;align-items:center;gap:12px;text-align:left;background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.2);
  border-radius:16px;padding:17px 20px;color:#fff;font-family:inherit;font-size:17.5px;font-weight:700;cursor:pointer;transition:all .18s}
.fa-opt:hover{border-color:var(--green);background:rgba(159,207,39,.12);transform:translateY(-2px)}
.fa-opt.selected{border-color:var(--green);background:rgba(159,207,39,.2);box-shadow:0 0 0 4px rgba(159,207,39,.14)}
.fa-opt .key{flex:0 0 auto;width:28px;height:28px;border-radius:8px;border:1.5px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:rgba(255,255,255,.75)}
.fa-opt.selected .key{background:var(--green);border-color:var(--green);color:var(--navy)}
.fa-minihead{color:rgba(255,255,255,.7);font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin:24px 0 10px}
.fa-actions{display:flex;align-items:center;gap:14px;margin-top:30px;flex-wrap:wrap}
.fa-next{background:#5A79B8;color:#fff;border:none;border-radius:99px;font-family:inherit;font-size:18px;font-weight:800;
  padding:17px 38px;cursor:pointer;box-shadow:0 10px 30px rgba(250,70,22,.45);transition:all .2s;display:inline-flex;align-items:center;gap:8px}
.fa-next:hover{background:var(--orange-d);transform:translateY(-2px);box-shadow:0 14px 36px rgba(250,70,22,.55)}
.fa-next:disabled{opacity:.4;cursor:not-allowed;transform:none}
.fa-back{background:none;border:none;color:rgba(255,255,255,.6);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;padding:10px}
.fa-back:hover{color:#fff}
.fa-enter-hint{color:#fff;font-size:13.5px;font-weight:700}
.fa-error{color:#ffb3a0;font-size:15px;font-weight:600;margin-top:12px;display:none}
.fa-optional{max-width:640px;background:rgba(159,207,39,.12);border:1.5px solid rgba(159,207,39,.5);border-radius:14px;padding:14px 18px;color:#e8f5d8;font-size:14.5px;line-height:1.65;margin:0 0 22px}
.fa-optional .chipop{display:inline-block;background:var(--green);color:#0b1a4d;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border-radius:99px;padding:3px 10px;margin-right:8px;vertical-align:1px}
.fa-brochure{margin-top:28px;max-width:640px;background:rgba(0,0,0,.28);border-left:4px solid var(--green);border-radius:0 14px 14px 0;padding:16px 20px}
.fa-brochure .tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--green);margin-bottom:5px}
.fa-brochure p{color:rgba(255,255,255,.82);font-size:14.5px;line-height:1.65;margin:0}
/* rank notes */
.fa-rank-note{display:none;margin-top:22px;background:rgba(0,0,0,.3);border:1.5px solid rgba(255,255,255,.22);border-radius:16px;padding:20px 22px;max-width:680px}
.fa-rank-note h4{color:var(--green);font-size:16.5px;font-weight:800;margin:0 0 8px}
.fa-rank-note p{color:rgba(255,255,255,.85);font-size:15px;line-height:1.7;margin:0}
.fa-rank-note.price{border-color:rgba(250,70,22,.55)}
.fa-rank-note.price h4{color:#5A79B8}
/* intro FleetCare hero */
.fa-fc-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin-bottom:24px}
.fa-fc-hero .card{background:#fff;border-radius:18px;padding:16px 26px;box-shadow:0 16px 44px rgba(0,10,60,.4)}
.fa-fc-hero img{height:52px;width:auto;display:block}
.fa-fc-hero .tag{color:var(--green);font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
/* KPI bubbles */
.fa-bubbles{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;opacity:.45}
body.fa-page{position:relative}
.fa-bubbles.page-spread .fa-bub{bottom:auto}
.fa-bub{position:absolute;bottom:-120px;display:flex;flex-direction:column;align-items:center;gap:6px;
  animation:faRise linear infinite;opacity:0;--fg:#B9E48D}
.fa-bub.white{--fg:#fff}
.fa-bub.steel{--fg:#8FB3E8}
.fa-bub .l{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg);opacity:.8;font-weight:800}
.fa-bub .gcols{display:flex;align-items:flex-end;gap:6px;height:68px}
.fa-bub .gcols i{width:16px;background:linear-gradient(180deg,var(--fg),transparent);border-radius:3px 3px 0 0;opacity:.75}
.fa-bub svg{display:block;opacity:.8;width:124px;height:60px}
.fa-bub .gdonut{width:76px;height:76px;border-radius:50%;background:conic-gradient(var(--fg) 0 var(--p,60%),rgba(255,255,255,.14) var(--p,60%) 100%);position:relative;opacity:.75}
.fa-bub .gdonut::after{content:"";position:absolute;inset:18px;border-radius:50%;background:var(--navy-d)}
.fa-bub .gpie{width:72px;height:72px;border-radius:50%;background:conic-gradient(var(--fg) 0 var(--p,35%),rgba(255,255,255,.18) var(--p,35%) 100%);opacity:.7}
@keyframes faRise{
  0%{transform:translateY(0) translateX(0) scale(.85);opacity:0}
  10%{opacity:1}
  85%{opacity:.9}
  100%{transform:translateY(-620px) translateX(var(--dx,20px)) scale(1.06);opacity:0}
}
/* ghost client names */
.fa-ghostco{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .6s}
.fa-ghostco.on{opacity:1}
.fa-ghostco span{position:absolute;color:#fff;font-weight:800;white-space:nowrap;letter-spacing:.04em;opacity:0;
  animation:faDrift ease-in-out infinite}
@keyframes faDrift{
  0%{transform:translateY(26px);opacity:0}
  22%{opacity:var(--o,.13)}
  60%{opacity:var(--o,.13)}
  100%{transform:translateY(-60px);opacity:0}
}
/* live math chip */
.fa-chip{position:fixed;right:18px;bottom:84px;z-index:60;background:#fff;border-radius:16px;box-shadow:0 14px 40px rgba(0,10,60,.35);
  padding:12px 18px;display:none;align-items:center;gap:12px;transform:translateY(8px);opacity:0;transition:all .4s}
.fa-chip.show{display:flex;opacity:1;transform:translateY(0)}
.fa-chip .lbl{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#5b6474}
.fa-chip .val{font-size:22px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}
.fa-chip .per{font-size:11px;color:#5b6474;font-weight:600}
/* ===== results dashboard ===== */
.fa-dash{background:linear-gradient(165deg,var(--navy) 0%,var(--navy-d) 60%,var(--navy) 100%);border:1px solid rgba(159,207,39,.4);
  border-radius:28px;padding:clamp(26px,5vw,52px);box-shadow:0 34px 90px rgba(0,8,50,.6), inset 0 1px 0 rgba(255,255,255,.1);
  position:relative;overflow:hidden;text-align:center}
.fa-dash::before{content:"";position:absolute;inset:0;opacity:.06;pointer-events:none;
  background-image:linear-gradient(rgba(159,207,39,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(159,207,39,.8) 1px,transparent 1px);background-size:44px 44px}
.fa-dash>*{position:relative;z-index:2}
.fa-dash-logo{background:#fff;display:inline-flex;border-radius:14px;padding:12px 22px;margin-bottom:16px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.fa-dash-logo img{height:40px;width:auto;display:block}
.fa-dash h2{color:#fff;font-size:clamp(24px,3.8vw,36px);font-weight:800;margin:0 0 6px;text-align:center}
.fa-dash .sub{color:rgba(255,255,255,.7);font-size:15.5px;line-height:1.6;margin:0 auto 30px;max-width:560px;text-align:center}
.fa-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:16px;text-align:left}
.fa-kpi{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:20px 18px 16px;position:relative;overflow:hidden}
.fa-kpi::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--green),transparent)}
.fa-kpi .n{font-size:clamp(24px,3vw,34px);font-weight:800;color:#fff;line-height:1;font-variant-numeric:tabular-nums}
.fa-kpi .l{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.55);margin-top:10px;line-height:1.5}
.fa-kpi.hot{border-color:rgba(159,207,39,.5);background:rgba(159,207,39,.08)}
.fa-kpi.hot .n{color:var(--green)}
.fa-kpi.warn{border-color:rgba(250,70,22,.5);background:rgba(250,70,22,.07)}
.fa-kpi.warn .n{color:#ff8a66}
.fa-kpi .kt{font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--green);margin-bottom:8px}
.fa-chartbox{height:34px;margin-top:12px;display:flex;align-items:flex-end;gap:4px}
.fa-chartbox.cols i{flex:1;background:linear-gradient(180deg,var(--green),rgba(159,207,39,.25));border-radius:3px 3px 0 0}
.fa-chartbox.bars{flex-direction:column;align-items:stretch;justify-content:center;gap:5px}
.fa-chartbox.bars i{height:6px;background:linear-gradient(90deg,var(--green),rgba(159,207,39,.25));border-radius:99px;display:block}
.fa-chartbox svg{width:100%;height:100%;display:block}
.fa-chartbox .donut,.fa-chartbox .pie{width:38px;height:38px;border-radius:50%;flex-shrink:0;margin:0 auto}
.fa-chartbox .donut{background:conic-gradient(var(--green) 0 var(--p,60%),rgba(255,255,255,.14) var(--p,60%) 100%);position:relative}
.fa-chartbox .donut::after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--navy-d)}
.fa-chartbox .pie{background:conic-gradient(#5A79B8 0 var(--p,35%),var(--green) var(--p,35%) 100%)}
.fa-kpi.warn .donut{background:conic-gradient(#ff8a66 0 var(--p,60%),rgba(255,255,255,.14) var(--p,60%) 100%)}
/* reality gauge */
.fa-gauge{background:rgba(255,255,255,.05);border:1px solid rgba(159,207,39,.45);border-radius:20px;padding:22px 20px 18px;margin-bottom:16px;text-align:center}
.fa-gauge .kt{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin-bottom:14px}
.fa-gauge-dial{position:relative;width:190px;height:100px;margin:0 auto 12px;overflow:hidden}
.fa-gauge-dial .arc{width:190px;height:190px;border-radius:50%;background:conic-gradient(from 270deg, var(--green) 0 60deg, #f5c542 60deg 110deg, #5A79B8 110deg 180deg, transparent 180deg 360deg);position:absolute;top:0;left:0}
.fa-gauge-dial .arc::after{content:"";position:absolute;inset:22px;border-radius:50%;background:var(--navy-d)}
.fa-gauge-needle{position:absolute;left:50%;bottom:0;width:4px;height:86px;background:#fff;border-radius:99px;transform-origin:bottom center;transform:rotate(var(--a,0deg));transition:transform 1.1s cubic-bezier(.34,1.3,.5,1);box-shadow:0 0 10px rgba(255,255,255,.6)}
.fa-gauge-needle::after{content:"";position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);width:16px;height:16px;border-radius:50%;background:#fff}
.fa-gauge .delta{font-size:clamp(26px,3.4vw,38px);font-weight:800;color:#fff;line-height:1;font-variant-numeric:tabular-nums}
.fa-gauge .delta.over{color:#ff8a66}
.fa-gauge .delta.under{color:var(--green)}
.fa-gauge .dl{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.6);margin-top:8px}
.fa-gauge .legend{display:flex;justify-content:center;gap:16px;margin-top:12px;font-size:11.5px;color:rgba(255,255,255,.65);font-weight:700}
.fa-grade .n{font-size:clamp(30px,4vw,44px)!important}
.fa-blur{filter:blur(10px);user-select:none;pointer-events:none}
.fa-lockline{display:inline-flex;align-items:center;gap:8px;background:rgba(250,70,22,.14);border:1px solid rgba(250,70,22,.45);
  color:#ffc9b5;border-radius:99px;padding:8px 18px;font-size:13px;font-weight:800;letter-spacing:.04em;margin:6px 0 24px}
.fa-verdict{border-left:4px solid var(--green);background:rgba(159,207,39,.07);border-radius:0 14px 14px 0;padding:18px 22px;margin-bottom:26px;text-align:left}
.fa-verdict h4{color:var(--green);font-size:17px;font-weight:800;margin:0 0 8px}
.fa-verdict p{color:rgba(255,255,255,.82);font-size:15px;line-height:1.7;margin:0 0 10px}
.fa-verdict p:last-child{margin:0}
.fa-submit-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:center}
.fa-conf{color:rgba(255,255,255,.6);font-size:13px;line-height:1.7;max-width:560px;margin:18px auto 0}
.fa-conf strong{color:var(--green)}
.fa-success{text-align:center;padding:30px 10px}
.fa-success .check{width:78px;height:78px;border-radius:50%;background:var(--green);color:#fff;font-size:38px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 0 40px rgba(159,207,39,.5)}
@media(max-width:720px){
  .fa-chip{right:12px;bottom:72px;padding:10px 14px}
  .fa-chip .val{font-size:18px}
  .fa-opts.cols{grid-template-columns:1fr}
  .fa-dual{grid-template-columns:1fr}
  .fa-input{font-size:24px;padding:18px 20px}
  .fa-steplbl{display:none}
  .fa-fc-pill span{display:none}
  .fa-ghostnum{font-size:110px;top:-24px}
}

/* ===== Industry benchmarks dashboard ===== */
.bench-section{background:#F4F7FB;padding:56px 24px 40px}
.bench-inner{max-width:1480px;margin:0 auto}
.bench-head{text-align:center;max-width:860px;margin:0 auto 30px}
.bench-dash{background:linear-gradient(170deg,var(--navy) 0%,var(--navy-d) 58%,var(--navy) 100%);border:1px solid rgba(255,255,255,.18);
  border-radius:22px;box-shadow:0 36px 90px rgba(0,8,50,.45);position:relative;overflow:hidden;--mx:50%;--my:30%}
.bench-dash::before{content:"";position:absolute;inset:0;opacity:.05;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.8) 1px,transparent 1px);background-size:40px 40px}
.bench-dash::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(560px circle at var(--mx) var(--my),rgba(159,207,39,.14),transparent 62%)}
.bench-body{position:relative;z-index:2;padding:26px 26px 24px}
.bench-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:18px}
.bench-topbar h2{color:#fff;font-size:clamp(19px,2.3vw,26px);font-weight:800;margin:0}
.bench-topbar .src{font-size:11px;color:rgba(255,255,255,.55);letter-spacing:.04em;max-width:520px;line-height:1.5}
.bench-live{display:inline-flex;align-items:center;gap:12px;background:rgba(159,207,39,.15);border:1.5px solid rgba(159,207,39,.6);color:var(--green);
  border-radius:99px;padding:9px 21px;font-size:16.5px;font-weight:800;letter-spacing:.1em}
.bench-live i{width:12px;height:12px;border-radius:50%;background:#C4EF4F;animation:benchPulse .9s ease-in-out infinite;box-shadow:0 0 0 0 rgba(196,239,79,.8)}
@keyframes benchPulse{0%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(196,239,79,.8)}70%{opacity:1;transform:scale(1.15);box-shadow:0 0 0 10px rgba(196,239,79,0)}100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(196,239,79,0)}}
.bench-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px}
.bench-kpi{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:18px;cursor:default;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative}
.bench-kpi:hover{transform:translateY(-4px);border-color:var(--green);box-shadow:0 14px 34px rgba(0,0,0,.35)}
.bench-kpi .n{font-size:clamp(26px,2.8vw,34px);font-weight:800;color:#fff;font-variant-numeric:tabular-nums;line-height:1}
.bench-kpi .n em{font-style:normal;color:var(--green)}
.bench-kpi .l{font-size:11.5px;color:rgba(255,255,255,.6);font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-top:8px;line-height:1.5}
.bench-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}
.bench-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:20px}
.bench-card h3{color:#fff;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px}
.bench-card .hint{font-size:11px;color:rgba(255,255,255,.5);font-weight:600;margin-bottom:16px;line-height:1.5}
.bench-ctrl{margin-bottom:14px}
.bench-ctrl .row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.bench-ctrl label{font-size:12px;font-weight:800;color:rgba(255,255,255,.75);letter-spacing:.04em}
.bench-ctrl output{font-size:15px;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums}
.bench-ctrl input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:99px;background:rgba(255,255,255,.16);outline:none;cursor:pointer}
.bench-ctrl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--green);border:3px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.4);transition:transform .15s}
.bench-ctrl input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}
.bench-ctrl input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--green);border:3px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.4)}
.bench-outs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.bench-out{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px 14px}
.bench-out .ol{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:800}
.bench-out .ov{font-size:clamp(19px,2vw,24px);font-weight:800;color:#fff;font-variant-numeric:tabular-nums;transition:color .3s}
.bench-out .ov.good{color:var(--green)}
.bench-out .ov.hot{color:#8FB3E8}
.bench-band{margin-top:16px}
.bench-band .bl{display:flex;justify-content:space-between;font-size:10px;color:rgba(255,255,255,.5);font-weight:700;margin-bottom:6px}
.bench-track{position:relative;height:14px;border-radius:99px;background:linear-gradient(90deg,#8FB3E8 0%,#8FB3E8 24%,var(--green) 25%,var(--green) 75%,#8FB3E8 76%,#8FB3E8 100%);opacity:.9}
.bench-marker{position:absolute;top:50%;width:24px;height:24px;border-radius:50%;background:#fff;border:4px solid var(--navy-d);box-shadow:0 4px 12px rgba(0,0,0,.5);transform:translate(-50%,-50%);transition:left .45s cubic-bezier(.22,1,.36,1)}
.bench-band .verdict{font-size:12px;font-weight:800;margin-top:10px;text-align:center;letter-spacing:.03em}
.bench-rows{display:flex;flex-direction:column;gap:8px}
.bench-row{position:relative;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 14px;cursor:pointer;transition:border-color .2s,transform .2s;overflow:hidden}
.bench-row:hover{border-color:var(--green);transform:translateX(4px)}
.bench-row.active{border-color:var(--green);background:rgba(159,207,39,.1)}
.bench-row .rt{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:800;color:#fff;position:relative;z-index:1}
.bench-row .rt span:last-child{color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap}
.bench-row .rbar{height:7px;border-radius:99px;background:rgba(255,255,255,.12);margin-top:9px;overflow:hidden;position:relative;z-index:1}
.bench-row .rbar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--green),#B9E48D);transition:width 1s cubic-bezier(.22,1,.36,1)}
.bench-row .rmeta{font-size:10.5px;color:rgba(255,255,255,.5);font-weight:700;margin-top:7px;position:relative;z-index:1}
.bench-tip{position:fixed;z-index:400;background:#fff;color:var(--navy);border-radius:12px;padding:12px 15px;font-size:12.5px;line-height:1.55;font-weight:600;
  box-shadow:0 18px 44px rgba(0,10,60,.4);max-width:280px;pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity .18s,transform .18s}
.bench-tip.show{opacity:1;transform:translateY(0)}
.bench-tip b{color:var(--orange-d,#c2410c)}
.bench-tip .tsrc{display:block;margin-top:6px;font-size:10px;color:#8a93a6;font-weight:700;letter-spacing:.03em}
.bench-cta{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:20px}
.bench-note{font-size:11px;color:rgba(255,255,255,.5);text-align:center;margin-top:14px;line-height:1.6;max-width:760px;margin-left:auto;margin-right:auto}

.bench-ctrl select{width:100%;background:rgba(0,0,0,.25);border:1.5px solid rgba(255,255,255,.25);border-radius:10px;color:#fff;
  font-family:inherit;font-size:14px;font-weight:700;padding:10px 12px;outline:none;cursor:pointer}
.bench-ctrl select:focus{border-color:var(--green)}
.bench-ctrl select option{color:var(--navy);background:#fff}
.bench-rec{margin-top:16px;background:linear-gradient(135deg,rgba(159,207,39,.14),rgba(159,207,39,.05));border:1.5px solid rgba(159,207,39,.5);
  border-radius:14px;padding:16px 18px;display:flex;gap:14px;align-items:flex-start}
.bench-rec .wx{font-size:30px;line-height:1;flex-shrink:0;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
.bench-rec .rtxt{font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.85);font-weight:600}
.bench-rec .rtxt b{color:var(--green)}
.bench-rec .rtxt .idx{display:inline-block;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.25);border-radius:99px;
  padding:3px 12px;font-size:11.5px;font-weight:800;color:#fff;letter-spacing:.05em;margin-top:8px}
.bench-rec .rtxt .idx em{font-style:normal;color:#5A79B8;font-variant-numeric:tabular-nums}
@keyframes benchPop{0%{transform:scale(1)}35%{transform:scale(1.12);color:#fff}100%{transform:scale(1)}}
.ov.pop{animation:benchPop .45s ease}
.bench-legal{font-size:10px;color:rgba(255,255,255,.42);line-height:1.7;max-width:1000px;margin:18px auto 0;text-align:center;letter-spacing:.01em}

.bench-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.bench-reveal.in{opacity:1;transform:translateY(0)}
@media(max-width:900px){.bench-grid{grid-template-columns:1fr}.bench-outs{grid-template-columns:1fr 1fr}}
@media(hover:none){.bench-tip{display:none}}
@media(prefers-reduced-motion:reduce){.bench-reveal{opacity:1;transform:none;transition:none}.bench-marker,.bench-row .rbar i{transition:none}.bench-live i{animation:none}}

/* ===== FM dashboard (Fleet-Management style) ===== */
.fm-dash{background:linear-gradient(170deg,var(--navy) 0%,var(--navy-d) 58%,var(--navy) 100%);border:1px solid rgba(255,255,255,.18);
  border-radius:22px;box-shadow:0 36px 90px rgba(0,8,50,.6);position:relative;overflow:hidden;text-align:left}
.fm-dash::before{content:"";position:absolute;inset:0;opacity:.05;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.8) 1px,transparent 1px);background-size:40px 40px}
.fm-body{position:relative;z-index:2;padding:0 0 24px}
.fm-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 26px;border-bottom:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.18)}
.fm-head h2{color:#fff;font-size:clamp(19px,2.4vw,27px);font-weight:800;margin:0;letter-spacing:.01em}
.fm-head .co{color:rgba(255,255,255,.6);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.fm-head .stamp{text-align:right;color:#fff}
.fm-head .stamp b{font-size:19px;font-weight:800;display:block;color:#5A79B8;font-variant-numeric:tabular-nums}
.fm-head .stamp span{font-size:10.5px;color:rgba(255,255,255,.55);letter-spacing:.08em}
.fm-kpirow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:18px 26px 4px}
.fm-kcard{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 16px 12px;display:flex;flex-direction:column;gap:6px}
.fm-kcard .top{display:flex;align-items:center;gap:12px}
.fm-kcard .ic{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.fm-kcard .n{font-size:26px;font-weight:800;color:#fff;line-height:1;font-variant-numeric:tabular-nums}
.fm-kcard .l{font-size:11px;color:rgba(255,255,255,.6);font-weight:700;letter-spacing:.04em}
.fm-kcard .ubar{height:4px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden;margin-top:4px}
.fm-kcard .ubar i{display:block;height:100%;background:linear-gradient(90deg,#5A79B8,#8FB3E8);border-radius:99px}
.fm-kcard .sub{display:flex;justify-content:space-between;font-size:10px;color:rgba(255,255,255,.5);font-weight:700;letter-spacing:.04em}
.fm-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:14px;padding:14px 26px 0}
.fm-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:16px 18px;margin-bottom:14px}
.fm-card h4{color:#fff;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px}
.fm-card .hint{font-size:10.5px;color:rgba(255,255,255,.45);font-weight:600;margin-bottom:12px}
.fm-cols{display:flex;align-items:flex-end;gap:8px;height:150px;padding-top:6px}
.fm-cols .grp{flex:1;height:100%;display:flex;flex-direction:column-reverse;align-items:stretch;justify-content:flex-start}
.fm-cols .grp i{display:block;border-radius:3px 3px 0 0}
.fm-cols .grp .base{background:linear-gradient(180deg,#7FA5FF,#4F79E6);border-radius:0}
.fm-cols .grp .vari{background:linear-gradient(180deg,#5A79B8,#c2410c)}
.fm-xlabels{display:flex;gap:8px;margin-top:6px}
.fm-xlabels span{flex:1;text-align:center;font-size:9px;color:rgba(255,255,255,.45);font-weight:700}
.fm-legend{display:flex;gap:16px;font-size:10.5px;color:rgba(255,255,255,.6);font-weight:700;margin-top:10px}
.fm-legend b{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:5px;vertical-align:-1px}
.fm-area svg{width:100%;height:130px;display:block}
.fm-total{padding:12px 2px;border-bottom:1px solid rgba(255,255,255,.12)}
.fm-total:last-child{border-bottom:none}
.fm-total .tl{font-size:11px;color:rgba(255,255,255,.55);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.fm-total .tv{font-size:clamp(22px,2.6vw,30px);font-weight:800;color:#fff;font-variant-numeric:tabular-nums}
.fm-total .tv.orange{color:#5A79B8}
.fm-row{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid rgba(255,255,255,.1);font-size:13px;color:#fff}
.fm-row:last-child{border-bottom:none}
.fm-row .d{color:#5A79B8;font-weight:800;font-size:11.5px;width:74px;flex-shrink:0;font-variant-numeric:tabular-nums}
.fm-row .t{flex:1;font-weight:600;color:rgba(255,255,255,.85)}
.fm-row .tag{border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:2px 9px;font-size:10.5px;font-weight:800;color:rgba(255,255,255,.75);letter-spacing:.04em;white-space:nowrap}
.fm-row .tag.hot{border-color:#5A79B8;color:#8FB3E8}
.fm-grades{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.fm-grade{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px 10px;text-align:center}
.fm-grade .g{font-size:30px;font-weight:800;color:#fff;line-height:1}
.fm-grade .g.good{color:#8fd4ff}
.fm-grade .g.bad{color:#5A79B8}
.fm-grade .gl{font-size:9.5px;color:rgba(255,255,255,.55);font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-top:6px;line-height:1.4}
.fm-fog{position:absolute;inset:0;z-index:6;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);background:rgba(0,18,96,.42);display:flex;align-items:center;justify-content:center;padding:26px}
.fm-unlock{position:relative;z-index:7;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.5);max-width:520px;width:100%;padding:30px 30px 24px;text-align:center}
.fm-unlock h3{color:var(--navy);font-size:22px;font-weight:800;margin:0 0 6px}
.fm-unlock p{color:#5b6474;font-size:14px;line-height:1.6;margin:0 0 16px}
.fm-unlock input{width:100%;border:2px solid #dbe3ef;border-radius:12px;padding:14px 16px;font-size:17px;font-weight:700;font-family:inherit;outline:none;color:var(--navy)}
.fm-unlock input:focus{border-color:var(--green)}
.fm-unlock .err{color:var(--orange-d);font-size:13px;font-weight:700;margin-top:8px;display:none;text-align:left}
.fm-unlock .btns{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.fm-unlock .btns .fa-next{flex:1;justify-content:center;font-size:15.5px;padding:14px 18px}
.fm-unlock .ghostbtn{flex:1;background:none;border:2px solid #cbd5e6;border-radius:99px;color:#5b6474;font-family:inherit;font-size:14.5px;font-weight:800;padding:13px 16px;cursor:pointer}
.fm-unlock .ghostbtn:hover{border-color:var(--navy);color:var(--navy)}
.fm-unlock .fine{font-size:11px;color:#8a93a6;line-height:1.6;margin-top:12px}
.fm-seearrow{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:13.5px;font-weight:800;letter-spacing:.04em;text-decoration:none;margin-top:14px}
.fm-seearrow .ar{display:inline-block;animation:fmBounce 1.6s ease-in-out infinite}
@keyframes fmBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
.fm-map{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px;align-items:center}
.fm-map svg{width:100%;height:auto;filter:drop-shadow(0 16px 30px rgba(0,0,0,.4))}
.fm-map .ga{fill:rgba(255,255,255,.1);stroke:rgba(255,255,255,.45);stroke-width:1.2}
.fm-plantdot{fill:#5A79B8;stroke:#fff;stroke-width:1.4}
.fm-plantdot.hub{fill:var(--green)}
.fm-planttbl{width:100%;border-collapse:collapse;font-size:12px;color:#fff}
.fm-planttbl th{text-align:left;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:800;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.2)}
.fm-planttbl td{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.08);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.fm-planttbl td.pn{color:#fff;font-weight:800}
.fm-planttbl td.addr{color:rgba(255,255,255,.55);font-weight:500;font-size:11px}
.fm-planttbl td.money{color:#8FB3E8}
.fm-planttbl td.goal{color:#8fd4ff}
.fm-tblwrap{max-height:420px;overflow:auto;border-radius:12px}
@media(max-width:900px){
  .fm-grid{grid-template-columns:1fr;padding:14px 16px 0}
  .fm-kpirow{padding:14px 16px 2px}
  .fm-head{padding:14px 16px;flex-wrap:wrap}
  .fm-map{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .fa-card,.fa-bar-fill,.fa-chip,.fa-opt,.fa-next{transition:none}
  .fa-bub,.fa-ghostco span{animation:none;opacity:.08}
}

/* == v2: example report motion, teardrop pins, grade colors, legend == */
.fa-chartbox{animation:chartFloat 6s ease-in-out infinite alternate}
.fa-chartbox:nth-of-type(2){animation-delay:-2s}
.fa-chartbox:nth-of-type(3){animation-delay:-4s}
@keyframes chartFloat{from{transform:translateY(-6px)}to{transform:translateY(6px)}}
.fm-pin .pinbody{fill:#0C2A52;stroke:#fff;stroke-width:.7}
.fm-pin.hub .pinbody{fill:#9FCF27;stroke:#fff}
.fm-pin .pindot{fill:#fff}
.fm-pin.hub .pindot{fill:#0B2144}
.fm-pin .pinbeacon{fill:none;stroke:#5A79B8;stroke-width:1.1;opacity:0;transform-box:fill-box;transform-origin:center;animation:pinBeacon 2.4s ease-out infinite}
.fm-pin.hub .pinbeacon{stroke:#9FCF27}
.fm-pin:nth-of-type(2n) .pinbeacon{animation-delay:-.8s}
.fm-pin:nth-of-type(3n) .pinbeacon{animation-delay:-1.6s}
@keyframes pinBeacon{0%{opacity:.9;transform:scale(.4)}70%{opacity:0;transform:scale(2.1)}100%{opacity:0;transform:scale(2.1)}}
.fm-grade .g.ga{color:#9FCF27}
.fm-grade .g.gb{color:#8FB3E8}
.fm-grade .g.gc{color:#FFA94D}
.fm-grade .g.gd{color:#FF4438}
.fm-legend{display:flex;gap:10px 22px;flex-wrap:wrap;justify-content:center;align-items:center;margin:26px auto 6px;padding:14px 20px;border-radius:12px;background:rgba(9,26,66,.06);max-width:820px}
.fm-legend .lg-t{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#5a6485}
.fm-legend .lg{font-size:13px;font-weight:800}
.fm-legend .lg.ga{color:#6BA636}
.fm-legend .lg.gb{color:#4A6FB8}
.fm-legend .lg.gc{color:#D9822B}
.fm-legend .lg.gd{color:#D93025}
/* dark report context keeps the bright variants */
.fm-body .fm-legend{background:rgba(255,255,255,.07)}
.fm-body .fm-legend .lg-t{color:rgba(255,255,255,.55)}
.fm-body .fm-legend .lg.ga{color:#9FCF27}
.fm-body .fm-legend .lg.gb{color:#8FB3E8}
.fm-body .fm-legend .lg.gc{color:#FFA94D}
.fm-body .fm-legend .lg.gd{color:#FF4438}
/* welcome slide refit: centered, executive */
.fa-welcome .fa-slide{text-align:center}
.fa-welcome .fa-eyebrow{justify-content:center}
.fa-welcome .fa-q{font-size:clamp(26px,3.4vw,40px)}
.fa-welcome .fa-sub{max-width:640px;margin:12px auto 18px}
.fa-welcome .fa-brochure{max-width:560px;margin:0 auto 22px;text-align:left}
.fa-welcome .fa-next{padding:16px 38px;font-size:17px}
