:root{
  --bg:#F3F5F3;--surface:#FFFFFF;--raised:#FAFBFA;--line:#E1E6E2;--line-soft:#EDF0EE;
  --ink:#0C1719;--muted:#5E6F70;--faint:#8B9A9A;
  --rail:#0C1719;--rail-2:#132225;--rail-line:rgba(255,255,255,.09);--rail-txt:#8FA3A3;
  --pink:#F0257A;--orange:#FF8C42;--grad:linear-gradient(96deg,#F0257A 0%,#FF8C42 100%);
  --teal:#0F7A6B;--teal-soft:#E6F4F0;--amber:#9A5B08;--amber-soft:#FDF3E6;
  --rose-soft:#FDECF3;--indigo:#3A46A8;--indigo-soft:#EDEFFB;--r:12px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
.hidden{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.sp{flex:1}

/* ================= LANDING ================= */
.site{background:var(--bg)}
.navbar{position:sticky;top:0;z-index:30;background:rgba(243,245,243,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.navin{max-width:1140px;margin:0 auto;padding:13px 26px;display:flex;align-items:center;gap:26px}
.brandrow{display:flex;align-items:center;gap:10px}
.wordmark{font-size:16px;font-weight:700;letter-spacing:-.02em}
.wordmark span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.navlinks{display:flex;gap:22px;margin-left:14px}
.navlinks a{font-size:13.5px;color:var(--muted);text-decoration:none;font-weight:500}
.navlinks a:hover{color:var(--ink)}
.navcta{margin-left:auto;display:flex;gap:9px;align-items:center}

.sec{max-width:1140px;margin:0 auto;padding:0 26px}
.eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pink)}
.h1{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:clamp(38px,4.6vw,58px);line-height:1.06;letter-spacing:-.02em;margin:16px 0 0}
.h1 em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.h2{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:clamp(28px,3.2vw,40px);line-height:1.12;letter-spacing:-.02em}
.lead{font-size:16px;color:var(--muted);line-height:1.65;margin-top:18px;max-width:520px}
.hero{display:grid;grid-template-columns:1.06fr .94fr;gap:48px;align-items:center;padding:66px 0 58px}
.herocta{display:flex;gap:11px;margin-top:28px;flex-wrap:wrap}
.btn-lg{padding:12px 22px;font-size:14px}
.herofine{font-size:12.5px;color:var(--faint);margin-top:16px}

.preview{background:var(--rail);border-radius:16px;padding:16px;box-shadow:0 24px 60px rgba(12,23,25,.16)}
.pvbar{display:flex;gap:5px;padding:0 4px 12px}
.pvbar i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.16);display:block}
.pvbody{background:var(--surface);border-radius:10px;padding:15px}
.pvhead{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:11px}
.pvhot{background:var(--rail);border-radius:9px;padding:13px 15px;margin-bottom:11px}
.pvhot .l{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#7C9292}
.pvhot .v{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:34px;line-height:1;margin-top:7px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pvgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:11px}
.pvcell{background:var(--raised);border:1px solid var(--line-soft);border-radius:8px;padding:9px 10px}
.pvcell .l{font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}
.pvcell .v{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:21px;margin-top:3px}
.pvrow{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:12px}
.pvrow:last-child{border-bottom:0}
.pvrow .nm{font-weight:600;font-size:12.5px}
.pvrow .sp2{flex:1}

.band{background:var(--rail);color:#fff;padding:52px 0;margin-top:14px}
.bandgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.bandin{max-width:1140px;margin:0 auto;padding:0 26px}
.band .kicker{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#6E8586}
.band h3{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:30px;margin:14px 0 30px;max-width:640px;line-height:1.2}
.bstat .v{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:44px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.bstat .t{font-size:14px;font-weight:600;margin-top:11px}
.bstat .d{font-size:12.5px;color:#8FA3A3;margin-top:5px;line-height:1.6}

.block{padding:64px 0;border-top:1px solid var(--line)}
.blockhead{max-width:600px;margin-bottom:38px}
.blockhead .lead{margin-top:14px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 1px 2px rgba(12,23,25,.03)}
.fcard .num{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:26px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.fcard h4{font-size:16px;font-weight:600;letter-spacing:-.01em;margin:9px 0 8px}
.fcard p{font-size:13.5px;color:var(--muted);line-height:1.65}
.fcard ul{list-style:none;margin-top:14px;padding-top:13px;border-top:1px solid var(--line-soft)}
.fcard li{font-size:12.5px;color:var(--muted);padding:4px 0 4px 17px;position:relative}
.fcard li::before{content:'';position:absolute;left:0;top:11px;width:5px;height:5px;border-radius:50%;background:var(--orange)}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.step{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}
.step .sn{width:28px;height:28px;border-radius:9px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.step h4{font-size:15px;font-weight:600;margin:14px 0 7px}
.step p{font-size:13px;color:var(--muted);line-height:1.6}

.rolecard{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.rolecard table{width:100%}
.rolecard th{background:var(--raised)}
.chiplist{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.spec{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:7px 15px;font-size:13px;font-weight:500}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.secure{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px}
.secure h4{font-size:15px;font-weight:600;margin-bottom:9px}
.secure p{font-size:13.5px;color:var(--muted);line-height:1.65}
.secure ul{list-style:none;margin-top:14px}
.secure li{font-size:12.5px;color:var(--muted);padding:5px 0 5px 17px;position:relative}
.secure li::before{content:'';position:absolute;left:0;top:12px;width:5px;height:5px;border-radius:50%;background:var(--teal)}

.cta{background:var(--rail);color:#fff;border-radius:18px;padding:52px 44px;margin:64px 0;position:relative;overflow:hidden}
.cta::after{content:'';position:absolute;width:440px;height:440px;right:-150px;bottom:-220px;border-radius:50%;background:var(--grad);opacity:.2;filter:blur(70px)}
.cta>*{position:relative;z-index:1}
.cta h3{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:34px;line-height:1.16;max-width:560px}
.cta p{color:#93A6A7;font-size:14.5px;margin-top:14px;max-width:520px;line-height:1.65}
.foot{border-top:1px solid var(--line);padding:28px 0 44px}
.footin{max-width:1140px;margin:0 auto;padding:0 26px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.vi{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.vi .d{width:16px;height:16px;border-radius:5px;background:var(--grad);flex-shrink:0}
.foot .rt{margin-left:auto;font-size:12px;color:var(--faint)}

/* ================= LOGIN ================= */
#loginView{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}
.lo-top{border-bottom:1px solid var(--line);background:var(--surface)}
.lo-topin{max-width:1140px;margin:0 auto;padding:13px 26px;display:flex;align-items:center;gap:14px}
.lo-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:44px 26px}
.lo-box{width:100%;max-width:392px}
.lo-box h1{font-size:25px;font-weight:600;letter-spacing:-.025em}
.lo-box .lede{font-size:13.5px;color:var(--muted);margin:6px 0 22px}
.lo-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 2px 8px rgba(12,23,25,.04)}
.err{background:var(--rose-soft);color:var(--pink);border-radius:9px;padding:10px 12px;font-size:12.5px;font-weight:500;margin-bottom:15px}
.accts{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}
.accts .h{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}
.acct{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 12px;cursor:pointer;font:inherit;margin-bottom:7px;transition:.14s}
.acct:hover{border-color:var(--faint);transform:translateX(2px)}
.acct .av{width:28px;height:28px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;color:var(--muted);flex-shrink:0}
.acct .n{font-size:13px;font-weight:600}.acct .r{font-size:11.5px;color:var(--muted)}
.lo-help{margin-top:18px;font-size:12px;color:var(--faint);line-height:1.6;text-align:center}
.lo-help b{color:var(--muted);font-weight:600}
.lo-switch{margin-top:14px;font-size:13px;color:var(--muted);text-align:center}
.lo-switch a{color:var(--pink);font-weight:600;text-decoration:none;cursor:pointer}
.lo-switch a:hover{text-decoration:underline}
.wiz-dots{display:flex;gap:6px;margin-bottom:18px}
.wiz-dots i{flex:1;height:3px;border-radius:3px;background:var(--line);display:block}
.wiz-dots i.on{background:var(--grad)}
.wiz-nav{display:flex;gap:9px;margin-top:4px}
.wiz-nav .btn{flex:1;text-align:center}
.codebox{background:var(--ink);color:#D7E4E2;border-radius:10px;padding:15px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.65;white-space:pre-wrap;word-break:break-all;max-height:260px;overflow-y:auto}
.copybar{display:flex;align-items:center;gap:10px;margin-top:12px}
.copybar .ok-txt{font-size:12px;color:var(--teal);font-weight:600;opacity:0;transition:.2s}
.copybar .ok-txt.show{opacity:1}
.role-sel{font:inherit;font-size:12.5px;padding:5px 8px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.mk{width:31px;height:31px;border-radius:9px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;flex-shrink:0}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;gap:34px;padding:44px 0}
  .fgrid,.steps,.bandgrid,.two-col{grid-template-columns:1fr}
  .navlinks{display:none}
  .cta{padding:38px 26px}
}
/* SHELL */
.app{display:flex;min-height:100vh}
.rail{width:224px;flex-shrink:0;background:var(--rail);color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.rail-top{padding:20px 18px 16px;border-bottom:1px solid var(--rail-line)}
.rail-top .cn{font-size:13.5px;font-weight:600;margin-top:11px;letter-spacing:-.01em}
.rail-top .cl{font-size:11.5px;color:var(--rail-txt);margin-top:1px}
.rail nav{padding:10px;flex:1;overflow-y:auto}
.nl{font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5C7070;padding:12px 10px 6px}
.nb{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border:0;background:none;border-radius:8px;cursor:pointer;font:inherit;font-size:13.5px;color:var(--rail-txt);margin-bottom:1px;transition:.12s}
.nb:hover{background:var(--rail-2);color:#fff}
.nb.on{background:#fff;color:var(--rail);font-weight:600}
.nb .ic{width:15px;text-align:center;font-size:12px;opacity:.85}
.nb .bg{margin-left:auto;font-size:10px;font-weight:700;background:var(--pink);color:#fff;border-radius:20px;padding:1px 6px;min-width:18px;text-align:center}
.rail-foot{padding:14px 18px;border-top:1px solid var(--rail-line)}
.rail-foot .vi{color:#5C7070;font-size:10.5px}
.main{flex:1;min-width:0}
.top{background:rgba(243,245,243,.87);backdrop-filter:blur(9px);border-bottom:1px solid var(--line);padding:13px 26px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:sticky;top:0;z-index:18}
.top h2{font-size:17px;font-weight:600;letter-spacing:-.02em}
.top .sub{font-size:12.5px;color:var(--muted);margin-top:1px}
.who{display:flex;align-items:center;gap:9px;padding-left:13px;border-left:1px solid var(--line)}
.who .av{width:31px;height:31px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700}
.who .n{font-size:12.5px;font-weight:600;line-height:1.3}
.who .r{font-size:11px;color:var(--muted)}
.wrap{padding:24px 26px 70px;max-width:1240px}
.view{display:none}.view.on{display:block;animation:settle .28s cubic-bezier(.2,.6,.3,1)}
@keyframes settle{from{opacity:.35}to{opacity:1}}

/* thin loading bar, the way real apps signal a page change */
#loadbar{position:fixed;top:0;left:0;height:2px;width:0;z-index:999;background:var(--grad);
  opacity:0;transition:width .34s cubic-bezier(.2,.7,.3,1),opacity .25s}
#loadbar.go{opacity:1}

/* content settles in a beat after the shell, so it reads as loading */
.view.on .card,.view.on .kpi,.view.on .board,.view.on .honest{animation:lift .34s cubic-bezier(.2,.6,.3,1) both}
.view.on .kpi:nth-child(2){animation-delay:.03s}
.view.on .kpi:nth-child(3){animation-delay:.06s}
.view.on .kpi:nth-child(4){animation-delay:.09s}
.view.on .kpi:nth-child(5){animation-delay:.12s}
.view.on .card:nth-of-type(2){animation-delay:.06s}
.view.on .card:nth-of-type(3){animation-delay:.1s}
@keyframes lift{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* CONTROLS */
input,select,textarea{font:inherit;font-size:13.5px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:9px 11px;outline:none;width:100%}
input:disabled,select:disabled,textarea:disabled{background:var(--bg);color:var(--muted)}
input:focus,select:focus,textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(240,37,122,.09)}
textarea{min-height:70px;resize:vertical}
.btn{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink);white-space:nowrap;transition:.12s}
.btn:hover{background:var(--raised);border-color:var(--faint)}
.btn-p,.btn-p:hover,.btn-p:focus,.btn-p:active{background:var(--grad);border:0;color:#fff}
.btn-p:hover{filter:brightness(1.08)}
.btn-p:active{filter:brightness(.94)}
.btn-d,.btn-d:hover,.btn-d:focus{background:var(--rail);border:0;color:#fff}
.btn-d:hover{background:#18292c}
.btn-q,.btn-q:hover{border:0;background:none;padding:8px 10px}
.btn-q{color:var(--muted)}.btn-q:hover{color:var(--pink)}
.del,.del:hover{background:var(--surface);color:var(--pink);border:1px solid #F7CFDF}
.del:hover{background:var(--rose-soft)}
.btn-s{padding:6px 11px;font-size:12px}
.btn-w{width:100%;text-align:center;padding:11px}
.bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.seg{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:3px}
.seg button{border:0;background:none;font:inherit;font-size:12.5px;font-weight:500;color:var(--muted);padding:6px 13px;border-radius:6px;cursor:pointer}
.seg button.on{background:var(--rail);color:#fff;font-weight:600}
.search{max-width:242px}.filter{max-width:180px}

/* CARDS */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:16px;
  box-shadow:0 1px 2px rgba(12,23,25,.03)}
.card-h{padding:14px 18px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;gap:11px;flex-wrap:wrap;background:var(--raised)}
.card-h h3{font-size:13.5px;font-weight:600;letter-spacing:-.01em}
.card-h p{font-size:12px;color:var(--muted);margin-top:1px}
.pad{padding:18px}
.split{display:grid;grid-template-columns:1.45fr 1fr;gap:16px}
.split.dash-split{grid-template-columns:1.9fr 1fr}
.sub-kpis{padding:16px 18px 4px;margin-bottom:0}
.sub-kpis .kpi{box-shadow:none}
.hourblock{padding:11px 18px;border-bottom:1px solid var(--line-soft)}
.hourblock:last-child{border-bottom:0}
.hourblock .hourrows .row{padding:9px 0;border-bottom:1px dashed var(--line-soft)}
.hourblock .hourrows .row:last-child{border-bottom:0}
.hourlabel{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}
.hourblock.empty-hour{opacity:.5}
.hourgap{font-size:12.5px;color:var(--faint);padding:2px 0 4px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:14px;margin-bottom:16px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px 17px;position:relative;overflow:hidden;
  box-shadow:0 1px 2px rgba(12,23,25,.03)}
.kpi::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--line)}
.kpi .k{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}
.kpi .v{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:38px;line-height:1;margin:9px 0 5px}
.kpi .d{font-size:12px;color:var(--muted)}
.kpi.hot{background:var(--rail);border-color:var(--rail)}
.kpi.hot::before{background:var(--grad)}
.kpi.hot .k{color:#7C9292}
.kpi.hot .v{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kpi.hot .d{color:#8FA3A3}
.kpi.alert::before{background:var(--pink)}
.leak{padding:0 18px}
.lrow{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--line-soft)}
.lrow:last-child{border-bottom:0}
.lrow .w{font-size:13.5px;font-weight:500}
.lrow .h{font-size:11.5px;color:var(--muted);margin-top:2px}
.lrow .c{font-size:12px;color:var(--faint);text-align:right;white-space:nowrap}
.lrow .m{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:22px;text-align:right;min-width:110px;white-space:nowrap}

table{width:100%;border-collapse:collapse}
th{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);text-align:left;padding:11px 18px;border-bottom:1px solid var(--line-soft);background:var(--raised)}
td{padding:13px 18px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
tr:last-child td{border-bottom:0}
tbody tr.click{cursor:pointer;transition:.1s;position:relative}
tbody tr.click:hover{background:var(--raised)}
tbody tr.click:hover td:first-child{box-shadow:inset 2px 0 0 var(--pink)}
.nm{font-weight:600;font-size:13.5px}
.mt{font-size:11.5px;color:var(--muted);margin-top:2px}
.money{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:19px}
.av-sm{width:30px;height:30px;border-radius:50%;background:var(--bg);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--muted);flex-shrink:0}
.cellflex{display:flex;align-items:center;gap:10px}
.pill{display:inline-block;font-size:11.5px;font-weight:600;border-radius:20px;padding:3px 10px;white-space:nowrap}
.s-new{background:var(--indigo-soft);color:var(--indigo)}
.s-contacted{background:var(--amber-soft);color:var(--amber)}
.s-booked{background:var(--teal-soft);color:var(--teal)}
.s-attended{background:#E8F5EC;color:#1B6B39}
.s-followup{background:var(--rose-soft);color:var(--pink)}
.s-lost,.s-cancelled{background:var(--bg);color:var(--faint)}
.s-scheduled{background:var(--indigo-soft);color:var(--indigo)}
.s-confirmed{background:var(--teal-soft);color:var(--teal)}
.s-noshow{background:var(--rose-soft);color:var(--pink)}
.due{font-size:12.5px}
.due.over{color:var(--pink);font-weight:600}
.due.today{color:var(--amber);font-weight:600}
.empty{padding:54px 24px;text-align:center}
.empty h3{font-size:15px;font-weight:600;margin-bottom:6px}
.empty p{font-size:13px;color:var(--muted);max-width:360px;margin:0 auto}

/* BOARD */
.board{display:grid;grid-template-columns:repeat(5,minmax(194px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}
.col{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;min-height:190px}
.col-h{padding:11px 13px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;gap:8px}
.col-h .t{font-size:12px;font-weight:700;letter-spacing:.02em}
.col-h .n{margin-left:auto;font-size:11px;font-weight:700;color:var(--faint)}
.col-h .stripe{width:3px;height:14px;border-radius:3px}
.col-b{padding:9px;display:flex;flex-direction:column;gap:8px;flex:1}
.tile{background:var(--raised);border:1px solid var(--line-soft);border-radius:9px;padding:10px 11px;cursor:pointer;transition:.12s}
.tile:hover{border-color:var(--faint);transform:translateY(-1px)}
.tile .n{font-size:13px;font-weight:600}
.tile .s{font-size:11.5px;color:var(--muted);margin-top:2px}
.tile .f{display:flex;align-items:center;gap:7px;margin-top:9px}
.tile .v{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:16px}
.col-f{padding:9px 13px;border-top:1px solid var(--line-soft);font-size:11.5px;color:var(--muted)}
.col-f b{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:15px;font-weight:400;color:var(--ink)}

/* CHARTS */
.bars{display:grid;gap:13px}
.brow{display:grid;grid-template-columns:120px 1fr 118px;gap:13px;align-items:center}
.brow .lb{font-size:12.5px;font-weight:500}
.track{height:22px;background:var(--bg);border-radius:5px;overflow:hidden}
.fill{height:100%;border-radius:5px;background:var(--grad);transition:width .55s cubic-bezier(.4,0,.2,1)}
.fill.t{background:linear-gradient(96deg,#0F7A6B,#2AA894)}
.brow .amt{text-align:right;font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:19px}
.brow .amt small{display:block;font-family:'Geist',sans-serif;font-size:11px;color:var(--muted)}
.funnel{display:grid;gap:9px}
.fstep{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:11px 14px;border-radius:9px;background:var(--bg);position:relative;overflow:hidden}
.fstep .fb{position:absolute;left:0;top:0;bottom:0;background:var(--grad);opacity:.14}
.fstep .l{font-size:13px;font-weight:500;position:relative}
.fstep .r{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:20px;position:relative}
.fstep .r small{font-family:'Geist',sans-serif;font-size:11px;color:var(--muted);margin-left:6px}
.sched .row{display:grid;grid-template-columns:78px 1fr auto;gap:13px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line-soft)}
.sched .row:last-child{border-bottom:0}
.sched .tm{font-size:13px;font-weight:700}
.sched .tm small{display:block;font-size:11px;font-weight:400;color:var(--faint)}
.entry{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.entry:last-child{border-bottom:0}
.entry .av{width:24px;height:24px;border-radius:50%;background:var(--bg);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;flex-shrink:0}
.entry .t{font-size:12.5px}
.entry .w{font-size:11px;color:var(--faint);margin-top:1px}

/* DRAWER */
.scrim{position:fixed;inset:0;background:rgba(12,23,25,.36);opacity:0;pointer-events:none;transition:.18s;z-index:40}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(470px,100%);background:var(--surface);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .24s cubic-bezier(.4,0,.2,1),box-shadow .24s;z-index:50;display:flex;flex-direction:column;box-shadow:none}
.drawer.on{transform:none;box-shadow:-20px 0 46px rgba(12,23,25,.14)}
.dh{padding:16px 20px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;gap:11px}
.dh h3{font-size:15px;font-weight:600;letter-spacing:-.01em}
.dtabs{display:flex;gap:2px;padding:0 20px;border-bottom:1px solid var(--line-soft)}
.dtabs button{border:0;background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);padding:10px 12px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.dtabs button.on{color:var(--ink);border-bottom-color:var(--pink)}
.db{padding:18px 20px;overflow-y:auto;flex:1}
.dpane{display:none}.dpane.on{display:block}
.fld{margin-bottom:14px}
.fld label{display:block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.df{padding:14px 20px;border-top:1px solid var(--line-soft);display:flex;gap:9px}
.df .btn{flex:1;text-align:center}
.del{flex:0 0 auto!important}
.mini{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:12.5px}
.mini:last-child{border-bottom:0}
.stub{border:1px dashed var(--line);border-radius:10px;padding:20px 18px;text-align:center;color:var(--muted);font-size:12.5px}
.stub b{display:block;color:var(--ink);font-size:13px;margin-bottom:5px}
.subh{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:4px 6px 4px 12px;font-size:12.5px}
.chip button{border:0;background:none;cursor:pointer;color:var(--faint);font:inherit;font-size:15px;line-height:1;padding:0 4px}
.chip button:hover{color:var(--pink)}
.banner{font-size:12px;font-weight:500;padding:8px 26px;text-align:center;background:var(--amber-soft);color:var(--amber);border-bottom:1px solid #F2DFC4}
.banner.ok{background:var(--teal-soft);color:var(--teal);border-color:#C9E6DE}
.note{font-size:12.5px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:0 var(--r) var(--r) 0;padding:13px 16px;margin-top:16px}
:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
@media(max-width:1080px){.split,.split.dash-split{grid-template-columns:1fr}}
@media(max-width:1024px){.auth{grid-template-columns:1fr}.auth-art{display:none}}
@media(max-height:820px){.feats .feat{padding:10px 14px}.feat .fd{display:none}.lo-mid{padding-top:22px}
  .lo-art h2{font-size:clamp(26px,2.5vw,32px)}.proofs{margin-top:18px}}
@media(max-width:860px){.rail{display:none}.hide-s{display:none}.search{max-width:none;flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}
  .proof,.feat,.proofs,.lo-art h2,.lo-art .said,.lo-art .eyebrow,.lo-foot{opacity:1!important;transform:none!important}}
/* ---- logo ---- */
.mvmark{width:34px;height:auto;color:var(--ink);flex-shrink:0}
.mvmark.dk{color:#F3F5F3}
.mvmark.lg{width:46px}
.brandrow{display:flex;align-items:center;gap:11px}
.brandrow .stack{line-height:1.15}
.brandrow .tagline{font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);margin-top:1px}
.brandrow.dk .tagline{color:#6E8586}
.brandrow.dk .wordmark{color:#fff}

/* ---- narrative timeline ---- */
.tl{display:grid;gap:0;border-left:2px solid var(--line);margin-left:6px}
.tlrow{display:grid;grid-template-columns:88px 1fr;gap:20px;padding:16px 0 16px 24px;position:relative}
.tlrow::before{content:'';position:absolute;left:-7px;top:26px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--line)}
.tlrow.hit::before{background:var(--pink);border-color:var(--pink)}
.tlrow .tm{font-size:13px;font-weight:700;color:var(--faint);padding-top:1px}
.tlrow .tx{font-size:14.5px;line-height:1.6}
.tlrow .tx b{font-weight:600}
.tlrow .cost{display:inline-block;margin-top:7px;font-size:12px;font-weight:600;color:var(--pink);background:var(--rose-soft);border-radius:20px;padding:3px 11px}

/* ---- before / after ---- */
.ba{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bacol{border-radius:14px;padding:24px;border:1px solid var(--line)}
.bacol.old{background:var(--raised)}
.bacol.new{background:var(--surface);border-color:var(--border-accent,#F7CFDF)}
.bacol .lbl{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:16px}
.bacol.new .lbl{color:var(--pink)}
.bacol li{list-style:none;font-size:14px;line-height:1.6;padding:9px 0 9px 24px;position:relative;border-bottom:1px solid var(--line-soft)}
.bacol li:last-child{border-bottom:0}
.bacol li::before{position:absolute;left:0;top:9px;font-size:14px;font-weight:700}
.bacol.old li::before{content:'×';color:var(--faint)}
.bacol.new li::before{content:'✓';color:var(--teal)}

/* ---- honest / faq ---- */
.honest{background:var(--rail);color:#fff;border-radius:16px;padding:34px 36px}
.honest h4{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:26px;margin-bottom:10px}
.honest p{color:#93A6A7;font-size:14px;line-height:1.7;max-width:640px}
.hongrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.honitem{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:11px;padding:15px 17px}
.honitem .t{font-size:13.5px;font-weight:600}
.honitem .d{font-size:12.5px;color:#8FA3A3;margin-top:5px;line-height:1.55}

.faq{display:grid;gap:0;border-top:1px solid var(--line)}
.faqitem{border-bottom:1px solid var(--line);padding:20px 0}
.faqitem .q{font-size:15.5px;font-weight:600;letter-spacing:-.01em}
.faqitem .a{font-size:14px;color:var(--muted);line-height:1.7;margin-top:9px;max-width:720px}

.note-card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:0 14px 14px 0;padding:24px 26px}
.note-card p{font-size:14.5px;line-height:1.75;color:var(--ink)}
.note-card p + p{margin-top:13px}
.note-card .sig{margin-top:18px;padding-top:15px;border-top:1px solid var(--line-soft);font-size:13px;color:var(--muted)}
.note-card .sig b{color:var(--ink);font-weight:600;display:block;font-size:13.5px}
@media(max-width:900px){.ba,.hongrid{grid-template-columns:1fr}.tlrow{grid-template-columns:1fr;gap:4px}}
.daypick{display:flex;gap:7px;flex-wrap:wrap}
.daypick button{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:9px 0;width:52px;
  font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:.12s}
.daypick button:hover{border-color:var(--faint)}
.daypick button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.tog{position:relative;width:42px;height:24px;border-radius:20px;background:#CBD4DD;border:0;cursor:pointer;flex-shrink:0;transition:.16s}
.tog[aria-pressed="true"]{background:var(--teal)}
.tog::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.16s}
.tog[aria-pressed="true"]::after{left:21px}
#bkPanel.off{opacity:.45;pointer-events:none}
.codebox{background:var(--rail);color:#CFE0DE;border-radius:10px;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px;line-height:1.7;overflow-x:auto;white-space:pre;margin:10px 0}
.codebox .k{color:#FF8C42}
.prov{background:var(--raised);border:1px solid var(--line-soft);border-radius:11px;padding:16px 18px}
.prov ol{margin:0;padding-left:19px}
.prov li{font-size:13.5px;line-height:1.75;margin-bottom:5px}
.prov li b{font-weight:600}
.prov .hint{font-size:12.5px;color:var(--muted);margin-top:12px;padding-top:11px;border-top:1px solid var(--line-soft)}
.inb{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:12.5px}
.inb:last-child{border-bottom:0}
.inb .w{color:var(--faint);margin-left:auto;font-size:11.5px;white-space:nowrap}
.smini{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:13px;color:var(--muted);line-height:1.55}
.smini .sn2{width:19px;height:19px;border-radius:6px;background:var(--bg);border:1px solid var(--line);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;color:var(--faint);margin-top:1px}
.smini b{color:var(--ink);font-weight:600}
.demo-split{display:grid;grid-template-columns:.92fr 1.08fr;min-height:calc(100vh - 58px)}
.demo-side{background:#080F11;color:#fff;padding:44px;position:relative;overflow:hidden;display:flex}
.demo-sidein{position:relative;z-index:2;display:flex;flex-direction:column;width:100%}
.demo-side h2{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:clamp(30px,3vw,42px);line-height:1.1;margin:14px 0 16px;letter-spacing:-.015em}
.demo-side p{color:#93A6A7;font-size:14px;line-height:1.7;max-width:400px}
.demo-side p b{color:#fff;font-weight:600}
.demo-pts{margin-top:28px;display:grid;gap:12px}
.dp{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:#B4C4C4;line-height:1.55;max-width:400px}
.dpi{width:22px;height:22px;border-radius:7px;background:rgba(240,37,122,.18);color:#FF8C42;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;margin-top:1px}
.demo-form{display:flex;align-items:center;justify-content:center;padding:44px 32px;background:var(--surface)}
.demo-box{width:100%;max-width:520px}
.demo-box h1{font-size:29px;font-weight:600;letter-spacing:-.025em}
.demo-box .lede{font-size:13.5px;color:var(--muted);margin:6px 0 24px}
.demo-box label i{color:var(--pink);font-style:normal}
.demo-box .fine{font-size:11.5px;color:var(--faint);margin-top:12px;line-height:1.6;text-align:center}
.lo-switch{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);text-align:center}
.lo-switch a{color:var(--pink);font-weight:600;cursor:pointer;text-decoration:none}
.hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important}
@media(max-width:900px){.demo-split{grid-template-columns:1fr}.demo-side{display:none}}
.demo-kick{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#6E8586;
  padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:22px}
.demo-side h2{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:clamp(29px,2.7vw,40px);line-height:1.14;
  margin:0 0 18px;letter-spacing:-.018em;font-weight:400}
.demo-side h2 em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.demo-lede{color:#93A6A7;font-size:14px;line-height:1.72;max-width:410px;margin:0}
.demo-pts{margin-top:30px;display:grid;gap:20px}
.dp{display:flex;gap:15px;align-items:flex-start;max-width:430px}
.dpi{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:17px;line-height:1;flex-shrink:0;width:26px;padding-top:2px;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.dpt{font-size:14px;font-weight:600;letter-spacing:-.005em;color:#fff;line-height:1.4}
.dpd{font-size:12.5px;color:#7B8E8F;line-height:1.6;margin-top:5px}
.demo-quote{margin-top:30px;padding:18px 20px;border-left:2px solid var(--orange);
  background:rgba(255,255,255,.035);border-radius:0 10px 10px 0;
  font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:16.5px;line-height:1.55;color:#C6D3D3;max-width:430px}
.demo-foot{margin-top:auto;padding-top:26px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.demo-foot .vi{color:#6E8586;font-size:11.5px}
.demo-geo{margin-left:auto;font-size:11px;color:#546868}
/* content eases in when a tab changes, the way software does */
.wrap{transition:opacity .14s ease}

/* every button acknowledges the press */
.btn,.nb,.seg button,.tabs button,.acct,.tile,.daypick button,.slot,.day{
  transition:transform .1s cubic-bezier(.2,.7,.3,1),background .12s,border-color .12s,color .12s,filter .12s}
.btn:active,.seg button:active,.tabs button:active,.daypick button:active{transform:scale(.975)}
.nb:active,.acct:active,.tile:active{transform:scale(.99)}
.btn:disabled{transform:none!important}
tbody tr.click{transition:background .1s}
/* skeletons — the page shape arrives before the data does */
#skel{animation:settle .2s ease}
.sk-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:14px;margin-bottom:16px}
.sk-kpi{height:96px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);position:relative;overflow:hidden}
.sk-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.sk-head{height:48px;border-bottom:1px solid var(--line-soft);background:var(--raised)}
.sk-row{padding:15px 18px;border-bottom:1px solid var(--line-soft);display:grid;grid-template-columns:1.6fr 1fr;gap:16px}
.sk-row:last-child{border-bottom:0}
.sk-line{height:11px;border-radius:6px;background:var(--line-soft);position:relative;overflow:hidden}
.sk-kpi::after,.sk-line::after{content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);
  transform:translateX(-100%);animation:shimmer 1.15s infinite}
.sk-kpi::after{background:linear-gradient(90deg,transparent,rgba(12,23,25,.045),transparent)}
@keyframes shimmer{100%{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.sk-kpi::after,.sk-line::after{animation:none}}

/* page-to-page navigation progress */
#pageload{position:fixed;top:0;left:0;height:3px;width:0;z-index:9999;background:var(--grad);
  opacity:0;transition:width .5s cubic-bezier(.15,.75,.3,1),opacity .2s}
#pageload.go{opacity:1;width:88%}
body.leaving{opacity:.55;transition:opacity .18s ease}
/* landing and demo pages are their own documents now */
#landingView,#demoView{display:block!important}

/* ================= AUTH PAGES ================= */
.auth{display:grid;grid-template-columns:.92fr 1.08fr;min-height:100vh}
.auth-art{background:#080F11;color:#fff;padding:44px;position:relative;overflow:hidden;display:flex}
.auth-artin{position:relative;z-index:2;display:flex;flex-direction:column;width:100%}
.auth-mid{margin-top:auto}
.auth-art h2{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:clamp(29px,2.7vw,40px);
  line-height:1.14;letter-spacing:-.018em;font-weight:400;margin-bottom:16px}
.auth-art p{color:#93A6A7;font-size:14px;line-height:1.72;max-width:400px;margin:0}
.auth-facts{margin-top:30px;display:grid;gap:16px;max-width:400px}
.af{display:flex;gap:14px;align-items:baseline;padding-top:14px;border-top:1px solid rgba(255,255,255,.09)}
.afv{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:26px;line-height:1;flex-shrink:0;min-width:74px;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.afk{font-size:12.5px;color:#7B8E8F;line-height:1.55}
.auth-foot{margin-top:auto;padding-top:26px;font-size:11px;color:#546868;letter-spacing:.02em}

.auth-form{display:flex;align-items:center;justify-content:center;padding:40px 32px;background:var(--surface)}
.auth-box{width:100%;max-width:392px}
.auth-back{display:inline-block;font-size:12.5px;color:var(--muted);text-decoration:none;margin-bottom:26px}
.auth-back:hover{color:var(--pink)}
.auth-box h1{font-size:27px;font-weight:600;letter-spacing:-.025em}
.auth-box .lede{font-size:13.5px;color:var(--muted);margin:7px 0 24px}
.lblrow{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.lblrow label{margin:0}
.link-s{margin-left:auto;font-size:11.5px;font-weight:600;color:var(--pink);cursor:pointer;text-decoration:none}
.link-s:hover{text-decoration:underline}
.ok{background:var(--teal-soft);color:var(--teal);border-radius:9px;padding:10px 12px;
  font-size:12.5px;font-weight:500;margin-bottom:15px}

.pwrap{position:relative}
.pwrap input{padding-right:44px}
.peek{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;
  border:0;background:none;cursor:pointer;color:var(--faint);display:flex;align-items:center;justify-content:center;
  border-radius:7px;transition:.12s}
.peek:hover{color:var(--ink);background:var(--bg)}
.peek.on{color:var(--pink)}
.peek svg{width:18px;height:18px}

.pwbar{height:3px;border-radius:3px;background:var(--line);margin-top:9px;overflow:hidden}
.pwbar i{display:block;height:100%;width:0;border-radius:3px;transition:width .25s ease,background .25s}
.pwbar i.weak{background:var(--pink)}
.pwbar i.fair{background:var(--orange)}
.pwbar i.good{background:#2AA894}
.pwbar i.strong{background:var(--teal)}
.pwhint{font-size:11.5px;color:var(--faint);margin-top:6px}

.auth-note{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);
  font-size:12px;color:var(--faint);line-height:1.6}
.auth-note b{color:var(--muted);font-weight:600}
.auth-switch{margin-top:14px;font-size:13px;color:var(--muted);text-align:center}
.auth-switch a{color:var(--pink);font-weight:600;cursor:pointer;text-decoration:none}
.auth-switch a:hover{text-decoration:underline}
.brandrow.dk .wordmark{color:#fff}
.brandrow.dk .tagline{color:#6E8586}
.brandrow.dk .mvmark{color:#F3F5F3}

@media(max-width:900px){.auth{grid-template-columns:1fr}.auth-art{display:none}}

/* sign-in to dashboard: one deliberate swap, never both on screen */
#appView{animation:appIn .22s cubic-bezier(.2,.6,.3,1)}
@keyframes appIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){#appView{animation:none}}

/* ---- boot screen: stops the sign-in page flashing on reload ---- */
#boot{position:fixed;inset:0;z-index:9999;background:var(--bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;
  transition:opacity .26s ease}
#boot.gone{opacity:0;pointer-events:none}
#boot .mvmark{width:56px;height:auto;color:var(--ink);animation:bootpulse 1.6s ease-in-out infinite}
@keyframes bootpulse{0%,100%{opacity:1}50%{opacity:.55}}
.bootbar{width:132px;height:2px;border-radius:2px;background:var(--line);overflow:hidden}
.bootbar i{display:block;height:100%;width:38%;border-radius:2px;background:var(--grad);
  animation:bootslide 1.05s cubic-bezier(.5,0,.5,1) infinite}
@keyframes bootslide{0%{transform:translateX(-115%)}100%{transform:translateX(320%)}}
@media(prefers-reduced-motion:reduce){#boot .mvmark,.bootbar i{animation:none}.bootbar i{width:100%}}

/* ---- connected inbox ---- */
.inboxon{display:flex;align-items:center;gap:12px;background:var(--raised);
  border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.ibi{width:32px;height:32px;border-radius:9px;background:var(--grad);color:#fff;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}

/* ================= CALENDAR ================= */
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cdh{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--faint);text-align:center;padding:0 0 6px}
.cd{min-height:96px;border:1px solid var(--line-soft);border-radius:9px;padding:7px 8px;
  background:var(--surface);cursor:pointer;transition:.12s;overflow:hidden}
.cd:hover{border-color:var(--faint)}
.cd.empty{background:transparent;border:0;cursor:default}
.cd.now{border-color:var(--pink);box-shadow:inset 0 0 0 1px var(--pink)}
.cd.sel{background:var(--raised);border-color:var(--ink)}
.cdn{font-size:12.5px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:6px;margin-bottom:5px}
.cd.now .cdn{color:var(--pink)}
.cdc{margin-left:auto;font-size:10px;font-weight:700;background:var(--ink);color:#fff;
  border-radius:20px;padding:1px 6px;min-width:17px;text-align:center}
.ce{font-size:10.5px;line-height:1.35;padding:3px 5px;border-radius:5px;margin-bottom:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ce b{font-weight:700}
.ce.sched{background:var(--indigo-soft);color:var(--indigo)}
.ce.conf{background:var(--teal-soft);color:var(--teal)}
.ce.att{background:#E8F5EC;color:#1B6B39}
.ce.noshow{background:var(--rose-soft);color:var(--pink)}
.cmore{font-size:10px;color:var(--faint);padding-left:5px}
@media(max-width:860px){.cd{min-height:64px;padding:5px}.ce{display:none}.cdn{justify-content:center}}

/* ================= INVOICES ================= */
.invhead,.invrow{display:grid;grid-template-columns:1fr 62px 88px 92px 28px;gap:8px;align-items:center}
.invhead{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--faint);padding:0 0 7px;border-bottom:1px solid var(--line-soft);margin-bottom:8px}
.invhead span:nth-child(2),.invhead span:nth-child(3),.invhead span:nth-child(4){text-align:right}
.invrow{margin-bottom:7px}
.invrow input{padding:8px 10px;font-size:13px}
.invrow .ii-q,.invrow .ii-p{text-align:right}
.ii-a{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:16px;text-align:right}
.ii-x{border:0;background:none;color:var(--faint);font-size:18px;cursor:pointer;line-height:1;padding:0}
.ii-x:hover{color:var(--pink)}
.invtot{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.invtot .tr{display:flex;justify-content:space-between;padding:6px 0;font-size:13.5px;color:var(--muted)}
.invtot .tr b{color:var(--ink);font-weight:600}
.invtot .tr.big{border-top:1px solid var(--line);margin-top:8px;padding-top:12px;font-size:15px;color:var(--ink)}
.invtot .tr.big b{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:24px;font-weight:400}

/* ---- header, less generic ---- */
.top{background:linear-gradient(180deg,rgba(243,245,243,.96),rgba(243,245,243,.88));
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
  padding:15px 26px 14px;position:relative}
.top::after{content:'';position:absolute;left:26px;right:26px;bottom:-1px;height:1px;
  background:linear-gradient(90deg,var(--pink),var(--orange),transparent 62%);opacity:.5}
.top h2{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:25px;font-weight:400;letter-spacing:-.015em}
.top .sub{font-size:12.5px;color:var(--muted);margin-top:2px}
.who .av{box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--line)}
#railTop:hover .wordmark{opacity:.85}

/* ---- landing: trust strip ---- */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:8px}
.ti{background:var(--surface);padding:20px 22px}
.tv{display:block;font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:23px;line-height:1;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.tk{display:block;font-size:12.5px;color:var(--muted);margin-top:8px;line-height:1.5}

/* ---- landing: FAQ accordion ---- */
details.faqitem{border-bottom:1px solid var(--line);padding:0}
details.faqitem summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;
  font-size:15.5px;font-weight:600;letter-spacing:-.01em;transition:color .12s}
details.faqitem summary::-webkit-details-marker{display:none}
details.faqitem summary:hover{color:var(--pink)}
.chev{position:absolute;right:6px;top:50%;width:11px;height:11px;margin-top:-7px;
  border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);
  transform:rotate(45deg);transition:transform .2s,border-color .12s}
details[open] .chev{transform:rotate(-135deg);margin-top:-3px;border-color:var(--pink)}
details.faqitem .a{font-size:14px;color:var(--muted);line-height:1.75;max-width:720px;
  padding:0 0 22px;animation:faqin .22s ease}
@keyframes faqin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* ---- landing: footer ---- */
.foot{border-top:1px solid var(--line);background:var(--surface);padding:44px 0 0;margin-top:0}
.footin{max-width:1140px;margin:0 auto;padding:0 26px 34px;display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:34px;align-items:start}
.fbrand .fp{font-size:13px;color:var(--muted);line-height:1.65;max-width:280px;margin:0}
.fh{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--faint);margin-bottom:14px}
.fcol a{display:block;font-size:13.5px;color:var(--muted);text-decoration:none;
  padding:5px 0;transition:color .12s}
.fcol a:hover{color:var(--pink)}
.fq{display:block;font-size:12px;color:var(--faint);margin-top:9px}
.footbar{border-top:1px solid var(--line);padding:18px 26px 30px;max-width:1140px;margin:0 auto;
  display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--faint)}
.footbar .fr{margin-left:auto}
@media(max-width:900px){
  .trust{grid-template-columns:1fr 1fr}
  .footin{grid-template-columns:1fr 1fr;gap:26px}
  .footbar .fr{margin-left:0}
}
@media(max-width:560px){.trust{grid-template-columns:1fr}.footin{grid-template-columns:1fr}}

.minifoot{max-width:1140px;margin:0 auto;padding:24px 26px 34px;text-align:center;
  font-size:12.5px;color:var(--faint);display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.minifoot a{color:var(--muted);text-decoration:none}
.minifoot a:hover{color:var(--pink)}

/* ---- mobile navigation ---- */
.menubtn{display:none;flex-direction:column;gap:4px;background:none;border:0;cursor:pointer;
  padding:8px 6px;margin-right:2px}
.menubtn span{display:block;width:19px;height:2px;border-radius:2px;background:var(--ink);transition:.15s}
.railscrim{position:fixed;inset:0;background:rgba(12,23,25,.4);opacity:0;pointer-events:none;
  transition:.18s;z-index:55}
.railscrim.on{opacity:1;pointer-events:auto}
@media(max-width:860px){
  .menubtn{display:flex}
  .rail{display:flex;position:fixed;left:-240px;top:0;z-index:60;transition:left .22s cubic-bezier(.4,0,.2,1);
    box-shadow:14px 0 40px rgba(12,23,25,.18)}
  .rail.open{left:0}
  .wrap{padding:18px 16px 60px}
  .top{padding:12px 16px}
  .top h2{font-size:20px}
  .split,.split.dash-split{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr 1fr;gap:10px}
  .kpi .v{font-size:30px}
  .board{grid-template-columns:1fr}
  table{font-size:13px}
  th,td{padding:10px 12px}
  .drawer{width:100%}
  .two{grid-template-columns:1fr}
  .bar{gap:8px}
  .invhead,.invrow{grid-template-columns:1fr 48px 74px 74px 24px;gap:6px}
}
@media(max-width:480px){.kpis{grid-template-columns:1fr}}

/* ---- empty states with a way forward ---- */
.ebtns{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:18px}

/* ---- import ---- */
.drop{border:2px dashed var(--line);border-radius:12px;padding:34px 20px;text-align:center;
  cursor:pointer;transition:.14s;background:var(--raised)}
.drop:hover,.drop.over{border-color:var(--pink);background:var(--rose-soft)}
.dropin b{display:block;font-size:14.5px;font-weight:600;margin-bottom:5px}
.dropin span{font-size:12.5px;color:var(--muted)}
.maprow{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:center;margin-bottom:9px}
.mapl{font-size:13px;font-weight:500}
.mapl i{color:var(--pink);font-style:normal}
.maprow select{font-size:13px;padding:8px 10px}

/* ---- settings: grouped, not one long scroll ---- */
.setnav{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:20px;
  overflow-x:auto;-webkit-overflow-scrolling:touch}
.setnav button{border:0;background:none;font:inherit;font-size:13.5px;font-weight:600;
  color:var(--muted);padding:11px 16px;cursor:pointer;white-space:nowrap;
  border-bottom:2px solid transparent;margin-bottom:-1px;transition:.12s}
.setnav button:hover{color:var(--ink)}
.setnav button.on{color:var(--ink);border-bottom-color:var(--pink)}
.setpane{display:none}
.setpane.on{display:block;animation:settle .22s ease}
.okflash{background:var(--teal)!important;filter:none!important}

/* ---- collapsible technical details in settings ---- */
details.tech summary{list-style:none;cursor:pointer;font-size:12.5px;font-weight:600;
  color:var(--muted);padding:2px 0;display:inline-flex;align-items:center;gap:7px}
details.tech summary::-webkit-details-marker{display:none}
details.tech summary::before{content:'';width:7px;height:7px;border-right:1.6px solid var(--faint);
  border-bottom:1.6px solid var(--faint);transform:rotate(-45deg);transition:transform .18s}
details.tech[open] summary::before{transform:rotate(45deg)}
details.tech summary:hover{color:var(--ink)}

/* ---- inline checkbox ---- */
.chk{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:11px 13px;
  background:var(--raised);border:1px solid var(--line);border-radius:10px;
  font-size:13px;line-height:1.45;color:var(--ink)}
.chk:hover{border-color:var(--faint)}
.chk input{width:16px;height:16px;margin:1px 0 0;accent-color:var(--pink);flex-shrink:0}

/* ============================================================
   MOBILE — the public pages
   ============================================================ */
@media(max-width:760px){
  /* the bar at the top */
  .navin{padding:11px 16px;gap:10px}
  .navin .tagline{display:none}
  .navin .mvmark{width:26px}
  .wordmark{font-size:15px}
  .navcta{margin-left:auto;gap:7px}
  .navcta .btn{font-size:13px;padding:8px 12px}
  .navcta .btn:not(.btn-p){display:none}

  /* sections and headings */
  .sec{padding:0 16px}
  .block{padding:40px 0}
  .blockhead{margin-bottom:26px}
  .band{padding:38px 0}
  .bandin{padding:0 16px}
  .band h3{font-size:23px}
  .cta{padding:32px 20px}
  .cta h3{font-size:24px}

  /* the stat strips */
  .trust{grid-template-columns:1fr;gap:0}
  .ti{padding:14px 0;border-bottom:1px solid var(--line)}
  .ti:last-child{border-bottom:0}

  /* a four-column table scrolls; a two-column one just gets tighter */
  .rolecard{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .rolecard table{min-width:520px}
  .cmp{min-width:0;font-size:13.5px;table-layout:fixed}
  .cmp th,.cmp td{padding:11px 8px;word-wrap:break-word}
  .cmp th:last-child,.cmp td:last-child{width:92px}

  /* pricing */
  .prcard{padding:24px 20px}
  .pramt .n{font-size:38px}
  .prq .qq{font-size:14.5px}

  /* the legal pages */
  .pwrap{padding:0 16px;gap:26px}
  .ptoc{position:static;border-left:0;padding-left:0;flex-direction:row;flex-wrap:wrap;
    gap:8px 16px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
  .pol-s{margin-bottom:34px}
  .pol-s h3{font-size:1.02rem}
  .secgrid{grid-template-columns:1fr;gap:10px}
  .callout{padding:12px 14px}

  /* the booking and demo forms */
  .demo-form{padding:26px 16px 40px}
  .demo-box{padding:0}
  .lo-topin{padding:11px 16px}

  /* the footer */
  .footin{grid-template-columns:1fr;gap:24px;padding:0 16px}
  .footbar{padding:16px 16px 26px;flex-direction:column;gap:8px}
  .minifoot{padding:20px 16px 28px}
}

@media(max-width:420px){
  .h1{font-size:30px}
  .h2{font-size:23px}
  .lead{font-size:14.5px}
  .navcta .btn{font-size:12.5px;padding:7px 11px}
}

/* ---- the app's top bar on a phone ---- */
@media(max-width:600px){
  .top{flex-wrap:wrap;gap:8px 10px;padding:10px 14px}
  .top h2{font-size:18px}
  .top .sub{font-size:11.5px}
  .top .btn{font-size:12.5px;padding:8px 12px}
  #exportBtn{display:none}
  .who{padding-left:8px}
  .wrap{padding:14px 14px 56px}
  .card-h{flex-wrap:wrap;gap:8px}
  .bar{flex-wrap:wrap}
  .seg{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  .logorow{flex-direction:column;gap:12px}
  .svcrow,.svchead{grid-template-columns:1fr 70px 56px 24px;gap:5px}
  .svcrow input{font-size:13px;padding:9px 8px}
}
