/* ipowork MB Portal styles. Split out of mb.html (Stage 2). */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#FAFAF8;
  --surface:#FFFFFF;
  --card:#FFFFFF;
  --card2:#F7F3EE;
  --teal:#0D5C6B;
  --teal2:#1A7D90;
  --tld:#08404D;
  --green:#0D5C6B;
  --green2:#1A7D90;
  --ok:#1A9E6B;
  --tl:#0D5C6B;
  --tll:#1A7D90;
  --saffron:#E88A2E;
  --saffron2:#D4860C;
  --gold:#C9932A;
  --gold2:#E88A2E;
  --amber:#E88A2E;
  --amber2:#C9932A;
  --sf:#E88A2E;
  --go:#C9932A;
  --red:#C0392B;
  --er:#C0392B;
  --orange:#E88A2E;
  --wn:#D4860C;
  --violet:#5B6FEC;
  --purple:#5B6FEC;
  --cyan:#0D5C6B;
  --cyan2:#1A7D90;
  --blue:#1A7D90;
  --text:#2C3E47;
  --txt:#2C3E47;
  --sl:#2C3E47;
  --muted:#6B7E85;
  --mu:#6B7E85;
  --dim:#6B7E85;
  --cr:#F7F3EE;
  --iv:#FAFAF8;
  --wh:#FFFFFF;
  --border:rgba(13,92,107,.15);
  --border2:rgba(13,92,107,.1);
  --bd:#E2E8EA;
  --bdr:rgba(13,92,107,.15);
  --bdr2:rgba(13,92,107,.06);
  --sur:#FFFFFF;
  --dimmer:rgba(13,92,107,.04);
  --sh:0 2px 12px rgba(13,92,107,.08);
  --sh2:0 8px 32px rgba(13,92,107,.16);
  --bar:54px;
  --sw:240px;
  --ra:10px;
  --font:'Sora',sans-serif;
  --serif:'Fraunces',Georgia,serif;
  --mono:'IBM Plex Mono',monospace;
}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--sl);line-height:1.65;-webkit-font-smoothing:antialiased;font-size:14px;min-height:100vh;overflow-x:hidden}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:#F7F3EE}
::-webkit-scrollbar-thumb{background:rgba(13,92,107,.25);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:#0D5C6B}
/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--bd);box-shadow:0 1px 0 var(--bd)}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-logo-mark{display:none}
.nav-logo-text{font-family:var(--serif);font-weight:900;font-size:20px;color:var(--tld);letter-spacing:-.3px}
.nav-links{display:flex;gap:24px;align-items:center}
.nav-links a{color:var(--muted);text-decoration:none;font-size:12px;font-weight:600;transition:.2s}
.nav-links a:hover{color:var(--tl)}
.nav-cta{display:flex;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 20px;border-radius:8px;font-family:var(--font);font-weight:700;font-size:12px;cursor:pointer;border:none;transition:.2s;text-decoration:none}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}
.btn-outline:hover{border-color:var(--cyan);color:var(--cyan)}
.btn-cyan{background:linear-gradient(135deg,#1D9E75,#2DC48F);color:var(--bg)}
.btn-cyan:hover{opacity:.9;transform:translateY(-1px)}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--bg)}
/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:100px 32px 60px;position:relative;overflow:hidden;text-align:center}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 55% at 50% 10%,rgba(29,158,117,.07) 0%,transparent 65%)}
.hero-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(29,158,117,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(29,158,117,.03) 1px,transparent 1px);background-size:40px 40px}
.hero-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:99px;background:rgba(29,158,117,.08);border:1px solid rgba(29,158,117,.2);font-size:12px;font-weight:700;color:var(--cyan);text-transform:uppercase;letter-spacing:1px;margin-bottom:24px}
.hero h1{font-family:var(--serif);font-size:clamp(34px,5.5vw,68px);font-weight:900;line-height:1.05;margin-bottom:20px}
.hero h1 span{background:linear-gradient(135deg,#1D9E75,#2DC48F);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub{font-size:15px;color:var(--muted);max-width:580px;margin:0 auto 36px;line-height:1.7}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:48px}
.hero-stats{display:flex;gap:40px;justify-content:center;flex-wrap:wrap}
.hero-stat{text-align:center}
.hero-stat-num{font-family:var(--serif);font-size:28px;font-weight:900;color:var(--tld)}
.hero-stat-lbl{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-top:2px}
/* SECTIONS */
.section{padding:80px 32px}
.container{max-width:1140px;margin:0 auto}
.section-badge{display:inline-flex;padding:4px 12px;border-radius:99px;background:rgba(29,158,117,.08);border:1px solid rgba(29,158,117,.18);font-size:12px;font-weight:700;color:var(--cyan);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}
.section-title{font-family:var(--serif);font-size:clamp(28px,4vw,44px);font-weight:900;line-height:1.1;margin-bottom:12px}
.section-sub{font-size:15px;color:var(--muted);max-width:520px;line-height:1.7}
/* DEAL CARD PREVIEW */
.deal-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:48px}
.deal-card{padding:20px;border-radius:14px;background:var(--card);border:1px solid var(--border);position:relative}
.deal-code{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;color:var(--cyan);margin-bottom:6px}
.deal-status{position:absolute;top:16px;right:16px;padding:2px 8px;border-radius:99px;font-size:12px;font-weight:700}
.deal-status.hot{background:rgba(255,77,109,.12);color:var(--red);border:1px solid rgba(255,77,109,.2)}
.deal-status.warm{background:rgba(255,140,66,.12);color:var(--orange);border:1px solid rgba(255,140,66,.2)}
/* FEATURES */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:48px}
.feat-card{padding:28px;border-radius:16px;background:var(--card);border:1px solid var(--border);transition:.3s;position:relative;overflow:hidden}
.feat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--cyan2));opacity:0;transition:.3s}
.feat-card:hover{border-color:rgba(29,158,117,.3);transform:translateY(-3px)}
.feat-card:hover::before{opacity:1}
.feat-icon{font-size:28px;margin-bottom:14px}
.feat-title{font-family:var(--serif);font-size:18px;font-weight:700;margin-bottom:8px}
.feat-desc{font-size:12px;color:var(--muted);line-height:1.7}
/* TIERS */
.tier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:48px}
.tier-card{padding:28px;border-radius:16px;background:var(--card);border:1px solid var(--border);position:relative}
.tier-card.featured{border-color:var(--cyan)}
.tier-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:3px 16px;border-radius:99px;background:linear-gradient(135deg,#1D9E75,#2DC48F);color:var(--bg);font-size:12px;font-weight:700;white-space:nowrap}
/* CTA */
.cta-strip{padding:80px 32px;background:linear-gradient(135deg,rgba(13,92,107,.04),rgba(247,243,238,1));border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center}
/* FOOTER */
.footer{padding:40px 32px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.footer-copy{font-size:12px;color:var(--muted)}
.footer-links{display:flex;gap:20px}
.footer-links a{font-size:13px;color:var(--dim);text-decoration:none}
/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(2,7,13,.92);z-index:500;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(8px)}
.modal-overlay.open{display:flex}
.modal{background:var(--surface);border:1px solid var(--border);border-radius:20px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;position:relative}
.modal-head{padding:24px 24px 0;display:flex;align-items:center;justify-content:space-between}
.modal-close{background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer;padding:4px}
.modal-body{padding:24px}
.dots{display:flex;gap:6px;justify-content:center;margin-bottom:20px}
.dot{width:6px;height:6px;border-radius:50%;background:var(--dim);transition:.3s}
.dot.active{background:var(--cyan);width:20px;border-radius:3px}
.field{margin-bottom:16px}
.lbl{display:block;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}
.inp{width:100%;padding:10px 12px;background:var(--bg);border:1.5px solid var(--bd);border-radius:9px;color:var(--sl);font-family:var(--font);font-size:13px;outline:none;transition:.2s}
.inp:focus{border-color:var(--cyan);background:rgba(29,158,117,.03)}
.inp::placeholder{color:var(--dim)}

.err{font-size:11px;color:var(--red);margin-top:6px;display:none}
.err.show{display:block}
.otp-wrap{display:flex;gap:8px;justify-content:center;margin:12px 0}
.otp-inp{width:44px;height:48px;text-align:center;font-size:20px;font-weight:700;font-family:'JetBrains Mono',monospace;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:#fff;outline:none;transition:.2s}
.otp-inp:focus{border-color:var(--cyan)}
.step-screen{display:none}
.step-screen.active{display:block}
/* PORTAL */
#portal-overlay{position:fixed;inset:0;background:var(--bg);z-index:300;display:none;flex-direction:column}
#portal-overlay.open{display:flex}
.portal-topbar{height:52px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:16px;flex-shrink:0}
.portal-layout{display:flex;flex:1;overflow:hidden}
.portal-sidebar{width:220px;background:#FFFFFF;border-right:1px solid var(--border);padding:16px 0;overflow-y: auto;
  overflow-x: visible;flex-shrink:0;position:relative}
.portal-main{flex:1;overflow-y:auto;background:var(--bg)}
.nav-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  margin: 2px 6px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: var(--muted);
  transition: all .15s;
  overflow: hidden;
  min-width: 0;
}
.nav-item:hover{background:rgba(29,158,117,.04);color:var(--text)}
.nav-item.active{border-left-color:var(--cyan);color:var(--text);background:rgba(29,158,117,.05)}
.nav-badge {
  margin-left: auto;
  font-size: 10px;
  font-weight: 700;
  border-radius: 4px;
  padding: 2px 5px;
  flex-shrink: 0;
  white-space: nowrap;
}
.nav-badge.live{background:rgba(255,77,109,.12);color:var(--red)}
.nav-badge.new{background:rgba(74,158,122,.12);color:var(--green)}
.nav-badge.ai{background:rgba(29,158,117,.12);color:var(--cyan)}
/* PORTAL CARDS */
.portal-pad{padding:28px}
.page-title{font-family:var(--serif);font-size:24px;font-weight:900;color:var(--text);margin-bottom:4px}
.page-sub{font-size:13px;color:var(--muted);margin-bottom:24px}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:16px}
.card-title{font-size:12px;font-weight:700;margin-bottom:12px}
/* DEAL CARDS IN PORTAL */
.pdeal-card{padding:16px;border-radius:12px;background:var(--card);border:1px solid var(--border);transition:.2s;margin-bottom:10px}
.pdeal-card:hover{border-color:rgba(29,158,117,.25)}
.pdeal-hot{border-left:3px solid var(--red)}
.pdeal-warm{border-left:3px solid var(--orange)}
.pdeal-pipeline{border-left:3px solid var(--dim)}
.score-circle{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:13px;font-weight:900;flex-shrink:0}
/* AI CHAT (same as issuer) */
.ai-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.ai-card{background:#fff;border:1.5px solid #E2E8EA;border-radius:14px;cursor:pointer;transition:.2s;position:relative;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 4px rgba(13,92,107,.06)}
.ai-card:hover{transform:translateY(-3px);border-color:#0D5C6B;box-shadow:0 4px 20px rgba(13,92,107,.12)}
.ai-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:10px}
.ai-card-name{font-size:13px;font-weight:800;color:#08404D;margin-bottom:5px;line-height:1.25}
.ai-card-tag{font-size:12px;color:#6B7E85;line-height:1.55}
.ai-badge{font-size:10px;font-weight:800;padding:2px 7px;border-radius:99px}
.ai-badge.free{background:rgba(74,158,122,.12);color:var(--green)}
.ai-badge.premium{background:rgba(200,150,30,.12);color:var(--gold)}
.chat-wrap{display:flex;flex-direction:column;height:calc(100vh - 52px)}
.chat-head{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;flex-shrink:0}
.chat-msgs{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}
.msg{max-width:80%;padding:12px 16px;border-radius:12px;font-size:13px;line-height:1.75}
.msg.user{align-self:flex-end;background:rgba(29,158,117,.12);border:1px solid rgba(29,158,117,.18)}
.msg.ai{align-self:flex-start;background:var(--card);border:1px solid var(--border)}
.chat-input-area{padding:16px;border-top:1px solid var(--border);flex-shrink:0}
.chat-toolbar{display:flex;gap:8px;align-items:center}
.chat-textarea{flex:1;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:#fff;font-family:var(--font);font-size:13px;outline:none;resize:none}
.chat-textarea:focus{border-color:var(--cyan)}
.send-btn{width:34px;height:34px;border-radius:7px;border:none;background:linear-gradient(135deg,#1D9E75,#2DC48F);color:var(--bg);cursor:pointer;font-size:12px;font-weight:700}
.typing{display:flex;gap:5px;align-items:center;padding:10px 14px}
.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:typing 1.2s infinite}
.typing span:nth-child(2){animation-delay:.2s}
.typing span:nth-child(3){animation-delay:.4s}
@keyframes typing{0%,80%,100%{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}
/* PRICING PAGE */
.pp-card{padding:24px;border-radius:14px;background:var(--card);border:1px solid var(--border);position:relative;transition:.2s}
.pp-card:hover{border-color:rgba(29,158,117,.25)}
.pp-card.featured{border-color:var(--cyan)}
.pay-tab{padding:7px 14px;border-radius:6px;border:1px solid var(--border);background:none;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;transition:.2s;font-family:var(--font)}
.pay-tab.active{background:rgba(29,158,117,.12);border-color:var(--cyan);color:var(--cyan)}
/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.fade-up{animation:fadeUp .6s ease both}
.fade-up-2{animation:fadeUp .6s .1s ease both}
.fade-up-3{animation:fadeUp .6s .2s ease both}
@media(max-width:768px){.nav-links{display:none}.portal-sidebar{display:none}}

/* ── PORTAL SWITCHER BAR ── */
.portal-switcher{background:rgba(5,9,15,.95);border-bottom:1px solid rgba(255,255,255,.05);padding:6px 16px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px}
.ps-label{color:var(--dim,var(--dim));font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-right:4px;white-space:nowrap}
.ps-link{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:6px;text-decoration:none;font-weight:600;font-size:13px;color:var(--muted,var(--muted));border:1px solid transparent;transition:.15s;white-space:nowrap}
.ps-link:hover{color:#fff;border-color:rgba(255,255,255,.07);background:var(--bg)}
.ps-link.active{color:#fff;background:var(--surface);border-color:rgba(255,255,255,.07)}
.ps-home{color:#F28C00 !important}
.ps-home:hover{background:rgba(232,176,64,.08) !important;border-color:rgba(232,176,64,.2) !important}


  /* Light mode overrides */
  body { background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; }
  
  /* Portal sidebar — deep teal */
  .portal-sidebar, #psidebar { background:#FFFFFF; border-right: 1px solid rgba(29,158,117,.12) !important; }
  .nav-item { color: var(--muted) !important; }
  .nav-item:hover { background: rgba(29,158,117,.08) !important; color: var(--text) !important; }
  .nav-item.active { background: rgba(13,92,107,.1) !important; color: #0D5C6B !important; border-left: 3px solid #0D5C6B !important; padding-left: 9px !important; }
  .nav-badge { background: rgba(29,158,117,.15) !important; color: #fff !important; }
  .nav-sec { color: #6B7E85 !important; font-size:11px; letter-spacing:.6px; }
  
  /* Portal topbar */
  .portal-topbar { background: var(--surface) !important; border-bottom: 1px solid rgba(29,158,117,.15) !important; }
  
  /* Portal main */
  .portal-main, #pmain { background: var(--bg) !important; }
  
  /* Cards */
  .portal-pad { padding: 22px 24px; max-width: 100%; box-sizing: border-box; }
  
  /* Inputs */
  .inp { background: var(--bg) !important; border: 1px solid rgba(255,255,255,.07) !important; color: var(--text) !important; }
  .inp:focus { border-color: #1D9E75 !important; box-shadow: 0 0 0 3px rgba(29,158,117,.12) !important; }
  .inp::placeholder { color: var(--dim) !important; }
  
  /* Buttons */
  .btn-gold { background: linear-gradient(135deg, #E88A2E, #C9932A) !important; color: #fff !important; }
  .btn-outline { border-color: rgba(255,255,255,.07) !important; color: #475569 !important; background: #fff !important; }
  .btn-outline:hover { border-color: #1D9E75 !important; color: #1D9E75 !important; }
  .btn-cyan, .btn-teal { background: linear-gradient(135deg, #1D9E75, #2DC48F) !important; color: #fff !important; }
  
  /* Scrollbar */
  ::-webkit-scrollbar { width: 5px; }
  ::-webkit-scrollbar-track { background: var(--surface); }
  ::-webkit-scrollbar-thumb { background: rgba(255,255,255,.07); border-radius: 3px; }
  ::-webkit-scrollbar-thumb:hover { background: #1D9E75; }


  .portal-sidebar,#psidebar{background:#FFFFFF;border-right:1px solid rgba(29,158,117,.15)!important}
  .nav-item{color:#2C3E47!important;font-size:13px}
  .nav-item:hover{background:rgba(29,158,117,.12)!important;color:var(--text)!important}
  .nav-item.active{background:rgba(13,92,107,.1)!important;color:#0D5C6B!important;border-left:3px solid #0D5C6B!important;font-weight:700!important}
  .nav-badge.nb-g{background:rgba(242,140,0,.15);color:#F28C00}
  .nav-badge.nb-n{background:rgba(29,158,117,.15);color:#2DC48F}
  .nav-sec{color:#6B7E85!important;font-size:13px;letter-spacing:.8px}
  .portal-topbar{background:#08404D!important;border-bottom:1px solid rgba(29,158,117,.2)!important}
  .portal-main,#pmain{background:var(--bg)!important}
  .inp{background:#FAFAF8!important;border:1px solid rgba(29,158,117,.2)!important;color:var(--text)!important}
  .inp:focus{border-color:#1D9E75!important;box-shadow:0 0 0 3px rgba(29,158,117,.15)!important;outline:none!important}
  .inp::placeholder{color:var(--dim)!important}
  .inp option{background:var(--surface);color:var(--text)}
  
  .btn-gold,.btn-amber{background:linear-gradient(135deg,#E88A2E,#C9932A)!important;color:#fff!important;border:none!important}
  .btn-outline{border:1px solid rgba(13,92,107,.3)!important;color:#0D5C6B!important;background:rgba(13,92,107,.06)!important}
  .btn-outline:hover{border-color:#1D9E75!important;background:rgba(29,158,117,.12)!important}
  .btn-cyan,.btn-teal{background:linear-gradient(135deg,#1D9E75,#1560AA)!important;color:#fff!important}
  #portal-overlay{background:var(--bg);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:#0D5C6B}
  .page-title{color:var(--text)!important}.page-sub{color:var(--muted)!important}
  .portal-pad{padding:28px 32px}


  /* ── Dropdown / Select fix — Forest Ink theme ── */
  select {
    background: var(--surface, var(--surface)) !important;
    color: var(--text, var(--text)) !important;
    border: 1px solid rgba(29,158,117,.25) !important;
    border-radius: 8px !important;
    padding: 9px 12px !important;
    font-size: 16px !important;
    font-family: var(--font, 'Inter', sans-serif) !important;
    outline: none !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }
  select:focus {
    border-color: var(--green, #1D9E75) !important;
    box-shadow: 0 0 0 3px rgba(29,158,117,.15) !important;
  }
  select option {
    background: var(--surface, var(--surface)) !important;
    color: var(--text, var(--text)) !important;
    padding: 8px 12px !important;
    font-size: 16px !important;
  }
  select option:checked,
  select option:hover {
    background: rgba(29,158,117,.2) !important;
    color: #2DC48F !important;
  }
  /* Keep .inp overrides dark */
  select.inp {
    background: var(--surface, var(--surface)) !important;
    color: var(--text, var(--text)) !important;
  }
  select.inp option {
    background: var(--surface, var(--surface)) !important;
    color: var(--text, var(--text)) !important;
  }

.nav-item > span:first-child { font-size: 16px; flex-shrink: 0; }

.mb-ai-card{cursor:pointer!important;transition:transform .15s,box-shadow .15s!important}
.mb-ai-card:hover{transform:translateY(-2px)!important;box-shadow:0 8px 20px rgba(0,0,0,.2)!important}

/* ════ UNIVERSAL MOBILE FIX ════ */
@media(max-width:768px){
  /* App layout — stack sidebar below on mobile */
  .app{flex-direction:column !important;height:auto !important;overflow:visible !important}
  .side{width:100% !important;height:auto !important;max-height:200px !important;overflow-x:auto !important;overflow-y:hidden !important;border-right:none !important;border-bottom:1px solid var(--bd,#E2E8EA) !important;flex-direction:row !important;position:relative !important}
  .side .mod-list{flex-direction:row !important;overflow-x:auto !important;padding:8px !important;white-space:nowrap !important}
  .side .side-foot{display:none !important}
  .side .side-head{padding:10px !important;flex-shrink:0 !important}
  .main{overflow-y:auto !important;height:calc(100vh - 54px - 200px) !important}

  /* Input phase */
  .inp-phase{padding:16px !important}
  .fgrid{grid-template-columns:1fr !important}
  .fgrid .full{grid-column:1 !important}
  .inp-hero{margin-bottom:16px !important}
  .inp-title{font-size:clamp(22px,6vw,32px) !important;line-height:1.2 !important}
  .inp-sub{font-size:12px !important}
  .depth-row{flex-wrap:wrap !important;gap:6px !important}
  .d-btn{font-size:12px !important;padding:5px 10px !important}
  .start-btn{font-size:13px !important;padding:12px !important}

  /* Portal layout */
  .portal-sidebar,#psidebar{width:60px !important;overflow:hidden !important}
  .portal-sidebar .nav-item{padding:12px 6px !important;justify-content:center !important}
  .portal-sidebar .nav-lbl,.portal-sidebar .nav-sec{display:none !important}
  .portal-sidebar .nav-icon{font-size:18px !important}
  #pmain{margin-left:60px !important}

  /* Portal topbar */
  .portal-topbar{padding:0 12px !important}
  .portal-pad{padding:16px !important}

  /* Cards grid */
  .stats-grid,.kpi-grid,.score-grid{grid-template-columns:1fr 1fr !important}
  .sc-grid{grid-template-columns:repeat(2,1fr) !important}

  /* Topbar */
  .bar{padding:0 12px !important}
  .bar-tag{display:none !important}
  .bar-right .btn-g{display:none !important}

  /* Results phase */
  .res-phase{padding:12px !important}
  .mcard{margin-bottom:12px !important}
  .mc-head{padding:10px 12px !important}
  .mc-body{padding:12px !important}
  .ac table{font-size:11px !important}
  .ac th,.ac td{padding:6px 8px !important}

  /* Export bar */
  .export-bar{padding:8px 12px !important;gap:6px !important}
  .export-bar .btn{padding:8px 12px !important;font-size:12px !important}

  /* Data panel */
  .data-panel{margin-bottom:12px !important}
  .act-row{grid-template-columns:1fr 1fr 1fr !important;gap:6px !important}
  .ab-lbl{font-size:11px !important}
  .ab-icon{font-size:18px !important}
  .ab-sub{display:none !important}

  /* Portal pages */
  .page-title{font-size:18px !important}
  .fgrid-2{grid-template-columns:1fr !important}
}
@media(max-width:480px){
  .stats-grid,.kpi-grid,.score-grid{grid-template-columns:1fr !important}
  .sc-grid{grid-template-columns:repeat(2,1fr) !important}
  .portal-pad{padding:12px !important}
}

@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
