:root{
  --bg:#f4f1ec;
  --bg-soft:#ece7df;
  --surface:rgba(255,255,255,.9);
  --surface-strong:#fffdfa;
  --text:#22242d;
  --muted:#6e6d7d;
  --line:rgba(41,43,56,.09);
  --line-strong:rgba(41,43,56,.16);
  --blue:#5d74e7;
  --violet:#8d76ec;
  --magenta:#e9a5c7;
  --peach:#f2d6b6;
  --green:#27956c;
  --red:#d75e68;
  --amber:#c98c33;
  --radius-xl:32px;
  --radius-lg:24px;
  --radius-md:18px;
  --radius-sm:12px;
  --shadow-lg:0 28px 72px rgba(57,62,95,.11);
  --shadow-md:0 16px 38px rgba(57,62,95,.08);
  --shadow-sm:0 10px 22px rgba(57,62,95,.06);
  --gradient-brand:linear-gradient(135deg, #f4c9dc 0%, #f7d8e8 24%, #e4dbfb 62%, #d9e7ff 100%);
  --gradient-surface:linear-gradient(180deg, rgba(255,253,249,.98), rgba(248,244,238,.96));
  --font-display:"Unbounded","Manrope","Avenir Next","Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  color:var(--text);
  font-family:"Manrope","Avenir Next","Segoe UI",sans-serif;
  background:
    radial-gradient(1100px 460px at 12% -8%, rgba(242,184,211,.2), transparent 58%),
    radial-gradient(980px 460px at 92% 0%, rgba(183,198,255,.18), transparent 58%),
    linear-gradient(180deg, #faf7f1 0%, #f4f0e8 48%, #efebe3 100%);
}

body.theme-semanticpro-master{
  color:#edf0ff;
  background:
    radial-gradient(980px 420px at 12% -8%, rgba(255,106,42,.18), transparent 56%),
    radial-gradient(920px 420px at 92% 0%, rgba(122,102,255,.16), transparent 56%),
    linear-gradient(180deg, #090b14 0%, #0d1020 45%, #0a0c16 100%);
}

a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

.page-ambient{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(760px 320px at 12% 18%, rgba(236,161,196,.1), transparent 65%),
    radial-gradient(700px 300px at 88% 12%, rgba(129,159,237,.1), transparent 66%),
    radial-gradient(840px 340px at 50% 100%, rgba(220,196,161,.08), transparent 68%);
}

body.theme-semanticpro-master .page-ambient{
  background:
    radial-gradient(760px 320px at 14% 12%, rgba(255,106,42,.12), transparent 65%),
    radial-gradient(700px 320px at 86% 10%, rgba(110,95,255,.14), transparent 66%),
    radial-gradient(840px 340px at 50% 100%, rgba(255,255,255,.03), transparent 68%);
}

.site-header{
  position:sticky;
  top:10px;
  z-index:320;
  display:block;
  padding:14px 20px;
  margin:16px auto 0;
  width:min(1520px, calc(100% - 24px));
  border:1px solid rgba(255,255,255,.88);
  border-radius:30px;
  background:linear-gradient(135deg, rgba(255,252,248,.86), rgba(247,245,255,.82));
  backdrop-filter:blur(22px);
  box-shadow:0 22px 52px rgba(72,74,95,.1);
  overflow:visible;
}

.site-header.semanticpro-master-header{
  border-color:rgba(255,255,255,.08);
  background:rgba(13,16,28,.82);
  box-shadow:0 24px 56px rgba(3,5,14,.38);
}

.header-promo{
  display:none;
  margin-top:10px;
}

.header-promo.is-visible{
  display:grid;
  gap:8px;
}

.header-promo-track{
  position:relative;
  min-height:0;
  display:block;
  width:100%;
  perspective:1000px;
}

.header-promo-viewport{
  overflow:hidden;
}

.header-promo-page{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  width:100%;
  min-width:100%;
}

.header-promo-marquee{
  width:100%;
  overflow:hidden;
}

.header-promo-marquee-track{
  display:flex;
  align-items:stretch;
  gap:8px;
  width:max-content;
  animation:headerPromoMarquee var(--header-promo-marquee-duration, 36s) linear infinite;
  will-change:transform;
}

.header-promo:hover .header-promo-marquee-track,
.header-promo:focus-within .header-promo-marquee-track{
  animation-play-state:paused;
}

.header-promo-marquee-group{
  display:flex;
  align-items:stretch;
  gap:8px;
  flex:0 0 auto;
}

.header-promo-marquee-group .header-promo-card{
  flex:0 0 calc((min(1520px, calc(100vw - 48px)) - 8px) / 2);
  max-width:calc((min(1520px, calc(100vw - 48px)) - 8px) / 2);
}

.header-promo-track.is-single,
.header-promo-page.is-single{
  grid-template-columns:minmax(0, 1fr);
}

.header-promo-track.is-animating{
  display:flex;
  gap:0;
  width:200%;
  transition:transform 1.2s cubic-bezier(.22,.7,.18,1);
  will-change:transform;
}

.header-promo-track.is-anim-next{
  transform:translateX(0);
}

.header-promo-track.is-anim-next.is-animating{
  transform:translateX(-50%);
}

.header-promo-track.is-anim-prev{
  transform:translateX(-50%);
}

.header-promo-track.is-anim-prev.is-animating{
  transform:translateX(0);
}

.header-promo-card{
  display:block;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(87,105,179,.14);
  background:linear-gradient(135deg, rgba(243,233,243,.92), rgba(247,242,232,.92));
  position:relative;
  overflow:hidden;
  animation:headerPromoSlideIn .42s ease;
}

.header-promo-card.is-active{
  display:block;
}

.header-promo-card.attention{
  background:linear-gradient(135deg, rgba(255,236,243,.98), rgba(242,236,251,.96));
  border-color:rgba(187,68,122,.24);
}

.header-promo-card.critical{
  background:linear-gradient(135deg, rgba(255,239,224,.98), rgba(255,233,229,.96));
  border-color:rgba(205,100,64,.28);
}

.header-promo-card.autoaction{
  background:linear-gradient(135deg, rgba(240,232,255,.98), rgba(231,241,255,.96));
  border-color:rgba(119,94,211,.24);
}

.header-promo-card.storetask{
  background:linear-gradient(135deg, rgba(231,245,255,.98), rgba(234,249,245,.96));
  border-color:rgba(73,143,201,.25);
}

.header-promo-card.storetask-warn{
  background:linear-gradient(135deg, rgba(250,243,224,.98), rgba(244,245,231,.96));
  border-color:rgba(176,142,67,.26);
}

.header-promo-card.storetask-error{
  background:linear-gradient(135deg, rgba(255,234,234,.98), rgba(252,238,228,.96));
  border-color:rgba(201,93,93,.3);
}

.header-promo-card.automation-off{
  background:linear-gradient(135deg, rgba(238,241,248,.98), rgba(228,235,246,.96));
  border-color:rgba(103,124,171,.28);
}

.header-promo-icon{
  position:absolute;
  top:8px;
  right:10px;
  font-size:16px;
  opacity:.9;
}

.header-promo-kicker{
  font-size:10px;
  letter-spacing:.08em;
  font-weight:900;
  color:#9b2947;
}

.header-promo-title{
  margin:5px 0 3px;
  font-size:15px;
  line-height:1.2;
  letter-spacing:-.03em;
  color:#1f2332;
}

.header-promo-text{
  margin:0;
  font-size:12px;
  line-height:1.3;
  color:#55608a;
}

.header-promo-actions{
  margin-top:7px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.header-promo-actions .btn{
  min-height:28px;
  font-size:11px;
  padding:0 10px;
}

.header-promo-controls{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:max-content;
  margin:0 auto;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(87,105,179,.12);
}

.header-promo-arrow{
  width:30px;
  height:30px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.88);
  color:#3a4260;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}

.header-promo-dots{
  display:flex;
  align-items:center;
  gap:6px;
}

.header-promo-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:0;
  background:rgba(73,82,117,.2);
  cursor:pointer;
}

.header-promo-dot.is-active{
  background:#2f3242;
}

@keyframes headerPromoSlideIn{
  from{
    opacity:0;
    transform:translateY(6px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.header-promo-track.is-anim-next .header-promo-card{
  animation:headerPromoFlipNext .5s cubic-bezier(.22,.75,.2,1) both;
}

.header-promo-track.is-anim-prev .header-promo-card{
  animation:headerPromoFlipPrev .5s cubic-bezier(.22,.75,.2,1) both;
}

@keyframes headerPromoMarquee{
  from{ transform:translateX(0); }
  to{ transform:translateX(calc(-50% - 4px)); }
}

@keyframes headerPromoFlipNext{
  from{
    opacity:0;
    transform:translateX(14px) rotateY(-12deg) scale(.985);
  }
  to{
    opacity:1;
    transform:translateX(0) rotateY(0) scale(1);
  }
}

@keyframes headerPromoFlipPrev{
  from{
    opacity:0;
    transform:translateX(-14px) rotateY(12deg) scale(.985);
  }
  to{
    opacity:1;
    transform:translateX(0) rotateY(0) scale(1);
  }
}

@media (max-width: 980px){
  .header-promo-track,
  .header-promo-page{
    grid-template-columns:1fr;
  }
  .header-promo-track.is-animating{
    width:200%;
  }
  .header-promo-title{
    font-size:16px;
  }
  .header-promo-text{
    font-size:13px;
  }
  .header-promo-marquee-group .header-promo-card{
    flex-basis:min(88vw, 620px);
    max-width:min(88vw, 620px);
  }
}

@media (max-width: 640px){
  .header-promo-card{
    padding:12px;
    border-radius:16px;
  }
  .header-promo-title{
    font-size:15px;
  }
  .header-promo-text{
    font-size:12.5px;
    line-height:1.35;
  }
  .header-promo-actions .btn{
    min-height:30px;
    font-size:12px;
    padding:0 10px;
  }
}

.header-main{
  display:grid;
  grid-template-columns:minmax(140px, auto) minmax(0, 1fr) auto;
  grid-template-areas:"brand nav utility";
  align-items:center;
  justify-content:space-between;
  gap:10px 14px;
  min-width:0;
}

.brand-lockup{
  display:flex;
  align-items:center;
  grid-area:brand;
  flex:0 0 auto;
  min-width:0;
}

.brand-logo-full{
  width:166px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 14px 24px rgba(93,98,143,.1));
}

.semanticpro-master-header .brand-logo-full{
  filter:drop-shadow(0 16px 24px rgba(255,106,42,.1));
}

.site-nav{
  grid-area:nav;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
  flex:1 1 auto;
  flex-direction:row;
  flex-wrap:nowrap;
  width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  -ms-overflow-style:none;
}

.site-nav::-webkit-scrollbar{
  display:none;
}

.site-nav-btn{
  position:relative;
  flex:0 0 auto;
  min-height:38px;
  padding:0 14px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.92);
  color:#313448;
  cursor:pointer;
  font:inherit;
  font-size:11px;
  font-weight:800;
  letter-spacing:.01em;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

.site-nav-btn-with-badge{
  padding-right:30px;
}

.site-nav-badge{
  position:absolute;
  top:-8px;
  right:-8px;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
  color:#fff;
  background:#ff4d61;
  border:2px solid #fff;
  box-shadow:0 8px 14px rgba(255,77,97,.28);
  line-height:1;
}

.site-nav-btn:hover{
  transform:translateY(-1px);
}

.site-nav-btn.is-active{
  color:#fff;
  background:#2f3242;
  border-color:transparent;
  box-shadow:0 14px 26px rgba(47,50,66,.18);
}

.site-nav-group{
  position:relative;
  display:flex;
  align-items:center;
  flex:0 0 auto;
  min-width:0;
}

.site-nav-group-trigger{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.site-nav-group-trigger::after{
  content:"▾";
  font-size:10px;
  opacity:.72;
  transition:transform .18s ease;
}

.site-nav-group.is-open .site-nav-group-trigger::after{
  transform:rotate(180deg);
}

.site-nav-menu{
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  z-index:10050;
  display:none;
  gap:6px;
  margin-top:0;
  padding:8px;
  min-width:220px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-sm);
}

.site-nav-group:hover .site-nav-menu,
.site-nav-group:focus-within .site-nav-menu,
.site-nav-menu.is-open{
  display:grid;
}

.site-nav.nav-has-open-menu{
  overflow:visible !important;
}

.site-nav-subbtn{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:40px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid transparent;
  background:transparent;
  color:#35374a;
  cursor:pointer;
  font:inherit;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  transition:background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.site-nav-subbtn:hover{
  transform:translateY(-1px);
  background:rgba(47,50,66,.06);
}

.site-nav-subbtn.is-active{
  background:#2f3242;
  color:#fff;
  border-color:transparent;
}

.semanticpro-master-header .site-nav-btn{
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  color:rgba(231,236,255,.78);
  box-shadow:none;
}

.semanticpro-master-header .site-nav-btn.is-active{
  background:linear-gradient(135deg, #ff6a2a, #ff9358);
  color:#fff;
  box-shadow:0 18px 34px rgba(255,106,42,.24);
}

.semanticpro-master-header .site-nav-menu{
  border-color:rgba(255,255,255,.08);
  background:rgba(14,18,31,.94);
  box-shadow:none;
}

.semanticpro-master-header .site-nav-subbtn{
  color:rgba(231,236,255,.78);
}

.semanticpro-master-header .site-nav-subbtn:hover{
  background:rgba(255,255,255,.06);
}

.semanticpro-master-header .site-nav-subbtn.is-active{
  background:linear-gradient(135deg, #ff6a2a, #ff9358);
  color:#fff;
}

.field-help{
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.statusline{
  display:flex;
  gap:6px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  width:100%;
  max-width:100%;
}

.statusline::-webkit-scrollbar{
  display:none;
}

.header-utility{
  grid-area:utility;
  display:grid;
  justify-items:end;
  align-content:end;
  gap:6px;
  flex:0 1 560px;
  min-width:0;
  margin-left:auto;
}

.header-account{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:100%;
  flex:0 0 auto;
  min-width:0;
}

.header-account-shell{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  width:100%;
  min-width:0;
  flex-wrap:wrap;
}

.header-support-btn{
  min-height:34px;
  min-width:40px;
  padding:0 10px;
  font-size:0;
  line-height:1;
  position:relative;
  background:linear-gradient(135deg, #e8f3ff, #d9e8ff);
  border-color:rgba(83,136,220,.34);
  box-shadow:0 10px 20px rgba(83,136,220,.18);
  z-index:340;
}

.header-support-btn:hover{
  background:linear-gradient(135deg, #d9ebff, #cfe2ff);
  border-color:rgba(60,119,212,.44);
}

.header-support-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  font-size:16px;
  filter:saturate(1.2);
}

.header-support-btn::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:-34px;
  transform:translateX(-50%);
  background:#2f3242;
  color:#fff;
  font-size:11px;
  line-height:1;
  padding:7px 9px;
  border-radius:10px;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease;
  z-index:10000;
}

.header-support-btn:hover::after{
  opacity:1;
  transform:translateX(-50%) translateY(2px);
}

.fast-tooltip{
  position:relative;
}

.fast-tooltip::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  top:calc(100% + 8px);
  transform:translateX(-50%) translateY(-2px);
  max-width:min(340px, 82vw);
  padding:8px 10px;
  border-radius:10px;
  background:#2f3242;
  color:#fff;
  font-size:12px;
  line-height:1.25;
  font-weight:800;
  text-align:left;
  white-space:normal;
  box-shadow:0 14px 28px rgba(31,34,49,.2);
  opacity:0;
  pointer-events:none;
  transition:opacity .12s ease, transform .12s ease;
  z-index:10000;
}

.fast-tooltip:hover::after,
.fast-tooltip:focus-visible::after{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

.fast-tooltip[data-tooltip=""]::after{
  display:none;
}

.header-statusline{
  justify-content:flex-end;
  flex-wrap:nowrap;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  gap:4px;
}

.header-statusline .pill{
  flex:0 0 auto;
  min-height:24px;
  padding:3px 8px;
  font-size:9.5px;
  letter-spacing:0;
}

.header-account-name{
  max-width:190px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:11px;
  font-weight:900;
  color:#55607f;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.header-start-btn{
  min-height:38px;
  padding:0 16px;
  font-size:11px;
  box-shadow:0 12px 24px rgba(47,50,66,.18);
}

.semanticpro-master-header .header-account-name{
  color:#fff;
}

.header-role-switch{
  display:flex;
  align-items:center;
}

.header-role-select{
  min-height:34px;
  padding:0 10px;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.92);
  color:#2f3448;
  font:inherit;
  font-size:11px;
  font-weight:800;
  box-shadow:var(--shadow-sm);
  flex:0 0 auto;
}

.semanticpro-master-header .header-role-select{
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.05);
  color:#edf0ff;
  box-shadow:none;
}

.header-role-select:focus{
  outline:none;
  border-color:rgba(94,91,194,.42);
  box-shadow:0 0 0 4px rgba(94,91,194,.1);
}

.header-logout-btn{
  min-height:34px;
  padding:0 10px;
  font-size:11px;
  flex:0 0 auto;
}

.header-pro-btn{
  min-height:34px;
  padding:0 14px;
  font-size:11px;
  flex:0 0 auto;
  color:#fff;
  background:#111;
  border-color:#111;
  box-shadow:0 14px 26px rgba(17,17,17,.22);
}

.header-pro-btn:hover{
  background:#000;
  border-color:#000;
}

.header-pro-btn.is-active{
  background:#000;
  border-color:#000;
  box-shadow:0 18px 30px rgba(17,17,17,.28), inset 0 0 0 1px rgba(255,255,255,.08);
}

.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.8);
  border:1px solid var(--line);
  color:var(--muted);
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:0 8px 18px rgba(72,74,95,.06);
  white-space:nowrap;
}

.pill.ok{color:#116841;background:rgba(34,181,115,.12);border-color:rgba(34,181,115,.24)}
.pill.bad{color:#ac2646;background:rgba(224,90,114,.12);border-color:rgba(224,90,114,.24)}
.pill.warn{color:#8f5e00;background:rgba(216,155,45,.14);border-color:rgba(216,155,45,.24)}
.pill.muted{color:var(--muted)}

.semanticpro-master-header .pill{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.08);
  color:rgba(221,226,251,.72);
  box-shadow:none;
}

.page{
  width:min(1520px, calc(100% - 24px));
  margin:24px auto 52px;
}

body.theme-semanticpro-master .page{
  width:min(1560px, calc(100% - 24px));
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid transparent;
  cursor:pointer;
  font-weight:800;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.btn:hover{
  transform:translateY(-1px);
}

.btn-primary{
  color:#fff;
  background:#2f3242;
  box-shadow:0 14px 28px rgba(47,50,66,.18);
}

.btn-secondary{
  color:#2c3040;
  background:rgba(255,255,255,.9);
  border-color:var(--line);
  box-shadow:var(--shadow-sm);
}

.account-shell{
  margin-bottom:22px;
  padding:32px 34px 38px;
  border-radius:38px;
  background:
    radial-gradient(520px 240px at 0% 0%, rgba(242,184,211,.14), transparent 62%),
    radial-gradient(560px 260px at 100% 0%, rgba(171,191,247,.12), transparent 58%),
    var(--gradient-surface);
  box-shadow:0 32px 80px rgba(57,62,95,.12);
  border:1px solid rgba(255,255,255,.92);
}

.account-shell.semanticpro-master-shell{
  padding:22px 24px 26px;
  background:
    radial-gradient(circle at top right, rgba(255,106,42,.12), transparent 26%),
    radial-gradient(circle at left center, rgba(116,95,255,.12), transparent 22%),
    linear-gradient(180deg, rgba(9,11,20,.94), rgba(8,10,18,.96));
  border-color:rgba(255,255,255,.08);
  box-shadow:0 28px 72px rgba(4,6,14,.36);
}

.account-head{
  margin-bottom:18px;
}

.account-head.is-hidden{
  display:none;
}

.account-shell.is-authenticated{
  padding-top:22px;
}

.account-shell.semanticpro-master-shell.is-authenticated{
  padding-top:18px;
}

.account-title-group{
  max-width:860px;
}

.account-title-group h1{
  margin:18px 0 12px;
  font-family:var(--font-display);
  font-size:clamp(30px, 3.4vw, 50px);
  line-height:1.03;
  letter-spacing:-.05em;
}

.account-lead{
  margin:0;
  color:var(--muted);
  font-size:18px;
  line-height:1.72;
}

.account-panel{
  min-height:120px;
}

.account-panel.semanticpro-master-panel{
  min-height:420px;
}

.auth-shell,
.profile-card{
  padding:22px;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:var(--shadow-md);
}

.public-auth-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.18fr) minmax(360px, .82fr);
  gap:26px;
  align-items:start;
}

.public-landing{
  display:grid;
  gap:22px;
}

.public-hero,
.public-card{
  padding:28px;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.84);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:var(--shadow-md);
}

.public-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(560px 260px at 0% 0%, rgba(241,190,217,.22), transparent 72%),
    radial-gradient(520px 240px at 100% 100%, rgba(184,199,247,.18), transparent 66%),
    linear-gradient(135deg, rgba(255,244,249,.98), rgba(247,242,255,.96) 58%, rgba(239,246,255,.97));
}

.public-hero-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(280px, .82fr);
  gap:24px;
  align-items:stretch;
}

.public-hero-copy{
  min-width:0;
}

.public-hero-panel{
  display:grid;
  gap:12px;
}

.public-proof-strip{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.public-stat-card{
  padding:18px;
  border-radius:20px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.78);
  box-shadow:var(--shadow-sm);
}

.public-stat-label{
  color:#686977;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.public-stat-value{
  margin-top:8px;
  font-size:28px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
}

.public-stat-note{
  margin-top:8px;
  color:var(--muted);
  line-height:1.55;
}

.public-hero-title{
  margin:18px 0 12px;
  font-family:var(--font-display);
  font-size:clamp(34px, 4vw, 54px);
  line-height:1.02;
  letter-spacing:-.055em;
}

.public-hero-text{
  margin:0;
  max-width:720px;
  color:var(--muted);
  font-size:18px;
  line-height:1.78;
}

.public-hero-quote{
  display:grid;
  gap:8px;
  margin-top:20px;
  padding:18px 20px;
  border-radius:22px;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(87,105,179,.12);
  box-shadow:var(--shadow-sm);
}

.public-hero-quote strong{
  font-size:22px;
  line-height:1.18;
  letter-spacing:-.03em;
}

.public-hero-quote span{
  color:#4f587a;
  line-height:1.6;
}

.public-hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:22px;
}

.public-hero-trust{
  margin-top:14px;
  color:#596482;
  font-size:14px;
  line-height:1.55;
}

.public-hero-mockup{
  position:relative;
  overflow:hidden;
  padding:16px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.86);
  background:
    radial-gradient(360px 180px at 0% 0%, rgba(244,187,209,.2), transparent 72%),
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(244,247,255,.92));
  box-shadow:0 22px 48px rgba(68,76,115,.14);
}

