/* ─── DESIGN TOKENS ──────────────────────────────────────────── */
:root{
  --bg0:#F5F7FA; --bg1:#FFFFFF; --bg2:#F0F2F5; --bg3:#E8ECEF; --bg4:#D8DCE2;
  --border:#D0D5DD; --border2:#C8CDD5;
  --white:#1E1E1E; --off:#2D3038; --off2:#4A4A4A; --off3:#717171; --off4:#9CA3AF;
  --orange:#F05A28; --orange2:#FF7A4D; --og:rgba(240,90,40,.08); --og2:rgba(240,90,40,.14);
  --lime:#2E7D32; --lime2:#4CAF50; --lg:rgba(46,125,50,.08); --lg2:rgba(46,125,50,.14);
  --red:#B91C1C; --green:#2E7D32; --yellow:#B45309; --blue:#1E40AF;
  --mono:'JetBrains Mono','Fira Code',Consolas,monospace; --serif:'Inter',-apple-system,sans-serif; --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --radius:16px; --radius2:10px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg1);color:var(--white);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;}

/* PAGE ROUTING */
.page{display:none;}
.page.active{display:block;}
.panel{display:none;}
.panel.active{display:flex;}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@keyframes slideUp{from{opacity:0;transform:translateY(22px) scale(.98);}to{opacity:1;transform:none;}}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.25;}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes reveal{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.52rem 1.2rem;border-radius:10px;font-family:'Inter',-apple-system,sans-serif;font-size:.84rem;font-weight:600;text-decoration:none;transition:all .15s;cursor:pointer;border:none;letter-spacing:0.2px;white-space:nowrap;outline:none;}
.btn:disabled{opacity:.5;cursor:not-allowed;}
.btn-ghost{background:transparent;color:var(--off2);border:1.5px solid var(--border2);}
.btn-ghost:hover:not(:disabled){border-color:var(--off3);color:var(--white);}
.btn-primary{background:var(--orange);color:#FFFFFF;border:1.5px solid var(--orange);}
.btn-primary:hover:not(:disabled){background:var(--c-action-dark);transform:translateY(-1px);box-shadow:0 8px 28px rgba(240,90,40,.35);}
.btn-outline{background:transparent;color:var(--orange);border:1.5px solid var(--orange);}
.btn-outline:hover:not(:disabled){background:var(--og);transform:translateY(-1px);}
.btn-dark{background:var(--bg4);color:var(--white);border:1.5px solid var(--border2);}
.btn-dark:hover:not(:disabled){background:var(--bg3);transform:translateY(-1px);}
.btn-danger{background:rgba(185,28,28,.1);color:var(--red);border:1.5px solid rgba(185,28,28,.2);}
.btn-danger:hover:not(:disabled){background:rgba(185,28,28,.18);}
.btn-lg{padding:1rem 2.2rem;font-size:1rem;border-radius:12px;}
.btn-sm{padding:.32rem .75rem;font-size:.75rem;border-radius:6px;}
.btn-xs{padding:.22rem .55rem;font-size:.7rem;border-radius:5px;}

/* ─── PUBLIC NAV ─────────────────────────────────────────────── */
.pub-nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(255,255,255,.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);height:68px;display:flex;align-items:center;padding:0 2.5rem;}
.pub-nav .nav-logo{display:flex;align-items:center;gap:.65rem;cursor:pointer;text-decoration:none;}
.logo-sq{width:34px;height:34px;background:var(--orange);border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.logo-sq::after{content:'CQ';font-family:var(--mono);font-size:.6rem;font-weight:700;color:#FFFFFF;letter-spacing:-.04em;}
.nav-brand{font-family:var(--mono);font-weight:700;font-size:1.05rem;letter-spacing:-.03em;color:#1E1E1E;}
.nav-brand span{color:var(--orange);}
.nav-links{display:flex;align-items:center;gap:.2rem;margin-left:2.5rem;}
.nav-link{font-size:.84rem;color:var(--off3);padding:.4rem .8rem;border-radius:7px;cursor:pointer;transition:color .13s;background:none;border:none;font-family:var(--sans);font-weight:500;}
.nav-link:hover{color:var(--white);}
.nav-actions{margin-left:auto;display:flex;gap:.75rem;align-items:center;}

/* ─── HERO ───────────────────────────────────────────────────── */
#page-home{overflow-y:auto;height:100vh;}
.hero{position:relative;min-height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0B1E3E;}

/* ── Two full-bleed background panels ───────────────────────── */
.hero-bg{position:absolute;inset:0;display:flex;z-index:0;}
.hero-vid-left{position:relative;flex:0 0 50%;overflow:hidden;}
.hero-vid-right{position:relative;flex:0 0 50%;overflow:hidden;background:#0B1E3E;}
.hero-vid-left video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;}
.demo-screen-wrap{position:absolute;inset:0;display:flex;flex-direction:column;}
.demo-pane{flex:0 0 50%;position:relative;overflow:hidden;}
.demo-pane+.demo-pane{border-top:1px solid rgba(255,255,255,.04);}
.demo-screen{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column;opacity:.7;}

/* Centre blend — dissolves both panels seamlessly into each other */
.hero-blend{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    /* Wide centre column — dissolves panels toward middle with brand navy */
    linear-gradient(to right,
      rgba(11,30,62,0)    0%,
      rgba(11,30,62,0)   28%,
      rgba(11,30,62,.45) 42%,
      rgba(11,30,62,.7)  50%,
      rgba(11,30,62,.45) 58%,
      rgba(11,30,62,0)   72%,
      rgba(11,30,62,0)  100%),
    /* Outer edge vignette — brand navy */
    linear-gradient(to right, rgba(11,30,62,.5) 0%, transparent 22%, transparent 78%, rgba(11,30,62,.5) 100%),
    /* Top/bottom vignette — lighter to let video breathe */
    linear-gradient(to bottom, rgba(11,30,62,.5) 0%, transparent 25%, transparent 75%, rgba(11,30,62,.55) 100%);}
/* Warm centre glow */
.hero-glow{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    /* Warm orange centre glow — gives energy to the middle where headlines sit */
    radial-gradient(ellipse 80% 70% at 50% 50%, rgba(240,90,40,.10) 0%, rgba(240,90,40,.04) 45%, transparent 70%),
    /* Steel blue accent — reinforces brand */
    radial-gradient(ellipse 60% 50% at 50% 30%, rgba(44,93,158,.12) 0%, transparent 60%),
    /* Subtle warm edge accents */
    radial-gradient(ellipse 40% 50% at 15% 75%, rgba(240,90,40,.06) 0%, transparent 60%),
    radial-gradient(ellipse 40% 50% at 85% 75%, rgba(44,93,158,.08) 0%, transparent 60%);}

/* ── Hero copy — centred overlay ─────────────────────────────── */
.hero-inner{position:relative;z-index:3;max-width:840px;width:100%;padding:160px 2rem 120px;text-align:center;margin:0 auto;}

/* ── Animated platform demo CSS ──────────────────────────────── */
.ds-topbar{background:rgba(37,40,48,.95);border-bottom:1px solid rgba(255,255,255,.05);height:40px;display:flex;align-items:center;gap:.6rem;padding:0 .8rem;flex-shrink:0;}
.ds-dot{width:8px;height:8px;border-radius:50%;}
.ds-title{font-family:var(--mono);font-size:.5rem;color:rgba(255,255,255,.25);margin-left:.25rem;letter-spacing:.06em;}
.ds-body{flex:1;display:flex;overflow:hidden;}
.ds-sidebar{width:110px;flex-shrink:0;background:rgba(37,40,48,.9);border-right:1px solid rgba(255,255,255,.05);padding:.4rem;display:flex;flex-direction:column;gap:2px;}
.ds-sb-item{padding:.25rem .45rem;border-radius:5px;font-size:.56rem;color:rgba(255,255,255,.3);display:flex;align-items:center;gap:.35rem;transition:all .4s;}
.ds-sb-item.on{background:rgba(240,90,40,.14);color:var(--orange);border:1px solid rgba(240,90,40,.2);}
.ds-content{flex:1;padding:.75rem;overflow:hidden;display:flex;flex-direction:column;gap:.6rem;background:rgba(30,30,30,.85);}
.ds-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;}
.ds-kpi{background:rgba(25,28,32,.9);border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:.45rem .5rem;}
.ds-kv{font-family:var(--mono);font-size:.95rem;font-weight:700;line-height:1;margin-bottom:.2rem;}
.ds-kl{font-family:var(--mono);font-size:.38rem;color:var(--off4);text-transform:uppercase;letter-spacing:.06em;}
.ds-table{background:#FFFFFF;border:1px solid var(--border);border-radius:6px;overflow:hidden;}
.ds-thead{display:grid;grid-template-columns:2fr 1.1fr .9fr .85fr;padding:.32rem .55rem;border-bottom:1px solid var(--border);}
.ds-thead span{font-family:var(--mono);font-size:.4rem;color:var(--off4);text-transform:uppercase;letter-spacing:.06em;}
.ds-tr{display:grid;grid-template-columns:2fr 1.1fr .9fr .85fr;padding:.28rem .55rem;border-bottom:1px solid var(--border);transition:background .4s;}
.ds-tr:last-child{border:none;}
.ds-tr.hl{background:rgba(240,90,40,.08);}
.ds-tr span{font-size:.56rem;color:rgba(255,255,255,.58);align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ds-badge{display:inline-flex;align-items:center;font-family:var(--mono);font-size:.38rem;font-weight:700;padding:.08rem .32rem;border-radius:20px;text-transform:uppercase;letter-spacing:.04em;}
.ds-badge.g{background:rgba(46,125,50,.14);color:var(--lime);}
.ds-badge.o{background:rgba(240,90,40,.14);color:var(--orange);}
.ds-badge.b{background:rgba(30,64,175,.14);color:var(--blue);}
.ds-badge.y{background:rgba(251,191,36,.14);color:var(--yellow);}
.ds-badge.r{background:rgba(248,113,113,.14);color:var(--red);}
.ds-chart-row{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;}
.ds-chart{background:rgba(25,28,32,.9);border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:.5rem .6rem;}
.ds-chart-title{font-family:var(--mono);font-size:.4rem;color:rgba(255,255,255,.25);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem;}
.ds-bars{display:flex;align-items:flex-end;gap:3px;height:52px;}
.ds-bar-w{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;}
.ds-bar{width:100%;border-radius:2px 2px 0 0;transition:height 1.4s cubic-bezier(.22,1,.36,1);}
.ds-bar-l{font-family:var(--mono);font-size:.32rem;color:rgba(255,255,255,.2);}
.ds-activity{background:rgba(25,28,32,.9);border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:.5rem .6rem;}
.ds-act-title{font-family:var(--mono);font-size:.4rem;color:rgba(255,255,255,.25);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;}
.ds-act-item{display:flex;align-items:center;gap:.4rem;padding:.2rem 0;border-bottom:1px solid rgba(255,255,255,.04);}
.ds-act-item:last-child{border:none;}
.ds-act-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.ds-act-text{font-size:.46rem;color:rgba(255,255,255,.45);}
.ds-act-time{font-family:var(--mono);font-size:.38rem;color:rgba(255,255,255,.2);margin-left:auto;flex-shrink:0;}
.ds-new-row{animation:dsRowIn .6s ease both;}
@keyframes dsRowIn{from{opacity:0;background:rgba(46,125,50,.12);}to{opacity:1;background:transparent;}}
@keyframes dsScreenIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.ds-panel{animation:dsScreenIn .55s ease both;}

/* Neutralise old selectors */
.hero-video,.hero-overlay,.hero-left,.hero-right{display:none;}

/* Responsive */
@media(max-width:768px){
  .hero-vid-left,.hero-vid-right{flex:0 0 50%;}
  .ds-sidebar{display:none;}
  .ds-kpi-row{grid-template-columns:repeat(2,1fr);}
  .hero-inner{padding:110px 1.25rem 80px;}
}
.eyebrow-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--og);border:1px solid rgba(240,90,40,.22);border-radius:20px;padding:.3rem 1rem;font-family:var(--mono);font-size:.6rem;font-weight:600;color:var(--orange);text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.8rem;animation:fadeUp .5s ease both;}
.eyebrow-dot{width:5px;height:5px;border-radius:50%;background:var(--orange);animation:blink 2s infinite;flex-shrink:0;}
.hero-h1{font-size:clamp(2.8rem,5.5vw,4.8rem);line-height:1.07;letter-spacing:-.03em;color:#FFFFFF;font-weight:800;margin-bottom:1.5rem;animation:fadeUp .55s .06s ease both;text-shadow:0 2px 20px rgba(0,0,0,.3);}
.hero-h1 em{font-style:normal;color:#FF7A4D;}
.hero-h1 .stat-n{font-family:var(--mono);color:#4CAF50;font-size:.92em;letter-spacing:-.05em;}
.hero-h1 .dim{display:block;font-size:.5em;color:rgba(255,255,255,.6);font-weight:500;letter-spacing:-.01em;margin-top:.3em;}
.hero-sub{font-size:clamp(.95rem,1.8vw,1.15rem);color:rgba(255,255,255,.85);max-width:520px;margin:0 auto 2.2rem;line-height:1.7;font-weight:400;animation:fadeUp .55s .12s ease both;text-shadow:0 1px 8px rgba(0,0,0,.2);}
.hero-ctas{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;animation:fadeUp .55s .18s ease both;}
.hero-fine{font-size:.68rem;color:rgba(255,255,255,.5);margin-top:.9rem;font-family:var(--mono);animation:fadeUp .55s .24s ease both;}

/* App preview frame */
.hero-frame{margin:3rem 0 0;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.15);box-shadow:0 24px 60px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.05);animation:fadeUp .6s .3s ease both;width:100%;}
.frame-chrome{background:var(--bg3);padding:.65rem 1rem;display:flex;align-items:center;gap:.6rem;border-bottom:1px solid var(--border);}
.frame-dot{width:11px;height:11px;border-radius:50%;}
.frame-body{background:var(--bg2);padding:1rem;display:grid;grid-template-columns:180px 1fr;gap:1rem;min-height:300px;}
.frame-sidebar{background:var(--bg3);border-radius:8px;padding:.6rem;display:flex;flex-direction:column;gap:.3rem;}
.frame-sb-item{padding:.3rem .6rem;border-radius:5px;font-family:var(--mono);font-size:.6rem;color:var(--off4);}
.frame-sb-item.on{background:var(--og);color:var(--orange);}
.frame-main{display:flex;flex-direction:column;gap:.75rem;}
.frame-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;}
.frame-kpi{background:var(--bg3);border-radius:8px;padding:.6rem .75rem;border:1px solid var(--border);}
.frame-kpi-l{font-family:var(--mono);font-size:.48rem;color:var(--off4);text-transform:uppercase;letter-spacing:.08em;}
.frame-kpi-v{font-family:var(--mono);font-size:1rem;font-weight:700;color:var(--white);margin-top:.2rem;}
.frame-kpi-v.lime{color:var(--lime);}
.frame-kpi-v.orange{color:var(--orange);}
.frame-table{background:var(--bg3);border-radius:8px;overflow:hidden;border:1px solid var(--border);}
.frame-th{display:grid;grid-template-columns:2fr 1fr 1fr .8fr;gap:.5rem;padding:.35rem .75rem;border-bottom:1px solid var(--border);}
.frame-th span{font-family:var(--mono);font-size:.48rem;color:var(--off4);text-transform:uppercase;letter-spacing:.08em;}
.frame-tr{display:grid;grid-template-columns:2fr 1fr 1fr .8fr;gap:.5rem;padding:.3rem .75rem;border-bottom:1px solid var(--border);}
.frame-tr:last-child{border:none;}
.frame-tr span{font-size:.58rem;color:var(--off2);}
.frame-badge{display:inline-block;padding:.1rem .38rem;border-radius:4px;font-family:var(--mono);font-size:.48rem;font-weight:600;text-transform:uppercase;}
.fb-green{background:var(--lg);color:var(--lime);}
.fb-orange{background:var(--og);color:var(--orange);}
.fb-blue{background:rgba(30,64,175,.12);color:var(--blue);}
.fb-yellow{background:rgba(251,191,36,.12);color:var(--yellow);}

/* Trust strip */
.trust-strip{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.2rem 2rem;display:flex;align-items:center;justify-content:center;gap:1.5rem;overflow:hidden;}
.trust-label{font-family:var(--mono);font-size:.6rem;color:var(--off4);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;flex-shrink:0;}
.trust-logos{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;justify-content:center;}
.trust-logo{font-family:var(--mono);font-size:.72rem;font-weight:600;color:var(--off4);opacity:.5;letter-spacing:.05em;white-space:nowrap;}

/* ─── PAIN POINTS ────────────────────────────────────────────── */
#pain{background:var(--bg0);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:80px 2rem;}
.pain-intro{text-align:center;margin-bottom:3.5rem;}
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3.5rem;}
.pain-card{background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--radius);padding:1.8rem;position:relative;overflow:hidden;transition:border-color .18s,transform .2s;}
.pain-card:hover{border-color:var(--border2);transform:translateY(-3px);}
.pain-icon{font-size:2rem;margin-bottom:.9rem;display:block;}
.pain-title{font-size:1rem;font-weight:700;color:var(--red);margin-bottom:.5rem;line-height:1.3;}
.pain-desc{font-size:.82rem;color:var(--off3);line-height:1.65;margin-bottom:1.1rem;}
.pain-solve{display:flex;align-items:flex-start;gap:.45rem;font-size:.78rem;color:var(--lime);font-weight:600;line-height:1.45;}
.pain-solve::before{content:'✓';flex-shrink:0;margin-top:.04rem;}
.pain-arrow{position:absolute;bottom:1.2rem;right:1.2rem;font-size:1rem;color:var(--border2);}
.pain-stat-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--radius);padding:2rem;}
.pain-stat{text-align:center;}
.pain-stat-n{font-family:var(--mono);font-size:2.2rem;font-weight:700;line-height:1;margin-bottom:.3rem;}
.pain-stat-l{font-size:.8rem;color:var(--off3);line-height:1.45;}

/* ─── DEMO CAROUSEL ──────────────────────────────────────────── */
#demo{background:var(--bg1);padding:80px 2rem;border-bottom:1px solid var(--border);}
.demo-intro{text-align:center;margin-bottom:3rem;}
.carousel-wrap{position:relative;max-width:900px;margin:0 auto;}
.carousel-slides{position:relative;overflow:hidden;border-radius:var(--radius);border:1.5px solid var(--border2);box-shadow:0 30px 80px rgba(0,0,0,.12);}
.carousel-slide{display:none;animation:fadeUp .35s ease both;}
.carousel-slide.active{display:block;}
.carousel-chrome{background:var(--bg3);padding:.65rem 1rem;display:flex;align-items:center;gap:.55rem;border-bottom:1px solid var(--border);}
.carousel-chrome .cdot{width:10px;height:10px;border-radius:50%;}
.carousel-chrome .ctitle{font-family:var(--mono);font-size:.6rem;color:var(--off4);margin-left:.4rem;}
.carousel-body{background:var(--bg2);padding:1.25rem;min-height:280px;}
.carousel-nav{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.5rem;}
.c-dot{width:8px;height:8px;border-radius:50%;background:var(--border2);cursor:pointer;transition:background .15s,transform .15s;}
.c-dot.active{background:var(--orange);transform:scale(1.3);}
.c-arrows{display:flex;gap:.5rem;margin-top:1rem;justify-content:center;}
.slide-tabs{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-bottom:1.5rem;}
.slide-tab{padding:.3rem .9rem;border-radius:20px;font-family:var(--mono);font-size:.65rem;font-weight:600;border:1.5px solid var(--border2);color:var(--off3);cursor:pointer;transition:all .15s;background:none;}
.slide-tab.active{background:var(--og);border-color:rgba(240,90,40,.3);color:var(--orange);}
/* carousel slide contents */
.cs-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:1rem;}
.cs-kpi{background:var(--bg3);border-radius:8px;padding:.6rem .75rem;border:1px solid var(--border);}
.cs-kv{font-family:var(--mono);font-weight:700;font-size:1.05rem;margin-bottom:.15rem;}
.cs-kl{font-family:var(--mono);font-size:.5rem;color:var(--off4);text-transform:uppercase;letter-spacing:.08em;}
.cs-table{background:var(--bg3);border-radius:8px;overflow:hidden;border:1px solid var(--border);}
.cs-thead{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr;gap:.5rem;padding:.32rem .75rem;border-bottom:1px solid var(--border);}
.cs-thead span{font-family:var(--mono);font-size:.45rem;color:var(--off4);text-transform:uppercase;letter-spacing:.08em;}
.cs-tr{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr;gap:.5rem;padding:.3rem .75rem;border-bottom:1px solid var(--border);}
.cs-tr:last-child{border:none;}
.cs-tr span{font-size:.62rem;color:var(--off2);}
.cs-badge{display:inline-block;padding:.1rem .38rem;border-radius:4px;font-family:var(--mono);font-size:.48rem;font-weight:600;text-transform:uppercase;}
.cb-g{background:var(--lg);color:var(--lime);}
.cb-o{background:var(--og);color:var(--orange);}
.cb-b{background:rgba(30,64,175,.12);color:var(--blue);}
.cb-y{background:rgba(251,191,36,.12);color:var(--yellow);}
.cb-r{background:rgba(248,113,113,.12);color:var(--red);}
/* calendar mini preview */
.cs-cal{background:var(--bg3);border-radius:8px;border:1px solid var(--border);overflow:hidden;}
.cs-cal-head{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border);}
.cs-cal-head span{text-align:center;padding:.25rem;font-family:var(--mono);font-size:.45rem;color:var(--off4);text-transform:uppercase;}
.cs-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);}
.cs-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.55rem;color:var(--off3);border:0.5px solid rgba(0,0,0,.06);position:relative;}
.cs-day.has-event::after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--orange);}
.cs-day.today{background:var(--og);color:var(--orange);font-weight:700;}
.cs-day.other{color:var(--off4);}
/* engineer mini */
.cs-eng-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .65rem;background:var(--bg3);border-radius:7px;margin-bottom:.4rem;border:1px solid var(--border);}
.cs-eng-av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.6rem;font-weight:700;color:#fff;flex-shrink:0;}
.cs-eng-name{font-size:.78rem;font-weight:600;color:var(--off2);}
.cs-eng-role{font-family:var(--mono);font-size:.58rem;color:var(--off4);}

