/* heysalesnav — shared styles for login, signup, reset and legal pages (plum + coral) */
:root{
  --plum:#2A1540; --plum-2:#3A2156; --plum-3:#4D2D70;
  --ink:#21122F; --sub:#4A3D5C; --muted:#6E6483; --dim:#9A91AE;
  --mist:#F4F1F9; --paper:#FFFFFF; --wash:#FAF8FD;
  --line:#E7E1F0; --line-2:#D8CFE6;
  --acc:#FF7A66; --acc-2:#FF6450; --acc-wash:#FFE9E4; --acc-ink:#B5361F; --acc-rgb:255,122,102;
  --mint:#1D9A61; --mint-2:#2BC07B; --mint-wash:#E2F6EC;
  --red:#C02626; --red-wash:#FDE8E8;
  --display:"Bricolage Grotesque","Geist",system-ui,sans-serif;
  --ui:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--ui);background:var(--mist);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:15px;line-height:1.55}
a{color:inherit;text-decoration:none}
::selection{background:rgba(var(--acc-rgb),.35)}
:focus-visible{outline:2px solid var(--plum-3);outline-offset:2px}
[hidden]{display:none!important}
.bgfx{display:none}
.contours{background:var(--plum) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='400' viewBox='0 0 560 400' fill='none' stroke='%23ffffff' stroke-opacity='.075' stroke-width='1.3'%3E%3Cpath d='M-20 320C70 260 140 340 230 290S370 170 470 220 580 160 600 130'/%3E%3Cpath d='M-20 350C80 290 150 372 244 320S384 200 482 250 590 194 610 166'/%3E%3Cpath d='M-20 290C60 232 128 306 214 260S356 140 456 188 568 124 590 94'/%3E%3Cpath d='M-20 258C50 202 116 274 200 230S342 110 444 156 556 90 578 58'/%3E%3Cpath d='M-20 226C40 172 104 242 186 200S328 80 432 124 544 56 566 22'/%3E%3C/svg%3E") right bottom/cover no-repeat}

/* brand */
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.035em;color:var(--plum)}
.brand .mark{width:32px;height:32px;display:block;flex:none}
.logo{display:none}