.public-hero-mockup-top{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:14px;
}

.public-hero-mockup-pill{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(87,105,179,.12);
  color:#34416f;
  font-size:11px;
  font-weight:800;
}

.public-hero-mockup-image{
  width:100%;
  border-radius:18px;
  border:1px solid rgba(87,105,179,.1);
  box-shadow:0 18px 30px rgba(58,71,136,.14);
}

.public-hero-mockup-overlay{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:14px;
}

.public-hero-mockup-summary{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(87,105,179,.12);
}

.public-hero-mockup-summary span{
  display:block;
  color:#66718f;
  font-size:12px;
  line-height:1.35;
}

.public-hero-mockup-summary strong{
  display:block;
  margin-top:4px;
  color:#263154;
  font-size:16px;
  line-height:1.15;
  letter-spacing:-.02em;
}

.public-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.public-grid-triple{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.public-insight-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.public-section{
  display:grid;
  gap:20px;
}

.public-section-head{
  max-width:820px;
}

.public-card h3{
  margin:0 0 14px;
  font-size:24px;
  line-height:1.08;
  letter-spacing:-.04em;
}

.public-card-kicker{
  color:#6a6e87;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.public-card-text{
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.7;
}

.public-feature-card{
  overflow:hidden;
}

.public-feature-impact{
  background:
    radial-gradient(420px 220px at 0% 0%, rgba(244,187,209,.18), transparent 72%),
    linear-gradient(180deg, rgba(255,252,250,.98), rgba(247,245,255,.94));
}

.public-time-card{
  background:
    radial-gradient(420px 220px at 100% 0%, rgba(182,200,248,.18), transparent 72%),
    linear-gradient(180deg, rgba(249,252,255,.98), rgba(244,248,255,.95));
}

.public-impact-list{
  display:grid;
  gap:12px;
}

.public-impact-item{
  display:grid;
  gap:4px;
  padding:16px 18px;
  border-radius:20px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(87,105,179,.12);
  box-shadow:var(--shadow-sm);
}

.public-impact-value{
  font-size:28px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
  color:#273156;
}

.public-impact-label{
  color:#5a6386;
  line-height:1.55;
}

.public-time-columns{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.public-time-column{
  display:grid;
  gap:12px;
  padding:18px;
  border-radius:22px;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(87,105,179,.12);
  box-shadow:var(--shadow-sm);
}

.public-time-column-accent{
  background:linear-gradient(180deg, rgba(238,245,255,.92), rgba(245,240,255,.92));
}

.public-time-title{
  font-size:16px;
  font-weight:900;
  letter-spacing:-.02em;
  color:#253055;
}

.public-time-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(110px, 1.1fr) auto;
  gap:10px;
  align-items:center;
}

.public-time-label{
  color:#4f587a;
  font-size:13px;
  line-height:1.45;
}

.public-time-row strong{
  font-size:14px;
  color:#253055;
}

.public-time-summary{
  margin:16px 0 0;
  color:#52607f;
  line-height:1.65;
}

.public-time-bar{
  height:10px;
  border-radius:999px;
  background:rgba(91,108,176,.12);
  overflow:hidden;
}

.public-time-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, #3d4eb0, #8f76ec);
}