/* ─── CALENDAR (dashboard) ───────────────────────────────────── */
/* ─── SCHEDULER / DIARY ─────────────────────────────────────── */
.sched-sidebar{width:210px;flex-shrink:0;background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--radius) 0 0 var(--radius);display:flex;flex-direction:column;overflow:hidden;}
.sched-sb-hdr{padding:.65rem .85rem;border-bottom:1px solid var(--border);flex-shrink:0;}
.sched-sb-title{font-family:var(--mono);font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--off3);margin-bottom:.45rem;}
.sched-sb-search{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:.32rem .55rem;font-size:.72rem;color:var(--white);outline:none;font-family:var(--sans);box-sizing:border-box;}
.sched-sb-search:focus{border-color:var(--orange);}
.sched-proj-list{flex:1;overflow-y:auto;padding:.35rem;}
.sched-proj-chip{padding:.42rem .6rem;border-radius:6px;cursor:grab;border:1.5px solid var(--border);background:var(--bg3);margin-bottom:.28rem;transition:border-color .14s,transform .14s;user-select:none;}
.sched-proj-chip:hover{border-color:var(--border2);transform:translateX(2px);}
.sched-proj-chip:active{cursor:grabbing;}
.sched-proj-chip.chip-dragging{opacity:.4;transform:scale(.95);}
/* chip tint by project colour */
.sched-proj-chip.asgn-0{border-left:3px solid rgba(240,90,40,.5);}
.sched-proj-chip.asgn-1{border-left:3px solid rgba(30,64,175,.5);}
.sched-proj-chip.asgn-2{border-left:3px solid rgba(46,125,50,.5);}
.sched-proj-chip.asgn-3{border-left:3px solid rgba(251,191,36,.5);}
.sched-proj-chip.asgn-4{border-left:3px solid rgba(167,139,250,.5);}
.sched-proj-chip.asgn-5{border-left:3px solid rgba(248,113,113,.5);}
.sched-proj-chip.asgn-6{border-left:3px solid rgba(52,211,153,.5);}
.sched-proj-code{font-family:var(--mono);font-size:.5rem;color:var(--orange);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.14rem;}
.sched-proj-name{font-size:.68rem;font-weight:600;color:var(--white);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sched-proj-client{font-size:.58rem;color:var(--off4);margin-top:.1rem;}
.sched-main{flex:1;display:flex;flex-direction:column;overflow:hidden;border:1.5px solid var(--border);border-left:none;background:var(--bg2);}
.sched-nav{padding:.55rem .9rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.6rem;flex-shrink:0;background:var(--bg3);}
.sched-week-label{font-weight:700;font-size:.85rem;flex:1;letter-spacing:-.02em;}
.sched-nav-btn{width:26px;height:26px;border-radius:5px;background:var(--bg4);border:1px solid var(--border2);color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:background .12s;flex-shrink:0;}
.sched-nav-btn:hover{background:var(--bg2);}
.sched-today-btn{padding:.22rem .65rem;border-radius:5px;font-family:var(--mono);font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:var(--og);border:1px solid rgba(240,90,40,.25);color:var(--orange);cursor:pointer;transition:all .12s;white-space:nowrap;}
.sched-today-btn:hover{background:rgba(240,90,40,.18);}
.sched-legend{padding:.35rem .9rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1rem;background:var(--bg2);flex-shrink:0;flex-wrap:wrap;}
.sched-legend-item{display:flex;align-items:center;gap:.3rem;font-family:var(--mono);font-size:.52rem;color:var(--off3);text-transform:uppercase;letter-spacing:.05em;}
.sched-legend-dot{width:9px;height:9px;border-radius:2px;flex-shrink:0;}
.sched-scroll{flex:1;overflow:auto;}
.sched-table{border-collapse:collapse;min-width:100%;table-layout:fixed;}
.sched-table th{position:sticky;top:0;z-index:10;background:var(--bg3);border-bottom:1.5px solid var(--border);padding:.45rem .35rem;text-align:center;font-family:var(--mono);font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--off3);white-space:nowrap;}
.sched-table th.today-hdr{color:var(--orange);}
.sched-table th.day-hdr{width:106px;min-width:80px;}
.sched-table th.wknd-hdr{background:rgba(0,0,0,.02);}
.sched-table th.eng-hdr{width:176px;text-align:left;padding-left:.7rem;position:sticky;left:0;z-index:20;background:var(--bg3);}
.sched-table td{border:1px solid rgba(0,0,0,.06);vertical-align:top;padding:0;}
.sched-group-row td{background:var(--bg3);border-top:2px solid var(--border);padding:.35rem .7rem;}
.sched-group-label{font-family:var(--mono);font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--off4);display:flex;align-items:center;gap:.45rem;}
.sched-group-badge{background:var(--bg4);border:1px solid var(--border);border-radius:20px;padding:.08rem .45rem;font-size:.5rem;color:var(--off3);}
.eng-cell{position:sticky;left:0;z-index:5;background:var(--bg2);border-right:1.5px solid var(--border);padding:.45rem .7rem;width:176px;vertical-align:middle;cursor:pointer;transition:background .12s;}
.eng-cell:hover{background:var(--bg3);}
.eng-cell.eng-cell-inactive{opacity:.42;}
.eng-cell-name{font-size:.74rem;font-weight:600;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eng-cell-trade{font-family:var(--mono);font-size:.5rem;color:var(--off4);margin-top:.08rem;text-transform:uppercase;letter-spacing:.04em;}
.eng-cell-rate{font-family:var(--mono);font-size:.58rem;color:var(--lime);margin-top:.06rem;}
.day-cell{min-height:52px;position:relative;transition:background .1s;vertical-align:top;padding:.22rem;}
.day-cell.wknd-cell{background:rgba(0,0,0,.015);}
.day-cell.today-cell{background:rgba(240,90,40,.04);outline:1px solid rgba(240,90,40,.15);outline-offset:-1px;}
.day-cell.drag-over{background:rgba(46,125,50,.1);outline:2px dashed rgba(46,125,50,.45);outline-offset:-2px;}
.assignment{border-radius:4px;padding:.2rem .35rem;margin-bottom:.18rem;cursor:pointer;border:1.5px solid transparent;transition:all .13s;user-select:none;display:flex;align-items:flex-start;justify-content:space-between;gap:.15rem;}
.assignment:hover{transform:translateY(-1px);box-shadow:0 3px 9px rgba(0,0,0,.12);}
.assignment:hover .assign-del{opacity:1;}
.assignment.assign-dragging{opacity:.35;transform:scale(.94);}
.assign-body{flex:1;min-width:0;}
.assign-code{font-family:var(--mono);font-size:.46rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.8;margin-bottom:.08rem;}
.assign-name{font-size:.58rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.assign-hours{font-family:var(--mono);font-size:.46rem;opacity:.65;margin-top:.06rem;}
.assign-del{opacity:0;transition:opacity .12s;background:rgba(0,0,0,.3);border:none;border-radius:3px;color:inherit;cursor:pointer;font-size:.6rem;padding:.04rem .22rem;flex-shrink:0;margin-top:.04rem;line-height:1;}
.assign-del:hover{background:rgba(185,28,28,.4);}
/* Assignment colour palette */
.asgn-0{background:rgba(240,90,40,.16);border-color:rgba(240,90,40,.32);color:var(--orange);}
.asgn-1{background:rgba(30,64,175,.16);border-color:rgba(30,64,175,.32);color:var(--blue);}
.asgn-2{background:rgba(46,125,50,.16);border-color:rgba(46,125,50,.32);color:var(--lime);}
.asgn-3{background:rgba(251,191,36,.16);border-color:rgba(251,191,36,.32);color:var(--yellow);}
.asgn-4{background:rgba(167,139,250,.16);border-color:rgba(167,139,250,.32);color:#a78bfa;}
.asgn-5{background:rgba(248,113,113,.16);border-color:rgba(248,113,113,.32);color:var(--red);}
.asgn-6{background:rgba(52,211,153,.16);border-color:rgba(52,211,153,.32);color:#34d399;}
/* Right cost panel */
.sched-cost-panel{width:188px;flex-shrink:0;background:var(--bg2);border:1.5px solid var(--border);border-left:none;border-radius:0 var(--radius) var(--radius) 0;display:flex;flex-direction:column;overflow:hidden;}
.sched-cost-hdr{padding:.6rem .8rem;border-bottom:1px solid var(--border);background:var(--bg3);flex-shrink:0;}
.sched-cost-title{font-family:var(--mono);font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--off3);}
.cost-week-total{font-family:var(--mono);font-size:1.25rem;font-weight:700;color:var(--white);margin-top:.18rem;line-height:1;}
.cost-week-sub{font-family:var(--mono);font-size:.52rem;color:var(--off4);margin-top:.1rem;}
.sched-cost-rows{flex:1;overflow-y:auto;padding:.4rem .5rem;}
.cost-proj-row{padding:.45rem .6rem;border-radius:6px;margin-bottom:.28rem;border:1px solid var(--border);background:var(--bg3);transition:border-color .12s;}
.cost-proj-row:hover{border-color:var(--border2);}
.cost-proj-code{font-family:var(--mono);font-size:.5rem;font-weight:700;color:var(--orange);margin-bottom:.12rem;}
.cost-proj-name{font-size:.64rem;font-weight:600;color:var(--white);line-height:1.3;margin-bottom:.22rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cost-proj-bar-track{height:3px;background:var(--bg4);border-radius:2px;overflow:hidden;margin-bottom:.18rem;}
.cost-proj-bar-fill{height:100%;border-radius:2px;transition:width .5s ease;}
.cost-proj-meta{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.5rem;color:var(--off4);}
.cost-proj-val{color:var(--lime);font-weight:700;}
.sched-cost-footer{padding:.6rem .8rem;border-top:1px solid var(--border);flex-shrink:0;background:var(--bg3);}
.cost-footer-row{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.56rem;color:var(--off3);margin-bottom:.28rem;}
.cost-footer-row:last-child{margin-bottom:0;}
.cost-footer-val{color:var(--white);font-weight:700;}
.cost-footer-hl .cost-footer-val{color:var(--lime);}
/* Drag ghost */
.drag-ghost{position:fixed;pointer-events:none;z-index:9999;opacity:.9;background:rgba(240,90,40,.22);border:2px solid var(--orange);border-radius:6px;padding:.28rem .65rem;font-size:.68rem;color:var(--orange);font-weight:700;font-family:var(--mono);white-space:nowrap;box-shadow:0 6px 20px rgba(0,0,0,.15);}
/* ─── PROJECT STAT BOXES ─────────────────────────────────────── */
.proj-stat-grid{margin-bottom:1.25rem;}
.proj-stat-kpi{transition:all 0.2s ease;}
.proj-stat-kpi:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(11,30,62,0.08);}
.proj-stat-caret{font-family:var(--mono);font-size:.55rem;color:var(--kc);margin-top:.5rem;opacity:.7;letter-spacing:.04em;}
.proj-stat-kpi:hover .proj-stat-caret{opacity:1;}
/* ─── QUOTE BOOK STAT BOXES ──────────────────────────────────── */
.qb-stat-grid{margin-bottom:1rem;}
.qb-stat-kpi{transition:all 0.2s ease;}
.qb-stat-kpi:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(11,30,62,0.08);}
.qb-stat-caret{font-family:var(--mono);font-size:.55rem;color:var(--kc);margin-top:.5rem;opacity:.7;letter-spacing:.04em;}
.qb-stat-kpi:hover .qb-stat-caret{opacity:1;}




/* ─── ENGINEER CERT TRACKER ──────────────────────────────────── */
.cert-section{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem;}
.cert-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;}
.cert-section-title{font-family:var(--mono);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--off3);}
.cert-row{display:grid;grid-template-columns:1.8fr 1.2fr 1fr auto;gap:.45rem;align-items:center;margin-bottom:.45rem;padding:.5rem .6rem;border-radius:7px;background:var(--bg3);border:1px solid var(--border);}
.cert-row-expired{border-color:rgba(248,113,113,.3);background:rgba(248,113,113,.05);}
.cert-row-warn{border-color:rgba(251,191,36,.3);background:rgba(251,191,36,.04);}
.cert-row input,.cert-row select{background:var(--bg4);border:1px solid var(--border2);border-radius:5px;color:var(--white);font-family:var(--mono);font-size:.72rem;padding:.28rem .5rem;width:100%;outline:none;}
.cert-row input:focus,.cert-row select:focus{border-color:var(--orange);}
.cert-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.cert-remove-btn{width:22px;height:22px;border-radius:4px;background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.18);color:var(--red);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.7rem;flex-shrink:0;transition:background .12s;}
.cert-remove-btn:hover{background:rgba(248,113,113,.2);}
.cert-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .55rem;border-radius:20px;font-family:var(--mono);font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
.cert-expired{background:rgba(248,113,113,.15);color:var(--red);border:1px solid rgba(248,113,113,.25);}
.cert-warn{background:rgba(251,191,36,.12);color:var(--yellow);border:1px solid rgba(251,191,36,.22);}
.cert-ok{background:var(--lg);color:var(--lime);border:1px solid rgba(46,125,50,.2);}
/* cert alert in engineers list */
.cert-summary{display:flex;flex-wrap:wrap;gap:.25rem;}
/* renewal reminder modal */
.renewal-modal{background:#FFFFFF;border:1.5px solid rgba(248,113,113,.3);border-radius:var(--radius);padding:1.4rem;max-width:480px;width:100%;position:relative;animation:slideUp .25s ease both;}
.renewal-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;}
.renewal-icon{font-size:1.6rem;flex-shrink:0;}
.renewal-title{font-size:.95rem;font-weight:700;color:var(--white);}
.renewal-sub{font-size:.75rem;color:var(--off3);margin-top:.15rem;}
.renewal-cert-list{display:flex;flex-direction:column;gap:.4rem;margin:1rem 0;}
.renewal-cert-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--bg3);border-radius:7px;border:1px solid var(--border);}
.renewal-cert-name{font-size:.8rem;font-weight:600;color:var(--white);}
.renewal-cert-meta{font-family:var(--mono);font-size:.65rem;color:var(--off4);margin-top:.1rem;}

/* ─── SUPPLIERS (enhanced) ───────────────────────────────────── */
.sup-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.4rem;}
.sup-stat-card{background:var(--bg3);border:1.5px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.4rem;cursor:pointer;transition:border-color .15s,transform .18s;position:relative;overflow:hidden;}
.sup-stat-card::after{content:'→';position:absolute;bottom:.9rem;right:1rem;font-size:.7rem;color:var(--off4);transition:color .15s;}
.sup-stat-card:hover{border-color:var(--border2);transform:translateY(-2px);}
.sup-stat-card:hover::after{color:var(--orange);}
.sup-stat-label{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--off4);margin-bottom:.4rem;}
.sup-stat-val{font-family:var(--mono);font-size:1.5rem;font-weight:700;color:var(--white);line-height:1;margin-bottom:.25rem;}
.sup-stat-sub{font-size:.72rem;color:var(--off3);}
.sup-top3{margin-top:.5rem;display:flex;flex-direction:column;gap:.18rem;}
.sup-top3-item{display:flex;align-items:center;justify-content:space-between;font-size:.7rem;}
.sup-top3-name{color:var(--off3);}
.sup-top3-val{color:var(--white);font-family:var(--mono);font-weight:600;}
/* spend breakdown modal content */
.spend-bar-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;}
.spend-bar-label{font-size:.8rem;color:var(--off2);width:140px;flex-shrink:0;}
.spend-bar-track{flex:1;height:8px;background:var(--bg4);border-radius:4px;overflow:hidden;}
.spend-bar-fill{height:100%;border-radius:4px;transition:width .5s ease;}
.spend-bar-val{font-family:var(--mono);font-size:.75rem;color:var(--white);font-weight:600;width:55px;text-align:right;flex-shrink:0;}
/* supplier modal category pills */
.cat-pill{display:inline-block;padding:.12rem .55rem;border-radius:20px;font-family:var(--mono);font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
.cat-pipe{background:rgba(240,90,40,.12);color:var(--orange);}
.cat-duct{background:rgba(30,64,175,.12);color:var(--blue);}
.cat-trace{background:rgba(46,125,50,.12);color:var(--lime);}
.cat-fix{background:rgba(168,85,247,.12);color:#a855f7;}
.cat-mech{background:rgba(251,191,36,.12);color:var(--yellow);}
.cat-other{background:var(--bg4);color:var(--off3);}

/* ─── QUOTE / ESTIMATE BOOK (v6) ─────────────────────────────── */
.qb-win-rate-card{background:var(--bg3);border:1.5px solid var(--border);border-radius:var(--radius);padding:1.6rem 1.2rem 1.4rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.55rem;text-align:center;overflow:hidden;}
.qb-win-dial{position:relative;width:112px;height:112px;flex-shrink:0;}
.qb-win-dial canvas{width:72px;height:72px;}
.qb-win-rate-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:1.7rem;font-weight:700;color:var(--lime);line-height:1;pointer-events:none;}
.qb-win-info{flex:1;}
.qb-win-label{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--off4);margin-bottom:.2rem;}
.qb-win-sub{font-size:.75rem;color:var(--off3);}
.qb-client-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-bottom:1.2rem;}
.qb-client-stat-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius2);padding:.85rem 1rem;cursor:pointer;transition:border-color .15s;}
.qb-client-stat-card:hover{border-color:var(--orange);}
.qb-client-stat-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;}
.qb-client-stat-av{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:#FFFFFF;flex-shrink:0;}
.qb-client-stat-name{font-size:.78rem;font-weight:600;color:var(--white);}
.qb-client-stat-row{display:flex;justify-content:space-between;align-items:center;font-size:.68rem;color:var(--off4);margin-bottom:.12rem;}
.qb-client-stat-val{font-family:var(--mono);font-size:.72rem;color:var(--white);}
.qb-status-pills{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.4rem;}
.qb-pill{font-family:var(--mono);font-size:.58rem;padding:.1rem .4rem;border-radius:20px;}
.qb-pill-won{background:rgba(46,125,50,.12);color:var(--lime);border:1px solid rgba(46,125,50,.2);}
.qb-pill-lost{background:rgba(248,113,113,.1);color:var(--red);border:1px solid rgba(248,113,113,.15);}
.qb-pill-open{background:rgba(251,191,36,.1);color:var(--yellow);border:1px solid rgba(251,191,36,.15);}
.qb-pill-sub{background:rgba(30,64,175,.1);color:var(--blue);border:1px solid rgba(30,64,175,.15);}

/* ─── CLIENT REGISTER (v6) ────────────────────────────────────── */
.cl-score-bar{display:flex;align-items:center;gap:.4rem;}
.cl-score-pips{display:flex;gap:2px;}
.cl-score-pip{width:8px;height:8px;border-radius:2px;background:var(--bg4);}
.cl-score-pip.filled-high{background:var(--lime);}
.cl-score-pip.filled-mid{background:var(--orange);}
.cl-score-pip.filled-low{background:var(--red);}
.cl-score-label{font-family:var(--mono);font-size:.65rem;}
/* client detail modal */
.cl-detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid var(--border);}
.cl-detail-av{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:#FFFFFF;flex-shrink:0;}
.cl-detail-name{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;}
.cl-detail-meta{font-size:.75rem;color:var(--off3);margin-top:.15rem;}
.cl-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-bottom:1.1rem;}
.cl-detail-stat{background:var(--bg3);border-radius:var(--radius2);padding:.7rem .9rem;text-align:center;}
.cl-detail-stat-val{font-family:var(--mono);font-size:.95rem;font-weight:700;color:var(--white);}
.cl-detail-stat-label{font-size:.6rem;color:var(--off4);margin-top:.1rem;}
.cl-detail-section-title{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--off4);margin:.9rem 0 .5rem;display:flex;align-items:center;gap:.4rem;}
.cl-detail-section-title::after{content:'';flex:1;height:1px;background:var(--border);}
.cl-proj-row{display:flex;align-items:center;gap:.65rem;padding:.5rem .65rem;border:1px solid var(--border);border-radius:7px;margin-bottom:.35rem;background:var(--bg3);}
.cl-proj-code{font-family:var(--mono);font-size:.65rem;color:var(--off4);width:52px;flex-shrink:0;}
.cl-proj-name{flex:1;font-size:.78rem;font-weight:600;}
.cl-proj-val{font-family:var(--mono);font-size:.72rem;color:var(--white);white-space:nowrap;}
.cl-proj-mgn{font-family:var(--mono);font-size:.65rem;padding:.1rem .4rem;border-radius:20px;}
.cl-proj-mgn.high{background:rgba(46,125,50,.12);color:var(--lime);}
.cl-proj-mgn.mid{background:rgba(251,191,36,.1);color:var(--yellow);}
.cl-proj-mgn.low{background:rgba(248,113,113,.1);color:var(--red);}
.cl-profitability-score{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius2);margin-top:.8rem;}
.cl-prof-score-val{font-family:var(--mono);font-size:1.5rem;font-weight:700;}
.cl-prof-breakdown{flex:1;font-size:.72rem;color:var(--off3);}
.cl-prof-label{font-size:.6rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--off4);}

