:root{
  --ink:#102435;--muted:#617383;--line:#dce5ea;--panel:#fff;--soft:#f3f7f8;
  --navy:#071a2b;--blue:#0b6a8f;--cyan:#07a9c5;--green:#33ad7e;--amber:#d99319;--red:#cf4c4c;
  --shadow:0 18px 55px rgba(7,26,43,.11);--radius:18px;--radius-sm:12px;
  font-family:Inter,"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:#eef4f5;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#e9f4f5 0,#f7f9fa 320px,#eef3f5 100%)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}
.boot{min-height:100vh;display:grid;place-items:center;font-weight:700;color:var(--blue)}
.shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:50;background:rgba(7,26,43,.96);backdrop-filter:blur(12px);color:#fff;border-bottom:1px solid rgba(255,255,255,.11)}
.topbar-inner{max-width:1500px;margin:auto;display:flex;align-items:center;gap:18px;padding:11px 24px}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#40dbec,#08799e 58%,#074059);box-shadow:0 0 0 4px rgba(255,255,255,.08);font-size:21px}.brand strong{display:block;font-size:15px}.brand small{color:#9ec8d3}.nav{display:flex;gap:5px;flex:1;overflow:auto}.nav a{padding:9px 12px;border-radius:10px;color:#bcd0d8;white-space:nowrap;font-size:14px}.nav a:hover,.nav a.active{color:#fff;background:rgba(255,255,255,.09)}.userbox{display:flex;align-items:center;gap:9px;white-space:nowrap}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#0b6a8f;font-weight:800}.user-label{font-size:12px;color:#bcd0d8}.mobile-menu{display:none;border:0;background:transparent;color:#fff;font-size:24px}
.main{max-width:1500px;margin:auto;padding:28px 24px 80px}.hero{background:radial-gradient(circle at 85% 10%,rgba(54,210,221,.26),transparent 36%),linear-gradient(135deg,#08263a,#0a5472 62%,#0788a6);color:#fff;border-radius:28px;padding:42px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero h1{font-size:clamp(30px,4vw,58px);line-height:1.05;margin:0 0 14px;max-width:900px}.hero p{max-width:900px;color:#d7edf2;font-size:17px;line-height:1.8}.capabilities{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.cap{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:9px 14px;border-radius:999px;font-weight:700}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{border:0;border-radius:11px;padding:11px 17px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--cyan);color:#032834}.btn-secondary{background:#fff;color:#0b536c}.btn-dark{background:var(--navy);color:#fff}.btn-outline{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn-danger{background:#fbe8e8;color:#9a2f2f}.btn-sm{padding:7px 10px;font-size:13px}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:34px 0 16px}.section-head h2{margin:0;font-size:25px}.section-head p{margin:5px 0 0;color:var(--muted)}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--panel);border:1px solid rgba(16,36,53,.07);border-radius:var(--radius);box-shadow:0 8px 25px rgba(7,26,43,.06);padding:22px}.card h3{margin:0 0 8px}.card p{color:var(--muted);line-height:1.65}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:18px}.card-head h3{margin:0}.soft-card{background:linear-gradient(180deg,#fff,#f7fbfb)}
.kpi{padding:18px;border-radius:15px;background:linear-gradient(145deg,#fff,#eef8f8);border:1px solid #d8e9ec}.kpi-label{font-size:13px;color:var(--muted)}.kpi-value{font-size:28px;font-weight:850;margin:6px 0}.kpi-note{font-size:12px;color:var(--muted)}.kpi.good{border-color:#b9e9d6}.kpi.warn{border-color:#eed7a8}.kpi.bad{border-color:#efc3c3}
.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.field{grid-column:span 4}.field.wide{grid-column:span 6}.field.full{grid-column:1/-1}.field label{display:block;font-size:13px;font-weight:700;margin:0 0 6px}.field small{display:block;color:var(--muted);margin-top:5px;line-height:1.4}.input,.select,.textarea{width:100%;border:1px solid #cdd9de;border-radius:10px;background:#fff;padding:11px 12px;outline:0;color:var(--ink)}.textarea{min-height:100px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(7,169,197,.12)}.input-row{display:flex;gap:8px}.input-row>*{flex:1}.check{display:flex;gap:9px;align-items:flex-start;color:var(--muted);font-size:13px;line-height:1.5}.check input{margin-top:3px}.hint{padding:12px 14px;background:#edf8fa;border-left:4px solid var(--cyan);border-radius:9px;color:#375563;font-size:13px;line-height:1.55}.warning{padding:12px 14px;background:#fff8e8;border-left:4px solid var(--amber);border-radius:9px;color:#6c551d;font-size:13px;line-height:1.55}.errorbox{padding:12px 14px;background:#fff0f0;border-left:4px solid var(--red);border-radius:9px;color:#7e2f2f}.successbox{padding:12px 14px;background:#eaf9f2;border-left:4px solid var(--green);border-radius:9px;color:#245d48}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}.table{width:100%;border-collapse:collapse;background:#fff;min-width:740px}.table th,.table td{padding:12px 14px;text-align:left;border-bottom:1px solid #e8eef1;font-size:13px;vertical-align:top}.table th{position:sticky;top:0;background:#edf4f5;color:#395363;font-weight:800}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:#fafcfc}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.muted{color:var(--muted)}.small{font-size:12px}.right{text-align:right}.nowrap{white-space:nowrap}
.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#e7eff3;color:#405b6b}.badge.ok{background:#dcf6ea;color:#1f684c}.badge.warn{background:#fff0cf;color:#735213}.badge.bad{background:#fde2e2;color:#8a3131}.badge.blue{background:#dff3f7;color:#13647a}.badge.dark{background:#172f40;color:#fff}
.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow:auto}.tab{border:0;background:transparent;padding:10px 14px;color:var(--muted);white-space:nowrap;border-bottom:3px solid transparent}.tab.active{color:var(--blue);border-bottom-color:var(--cyan);font-weight:800}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}.side-list{display:flex;flex-direction:column;gap:8px}.side-item{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff;cursor:pointer}.side-item.active{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(7,169,197,.08)}.side-item strong{display:block}.side-item small{color:var(--muted)}
.plan{position:relative;display:flex;flex-direction:column;min-height:365px}.plan.featured{border:2px solid var(--cyan);transform:translateY(-5px)}.plan-tag{position:absolute;top:-12px;right:18px;background:var(--cyan);color:#032834;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.price{font-size:34px;font-weight:900;margin:12px 0}.price small{font-size:14px;color:var(--muted)}.feature-list{list-style:none;padding:0;margin:12px 0 20px;display:grid;gap:9px}.feature-list li:before{content:"✓";color:var(--green);font-weight:900;margin-right:8px}.plan .btn{margin-top:auto}
.modal-backdrop{position:fixed;inset:0;background:rgba(2,15,25,.72);z-index:100;display:grid;place-items:center;padding:18px}.modal{background:#fff;border-radius:22px;max-width:760px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 30px 100px rgba(0,0,0,.35)}.modal-head{position:sticky;top:0;background:#fff;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-body{padding:22px}.modal-close{border:0;background:#edf2f4;width:34px;height:34px;border-radius:50%;font-size:20px}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:200;display:grid;gap:10px}.toast{max-width:380px;padding:13px 16px;border-radius:12px;color:#fff;background:#183142;box-shadow:var(--shadow);animation:slideIn .22s ease}.toast.error{background:#9f3737}.toast.success{background:#237a5d}@keyframes slideIn{from{transform:translateY(15px);opacity:0}}
.empty{padding:40px;text-align:center;color:var(--muted);border:1px dashed #bdcbd1;border-radius:15px;background:#fafcfc}.loading{display:inline-block;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.footer{background:var(--navy);color:#afc4cd;padding:28px 24px}.footer-inner{max-width:1500px;margin:auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer strong{color:#fff}.codebox{background:#071a2b;color:#d7eef3;padding:14px;border-radius:11px;overflow:auto;font-size:12px}.metric-bar{height:8px;background:#e9f0f2;border-radius:99px;overflow:hidden}.metric-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--green));border-radius:99px}
@media(max-width:1050px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.side-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.field{grid-column:span 6}}
@media(max-width:760px){.topbar-inner{padding:10px 14px;flex-wrap:wrap}.mobile-menu{display:block;margin-left:auto}.nav{display:none;order:3;width:100%;flex-direction:column}.nav.open{display:flex}.userbox{margin-left:auto}.user-label{display:none}.main{padding:18px 14px 60px}.hero{padding:26px 20px;border-radius:20px}.hero h1{font-size:34px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.field,.field.wide{grid-column:1/-1}.side-list{grid-template-columns:1fr}.card{padding:17px}.plan.featured{transform:none}.section-head{align-items:flex-start;flex-direction:column}.topbar .brand small{display:none}}
@media print{.topbar,.footer,.no-print,.btn{display:none!important}.main{max-width:none;padding:0}.card{box-shadow:none;break-inside:avoid}.hero{color:#000;background:#fff;box-shadow:none;border:1px solid #ddd}.hero p{color:#333}}

/* V2.2 help centre and outsourced calculator job */
.tutorial-stage{display:grid;gap:16px}.tutorial-screen{min-height:420px;border-radius:22px;padding:34px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 85% 10%,rgba(64,219,236,.24),transparent 36%),linear-gradient(145deg,#08263a,#0a5f78);color:#fff;box-shadow:var(--shadow)}.tutorial-screen h2{font-size:clamp(28px,4vw,48px);margin:10px 0 16px}.tutorial-screen p{color:#d9f0f4;font-size:18px;line-height:1.8}.tutorial-kicker{display:inline-flex;width:max-content;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);font-weight:850}.tutorial-action{margin-top:16px;padding:14px 16px;border-radius:13px;background:rgba(255,255,255,.1);border-left:4px solid #40dbec;font-weight:750}.tutorial-progress{height:8px;background:rgba(255,255,255,.14);border-radius:999px;overflow:hidden;margin:24px 0 8px}.tutorial-progress i{display:block;height:100%;background:#40dbec;border-radius:999px}.tutorial-controls{display:flex;gap:8px;flex-wrap:wrap}.side-item{font:inherit;text-align:left;color:inherit}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.embed-preview{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.job-flow{counter-reset:jobstep}.job-flow .card:before{counter-increment:jobstep;content:counter(jobstep);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--cyan);color:#032834;font-weight:900;margin-bottom:12px}
@media(max-width:1100px){.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.grid-5{grid-template-columns:1fr}.tutorial-screen{min-height:360px;padding:24px}.tutorial-screen p{font-size:16px}}

.payment-panel{text-align:center;padding:18px 8px}.payment-qr{display:block;width:260px;height:260px;max-width:80vw;margin:12px auto;border:10px solid #fff;border-radius:14px;box-shadow:0 10px 28px rgba(15,35,50,.16)}.payment-status{margin:14px auto 0;padding:12px 16px;border-radius:12px;background:#eef6f8;color:#20404b;font-weight:800;max-width:460px}.payment-status.paid{background:#e5f7ed;color:#126235}

/* V2.2.3 verification-code login */
.input-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.input-action .btn{white-space:nowrap;min-height:48px}
.code-input{letter-spacing:.35em;font-size:1.25rem;font-weight:800;text-align:center}
.password-fallback{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.password-fallback summary{cursor:pointer;font-weight:800;color:var(--muted)}
@media (max-width:640px){.input-action{grid-template-columns:1fr}.input-action .btn{width:100%}}


/* V2.3 Global Atlas production Map UI */
.atlas-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;background:radial-gradient(circle at 82% 0,rgba(36,211,201,.22),transparent 35%),linear-gradient(135deg,#061b2a,#0b4b61 60%,#08778d);color:#fff;border-radius:28px;padding:36px 40px;box-shadow:var(--shadow)}
.atlas-hero h1{font-size:clamp(30px,4vw,52px);line-height:1.08;margin:8px 0 12px}.atlas-hero p{color:#d7edf2;line-height:1.8;max-width:940px}.atlas-kicker{font-size:12px;font-weight:900;letter-spacing:.12em;color:#68e4e5}.atlas-hero-badges{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.atlas-hero-badges span{padding:7px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);white-space:nowrap;font-size:12px;font-weight:800}
.atlas-filter-card{margin-top:20px}.atlas-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.atlas-filter-grid .field{grid-column:auto}.atlas-data-state{font-size:12px;color:var(--muted);padding:8px 12px;border-radius:999px;background:#eef3f5}.atlas-data-state.ready{background:#dcf6ea;color:#1f684c}
.atlas-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.atlas-map-card{background:#fff;border:1px solid rgba(16,36,53,.08);border-radius:18px;overflow:hidden;box-shadow:0 8px 26px rgba(7,26,43,.06)}.atlas-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:15px 16px}.atlas-map-head h3{margin:0 0 3px}.atlas-map-head p{margin:0;color:var(--muted);font-size:12px}.atlas-map{height:390px;background:#eaf1f3;position:relative;overflow:hidden}.atlas-map-stage{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;user-select:none}.atlas-map-stage:active{cursor:grabbing}.atlas-tile-layer{position:absolute;inset:0}.atlas-tile{position:absolute;left:0;top:0;will-change:transform;image-rendering:auto}.atlas-overlay-layer{mix-blend-mode:multiply}.atlas-tile.tile-missing{display:none}.atlas-center-cross{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:24px;height:24px;display:grid;place-items:center;border:1px solid rgba(3,40,52,.4);border-radius:50%;background:rgba(255,255,255,.75);color:#07384b;font-weight:900;pointer-events:none}.atlas-map-status{position:absolute;left:8px;top:8px;background:rgba(7,26,43,.78);color:#fff;padding:5px 7px;border-radius:7px;font-size:10px;pointer-events:none}.atlas-map-controls{position:absolute;right:8px;top:8px;display:grid;gap:4px}.atlas-map-controls button{width:31px;height:31px;border:0;border-radius:8px;background:rgba(255,255,255,.92);font-size:20px;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.atlas-legend{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:11px;color:var(--muted);min-height:44px}.legend-gradient{display:block;width:92px;height:8px;border-radius:99px}.legend-gradient.climate{background:linear-gradient(90deg,#865c42,#c28546,#e1c153,#60b2a1,#2082a5,#16507d)}.legend-gradient.solar{background:linear-gradient(90deg,#5c6c77,#4f8ba6,#2fa68a,#e2b037,#cd4634)}.atlas-legend small{margin-left:auto}.atlas-legend.joint{flex-wrap:wrap}.atlas-legend .q{display:inline-flex;align-items:center;gap:5px}.atlas-legend .q:before{content:'';width:9px;height:9px;border-radius:2px}.q4:before{background:#2da470}.q3:before{background:#3880bd}.q2:before{background:#e89b2f}.q1:before{background:#b63e3e}
.atlas-detail-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:18px}.atlas-detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kpi-value.smallish{font-size:18px;line-height:1.25}.atlas-months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:14px}.atlas-months>div{display:grid;gap:2px;background:#f4f8f9;border:1px solid #e1eaed;border-radius:9px;padding:8px;font-size:11px}.atlas-months span{color:var(--muted)}.atlas-method{margin-top:18px}
.atlas-handoff-banner{margin:0 0 18px;padding:14px 16px;border:1px solid #b8e8df;background:#ebfaf6;border-radius:13px;color:#285d50}.atlas-handoff-banner strong{display:block;margin-bottom:4px}
@media(max-width:1180px){.atlas-map-grid{grid-template-columns:1fr}.atlas-map{height:360px}.atlas-detail-layout{grid-template-columns:1fr}.atlas-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas-hero{grid-template-columns:1fr}.atlas-hero-badges{align-items:flex-start;flex-direction:row;flex-wrap:wrap}}
@media(max-width:700px){.atlas-filter-grid{grid-template-columns:1fr}.atlas-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas-months{grid-template-columns:repeat(3,minmax(0,1fr))}.atlas-hero{padding:24px 20px}.atlas-map{height:320px}}


/* ============================================================
   FND Brand Shell P0.1 — FROZEN
   power.fndtech.com rollout
   ============================================================ */
html[data-theme="dark"]{
  color-scheme:dark;
  --ink:#F1F5F9;--muted:#94A3B8;--line:rgba(56,189,248,.14);--panel:#111827;--soft:#1E293B;
  --navy:#0B1120;--blue:#0085D0;--cyan:#38BDF8;--green:#22C87A;--amber:#F0A500;--red:#F05454;
  --shadow:0 18px 55px rgba(0,0,0,.34);
}
html[data-theme="light"]{
  color-scheme:light;
  --ink:#334E68;--muted:#627D98;--line:#D0E4F0;--panel:#FFFFFF;--soft:#F8FBFE;
  --navy:#0B1120;--blue:#0085D0;--cyan:#0085D0;--green:#22C87A;--amber:#F0A500;--red:#F05454;
  --shadow:0 18px 55px rgba(0,90,141,.10);
}
html,body{font-family:"Noto Sans SC","Microsoft YaHei",sans-serif}
body{position:relative;background:#0B1120;color:var(--ink)}
html[data-theme="dark"] body{background:linear-gradient(180deg,#0B1120 0,#0B1627 38%,#0B1120 100%)}
html[data-theme="light"] body{background:linear-gradient(180deg,#E6F6FD 0,#FFFFFF 300px,#F8FBFE 100%)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(0,133,208,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,133,208,.035) 1px,transparent 1px);background-size:40px 40px}
.shell,.main,.footer,.topbar{position:relative;z-index:1}
.topbar{background:rgba(11,17,32,.92);border-bottom:1px solid rgba(56,189,248,.10)}
html[data-theme="light"] .topbar{background:rgba(255,255,255,.94);color:#334E68;border-bottom-color:#D0E4F0}
.fnd-brand-line{height:2px;background:linear-gradient(90deg,#0085D0 0%,#0085D0 42%,#EB6100 68%,#EB6100 100%);box-shadow:0 0 14px rgba(0,133,208,.25)}
.topbar-inner{max-width:1600px;gap:14px}
.brand{gap:12px}
.fnd-logo{display:block;width:auto;height:34px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(0,133,208,.25))}
.brand-copy strong{font-size:14px;font-weight:800;letter-spacing:.01em}.brand-copy small{color:#94A3B8}
html[data-theme="light"] .brand-copy small{color:#627D98}
.nav a{color:#94A3B8;border:1px solid transparent}
.nav a:hover,.nav a.active{color:#F1F5F9;background:rgba(0,133,208,.12);border-color:rgba(56,189,248,.12)}
html[data-theme="light"] .nav a{color:#627D98}
html[data-theme="light"] .nav a:hover,html[data-theme="light"] .nav a.active{color:#005A8D;background:#E6F6FD;border-color:#D0E4F0}
.shell-controls{display:flex;align-items:center;gap:7px;white-space:nowrap}
.shell-control{min-height:34px;border:1px solid rgba(56,189,248,.20);border-radius:8px;background:rgba(56,189,248,.06);color:#F1F5F9;padding:7px 10px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:800;transition:.2s}
.shell-control:hover{transform:translateY(-1px);border-color:rgba(56,189,248,.38);background:rgba(0,133,208,.16);box-shadow:0 4px 15px rgba(0,133,208,.18)}
.shell-language{padding:0 7px}.shell-language select{border:0;background:transparent;color:inherit;font:inherit;outline:0;padding:7px 1px;max-width:75px}.shell-language option{color:#0B1120;background:#fff}
.shell-register{border-color:rgba(235,97,0,.45);background:linear-gradient(135deg,#EB6100,#C44F00);color:#fff;box-shadow:0 4px 14px rgba(235,97,0,.22)}
.shell-register:hover{background:linear-gradient(135deg,#FF8C42,#EB6100);border-color:#FF8C42}
.shell-login,.shell-account{background:linear-gradient(135deg,#0085D0,#005A8D);border-color:#0085D0;color:#fff}
html[data-theme="light"] .shell-control{color:#334E68;background:#fff;border-color:#D0E4F0}
html[data-theme="light"] .shell-login,html[data-theme="light"] .shell-account,html[data-theme="light"] .shell-register{color:#fff}
html[data-theme="light"] .mobile-menu{color:#334E68}
.main{max-width:1600px}
.hero,.atlas-hero,.tutorial-screen{background:radial-gradient(circle at 84% 12%,rgba(235,97,0,.20),transparent 30%),linear-gradient(135deg,#0B1120 0%,#005A8D 62%,#0085D0 100%);border:1px solid rgba(56,189,248,.14)}
.hero::after,.atlas-hero::after{content:"";position:absolute;right:-70px;bottom:-100px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(235,97,0,.20),transparent 67%);pointer-events:none}
.hero h1,.atlas-hero h1{font-weight:900;letter-spacing:-.025em}
.atlas-kicker{color:#FF8C42}
.cap{border-color:rgba(56,189,248,.22);background:rgba(56,189,248,.08)}
.btn-primary{background:linear-gradient(135deg,#0085D0,#005A8D);color:#fff;box-shadow:0 4px 15px rgba(0,133,208,.24)}
.btn-primary:hover{box-shadow:0 6px 20px rgba(0,133,208,.36)}
.btn-cta{background:linear-gradient(135deg,#EB6100,#C44F00);color:#fff;box-shadow:0 4px 15px rgba(235,97,0,.28)}
.btn-secondary{background:rgba(255,255,255,.95);color:#005A8D}
.btn-dark{background:#0B1120;color:#fff;border:1px solid rgba(56,189,248,.16)}
.btn-outline{border-color:var(--line);color:var(--ink);background:transparent}
html[data-theme="dark"] .card,html[data-theme="dark"] .atlas-map-card,html[data-theme="dark"] .modal{background:#111827;border-color:rgba(56,189,248,.10);box-shadow:0 8px 26px rgba(0,0,0,.20)}
html[data-theme="dark"] .soft-card{background:linear-gradient(180deg,#111827,#1E293B)}
html[data-theme="dark"] .kpi{background:linear-gradient(145deg,#111827,#172033);border-color:rgba(56,189,248,.12)}
html[data-theme="dark"] .input,html[data-theme="dark"] .select,html[data-theme="dark"] .textarea{background:#0F172A;color:#F1F5F9;border-color:#475569}
html[data-theme="dark"] .input:focus,html[data-theme="dark"] .select:focus,html[data-theme="dark"] .textarea:focus{border-color:#38BDF8;box-shadow:0 0 0 3px rgba(56,189,248,.16)}
html[data-theme="dark"] .table{background:#111827}
html[data-theme="dark"] .table th{background:#1E293B;color:#F1F5F9}
html[data-theme="dark"] .table th,html[data-theme="dark"] .table td{border-bottom-color:rgba(56,189,248,.08)}
html[data-theme="dark"] .table tr:hover td{background:#172033}
html[data-theme="dark"] .side-item{background:#111827}
html[data-theme="dark"] .empty{background:#0F172A;border-color:#334155}
html[data-theme="dark"] .modal-head{background:#111827}
html[data-theme="dark"] .modal-close{background:#243447;color:#F1F5F9}
html[data-theme="dark"] .hint{background:rgba(0,133,208,.12);color:#BDE7F7;border-left-color:#38BDF8}
html[data-theme="dark"] .warning{background:rgba(240,165,0,.12);color:#F8D58D}
html[data-theme="dark"] .successbox{background:rgba(34,200,122,.12);color:#A9EBCB}
html[data-theme="dark"] .errorbox{background:rgba(240,84,84,.10);color:#F5B2B2}
html[data-theme="dark"] .atlas-data-state{background:#1E293B}
html[data-theme="dark"] .atlas-map{background:#0F172A}
html[data-theme="dark"] .atlas-months>div{background:#0F172A;border-color:#243447}
html[data-theme="dark"] .atlas-handoff-banner{background:rgba(34,200,122,.10);border-color:rgba(34,200,122,.24);color:#A9EBCB}
.legend-gradient.climate{background:linear-gradient(90deg,#E6F6FD,#38BDF8,#0085D0,#005A8D)}
.legend-gradient.solar{background:linear-gradient(90deg,#FFE2CC,#FF8C42,#EB6100,#C44F00)}
.q4:before{background:#22C87A}.q3:before{background:#0085D0}.q2:before{background:#F0A500}.q1:before{background:#F05454}
.metric-bar i{background:linear-gradient(90deg,#0085D0,#EB6100)}
.footer{background:#0B1120;border-top:1px solid rgba(56,189,248,.10);color:#94A3B8}
.brand-footer{display:grid;grid-template-columns:minmax(300px,1.2fr) minmax(280px,.8fr);align-items:start}
.footer-brand{display:flex;align-items:flex-start;gap:14px}.footer-logo{height:42px;margin-top:2px}.footer-brand strong{color:#F1F5F9}.footer-brand .small{margin-top:8px}
.footer-links{display:flex;justify-content:flex-end;gap:8px 14px;flex-wrap:wrap}.footer-links a{color:#94A3B8;font-size:12px}.footer-links a:hover{color:#38BDF8}
.footer-boundary{grid-column:1/-1;padding-top:14px;border-top:1px solid rgba(56,189,248,.08)}
html[data-theme="light"] .footer{background:#005A8D;color:#D6ECF8}
html[data-theme="light"] .footer-brand strong{color:#fff}html[data-theme="light"] .footer-links a{color:#E6F6FD}
html[dir="rtl"] .topbar-inner,html[dir="rtl"] .footer-brand{direction:rtl}html[dir="rtl"] .footer-links{justify-content:flex-start}
@media(max-width:1180px){.brand-copy small{display:none}.shell-controls{margin-left:auto}.nav{order:3;width:100%}}
@media(max-width:760px){
  .topbar-inner{gap:8px}.fnd-logo{height:30px}.brand-copy strong{font-size:12px}.mobile-menu{order:2}
  .shell-controls{order:2;width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0}
  .shell-control{padding:7px 5px;min-width:0}.shell-language{justify-content:center}.shell-language select{max-width:58px}
  .nav{order:3}.brand-footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.footer-boundary{grid-column:auto}
}
@media(max-width:390px){.brand-copy{display:none}.shell-control{font-size:11px}.shell-language span{display:none}}


/* ============================================================
   FND Brand Shell P0.1.1 — AUTH/TYPE HOTFIX
   Fixes: heading collisions, auth layout, register route/form.
   NO-BUILD static patch.
   ============================================================ */
:where(h1,h2,h3,h4,p,label,summary,.brand-copy,.nav a,.shell-control){
  text-rendering:optimizeLegibility;
}
.hero h1,.atlas-hero h1,.auth-card h2{
  line-height:1.16;
  overflow-wrap:break-word;
  word-break:normal;
}
.nav{min-width:0}
.nav a{line-height:1.25}
.shell-control{line-height:1.15}
.brand-copy{min-width:0}

.auth-layout{
  max-width:1180px;
  margin:32px auto;
  grid-template-columns:minmax(0,.98fr) minmax(430px,1.02fr);
  align-items:stretch;
}
.auth-hero{
  min-height:540px;
  padding:46px 48px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.auth-hero h1{
  font-size:clamp(38px,3.1vw,52px);
  line-height:1.16;
  letter-spacing:-.018em;
  margin-bottom:18px;
  max-width:10.5em;
  word-break:keep-all;
  overflow-wrap:normal;
}
.auth-card{
  padding:26px;
  min-width:0;
}
.auth-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.auth-card-head h2{
  margin:0;
  font-size:24px;
}
.auth-switch{
  color:#38BDF8;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.auth-switch:hover{color:#FF8C42}
.auth-register-form{margin-top:16px}
.auth-help{line-height:1.65}
.auth-help a{color:#38BDF8;font-weight:800}
.auth-help a:hover{color:#FF8C42}

@media(max-width:1500px){
  .topbar-inner{flex-wrap:wrap}
  .brand{flex:0 0 auto}
  .shell-controls{margin-left:auto}
  .nav{
    order:3;
    flex:1 0 100%;
    width:100%;
    padding-top:2px;
    border-top:1px solid rgba(56,189,248,.06);
  }
}
@media(max-width:960px){
  .auth-layout{
    grid-template-columns:1fr;
    max-width:760px;
  }
  .auth-hero{
    min-height:auto;
    padding:32px 28px;
  }
  .auth-hero h1{
    max-width:none;
    font-size:clamp(34px,8vw,48px);
  }
}
@media(max-width:560px){
  .auth-card-head{align-items:flex-start;flex-direction:column}
  .auth-switch{white-space:normal}
  .auth-hero h1{font-size:34px;line-height:1.2}
}

/* POWER customer v0.2 energy stack */
.energy-block{padding:22px 0;border-top:1px solid #68809955;margin-top:24px}.energy-block h2{font-size:24px;display:flex;gap:14px;align-items:center}.energy-number{font-size:15px;font-weight:700;letter-spacing:.08em}.solar-block .energy-number{color:#eb6100}.wind-block .energy-number{color:#0085d0}.combined-block{border-top:3px solid #0085d0}.energy-reading{padding:0 18px;font-size:16px}.energy-reading strong{display:block;font-size:36px;line-height:1.5;color:#eb6100}.wind-block .energy-reading strong{color:#0085d0}.energy-reading span{font-size:14px;color:var(--muted)}.energy-share{display:flex;width:100%;height:14px;overflow:hidden;border-radius:7px;background:#68809933}.energy-share span{min-width:0}.hybrid-panel .toolbar{flex-wrap:wrap}.customer-atlas a{color:#0085d0}.hybrid-panel .table{min-width:500px}