.public-list,
.public-steps-list{
  margin:0;
  padding-left:20px;
  color:#364373;
  line-height:1.7;
}

.public-list li + li,
.public-steps-list li + li{
  margin-top:8px;
}

.public-list-plain{
  padding-left:18px;
}

.public-scenario-card,
.public-step-card,
.public-routine-card{
  background:rgba(255,255,255,.88);
}

.public-routine-card-accent{
  background:linear-gradient(180deg, rgba(239,245,255,.96), rgba(247,243,255,.96));
}

.public-scenario-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  margin-bottom:14px;
  border-radius:14px;
  background:linear-gradient(135deg, #2f3242, #5861b8);
  color:#fff;
  font-size:14px;
  font-weight:900;
  letter-spacing:.04em;
  box-shadow:0 12px 22px rgba(58,71,136,.18);
}

.public-steps-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.public-final-cta{
  display:grid;
  grid-template-columns:minmax(0, 1.4fr) auto;
  gap:22px;
  align-items:center;
  padding:28px;
  border-radius:28px;
  background:
    radial-gradient(420px 180px at 0% 0%, rgba(244,187,209,.22), transparent 74%),
    radial-gradient(360px 180px at 100% 100%, rgba(185,202,249,.2), transparent 72%),
    linear-gradient(135deg, rgba(255,248,250,.98), rgba(245,247,255,.98));
  border:1px solid rgba(255,255,255,.92);
  box-shadow:var(--shadow-md);
}

