  :root{
    --bg:#f4f7fa;
    --bg-2:#eef2f7;
    --panel:#ffffff;
    --panel-2:#f7fafc;
    --line:#dbe3ec;
    --line-soft:#e7edf3;
    --txt:#16222f;
    --txt-dim:#51657a;
    --txt-faint:#8497a8;
    --lime:#4d9e16;
    --lime-dim:#3a7a10;
    --amber:#c8780a;
    --cyan:#0e9bad;
    --violet:#6d4fe6;
    --coral:#d83b32;
    --blue:#2f6fe0;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    background:var(--bg);
    color:var(--txt);
    font-family:'Manrope',system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    line-height:1.5;
  }
  .bg-layer{position:fixed;inset:0;z-index:0;pointer-events:none;}
  .bg-grid{
    background-image:linear-gradient(rgba(30,50,70,.05) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(30,50,70,.05) 1px,transparent 1px);
    background-size:46px 46px;
    mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 35%,transparent 80%);
  }
  .bg-glow-1{background:radial-gradient(circle at 12% 8%,rgba(77,158,22,.07),transparent 46%);}
  .bg-glow-2{background:radial-gradient(circle at 88% 18%,rgba(14,155,173,.06),transparent 48%);}
  .bg-glow-3{background:radial-gradient(circle at 70% 95%,rgba(109,79,230,.05),transparent 52%);}

  .wrap{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:0 22px;}

  nav{
    position:sticky;top:0;z-index:80;
    background:rgba(247,249,252,.82);
    backdrop-filter:blur(16px) saturate(140%);
    border-bottom:1px solid var(--line-soft);
  }
  .nav-in{max-width:1280px;margin:0 auto;padding:0 22px;height:66px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
  .brand{display:flex;align-items:center;gap:11px;}
  .logo{
    width:38px;height:38px;border-radius:11px;position:relative;
    background:linear-gradient(135deg,var(--lime),#5ea30e);
    display:grid;place-items:center;
    box-shadow:0 0 0 1px rgba(182,242,58,.3),0 8px 26px -8px rgba(182,242,58,.45);
  }
  .logo svg{width:21px;height:21px;}
  .brand-name{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:20px;letter-spacing:-.02em;line-height:1;}
  .brand-sub{font-size:9.5px;letter-spacing:.22em;color:var(--txt-faint);text-transform:uppercase;margin-top:3px;}
  .tabs{display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:5px;}
  .tab{
    appearance:none;border:0;cursor:pointer;background:transparent;color:var(--txt-dim);
    font-family:'Manrope';font-weight:600;font-size:13px;padding:9px 16px;border-radius:9px;
    display:flex;align-items:center;gap:7px;transition:.18s;white-space:nowrap;
  }
  .tab:hover{color:var(--txt);}
  .tab.active{background:linear-gradient(180deg,var(--panel-2),var(--panel));color:var(--lime);box-shadow:inset 0 0 0 1px var(--line),0 4px 14px -8px rgba(30,50,70,.12);}
  .tab .dot{width:6px;height:6px;border-radius:50%;background:currentColor;}
  .live{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--txt-dim);font-weight:600;}
  .pulse{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(182,242,58,.6);animation:pulse 2s infinite;}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(182,242,58,.55);}70%{box-shadow:0 0 0 9px rgba(182,242,58,0);}100%{box-shadow:0 0 0 0 rgba(182,242,58,0);}}

  .hero{padding:54px 0 30px;}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);font-weight:700;border:1px solid rgba(182,242,58,.25);background:rgba(182,242,58,.05);padding:6px 12px;border-radius:100px;margin-bottom:20px;}
  h1.hero-h{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(34px,5.4vw,62px);line-height:1.02;letter-spacing:-.03em;margin:0 0 16px;max-width:14ch;}
  h1.hero-h em{font-style:normal;color:var(--lime);}
  .hero-p{color:var(--txt-dim);font-size:clamp(15px,1.6vw,18px);max-width:62ch;margin:0;}
  .hero-stats{display:flex;gap:34px;margin-top:34px;flex-wrap:wrap;}
  .hstat .n{font-family:'Bricolage Grotesque';font-weight:800;font-size:26px;letter-spacing:-.02em;}
  .hstat .l{font-size:12px;color:var(--txt-faint);margin-top:2px;}

  .view{display:none;padding-bottom:70px;}
  .view.active{display:block;animation:fade .35s ease;}
  @keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
  .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:8px 0 22px;flex-wrap:wrap;}
  .sec-title{font-family:'Bricolage Grotesque';font-weight:700;font-size:26px;letter-spacing:-.02em;}
  .sec-desc{color:var(--txt-dim);font-size:13.5px;margin-top:4px;}

  .filters{display:flex;gap:8px;flex-wrap:wrap;}
  .chip{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--txt-dim);font-family:'Manrope';font-weight:600;font-size:12px;padding:7px 13px;border-radius:100px;cursor:pointer;transition:.15s;}
  .chip:hover{border-color:var(--line);color:var(--txt);}
  .chip.on{background:rgba(182,242,58,.12);border-color:rgba(182,242,58,.4);color:var(--lime);}

  .grid-news{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .ncard{
    background:linear-gradient(180deg,var(--panel-2),var(--panel));
    border:1px solid var(--line);border-radius:16px;padding:20px;
    display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:.2s;position:relative;overflow:hidden;
  }
  .ncard:hover{transform:translateY(-3px);border-color:rgba(182,242,58,.35);box-shadow:0 18px 40px -22px rgba(30,50,70,.16);}
  .ncard::after{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--lime);transition:.25s;}
  .ncard:hover::after{width:100%;}
  .ntop{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .src{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:6px;}
  .ndate{font-size:11px;color:var(--txt-faint);font-family:'Space Mono';}
  .ntitle{font-weight:700;font-size:15.5px;line-height:1.32;letter-spacing:-.01em;}
  .nexc{font-size:13px;color:var(--txt-dim);line-height:1.55;flex:1;}
  .ai-line{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--lime);margin-top:2px;}
  .tagrow{display:flex;gap:6px;flex-wrap:wrap;}
  .tag{font-size:10.5px;font-weight:600;color:var(--txt-dim);background:var(--bg-2);border:1px solid var(--line-soft);padding:3px 8px;border-radius:6px;}

  .reg-list{display:flex;flex-direction:column;gap:10px;}
  .rrow{
    background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:14px;
    padding:15px 18px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;cursor:pointer;transition:.18s;
  }
  .rrow:hover{border-color:rgba(57,216,230,.4);transform:translateX(3px);}
  .rissuer{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:72px;padding-left:11px;border-left:3px solid var(--accent,var(--line));}
  .ri-name{font-family:'Bricolage Grotesque';font-weight:800;font-size:14px;letter-spacing:-.01em;line-height:1;}
  .ri-type{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--txt-faint);line-height:1.1;}
  .rmid{min-width:0;}
  .rmid .rt{font-weight:700;font-size:14.5px;line-height:1.35;letter-spacing:-.01em;}
  .rmeta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:8px;}
  .rmeta:empty{display:none;}
  .rright{display:flex;align-items:center;gap:12px;}
  .rdate{font-family:'Space Mono';font-size:11.5px;color:var(--txt-faint);white-space:nowrap;}
  .new-pill{font-size:10px;font-weight:800;letter-spacing:.08em;background:var(--lime);color:#fff;padding:3px 9px;border-radius:100px;}
  .chev{color:var(--txt-faint);font-size:20px;}

  .addbar{display:flex;gap:10px;margin-bottom:22px;background:var(--panel);border:1px dashed var(--line);border-radius:14px;padding:14px;align-items:center;flex-wrap:wrap;}
  .addbar input{flex:1;min-width:220px;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;color:var(--txt);font-family:'Manrope';font-size:13px;padding:11px 13px;}
  .addbar input:focus{outline:none;border-color:var(--lime);}

  .opt-grid{display:grid;grid-template-columns:380px 1fr;gap:20px;align-items:start;}
  .panel{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:16px;padding:20px;}
  .panel + .panel{margin-top:16px;}
  .panel-h{display:flex;align-items:center;gap:9px;font-family:'Bricolage Grotesque';font-weight:700;font-size:15px;margin-bottom:16px;letter-spacing:-.01em;}

  /* ── Input accordion (details/summary) ── */
  .acc{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:16px;overflow:hidden;}
  .acc + .acc{margin-top:12px;}
  .acc-h{display:flex;align-items:center;gap:9px;font-family:'Bricolage Grotesque';font-weight:700;font-size:15px;letter-spacing:-.01em;padding:18px 20px;cursor:pointer;list-style:none;user-select:none;transition:background .15s;}
  .acc-h::-webkit-details-marker{display:none;}
  .acc-h:hover{background:rgba(255,255,255,.02);}
  .acc-sum{margin-left:auto;font-family:'Manrope';font-weight:500;font-size:12px;color:var(--txt-faint);letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;}
  .acc-chev{font-family:'Manrope';font-size:20px;line-height:1;color:var(--txt-faint);transition:transform .2s ease;flex-shrink:0;margin-left:10px;}
  .acc[open] .acc-chev{transform:rotate(90deg);}
  .acc[open] .acc-sum{opacity:0;}
  .acc .fields{padding:0 20px 20px;}
  .acc[open] .acc-h{padding-bottom:14px;}

  /* ── LCOE tear-sheet header ── */
  .ts-card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:16px;overflow:hidden;}
  .ts-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;background:rgba(255,255,255,.02);border-bottom:1px solid var(--line);}
  .ts-mix{font-family:'Bricolage Grotesque';font-weight:800;font-size:18px;letter-spacing:-.01em;}
  .ts-cap{font-family:'Manrope';font-size:12.5px;color:var(--txt-faint);margin-top:3px;}
  .ts-basis{font-family:'Space Mono';font-size:11.5px;color:var(--txt-dim);white-space:nowrap;padding-top:3px;}
  .ts-metrics{display:grid;grid-template-columns:repeat(4,1fr);}
  .ts-m{padding:16px 18px;border-right:1px solid var(--line);}
  .ts-m:last-child{border-right:none;}
  .ts-ml{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--txt-faint);font-weight:700;}
  .ts-mv{font-family:'Bricolage Grotesque';font-weight:800;font-size:26px;letter-spacing:-.02em;line-height:1.1;margin-top:6px;}
  .ts-mu{font-size:13px;font-weight:600;color:var(--txt-faint);margin-left:2px;}
  .ts-msub{font-size:11px;color:var(--txt-faint);margin-top:4px;}
  .ts-foot{display:flex;justify-content:space-between;font-family:'Space Mono';font-size:10.5px;color:var(--txt-faint);padding:10px 20px;border-top:1px solid var(--line);}
  @media(max-width:640px){.ts-metrics{grid-template-columns:repeat(2,1fr);} .ts-m:nth-child(2){border-right:none;} .ts-m:nth-child(1),.ts-m:nth-child(2){border-bottom:1px solid var(--line);}}

  /* ── Collapsible result sections (cost breakdown, cash flow, sensitivity) ── */
  .acc-out{margin-top:16px;}
  details.lcfin{padding:0 !important;}
  details.lcfin > summary{display:flex;align-items:center;gap:9px;padding:18px 20px;cursor:pointer;list-style:none;user-select:none;}
  details.lcfin > summary::-webkit-details-marker{display:none;}
  details.lcfin[open] > summary{border-bottom:1px solid var(--line);margin-bottom:4px;}
  details.lcfin > summary ~ *{margin-left:20px;margin-right:20px;}
  details.lcfin > summary ~ *:last-child{margin-bottom:20px;}
  details.lcfin .acc-chev{transition:transform .2s ease;}
  details.lcfin[open] .acc-chev{transform:rotate(90deg);}
  .pico{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:14px;}
  .fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .f label{display:block;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--txt-faint);margin-bottom:5px;font-weight:600;}
  .f label b{color:var(--lime-dim);font-weight:700;}
  .f input,.f select{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:9px;color:var(--txt);font-family:'Manrope';font-size:13px;padding:9px 11px;transition:.15s;}
  .f input:focus,.f select:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px rgba(182,242,58,.1);}
  .btn{appearance:none;border:0;cursor:pointer;font-family:'Manrope';font-weight:700;font-size:14px;border-radius:11px;padding:13px;width:100%;transition:.18s;}
  .btn-primary{background:linear-gradient(180deg,var(--lime),#7fae1f);color:#fff;box-shadow:0 10px 28px -12px rgba(182,242,58,.6);}
  .btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px);}
  .btn-ghost{background:var(--panel);border:1px solid var(--line);color:var(--cyan);}
  .btn-ghost:hover{border-color:var(--cyan);}
  .btn:disabled{opacity:.5;cursor:not-allowed;transform:none;filter:none;}

  .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:18px;}
  .kpi{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:13px;padding:14px 15px;position:relative;overflow:hidden;}
  .kpi .bar{position:absolute;left:0;top:0;width:100%;height:3px;}
  .kpi .kl{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--txt-faint);font-weight:600;}
  .kpi .kv{font-family:'Bricolage Grotesque';font-weight:800;font-size:23px;letter-spacing:-.02em;margin-top:5px;}
  .kpi .kv span{font-size:12px;font-weight:600;margin-left:3px;}
  .kpi .ks{font-size:10.5px;color:var(--txt-faint);margin-top:3px;}

  .chart-tabs{display:flex;align-items:center;gap:5px;margin-bottom:14px;flex-wrap:wrap;}
  .ct{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--txt-dim);font-family:'Manrope';font-weight:600;font-size:12px;padding:8px 13px;border-radius:9px;cursor:pointer;transition:.15s;}
  .ct:hover{color:var(--txt);}
  .ct.on{background:rgba(57,216,230,.1);border-color:rgba(57,216,230,.4);color:var(--cyan);}
  .ct-popout{margin-left:auto;color:var(--lime-dim) !important;border-color:rgba(182,242,58,.3) !important;background:rgba(182,242,58,.06) !important;display:flex;align-items:center;gap:6px;white-space:nowrap;}
  .ct-popout:hover{color:var(--lime) !important;border-color:rgba(182,242,58,.6) !important;background:rgba(182,242,58,.12) !important;}
  .ct-popout:disabled{opacity:.4;cursor:not-allowed;}

  .res-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap;}
  .btn-xlsx{
    appearance:none;cursor:pointer;font-family:'Manrope';font-weight:700;font-size:12.5px;
    border:1px solid rgba(16,185,129,.45);background:rgba(16,185,129,.1);color:#34d399;
    padding:10px 15px;border-radius:11px;display:flex;align-items:center;gap:8px;white-space:nowrap;transition:.15s;
  }
  .btn-xlsx:hover{background:rgba(16,185,129,.18);border-color:rgba(16,185,129,.7);color:#6ee7b7;transform:translateY(-1px);}
  .btn-xlsx:disabled{opacity:.55;cursor:not-allowed;transform:none;}
  .btn-xlsx svg{width:15px;height:15px;}

  .chart-box{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:16px;padding:18px;}
  .chart-box h4{font-family:'Bricolage Grotesque';font-weight:700;font-size:14px;margin:0 0 4px;}
  .chart-box .sub{font-size:11.5px;color:var(--txt-faint);margin-bottom:10px;}
  .plot{width:100%;height:340px;}

  /* ── Chart pop-out overlay ── */
  .chart-overlay{
    position:fixed;inset:0;z-index:300;
    background:rgba(244,247,250,.96);
    backdrop-filter:blur(10px);
    display:none;flex-direction:column;
    animation:fade .2s ease;
  }
  .chart-overlay.show{display:flex;}
  .chart-ov-head{
    display:flex;align-items:center;gap:14px;
    padding:14px 20px;
    border-bottom:1px solid var(--line);
    background:rgba(14,22,32,.8);
    flex-shrink:0;
  }
  .chart-ov-title{font-family:'Bricolage Grotesque';font-weight:700;font-size:16px;letter-spacing:-.01em;flex:1;}
  .chart-ov-sub{font-size:11.5px;color:var(--txt-faint);}
  .chart-ov-hint{font-size:11px;color:var(--txt-faint);display:flex;align-items:center;gap:5px;padding:5px 10px;background:rgba(57,216,230,.06);border:1px solid rgba(57,216,230,.18);border-radius:8px;white-space:nowrap;}
  .chart-ov-close{
    appearance:none;border:1px solid var(--line);background:var(--bg-2);color:var(--txt-dim);
    cursor:pointer;width:34px;height:34px;border-radius:10px;font-size:16px;
    display:grid;place-items:center;transition:.15s;flex-shrink:0;
  }
  .chart-ov-close:hover{color:var(--txt);border-color:var(--coral);}
  .chart-ov-body{
    flex:1;min-height:0;padding:18px 20px 14px;display:flex;flex-direction:column;
  }
  #plot-popup{flex:1;width:100%;min-height:0;}

  .empty{text-align:center;padding:70px 20px;color:var(--txt-faint);}
  .empty .big{font-size:46px;margin-bottom:14px;opacity:.5;}

  .table-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;}
  .row-li{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:13px;}
  .row-li:last-child{border-bottom:0;}
  .row-li .lbl{color:var(--txt-dim);display:flex;align-items:center;gap:8px;}
  .row-li .lbl i{width:8px;height:8px;border-radius:50%;display:inline-block;}
  .row-li .val{font-weight:700;font-family:'Space Mono';}

  .obs-box{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-left:3px solid var(--lime);border-radius:14px;padding:16px 18px;margin-top:16px;}
  .obs-head{display:flex;align-items:center;gap:9px;font-family:'Bricolage Grotesque';font-weight:700;font-size:14px;margin-bottom:12px;}
  .obs-ico{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--lime),#5ea30e);color:#fff;display:grid;place-items:center;font-size:12px;}
  .obs-tag{font-family:'Manrope';font-weight:600;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--txt-faint);background:var(--bg-2);border:1px solid var(--line-soft);padding:3px 8px;border-radius:100px;margin-left:auto;}
  .obs-list{list-style:none;padding:0;margin:0;}
  .obs-list li{position:relative;padding-left:20px;margin-bottom:10px;font-size:13px;color:var(--txt-dim);line-height:1.6;}
  .obs-list li:last-child{margin-bottom:0;}
  .obs-list li::before{content:"";position:absolute;left:3px;top:8px;width:7px;height:7px;border-radius:2px;background:var(--lime);}
  .obs-list li b{color:var(--txt);font-weight:700;}

  .opt-card{background:var(--bg-2);border:1px solid var(--line);border-radius:13px;padding:16px;margin-bottom:10px;position:relative;}
  .opt-card.best{border-color:rgba(182,242,58,.5);background:rgba(182,242,58,.06);}
  .opt-stats{display:flex;gap:22px;flex-wrap:wrap;}
  .opt-stats .os .l{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--txt-faint);}
  .opt-stats .os .v{font-family:'Space Mono';font-weight:700;font-size:15px;margin-top:3px;}

  /* LCOE / LCOS calculator */
  .lc-modes{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap;}
  .lc-mode{appearance:none;cursor:pointer;font-family:'Manrope';font-weight:700;font-size:13px;
    border:1px solid var(--line);background:var(--panel);color:var(--txt-dim);padding:11px 18px;border-radius:12px;transition:.15s;}
  .lc-mode:hover{color:var(--txt);border-color:var(--txt-faint);}
  .lc-mode.on{background:linear-gradient(180deg,var(--panel-2),var(--panel));color:var(--lime);box-shadow:inset 0 0 0 1px rgba(182,242,58,.4),0 4px 14px -8px rgba(30,50,70,.12);}
  .rv-upload{border:1px dashed var(--line);background:var(--panel);border-radius:12px;padding:12px 14px;}
  .rv-upload input[type=file]{max-width:100%;}
  .rv-upload input[type=file]::file-selector-button{font-family:'Manrope';font-weight:600;font-size:12px;color:var(--cyan);background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:6px 11px;margin-right:10px;cursor:pointer;}
  .lc-sel{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px;}
  .lc-chip{appearance:none;cursor:pointer;font-family:'Manrope';font-weight:700;font-size:13px;display:flex;align-items:center;gap:8px;
    border:1px solid var(--line);background:var(--panel);color:var(--txt-dim);padding:10px 16px;border-radius:11px;transition:.15s;}
  .lc-chip .lcd{width:9px;height:9px;border-radius:50%;background:var(--line);transition:.15s;}
  .lc-chip:hover{color:var(--txt);border-color:var(--txt-faint);}
  .lc-chip.on{color:var(--txt);}
  .lc-chip.on.solar{border-color:rgba(255,180,61,.6);background:rgba(255,180,61,.1);} .lc-chip.on.solar .lcd{background:var(--amber);box-shadow:0 0 8px var(--amber);}
  .lc-chip.on.wind{border-color:rgba(57,216,230,.6);background:rgba(57,216,230,.1);} .lc-chip.on.wind .lcd{background:var(--cyan);box-shadow:0 0 8px var(--cyan);}
  .lc-chip.on.batt{border-color:rgba(169,139,255,.6);background:rgba(169,139,255,.1);} .lc-chip.on.batt .lcd{background:var(--violet);box-shadow:0 0 8px var(--violet);}
  .lc-block{margin-top:14px;}
  .lc-block.hide{display:none;}
  .lc-bh{display:flex;align-items:center;gap:9px;font-family:'Bricolage Grotesque';font-weight:700;font-size:14px;margin-bottom:12px;}
  .lc-hero{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;background:rgba(182,242,58,.06);border:1px solid rgba(182,242,58,.3);border-radius:14px;padding:18px 20px;margin-bottom:16px;}
  .lc-hero .lcv{font-family:'Bricolage Grotesque';font-weight:800;font-size:38px;letter-spacing:-.02em;color:var(--lime);line-height:1;}
  .lc-hero .lcu{font-size:14px;color:var(--txt-dim);font-weight:600;}
  .lc-hero .lcwhat{font-size:12.5px;color:var(--txt-faint);margin-left:auto;text-align:right;max-width:46%;}
  .lc-stack{display:flex;height:34px;border-radius:9px;overflow:hidden;border:1px solid var(--line);margin-bottom:8px;}
  .lc-stack .seg{display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;color:#fff;min-width:0;overflow:hidden;white-space:nowrap;}
  .lc-leg{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--txt-dim);margin-bottom:18px;}
  .lc-leg span{display:flex;align-items:center;gap:6px;} .lc-leg i{width:10px;height:10px;border-radius:3px;display:inline-block;}
  .lc-tbl{width:100%;border-collapse:collapse;font-size:13px;}
  .lc-tbl th{text-align:right;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--txt-faint);font-weight:700;padding:9px 10px;border-bottom:1px solid var(--line);}
  .lc-tbl th:first-child{text-align:left;}
  .lc-tbl td{text-align:right;padding:10px;border-bottom:1px solid var(--line-soft);font-family:'Space Mono';}
  .lc-tbl td:first-child{text-align:left;font-family:'Manrope';font-weight:600;color:var(--txt);}
  .lc-tbl tr.blend td{background:rgba(182,242,58,.06);font-weight:700;border-top:1px solid rgba(182,242,58,.3);}
  .lc-tbl tr.blend td:first-child{color:var(--lime);}

  /* modal (news/regs) */
  .overlay{position:fixed;inset:0;z-index:200;background:rgba(28,42,56,.5);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:22px;}
  .overlay.show{display:flex;animation:fade .2s;}
  .modal{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:20px;max-width:680px;width:100%;max-height:86vh;overflow:auto;box-shadow:0 40px 90px -30px rgba(30,50,70,.22);}
  .modal-head{padding:22px 24px 16px;border-bottom:1px solid var(--line-soft);position:sticky;top:0;background:var(--panel-2);}
  .modal-body{padding:22px 24px 26px;}
  .mclose{position:absolute;right:18px;top:18px;width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:var(--bg-2);color:var(--txt-dim);cursor:pointer;font-size:16px;display:grid;place-items:center;}
  .mclose:hover{color:var(--txt);}
  .m-ai{display:flex;align-items:center;gap:9px;margin-bottom:14px;}
  .m-ai .av{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--lime),#5ea30e);display:grid;place-items:center;color:#fff;font-size:15px;}
  .m-ai .who{font-weight:700;font-size:13.5px;color:var(--lime);}
  .m-ai .meta{font-size:10px;color:var(--txt-faint);}
  .m-field{margin-bottom:14px;}
  .m-field .k{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--txt-faint);font-weight:700;margin-bottom:5px;}
  .m-field .v{font-size:14px;color:var(--txt);line-height:1.6;}
  .m-prov{list-style:none;padding:0;margin:0;}
  .m-prov li{position:relative;padding-left:20px;margin-bottom:8px;font-size:13.5px;color:var(--txt-dim);line-height:1.55;}
  .m-prov li::before{content:"";position:absolute;left:2px;top:8px;width:7px;height:7px;border-radius:2px;background:var(--lime);}
  .m-link{display:inline-flex;align-items:center;gap:7px;color:var(--cyan);text-decoration:none;font-weight:600;font-size:13px;margin-top:6px;}
  .note{font-size:11.5px;color:var(--txt-faint);background:var(--bg-2);border:1px solid var(--line-soft);border-radius:10px;padding:11px 13px;line-height:1.5;}
  .spinner{width:22px;height:22px;border:2.5px solid var(--line);border-top-color:var(--lime);border-radius:50%;animation:spin 1s linear infinite;display:inline-block;vertical-align:middle;}
  @keyframes spin{to{transform:rotate(360deg);}}

  footer{border-top:1px solid var(--line-soft);padding:22px;text-align:center;color:var(--txt-faint);font-size:11.5px;position:relative;z-index:1;}

  @media(max-width:980px){
    .opt-grid{grid-template-columns:1fr;}
    .grid-news{grid-template-columns:repeat(2,1fr);}
    .kpis{grid-template-columns:repeat(2,1fr);}
    .tabs .tab span{display:none;}
    .table-2{grid-template-columns:1fr;}
    .chart-ov-hint{display:none;}
  }
  @media(max-width:620px){
    .grid-news{grid-template-columns:1fr;}
    .rrow{grid-template-columns:auto 1fr;}
    .rright{grid-column:1/-1;justify-content:flex-end;}
    .hero{padding:34px 0 20px;}
    .ct-popout span.popout-label{display:none;}
  }

