/* Pivotal Processing Solutions — shared additions for pages the mockups did not
   include (auth, install, admin, empty states). Same tokens, same look. */

:root{
  --amberfade:rgba(201,168,76,0.08);--amberbdr:rgba(201,168,76,0.22);
  --bluefade:rgba(74,132,201,0.08);--bluebdr:rgba(74,132,201,0.22);--blue2:#7aa8dd;
  --purple:#8b5cf6;--purplefade:rgba(139,92,246,0.08);
}

/* form controls (mirrors the portal styling) */
.form-group{margin-bottom:1rem;}
.form-label{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:.4rem;display:block;}
.form-input{width:100%;padding:.65rem .85rem;background:var(--s3);border:1.5px solid var(--bd2);border-radius:10px;
  font-family:var(--font-body);font-size:13.5px;color:var(--text,var(--text));outline:none;transition:border-color .15s;}
.form-input:focus{border-color:var(--gold);}
select.form-input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 18px) 51%,calc(100% - 13px) 51%;background-size:5px 5px;background-repeat:no-repeat;}
textarea.form-input{min-height:90px;resize:vertical;line-height:1.6;}
.form-hint{font-size:11.5px;color:var(--muted);margin-top:.35rem;line-height:1.5;}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.al-amber{background:var(--amberfade);border:1px solid var(--amberbdr);color:var(--gold3,#f5e4a8);}
.al-blue{background:var(--bluefade);border:1px solid var(--bluebdr);color:var(--blue2);}
.badge-green{background:var(--greenfade);color:var(--green);border:1px solid var(--greenbdr);}
.badge-silver{background:var(--silverfade);color:var(--silver2);border:1px solid var(--silverbdr);}
.badge-red{background:var(--redfade);color:var(--red);border:1px solid var(--redbdr);}
.badge-amber{background:var(--amberfade);color:var(--gold);border:1px solid var(--amberbdr);}
.badge-blue{background:var(--bluefade);color:var(--blue2);border:1px solid var(--bluebdr);}

/* auth pages */
.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;}
.auth-card{width:100%;max-width:440px;}
.auth-logo{font-family:var(--font-display);font-size:26px;font-weight:600;text-align:center;margin-bottom:.35rem;}
.auth-logo span{color:var(--gold);}
.auth-sub{font-size:13px;color:var(--muted);text-align:center;margin-bottom:2rem;line-height:1.6;}
.auth-tabs{display:flex;gap:1px;background:var(--bd);border-radius:10px;overflow:hidden;margin-bottom:1.5rem;}
.auth-tab{flex:1;padding:.8rem .5rem;background:var(--s1);border:none;color:var(--muted);font-family:var(--font-body);
  font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s;text-align:center;text-decoration:none;}
.auth-tab .at-ico{display:block;font-size:18px;margin-bottom:.2rem;}
.auth-tab:hover{color:var(--text);background:var(--s2);}
.auth-tab.on{background:var(--s3);color:var(--gold2);}
.auth-alt{text-align:center;font-size:12.5px;color:var(--muted);margin-top:1.25rem;}
.auth-alt a{color:var(--gold);text-decoration:none;}
.auth-legal{text-align:center;font-size:11px;color:var(--muted);margin-top:1.5rem;line-height:1.7;max-width:420px;}

/* simulation banner */
.sim-banner{position:fixed;bottom:0;left:0;right:0;z-index:400;background:rgba(201,168,76,0.12);
  border-top:1px solid rgba(201,168,76,0.3);backdrop-filter:blur(10px);color:#f0dfa0;
  font-size:11.5px;padding:.5rem 1rem;text-align:center;letter-spacing:.02em;}
.sim-banner strong{color:#f5e4a8;}
.sim-banner a{color:#f5e4a8;}
body.has-sim{padding-bottom:2.2rem;}

/* empty states */
.empty{text-align:center;padding:3rem 1.5rem;color:var(--muted);}
.empty-ico{font-size:34px;display:block;margin-bottom:.75rem;opacity:.7;}
.empty-title{font-family:var(--font-display);font-size:20px;color:var(--text,var(--text));margin-bottom:.4rem;}
.empty-sub{font-size:13px;line-height:1.7;max-width:420px;margin:0 auto 1.25rem;}

/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:12.5px;}
.tbl th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);
  padding:.6rem .75rem;border-bottom:1px solid var(--bd);font-weight:600;}