.public-final-cta h3{
  margin:10px 0 12px;
  font-family:var(--font-display);
  font-size:32px;
  line-height:1.06;
  letter-spacing:-.04em;
}

[data-reveal]{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .6s ease, transform .6s cubic-bezier(.22,.7,.18,1);
}

[data-reveal].is-visible{
  opacity:1;
  transform:translateY(0);
}

.public-final-cta-actions{
  display:grid;
  gap:10px;
  justify-items:start;
}

.header-login-btn{
  min-height:38px;
  padding:0 22px;
  border-color:rgba(98,76,224,.32);
  color:#5b3fe0;
}

.public-auth-layout{
  grid-template-columns:1fr;
}

.public-hero{
  padding:34px;
}

.public-hero-title span{
  color:#5c3de2;
}

.public-hero-trust-row{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:28px;
}

.public-trust-badge{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:10px 12px;
  align-items:start;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(96,81,212,.12);
}

.public-trust-badge span{
  grid-row:span 2;
  font-size:18px;
}

.public-trust-badge strong{
  font-size:14px;
  line-height:1.25;
  color:#232946;
}

.public-trust-badge em{
  font-style:normal;
  font-size:12px;
  line-height:1.45;
  color:#6d738c;
}

.public-dashboard{
  display:grid;
  gap:14px;
  padding:18px;
  border-radius:30px;
  border:1px solid rgba(91,74,225,.08);
  background:rgba(255,255,255,.88);
  box-shadow:0 24px 56px rgba(89,93,143,.1);
}