/* ============================================================
   AUTH (Deploy B — auth core)
============================================================ */
.nav-right{display:flex;align-items:center;gap:14px;}
.btn-signin{appearance:none;cursor:pointer;font-family:'Manrope';font-weight:700;font-size:13px;
  background:linear-gradient(180deg,var(--lime),#7fae1f);color:#fff;border:none;padding:9px 18px;border-radius:10px;
  box-shadow:0 10px 28px -14px rgba(182,242,58,.6);transition:.15s;}
.btn-signin:hover{filter:brightness(1.06);transform:translateY(-1px);}

#auth-slot{position:relative;}
.acct{display:flex;align-items:center;gap:9px;cursor:pointer;padding:5px 10px 5px 5px;border:1px solid var(--line);border-radius:100px;transition:.15s;}
.acct:hover{border-color:var(--lime);}
.acct-av{width:28px;height:28px;border-radius:50%;background:linear-gradient(180deg,var(--lime),#7fae1f);color:#fff;display:grid;place-items:center;font-family:'Bricolage Grotesque';font-weight:800;font-size:13px;}
.acct-email{font-size:12.5px;font-weight:600;color:var(--txt-dim);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media(max-width:720px){.acct-email{display:none;}}
.acct-menu{position:absolute;right:0;top:46px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:6px;min-width:150px;box-shadow:0 20px 50px -20px rgba(30,50,70,.3);display:none;z-index:210;}
.acct-menu.show{display:block;animation:fade .15s;}
.acct-menu button{width:100%;text-align:left;appearance:none;border:none;background:none;cursor:pointer;font-family:'Manrope';font-weight:600;font-size:13px;color:var(--txt);padding:9px 11px;border-radius:8px;}
.acct-menu button:hover{background:var(--bg-2);color:var(--coral);}

.auth-overlay{position:fixed;inset:0;z-index:300;background:rgba(28,42,56,.5);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:22px;}
.auth-overlay.show{display:flex;animation:fade .2s;}
.auth-modal{position:relative;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:20px;max-width:420px;width:100%;padding:30px 30px 26px;box-shadow:0 40px 90px -30px rgba(30,50,70,.3);}
.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px;}
.auth-title{font-family:'Bricolage Grotesque';font-weight:800;font-size:22px;letter-spacing:-.01em;margin-bottom:6px;}
.auth-sub{font-size:13px;color:var(--txt-faint);line-height:1.5;margin-bottom:22px;}
.auth-field{margin-bottom:14px;}
.auth-field label{display:block;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--txt-faint);font-weight:700;margin-bottom:6px;}
.auth-field input{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;color:var(--txt);font-family:'Manrope';font-size:14px;padding:11px 13px;transition:.15s;}
.auth-field input:focus{outline:none;border-color:var(--lime);}
.auth-err{font-size:12.5px;color:var(--coral);min-height:18px;margin:2px 0 10px;line-height:1.4;}
.auth-submit{width:100%;appearance:none;cursor:pointer;font-family:'Manrope';font-weight:700;font-size:14px;
  background:linear-gradient(180deg,var(--lime),#7fae1f);color:#fff;border:none;padding:12px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;min-height:44px;transition:.15s;}
.auth-submit:hover{filter:brightness(1.06);}
.auth-submit:disabled{opacity:.7;cursor:default;}
.auth-switch{text-align:center;font-size:13px;color:var(--txt-faint);margin-top:16px;}
.auth-switch a{color:var(--cyan);font-weight:700;cursor:pointer;margin-left:4px;}
.auth-switch a:hover{text-decoration:underline;}

/* ============================================================
   AI EDITORIAL
============================================================ */
  .ed-admin-bar{display:flex;gap:8px;align-items:center;}
  .ed-pub-btn{appearance:none;cursor:pointer;font-family:'Manrope';font-weight:700;font-size:12.5px;
    background:linear-gradient(180deg,var(--lime),#7fae1f);color:#fff;border:none;padding:9px 15px;border-radius:10px;transition:.15s;}
  .ed-pub-btn:hover{filter:brightness(1.06);transform:translateY(-1px);}

  /* Featured / hero card */
  .ed-feature{position:relative;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);
    border-radius:20px;overflow:hidden;margin-bottom:30px;cursor:pointer;transition:.18s;}
  .ed-feature:hover{border-color:rgba(77,158,22,.4);transform:translateY(-2px);box-shadow:0 24px 60px -30px rgba(30,50,70,.28);}
  .ed-feature-cover{width:100%;aspect-ratio:21/8;object-fit:cover;display:block;background:var(--bg-2);border-bottom:1px solid var(--line);}
  .ed-feature-body{padding:26px 30px 28px;}
  .ed-kicker{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--lime);font-weight:800;margin-bottom:14px;}
  .ed-kicker .no{background:rgba(77,158,22,.12);border:1px solid rgba(77,158,22,.3);padding:3px 9px;border-radius:100px;}
  .ed-feature h2{font-family:'Bricolage Grotesque';font-weight:800;font-size:30px;line-height:1.16;letter-spacing:-.02em;
    margin:0 0 14px;color:var(--txt);}
  @media(max-width:680px){.ed-feature h2{font-size:23px;}.ed-feature-body{padding:22px 20px 24px;}}
  .ed-feature .ed-standfirst{font-size:15px;line-height:1.62;color:var(--txt-dim);margin:0 0 18px;max-width:70ch;}
  .ed-byline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;font-weight:600;color:var(--amber);}
  .ed-byline .av{width:30px;height:30px;border-radius:50%;background:linear-gradient(180deg,var(--lime),#7fae1f);
    color:#fff;display:grid;place-items:center;font-size:14px;flex:none;}
  .ed-byline b{color:#a05f08;font-weight:800;}
  .ed-byline .sep{width:3px;height:3px;border-radius:50%;background:var(--amber);opacity:.55;}
  .ed-read{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--lime);display:inline-flex;align-items:center;gap:5px;}

  /* Archive */
  .ed-archive-h{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt-faint);font-weight:800;
    margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line-soft);}
  .ed-archive{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
  .ed-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 19px;cursor:pointer;transition:.15s;display:flex;flex-direction:column;gap:10px;}
  .ed-card:hover{border-color:rgba(77,158,22,.4);transform:translateY(-2px);}
  .ed-card .ed-cno{font-family:'Space Mono';font-size:11px;font-weight:700;color:var(--lime);letter-spacing:.05em;}
  .ed-card h3{font-family:'Bricolage Grotesque';font-weight:700;font-size:16px;line-height:1.28;letter-spacing:-.01em;margin:0;color:var(--txt);}
  .ed-card .ed-cmeta{font-size:11.5px;color:var(--txt-faint);margin-top:auto;}

  /* Reader overlay */
  .ed-overlay{position:fixed;inset:0;z-index:320;background:rgba(28,42,56,.55);backdrop-filter:blur(7px);
    display:none;justify-content:center;overflow-y:auto;padding:40px 20px;}
  .ed-overlay.show{display:flex;animation:fade .2s;}
  .ed-reader{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:20px;
    max-width:760px;width:100%;height:max-content;padding:0;box-shadow:0 50px 120px -40px rgba(20,34,47,.45);}
  .ed-article{padding:50px 56px 54px;}
  @media(max-width:680px){.ed-article{padding:40px 24px 44px;}}
  .ed-article .ed-kicker{margin-bottom:18px;}
  .ed-article h1{font-family:'Bricolage Grotesque';font-weight:800;font-size:32px;line-height:1.14;letter-spacing:-.02em;
    margin:0 0 18px;color:var(--txt);}
  @media(max-width:680px){.ed-article h1{font-size:25px;}}
  .ed-article .ed-art-byline{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;font-weight:600;
    color:var(--amber);background:rgba(200,120,10,.10);border:1px solid rgba(200,120,10,.28);
    padding:8px 14px;border-radius:100px;margin-bottom:26px;}
  .ed-article .ed-art-byline b{color:#a05f08;font-weight:800;}
  .ed-article .ed-art-byline .sep{width:3px;height:3px;border-radius:50%;background:var(--amber);opacity:.55;}
  .ed-article .ed-art-byline .av{background:linear-gradient(180deg,var(--amber),#a05f08)!important;}
  .ed-article h2{font-family:'Bricolage Grotesque';font-weight:800;font-size:21px;letter-spacing:-.01em;
    color:var(--txt);margin:34px 0 14px;line-height:1.25;}
  .ed-article p{font-size:15.5px;line-height:1.75;color:var(--txt-dim);margin:0 0 18px;}
  .ed-article p strong,.ed-article li strong{color:var(--txt);font-weight:700;}
  .ed-article em{font-style:italic;}
  .ed-article img{width:100%;border-radius:14px;border:1px solid var(--line);margin:10px 0 22px;display:block;background:var(--bg-2);}
  .ed-article hr{border:none;border-top:1px solid var(--line-soft);margin:30px 0;}
  .ed-article .ed-foot{font-size:12.5px;color:var(--txt-faint);line-height:1.6;font-style:italic;margin-top:6px;}
  .ed-article blockquote{margin:0 0 18px;padding:2px 0 2px 18px;border-left:3px solid var(--lime);color:var(--txt-dim);}

  /* Publish form */
  #edpub-body .auth-field textarea{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;
    color:var(--txt);font-family:'Manrope';font-size:13.5px;padding:11px 13px;line-height:1.55;resize:vertical;min-height:90px;}
  #edpub-body .auth-field textarea:focus{outline:none;border-color:var(--lime);}
  #edpub-body .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  @media(max-width:560px){#edpub-body .row2{grid-template-columns:1fr;}}
  #edpub-body code{font-family:'Space Mono';font-size:11.5px;background:var(--bg-2);padding:1px 5px;border-radius:5px;color:var(--cyan);}

/* ============================================================
   GATING + SAVE/BOOKMARK (Deploy B part 2)
============================================================ */
/* Locked finance preview */
.fin-lock-wrap{position:relative;margin-top:16px;border-radius:16px;overflow:hidden;}
.fin-lock-blur{filter:blur(7px);pointer-events:none;user-select:none;opacity:.55;}
.fin-lock-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,rgba(20,28,38,.45),rgba(20,28,38,.7));backdrop-filter:blur(1px);padding:24px;}
.fin-lock-card{text-align:center;max-width:360px;background:var(--panel-2);border:1px solid var(--line);
  border-radius:16px;padding:24px 24px 22px;box-shadow:0 30px 70px -25px rgba(30,50,70,.4);}
.fin-lock-ico{font-size:26px;margin-bottom:10px;}
.fin-lock-title{font-family:'Bricolage Grotesque';font-weight:800;font-size:17px;letter-spacing:-.01em;margin-bottom:7px;}
.fin-lock-sub{font-size:12.5px;color:var(--txt-faint);line-height:1.55;margin-bottom:16px;}

/* Save button (scenarios) */
.btn-save{display:inline-flex;align-items:center;gap:8px;appearance:none;cursor:pointer;
  font-family:'Manrope';font-weight:700;font-size:13px;color:var(--txt);
  background:var(--bg-2);border:1px solid var(--line);padding:10px 16px;border-radius:11px;transition:.15s;}
.btn-save:hover{border-color:var(--lime);color:var(--lime);}
.btn-save:disabled{opacity:.7;cursor:default;}

/* Bookmark buttons (tenders + news) */
.bm-btn{appearance:none;cursor:pointer;background:none;border:none;padding:4px;color:var(--txt-faint);
  display:inline-grid;place-items:center;border-radius:7px;transition:.15s;}
.bm-btn svg{width:17px;height:17px;}
.bm-btn:hover{color:var(--cyan);background:rgba(57,216,230,.1);}
.bm-btn.on{color:var(--cyan);}
.bm-btn.on svg{fill:var(--cyan);}
.bm-news{margin-left:auto;}

/* ============================================================
   DASHBOARD + ANALYTICS (Deploy B)
============================================================ */
.dash-sec{margin-bottom:26px;}
.dash-sec-h{display:flex;align-items:center;gap:9px;font-family:'Bricolage Grotesque';font-weight:700;font-size:16px;letter-spacing:-.01em;margin-bottom:14px;}
.dash-count{font-family:'Space Mono';font-size:12px;background:var(--bg-2);color:var(--txt-faint);padding:2px 9px;border-radius:100px;font-weight:700;}
.dash-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;}
.dash-card{position:relative;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:14px;padding:15px 16px;transition:.15s;}
.dash-card:hover{border-color:var(--cyan);}
.dash-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;}
.dash-kind{font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:6px;background:rgba(91,155,255,.14);color:var(--blue);}
.dash-kind-lcoe{background:rgba(91,155,255,.14);color:var(--blue);}
.dash-kind-optimizer{background:rgba(169,139,255,.14);color:var(--violet);}
.dash-date{font-family:'Space Mono';font-size:11px;color:var(--txt-faint);}
.dash-card-title{font-weight:700;font-size:14px;line-height:1.35;letter-spacing:-.01em;margin-bottom:6px;}
.dash-card-metric{font-size:12.5px;color:var(--txt-dim);font-family:'Space Mono';}
.dash-link{display:inline-block;margin-top:4px;font-size:12px;font-weight:600;color:var(--cyan);text-decoration:none;}
.dash-del{margin-top:12px;appearance:none;cursor:pointer;background:none;border:1px solid var(--line);color:var(--txt-faint);
  font-family:'Manrope';font-weight:600;font-size:11.5px;padding:5px 11px;border-radius:8px;transition:.15s;}
.dash-del:hover{border-color:var(--coral);color:var(--coral);}
.dash-empty{font-size:13px;color:var(--txt-faint);padding:14px 2px;}

.an-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
@media(max-width:680px){.an-stats{grid-template-columns:repeat(2,1fr);}}
.an-stat{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center;}
.an-n{font-family:'Bricolage Grotesque';font-weight:800;font-size:26px;letter-spacing:-.02em;}
.an-l{font-size:11px;color:var(--txt-faint);text-transform:uppercase;letter-spacing:.04em;font-weight:600;margin-top:4px;}
.an-card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:14px;padding:18px;margin-top:16px;}
.an-card-h{font-family:'Bricolage Grotesque';font-weight:700;font-size:15px;margin-bottom:14px;}
.an-row{display:flex;align-items:center;gap:12px;margin-bottom:9px;}
.an-evt{font-family:'Space Mono';font-size:12.5px;min-width:150px;color:var(--txt-dim);}
.an-bar-wrap{flex:1;height:8px;background:var(--bg-2);border-radius:100px;overflow:hidden;}
.an-bar{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--lime));border-radius:100px;}
.an-val{font-family:'Space Mono';font-size:12.5px;font-weight:700;min-width:42px;text-align:right;}