/* ─── PROCUREMENT ENHANCED (v6) ──────────────────────────────── */
.po-ref-preview{background:var(--bg4);border:1px solid var(--border2);border-radius:5px;padding:.3rem .65rem;font-family:var(--mono);font-size:.82rem;color:var(--orange);display:inline-block;margin-top:.3rem;letter-spacing:.04em;}
.po-cat-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .5rem;border-radius:20px;font-family:var(--mono);font-size:.65rem;font-weight:600;}
.po-cat-ins{background:rgba(30,64,175,.12);color:var(--blue);border:1px solid rgba(30,64,175,.2);}
.po-cat-duc{background:rgba(46,125,50,.1);color:var(--lime);border:1px solid rgba(46,125,50,.15);}
.po-cat-trc{background:rgba(240,90,40,.1);color:var(--orange);border:1px solid rgba(240,90,40,.15);}
.po-cat-elc{background:rgba(251,191,36,.1);color:var(--yellow);border:1px solid rgba(251,191,36,.15);}
.po-cat-plb{background:rgba(34,211,238,.1);color:#22d3ee;border:1px solid rgba(34,211,238,.15);}
.po-cat-mec{background:rgba(167,139,250,.12);color:#a78bfa;border:1px solid rgba(167,139,250,.2);}
.po-cat-fix{background:rgba(248,113,113,.1);color:var(--red);border:1px solid rgba(248,113,113,.15);}
.po-cat-oth{background:rgba(138,144,153,.1);color:var(--off3);border:1px solid rgba(138,144,153,.15);}
/* supplier link chip */
.po-sup-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .45rem;border-radius:20px;background:var(--bg3);border:1px solid var(--border);font-size:.72rem;cursor:pointer;transition:border-color .12s;}
.po-sup-chip:hover{border-color:var(--orange);color:var(--orange);}
/* won-quote banner */
.won-quote-banner{background:rgba(46,125,50,.06);border:1.5px solid rgba(46,125,50,.2);border-radius:var(--radius2);padding:.75rem 1rem;margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem;}
.won-quote-banner-text{flex:1;font-size:.8rem;color:var(--off2);}
.won-quote-banner-ref{font-family:var(--mono);font-size:.72rem;color:var(--lime);}

/* ─── PL BENCHMARK (fixes for smaller screens) ───────────────── */
.pl-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.2rem;}

/* ─── P&L / FINANCE (v5) ─────────────────────────────────────── */
.pl-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.2rem;}
.pl-benchmark-row{display:flex;align-items:center;gap:.6rem;padding:.65rem 1rem;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius2);margin-bottom:1.2rem;flex-wrap:wrap;}
.pl-benchmark-label{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;color:var(--off4);flex-shrink:0;}
.pl-benchmark-item{display:flex;align-items:center;gap:.35rem;padding:.18rem .55rem;border-radius:20px;font-size:.72rem;}
.pl-benchmark-range{font-family:var(--mono);font-size:.65rem;font-weight:600;}
.pl-benchmark-in{background:rgba(46,125,50,.1);border:1px solid rgba(46,125,50,.2);color:var(--lime);}
.pl-benchmark-out{background:rgba(240,90,40,.1);border:1px solid rgba(240,90,40,.2);color:var(--orange);}
/* goal progress bars */
.pl-goals{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.2rem;}
.pl-goal-card{background:var(--bg3);border:1.5px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.3rem;}
.pl-goal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem;}
.pl-goal-label{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--off4);}
.pl-goal-edit{font-size:.65rem;color:var(--orange);cursor:pointer;text-decoration:none;}
.pl-goal-edit:hover{text-decoration:underline;}
.pl-goal-vals{display:flex;align-items:baseline;gap:.35rem;margin-bottom:.5rem;}
.pl-goal-actual{font-family:var(--mono);font-size:1.25rem;font-weight:700;color:var(--white);}
.pl-goal-target{font-family:var(--mono);font-size:.75rem;color:var(--off4);}
.pl-goal-bar-track{height:7px;background:var(--bg4);border-radius:4px;overflow:hidden;margin-bottom:.3rem;}
.pl-goal-bar-fill{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1);}
.pl-goal-pct{font-family:var(--mono);font-size:.65rem;color:var(--off3);}
/* breakdown sections */
.pl-section-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.pl-section-card{background:var(--bg3);border:1.5px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.3rem;cursor:pointer;transition:border-color .15s,transform .18s;}
.pl-section-card:hover{border-color:var(--orange);transform:translateY(-2px);}
.pl-section-card-title{font-size:.85rem;font-weight:700;margin-bottom:.2rem;}
.pl-section-card-sub{font-size:.72rem;color:var(--off3);}
.pl-section-card-icon{font-size:1.4rem;margin-bottom:.6rem;}
.pl-section-stats{display:flex;gap:1.2rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);}
.pl-section-stat{text-align:left;}
.pl-section-stat-val{font-family:var(--mono);font-size:.9rem;font-weight:700;}
.pl-section-stat-label{font-size:.65rem;color:var(--off4);}
/* breakdown modal table */
.pl-breakdown-table{width:100%;border-collapse:collapse;}
.pl-breakdown-table th{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;color:var(--off4);text-align:left;padding:.45rem .65rem;border-bottom:1px solid var(--border);}
.pl-breakdown-table td{font-size:.8rem;padding:.55rem .65rem;border-bottom:1px solid rgba(0,0,0,.08);}
.pl-breakdown-table tr:last-child td{border-bottom:none;font-weight:700;color:var(--white);}
.pl-breakdown-table .num{font-family:var(--mono);text-align:right;}
.pl-breakdown-table .pos{color:var(--lime);}
.pl-breakdown-table .neg{color:var(--red);}
/* inline goal edit form */
.pl-goal-input-row{display:flex;gap:.4rem;margin-top:.5rem;align-items:center;}
.pl-goal-input{background:var(--bg4);border:1px solid var(--border2);border-radius:5px;color:var(--white);font-family:var(--mono);font-size:.75rem;padding:.28rem .5rem;width:110px;outline:none;}
.pl-goal-input:focus{border-color:var(--orange);}

/* ─── INVOICE FEATURES (v5) ──────────────────────────────────── */
/* prompt widget on dash */
.inv-prompt-widget{background:var(--bg3);border:1.5px solid rgba(46,125,50,.25);border-radius:var(--radius);padding:1.1rem 1.3rem;margin-bottom:1rem;}
.inv-prompt-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.85rem;}
.inv-prompt-icon{font-size:1.1rem;}
.inv-prompt-title{font-size:.88rem;font-weight:700;color:var(--white);}
.inv-prompt-sub{font-size:.72rem;color:var(--off3);margin-left:auto;}
.inv-prompt-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .65rem;background:var(--bg2);border-radius:7px;border:1px solid var(--border);margin-bottom:.4rem;}
.inv-prompt-proj{flex:1;}
.inv-prompt-proj-name{font-size:.8rem;font-weight:600;color:var(--white);}
.inv-prompt-proj-meta{font-size:.65rem;color:var(--off4);font-family:var(--mono);margin-top:.1rem;}
.inv-prompt-amt{font-family:var(--mono);font-size:.82rem;font-weight:700;color:var(--lime);white-space:nowrap;}
/* outstanding tracker */
.inv-outstanding-section{margin-bottom:1.2rem;}
.inv-outstanding-title{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--off4);margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem;}
.inv-outstanding-title::after{content:'';flex:1;height:1px;background:var(--border);}
.inv-outstanding-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;background:var(--bg3);border-radius:8px;border:1px solid var(--border);margin-bottom:.4rem;transition:border-color .12s;}
.inv-outstanding-row.overdue{border-color:rgba(248,113,113,.3);background:rgba(248,113,113,.04);}
.inv-outstanding-row.draft{border-color:rgba(251,191,36,.2);background:rgba(251,191,36,.03);}
.inv-out-info{flex:1;}
.inv-out-ref{font-family:var(--mono);font-size:.72rem;font-weight:600;color:var(--white);}
.inv-out-client{font-size:.75rem;color:var(--off3);margin-top:.08rem;}
.inv-out-days{font-family:var(--mono);font-size:.65rem;padding:.12rem .45rem;border-radius:20px;}
.inv-out-days.overdue{background:rgba(248,113,113,.15);color:var(--red);}
.inv-out-days.draft{background:rgba(251,191,36,.1);color:var(--yellow);}
.inv-out-days.pending{background:rgba(30,64,175,.1);color:var(--blue);}
.inv-out-amt{font-family:var(--mono);font-size:.8rem;font-weight:700;white-space:nowrap;}
/* invoice filters */
.inv-filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:.8rem;}
.inv-filter-select{background:var(--bg3);border:1px solid var(--border2);color:var(--white);font-family:var(--sans);font-size:.78rem;padding:.32rem .7rem;border-radius:6px;outline:none;cursor:pointer;min-width:130px;}
.inv-filter-select:focus{border-color:var(--orange);}
.inv-filter-clear{font-size:.72rem;color:var(--off4);cursor:pointer;text-decoration:underline;}
.inv-filter-clear:hover{color:var(--orange);}

/* ─── ENG AVATAR BADGE ───────────────────────────────────────── */
.eng-avatar-badge{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.85rem;font-weight:700;color:#fff;flex-shrink:0;}
.section{padding:100px 2rem;}
.wrap{max-width:1160px;margin:0 auto;}
.section-eyebrow{font-family:var(--mono);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--orange);display:flex;align-items:center;gap:.5rem;margin-bottom:1.1rem;}
.section-eyebrow::before{content:'';display:block;width:16px;height:1.5px;background:var(--orange);}
.section-title{font-size:clamp(1.9rem,3.5vw,3rem);line-height:1.1;letter-spacing:-.03em;font-weight:700;color:var(--white);margin-bottom:1rem;}
.section-title em{font-style:normal;color:var(--orange);}
.lead{font-size:1rem;color:var(--off3);line-height:1.75;max-width:560px;}
.text-center{text-align:center;}
.text-center .lead{margin:0 auto;}

/* Features */
#features{background:var(--bg2);border-top:1px solid var(--border);}
.feat-intro{text-align:center;margin-bottom:4rem;}
.feat-split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;margin-bottom:5rem;}
.feat-split.flip{direction:rtl;}
.feat-split.flip>*{direction:ltr;}
.feat-copy .section-eyebrow{margin-bottom:.8rem;}
.feat-copy h3{font-size:1.9rem;line-height:1.1;letter-spacing:-.03em;font-weight:700;color:var(--white);margin-bottom:.9rem;}
.feat-copy p{color:var(--off3);line-height:1.75;margin-bottom:1.5rem;}
.ckl{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.8rem;}
.ckl li{display:flex;align-items:flex-start;gap:.55rem;font-size:.84rem;color:var(--off3);line-height:1.5;}
.ck{color:var(--lime);font-weight:900;font-size:.75rem;flex-shrink:0;margin-top:.14rem;}
.feat-panel{background:var(--bg3);border:1.5px solid var(--border2);border-radius:var(--radius);overflow:hidden;}
.fp-chrome{background:var(--bg4);padding:.6rem 1rem;display:flex;align-items:center;gap:.55rem;border-bottom:1px solid var(--border);}
.fp-dot{width:10px;height:10px;border-radius:50%;}
.fp-title{font-family:var(--mono);font-size:.62rem;color:var(--off4);margin-left:.5rem;}
.fp-body{padding:1rem;}
.fp-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1rem;}
.fp-kpi{background:var(--bg4);border-radius:7px;padding:.5rem .6rem;border:1px solid var(--border);}
.fp-kv{font-family:var(--mono);font-weight:700;font-size:1.1rem;color:var(--lime);margin-bottom:.15rem;}
.fp-kl{font-family:var(--mono);font-size:.55rem;color:var(--off4);text-transform:uppercase;letter-spacing:.07em;}
.fp-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .65rem;border-radius:7px;background:var(--bg4);margin-bottom:.4rem;}
.fp-rn{font-size:.78rem;font-weight:600;color:var(--off2);margin-bottom:.1rem;}
.fp-rs{font-family:var(--mono);font-size:.62rem;color:var(--off4);}
.fp-badge{font-family:var(--mono);font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.18rem .55rem;border-radius:20px;}
.fp-g{background:var(--lg);color:var(--lime);}
.fp-r{background:rgba(248,113,113,.12);color:var(--red);}
.fp-y{background:rgba(251,191,36,.12);color:var(--yellow);}
.fp-b{background:rgba(30,64,175,.12);color:var(--blue);}
.inv-total{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.8rem;padding:.6rem .65rem;background:var(--bg4);border-radius:7px;}
.inv-total-l{font-family:var(--mono);font-size:.6rem;color:var(--off4);text-transform:uppercase;letter-spacing:.07em;}
.inv-total-n{font-family:var(--mono);font-weight:700;font-size:1.4rem;color:var(--lime);}

/* Pricing */
#pricing{background:var(--bg1);}
.pr-top{text-align:center;margin-bottom:3.5rem;}
.ptog{display:inline-flex;align-items:center;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius2);padding:.3rem;margin-top:1.3rem;}
.ptbtn{padding:.38rem 1rem;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;border:none;background:none;color:var(--off3);transition:all .13s;font-family:var(--sans);}
.ptbtn.on{background:var(--bg4);color:var(--white);}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;align-items:start;max-width:1020px;margin:0 auto;}
@media(max-width:900px){.pgrid{grid-template-columns:1fr;max-width:400px;}}
.pcard{background:var(--bg3);border:1.5px solid var(--border);border-radius:var(--radius);padding:2rem;position:relative;transition:border-color .18s;}
.pcard:hover{border-color:var(--border2);}
.pcard.hot{border-color:var(--orange);box-shadow:0 0 0 4px rgba(240,90,40,.1);}
.pbdg{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-family:var(--mono);font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.2rem .85rem;border-radius:20px;white-space:nowrap;}
.ptier{font-family:var(--mono);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--off3);margin-bottom:.5rem;}
.pcard.hot .ptier{color:var(--orange);}
.pnum{font-family:var(--mono);font-weight:700;font-size:2.8rem;color:var(--white);letter-spacing:-.05em;line-height:1;}
.pper{font-size:.78rem;color:var(--off3);margin-left:.2rem;}
.psub{font-size:.68rem;color:var(--off3);margin-top:.2rem;margin-bottom:1.5rem;font-family:var(--mono);}
.pdiv{height:1px;background:var(--border);margin-bottom:1.3rem;}
.pfl{list-style:none;display:flex;flex-direction:column;gap:.62rem;margin-bottom:1.8rem;}
.pfl li{display:flex;align-items:flex-start;gap:.52rem;font-size:.82rem;color:var(--off3);line-height:1.45;}
.pck{color:var(--lime);font-weight:900;font-size:.75rem;flex-shrink:0;margin-top:.04rem;}
.pcx{color:var(--off4);font-weight:900;font-size:.75rem;flex-shrink:0;margin-top:.04rem;}

/* ── Comparison table ────────────────────────────────────────── */
.cmp-tbl{width:100%;border-collapse:collapse;margin-top:2.5rem;font-size:.82rem;}
.cmp-tbl th{font-family:var(--mono);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--off4);padding:.8rem .6rem;text-align:center;border-bottom:1px solid var(--border);}
.cmp-tbl th:first-child{text-align:left;color:var(--off3);}
.cmp-tbl th.cmp-pop{color:var(--orange);}
.cmp-tbl td{padding:.7rem .6rem;border-bottom:1px solid rgba(0,0,0,.06);color:var(--off3);text-align:center;vertical-align:middle;}
.cmp-tbl td:first-child{text-align:left;font-weight:500;color:var(--off2);}
.cmp-tbl td.cmp-pop-col{background:rgba(240,90,40,.03);}
.cmp-tbl tr:hover td{background:rgba(0,0,0,.02);}
.cmp-tbl tr:hover td.cmp-pop-col{background:rgba(240,90,40,.06);}
.cmp-ck{color:var(--lime);font-weight:900;font-size:.78rem;}
.cmp-no{color:var(--off4);font-size:.72rem;}
.cmp-tbl .cmp-cat{font-family:var(--mono);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--off4);padding:1.1rem .6rem .5rem;border-bottom:1px solid var(--border);}

/* ── Pricing FAQ ─────────────────────────────────────────────── */
.pfaq{max-width:680px;margin:3rem auto 0;}
.pfaq-item{border-bottom:1px solid var(--border);}
.pfaq-q{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;cursor:pointer;font-size:.88rem;font-weight:600;color:var(--off2);transition:color .15s;}
.pfaq-q:hover{color:var(--white);}
.pfaq-q .pfaq-icon{font-size:.8rem;color:var(--off4);transition:transform .25s;flex-shrink:0;margin-left:1rem;}
.pfaq-q.open .pfaq-icon{transform:rotate(45deg);color:var(--orange);}
.pfaq-a{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s;padding:0 0;font-size:.82rem;color:var(--off3);line-height:1.65;}
.pfaq-a.open{max-height:300px;padding:0 0 1.1rem;}

/* ── Founding Member section ──────────────────────────────────── */
@keyframes pulse-ring{0%{transform:scale(.92);opacity:.7}70%{transform:scale(1.08);opacity:0}100%{transform:scale(1.08);opacity:0}}
@keyframes fm-glow{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

#testi{
  background:var(--bg0);
  border-top:1px solid var(--border);
  position:relative;
  overflow:hidden;
}
#testi::before{
  content:'';
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 50% -10%, rgba(240,90,40,.07) 0%, transparent 60%),
    radial-gradient(ellipse 40% 50% at 90% 80%, rgba(46,125,50,.05) 0%, transparent 55%),
    radial-gradient(ellipse 35% 40% at 5%  70%, rgba(240,90,40,.04) 0%, transparent 50%);
  pointer-events:none;
  z-index:0;
}