.tbl td{padding:.7rem .75rem;border-bottom:1px solid var(--s2);color:#c8d0de;vertical-align:middle;}
.tbl tr:hover td{background:var(--s1);}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums;}
.tbl-wrap{overflow-x:auto;}

/* admin */
.adm-shell{display:flex;min-height:100vh;}
.adm-side{width:230px;background:var(--s1);border-right:1px solid var(--s3);padding:1.5rem 0;flex-shrink:0;}
.adm-main{flex:1;padding:2rem 2.5rem;max-width:1500px;}
.adm-link{display:block;padding:.6rem 1.5rem;font-size:13px;color:var(--muted);text-decoration:none;border-left:2px solid transparent;}
.adm-link:hover{color:var(--text);background:var(--s1);}
.adm-link.on{color:var(--gold2);border-left-color:var(--gold);background:rgba(201,168,76,0.06);}

/* misc */
.linkish{color:var(--gold);text-decoration:none;}
.muted{color:var(--muted);}
.nowrap{white-space:nowrap;}
.mono{font-variant-numeric:tabular-nums;}
.mt1{margin-top:1rem;}.mt2{margin-top:2rem;}.mb1{margin-bottom:1rem;}
.rowflex{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
@media(max-width:820px){
  .g2,.g3,.g4{grid-template-columns:1fr;}
  .adm-shell{flex-direction:column;}
  .adm-side{width:100%;border-right:none;border-bottom:1px solid var(--s3);}
  .adm-main{padding:1.25rem;}
}

/* ── responsive portal shell (the mockups were desktop-only) ───────────── */
@media (max-width: 900px){
  .app{display:block !important;}
  .sidebar{position:static !important;height:auto !important;width:100% !important;
    border-right:none !important;border-bottom:1px solid rgba(201,168,76,0.15);}
  .sidebar .nav{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem .75rem;}
  .sidebar .nav-section{display:contents;}
  .sidebar .nav-label{width:100%;padding:.5rem .5rem .15rem;}
  .sidebar .nav-item{border-left:none !important;border-radius:8px;padding:.45rem .7rem;font-size:12.5px;}
  .sidebar .nav-item.on{background:rgba(201,168,76,0.12);}
  .sf,.sidebar-footer{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;}
  .sf > *,.sidebar-footer > *{flex:1;min-width:180px;margin-top:0 !important;}
  .topbar{flex-wrap:wrap;gap:.6rem;}
  .content{padding:1rem !important;}
  .tbr{flex-wrap:wrap;}
  .hero{padding:6rem 1.25rem 3rem !important;}
  nav{padding:1rem 1.25rem !important;}
  .nav-links{display:none !important;}
  .wrap{padding:0 .25rem;}
  .row-item,.bill-row,.tx-row{flex-wrap:wrap;gap:.5rem;}
  .bc-signals{grid-template-columns:1fr 1fr !important;}
  .compare-wrap,.how-wrap,.test-grid,.trust-wrap,.footer-wrap{grid-template-columns:1fr !important;}
  .steps{overflow-x:auto;}
  body{padding:0;}
}
@media (max-width: 620px){
  .kpi-val{font-size:24px !important;}
  .amount-display,.hd-amount{font-size:34px !important;}
  .tbl th,.tbl td{padding:.5rem .4rem;font-size:11.5px;}
}

/* compact buttons inside tables (underwriting.css makes .btn-primary full width) */
.tbl .btn,.tbl .btn-primary{width:auto;padding:5px 11px;font-size:11.5px;display:inline-block;margin:1px 0;}

/* ── simplified navigation: 5 sections, tabs inside ───────────────────── */
.nav-item{font-size:14px !important;padding:.72rem 1.25rem !important;}
.nav-item .ic{font-size:17px !important;}
.tabstrip{display:flex;gap:.25rem;flex-wrap:wrap;border-bottom:1px solid var(--bd);margin:-.25rem 0 1.5rem;padding-bottom:0;}
.tabstrip-item{padding:.6rem 1rem;font-size:13.5px;font-weight:500;color:var(--muted);text-decoration:none;
  border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .12s,border-color .12s;}
.tabstrip-item:hover{color:var(--text);}
.tabstrip-item.on{color:var(--gold2,#e8c96a);border-bottom-color:var(--gold,#c9a84c);}
.page-lead{font-size:13px;color:var(--muted);line-height:1.6;margin:-.5rem 0 1.25rem;max-width:760px;}
.page-lead strong{color:#d8d8d8;font-weight:600;}
@media(max-width:900px){
  .tabstrip{overflow-x:auto;flex-wrap:nowrap;}
  .tabstrip-item{padding:.55rem .75rem;font-size:13px;}
}

/* ── 2.0: nav "NEW" badge ─────────────────────────────────────────────── */
.nav-badge.nav-new{background:linear-gradient(90deg,var(--gold),var(--gold2));color:#fff;font-size:9px;letter-spacing:.04em;}
body.theme-light .nav-badge.nav-new{color:#fff;}

/* ── 2.0: Business Growth Fund ────────────────────────────────────────── */
.fund-hero{background:linear-gradient(135deg,var(--s2) 0%,var(--s1) 100%);border:1px solid var(--goldbdr);border-radius:var(--rlg,14px);padding:2rem;margin-bottom:1.25rem;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1.25rem;position:relative;overflow:hidden;box-shadow:var(--shadow);}
.fund-hero::after{content:"";position:absolute;top:0;right:0;width:280px;height:100%;background:radial-gradient(ellipse at right,var(--goldfade),transparent);pointer-events:none;}
.fund-kicker{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;}
.fund-title{font-family:var(--font-display);font-size:32px;font-weight:600;color:var(--text);line-height:1.1;margin-bottom:.4rem;}
.fund-sub{font-size:13px;color:var(--muted);max-width:480px;line-height:1.65;}
.fund-hero-stats{display:flex;gap:1rem;flex-wrap:wrap;position:relative;z-index:1;}
.fund-stat{text-align:center;padding:1rem 1.25rem;background:var(--s3);border-radius:var(--r);border:1px solid var(--bd);min-width:120px;}
.fund-stat-num{font-family:var(--font-display);font-size:28px;font-weight:600;}
.fund-stat-lbl{font-size:10px;color:var(--muted);margin-top:.2rem;}
.fund-tile{background:var(--s3);border-radius:var(--r);padding:.9rem 1rem;}
.fund-tile-lbl{font-size:10px;color:var(--muted);letter-spacing:.05em;margin-bottom:.3rem;}
.fund-tile-num{font-family:var(--font-display);font-size:26px;font-weight:600;}
.fund-tabs{display:flex;gap:1px;background:var(--bd);border-radius:var(--r);overflow:hidden;margin-bottom:1rem;}
.fund-tabs button{flex:1;padding:.55rem;font-size:12.5px;font-weight:600;background:var(--s3);color:var(--muted);border:none;font-family:var(--font-body);cursor:pointer;}
.fund-tabs button.on{background:var(--gold);color:#fff;}
body.theme-light .fund-tabs button.on{color:#fff;}
.fund-row{padding:.5rem 0;border-bottom:1px solid var(--bd);}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;animation:pps-pulse 2s ease-in-out infinite;}
@keyframes pps-pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ── 2.0: Pivot advisor ───────────────────────────────────────────────── */
.pv-banner{background:linear-gradient(135deg,var(--greenfade),var(--s1));border:1px solid var(--greenbdr);border-radius:var(--rlg,14px);padding:1.75rem 2rem;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;box-shadow:var(--shadow);}
.pv-kicker{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:.25rem;}
.pv-avatar{width:28px;height:28px;border-radius:50%;background:var(--greenfade);border:1px solid var(--greenbdr);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
.pv-big{font-family:var(--font-display);font-size:26px;font-weight:600;}
.pv-small{font-size:10px;color:var(--muted);}
.pv-pill{font-size:11px;color:var(--muted);background:var(--s3);padding:3px 10px;border-radius:10px;}
.pv-quote{font-size:13.5px;color:var(--text);line-height:1.8;padding:1rem 1.25rem;background:var(--greenfade);border-radius:var(--r);border-left:3px solid var(--green);margin-bottom:1.25rem;}
.pv-grade{background:var(--s3);border-radius:var(--r);padding:.9rem 1rem;border-top:2px solid var(--bd);}
.pv-grade-lbl{font-size:10px;color:var(--muted);letter-spacing:.06em;margin-bottom:.3rem;}
.pv-grade-val{font-family:var(--font-display);font-size:22px;font-weight:600;}
.pv-grade-sub{font-size:11.5px;color:var(--muted);margin-top:.25rem;}
.pv-leak{display:flex;align-items:center;gap:.85rem;padding:.8rem 1rem;background:var(--s3);border-radius:var(--r);border:1px solid transparent;}
.pv-leak.cash{background:var(--goldfade);border-color:var(--goldbdr);}
.pv-leak-num{font-family:var(--font-display);font-size:20px;font-weight:600;}
.pv-phase{background:var(--greenfade);border:1px solid var(--greenbdr);border-radius:var(--r);padding:1.25rem;}
.pv-phase.locked{background:var(--s2);border-color:var(--bd);}
.pv-phase-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem;flex-wrap:wrap;gap:.5rem;}
.pv-phase-title{font-size:14px;font-weight:700;}
.pv-num{width:30px;height:30px;border-radius:50%;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pv-num.sm{width:24px;height:24px;font-size:11px;margin-top:1px;}
.pv-tag{font-size:11px;font-weight:700;padding:3px 12px;border-radius:10px;border:1px solid var(--bd);}
.pv-note{padding:.75rem 1rem;border-radius:var(--r);border:1px solid var(--bd);font-size:12px;}
.pv-step{display:flex;gap:.65rem;align-items:flex-start;padding:.65rem .85rem;background:var(--s1);border-radius:8px;border:1px solid var(--bd);}
.pv-month{padding:.65rem;background:var(--s3);border-radius:8px;text-align:center;}
.pv-month-num{font-family:var(--font-display);font-size:18px;color:var(--silver2);}
.pv-action{display:flex;gap:.75rem;padding:.8rem;background:var(--s3);border-radius:var(--r);border:1px solid var(--bd);}
.pv-row{display:flex;justify-content:space-between;align-items:center;padding:.65rem .85rem;background:var(--s3);border-radius:var(--r);font-size:12.5px;}
.pv-row-num{font-family:var(--font-display);font-size:17px;font-weight:600;}
.pv-ms{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--bd);}
.pv-msgs{padding:1rem 1.5rem;min-height:260px;max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem;}
.pv-msg{display:flex;gap:.65rem;align-items:flex-start;}
.pv-msg.me{justify-content:flex-end;}
.pv-bubble{background:var(--s3);border:1px solid var(--bd);border-radius:0 12px 12px 12px;padding:.9rem 1.1rem;max-width:84%;}
.pv-bubble.me{background:var(--goldfade);border-color:var(--goldbdr);border-radius:12px 0 12px 12px;}
.pv-bubble-text{font-size:12.5px;line-height:1.7;color:var(--text);white-space:normal;}
.pv-bubble-meta{font-size:10px;color:var(--muted);margin-top:.5rem;}
.pv-msg.typing .pv-bubble-text{color:var(--muted);letter-spacing:.2em;}
.pv-quick{padding:.65rem 1.5rem;display:flex;gap:.45rem;flex-wrap:wrap;border-top:1px solid var(--bd);}
.pv-compose{padding:.85rem 1.25rem;border-top:1px solid var(--bd);display:flex;gap:.65rem;align-items:flex-end;}
.pv-compose textarea{flex:1;padding:.75rem 1rem;background:var(--s3);border:1.5px solid var(--bd);border-radius:var(--r);font-family:var(--font-body);font-size:13.5px;color:var(--text);outline:none;resize:none;line-height:1.5;max-height:120px;}
.pv-compose textarea:focus{border-color:var(--green);}
@media (max-width:760px){.fund-hero,.pv-banner{padding:1.25rem;}.fund-hero-stats{width:100%;}.fund-stat{flex:1;min-width:90px;}}

/* ── list rows on admin pages (portals have their own) ───────────────── */
.adm-main .row-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--bd);}
.adm-main .row-item:last-child{border-bottom:none;}
.adm-main .ri-left{display:flex;align-items:center;gap:.85rem;min-width:0;}
.adm-main .ri-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.adm-main .ri-title{font-size:13.5px;font-weight:600;color:var(--text);}
.adm-main .ri-sub{font-size:11.5px;color:var(--muted);margin-top:2px;}
.adm-main .ri-right{text-align:right;flex-shrink:0;font-size:13px;}
.adm-main .badge.b-red{background:var(--redfade);color:var(--red);border:1px solid var(--redbdr);}