/* ============================================================
   DETAILED SUMMARY (key params strip + upsell)
============================================================ */
.kp-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:4px 0 16px;}
.kp-cell{background:var(--panel-2);padding:11px 13px;}
.kp-k{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--txt-faint);font-weight:700;margin-bottom:4px;}
.kp-v{font-size:13px;font-weight:700;font-family:'Space Mono';letter-spacing:-.01em;line-height:1.3;}
.detail-upsell{background:linear-gradient(135deg,rgba(57,216,230,.08),rgba(182,242,58,.06));
  border:1px solid rgba(57,216,230,.3);border-radius:14px;padding:16px 18px;margin:14px 0;font-size:13px;line-height:1.55;color:var(--txt-dim);}

/* ============================================================
   LCOE two-column layout (Deploy: LCOE redesign)
============================================================ */
.lc-grid{display:grid;grid-template-columns:400px 1fr;gap:20px;align-items:start;}
.lc-inputs{display:flex;flex-direction:column;}
.lc-intro{font-size:12.5px;color:var(--txt-dim);line-height:1.55;margin-bottom:14px;}
.lc-grid .lc-block{margin:0 0 10px;}
.lc-grid .lc-block.hide{display:none;}
/* let accordion summaries inside lc-block carry the component colour */
.lc-grid .acc .acc-h .pico{margin-right:2px;}
@media(max-width:880px){ .lc-grid{grid-template-columns:1fr;} }