.public-dashboard-main{
  display:grid;
  grid-template-columns:minmax(0, 1.12fr) minmax(360px, .88fr);
  gap:14px;
}

.public-dashboard-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.public-dashboard-card{
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(39,44,79,.08);
  background:#fff;
}

.public-dashboard-feed{
  display:grid;
  gap:14px;
}

.public-dashboard-title,
.public-dashboard-metric-label{
  font-size:14px;
  font-weight:800;
  color:#232946;
}

.public-dashboard-table{
  display:grid;
  gap:10px;
}

.public-dashboard-row{
  display:grid;
  grid-template-columns:52px minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
  padding-top:10px;
  border-top:1px solid rgba(39,44,79,.08);
  font-size:13px;
  color:#505977;
}

.public-dashboard-row strong{
  color:#232946;
}

.public-dashboard-row strong.is-negative{
  color:#f05c54;
}

.public-dashboard-row strong.is-positive,
.public-dashboard-metric-delta.is-positive{
  color:#1f9b5b;
}

.public-dashboard-link{
  justify-self:start;
  min-height:38px;
  padding:0 16px;
  border-radius:14px;
  border:1px solid rgba(39,44,79,.12);
  background:#fff;
  color:#30375c;
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}

.public-dashboard-metric-value{
  margin-top:10px;
  font-size:22px;
  line-height:1.05;
  font-weight:900;
  color:#1e2442;
}