/* buttons & fields */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--ui);font-size:14.5px;font-weight:600;padding:12px 20px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,transform .1s;color:var(--plum);background:none;line-height:1.2}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--acc);color:var(--plum);box-shadow:0 1px 0 rgba(42,21,64,.25),0 10px 22px -12px rgba(var(--acc-rgb),.9)}
.btn.primary:hover{background:var(--acc-2)}
.btn.ghost{background:var(--paper);border-color:var(--line-2)}
.btn.ghost:hover{border-color:var(--plum)}
.btn:disabled{opacity:.6;cursor:wait}
.btn.full{width:100%}
label{display:block;font-size:13px;font-weight:600;color:var(--sub);margin-bottom:7px}
input,select,textarea{width:100%;font-family:var(--ui);font-size:14.5px;color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .15s,box-shadow .15s}
input::placeholder,textarea::placeholder{color:#A79FB8}
input:focus,select:focus,textarea:focus{border-color:var(--plum-3);box-shadow:0 0 0 4px rgba(122,91,181,.16)}
textarea{min-height:70px;resize:vertical}
.hint{font-size:12px;color:var(--muted);margin-top:7px}
.msg{font-size:13.5px;line-height:1.6;padding:12px 14px;border-radius:12px;margin-bottom:16px}
.msg.ok{background:var(--mint-wash);border:1px solid #A6E3C6;color:#0F6B41}
.msg.err{background:var(--red-wash);border:1px solid #F3B7B7;color:#991B1B}
.msg.info{background:#EFE9F8;border:1px solid #D5C7EE;color:#4B2D78}
.msg.warn{background:var(--acc-wash);border:1px solid #F7C2B8;color:var(--acc-ink)}

/* centred card (reset page) */
.auth{min-height:100vh;display:grid;place-items:center;padding:32px 16px}
.auth-card{width:100%;max-width:440px;padding:34px 32px;border-radius:26px;border:1px solid var(--line);background:var(--paper);box-shadow:0 30px 60px -40px rgba(42,21,64,.45)}
.auth-card .brand{justify-content:center;margin-bottom:22px}
.auth-card h1{font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:-.035em;color:var(--plum);text-align:center;line-height:1.1}
.auth-card .sub{font-size:14.5px;color:var(--muted);text-align:center;margin:10px 0 24px;line-height:1.6}
.auth-card form{display:grid;gap:16px}
.auth-foot{font-size:14px;color:var(--muted);text-align:center;margin-top:20px}
.auth-foot a,.link{color:var(--plum);font-weight:600;text-decoration:underline;text-decoration-color:rgba(var(--acc-rgb),.8);text-decoration-thickness:2px;text-underline-offset:4px}
.row-between{display:flex;justify-content:space-between;align-items:center}
.row-between label{margin-bottom:7px}
.link{font-size:13px;background:none;border:0;cursor:pointer;font-family:var(--ui);padding:0;margin-bottom:7px}
.link:hover,.auth-foot a:hover{color:var(--acc-ink)}
.gbtn{background:var(--paper)!important;color:var(--ink)!important;border-color:var(--line-2)!important;font-weight:600}
.gbtn:hover{border-color:var(--plum)!important}
.or{display:flex;align-items:center;gap:12px;color:var(--dim);font-size:13px;margin:18px 0}
.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}
.back{display:block;text-align:center;font-size:13.5px;color:var(--muted);margin-top:16px}
button.back{width:100%;background:none;border:0;cursor:pointer;font-family:var(--ui)}
.back:hover{color:var(--plum)}

/* split layout: plum pitch on the left, form on the right */
.atop{max-width:1200px;margin:0 auto;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.apill{font-size:14px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:10px 18px;background:var(--paper);white-space:nowrap;transition:border-color .15s}
.apill b{color:var(--plum);margin-left:4px;font-weight:600}
.apill:hover{border-color:var(--plum)}
/* one joined card, like a boarding pass: plum stub on the left, the form on the right */
.asplit{position:relative;max-width:1144px;width:calc(100% - 56px);margin:6px auto 56px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:stretch;
  background:var(--paper);border:1px solid var(--line);border-radius:32px;overflow:hidden;box-shadow:0 46px 90px -56px rgba(42,21,64,.6)}
.apitch{position:relative;overflow:hidden;padding:56px 50px;color:#fff;display:flex;flex-direction:column;justify-content:center;background-color:var(--plum)}
.apitch:before{content:"";position:absolute;width:360px;height:360px;right:-120px;top:-140px;border-radius:50%;background:radial-gradient(circle,rgba(var(--acc-rgb),.3),transparent 65%)}
.apitch>*{position:relative}
.kicker{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff}
.kicker i{width:8px;height:8px;border-radius:50%;background:var(--acc)}
.ahead{font-family:var(--display);font-size:54px;font-weight:700;letter-spacing:-.045em;line-height:1.02;margin:22px 0 18px;color:#fff}
.ahead span{color:inherit}
.alead{color:rgba(255,255,255,.78);font-size:16.5px;line-height:1.7;max-width:520px}
.alead mark{white-space:nowrap;background:rgba(255,255,255,.12);color:#fff;border-radius:8px;padding:2px 8px}
.achecks{list-style:none;margin:26px 0 0;display:grid;gap:12px;font-size:15px;color:rgba(255,255,255,.88)}
.achecks li{display:flex;align-items:center;gap:11px}
.achecks li:before{content:"";flex:none;width:20px;height:20px;border-radius:50%;background:rgba(43,192,123,.22) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232BC07B' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.atiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:34px;max-width:600px}
.atile{border-radius:16px;padding:16px 14px 15px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.atile b{display:block;font-family:var(--display);font-size:23px;font-weight:700;letter-spacing:-.03em;color:#fff}
.atile.t1 b{color:var(--acc)}
.atile span{display:block;font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.62);margin-top:5px}
.asplit .auth-card{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;max-width:none;width:100%;padding:52px 56px;border:0;border-radius:0;box-shadow:none;background:none}
.asplit .auth-card>*{width:100%;max-width:400px;margin-left:auto;margin-right:auto}
/* the tear line between the two halves, with a notch at the top and bottom */
.asplit .auth-card:before{content:"";position:absolute;left:0;top:30px;bottom:30px;border-left:2px dashed var(--line-2)}
.asplit:before,.asplit:after{content:"";position:absolute;left:calc(51.92% - 15px);width:30px;height:30px;border-radius:50%;background:var(--mist);border:1px solid var(--line);z-index:3}
.asplit .atiles{grid-template-columns:repeat(2,minmax(0,1fr));max-width:460px}
.asplit:before{top:-16px}
.asplit:after{bottom:-16px}
.auth-card.left h1,.auth-card.left .sub{text-align:left}
.auth-card.left .sub{margin-top:8px;margin-bottom:22px}
@media (max-width:1020px){
  .asplit{grid-template-columns:minmax(0,1fr);max-width:560px;margin-top:0}
  .asplit:before,.asplit:after,.asplit .auth-card:before{display:none}
  .asplit .auth-card{order:-1;padding:36px 34px;border-bottom:2px dashed var(--line-2)}
  .apitch{padding:40px 34px}
  .ahead{font-size:40px}
}
@media (max-width:540px){
  .atop{padding:14px 18px}
  .asplit{width:calc(100% - 36px);margin-bottom:40px;border-radius:26px}
  .apill .q{display:none}
  .ahead{font-size:32px}
  .atiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .auth-card,.asplit .auth-card{padding:28px 22px}
  .apitch{padding:32px 22px}
}
.terms-note{font-size:12.5px;color:var(--muted);text-align:center;margin-top:16px;line-height:1.6}
.terms-note a{color:var(--sub);text-decoration:underline;text-underline-offset:3px}
/* small "I agree to the Terms" checkbox */
.agree{display:flex;align-items:flex-start;gap:9px;font-size:13px;font-weight:500;color:var(--muted);line-height:1.5;margin:0;cursor:pointer;border-radius:6px}
.agree input{width:16px;height:16px;flex:none;margin:2px 0 0;padding:0;accent-color:var(--plum);cursor:pointer}
.agree a{color:var(--plum);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(var(--acc-rgb),.8)}
.agree.shake{animation:agreeShake .45s;color:var(--red)}
@keyframes agreeShake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}

/* legal pages */
.legal-top{background:rgba(244,241,249,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}
.legal-top .in{max-width:860px;margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;justify-content:space-between}
.legal-top .home{font-size:14px;color:var(--muted);font-weight:600}
.legal-top .home:hover{color:var(--plum)}
.legal{max-width:860px;margin:0 auto;padding:48px 24px 70px}
.legal h1{font-family:var(--display);font-size:46px;font-weight:700;letter-spacing:-.04em;color:var(--plum);line-height:1.05}
.legal .upd{color:var(--muted);font-size:14px;margin:10px 0 30px}
.legal .box{border:1px solid var(--line);background:var(--paper);border-radius:26px;padding:36px 38px}
.legal h2{font-family:var(--display);font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--plum);margin:30px 0 8px}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{font-size:15.5px;line-height:1.75;color:var(--sub)}
.legal ul{padding-left:20px;margin:6px 0}
.legal li{margin:5px 0}
.legal li::marker{color:var(--acc)}
.legal a{color:var(--plum);font-weight:600;text-decoration:underline;text-decoration-color:rgba(var(--acc-rgb),.8);text-underline-offset:3px}
.legal b{color:var(--ink)}
.legal-foot{max-width:860px;margin:0 auto;padding:0 24px 44px;font-size:13px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap;justify-content:space-between}
.legal-foot a:hover{color:var(--plum)}
@media (max-width:540px){.legal h1{font-size:34px}.legal .box{padding:24px 20px}}

/* password eye */
.pw{position:relative}
.pw input{padding-right:46px}
.pw .eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;background:none;border:0;border-radius:9px;color:var(--muted);cursor:pointer}
.pw .eye:hover{color:var(--plum);background:#EFE9F8}
.pw .eye:focus-visible{outline:2px solid var(--plum-3);outline-offset:1px}
/* dashboard styles live in /assets/dash.css */