/* Counter */
.fm-counter-wrap{
  display:flex;flex-direction:column;align-items:center;
  margin-bottom:3rem;
  position:relative;z-index:1;
}
.fm-counter-badge{
  display:inline-flex;align-items:center;gap:.55rem;
  background:rgba(240,90,40,.08);
  border:1.5px solid rgba(240,90,40,.3);
  border-radius:40px;
  padding:.45rem 1.2rem .45rem .7rem;
  margin-bottom:1.6rem;
}
.fm-pulse-dot{
  position:relative;width:10px;height:10px;
}
.fm-pulse-dot::before{
  content:'';position:absolute;inset:0;
  border-radius:50%;background:var(--orange);
}
.fm-pulse-dot::after{
  content:'';position:absolute;inset:-4px;
  border-radius:50%;border:2px solid var(--orange);
  animation:pulse-ring 1.8s cubic-bezier(.2,.6,.3,1) infinite;
}
.fm-badge-txt{
  font-family:var(--mono);font-size:.65rem;font-weight:700;
  letter-spacing:.06em;color:var(--orange);text-transform:uppercase;
}
.fm-track{
  width:min(460px,90vw);
  background:var(--bg3);
  border:1px solid var(--border2);
  border-radius:40px;
  height:14px;
  overflow:hidden;
  position:relative;
  margin-bottom:.7rem;
}
.fm-fill{
  height:100%;
  background:linear-gradient(90deg, var(--orange), var(--orange2) 60%, var(--lime));
  border-radius:40px;
  position:relative;
  transition:width 1.2s cubic-bezier(.2,1,.3,1);
}
.fm-fill::after{
  content:'';
  position:absolute;top:0;right:0;bottom:0;width:40px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.22));
  animation:fm-glow 2s ease-in-out infinite;
}
.fm-track-labels{
  display:flex;justify-content:space-between;
  width:min(460px,90vw);
}
.fm-spots-taken{
  font-family:var(--mono);font-size:.68rem;font-weight:700;color:var(--orange);
}
.fm-spots-left{
  font-family:var(--mono);font-size:.68rem;color:var(--off4);
}

/* Two-panel grid */
.fm-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
  margin-bottom:3rem;
  position:relative;z-index:1;
}
.fm-panel{
  background:var(--bg2);
  border:1.5px solid var(--border);
  border-radius:var(--radius);
  padding:2rem 2rem 1.8rem;
  position:relative;
  transition:border-color .18s,transform .2s;
}
.fm-panel:hover{transform:translateY(-2px);}
.fm-panel.get{border-color:rgba(240,90,40,.3);}
.fm-panel.get:hover{border-color:rgba(240,90,40,.6);}
.fm-panel.need{border-color:rgba(46,125,50,.2);}
.fm-panel.need:hover{border-color:rgba(46,125,50,.45);}

.fm-panel-eyebrow{
  font-family:var(--mono);font-size:.55rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;
  margin-bottom:1.1rem;display:flex;align-items:center;gap:.45rem;
}
.fm-panel.get  .fm-panel-eyebrow{color:var(--orange);}
.fm-panel.need .fm-panel-eyebrow{color:var(--lime);}
.fm-panel-eyebrow::before{
  content:'';display:block;
  width:14px;height:1.5px;
}
.fm-panel.get  .fm-panel-eyebrow::before{background:var(--orange);}
.fm-panel.need .fm-panel-eyebrow::before{background:var(--lime);}

.fm-panel-title{
  font-size:1.2rem;font-weight:700;letter-spacing:-.025em;
  color:var(--white);margin-bottom:1.4rem;line-height:1.2;
}
.fm-list{list-style:none;display:flex;flex-direction:column;gap:.9rem;}
.fm-list li{display:flex;align-items:flex-start;gap:.7rem;font-size:.86rem;color:var(--off2);line-height:1.55;}
.fm-icon{
  font-size:.9rem;flex-shrink:0;margin-top:.08rem;
  width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:5px;
}
.fm-panel.get  .fm-icon{background:rgba(240,90,40,.1);}
.fm-panel.need .fm-icon{background:rgba(46,125,50,.1);}

.fm-list li strong{color:var(--white);font-weight:600;}

/* Corner accent */
.fm-panel.get::before{
  content:'';position:absolute;top:0;right:0;
  width:80px;height:80px;
  background:radial-gradient(ellipse at top right, rgba(240,90,40,.12), transparent 70%);
  border-radius:0 var(--radius) 0 0;pointer-events:none;
}
.fm-panel.need::before{
  content:'';position:absolute;top:0;right:0;
  width:80px;height:80px;
  background:radial-gradient(ellipse at top right, rgba(46,125,50,.09), transparent 70%);
  border-radius:0 var(--radius) 0 0;pointer-events:none;
}

/* Founder note */
.fm-founder-note{
  position:relative;z-index:1;
  display:flex;align-items:flex-start;gap:1.2rem;
  background:rgba(0,0,0,.02);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.6rem 2rem;
  margin-bottom:3rem;
}
.fm-founder-av{
  width:48px;height:48px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg, var(--orange), var(--c-action-dark));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-weight:700;font-size:.85rem;color:#FFFFFF;
}
.fm-founder-body{flex:1;}
.fm-founder-quote{
  font-size:.9rem;color:var(--off2);line-height:1.75;
  font-style:italic;margin-bottom:.6rem;
}
.fm-founder-sig{
  font-family:var(--mono);font-size:.6rem;color:var(--off4);
  text-transform:uppercase;letter-spacing:.08em;
}

/* CTA block */
.fm-cta-wrap{
  position:relative;z-index:1;
  text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:1rem;
}
.fm-scarcity{
  font-family:var(--mono);font-size:.65rem;
  color:var(--off4);letter-spacing:.04em;
}
.fm-scarcity span{color:var(--orange);font-weight:700;}

/* Ticker tape of micro-promises */
.fm-ticker{
  width:100%;overflow:hidden;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:.55rem 0;
  background:rgba(0,0,0,.015);
  margin-bottom:3rem;
  position:relative;z-index:1;
}
.fm-ticker-inner{
  display:flex;gap:0;
  white-space:nowrap;
  animation:ticker 28s linear infinite;
}
.fm-ticker-item{
  font-family:var(--mono);font-size:.6rem;
  text-transform:uppercase;letter-spacing:.1em;
  color:var(--off4);
  padding:0 2.2rem;
}
.fm-ticker-item span{color:var(--orange);}

@media(max-width:760px){
  .fm-grid{grid-template-columns:1fr;}
  .fm-track,.fm-track-labels{width:90vw;}
}

/* CTA */
#cta{padding:120px 2rem;background:var(--bg0);text-align:center;position:relative;overflow:hidden;border-top:1px solid var(--border);}
.cta-orb{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:500px;background:radial-gradient(ellipse,rgba(240,90,40,.1) 0%,transparent 65%);pointer-events:none;}

/* Footer */
footer{background:var(--bg2);border-top:1px solid var(--border);padding:3.5rem 2.5rem 2.5rem;}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:2.5rem;}
.fbrand p{font-size:.82rem;color:var(--off3);line-height:1.7;margin-top:.65rem;max-width:250px;}
.fsubt{font-family:var(--mono);font-size:.58rem;color:var(--off4);margin-top:.4rem;}
.fh{font-family:var(--mono);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--off3);margin-bottom:.9rem;}
.fcol ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;}
.fcol ul li a{text-decoration:none;color:var(--off3);font-size:.82rem;transition:color .12s;cursor:pointer;}
.fcol ul li a:hover{color:var(--orange);}
.fbot{padding-top:1.5rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;}
.fcp{font-size:.72rem;color:var(--off3);font-family:var(--mono);}
.fleg{display:flex;gap:1.5rem;}
.fleg a{font-size:.7rem;color:var(--off3);text-decoration:none;transition:color .12s;cursor:pointer;}
.fleg a:hover{color:var(--white);}

/* ─── AUTH PAGES ─────────────────────────────────────────────── */
.auth-wrap{min-height:100vh;background:var(--bg0);display:flex;align-items:center;justify-content:center;padding:2rem;}
.auth-card{background:#FFFFFF;border:1.5px solid var(--border);border-radius:var(--radius);padding:2.5rem;width:100%;max-width:440px;animation:fadeUp .4s ease both;box-shadow:0 4px 24px rgba(0,0,0,.08);}
.auth-logo{display:flex;align-items:center;gap:.6rem;margin-bottom:2rem;justify-content:center;}
.auth-title{font-size:1.5rem;font-weight:700;letter-spacing:-.025em;margin-bottom:.35rem;text-align:center;}
.auth-sub{font-size:.84rem;color:var(--off3);text-align:center;margin-bottom:1.8rem;}
.field{margin-bottom:1.1rem;}
.field label{display:block;font-family:var(--mono);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--off3);margin-bottom:.4rem;}
.field input,.field select,.field textarea{width:100%;background:#F8F9FB;border:1px solid #D0D5DD;border-radius:10px;padding:.62rem .85rem;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:.88rem;color:var(--white);outline:none;transition:border-color .13s,box-shadow .13s;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#2C5D9E;box-shadow:0 0 0 3px rgba(44,93,158,0.1);}
.field input::placeholder,.field textarea::placeholder{color:var(--off4);}
.field textarea{resize:vertical;min-height:80px;}
.field select{cursor:pointer;}
.field select option{background:var(--bg3);}
.auth-err{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.25);border-radius:7px;padding:.6rem .85rem;font-size:.82rem;color:var(--red);margin-bottom:1rem;display:none;}
.auth-link{font-size:.82rem;color:var(--off3);text-align:center;margin-top:1.2rem;}
.auth-link a{color:var(--orange);text-decoration:none;cursor:pointer;}
.auth-link a:hover{text-decoration:underline;}
.auth-demo{background:var(--og);border:1px solid rgba(240,90,40,.2);border-radius:7px;padding:.55rem .85rem;font-family:var(--mono);font-size:.65rem;color:var(--orange2);margin-bottom:1.4rem;line-height:1.6;}
.plan-select{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin-bottom:1.2rem;}
.plan-opt{border:1.5px solid var(--border);border-radius:var(--radius2);padding:.75rem;cursor:pointer;transition:all .15s;text-align:center;}
.plan-opt:hover{border-color:var(--border2);}
.plan-opt.sel{border-color:var(--orange);background:var(--og);}
.plan-opt .pname{font-family:var(--mono);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--off3);margin-bottom:.2rem;}
.plan-opt.sel .pname{color:var(--orange);}
.plan-opt .pprice{font-family:var(--mono);font-weight:700;font-size:1.1rem;color:var(--white);}