/* Dashboard scenario load action */
.dash-card-actions{display:flex;gap:8px;margin-top:12px;}
.dash-load{appearance:none;cursor:pointer;background:var(--bg-2);border:1px solid var(--line);color:var(--txt);
  font-family:'Manrope';font-weight:700;font-size:11.5px;padding:5px 13px;border-radius:8px;transition:.15s;}
.dash-load:hover{border-color:var(--cyan);color:var(--cyan);}
.dash-card-actions .dash-del{margin-top:0;}

/* ============================================================
   NEWS date-bucket groups (collapsible) + article link
============================================================ */
.grid-news{display:block;}  /* now a container for groups, not the grid itself */
.news-group{margin-bottom:22px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.012);}
.news-group-h{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;padding:13px 18px;
  font-family:'Bricolage Grotesque';font-weight:700;font-size:15px;letter-spacing:-.01em;
  background:var(--panel-2);border-bottom:1px solid transparent;user-select:none;}
.news-group[open] .news-group-h{border-bottom-color:var(--line);}
.news-group-h::-webkit-details-marker{display:none;}
.ng-chev{font-family:'Manrope';font-size:19px;line-height:1;color:var(--txt-faint);transition:transform .2s ease;display:inline-block;}
.news-group[open] .ng-chev{transform:rotate(90deg);}
.ng-count{font-family:'Space Mono';font-size:11.5px;font-weight:700;color:var(--txt-faint);background:var(--bg-2);padding:2px 9px;border-radius:100px;}
.grid-news-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:16px 18px 20px;}
@media(max-width:980px){ .grid-news-inner{grid-template-columns:repeat(2,1fr);} }
@media(max-width:640px){ .grid-news-inner{grid-template-columns:1fr;} }