.public-dashboard-metric-value small{
  font-size:13px;
  color:#5f6786;
}

.public-dashboard-metric-delta{
  margin-top:8px;
  font-size:12px;
  font-weight:700;
}

.public-dashboard-chart{
  grid-column:span 2;
}

.public-dashboard-stock{
  grid-column:span 1;
  grid-row:span 2;
}

.public-mini-chart{
  margin-top:12px;
  height:74px;
  border-radius:14px;
  background:
    linear-gradient(180deg, rgba(92,61,226,.08), rgba(92,61,226,0) 70%),
    linear-gradient(135deg, transparent 12%, #6f51ff 12% 14%, transparent 14% 18%, #6f51ff 18% 20%, transparent 20% 28%, #6f51ff 28% 30%, transparent 30% 37%, #6f51ff 37% 39%, transparent 39% 45%, #6f51ff 45% 47%, transparent 47% 54%, #6f51ff 54% 56%, transparent 56% 62%, #6f51ff 62% 64%, transparent 64% 70%, #6f51ff 70% 72%, transparent 72%);
}

.public-stock-donut{
  width:96px;
  height:96px;
  margin:14px 0;
  border-radius:999px;
  background:conic-gradient(#6b4df8 0 38%, #9d82ff 38% 60%, #c2adff 60% 78%, #e2d9ff 78% 100%);
  position:relative;
}

.public-stock-donut::after{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:999px;
  background:#fff;
}

.public-stock-list{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
  font-size:12px;
  color:#5c6484;
}

.public-stock-list li{
  display:flex;
  justify-content:space-between;
  gap:10px;
}

.public-dashboard-signals{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.public-signal-card{
  display:grid;
  gap:6px;
  padding:14px 16px;
  border-radius:18px;
  font-size:12px;
  line-height:1.5;
  border:1px solid rgba(39,44,79,.08);
}

.public-signal-card strong{
  font-size:13px;
  color:#232946;
}

.public-signal-card.is-warn{ background:rgba(255,242,236,.9); }
.public-signal-card.is-note{ background:rgba(255,249,236,.95); }
.public-signal-card.is-good{ background:rgba(237,252,241,.95); }

.public-stats-strip{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  padding:18px 22px;
  border-radius:24px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.92);
  box-shadow:var(--shadow-sm);
}

.public-stats-item{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:6px 12px;
  align-items:center;
}

.public-stats-item span{
  grid-row:span 2;
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:rgba(108,79,241,.1);
  font-size:18px;
}

.public-stats-item strong{
  font-size:20px;
  color:#202540;
}

.public-stats-item em{
  font-style:normal;
  font-size:13px;
  color:#69718e;
}

.public-grid-six{
  grid-template-columns:repeat(6, minmax(0, 1fr));
}

.public-grid-six .public-card{
  min-height:220px;
}

.public-grid-double{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.public-onboarding-shell{
  display:grid;
  gap:18px;
}

.public-plan-card{
  display:grid;
  gap:12px;
}

.public-plan-price{
  font-size:28px;
  font-weight:800;
  color:#202540;
}

.public-plan-price span{
  font-size:14px;
  font-weight:600;
  color:#69718e;
}

.public-auth-shell{
  padding:28px;
  scroll-margin-top:120px;
}

.public-auth-head{
  margin-bottom:16px;
}

.public-blog-api .public-card,
.public-auth-spotlight,
.public-auth-shell{
  background:rgba(255,255,255,.88);
}

.public-trust-section{
  margin-top:4px;
}

.public-trust-card{
  background:
    radial-gradient(220px 120px at 100% 0%, rgba(188,203,250,.16), transparent 74%),
    rgba(255,255,255,.88);
}

.public-steps{
  background:linear-gradient(180deg, rgba(244,247,255,.95), rgba(255,255,255,.98));
}

.public-steps-list a,
.field-help a{
  color:var(--blue);
  font-weight:800;
}

.public-legal-card{
  margin-top:18px;
  padding:18px;
  border-radius:20px;
  background:rgba(244,248,255,.92);
  border:1px solid rgba(87,105,179,.14);
}

.public-legal-card h3{
  margin:0 0 10px;
  font-size:20px;
  line-height:1.1;
  letter-spacing:-.03em;
}

.public-legal-text{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}

.public-legal-links{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:16px;
}

.public-legal-link{
  display:flex;
  align-items:center;
  min-height:46px;
  padding:0 14px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(87,105,179,.14);
  color:#31406d;
  font-weight:800;
  box-shadow:var(--shadow-sm);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.public-legal-link:hover{
  transform:translateY(-1px);
  border-color:rgba(94,91,194,.28);
  box-shadow:0 14px 28px rgba(71,95,177,.12);
}

@media (prefers-reduced-motion: reduce){
  [data-reveal]{
    opacity:1;
    transform:none;
    transition:none;
  }

  .btn,
  .site-nav-btn,
  .public-legal-link{
    transition:none;
  }
}

.legal-page{
  padding:26px 14px 48px;
}

.legal-shell{
  width:min(980px, 100%);
  margin:0 auto;
}

.legal-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.legal-back{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 16px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(87,105,179,.14);
  font-weight:800;
  color:#31406d;
  box-shadow:var(--shadow-sm);
}

.legal-doc{
  padding:28px 32px;
  border-radius:var(--radius-xl);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,255,.96));
  border:1px solid rgba(255,255,255,.94);
  box-shadow:var(--shadow-lg);
}

.legal-kicker{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  color:#fff;
  background:var(--gradient-brand);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.legal-doc h1{
  margin:16px 0 12px;
  font-size:clamp(30px, 4vw, 44px);
  line-height:1;
  letter-spacing:-.045em;
}

.legal-doc h2{
  margin:28px 0 12px;
  font-size:24px;
  line-height:1.15;
  letter-spacing:-.03em;
}

.legal-doc p,
.legal-doc li{
  color:#33416f;
  line-height:1.7;
}

.legal-doc ul,
.legal-doc ol{
  margin:12px 0 0;
  padding-left:22px;
}

.legal-doc li + li{
  margin-top:8px;
}

.legal-meta,
.legal-note{
  margin-top:16px;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(47,107,223,.08);
  border:1px solid rgba(47,107,223,.14);
  color:#375083;
}

.legal-nav{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:22px;
}

.legal-nav a{
  display:flex;
  align-items:center;
  min-height:46px;
  padding:0 14px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(87,105,179,.14);
  font-weight:800;
  color:#31406d;
}

.auth-tabs{
  display:flex;
  gap:10px;
  margin-bottom:18px;
}

.auth-tab{
  min-height:40px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(87,105,179,.16);
  background:rgba(245,248,255,.9);
  color:#34416f;
  cursor:pointer;
  font-weight:800;
}

.auth-tab.is-active{
  color:#fff;
  background:var(--gradient-brand);
  border-color:transparent;
  box-shadow:0 12px 22px rgba(85,83,186,.18);
}

.auth-shell .auth-tabs{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.auth-shell .auth-tab{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  text-align:center;
  line-height:1.2;
}

.auth-form{
  display:block;
}

.auth-body{
  display:grid;
  gap:14px;
}

.consent-list{
  display:grid;
  gap:10px;
  margin-top:16px;
}

.consent-row{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(245,248,255,.92);
  border:1px solid rgba(87,105,179,.14);
  color:#33436f;
  line-height:1.55;
}

.consent-row input{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin-top:2px;
}

.consent-row a{
  color:#4a59d7;
  font-weight:700;
  text-decoration:none;
}

.consent-row a:hover{
  text-decoration:underline;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}

.auth-shell .form-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.auth-shell .form-grid.form-grid-single{
  grid-template-columns:1fr;
}

.field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.field-grow{
  flex:1 1 320px;
}

.field-compact{
  flex:0 0 240px;
}

.field-label{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.field input,
.field select,
.field textarea{
  width:100%;
  min-height:48px;
  padding:0 16px;
  border-radius:16px;
  border:1px solid rgba(87,105,179,.16);
  background:#fff;
  color:#24305e;
  font:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:none;
  border-color:rgba(94,91,194,.42);
  box-shadow:0 0 0 4px rgba(94,91,194,.1);
}

.auth-note,
.auth-message{
  margin-top:14px;
  padding:14px 16px;
  border-radius:16px;
  line-height:1.55;
  font-size:14px;
}

.auth-note{
  background:rgba(47,107,223,.08);
  border:1px solid rgba(47,107,223,.14);
  color:#375083;
}

.auth-note.is-dismissible{
  position:relative;
  padding-right:44px;
}

.auth-note-dismiss-btn{
  position:absolute;
  top:8px;
  right:8px;
  width:24px;
  height:24px;
  border:1px solid rgba(55,80,131,.28);
  border-radius:999px;
  background:rgba(255,255,255,.85);
  color:#375083;
  font-size:17px;
  line-height:1;
  cursor:pointer;
}

.auth-note-dismiss-btn:hover{
  background:#fff;
  border-color:rgba(55,80,131,.42);
}

.auth-message.ok{
  background:rgba(34,181,115,.1);
  border:1px solid rgba(34,181,115,.2);
  color:#116841;
}

.auth-message.bad{
  background:rgba(224,90,114,.1);
  border:1px solid rgba(224,90,114,.2);
  color:#a12c48;
}

.auth-message.warn{
  background:rgba(245,175,64,.12);
  border:1px solid rgba(245,175,64,.24);
  color:#8a5600;
}

.account-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

@media (max-width: 1180px){
  .public-auth-layout,
  .public-hero-grid,
  .public-proof-strip,
  .public-insight-grid,
  .public-grid,
  .public-time-columns,
  .public-grid-triple,
  .public-grid-six,
  .public-steps-grid,
  .public-final-cta,
  .public-dashboard-main,
  .public-dashboard-signals,
  .public-stats-strip,
  .public-hero-trust-row{
    grid-template-columns:1fr;
  }

  .public-dashboard-stats{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .public-dashboard-chart,
  .public-dashboard-stock{
    grid-column:auto;
    grid-row:auto;
  }
}

@media (max-width: 720px){
  .site-header,
  .page{
    width:min(100%, calc(100% - 16px));
  }

  .account-shell{
    padding:22px 18px 24px;
    border-radius:26px;
  }

  .public-hero,
  .public-card,
  .auth-shell{
    padding:20px;
  }

  .public-hero-title{
    font-size:clamp(28px, 8vw, 40px);
  }

  .public-hero-text,
  .account-lead{
    font-size:15px;
    line-height:1.6;
  }

  .account-title-group h1{
    font-size:clamp(28px, 8vw, 42px);
  }

  .public-final-cta{
    padding:22px 20px;
    border-radius:24px;
  }

  .public-dashboard,
  .public-auth-shell{
    padding:18px;
  }

  .public-dashboard-stats{
    grid-template-columns:1fr;
  }

  .public-hero-trust-row{
    gap:10px;
  }

  .public-stats-strip{
    padding:16px;
  }

  .public-final-cta h3{
    font-size:26px;
  }

  .public-hero-quote strong{
    font-size:18px;
  }

  .public-hero-mockup{
    padding:14px;
    border-radius:24px;
  }

  .public-hero-mockup-overlay{
    grid-template-columns:1fr;
  }

  .public-time-row{
    grid-template-columns:1fr;
    gap:8px;
  }

  .auth-shell .auth-tabs,
  .auth-shell .form-grid,
  .form-grid{
    grid-template-columns:1fr;
  }
}