/* ─── ONBOARDING ─────────────────────────────────────────────── */
.ob-wrap{min-height:100vh;background:var(--bg0);display:flex;align-items:center;justify-content:center;padding:2rem;}
.ob-card{background:#FFFFFF;border:1.5px solid var(--border);border-radius:16px;width:100%;max-width:560px;overflow:hidden;animation:fadeUp .4s ease both;box-shadow:0 4px 24px rgba(0,0,0,.08);}
.ob-header{background:var(--bg3);padding:2rem 2.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1.2rem;}
.ob-logo{width:50px;height:50px;border-radius:12px;background:var(--orange);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 20px rgba(240,90,40,.35);}
.ob-logo::after{content:'CQ';font-family:var(--mono);font-size:1rem;font-weight:700;color:#FFFFFF;letter-spacing:-.04em;}
.ob-steps{display:flex;gap:.3rem;padding:1.5rem 2.5rem 1rem;border-bottom:1px solid var(--border);}
.ob-step{flex:1;height:3px;background:var(--border);border-radius:2px;transition:background .3s;}
.ob-step.done{background:var(--lime);}
.ob-step.active{background:var(--orange);}
.ob-body{padding:2rem 2.5rem;}
.ob-title{font-size:1.4rem;font-weight:700;letter-spacing:-.025em;margin-bottom:.35rem;}
.ob-sub{font-size:.84rem;color:var(--off3);margin-bottom:1.8rem;}
.ob-footer{padding:1.2rem 2.5rem;border-top:1px solid var(--border);background:var(--bg3);display:flex;justify-content:space-between;align-items:center;}
/* ── Onboarding trade tile grid ────────────────────────────── */
.ob-trade-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.9rem;}
.ob-trade-tile{background:var(--bg3);border:1.5px solid var(--border);border-radius:10px;padding:.7rem .4rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;cursor:pointer;transition:border-color .15s,background .15s,transform .1s;user-select:none;}
.ob-trade-tile:hover{border-color:rgba(240,90,40,.4);background:var(--bg4);}
.ob-trade-tile.selected{border-color:var(--orange);background:rgba(240,90,40,.08);box-shadow:0 0 0 3px rgba(240,90,40,.13);}
.ob-trade-tile:active{transform:scale(.96);}
.ob-trade-icon{font-size:1.4rem;line-height:1;}
.ob-trade-label{font-family:var(--mono);font-size:.6rem;font-weight:600;color:var(--off2);text-align:center;line-height:1.35;letter-spacing:.01em;}
.ob-trade-tile.selected .ob-trade-label{color:var(--orange);}
@media(max-width:480px){.ob-trade-grid{grid-template-columns:repeat(4,1fr);gap:.35rem;}.ob-trade-icon{font-size:1.1rem;}.ob-trade-label{font-size:.55rem;}}

/* ─── STRIPE PAGE ────────────────────────────────────────────── */
.stripe-wrap{min-height:100vh;background:#0a0f1a;display:flex;align-items:center;justify-content:center;padding:2rem;}
.stripe-card{background:#fff;border-radius:12px;width:100%;max-width:420px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.12);animation:fadeUp .4s ease both;}
.stripe-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:.75rem;}
.stripe-logo-s{width:32px;height:32px;background:#635bff;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.stripe-logo-s svg{width:18px;height:18px;fill:#fff;}
.stripe-prod{font-size:.9rem;font-weight:600;color:#111827;flex:1;}
.stripe-amt{font-family:monospace;font-weight:700;font-size:1rem;color:#111827;}
.stripe-body{padding:1.5rem;}
.stripe-field{margin-bottom:1rem;}
.stripe-field label{display:block;font-size:.72rem;font-weight:600;color:#374151;margin-bottom:.3rem;}
.stripe-field input{width:100%;border:1.5px solid #d1d5db;border-radius:6px;padding:.55rem .75rem;font-size:.88rem;color:#111827;outline:none;transition:border-color .13s;}
.stripe-field input:focus{border-color:#635bff;box-shadow:0 0 0 3px rgba(99,91,255,.1);}
.stripe-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
.stripe-security{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--c-gray-muted);margin-top:1rem;}
.stripe-security svg{width:14px;height:14px;fill:var(--c-gray-muted);}
.stripe-footer{padding:1rem 1.5rem;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;align-items:center;gap:.5rem;font-size:.7rem;color:#9ca3af;}

/* ─── DASHBOARD SHELL ────────────────────────────────────────── */
.dash-shell{display:flex;height:100vh;overflow:hidden;background:var(--bg1);}
.dash-sidebar{width:240px;flex-shrink:0;background:#0B1E3E;border-right:none;display:flex;flex-direction:column;overflow-y:auto;}
.sb-logo{padding:1rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.15);display:flex;align-items:center;gap:.65rem;flex-shrink:0;}
.sb-logo-sq{width:30px;height:30px;background:var(--orange);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sb-logo-sq::after{content:'CQ';font-family:var(--mono);font-size:.58rem;font-weight:700;color:#000;letter-spacing:-.04em;}
.sb-wordmark{font-family:var(--mono);font-size:.9rem;font-weight:700;letter-spacing:-.03em;color:#FFFFFF;}
.sb-wordmark span{color:var(--orange);}
.sb-trial{margin:.6rem .7rem;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.2);border-radius:8px;padding:.5rem .65rem;}
.sb-trial-label{font-family:var(--mono);font-size:.58rem;color:var(--yellow);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem;}
.sb-trial-text{font-size:.72rem;color:rgba(255,255,255,.65);}
.sb-nav{flex:1;padding:.4rem .5rem;}
.sb-section{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,0.35);padding:.55rem .6rem .25rem;margin-top:.3rem;}
.sb-item{display:flex;align-items:center;gap:.6rem;padding:10px 20px;border-radius:7px;cursor:pointer;font-size:13px;font-weight:500;color:rgba(255,255,255,0.65);transition:all 0.15s ease;border:1px solid transparent;}
.sb-item:hover{color:#FFFFFF;background:rgba(255,255,255,0.08);}
.sb-item.active{color:#FFFFFF;background:rgba(255,255,255,0.12);border-color:transparent;border-left:3px solid #F05A28;}
.sb-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0.6;}
.sb-item.active .sb-icon,.sb-item:hover .sb-icon{opacity:1;}
.sb-badge{margin-left:auto;font-family:var(--mono);font-size:.58rem;background:var(--orange);color:#000;padding:.05rem .38rem;border-radius:99px;font-weight:700;}
.sb-user{padding:.75rem 1rem;border-top:1px solid rgba(255,255,255,.15);display:flex;align-items:center;gap:.6rem;cursor:pointer;transition:background .13s;flex-shrink:0;}
.sb-user:hover{background:rgba(255,255,255,.1);}
.sb-av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--c-action-dark));display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.62rem;font-weight:700;color:#000;flex-shrink:0;}
.sb-user-name{font-size:.78rem;font-weight:600;color:#FFFFFF;}
.sb-user-role{font-family:var(--mono);font-size:.58rem;color:rgba(255,255,255,.5);}

/* ─── DASH MAIN ──────────────────────────────────────────────── */
.dash-main{flex:1;min-width:0;overflow:hidden;display:flex;flex-direction:column;}
.dash-topbar{background:#fff;border-bottom:1px solid #E8ECEF;padding:0 1.5rem;height:60px;display:flex;align-items:center;gap:1rem;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,0.04);}
.dash-topbar-title{font-weight:800;font-size:20px;flex:1;color:#0B1E3E;letter-spacing:-0.3px;}
.dash-content{flex:1;overflow-y:auto;padding:1.5rem;}
/* Scrollbar styling */
.dash-content::-webkit-scrollbar{width:6px;}
.dash-content::-webkit-scrollbar-thumb{background:#D0D5DD;border-radius:3px;}
.dash-content::-webkit-scrollbar-thumb:hover{background:#9CA3AF;}
.dash-sidebar::-webkit-scrollbar{width:4px;}
.dash-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:2px;}

/* KPI grid */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem;}
.kpi{background:#fff;border:1px solid #E8ECEF;border-radius:16px;padding:1rem 1.1rem;position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.04);transition:all 0.2s ease;}
.kpi:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(11,30,62,0.08);}
.kpi::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--kc,var(--orange));}
.kpi-label{font-family:var(--mono);font-size:11px;color:#717171;text-transform:uppercase;letter-spacing:1px;}
.kpi-val{font-family:var(--mono);font-size:1.55rem;font-weight:800;margin:.3rem 0 .2rem;color:#0B1E3E;}
.kpi-delta{font-family:var(--mono);font-size:.68rem;}
.delta-up{color:var(--lime);}
.delta-dn{color:var(--red);}

/* Cards */
.card{background:#fff;border:1px solid #E8ECEF;border-radius:16px;overflow:hidden;margin-bottom:1.2rem;box-shadow:0 2px 8px rgba(0,0,0,0.04);transition:all 0.2s ease;}
.card-header{padding:.75rem 1rem;border-bottom:1px solid #E8ECEF;display:flex;align-items:center;justify-content:space-between;}
.card-title{font-family:var(--sans);font-size:20px;font-weight:800;letter-spacing:-0.3px;color:#0B1E3E;}

/* Tables */
.tbl{width:100%;border-collapse:collapse;border-radius:12px;overflow:hidden;}
.tbl th{font-family:var(--sans);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.8px;color:#fff;padding:12px 16px;border-bottom:none;text-align:left;white-space:nowrap;background:#0B1E3E;}
.tbl td{font-size:.82rem;padding:12px 16px;border-bottom:1px solid #F0F2F5;color:var(--off2);vertical-align:middle;}
.tbl tr:last-child td{border-bottom:none;}
.tbl tbody tr:nth-child(even){background:#F8F9FB;}
.tbl tbody tr:hover{background:rgba(44,93,158,0.04);}
.tbl td.mono{font-family:var(--mono);font-size:.75rem;color:var(--off3);}
.tbl td.strong{color:var(--white);font-weight:600;}

/* Badges */
.badge{display:inline-flex;align-items:center;font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;padding:.18rem .55rem;border-radius:20px;}
.badge-active,.badge-won,.badge-completed,.badge-paid,.badge-delivered{background:var(--lg);color:var(--lime);}
.badge-pending,.badge-submitted,.badge-ordered,.badge-sent{background:rgba(30,64,175,.12);color:var(--blue);}
.badge-trial,.badge-open,.badge-draft,.badge-chase{background:rgba(251,191,36,.12);color:var(--yellow);}
.badge-overdue,.badge-lost,.badge-cancelled,.badge-late{background:rgba(248,113,113,.12);color:var(--red);}
.badge-orange,.badge-queried{background:var(--og);color:var(--orange);}
.badge-purple{background:rgba(168,85,247,.12);color:#a855f7;}

/* Search/filter bar */
.bar{display:flex;align-items:center;gap:.65rem;margin-bottom:1.2rem;flex-wrap:wrap;}
.search-box{position:relative;flex:1;min-width:200px;}
.search-box input{width:100%;background:var(--bg3);border:1.5px solid var(--border);border-radius:var(--radius2);padding:.5rem .85rem .5rem 2.3rem;font-size:.82rem;color:var(--white);outline:none;font-family:var(--sans);}
.search-box input:focus{border-color:var(--orange);}
.search-box::before{content:'⌕';position:absolute;left:.65rem;top:50%;transform:translateY(-50%);color:var(--off4);font-size:1rem;pointer-events:none;}
.filter-select{background:var(--bg3);border:1.5px solid var(--border);border-radius:var(--radius2);padding:.5rem .85rem;font-size:.82rem;color:var(--white);outline:none;cursor:pointer;font-family:var(--sans);}
.filter-select:focus{border-color:var(--orange);}

/* Charts */
.chart-wrap{padding:1rem;height:220px;position:relative;}

/* Modals */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:300;display:none;align-items:flex-end;justify-content:center;}
.modal-backdrop.open{display:flex;}
@media(min-width:768px){.modal-backdrop{align-items:center;}}
.modal{background:#fff;border:1px solid #E8ECEF;border-radius:16px 16px 0 0;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;animation:slideUp .25s ease both;box-shadow:0 20px 60px rgba(0,0,0,0.15);}
@media(min-width:768px){.modal{border-radius:16px;}}
.modal-header{padding:20px 24px;border-bottom:1px solid #E8ECEF;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;z-index:1;}
.modal-title{font-weight:700;font-size:18px;letter-spacing:-.015em;color:#0B1E3E;}
.modal-close{background:#F5F7FA;border:none;border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#717171;font-size:.85rem;transition:all .15s;}
.modal-close:hover{background:#E8ECEF;color:#0B1E3E;}
.modal-body{padding:1.5rem;background:#fff;}
.modal-footer{padding:1rem 1.5rem;border-top:1px solid #E8ECEF;display:flex;justify-content:flex-end;gap:.75rem;background:#fff;}
.modal-err{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.25);border-radius:7px;padding:.55rem .85rem;font-size:.8rem;color:var(--red);margin-bottom:1rem;display:none;}

/* Grid helpers */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.85rem;}
@media(max-width:600px){.form-row,.form-row-3{grid-template-columns:1fr;}}

/* Page header */
.page-hdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem;}
.page-hdr-left h2{font-size:20px;font-weight:800;letter-spacing:-0.3px;color:#0B1E3E;}
.page-hdr-left p{font-size:.8rem;color:var(--off3);margin-top:.15rem;}

/* Empty state */
.empty-state{text-align:center;padding:3rem 1rem;}
.empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.4;}
.empty-title{font-weight:700;font-size:.95rem;color:var(--off2);margin-bottom:.3rem;}
.empty-sub{font-size:.8rem;color:var(--off4);}

/* Toast */
.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:500;display:flex;flex-direction:column;gap:.5rem;}
.toast{background:#FFFFFF;border:1.5px solid var(--border2);border-radius:10px;padding:.65rem 1rem;font-size:.82rem;color:var(--white);max-width:320px;box-shadow:0 8px 32px rgba(0,0,0,.12);animation:fadeUp .25s ease both;display:flex;align-items:center;gap:.6rem;}
.toast.success{border-color:rgba(46,125,50,.3);background:rgba(46,125,50,.06);}
.toast.error{border-color:rgba(248,113,113,.3);background:rgba(248,113,113,.06);}
.toast.warn{border-color:rgba(251,191,36,.3);background:rgba(251,191,36,.06);}

/* Reset button */
.reset-fab{position:fixed;bottom:1.5rem;left:1.5rem;z-index:400;background:var(--bg3);border:1.5px solid var(--border2);color:var(--off3);font-family:var(--mono);font-size:.68rem;padding:.5rem .9rem;border-radius:20px;cursor:pointer;transition:all .15s;}
.reset-fab:hover{border-color:var(--orange);color:var(--orange);}

/* ─── SETTINGS ───────────────────────────────────────────────── */
.settings-grid{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;}
.settings-nav{display:flex;flex-direction:column;gap:.2rem;}
.settings-nav-item{padding:.45rem .75rem;border-radius:7px;cursor:pointer;font-size:.82rem;font-weight:500;color:var(--off3);transition:all .13s;}
.settings-nav-item:hover{color:var(--white);background:#EDF0F5;}
.settings-nav-item.active{color:var(--orange);background:var(--og);}
.settings-section{display:none;}
.settings-section.active{display:block;}
.settings-section h3{font-size:1rem;font-weight:700;margin-bottom:.25rem;}
.settings-section>.lead{margin-bottom:1.5rem;}
.billing-card{background:#F5F7FA;border:1.5px solid var(--border);border-radius:var(--radius2);padding:1.25rem 1.4rem;margin-bottom:.75rem;}
.billing-plan-name{font-family:var(--mono);font-weight:700;font-size:1.05rem;color:var(--white);margin-bottom:.25rem;}
.billing-plan-meta{font-family:var(--mono);font-size:.68rem;color:var(--off4);}
.team-row{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--border);}
.team-row:last-child{border:none;}
.team-av{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.62rem;font-weight:700;color:#fff;flex-shrink:0;}
.team-name{font-weight:600;font-size:.84rem;}
.team-role{font-size:.72rem;color:var(--off4);font-family:var(--mono);}
.api-key-box{background:#F5F7FA;border:1.5px solid var(--border);border-radius:var(--radius2);padding:.65rem 1rem;font-family:var(--mono);font-size:.75rem;color:var(--off4);display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;}

/* ─── RESPONSIVE ─────────────────────────────────────────────── */
@media(max-width:900px){
  .pgrid,.tgd{grid-template-columns:1fr;}
  .feat-split,.feat-split.flip{grid-template-columns:1fr;direction:ltr;}
  .kpi-grid{grid-template-columns:repeat(2,1fr);}
  .settings-grid{grid-template-columns:1fr;}
  .fg{grid-template-columns:1fr 1fr;gap:2rem;}
  .frame-body{grid-template-columns:1fr;}
  .frame-sidebar{display:none;}
}
.sb-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:199;backdrop-filter:blur(2px);}
.sb-overlay.open{display:block;}
.sb-hamburger{display:none;align-items:center;justify-content:center;width:36px;height:36px;cursor:pointer;border-radius:6px;background:var(--bg3);border:1px solid var(--border);flex-shrink:0;}
.sb-hamburger span{display:block;width:16px;height:2px;background:var(--off2);border-radius:1px;position:relative;}
.sb-hamburger span::before,.sb-hamburger span::after{content:'';position:absolute;width:16px;height:2px;background:var(--off2);border-radius:1px;left:0;}
.sb-hamburger span::before{top:-5px;}
.sb-hamburger span::after{top:5px;}

@media(max-width:768px){
  .kpi-grid{grid-template-columns:repeat(2,1fr);}
  .pgrid{grid-template-columns:1fr;}
  .fg{grid-template-columns:1fr;}
  .pub-nav{padding:0 1.2rem;}
  .nav-links{display:none;}
  .pl-goals{grid-template-columns:1fr;}
  .pl-section-row{grid-template-columns:1fr;}
  .cl-detail-stats{grid-template-columns:repeat(2,1fr);}
  .dash-sidebar{position:fixed;top:0;left:-240px;height:100%;z-index:200;transition:left .28s cubic-bezier(.4,0,.2,1);box-shadow:none;}
  .dash-sidebar.open{left:0;box-shadow:4px 0 24px rgba(0,0,0,.15);}
  .sb-hamburger{display:flex !important;}
  .dash-topbar{padding:0 .75rem;}
  .dash-content{padding:1rem;}
  .pl-kpi-grid{grid-template-columns:repeat(2,1fr);}
  .qb-client-stats{grid-template-columns:1fr 1fr;}
}
@media(max-width:480px){
  .kpi-grid{grid-template-columns:1fr;}
  .pl-kpi-grid{grid-template-columns:1fr;}
  .qb-client-stats{grid-template-columns:1fr;}
  .won-quote-banner{flex-direction:column;gap:.5rem;}
}

/* ── Mobile sidebar overlay ─────────────────────────────────── */
/* ── Global search ──────────────────────────────────────────── */
.global-search-wrap{position:relative;flex:1;max-width:320px;}
.global-search-input{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:7px;color:var(--white);font-family:var(--sans);font-size:.8rem;padding:.35rem .75rem .35rem 2rem;outline:none;transition:border-color .15s;}
.global-search-input:focus{border-color:var(--orange);}
.global-search-icon{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);font-size:.8rem;color:var(--off4);pointer-events:none;}
.global-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#FFFFFF;border:1.5px solid var(--border);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.12);z-index:300;max-height:340px;overflow-y:auto;display:none;}
.global-search-results.open{display:block;}
.gs-section{font-family:var(--mono);font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;color:var(--off4);padding:.5rem .75rem .2rem;}
.gs-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;cursor:pointer;transition:background .1s;}
.gs-item:hover{background:var(--bg3);}
.gs-item-icon{font-size:.9rem;width:18px;text-align:center;}
.gs-item-text{flex:1;font-size:.78rem;color:var(--white);}
.gs-item-meta{font-size:.65rem;color:var(--off4);font-family:var(--mono);}
.gs-empty{padding:1.2rem;text-align:center;font-size:.78rem;color:var(--off4);}

/* ── Notification bell ──────────────────────────────────────── */
.notif-btn{position:relative;width:34px;height:34px;background:var(--bg3);border:1px solid var(--border);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:border-color .12s;}
.notif-btn:hover{border-color:var(--orange);}
.notif-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;background:var(--red);border-radius:50%;border:1.5px solid var(--bg2);}
.notif-panel{position:fixed;top:52px;right:16px;width:340px;background:#FFFFFF;border:1.5px solid var(--border);border-radius:10px;box-shadow:0 8px 40px rgba(0,0,0,.12);z-index:400;display:none;max-height:80vh;overflow-y:auto;}
.notif-panel.open{display:block;}
.notif-header{padding:.75rem 1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.notif-header-title{font-size:.82rem;font-weight:700;color:var(--white);}
.notif-header-clear{font-size:.68rem;color:var(--orange);cursor:pointer;}
.notif-item{display:flex;align-items:flex-start;gap:.65rem;padding:.65rem 1rem;border-bottom:1px solid rgba(0,0,0,.08);transition:background .1s;cursor:pointer;}
.notif-item:hover{background:var(--bg3);}
.notif-item.unread{border-left:2.5px solid var(--orange);}
.notif-item-icon{font-size:1rem;width:20px;flex-shrink:0;margin-top:.05rem;}
.notif-item-body{flex:1;}
.notif-item-text{font-size:.78rem;color:var(--white);line-height:1.4;}
.notif-item-time{font-size:.63rem;color:var(--off4);font-family:var(--mono);margin-top:.15rem;}
.notif-empty{padding:2rem;text-align:center;color:var(--off4);font-size:.8rem;}

/* ── Site Measures (v7) ─────────────────────────────────────── */
.measures-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-bottom:1.2rem;}
.measure-card{background:var(--bg3);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:border-color .15s,transform .18s;}
.measure-card:hover{border-color:var(--orange);transform:translateY(-2px);}
.measure-card-preview{height:100px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:var(--bg4);position:relative;}
.measure-card-type-badge{position:absolute;top:.4rem;right:.4rem;font-family:var(--mono);font-size:.55rem;padding:.12rem .4rem;border-radius:3px;text-transform:uppercase;font-weight:700;}
.mc-type-pdf{background:rgba(248,113,113,.2);color:var(--red);}
.mc-type-dwg{background:rgba(30,64,175,.2);color:var(--blue);}
.mc-type-xls{background:rgba(46,125,50,.2);color:var(--lime);}
.mc-type-img{background:rgba(240,90,40,.2);color:var(--orange);}
.mc-type-doc{background:rgba(251,191,36,.2);color:var(--yellow);}
.measure-card-body{padding:.85rem 1rem;}
.measure-card-name{font-size:.82rem;font-weight:600;color:var(--white);margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.measure-card-meta{font-size:.68rem;color:var(--off4);display:flex;gap:.5rem;flex-wrap:wrap;}
.measure-card-proj{font-size:.7rem;color:var(--orange);font-family:var(--mono);margin-top:.25rem;}
/* measure list view */
.measures-list-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;background:var(--bg3);border:1px solid var(--border);border-radius:7px;margin-bottom:.35rem;cursor:pointer;transition:border-color .12s;}
.measures-list-row:hover{border-color:var(--orange);}
.measure-file-icon{font-size:1.1rem;width:22px;flex-shrink:0;}
.measure-file-name{flex:1;font-size:.8rem;font-weight:600;color:var(--white);}
.measure-file-proj{font-size:.68rem;color:var(--orange);font-family:var(--mono);}
.measure-file-size{font-size:.65rem;color:var(--off4);font-family:var(--mono);white-space:nowrap;}
.measure-file-date{font-size:.65rem;color:var(--off4);white-space:nowrap;}
/* upload drop zone */
.measure-upload-zone{border:2px dashed var(--border2);border-radius:var(--radius);padding:2rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:1rem;}
.measure-upload-zone:hover{border-color:var(--orange);background:rgba(240,90,40,.03);}
.measure-upload-icon{font-size:2rem;margin-bottom:.5rem;}
.measure-upload-title{font-size:.85rem;font-weight:600;color:var(--white);margin-bottom:.2rem;}
.measure-upload-sub{font-size:.72rem;color:var(--off4);}

/* ── Project interconnect detail (v7) ──────────────────────── */
.proj-detail-tabs{display:flex;gap:.2rem;border-bottom:1.5px solid var(--border);margin-bottom:1rem;}
.proj-detail-tab{padding:.45rem .9rem;font-size:.78rem;font-weight:500;color:var(--off3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1.5px;transition:color .13s;}
.proj-detail-tab.active{color:var(--orange);border-bottom-color:var(--orange);}
.proj-conn-row{display:flex;align-items:center;gap:.65rem;padding:.5rem .7rem;background:var(--bg3);border:1px solid var(--border);border-radius:7px;margin-bottom:.35rem;}
.proj-conn-icon{width:22px;text-align:center;font-size:.9rem;flex-shrink:0;}
.proj-conn-label{flex:1;font-size:.78rem;color:var(--white);}
.proj-conn-meta{font-size:.65rem;color:var(--off4);font-family:var(--mono);}
.proj-conn-action{font-size:.65rem;color:var(--orange);cursor:pointer;white-space:nowrap;}

/* ── Activity feed (dashboard v7) ──────────────────────────── */
.activity-feed{display:flex;flex-direction:column;gap:0;}
.activity-item{display:flex;align-items:flex-start;gap:.7rem;padding:.6rem 0;border-bottom:1px solid #F0F2F5;}
.activity-item:last-child{border-bottom:none;}
.activity-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;flex-shrink:0;margin-top:.05rem;}
.activity-body{flex:1;}
.activity-text{font-size:14px;color:#4A4A4A;line-height:1.4;}
.activity-time{font-size:12px;color:#9CA3AF;font-family:var(--mono);margin-top:.1rem;}


/* ─── CIS MODULE STYLES ──────────────────────────────────── */
.cis-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem;padding:.55rem .75rem;background:rgba(240,90,40,.06);border:1px solid rgba(240,90,40,.18);border-radius:8px;}
.cis-section-title{font-family:var(--mono);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--orange);}
.cis-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:.65rem;}
.cis-status-badge{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--mono);font-size:.58rem;font-weight:700;padding:.18rem .55rem;border-radius:20px;text-transform:uppercase;letter-spacing:.04em;}
.cis-gross{background:rgba(46,125,50,.12);color:var(--lime);border:1px solid rgba(46,125,50,.25);}
.cis-standard{background:rgba(240,90,40,.12);color:var(--orange);border:1px solid rgba(240,90,40,.25);}
.cis-higher{background:rgba(248,113,113,.12);color:var(--red);border:1px solid rgba(248,113,113,.25);}
.cis-employed{background:rgba(30,64,175,.12);color:var(--blue);border:1px solid rgba(30,64,175,.25);}
.cis-ded-box{background:var(--bg3);border:1.5px solid var(--border2);border-radius:9px;padding:.85rem 1rem;margin-top:.65rem;}
.cis-ded-title{font-family:var(--mono);font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;color:var(--orange);margin-bottom:.65rem;display:flex;align-items:center;gap:.4rem;}
.cis-ded-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;border-bottom:1px solid rgba(0,0,0,.1);font-size:.8rem;}
.cis-ded-row:last-child{border-bottom:none;}
.cis-ded-row.total-row{font-weight:700;font-size:.88rem;margin-top:.1rem;padding-top:.4rem;}
.cis-ded-label{color:var(--off2);}
.cis-ded-val{font-family:var(--mono);color:var(--white);}
.cis-ded-val.deduction{color:var(--red);}
.cis-ded-val.net{color:var(--lime);}
.cis-toggle-row{display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;background:rgba(30,64,175,.06);border:1px solid rgba(30,64,175,.2);border-radius:7px;margin-bottom:.6rem;cursor:pointer;}
.cis-toggle-label{font-size:.8rem;color:var(--off2);flex:1;}
.cis-toggle-label strong{color:var(--blue);}
.cis-toggle-check{width:16px;height:16px;border-radius:3px;border:1.5px solid var(--border2);background:var(--bg4);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.cis-toggle-check.on{background:var(--blue);border-color:var(--blue);}
.cis-return-kpi{background:var(--bg3);border:1px solid var(--border);border-radius:9px;padding:.85rem 1rem;}
.cis-return-kpi-label{font-family:var(--mono);font-size:.52rem;text-transform:uppercase;letter-spacing:.08em;color:var(--off4);margin-bottom:.25rem;}
.cis-return-kpi-val{font-family:var(--mono);font-size:1.3rem;font-weight:700;color:var(--white);line-height:1;}
.cis-return-kpi-sub{font-size:.68rem;color:var(--off3);margin-top:.2rem;}
.cis-month-card{background:var(--bg3);border:1px solid var(--border);border-radius:10px;margin-bottom:.85rem;overflow:hidden;}
.cis-month-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg4);border-bottom:1px solid var(--border);cursor:pointer;}
.cis-month-title{font-family:var(--mono);font-size:.72rem;font-weight:700;color:var(--white);}
.cis-month-summary{font-family:var(--mono);font-size:.62rem;color:var(--off3);display:flex;gap:1.2rem;}
.cis-month-badge{display:inline-flex;align-items:center;gap:.28rem;font-family:var(--mono);font-size:.58rem;font-weight:700;padding:.12rem .45rem;border-radius:20px;}
.cis-month-badge.filed{background:rgba(46,125,50,.12);color:var(--lime);border:1px solid rgba(46,125,50,.22);}
.cis-month-badge.due{background:rgba(251,191,36,.12);color:var(--yellow);border:1px solid rgba(251,191,36,.22);}
.cis-month-badge.overdue{background:rgba(248,113,113,.12);color:var(--red);border:1px solid rgba(248,113,113,.22);}
.cis-sub-table{width:100%;border-collapse:collapse;}
.cis-sub-table th{font-family:var(--mono);font-size:.52rem;text-transform:uppercase;letter-spacing:.08em;color:var(--off4);padding:.45rem .85rem;text-align:left;border-bottom:1px solid var(--border);}
.cis-sub-table th:not(:first-child){text-align:right;}
.cis-sub-table td{padding:.5rem .85rem;font-size:.78rem;color:var(--off2);border-bottom:1px solid rgba(0,0,0,.06);}
.cis-sub-table td:not(:first-child){font-family:var(--mono);text-align:right;}
.cis-sub-table tr:last-child td{border-bottom:none;}
.cis-sub-table tr:hover td{background:rgba(240,90,40,.03);}
.cis-sub-name{font-weight:600;color:var(--white);}
.cis-sub-utr{font-family:var(--mono);font-size:.62rem;color:var(--off4);}
.cis-deduction-amt{color:var(--red);}
.cis-net-amt{color:var(--lime);}
.cis-alert-widget{background:linear-gradient(135deg,rgba(240,90,40,.1),rgba(240,90,40,.05));border:1.5px solid rgba(240,90,40,.3);border-radius:10px;padding:1rem 1.2rem;margin-bottom:1rem;display:flex;align-items:center;gap:1rem;}
.cis-alert-icon{font-size:1.6rem;flex-shrink:0;}
.cis-alert-body{flex:1;}
.cis-alert-title{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--orange);margin-bottom:.15rem;}
.cis-alert-main{font-size:.88rem;font-weight:700;color:var(--white);line-height:1.3;}
.cis-alert-sub{font-size:.72rem;color:var(--off3);margin-top:.12rem;}
.cis-countdown{font-family:var(--mono);font-size:2rem;font-weight:700;color:var(--orange);line-height:1;text-align:center;flex-shrink:0;}
.cis-countdown-label{font-family:var(--mono);font-size:.5rem;text-transform:uppercase;letter-spacing:.1em;color:var(--orange);opacity:.7;text-align:center;}
.cis-hmrc-banner{background:rgba(46,125,50,.05);border:1px solid rgba(46,125,50,.2);border-radius:8px;padding:.65rem 1rem;margin-bottom:.85rem;font-size:.72rem;color:var(--lime);display:flex;align-items:center;gap:.5rem;}
.cis300-table{width:100%;border-collapse:collapse;font-size:.78rem;}
.cis300-table th{background:var(--bg4);font-family:var(--mono);font-size:.52rem;text-transform:uppercase;letter-spacing:.07em;color:var(--off3);padding:.45rem .75rem;text-align:left;border:1px solid var(--border);}
.cis300-table th:not(:first-child){text-align:right;}
.cis300-table td{padding:.45rem .75rem;border:1px solid var(--border);color:var(--off2);}
.cis300-table td:not(:first-child){font-family:var(--mono);text-align:right;}
.cis300-table tr:last-child td{font-weight:700;color:var(--white);background:rgba(240,90,40,.05);}


/* Site View CSS removed — will be re-added in a future release */


/* ══════════════════════════════════════════════════════════
   ENTERPRISE SALES PATHWAY
══════════════════════════════════════════════════════════ */

/* ── Demo credentials card ────────────────────────────────── */
.demo-creds-card{
  display:flex;align-items:center;gap:2rem;flex-wrap:wrap;
  background:linear-gradient(135deg,rgba(240,90,40,.08),rgba(240,90,40,.03));
  border:1.5px solid rgba(240,90,40,.25);border-radius:16px;
  padding:1.4rem 1.8rem;margin:0 0 1rem;position:relative;overflow:hidden;
}
.demo-creds-card::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at top left,rgba(240,90,40,.08),transparent 60%);
  pointer-events:none;
}
.demo-creds-left{flex:1;min-width:200px;}
.demo-creds-eyebrow{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;
  letter-spacing:.1em;color:var(--orange);margin-bottom:.4rem;}
.demo-creds-title{font-size:1.15rem;font-weight:800;color:var(--white);
  letter-spacing:-.02em;margin-bottom:.3rem;}
.demo-creds-sub{font-size:.82rem;color:var(--off3);line-height:1.5;}
.demo-creds-centre{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0;}
.demo-cred-field{display:flex;align-items:center;gap:.65rem;
  background:rgba(0,0,0,.05);border:1px solid var(--border2);
  border-radius:8px;padding:.5rem .8rem;}
.demo-cred-label{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--off4);min-width:55px;}
.demo-cred-val{font-family:var(--mono);font-size:.82rem;font-weight:700;
  color:var(--white);flex:1;}
.demo-cred-copy{background:none;border:1px solid var(--border2);border-radius:5px;
  color:var(--off3);font-size:.82rem;cursor:pointer;padding:.15rem .4rem;
  transition:border-color .12s,color .12s;line-height:1;}
.demo-cred-copy:hover{border-color:var(--orange);color:var(--orange);}
.demo-creds-right{flex-shrink:0;display:flex;flex-direction:column;align-items:center;}
@media(max-width:640px){
  .demo-creds-card{flex-direction:column;align-items:stretch;gap:1.2rem;}
  .demo-creds-centre{width:100%;}
  .demo-creds-right{align-items:stretch;}
  .demo-creds-right .btn{justify-content:center;}
}

/* ── Sticky enterprise bar ─────────────────────────────────── */
.ent-sticky-bar{
  position:fixed;top:0;left:0;right:0;z-index:999;
  background:var(--bg1);border-bottom:2px solid var(--orange);
  display:flex;align-items:center;justify-content:space-between;
  padding:.6rem 1.5rem;gap:1rem;
  box-shadow:0 4px 24px rgba(0,0,0,.1);
  animation:entBarSlide .3s cubic-bezier(.22,1,.36,1) both;
}
@keyframes entBarSlide{from{transform:translateY(-100%);opacity:0;}to{transform:none;opacity:1;}}
.ent-sticky-inner{display:flex;align-items:center;gap:1.25rem;flex:1;}
.ent-sticky-text{font-size:.9rem;font-weight:600;color:var(--white);}
.ent-sticky-cta{
  background:var(--orange);color:#FFFFFF;font-size:.82rem;font-weight:800;
  border:none;border-radius:8px;padding:.45rem 1.1rem;cursor:pointer;
  white-space:nowrap;letter-spacing:-.01em;
  transition:opacity .12s,transform .08s;
}
.ent-sticky-cta:hover{opacity:.88;transform:translateY(-1px);}
.ent-sticky-dismiss{
  background:none;border:1px solid var(--border2);border-radius:6px;
  color:var(--off3);font-size:.9rem;cursor:pointer;padding:.3rem .55rem;
  transition:border-color .12s,color .12s;line-height:1;flex-shrink:0;
}
.ent-sticky-dismiss:hover{border-color:var(--off2);color:var(--white);}
@media(max-width:768px){.ent-sticky-bar{display:none !important;}}

/* ── Book a demo modal ─────────────────────────────────────── */
.demo-slot-note{
  background:rgba(240,90,40,.07);border:1px solid rgba(240,90,40,.2);
  border-radius:8px;padding:.6rem .9rem;font-size:.78rem;color:var(--orange);
  margin-top:.25rem;
}
.demo-confirm-icon{font-size:3.5rem;margin-bottom:.85rem;
  animation:demoIconBounce .55s cubic-bezier(.36,.07,.19,.97) both;}
@keyframes demoIconBounce{0%{transform:scale(0) rotate(-15deg);}70%{transform:scale(1.15) rotate(4deg);}100%{transform:scale(1) rotate(0);}}
.demo-confirm-title{font-size:1.4rem;font-weight:800;color:var(--white);
  letter-spacing:-.02em;margin-bottom:.5rem;}
.demo-confirm-sub{font-size:.88rem;color:var(--off3);line-height:1.6;max-width:360px;margin:0 auto;}
.demo-confirm-divider{height:1px;background:var(--border);margin:1.5rem auto;max-width:200px;}
.demo-confirm-explore{font-size:.82rem;color:var(--off2);margin-bottom:1rem;font-weight:600;}
.demo-confirm-creds{
  display:inline-flex;flex-direction:column;gap:.4rem;
  background:rgba(0,0,0,.05);border:1px solid var(--border2);
  border-radius:10px;padding:.75rem 1.1rem;margin:0 auto;
}

/* Noise grain */
body::after{content:'';position:fixed;inset:0;z-index:998;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.032;mix-blend-mode:overlay;}

/* Tabs */
.tabs{display:flex;gap:.2rem;border-bottom:1.5px solid var(--border);margin-bottom:1.2rem;}
.tab{padding:.5rem 1rem;font-size:.82rem;font-weight:500;color:var(--off3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1.5px;transition:color .13s;}
.tab:hover{color:var(--white);}
.tab.active{color:var(--orange);border-bottom-color:var(--orange);}

/* Progress bar */
.progress-bar{height:5px;background:var(--bg4);border-radius:3px;overflow:hidden;margin-top:.35rem;}
.progress-fill{height:100%;border-radius:3px;transition:width .4s ease;}

/* Inline avatar */
.inline-av{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.5rem;font-weight:700;color:#fff;margin-right:.3rem;flex-shrink:0;}

/* ═══════════════════════════════════════════════════════════════
   ANIMATION LAYER — v11
   Scroll-triggered reveals, counters, progress bars, hero pulse
══════════════════════════════════════════════════════════════ */

/* ── Scroll-reveal base state ─────────────────────────────── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);}
.reveal.visible{opacity:1;transform:none;}
.reveal-delay-1{transition-delay:.1s;}
.reveal-delay-2{transition-delay:.2s;}
.reveal-delay-3{transition-delay:.3s;}
.reveal-delay-4{transition-delay:.4s;}
.reveal-delay-5{transition-delay:.5s;}

/* ── Hero frame live pulse ────────────────────────────────── */
@keyframes kpiPulse{0%,100%{opacity:1;}50%{opacity:.55;}}
.frame-kpi-v.pulse{animation:kpiPulse .9s ease;}
@keyframes rowFlash{0%{background:rgba(46,125,50,.1);}100%{background:transparent;}}
.frame-tr.flash{animation:rowFlash 1.2s ease;}

/* ── Animated progress bars ──────────────────────────────── */
.progress-bar{background:var(--bg4);border-radius:4px;height:6px;overflow:hidden;}
.progress-fill{height:100%;border-radius:4px;width:0;transition:width 1.2s cubic-bezier(.22,1,.36,1);}

/* ── countUp number flash ────────────────────────────────── */
@keyframes numFlash{0%{color:var(--orange);}100%{color:inherit;}}
.counting{animation:numFlash .4s ease;}

/* ── Pain card entrance stagger ──────────────────────────── */
.pain-card{transition:border-color .18s,transform .2s,box-shadow .2s;position:relative;overflow:hidden;}
.pain-card::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(46,125,50,.04),transparent);opacity:0;transition:opacity .3s;}
.pain-card:hover::after{opacity:1;}
.pain-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.1);}

/* ── Pain stat animated bars ─────────────────────────────── */
.pain-stat-fill{height:3px;background:var(--orange);border-radius:2px;width:0;transition:width 1.4s cubic-bezier(.22,1,.36,1);}
.pain-stat-track{background:var(--bg4);border-radius:2px;height:3px;margin-top:.6rem;overflow:hidden;}

/* ── Feature panel entrance ──────────────────────────────── */
.feat-panel{transition:transform .3s ease,box-shadow .3s ease;}
.feat-panel:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(0,0,0,.1);}

/* ── Checklist animated reveals ──────────────────────────── */
.ck-item{opacity:0;transform:translateX(-12px);transition:opacity .45s ease,transform .45s ease;}
.ck-item.visible{opacity:1;transform:none;}

/* ── Trust strip scroll animation ─────────────────────────── */
@keyframes trustScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.trust-logos-inner{display:flex;gap:3.5rem;align-items:center;animation:trustScroll 22s linear infinite;}
.trust-logos-inner:hover{animation-play-state:paused;}

/* ── Carousel dot indicators ─────────────────────────────── */
.carousel-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.2rem;}
.c-dot{width:8px;height:8px;border-radius:50%;background:var(--border2);cursor:pointer;transition:all .2s;border:none;padding:0;}
.c-dot.active{background:var(--orange);transform:scale(1.25);}

/* ── Hero frame shimmer line ──────────────────────────────── */
@keyframes shimmerLine{0%{left:-100%;}100%{left:200%;}}
.frame-shimmer{position:absolute;top:0;left:-100%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,0,0,.03),transparent);animation:shimmerLine 3.5s ease-in-out infinite;pointer-events:none;}

/* ── Eyebrow badge scan effect ───────────────────────────── */
@keyframes eyebrowPulse{0%,100%{box-shadow:0 0 0 0 rgba(240,90,40,0);}50%{box-shadow:0 0 0 6px rgba(240,90,40,.06);}}
.eyebrow-badge{animation:fadeUp .5s ease both,eyebrowPulse 3s 2s infinite;}

/* ── Slide tab progress underline ────────────────────────── */
.slide-tab.active{position:relative;}
.slide-tab.active::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--orange);border-radius:2px;animation:slideTabBar 4s linear forwards;}
@keyframes slideTabBar{from{clip-path:inset(0 100% 0 0);}to{clip-path:inset(0 0% 0 0);}}

/* ── Section title gradient accent ───────────────────────── */
.section-title em{background:linear-gradient(90deg,var(--orange),var(--lime));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:normal;}
.hero-h1 em{background:linear-gradient(90deg,#FF7A4D,#4CAF50);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:normal;}

.qb-stat-box{transition:transform .15s ease,box-shadow .15s ease;}
.qb-stat-box:hover{transform:translateY(-3px);box-shadow:0 10px 34px rgba(0,0,0,.1);}

/* ── Quote Book Upload ──────────────────────────────────────── */
.qb-upload-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap;}
.qb-upload-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1rem;
  border-radius:7px;border:1.5px dashed rgba(240,90,40,.45);background:rgba(240,90,40,.06);
  color:var(--orange);font-family:var(--mono);font-size:.65rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;cursor:pointer;
  transition:background .14s,border-color .14s;}
.qb-upload-btn:hover{background:rgba(240,90,40,.12);border-color:rgba(240,90,40,.75);}
.qb-reset-link{font-family:var(--mono);font-size:.58rem;color:var(--off4);cursor:pointer;
  text-decoration:underline;text-underline-offset:2px;transition:color .12s;}
.qb-reset-link:hover{color:var(--off2);}
.qb-dropzone{border:2px dashed rgba(0,0,0,.14);border-radius:10px;padding:2.5rem 1.5rem;
  text-align:center;transition:border-color .15s,background .15s;cursor:pointer;}
.qb-dropzone:hover,.qb-dropzone.drag-active{border-color:var(--orange);background:rgba(240,90,40,.06);}
.qb-dropzone-icon{font-size:2rem;margin-bottom:.6rem;opacity:.55;}
.qb-dropzone-main{font-size:.88rem;font-weight:600;color:var(--white);margin-bottom:.25rem;}
.qb-dropzone-sub{font-family:var(--mono);font-size:.62rem;color:var(--off3);}
.qb-dropzone-formats{display:inline-flex;gap:.4rem;margin-top:.75rem;flex-wrap:wrap;justify-content:center;}
.qb-fmt-badge{padding:.15rem .55rem;border-radius:4px;font-family:var(--mono);font-size:.55rem;
  font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.qb-fmt-xlsx{background:rgba(46,125,50,.12);color:var(--lime);border:1px solid rgba(46,125,50,.25);}
.qb-fmt-pdf {background:rgba(248,113,113,.12);color:var(--red);border:1px solid rgba(248,113,113,.25);}
/* AI progress */
.qb-ai-progress{display:none;flex-direction:column;align-items:center;justify-content:center;
  padding:2.5rem 1.5rem;text-align:center;gap:1.2rem;}
.qb-ai-progress.active{display:flex;}
.qb-ai-spinner{width:52px;height:52px;border-radius:50%;border:4px solid rgba(0,0,0,.08);
  border-top-color:var(--orange);animation:spin .8s linear infinite;flex-shrink:0;}
.qb-ai-title{font-size:1rem;font-weight:700;color:var(--white);}
.qb-ai-step{font-family:var(--mono);font-size:.68rem;color:var(--lime);min-height:1.1em;
  transition:opacity .3s;}
.qb-ai-prog-bar{width:100%;max-width:260px;height:4px;background:rgba(0,0,0,.08);
  border-radius:2px;overflow:hidden;}
.qb-ai-prog-fill{height:100%;background:linear-gradient(90deg,var(--orange),var(--lime));
  border-radius:2px;width:0%;transition:width .4s ease;}
.ai-step-item{display:flex;align-items:center;gap:.65rem;font-family:var(--mono);font-size:.8rem;
  color:var(--off4);padding:.5rem 0;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s,color .3s;}
.ai-step-item.active{opacity:1;transform:translateY(0);color:var(--off2);}
.ai-step-item.done{opacity:1;transform:translateY(0);color:var(--off2);}
.ai-step-item .ai-step-icon{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:.7rem;flex-shrink:0;transition:background .3s,border-color .3s;}
.ai-step-item .ai-step-icon.pending{background:transparent;border:2px solid var(--border);}
.ai-step-item.active .ai-step-icon{background:transparent;border:2px solid var(--orange);animation:spin .8s linear infinite;}
.ai-step-item.done .ai-step-icon{background:rgba(46,125,50,.15);border:2px solid var(--lime);animation:none;}

/* ── Confidence scoring badges & extraction table ──────────── */
.conf-dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:.58rem;font-weight:800;cursor:pointer;position:relative;flex-shrink:0;}
.conf-dot.high{background:rgba(46,125,50,.15);border:2px solid var(--lime);color:var(--lime);}
.conf-dot.med{background:rgba(251,191,36,.12);border:2px solid var(--yellow);color:var(--yellow);}
.conf-dot.low{background:rgba(248,113,113,.12);border:2px solid var(--red);color:var(--red);}
.conf-label{font-family:var(--mono);font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.1rem .4rem;border-radius:3px;}
.conf-label.high{color:var(--lime);background:rgba(46,125,50,.1);}
.conf-label.med{color:var(--yellow);background:rgba(251,191,36,.08);}
.conf-label.low{color:var(--red);background:rgba(248,113,113,.08);}

.ai-ext-table{width:100%;border-collapse:collapse;font-size:.78rem;}
.ai-ext-table th{font-family:var(--mono);font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--off4);padding:.55rem .4rem;text-align:left;border-bottom:1px solid var(--border);}
.ai-ext-table td{padding:.55rem .4rem;border-bottom:1px solid rgba(0,0,0,.06);color:var(--off3);vertical-align:middle;}
.ai-ext-table tr:hover td{background:rgba(0,0,0,.02);}
.ai-ext-table tr.row-high td:first-child{border-left:3px solid var(--lime);}
.ai-ext-table tr.row-med td:first-child{border-left:3px solid var(--yellow);}
.ai-ext-table tr.row-low td:first-child{border-left:3px solid var(--red);}
.ai-ext-table .ext-editable{background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:.2rem .4rem;color:var(--white);font-family:var(--mono);font-size:.75rem;width:100%;outline:none;}
.ai-ext-table .ext-editable:focus{border-color:var(--orange);}
.ai-ext-table .ext-editable.flagged-med{border-color:var(--yellow);background:rgba(251,191,36,.05);}
.ai-ext-table .ext-editable.flagged-low{border-color:var(--red);background:rgba(248,113,113,.05);}

.ai-file-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.75rem;}
.ai-file-tag{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;background:var(--bg3);border:1px solid var(--border);border-radius:6px;font-size:.72rem;}
.ai-file-tag .ai-ft-icon{font-size:.9rem;}
.ai-file-tag .ai-ft-name{flex:1;color:var(--off2);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ai-file-tag .ai-ft-type{font-family:var(--mono);font-size:.55rem;color:var(--off4);text-transform:uppercase;letter-spacing:.06em;background:var(--bg4);padding:.1rem .35rem;border-radius:3px;}
.ai-file-tag .ai-ft-remove{color:var(--off4);cursor:pointer;font-size:.72rem;padding:0 .2rem;}
.ai-file-tag .ai-ft-remove:hover{color:var(--red);}

.conf-tip{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:.6rem .8rem;max-width:260px;font-size:.72rem;line-height:1.55;color:var(--off2);z-index:60;box-shadow:0 8px 24px rgba(0,0,0,.12);display:none;font-weight:400;font-family:var(--sans);white-space:normal;text-align:left;}
.conf-tip.open{display:block;}

/* ── Review & Confirm actions ──────────────────────────────── */
.ext-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;cursor:pointer;border:1px solid var(--border);background:transparent;transition:all .15s;font-size:.7rem;padding:0;}
.ext-action:hover{border-color:var(--border2);}
.ext-action.act-accept{color:var(--off4);} .ext-action.act-accept.done{background:rgba(46,125,50,.12);border-color:var(--lime);color:var(--lime);}
.ext-action.act-flag{color:var(--off4);} .ext-action.act-flag.flagged{background:rgba(251,191,36,.1);border-color:var(--yellow);color:var(--yellow);}
.ext-action.act-reject{color:var(--off4);} .ext-action.act-reject:hover{border-color:var(--red);color:var(--red);}
.ext-hist-bar{display:flex;align-items:center;gap:.3rem;font-family:var(--mono);font-size:.58rem;}
.ext-hist-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.ext-hist-dot.in-range{background:var(--lime);}
.ext-hist-dot.near{background:var(--yellow);}
.ext-hist-dot.outlier{background:var(--red);}
.ext-row-accepted{opacity:.65;} .ext-row-accepted td{text-decoration:none;}
.ext-row-flagged{background:rgba(251,191,36,.03)!important;}
.ext-review-progress{height:4px;background:var(--bg4);border-radius:2px;overflow:hidden;margin-bottom:.5rem;}
.ext-review-fill{height:100%;background:linear-gradient(90deg,var(--lime),var(--orange));border-radius:2px;transition:width .4s ease;}
.help-tip{width:18px;height:18px;border-radius:50%;background:var(--bg4);color:var(--off4);border:1px solid var(--border);
  font-family:var(--mono);font-size:.65rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;
  justify-content:center;padding:0;line-height:1;transition:border-color .2s,color .2s;vertical-align:middle;margin-left:.45rem;}
.help-tip:hover{border-color:var(--orange);color:var(--orange);}
.help-tooltip{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#FFFFFF;border:1px solid var(--border);
  border-radius:10px;padding:.75rem 1rem;max-width:280px;font-size:.78rem;line-height:1.6;color:var(--off2);z-index:50;
  box-shadow:0 4px 16px rgba(0,0,0,.12);display:none;font-weight:400;font-family:var(--sans);}
.help-tooltip.open{display:block;}
/* file selected state */
.qb-file-chosen{display:none;align-items:center;gap:.65rem;padding:.65rem .9rem;
  border-radius:8px;background:rgba(46,125,50,.07);border:1px solid rgba(46,125,50,.2);
  margin-top:.75rem;}
.qb-file-chosen.active{display:flex;}
.qb-file-icon{font-size:1.3rem;}
.qb-file-name{font-size:.75rem;font-weight:600;color:var(--white);flex:1;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.qb-file-size{font-family:var(--mono);font-size:.58rem;color:var(--off3);}

/* ── Materials & Price Book ──────────────────────────────────── */
.pb-upload-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap;}
.pb-upload-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1rem;
  border-radius:7px;border:1.5px dashed rgba(46,125,50,.45);background:rgba(46,125,50,.06);
  color:var(--lime);font-family:var(--mono);font-size:.65rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;cursor:pointer;
  transition:background .14s,border-color .14s;}
.pb-upload-btn:hover{background:rgba(46,125,50,.12);border-color:rgba(46,125,50,.75);}
.pb-reset-link{font-family:var(--mono);font-size:.58rem;color:var(--off4);cursor:pointer;
  text-decoration:underline;text-underline-offset:2px;transition:color .12s;}
.pb-reset-link:hover{color:var(--off2);}
.pb-cat-badge{padding:.12rem .45rem;border-radius:4px;font-family:var(--mono);
  font-size:.52rem;font-weight:700;background:rgba(240,90,40,.1);
  color:var(--orange);border:1px solid rgba(240,90,40,.2);}
.pb-dropzone{border:2px dashed rgba(0,0,0,.14);border-radius:10px;padding:2.5rem 1.5rem;
  text-align:center;transition:border-color .15s,background .15s;cursor:pointer;}
.pb-dropzone:hover,.pb-dropzone.drag-active{border-color:var(--lime);background:rgba(46,125,50,.06);}
.pb-ai-progress{display:none;flex-direction:column;align-items:center;justify-content:center;
  padding:2.5rem 1.5rem;text-align:center;gap:1.2rem;}
.pb-ai-progress.active{display:flex;}
.pb-ai-spinner{width:52px;height:52px;border-radius:50%;border:4px solid rgba(0,0,0,.08);
  border-top-color:var(--lime);animation:spin .8s linear infinite;flex-shrink:0;}
.pb-ai-prog-bar{width:100%;max-width:260px;height:4px;background:rgba(0,0,0,.08);
  border-radius:2px;overflow:hidden;}
.pb-ai-prog-fill{height:100%;background:linear-gradient(90deg,var(--lime),var(--orange));
  border-radius:2px;width:0%;transition:width .4s ease;}
.pb-file-chosen{display:none;align-items:center;gap:.65rem;padding:.65rem .9rem;
  border-radius:8px;background:rgba(46,125,50,.07);border:1px solid rgba(46,125,50,.2);
  margin-top:.75rem;}
.pb-file-chosen.active{display:flex;}
.pb-books-section{margin-top:1.5rem;}
.pb-book-item{display:flex;align-items:center;gap:.65rem;padding:.55rem .8rem;
  border-radius:7px;background:var(--bg3);border:1px solid var(--border);
  cursor:pointer;transition:border-color .14s;}
.pb-book-item:hover{border-color:rgba(46,125,50,.35);}
.pb-book-icon{font-size:1.1rem;flex-shrink:0;}
.pb-book-name{font-size:.75rem;font-weight:600;color:var(--white);flex:1;}
.pb-book-meta{font-family:var(--mono);font-size:.56rem;color:var(--off3);}


/* ── Client Upload button (uses QB button style, teal accent) ── */
.cl-upload-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1rem;
  border-radius:7px;border:1.5px dashed rgba(30,64,175,.45);background:rgba(30,64,175,.06);
  color:var(--blue);font-family:var(--mono);font-size:.65rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;cursor:pointer;
  transition:background .14s,border-color .14s;}
.cl-upload-btn:hover{background:rgba(30,64,175,.12);border-color:rgba(30,64,175,.75);}
.cl-reset-link{font-family:var(--mono);font-size:.58rem;color:var(--off4);cursor:pointer;
  text-decoration:underline;text-underline-offset:2px;transition:color .12s;}
.cl-reset-link:hover{color:var(--off2);}
.cl-ai-progress{display:none;flex-direction:column;align-items:center;justify-content:center;
  padding:2.5rem 1.5rem;text-align:center;gap:1.2rem;}
.cl-ai-progress.active{display:flex;}
.cl-ai-spinner{width:52px;height:52px;border-radius:50%;border:4px solid rgba(0,0,0,.08);
  border-top-color:var(--blue);animation:spin .8s linear infinite;flex-shrink:0;}
.cl-ai-prog-bar{width:100%;max-width:260px;height:4px;background:rgba(0,0,0,.08);
  border-radius:2px;overflow:hidden;}
.cl-ai-prog-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--lime));
  border-radius:2px;width:0%;transition:width .4s ease;}