.ncard-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px;}
.narticle{font-size:12px;font-weight:700;color:var(--cyan);text-decoration:none;white-space:nowrap;}
.narticle:hover{text-decoration:underline;}

/* ============================================================
   INCENTIVE INTELLIGENCE
============================================================ */
  .inc-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px;}
  @media(max-width:760px){.inc-controls{grid-template-columns:1fr 1fr;}}
  .inc-field{display:flex;flex-direction:column;gap:6px;}
  .inc-field label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--txt-faint);font-weight:700;}
  .inc-field select{appearance:none;background:var(--panel) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%238497a8'/></svg>") no-repeat right 13px center;
    border:1px solid var(--line);border-radius:10px;color:var(--txt);font-family:'Manrope';font-size:13.5px;font-weight:600;padding:11px 32px 11px 13px;cursor:pointer;}
  .inc-field select:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px rgba(77,158,22,.12);}

  .inc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px;align-items:start;}
  .inc-cat{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;}
  .inc-cat-h{display:flex;align-items:center;justify-content:space-between;font-family:'Bricolage Grotesque';font-weight:800;font-size:14.5px;
    letter-spacing:-.01em;color:var(--txt);padding:14px 17px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border-bottom:1px solid var(--line-soft);}
  .inc-cat-n{font-family:'Space Mono';font-size:11px;font-weight:700;color:var(--lime);background:rgba(77,158,22,.12);border-radius:100px;padding:2px 9px;}
  .inc-item{padding:14px 17px;border-bottom:1px solid var(--line-soft);}
  .inc-item:last-child{border-bottom:none;}
  .inc-item-sub{font-weight:700;font-size:13.5px;color:var(--txt);margin-bottom:4px;}
  .inc-item-q{display:inline-block;font-family:'Space Mono';font-size:12px;font-weight:700;color:#a05f08;background:rgba(200,120,10,.1);
    border:1px solid rgba(200,120,10,.25);border-radius:7px;padding:2px 9px;margin-bottom:7px;}
  .inc-item-sum{font-size:12.5px;line-height:1.55;color:var(--txt-dim);}
  .inc-item-cond{font-size:11.5px;line-height:1.5;color:var(--txt-faint);margin-top:7px;}
  .inc-item-cond span{font-weight:700;color:var(--txt-dim);}
  .inc-item-ref{font-size:10.5px;color:var(--txt-faint);margin-top:6px;font-style:italic;}

  .inc-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:24px;
    padding:14px 18px;background:var(--panel);border:1px solid var(--line);border-radius:12px;font-size:12.5px;color:var(--txt-dim);}
  .inc-foot b{color:var(--txt);}
  .inc-flag{appearance:none;cursor:pointer;font-family:'Manrope';font-weight:700;font-size:12px;color:var(--coral);
    background:rgba(216,59,50,.08);border:1px solid rgba(216,59,50,.25);border-radius:8px;padding:7px 13px;transition:.15s;}
  .inc-flag:hover{background:rgba(216,59,50,.14);}

  #incadmin-body .ia-techs{display:flex;flex-wrap:wrap;gap:8px 16px;padding:4px 0;}
  #incadmin-body .ia-chk{font-size:12.5px;color:var(--txt-dim);font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;}
  #incadmin-body select,#incadmin-body input[type=text],#incadmin-body input[type=date],#incadmin-body input:not([type]),#incadmin-body textarea{
    width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:9px;color:var(--txt);font-family:'Manrope';font-size:13px;padding:9px 11px;}
  #incadmin-body input[type=file]{font-size:12.5px;color:var(--txt-dim);}
  #incadmin-body textarea{resize:vertical;line-height:1.5;}
  #incadmin-body .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  @media(max-width:560px){#incadmin-body .row2{grid-template-columns:1fr;}}
  .ia-rev-h{font-size:13px;font-weight:700;color:var(--txt);margin:18px 0 12px;padding-top:16px;border-top:1px solid var(--line-soft);}
  .ia-note{display:block;font-size:11.5px;font-weight:500;color:var(--amber);margin-top:4px;}
  .ia-rows{display:flex;flex-direction:column;gap:12px;max-height:46vh;overflow-y:auto;padding-right:4px;}
  @media(max-width:560px){.ia-rows{max-height:none;}}
  .ia-row{background:var(--bg-2);border:1px solid var(--line);border-radius:11px;padding:11px;display:flex;flex-direction:column;gap:7px;}
  .ia-row-top{display:flex;gap:7px;align-items:center;}
  .ia-row-top .ia-cat{flex:0 0 38%;}
  .ia-row-top .ia-sub{flex:1;}
  .ia-del{flex:none;appearance:none;cursor:pointer;background:rgba(216,59,50,.1);border:1px solid rgba(216,59,50,.25);color:var(--coral);
    border-radius:8px;width:32px;height:32px;font-size:13px;}
  .ia-del:hover{background:rgba(216,59,50,.18);}
  .ia-add{appearance:none;cursor:pointer;width:100%;margin-top:12px;font-family:'Manrope';font-weight:700;font-size:13px;
    color:var(--lime);background:rgba(77,158,22,.08);border:1px dashed rgba(77,158,22,.4);border-radius:10px;padding:11px;transition:.15s;}
  .ia-add:hover{background:rgba(77,158,22,.14);}

  /* Per-row technology tagging in the admin review */
  .ia-rtechs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding-top:7px;border-top:1px dashed var(--line-soft);}
  .ia-rtechs-l{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--txt-faint);font-weight:700;}
  .ia-rtech{font-size:11.5px;color:var(--txt-dim);font-weight:600;display:inline-flex;align-items:center;gap:5px;cursor:pointer;}
  .ia-rtech input{width:auto;}

  /* Incentive admin modal: tall content must scroll, and the overlay must
     allow scrolling so the Publish button is always reachable. */
  #incadmin-overlay{align-items:flex-start;overflow-y:auto;padding:22px 22px 60px;}
  #incadmin-overlay .auth-modal{max-height:none;margin:auto;}
  #incadmin-body{max-height:none;}

  /* Incentive: mode toggle + two-state comparison */
  .inc-mode{display:inline-flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:4px;margin-bottom:18px;}
  .inc-mode-btn{appearance:none;cursor:pointer;font-family:'Manrope';font-weight:700;font-size:12.5px;color:var(--txt-dim);
    background:transparent;border:none;padding:8px 16px;border-radius:8px;transition:.15s;}
  .inc-mode-btn.active{background:linear-gradient(180deg,var(--lime),#7fae1f);color:#fff;}
  .inc-pol-tag{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:10.5px;font-weight:700;color:var(--cyan);
    background:rgba(14,155,173,.1);border:1px solid rgba(14,155,173,.25);border-radius:100px;padding:3px 9px;}

  .inc-cmp{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);}
  .inc-cmp-head{display:grid;grid-template-columns:150px 1fr 1fr;background:linear-gradient(180deg,var(--panel-2),var(--panel));border-bottom:1px solid var(--line);}
  .inc-cmp-state{padding:14px 16px;font-family:'Bricolage Grotesque';font-weight:800;font-size:15px;color:var(--txt);border-left:1px solid var(--line-soft);}
  .inc-cmp-row{display:grid;grid-template-columns:150px 1fr 1fr;border-bottom:1px solid var(--line-soft);}
  .inc-cmp-row:last-child{border-bottom:none;}
  .inc-cmp-cat{padding:14px 16px;font-weight:800;font-size:12.5px;color:var(--txt);background:var(--bg-2);display:flex;align-items:flex-start;}
  .inc-cmp-cell{padding:12px 14px;border-left:1px solid var(--line-soft);display:flex;flex-direction:column;gap:12px;}
  .inc-cmp-cell .inc-item{padding:0;border:none;}
  .inc-cmp-empty{color:var(--txt-faint);font-size:13px;padding:4px 0;}
  @media(max-width:720px){
    .inc-cmp-head{grid-template-columns:90px 1fr 1fr;}
    .inc-cmp-row{grid-template-columns:90px 1fr 1fr;}
    .inc-cmp-cat{font-size:11px;padding:10px;}
    .inc-cmp-cell{padding:10px;}
  }
