:root{--blue:#2457E6;--yellow:#FFC857;--ink:#171B24;--paper:#F8F7F2;--muted:#667085}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif}header{height:78px;padding:14px max(22px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid #e8e9ed}.brand{display:flex;align-items:center;gap:12px}.vmark{display:grid;place-items:center;background:var(--blue);color:white;font-size:28px;font-weight:900;border-radius:13px;width:44px;height:44px}.brand b{font-size:22px;letter-spacing:-1px;color:var(--blue)}.brand b span{color:#F0B52D}.brand small{display:block;font-size:11px}.tag,.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted)}main{max-width:1120px;margin:auto;padding:30px 22px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:28px 0 40px}.hero h1{font-size:clamp(42px,6vw,70px);line-height:.98;letter-spacing:-3px;margin:12px 0}.hero h1 em{font-style:normal;color:var(--blue)}.hero p{color:#515b6b;max-width:450px;line-height:1.6}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}button{border:0;border-radius:13px;padding:13px 18px;font-weight:750;cursor:pointer}.primary{background:var(--blue);color:white}.secondary{background:white;color:var(--ink);border:1px solid #e2e5eb}.mapcard{height:270px;border-radius:25px;background:#e8eef9;position:relative;overflow:hidden;border:1px solid #dce4f3}.mapgrid{position:absolute;inset:-20%;background:linear-gradient(25deg,transparent 46%,#fff 47%,#fff 49%,transparent 50%),linear-gradient(115deg,transparent 42%,#fff 43%,#fff 45%,transparent 46%),linear-gradient(0deg,transparent 48%,#fff 49%,#fff 51%,transparent 52%);background-size:90px 75px,110px 90px,60px 60px;transform:rotate(-8deg)}.pin{position:absolute;color:white;background:var(--blue);border:5px solid white;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;box-shadow:0 5px 15px #243c8b55}.p1{left:28%;top:55%}.p2{right:22%;top:25%;background:var(--yellow)}.mapcaption{position:absolute;bottom:14px;left:14px;background:#fff;padding:9px 12px;border-radius:10px;font-size:12px}nav{display:flex;gap:8px;overflow:auto;padding:8px;background:#eceff5;border-radius:15px}nav button{background:transparent;white-space:nowrap;color:#515b6b}nav button.active{background:white;color:var(--blue);box-shadow:0 2px 8px #171b2410}.panel{display:none;background:white;border:1px solid #e8e9ed;border-radius:20px;padding:24px;margin-top:16px}.panel.active{display:block}.panel h2{margin:0 0 16px;font-size:25px}.grid2,.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:15px 0}label{display:grid;gap:7px;font-size:13px;font-weight:700}input,select{width:100%;padding:13px;border:1px solid #dce0e8;border-radius:11px;background:white;font:inherit;color:var(--ink)}.notice{margin:16px 0;padding:13px 15px;background:#fff7e5;border-left:4px solid var(--yellow);border-radius:9px;color:#594a24;font-size:13px;line-height:1.5}.cards article{background:#f6f8fc;padding:17px;border-radius:14px}.cards h3{margin-top:0}.cards p{font-size:14px}.cards small,.panel small{color:var(--muted)}.chat{min-height:115px;background:#f6f8fc;padding:14px;border-radius:14px;margin:15px 0}.bot{background:white;border-radius:12px;padding:12px;max-width:85%;font-size:14px}.composer{display:flex;gap:8px;margin-bottom:12px}.composer input{flex:1}footer{display:flex;justify-content:space-between;gap:15px;color:#788193;font-size:11px;padding:28px 0}footer span{letter-spacing:1px}@media(max-width:700px){.hero{grid-template-columns:1fr}.mapcard{height:200px}.grid2,.cards{grid-template-columns:1fr}footer{display:block}footer span{display:block;margin-top:7px}.tag{font-size:8px}}

.auth-switch{display:flex;flex-wrap:wrap;gap:8px;padding:7px;background:#eef1f7;border-radius:13px;margin:16px 0}
.auth-switch button{background:transparent;color:#515b6b;padding:10px 12px}
.auth-switch button.auth-switch-active{background:#fff;color:var(--blue);box-shadow:0 2px 8px #171b2410}
.auth-form{display:grid;gap:13px;max-width:520px;margin:16px 0}
.auth-form[hidden],#auth-session[hidden],#auth-forms[hidden],#auth-config-warning[hidden],#update-password-form[hidden]{display:none}
.auth-form .primary{justify-self:start}
.auth-consent{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px;font-weight:500}
.auth-consent input{width:auto}
.auth-message{max-width:720px;margin:12px 0;font-size:14px;line-height:1.5}
.auth-message.error{color:#b42318}
.auth-message.success{color:#067647}
.auth-session{background:#f6f8fc;border:1px solid #e3e8f2;border-radius:15px;padding:16px;margin:16px 0}
.session-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.session-head small{display:block;color:var(--muted);margin-top:5px}
.muted{color:var(--muted);font-size:13px}