.cl-file-chosen{display:none;align-items:center;gap:.65rem;padding:.65rem .9rem;
  border-radius:8px;background:rgba(30,64,175,.07);border:1px solid rgba(30,64,175,.2);
  margin-top:.75rem;}
.cl-file-chosen.active{display:flex;}

/* ── Diary view switcher ── */
.diary-view-btn{padding:.28rem .7rem;border-radius:5px;border:1px solid rgba(0,0,0,.12);
  background:transparent;color:var(--off3);font-family:var(--mono);font-size:.6rem;
  text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:all .15s;}
.diary-view-btn:hover{background:rgba(0,0,0,.04);color:var(--off1);}
.diary-view-btn.active{background:rgba(240,90,40,.15);border-color:rgba(240,90,40,.5);color:var(--orange);}

/* ── Month grid ── */
.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;padding:0 .5rem .5rem;}
.month-day-hdr{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;
  color:var(--off4);text-align:center;padding:.3rem 0;}
.month-cell{min-height:72px;background:var(--bg2);border-radius:6px;padding:.3rem .35rem;
  cursor:pointer;transition:background .12s;border:1px solid transparent;position:relative;}
.month-cell:hover{background:var(--bg3);border-color:var(--border);}
.month-cell.today{border-color:var(--orange);}
.month-cell.other-month{opacity:.4;}
.month-day-num{font-family:var(--mono);font-size:.65rem;color:var(--off3);margin-bottom:.2rem;}
.month-cell.today .month-day-num{color:var(--orange);font-weight:700;}
.month-mini-block{font-size:.6rem;border-radius:3px;padding:.15rem .35rem;margin-bottom:2px;
  display:flex;align-items:center;max-width:100%;overflow:hidden;gap:.1rem;
  white-space:nowrap;}
.month-mini-block span:last-child{overflow:hidden;text-overflow:ellipsis;min-width:0;}
.month-add-btn{position:absolute;bottom:.25rem;right:.25rem;width:16px;height:16px;
  border-radius:3px;background:rgba(0,0,0,.06);border:none;color:var(--off3);
  font-size:.8rem;line-height:1;cursor:pointer;display:none;}
.month-cell:hover .month-add-btn{display:flex;align-items:center;justify-content:center;}

/* ── 6-month grid ── */
.sixmo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;padding:.5rem;}
.sixmo-month-card{background:var(--bg2);border-radius:8px;padding:.65rem;}
.sixmo-month-title{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--off2);margin-bottom:.4rem;font-weight:600;}
.sixmo-week-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px;}
.sixmo-day-dot{width:100%;aspect-ratio:1;border-radius:3px;background:var(--bg3);cursor:pointer;
  transition:background .1s;min-height:18px;}
.sixmo-day-dot:hover{background:rgba(240,90,40,.35);}
.sixmo-day-dot.has-asgn{background:var(--lime);opacity:.75;}
.sixmo-day-dot.has-survey{background:#2dd4bf;opacity:.75;}
.sixmo-day-dot.today-dot{outline:1.5px solid var(--orange);outline-offset:0px;}
.sixmo-day-dot.placeholder-dot{background:rgba(240,90,40,.4);}

/* ── Survey group ── */
.survey-group-row td{background:rgba(45,212,191,.05)!important;}
.survey-group-label{color:#2dd4bf;}
.survey-eng-cell{border-left:2px solid #2dd4bf;}

/* ── Placeholder block ── */
.placeholder-block{background:rgba(240,90,40,.1);border:1.5px dashed rgba(240,90,40,.4);
  border-radius:5px;padding:.25rem .35rem;margin-bottom:3px;font-size:.6rem;
  color:var(--orange);cursor:pointer;display:flex;align-items:center;gap:.3rem;
  transition:background .12s,outline .1s;white-space:nowrap;overflow:hidden;}
.placeholder-block:hover{background:rgba(240,90,40,.2);border-color:rgba(240,90,40,.7);}

/* ── Add placeholder (+) in cell ── */
.cell-add-ph{display:none;position:absolute;top:2px;right:2px;width:16px;height:16px;
  border-radius:3px;background:rgba(0,0,0,.06);border:none;color:var(--off3);
  font-size:.75rem;cursor:pointer;align-items:center;justify-content:center;}
.day-cell:hover .cell-add-ph{display:flex;}


/* ─── PAS 2030 CERTIFICATE PRINT STYLES ─────────────────── */
@media print {
  body > *:not(#pas-certificate-print) { display: none !important; }
  #pas-certificate-print { display: block !important; }
  .pas-cert { font-family: Arial, sans-serif; color: #000; background: #fff; padding: 30px; max-width: 800px; margin: 0 auto; }
  .pas-cert-header { border-bottom: 3px solid #1e40af; padding-bottom: 16px; margin-bottom: 20px; display: flex; justify-content: space-between; align-items: flex-start; }
  .pas-cert-title { font-size: 22px; font-weight: 700; color: #1e40af; margin: 0; }
  .pas-cert-subtitle { font-size: 12px; color: #555; margin-top: 4px; }
  .pas-cert-logo { font-family: monospace; font-size: 11px; font-weight: 700; color: #1e40af; border: 2px solid #1e40af; padding: 4px 10px; border-radius: 4px; }
  .pas-cert-section { margin-bottom: 16px; border: 1px solid #ccc; border-radius: 6px; overflow: hidden; }
  .pas-cert-section-title { background: #1e40af; color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: 6px 12px; }
  .pas-cert-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  .pas-cert-field { padding: 8px 12px; border-bottom: 1px solid #eee; border-right: 1px solid #eee; }
  .pas-cert-field:nth-child(even) { border-right: none; }
  .pas-cert-label { font-size: 9px; text-transform: uppercase; letter-spacing: .06em; color: #777; margin-bottom: 2px; }
  .pas-cert-value { font-size: 12px; color: #000; font-weight: 600; }
  .pas-cert-declaration { border: 2px solid #166534; border-radius: 6px; padding: 12px; background: #f0fdf4; margin: 12px 0; }
  .pas-cert-declaration-title { font-size: 11px; font-weight: 700; color: #166534; margin-bottom: 6px; }
  .pas-cert-declaration-text { font-size: 11px; color: #333; line-height: 1.5; }
  .pas-cert-signoff { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 16px; }
  .pas-cert-sig-block { border-top: 1px solid #ccc; padding-top: 8px; }
  .pas-cert-sig-label { font-size: 10px; color: #777; }
  .pas-cert-sig-name { font-size: 13px; font-weight: 700; margin-top: 16px; }
  .pas-cert-sig-qual { font-size: 10px; color: #555; }
  .pas-cert-footer { border-top: 2px solid #1e40af; margin-top: 20px; padding-top: 10px; font-size: 9px; color: #777; display: flex; justify-content: space-between; }
  .pas-cert-badge { display: inline-block; padding: 3px 10px; background: #166534; color: #fff; border-radius: 20px; font-size: 10px; font-weight: 700; }
  .pas-cert-photos-note { font-size: 10px; color: #555; font-style: italic; margin-top: 6px; }
}

/* ─── ENHANCED FOOTER ────────────────────────────────────── */
.ft-root{background:var(--bg0);border-top:1px solid var(--border);}
.ft-main{max-width:1160px;margin:0 auto;padding:4rem 2.5rem 0;}
.ft-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr 1.3fr;gap:2.5rem;margin-bottom:3rem;}
.ft-brand-logo{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem;cursor:pointer;}
.ft-brand-desc{font-size:.8rem;color:var(--off3);line-height:1.75;margin-bottom:1rem;max-width:230px;}
.ft-company-details{font-family:var(--mono);font-size:.62rem;color:var(--off4);line-height:2;margin-bottom:.75rem;}
.ft-company-details span{display:block;}
.ft-social{display:flex;gap:.55rem;margin-top:.75rem;}
.ft-social-btn{width:32px;height:32px;border-radius:7px;background:var(--bg3);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .13s;text-decoration:none;}
.ft-social-btn:hover{background:var(--bg4);border-color:var(--orange);}
.ft-social-btn svg{width:15px;height:15px;fill:var(--off3);transition:fill .13s;}
.ft-social-btn:hover svg{fill:var(--orange);}
.ft-col-head{font-family:var(--mono);font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--off3);margin-bottom:1rem;}
.ft-col-list{list-style:none;display:flex;flex-direction:column;gap:.55rem;}
.ft-col-list li a{font-size:.8rem;color:var(--off3);text-decoration:none;cursor:pointer;transition:color .12s;}
.ft-col-list li a:hover{color:var(--white);}
.ft-trust-badges{border-top:1px solid var(--border);padding:1.4rem 0;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;max-width:1160px;margin:0 auto;padding-left:2.5rem;padding-right:2.5rem;}
.ft-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .9rem;border-radius:20px;font-family:var(--mono);font-size:.58rem;font-weight:600;letter-spacing:.04em;background:var(--bg2);border:1px solid var(--border2);color:var(--off3);}
.ft-badge .ft-badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.ft-bottom{border-top:1px solid var(--border);max-width:1160px;margin:0 auto;padding:1.25rem 2.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;}
.ft-copyright{font-family:var(--mono);font-size:.62rem;color:var(--off4);}
.ft-copyright strong{color:var(--off3);}
.ft-bottom-links{display:flex;gap:1.5rem;flex-wrap:wrap;}
.ft-bottom-links a{font-family:var(--mono);font-size:.6rem;color:var(--off4);text-decoration:none;cursor:pointer;transition:color .12s;}
.ft-bottom-links a:hover{color:var(--orange);}
.ft-small-print{font-family:var(--mono);font-size:.57rem;color:var(--off4);text-align:center;padding:.75rem 2.5rem 1.5rem;max-width:1160px;margin:0 auto;line-height:1.6;}
@media(max-width:900px){.ft-grid{grid-template-columns:1fr 1fr;gap:2rem;}.ft-grid>:first-child{grid-column:1/-1;}.ft-brand-desc{max-width:100%;}}
@media(max-width:520px){.ft-grid{grid-template-columns:1fr;}.ft-trust-badges{gap:.5rem;}.ft-badge{font-size:.52rem;}}

/* ─── SECURITY PAGE ──────────────────────────────────────── */
#page-security{min-height:100vh;background:var(--bg1);overflow-y:auto;}
.sec-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);height:64px;display:flex;align-items:center;padding:0 2.5rem;gap:1.2rem;}
.sec-hero{background:linear-gradient(135deg,var(--bg0) 0%,var(--bg2) 100%);padding:5rem 2.5rem 4rem;text-align:center;position:relative;overflow:hidden;}
.sec-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(30,64,175,.07) 0%,transparent 65%);pointer-events:none;}
.sec-hero-icon{width:72px;height:72px;background:rgba(30,64,175,.1);border:2px solid rgba(30,64,175,.25);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.5rem;}
.sec-hero h1{font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.03em;color:var(--white);margin-bottom:.75rem;}
.sec-hero h1 em{font-style:normal;color:var(--blue);}
.sec-hero-sub{font-size:1rem;color:var(--off3);max-width:520px;margin:0 auto 2rem;line-height:1.75;}
.sec-certs{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;}
.sec-cert-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem 1rem;border-radius:20px;font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.04em;}
.sec-cert-gdpr{background:rgba(46,125,50,.1);border:1px solid rgba(46,125,50,.25);color:var(--lime);}
.sec-cert-tls{background:rgba(30,64,175,.1);border:1px solid rgba(30,64,175,.25);color:var(--blue);}
.sec-cert-stripe{background:rgba(99,91,255,.1);border:1px solid rgba(99,91,255,.25);color:#a78bfa;}
.sec-cert-uk{background:rgba(240,90,40,.1);border:1px solid rgba(240,90,40,.25);color:var(--orange);}
.sec-body{max-width:960px;margin:0 auto;padding:3.5rem 2.5rem 5rem;}
.sec-section-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem;}
.sec-card{background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--radius);padding:1.6rem 1.75rem;transition:border-color .18s;}
.sec-card:hover{border-color:var(--border2);}
.sec-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:1rem;flex-shrink:0;}
.sec-card-title{font-size:.9rem;font-weight:700;color:var(--white);margin-bottom:.5rem;letter-spacing:-.01em;}
.sec-card-body{font-size:.8rem;color:var(--off3);line-height:1.75;}
.sec-card-body strong{color:var(--off2);}
.sec-card-tag{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--mono);font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .6rem;border-radius:20px;margin-top:.75rem;}
.sec-dpa-box{background:linear-gradient(135deg,rgba(30,64,175,.08),rgba(30,64,175,.03));border:1.5px solid rgba(30,64,175,.25);border-radius:var(--radius);padding:2rem 2.25rem;margin-top:2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.sec-dpa-title{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:.4rem;}
.sec-dpa-sub{font-size:.8rem;color:var(--off3);line-height:1.6;max-width:480px;}
@media(max-width:700px){.sec-section-grid{grid-template-columns:1fr;}.sec-dpa-box{flex-direction:column;}}

/* ─── INDUSTRY ASSOCIATION SECTION ──────────────────────── */
#industry-assoc{background:var(--bg1);border-top:1px solid var(--border);padding:80px 2.5rem;}
.ia-wrap{max-width:1160px;margin:0 auto;}
.ia-head{text-align:center;margin-bottom:3.5rem;}
.ia-head .section-eyebrow{justify-content:center;}
.ia-head p{font-size:.95rem;color:var(--off3);max-width:540px;margin:.6rem auto 0;line-height:1.75;}
.ia-logos-row{display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:3.5rem;}
.ia-logo-box{display:flex;align-items:center;justify-content:center;background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--radius);padding:1.2rem 2rem;min-width:160px;height:80px;transition:border-color .18s;}
.ia-logo-box:hover{border-color:var(--border2);}
.ia-logo-label{font-family:var(--mono);font-size:.62rem;font-weight:700;color:var(--off4);text-transform:uppercase;letter-spacing:.1em;text-align:center;line-height:1.5;}
.ia-logo-badge{display:block;font-size:.5rem;color:var(--off4);margin-top:.2rem;letter-spacing:.08em;}
.ia-quote-block{background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--radius);padding:2.5rem 3rem;max-width:680px;margin:0 auto 3rem;position:relative;}
.ia-quote-block::before{content:'“';font-family:var(--serif);font-size:5rem;color:var(--orange);opacity:.18;position:absolute;top:-1.2rem;left:1.5rem;line-height:1;}
.ia-quote-text{font-size:1.05rem;color:var(--white);line-height:1.75;font-weight:500;font-style:italic;margin-bottom:1.25rem;position:relative;z-index:1;}
.ia-quote-attr{display:flex;align-items:center;gap:.75rem;}
.ia-quote-av{width:38px;height:38px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.72rem;font-weight:700;color:#FFFFFF;flex-shrink:0;}
.ia-quote-name{font-weight:700;font-size:.82rem;color:var(--white);}
.ia-quote-role{font-size:.72rem;color:var(--off3);margin-top:.08rem;}
.ia-tagline{text-align:center;font-family:var(--mono);font-size:.68rem;font-weight:600;color:var(--off4);text-transform:uppercase;letter-spacing:.12em;display:flex;align-items:center;justify-content:center;gap:.75rem;}
.ia-tagline::before,.ia-tagline::after{content:'';flex:1;height:1px;background:var(--border);max-width:120px;}
@media(max-width:700px){.ia-quote-block{padding:1.75rem 1.5rem;}.ia-logos-row{gap:1rem;}}

/* ─── COOKIE CONSENT BANNER ─────────────────────────────── */
#cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#FFFFFF;border-top:2px solid var(--border2);padding:1.1rem 2rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;box-shadow:0 -8px 40px rgba(0,0,0,.1);transform:translateY(100%);transition:transform .35s cubic-bezier(.22,1,.36,1);will-change:transform;}
#cookie-banner.visible{transform:translateY(0);}
.ck-text{flex:1;min-width:260px;}
.ck-title{font-size:.82rem;font-weight:700;color:var(--white);margin-bottom:.2rem;}
.ck-desc{font-size:.74rem;color:var(--off3);line-height:1.6;}
.ck-desc a{color:var(--orange);cursor:pointer;text-decoration:underline;}
.ck-btns{display:flex;gap:.6rem;flex-wrap:wrap;flex-shrink:0;}
#cookie-manage-panel{position:fixed;bottom:0;left:0;right:0;z-index:10000;background:var(--bg1);border-top:2px solid var(--border2);padding:1.5rem 2rem 2rem;box-shadow:0 -12px 50px rgba(0,0,0,.12);transform:translateY(100%);transition:transform .35s cubic-bezier(.22,1,.36,1);}
#cookie-manage-panel.visible{transform:translateY(0);}
.ck-mp-title{font-size:.95rem;font-weight:700;color:var(--white);margin-bottom:.35rem;}
.ck-mp-sub{font-size:.76rem;color:var(--off3);margin-bottom:1.25rem;}
.ck-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg2);border:1px solid var(--border);border-radius:8px;margin-bottom:.6rem;}
.ck-toggle-label{font-size:.82rem;font-weight:600;color:var(--white);}
.ck-toggle-desc{font-size:.72rem;color:var(--off3);margin-top:.12rem;}
.ck-toggle{position:relative;width:40px;height:22px;flex-shrink:0;}
.ck-toggle input{opacity:0;width:0;height:0;position:absolute;}
.ck-toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--bg4);border:1.5px solid var(--border2);border-radius:22px;transition:.2s;}
.ck-toggle-slider::before{content:'';position:absolute;width:14px;height:14px;left:3px;bottom:2px;background:var(--off4);border-radius:50%;transition:.2s;}
.ck-toggle input:checked+.ck-toggle-slider{background:var(--lime);border-color:var(--lime);}
.ck-toggle input:checked+.ck-toggle-slider::before{transform:translateX(18px);background:#000;}
.ck-toggle input:disabled+.ck-toggle-slider{opacity:.6;cursor:not-allowed;}
.ck-mp-btns{display:flex;gap:.65rem;margin-top:1.25rem;flex-wrap:wrap;}
@media(max-width:620px){#cookie-banner{padding:.85rem 1.1rem;gap:1rem;}.ck-btns{width:100%;}.ck-btns .btn{flex:1;justify-content:center;}}

/* ── Procore CSV Import ──────────────────────────────────── */
.pci-wrap{max-width:880px;margin:0 auto;}
.pci-dropzone{border:2px dashed var(--border2);border-radius:14px;padding:4rem 2rem;text-align:center;cursor:pointer;transition:all .25s;background:radial-gradient(ellipse at center,rgba(0,0,0,.01) 0%,transparent 70%);position:relative;overflow:hidden;}
.pci-dropzone:hover,.pci-dropzone.drag-over{border-color:var(--orange);background:radial-gradient(ellipse at center,rgba(240,90,40,.04) 0%,transparent 70%);}
.pci-dropzone.drag-over::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(240,90,40,.04),transparent);background-size:200% 100%;animation:pciShimmer 1.5s linear infinite;}
@keyframes pciShimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.pci-drop-title{font-family:var(--sans);font-size:1.05rem;font-weight:600;color:var(--white);margin-top:1rem;}
.pci-drop-sub{font-size:.78rem;color:var(--off3);margin-top:.4rem;line-height:1.55;}
.pci-drop-btn{display:inline-block;margin-top:1.3rem;padding:.55rem 1.4rem;background:var(--orange);border-radius:8px;font-family:var(--mono);font-size:.7rem;font-weight:600;color:#fff;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 2px 12px rgba(240,90,40,.3);}
.pci-file-bar{display:flex;align-items:center;gap:.6rem;padding:.65rem .9rem;background:var(--bg2);border-radius:10px;border:1px solid var(--border);margin-bottom:1.3rem;}
.pci-file-bar .pci-file-name{font-size:.78rem;color:var(--off2);}
.pci-file-bar .pci-file-meta{font-size:.68rem;color:var(--off4);margin-left:.3rem;}
.pci-file-bar .pci-badge{margin-left:auto;font-family:var(--mono);font-size:.62rem;padding:.15rem .55rem;border-radius:4px;}
.pci-badge-ok{background:rgba(34,197,94,.1);color:#22c55e;border:1px solid rgba(34,197,94,.2);}
.pci-badge-warn{background:rgba(240,90,40,.1);color:var(--orange);border:1px solid rgba(240,90,40,.2);}
.pci-card{background:var(--bg2);border-radius:12px;border:1px solid var(--border);overflow:hidden;margin-bottom:1.3rem;}
.pci-card-hdr{padding:.75rem 1.1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.pci-card-hdr h4{font-family:var(--sans);font-size:.85rem;font-weight:600;color:var(--white);margin:0;}
.pci-card-hdr span{font-family:var(--mono);font-size:.65rem;color:var(--off4);}
.pci-map-row{display:flex;align-items:center;gap:.7rem;padding:.6rem 1.1rem;border-bottom:1px solid var(--bg3);transition:background .2s;}
.pci-map-row:last-child{border-bottom:none;}
.pci-map-row.unmapped-req{background:rgba(185,28,28,.04);}
.pci-map-status{width:18px;flex-shrink:0;text-align:center;font-size:.75rem;}
.pci-map-label{width:140px;flex-shrink:0;font-size:.78rem;font-weight:500;color:var(--white);}
.pci-map-label .pci-req{font-family:var(--mono);font-size:.52rem;color:var(--off4);margin-left:.35rem;text-transform:uppercase;letter-spacing:.04em;}
.pci-map-label.req-missing{color:#ef4444;}
.pci-map-label.req-missing .pci-req{color:#ef4444;}
.pci-map-arrow{flex-shrink:0;font-size:.75rem;color:var(--orange);transition:opacity .2s;}
.pci-map-arrow.dim{opacity:.2;}
.pci-map-select{flex:1;max-width:280px;}
.pci-map-select select{width:100%;padding:.45rem .6rem;font-family:var(--mono);font-size:.72rem;background:var(--bg0);border:1px solid var(--border);border-radius:6px;color:var(--white);cursor:pointer;transition:border-color .2s;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23666' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;}
.pci-map-select select:focus{outline:none;border-color:rgba(240,90,40,.5);box-shadow:0 0 0 2px rgba(240,90,40,.15);}
.pci-map-row.unmapped-req .pci-map-select select{border-color:#7f1d1d;}
.pci-map-sample{font-family:var(--mono);font-size:.65rem;color:var(--off4);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;}
.pci-warn-bar{padding:.55rem .9rem;border-radius:8px;margin-bottom:1.1rem;background:rgba(185,28,28,.06);border:1px solid rgba(185,28,28,.15);display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:var(--red);}
.pci-warn-bar strong{color:#ef4444;}
.pci-preview table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.7rem;}
.pci-preview th{padding:.55rem .9rem;text-align:left;font-size:.56rem;color:var(--off4);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);font-weight:600;}
.pci-preview th.pci-th-orange{color:var(--orange);}
.pci-preview td{padding:.55rem .9rem;color:var(--off2);border-bottom:1px solid rgba(0,0,0,.04);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;}
.pci-preview tr:hover td{background:rgba(0,0,0,.02);}
.pci-preview .pci-val{color:var(--lime);}
.pci-preview .pci-empty{color:var(--off4);}
.pci-actions{display:flex;justify-content:flex-end;gap:.7rem;align-items:center;margin-top:.2rem;}
.pci-actions .pci-hint{font-family:var(--mono);font-size:.65rem;color:var(--off4);}
.pci-import-btn{padding:.65rem 1.5rem;font-family:var(--sans);font-size:.82rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;letter-spacing:.01em;transition:all .25s;box-shadow:0 2px 16px rgba(240,90,40,.3);}
.pci-import-btn.enabled{background:linear-gradient(135deg,var(--orange) 0%,var(--c-action-dark) 100%);color:#fff;cursor:pointer;}
.pci-import-btn.enabled:hover{box-shadow:0 4px 24px rgba(240,90,40,.45);transform:translateY(-1px);}
.pci-import-btn.disabled{background:var(--bg3);color:var(--off4);cursor:not-allowed;box-shadow:none;}
.pci-success{padding:2rem 1.5rem;text-align:center;border-radius:12px;background:radial-gradient(ellipse at center,rgba(34,197,94,.06) 0%,transparent 70%);border:1px solid rgba(34,197,94,.15);margin-bottom:1.3rem;}
.pci-success-icon{width:52px;height:52px;margin:0 auto .9rem;border-radius:50%;background:rgba(34,197,94,.1);border:2px solid rgba(34,197,94,.3);display:flex;align-items:center;justify-content:center;font-size:1.5rem;}
.pci-success h3{font-family:var(--sans);font-size:1.1rem;font-weight:700;color:var(--white);margin:0 0 .3rem;}
.pci-success p{font-size:.78rem;color:var(--off3);}
.pci-json-wrap{background:var(--bg2);border-radius:12px;border:1px solid var(--border);overflow:hidden;margin-bottom:1.3rem;}
.pci-json-wrap pre{padding:1rem 1.1rem;margin:0;font-family:var(--mono);font-size:.65rem;line-height:1.7;color:var(--off2);max-height:320px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;}
.pci-hints{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1.3rem;padding:.85rem 1rem;background:var(--bg2);border-radius:10px;border:1px solid var(--border);}
.pci-hints .pci-hints-label{font-family:var(--mono);font-size:.58rem;color:var(--off4);text-transform:uppercase;letter-spacing:.06em;width:100%;margin-bottom:.3rem;}
.pci-hint-tag{padding:.2rem .55rem;border-radius:4px;font-family:var(--mono);font-size:.62rem;background:var(--bg3);border:1px solid var(--border);color:var(--off3);}
@media(max-width:700px){.pci-map-row{flex-wrap:wrap;gap:.4rem;}.pci-map-label{width:100%;}.pci-map-select{max-width:100%;}.pci-map-sample{display:none;}}

/* ── AI Quote Builder — Sidebar CTA ────────────────────────── */
.sb-ai-btn{display:flex;align-items:center;gap:.5rem;padding:.55rem .65rem;margin:.3rem .3rem .15rem;border-radius:8px;cursor:pointer;font-size:.78rem;font-weight:600;color:#fff;background:#F05A28;border:none;width:calc(100% - .6rem);transition:all .2s;box-shadow:0 2px 12px rgba(240,90,40,.3);position:relative;overflow:hidden;font-family:var(--sans);}
.sb-ai-btn:hover{box-shadow:0 4px 20px rgba(240,90,40,.45);transform:translateY(-1px);background:#D14A1E;}
.sb-ai-btn::after{display:none;}
.sb-ai-btn .sb-ai-icon{flex-shrink:0;display:flex;align-items:center;}
.sb-ai-btn .sb-ai-label{flex:1;text-align:left;}
.sb-ai-btn .sb-ai-tag{font-family:var(--mono);font-size:.52rem;padding:.15rem .45rem;border-radius:4px;background:rgba(255,255,255,.2);color:#fff;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;}

/* ── Dashboard AI CTA Card ─────────────────────────────────── */
.dash-ai-cta{background:linear-gradient(135deg,rgba(240,90,40,.08) 0%,rgba(192,68,24,.04) 100%);border:1.5px solid rgba(240,90,40,.2);border-radius:12px;padding:1.25rem 1.4rem;margin-bottom:1.2rem;cursor:pointer;transition:all .25s;position:relative;overflow:hidden;}
.dash-ai-cta:hover{border-color:rgba(240,90,40,.4);box-shadow:0 4px 24px rgba(240,90,40,.12);transform:translateY(-1px);}
.dash-ai-cta::before{content:'';position:absolute;top:-30%;right:-10%;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(240,90,40,.06) 0%,transparent 70%);pointer-events:none;}
.dash-ai-cta-top{display:flex;align-items:center;gap:.65rem;margin-bottom:.65rem;}
.dash-ai-cta-icon{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,var(--orange),var(--c-action-dark));display:flex;align-items:center;justify-content:center;font-size:1.2rem;box-shadow:0 2px 10px rgba(240,90,40,.3);flex-shrink:0;}
.dash-ai-cta h3{font-family:var(--sans);font-size:1rem;font-weight:700;color:var(--white);margin:0;letter-spacing:-.02em;}
.dash-ai-cta h3 span{color:var(--orange);}
.dash-ai-cta p{font-size:.78rem;color:var(--off3);line-height:1.55;margin:0 0 .85rem;}
.dash-ai-cta-steps{display:flex;gap:.5rem;flex-wrap:wrap;}
.dash-ai-cta-step{display:flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.62rem;color:var(--off3);padding:.3rem .6rem;background:var(--bg3);border-radius:5px;border:1px solid var(--border);}
.dash-ai-cta-step .step-num{color:var(--orange);font-weight:700;}
.dash-ai-cta-btn{display:inline-flex;align-items:center;gap:.4rem;margin-top:.9rem;padding:.55rem 1.2rem;background:linear-gradient(135deg,var(--orange),var(--c-action-dark));border-radius:8px;font-family:var(--sans);font-size:.78rem;font-weight:600;color:#fff;border:none;cursor:pointer;box-shadow:0 2px 12px rgba(240,90,40,.3);transition:all .2s;}
.dash-ai-cta-btn:hover{box-shadow:0 4px 20px rgba(240,90,40,.45);}
@media(max-width:700px){.dash-ai-cta-steps{flex-direction:column;}}


/* ═══ Embedded: AI bar pulse + mobile overrides ══════════ */
    0%,100%{opacity:.5;transform:scaleX(.6);transform-origin:left}
    50%{opacity:1;transform:scaleX(1);transform-origin:left}
  }
  @media(max-width:640px){
    #smart-contracting [style*="grid-template-columns:repeat(3"]{
      grid-template-columns:1fr!important;
    }
    #smart-contracting [style*="padding:2rem 2.5rem"]{
      padding:1.5rem!important;
    }
  }

/* ═══ Late: AI Disclaimer + Gate Overlay styles ══════════ */
/* ── AI Liability & Disclaimer Styles ──────────────────────── */
.ai-disclaimer-banner{background:rgba(240,90,40,.06);border:1.5px solid rgba(240,90,40,.25);border-left:4px solid var(--orange);border-radius:8px;padding:.65rem .85rem;margin-bottom:.75rem;font-size:.72rem;color:var(--off2);line-height:1.6;}
.ai-disclaimer-banner .ai-disc-icon{font-size:.85rem;margin-right:.35rem;vertical-align:middle;}
.ai-disclaimer-banner strong{color:var(--orange);font-weight:700;text-transform:uppercase;font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;}
.ai-disclaimer-banner .ai-disc-body{margin-top:.25rem;color:var(--off3);font-size:.7rem;}
.ai-kb-version{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--mono);font-size:.52rem;color:var(--off4);background:var(--bg4);padding:.15rem .45rem;border-radius:4px;margin-top:.35rem;}

.conf-label{display:inline-block;font-family:var(--mono);font-size:.5rem;letter-spacing:.04em;padding:.1rem .35rem;border-radius:3px;margin-left:.25rem;font-weight:600;}
.conf-label.from-drawing{background:rgba(46,125,50,.1);color:var(--lime);border:1px solid rgba(46,125,50,.2);}
.conf-label.partially-estimated{background:rgba(251,191,36,.1);color:var(--yellow);border:1px solid rgba(251,191,36,.2);}
.conf-label.ai-estimate{background:rgba(248,113,113,.1);color:var(--red);border:1px solid rgba(248,113,113,.2);}

.assumption-toggle{font-family:var(--mono);font-size:.55rem;color:var(--orange);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.2rem;margin-top:.15rem;opacity:.8;transition:opacity .15s;}
.assumption-toggle:hover{opacity:1;}
.assumption-panel{display:none;margin-top:.35rem;padding:.45rem .65rem;background:rgba(240,90,40,.03);border:1px solid rgba(240,90,40,.1);border-radius:6px;font-family:var(--mono);font-size:.58rem;color:var(--off3);line-height:1.65;}
.assumption-panel.open{display:block;}
.assumption-panel .asm-source{color:var(--orange);font-weight:600;}
.assumption-panel .asm-flag{color:var(--yellow);}

.export-gate-modal{background:#FFFFFF;border:1.5px solid var(--border);border-radius:12px;padding:1.5rem;width:480px;max-width:92vw;box-shadow:0 20px 60px rgba(0,0,0,.12);}
.export-gate-modal h3{font-family:var(--serif);font-size:1rem;color:var(--white);margin:0 0 .15rem;}
.export-gate-modal .egate-meta{font-family:var(--mono);font-size:.6rem;color:var(--off4);margin-bottom:1rem;}
.export-gate-checkbox{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem .65rem;background:var(--bg3);border:1px solid var(--border);border-radius:6px;margin-bottom:.4rem;cursor:pointer;transition:border-color .15s;}
.export-gate-checkbox:hover{border-color:var(--orange);}
.export-gate-checkbox input[type="checkbox"]{margin-top:.15rem;accent-color:var(--orange);flex-shrink:0;}
.export-gate-checkbox label{font-size:.73rem;color:var(--off2);line-height:1.5;cursor:pointer;}
.export-gate-checkbox label strong{color:var(--white);}
.egate-btn-row{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;}

.plan-gate-overlay{position:relative;}
.plan-gate-overlay::after{content:'';position:absolute;inset:0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:rgba(255,255,255,.65);border-radius:var(--radius);z-index:10;pointer-events:none;}
.plan-gate-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:11;text-align:center;cursor:pointer;padding:1.2rem 1.8rem;background:#FFFFFF;border:1.5px solid var(--orange);border-radius:var(--radius);box-shadow:0 12px 40px rgba(0,0,0,.12);}
.plan-gate-badge .gate-icon{font-size:1.5rem;margin-bottom:.4rem;}
.plan-gate-badge .gate-title{font-family:var(--mono);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--orange);margin-bottom:.3rem;}
.plan-gate-badge .gate-desc{font-size:.78rem;color:var(--off3);line-height:1.5;margin-bottom:.7rem;}
.plan-gate-badge .gate-cta{font-family:var(--mono);font-size:.7rem;color:var(--lime);font-weight:600;text-decoration:underline;text-decoration-color:rgba(46,125,50,.3);text-underline-offset:2px;}
.plan-gate-badge .gate-cta:hover{text-decoration-color:var(--lime);}
