:root{
  --blue:#0f8fe8;
  --blue-mid:#1497df;
  --blue-light:#71c8ea;
  --blue-dark:#0869c7;
  --brand-gradient-base:linear-gradient(135deg,#1f9bd8 0%,#34a9dc 54%,#72c2df 100%);
  --brand-gradient-frame:
    radial-gradient(circle at 82% 16%, rgba(255,255,255,.18), transparent 20rem),
    radial-gradient(circle at 18% 86%, rgba(255,255,255,.11), transparent 18rem),
    linear-gradient(135deg,#1f9bd8 0%,#34a9dc 54%,#72c2df 100%);
  --brand-gradient-frame-soft:
    radial-gradient(circle at 84% 18%, rgba(255,255,255,.18), transparent 15rem),
    radial-gradient(circle at 16% 84%, rgba(255,255,255,.10), transparent 12rem),
    linear-gradient(135deg,#1f9bd8 0%,#34a9dc 54%,#72c2df 100%);
  --ink:#102840;
  --text:#5f7487;
  --muted:#8ca0b3;
  --bg:#f6fbff;
  --soft:#edf8ff;
  --white:#fff;
  --line:#d8ecfb;
  --green:#13a66b;
  --green-soft:#ecfbf5;
  --red:#b42318;
  --shadow:0 18px 44px rgba(7,95,174,.10);
  --shadow-big:0 34px 90px rgba(7,95,174,.18);
  --radius:28px;
  --container:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  position:relative;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:linear-gradient(180deg,#f7fcff 0%,#f1faff 42%,#ffffff 100%);
  line-height:1.6;
  overflow-x:hidden;
}
.site-bg-pattern{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.38;
  background:
    radial-gradient(circle at 14% 16%, rgba(27,184,255,.055), transparent 24rem),
    radial-gradient(circle at 84% 20%, rgba(15,143,232,.048), transparent 22rem),
    radial-gradient(circle at 18% 76%, rgba(15,143,232,.035), transparent 24rem),
    radial-gradient(circle at 84% 82%, rgba(27,184,255,.035), transparent 24rem),
    url("data:image/svg+xml,%3Csvg width='144' height='144' viewBox='0 0 144 144' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%230f8fe8' fill-opacity='.14'%3E%3Cpath d='M18 20l2.8 4.8h-5.6z'/%3E%3Cpath d='M98 26l2.6 4.4h-5.2z'/%3E%3Cpath d='M48 98l2.8 4.8h-5.6z'/%3E%3Cpath d='M118 116l2.4 4.2h-4.8z'/%3E%3C/g%3E%3Cg fill='%230f8fe8' fill-opacity='.12'%3E%3Cellipse cx='68' cy='36' rx='1.55' ry='3.3' transform='rotate(28 68 36)'/%3E%3Cellipse cx='24' cy='74' rx='1.5' ry='3.1' transform='rotate(-20 24 74)'/%3E%3Cellipse cx='102' cy='76' rx='1.55' ry='3.25' transform='rotate(19 102 76)'/%3E%3Cellipse cx='74' cy='118' rx='1.45' ry='3.0' transform='rotate(-24 74 118)'/%3E%3Cellipse cx='128' cy='54' rx='1.4' ry='2.9' transform='rotate(16 128 54)'/%3E%3C/g%3E%3C/svg%3E");
  background-size:auto,auto,auto,auto,138px 138px;
  background-position:0 0,0 0,0 0,0 0,center top;
}

main{
  position:relative;
  z-index:1;
}
main > *{
  position:relative;
  z-index:1;
}
.site-header{
  position:relative;
  z-index:2;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(var(--container),calc(100% - 32px));margin-inline:auto}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(246,251,255,.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(216,236,251,.85);
}
.nav{min-height:76px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(7,95,174,.15))}
.brand strong{display:block;font-size:1.08rem;line-height:1;letter-spacing:-.035em}
.brand small{display:block;color:var(--text);font-size:.78rem;font-weight:850;margin-top:2px}
.nav-links{display:flex;align-items:center;gap:24px;margin-left:auto;color:#50687c;font-size:.92rem;font-weight:900}
.nav-links a:hover{color:var(--blue-dark)}
.nav-actions{display:flex;align-items:center;gap:12px;margin-left:14px}

.btn{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:999px;
  padding:0 20px;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{color:#fff;background:var(--brand-gradient-base);box-shadow:0 14px 28px rgba(7,95,174,.22)}
.btn-ghost{color:var(--blue-dark);background:rgba(255,255,255,.82);border-color:var(--line);box-shadow:0 10px 24px rgba(7,95,174,.07)}
.btn-white{color:var(--blue-dark);background:#fff;border-color:rgba(255,255,255,.50);box-shadow:0 10px 24px rgba(7,95,174,.07)}
.btn-large{min-height:54px;padding-inline:25px}
.btn span{margin-left:10px;font-size:1.3em;line-height:0}
.full{width:100%}
.hero-polished{padding:82px 0 74px}
.hero-polished-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:64px;align-items:center}
.hero-brandline{display:flex;align-items:center;gap:16px;margin-bottom:32px}
.hero-brandline img{width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 14px 20px rgba(7,95,174,.16))}
.hero-brandline strong{display:block;font-size:2rem;line-height:1;letter-spacing:-.055em}
.hero-brandline span{display:block;margin-top:5px;color:#425b73;font-size:1.05rem}
.exclusive-line{
  margin-bottom:10px;
  color:var(--blue-dark);
  font-size:.82rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.085em;
}
.hero-polished h1{
  max-width:700px;
  font-size:clamp(3.25rem,6.6vw,5.75rem);
  line-height:.93;
  letter-spacing:-.09em;
}
.hero-sub{max-width:620px;margin-top:22px;color:#425b73;font-size:1.17rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:34px}
.service-preview-card{
  width:min(100%,440px);
  margin-inline:auto;
  padding:34px;
  border-radius:36px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(216,236,251,.95);
  box-shadow:var(--shadow-big);
}
.preview-logo{
  width:min(72%,250px);
  margin:0 auto 28px;
  filter:drop-shadow(0 22px 34px rgba(7,95,174,.18));
}
.preview-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.preview-title-row h2{font-size:1.35rem;letter-spacing:-.04em}
.preview-title-row span{
  padding:8px 14px;
  border-radius:999px;
  background:var(--green-soft);
  color:var(--green);
  font-weight:950;
}
.plan-row{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:10px;
  padding:0 18px;
  border-radius:18px;
  background:linear-gradient(180deg,#eef9ff,#e5f4ff);
  border:1px solid var(--line);
}
.plan-row strong{font-size:1.08rem}
.plan-row b{font-size:1.55rem;color:var(--blue-dark)}
.plan-row.premium{
  color:#fff;
  background:var(--brand-gradient-frame-soft);
  border-color:transparent;
  box-shadow:0 16px 28px rgba(7,95,174,.18);
}
.plan-row.premium b{color:#fff}
.service-preview-card p{margin-top:18px;color:#405970;font-size:1.05rem;font-weight:750}

section{padding:78px 0}
.section-head{max-width:720px;margin-bottom:32px}
.clean-center{text-align:center;margin-inline:auto}
.eyebrow{
  display:block;
  margin-bottom:10px;
  color:var(--blue-dark);
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.085em;
  text-transform:uppercase;
}
.section-head h2,.founder-clean-card h2,.final-clean-box h2,.auth-card h1,.dash-top h1{
  font-size:clamp(2rem,4.6vw,3.3rem);
  line-height:1.02;
  letter-spacing:-.068em;
}
.section-head p,.founder-clean-card p,.final-clean-box p,.muted{color:var(--text)}

.clean-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.clean-benefits article,.price-clean-card,.process-grid article,.founder-clean-card,.auth-card,.dashboard-card,.admin-card{
  border-radius:var(--radius);
  background:rgba(255,255,255,.90);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.clean-benefits article{padding:28px}
.clean-benefits h3,.price-clean-card h3,.process-grid h3,.dashboard-card h3,.admin-card h3{
  display:block;
  margin-bottom:8px;
  font-size:1.42rem;
  line-height:1.1;
  letter-spacing:-.045em;
}
.clean-benefits p,.price-clean-card p,.price-clean-card li,.process-grid p{color:var(--text)}

.price-clean-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.price-clean-card{position:relative;padding:32px}
.price-clean-card.premium{
  color:#fff;
  background:var(--brand-gradient-frame);
  border-color:transparent;
  box-shadow:var(--shadow-big);
}
.price-clean-card.premium p,.price-clean-card.premium li{color:rgba(255,255,255,.90)}
.plan-kicker{
  display:inline-flex;
  min-height:30px;
  align-items:center;
  padding:0 12px;
  margin-bottom:14px;
  border-radius:999px;
  color:var(--blue-dark);
  background:var(--soft);
  font-size:.8rem;
  font-weight:950;
}
.premium .plan-kicker{color:#fff;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.16)}
.best-choice{
  position:absolute;
  top:22px;
  right:22px;
  padding:8px 10px;
  border-radius:999px;
  background:#fff;
  color:var(--blue-dark);
  font-size:.78rem;
  font-weight:950;
}
.price-clean{margin:18px 0;font-size:3.25rem;line-height:1;font-weight:950;letter-spacing:-.08em}
.price-clean span{font-size:1rem;letter-spacing:0;font-weight:850}
.price-clean-card ul{list-style:none;display:grid;gap:10px;margin:20px 0}
.price-clean-card li{display:flex;gap:10px}
.price-clean-card li:before{content:"✓";color:var(--green);font-weight:950}
.premium li:before{color:#fff}

.founder-clean-card{
  display:grid;
  grid-template-columns:300px 1fr;
  gap:32px;
  align-items:center;
  padding:34px;
}
.founder-clean-image{
  display:grid;
  place-items:center;
  min-height:260px;
  border-radius:26px;
  background:linear-gradient(180deg,var(--soft),#fff);
  border:1px solid var(--line);
}
.founder-clean-image img{width:min(82%,240px);filter:drop-shadow(0 18px 28px rgba(7,95,174,.16))}
.final-clean{padding-top:0}
.final-clean-box{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  padding:42px 38px;
  border-radius:36px;
  color:#fff;
  background:var(--brand-gradient-frame);
  box-shadow:0 24px 64px rgba(7,95,174,.14);
}
.final-clean-box:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 30% 35%, rgba(255,255,255,.45) 0 2px, transparent 3px),
    radial-gradient(circle at 62% 25%, rgba(255,255,255,.40) 0 2px, transparent 3px),
    radial-gradient(circle at 78% 70%, rgba(255,255,255,.34) 0 2px, transparent 3px);
  opacity:.52;
  animation:starDrift 7s ease-in-out infinite alternate;
  pointer-events:none;
}
.final-clean-box .eyebrow{color:#eaf8ff}
.final-clean-box h2{color:#fff}
.final-clean-box p{max-width:560px;margin-top:8px;color:rgba(255,255,255,.86)}
.final-clean-box .btn-primary{
  background:linear-gradient(135deg,#0f8fe8,#086bd8);
  box-shadow:0 14px 28px rgba(7,95,174,.22);
}
.sparkle{
  position:absolute;
  z-index:0;
  color:rgba(255,255,255,.96);
  line-height:1;
  pointer-events:none;
  text-shadow:0 0 18px rgba(255,255,255,.70);
  animation:sparkleFloat 3.4s ease-in-out infinite;
}
.sparkle-1{top:24px;left:34px;font-size:1.15rem;animation-delay:0s}
.sparkle-2{top:34px;right:215px;font-size:1.65rem;animation-delay:.55s}
.sparkle-3{bottom:34px;left:48%;font-size:1.25rem;animation-delay:1.25s}
.sparkle-4{bottom:30px;right:42px;font-size:1.15rem;animation-delay:2s}
.sparkle-5{top:56%;right:31%;font-size:1.28rem;animation-delay:2.55s}
.stars-box > *:not(.sparkle){position:relative;z-index:1}
@keyframes sparkleFloat{
  0%,100%{transform:translateY(0) scale(.92) rotate(0deg);opacity:.48}
  50%{transform:translateY(-8px) scale(1.18) rotate(8deg);opacity:1}
}
@keyframes starDrift{
  from{transform:translateY(0);opacity:.45}
  to{transform:translateY(-7px);opacity:.75}
}

.site-footer{padding:28px 0 34px;color:var(--text);font-weight:800;border-top:1px solid var(--line)}
.footer-row{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.auth-page{min-height:calc(100vh - 76px);display:grid;place-items:start center;padding:52px 14px 76px}
.auth-card{width:min(100%,460px);padding:30px}
.auth-logo{width:70px;height:70px;object-fit:contain;margin-bottom:12px}
.auth-card p{color:var(--text)}
.auth-form{display:grid;gap:14px;margin-top:22px}
label{display:grid;gap:7px;color:var(--ink);font-size:.92rem;font-weight:900}
input,select,textarea{
  width:100%;
  min-height:50px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fbfdff;
  color:var(--ink);
  padding:0 14px;
  outline:0;
  font-weight:750;
  transition:border-color .18s linear, box-shadow .18s linear, background .18s linear;
}
textarea{min-height:94px;padding-top:12px;resize:vertical}
input:focus,select:focus,textarea:focus{
  border-color:rgba(15,143,232,.78);
  background:#fbfdff;
  box-shadow:0 0 0 4px rgba(15,143,232,.12), 0 12px 28px rgba(7,95,174,.08);
  animation:fieldBlueGlow .34s cubic-bezier(.22,.9,.24,1) both;
}
@keyframes fieldBlueGlow{
  0%{box-shadow:0 0 0 0 rgba(15,143,232,0), 0 0 0 rgba(7,95,174,0)}
  100%{box-shadow:0 0 0 4px rgba(15,143,232,.12), 0 12px 28px rgba(7,95,174,.08)}
}
.form-msg{min-height:22px;margin-top:14px;color:var(--blue-dark);font-weight:850;white-space:pre-wrap}
.form-msg.error{color:var(--red)}
.auth-switch,.small-note{margin-top:12px;color:var(--text);text-align:center;font-size:.94rem}
.text-link{border:0;background:transparent;color:var(--blue-dark);font-weight:950}
.status-pill,.mini-pill{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:var(--soft);
  color:var(--blue-dark);
  font-size:.86rem;
  font-weight:950;
  white-space:nowrap;
}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.thankyou{display:none;margin-bottom:18px;padding:18px;border-radius:22px;background:var(--green-soft);border:1px solid #c4f3df}
.thankyou.show{display:block}
.btn.tiny{min-height:36px;padding-inline:12px;font-size:.84rem}
.btn.danger{background:#fff3f0;color:var(--red);border-color:#ffd5cc}

@media(max-width:960px){
  .nav-links{display:none}
  .hero-polished-grid,.price-clean-grid,.clean-benefits,.process-grid,.founder-clean-card,.final-clean-box,.dash-grid,.dashboard-cards,.form-grid,.form-grid.three{grid-template-columns:1fr}
}
@media(max-width:640px){
  .container{width:min(100% - 20px,var(--container))}
  .site-header{position:static}
  .nav{min-height:66px}
  .brand img{width:46px;height:46px}
  .brand small{display:none}
  .nav-actions .btn-ghost{display:none}
  .nav .btn{min-height:40px;padding-inline:14px;font-size:.88rem}
  .hero-polished{padding:46px 0 42px}
  section{padding:50px 0}
  .hero-brandline{margin-bottom:24px}
  .hero-brandline img{width:62px;height:62px}
  .hero-brandline strong{font-size:1.45rem}
  .hero-brandline span{font-size:.92rem}
  .hero-polished h1{font-size:clamp(2.55rem,14vw,3.85rem)}
  .hero-sub{font-size:1.02rem}
  .hero-actions{display:grid}
  .hero-actions .btn,.final-clean-box .btn{width:100%}
  .service-preview-card,.clean-benefits article,.price-clean-card,.process-grid article,.founder-clean-card,.auth-card,.dashboard-card,.admin-card,.dash-side,.final-clean-box{padding:22px;border-radius:24px}
  .preview-logo{width:min(72%,220px)}
  .plan-row{min-height:58px;padding-inline:14px}
  .best-choice{position:static;display:inline-flex;margin-bottom:10px}
  .sparkle-2{right:22px}
  .sparkle-3{left:auto;right:92px;bottom:72px}
  .sparkle-5{display:none}
  .footer-row{display:grid;text-align:center;justify-content:center}
}
.price-clean-card.premium.premium-stars-only{
  position:relative;
  overflow:hidden;
}
.price-clean-card.premium.premium-stars-only > *:not(.premium-sparkle):not(.best-choice){
  position:relative;
  z-index:1;
}
.premium-sparkle{
  position:absolute;
  z-index:0;
  color:rgba(255,255,255,.92);
  line-height:1;
  pointer-events:none;
  text-shadow:0 0 14px rgba(255,255,255,.55);
  animation:premiumSparkleFloat 3.2s ease-in-out infinite;
}
.premium-sparkle.s1{top:18px;left:18px;font-size:1rem;animation-delay:0s}
.premium-sparkle.s2{top:76px;right:24px;font-size:1.2rem;animation-delay:.8s}
.premium-sparkle.s3{bottom:22px;right:26px;font-size:.95rem;animation-delay:1.6s}
@keyframes premiumSparkleFloat{
  0%,100%{transform:translateY(0) scale(.92);opacity:.42}
  50%{transform:translateY(-6px) scale(1.12);opacity:1}
}
.price-clean-card.premium.premium-stars-only .best-choice{
  position:absolute !important;
  top:22px !important;
  right:22px !important;
  left:auto !important;
  width:auto !important;
  min-width:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:8px 10px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--blue-dark) !important;
  font-size:.78rem !important;
  font-weight:950 !important;
  line-height:1 !important;
  z-index:4 !important;
}
.price-clean-card.premium.premium-stars-only{
  position:relative;
  overflow:hidden;
}
.price-clean-card.premium.premium-stars-only:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.22) 0 2px, transparent 3px),
    radial-gradient(circle at 76% 24%, rgba(255,255,255,.18) 0 2px, transparent 3px),
    radial-gradient(circle at 84% 78%, rgba(255,255,255,.16) 0 2px, transparent 3px);
  opacity:.5;
  animation:premiumStarDrift 7s ease-in-out infinite alternate;
  pointer-events:none;
}
.price-clean-card.premium.premium-stars-only > *:not(.premium-sparkle):not(.best-choice){
  position:relative;
  z-index:1;
}
.price-clean-card.premium.premium-stars-only .best-choice{
  z-index:4;
}
.premium-sparkle{
  position:absolute;
  z-index:0;
  color:rgba(255,255,255,.96);
  line-height:1;
  pointer-events:none;
  text-shadow:0 0 18px rgba(255,255,255,.70);
  animation:premiumSparkleFloat 3.4s ease-in-out infinite;
}
.premium-sparkle.s1{top:18px;left:18px;font-size:1.05rem;animation-delay:0s}
.premium-sparkle.s2{top:72px;right:24px;font-size:1.28rem;animation-delay:.55s}
.premium-sparkle.s3{bottom:22px;right:24px;font-size:.98rem;animation-delay:1.1s}
.premium-sparkle.s4{top:36%;left:18px;font-size:.92rem;animation-delay:1.7s}
.premium-sparkle.s5{bottom:84px;right:112px;font-size:1.05rem;animation-delay:2.2s}
@keyframes premiumSparkleFloat{
  0%,100%{transform:translateY(0) scale(.92) rotate(0deg);opacity:.48}
  50%{transform:translateY(-7px) scale(1.16) rotate(8deg);opacity:1}
}
@keyframes premiumStarDrift{
  from{transform:translateY(0);opacity:.44}
  to{transform:translateY(-6px);opacity:.72}
}
@media(max-width:640px){
  .premium-sparkle.s5{display:none}
}
.process-showcase{
  padding-top:54px;
}
.process-showcase-card{
  position:relative;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:26px;
  align-items:stretch;
  padding:26px;
  border-radius:34px;
  background:rgba(255,255,255,.82);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.process-showcase-card:before{
  content:"";
  position:absolute;
  top:-70px;
  bottom:-70px;
  left:50%;
  width:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(15,143,232,.14),rgba(15,143,232,.24),rgba(15,143,232,.14));
  pointer-events:none;
  z-index:0;
}
.process-promise{
  z-index:1;
  position:relative;
  overflow:hidden;
  padding:30px;
  border-radius:28px;
  color:#fff;
  background:var(--brand-gradient-frame);
  box-shadow:0 18px 44px rgba(7,95,174,.16);
}
.process-promise:before{
  content:"✦";
  position:absolute;
  top:24px;
  right:28px;
  color:rgba(255,255,255,.72);
  font-size:1.35rem;
  animation:processSparkle 3.4s ease-in-out infinite;
}
.process-promise:after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-88px;
  width:240px;
  height:240px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
}
.process-promise > *{
  position:relative;
  z-index:1;
}
.mini-label{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  margin-bottom:18px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-size:.8rem;
  font-weight:950;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.process-promise h3{
  max-width:420px;
  font-size:clamp(1.9rem,3vw,2.55rem);
  line-height:1.02;
  letter-spacing:-.06em;
}
.process-promise p{
  max-width:420px;
  margin-top:14px;
  color:rgba(255,255,255,.84);
}
.promise-mini-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:26px;
}
.promise-mini-grid div{
  padding:14px 12px;
  border-radius:18px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.13);
}
.promise-mini-grid strong{
  display:block;
  font-size:1.28rem;
  line-height:1;
}
.promise-mini-grid span{
  display:block;
  margin-top:2px;
  color:rgba(255,255,255,.78);
  font-size:.82rem;
  font-weight:800;
}

.process-timeline{
  z-index:1;
  position:relative;
  display:grid;
  gap:12px;
  padding:4px 0 4px 0;
}
.process-timeline:before{
  display:none;
}
.process-timeline article{
  position:relative;
  display:grid;
  grid-template-columns:58px 1fr;
  gap:18px;
  align-items:start;
  min-height:88px;
  padding:18px 20px 18px 0;
}
.process-timeline article span{
  position:relative;
  z-index:1;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-left:-1px;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff,#e8f7ff);
  border:1px solid var(--line);
  color:var(--blue-dark);
  box-shadow:0 12px 26px rgba(7,95,174,.10);
  font-size:.82rem;
  font-weight:950;
}
.process-timeline article div{
  padding:2px 0 0;
}
.process-timeline h3{
  margin-bottom:6px;
  font-size:1.22rem;
  line-height:1.12;
  letter-spacing:-.04em;
}
.process-timeline p{
  max-width:470px;
  color:var(--text);
}

@keyframes processSparkle{
  0%,100%{transform:translateY(0) scale(.92);opacity:.50}
  50%{transform:translateY(-8px) scale(1.15);opacity:1}
}

@media(max-width:960px){
  .process-showcase-card{
    grid-template-columns:1fr;
  }
  .process-showcase-card:before{
    display:none;
  }
  .process-timeline:before{
    content:"";
    display:block;
    position:absolute;
    top:32px;
    bottom:32px;
    left:27px;
    width:2px;
    border-radius:999px;
    background:linear-gradient(180deg,rgba(15,143,232,.14),rgba(15,143,232,.36),rgba(15,143,232,.14));
  }
  .process-timeline article span{
    margin-left:0;
  }
  .promise-mini-grid{
    grid-template-columns:1fr 1fr 1fr;
  }
}
@media(max-width:640px){
  .process-showcase-card{
    padding:16px;
    border-radius:26px;
  }
  .process-promise{
    padding:22px;
    border-radius:22px;
  }
  .promise-mini-grid{
    grid-template-columns:1fr;
  }
  .process-timeline{
    padding-left:0;
  }
  .process-timeline:before{
    content:"";
    display:block;
    position:absolute;
    top:32px;
    bottom:32px;
    left:27px;
    width:2px;
    border-radius:999px;
    background:linear-gradient(180deg,rgba(15,143,232,.14),rgba(15,143,232,.36),rgba(15,143,232,.14));
  }
  .process-timeline article{
    grid-template-columns:54px 1fr;
    gap:14px;
    padding-right:0;
  }
  .process-timeline article span{
    margin-left:0;
  }
}
.footer-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
}
.footer-links a{
  color:var(--blue-dark);
  font-weight:950;
}
.footer-links a:hover{
  text-decoration:underline;
}
.legal-page{
  padding:72px 0 86px;
}
.legal-page[hidden]{
  display:none !important;
}
.legal-shell{
  max-width:920px;
}
.legal-back{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 14px;
  margin-bottom:26px;
  border-radius:999px;
  color:var(--blue-dark);
  background:rgba(255,255,255,.82);
  border:1px solid var(--line);
  font-weight:950;
  box-shadow:0 10px 24px rgba(7,95,174,.07);
}
.legal-page h1{
  margin-bottom:22px;
  font-size:clamp(2.4rem,5vw,4rem);
  line-height:.98;
  letter-spacing:-.075em;
}
.legal-card{
  display:grid;
  gap:20px;
  padding:34px;
  border-radius:30px;
  background:rgba(255,255,255,.92);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.legal-card h2{
  margin-top:10px;
  font-size:1.25rem;
  line-height:1.15;
  letter-spacing:-.035em;
}
.legal-card h2:first-child{
  margin-top:0;
}
.legal-card p{
  color:var(--text);
}
.legal-card a{
  color:var(--blue-dark);
  font-weight:900;
}
body.legal-open .site-header{
  position:static;
}
@media(max-width:640px){
  .footer-row{
    gap:10px;
  }
  .footer-links{
    order:3;
  }
  .legal-page{
    padding:42px 0 58px;
  }
  .legal-card{
    padding:22px;
    border-radius:24px;
  }
}
.final-clean-box .btn-primary{
  background:#ffffff !important;
  color:var(--blue-dark) !important;
  border:1px solid rgba(255,255,255,.86) !important;
  box-shadow:0 16px 36px rgba(6,105,199,.24), 0 0 0 1px rgba(255,255,255,.18) inset !important;
}
.final-clean-box .btn-primary:hover{
  background:#f5fbff !important;
  transform:translateY(-2px);
}

.site-footer{
  padding:26px 0 30px !important;
}
.site-footer .footer-row{
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  gap:20px !important;
}
.site-footer .footer-row > span:first-child{
  justify-self:start !important;
}
.site-footer .footer-row > span:last-child{
  justify-self:end !important;
  text-align:right !important;
}
.footer-links{
  justify-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:22px !important;
}
.footer-links a{
  display:inline-flex !important;
  align-items:center !important;
  min-height:36px !important;
}

@media(max-width:720px){
  .site-footer .footer-row{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    text-align:center !important;
  }
  .site-footer .footer-row > span:first-child,
  .site-footer .footer-row > span:last-child,
  .footer-links{
    justify-self:center !important;
    text-align:center !important;
  }
}
@media (prefers-reduced-motion: no-preference){
  main.main-leaving{
    animation:mainLeaveCrisp .18s cubic-bezier(.2,.8,.2,1) both;
  }
  main.main-returning{
    animation:mainReturnCrisp .32s cubic-bezier(.16,1,.3,1) both;
  }

  .legal-page.is-entering{
    animation:legalPageFadeIn .28s cubic-bezier(.16,1,.3,1) both;
  }
  .legal-page.is-entering .legal-shell{
    animation:legalShellPopIn .42s cubic-bezier(.16,1,.3,1) both;
  }
  .legal-page.is-entering .legal-card{
    animation:legalCardCrisp .52s cubic-bezier(.16,1,.3,1) both;
    animation-delay:.06s;
  }
  .legal-page.is-leaving{
    animation:legalPageFadeOut .22s cubic-bezier(.4,0,1,1) both;
  }

  .auth-page{
    animation:authPageGlowIn .42s cubic-bezier(.16,1,.3,1) both;
  }
  .auth-card{
    animation:authCardPopIn .52s cubic-bezier(.16,1,.3,1) both;
    transform-origin:center top;
  }
  .auth-logo{
    animation:logoPopCrisp .58s cubic-bezier(.16,1,.3,1) both;
    animation-delay:.06s;
  }
  .auth-form label,
  .auth-form .btn,
  .auth-switch,
  .small-note{
    animation:authFieldRise .42s cubic-bezier(.16,1,.3,1) both;
  }
  .auth-form label:nth-child(1){animation-delay:.08s}
  .auth-form label:nth-child(2){animation-delay:.13s}
  .auth-form label:nth-child(3){animation-delay:.18s}
  .auth-form label:nth-child(4){animation-delay:.23s}
  .auth-form .btn{animation-delay:.28s}

  .legal-back,
  .footer-links a,
  .auth-card .btn,
  .final-clean-box .btn-primary{
    transition:transform .18s cubic-bezier(.16,1,.3,1), box-shadow .18s cubic-bezier(.16,1,.3,1), background .18s ease, color .18s ease;
  }
  .legal-back:hover,
  .footer-links a:hover{
    transform:translateY(-2px);
  }
  .auth-card .btn:active,
  .legal-back:active,
  .footer-links a:active{
    transform:translateY(0) scale(.98);
  }
}

.legal-page{
  min-height:calc(100vh - 76px);
}
.legal-card{
  position:relative;
  overflow:hidden;
}
.legal-card:before{
  content:"";
  position:absolute;
  inset:-1px auto auto -1px;
  width:160px;
  height:160px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(15,143,232,.10),transparent 68%);
  pointer-events:none;
}
.legal-card > *{
  position:relative;
  z-index:1;
}

.auth-card{
  position:relative;
  overflow:hidden;
}
.auth-card:before{
  content:"";
  position:absolute;
  top:-90px;
  right:-90px;
  width:220px;
  height:220px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(15,143,232,.13),transparent 68%);
  pointer-events:none;
}
.auth-card > *{
  position:relative;
  z-index:1;
}

@keyframes mainLeaveCrisp{
  from{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}
  to{opacity:0;filter:blur(6px);transform:translateY(8px) scale(.992)}
}
@keyframes mainReturnCrisp{
  from{opacity:0;filter:blur(7px);transform:translateY(10px) scale(.992)}
  to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}
}
@keyframes legalPageFadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes legalShellPopIn{
  from{opacity:0;transform:translateY(22px) scale(.985);filter:blur(8px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes legalCardCrisp{
  from{opacity:0;transform:translateY(18px) scale(.988);filter:blur(10px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes legalPageFadeOut{
  from{opacity:1;filter:blur(0);transform:translateY(0)}
  to{opacity:0;filter:blur(7px);transform:translateY(10px)}
}
@keyframes authPageGlowIn{
  from{opacity:0;background-position:50% -40px}
  to{opacity:1;background-position:50% 0}
}
@keyframes authCardPopIn{
  0%{opacity:0;transform:translateY(24px) scale(.972);filter:blur(10px)}
  70%{opacity:1;transform:translateY(-2px) scale(1.006);filter:blur(0)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes logoPopCrisp{
  0%{opacity:0;transform:translateY(10px) scale(.86) rotate(-4deg);filter:blur(6px)}
  70%{opacity:1;transform:translateY(-2px) scale(1.04) rotate(1deg);filter:blur(0)}
  100%{opacity:1;transform:translateY(0) scale(1) rotate(0deg);filter:blur(0)}
}
@keyframes authFieldRise{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}

@media (prefers-reduced-motion: reduce){
  *,
  *:before,
  *:after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
  }
}
@media (prefers-reduced-motion: no-preference){
  main.main-leaving{
    animation:mainLeaveSmooth .26s cubic-bezier(.22,1,.36,1) both !important;
  }
  main.main-returning{
    animation:mainReturnSmooth .48s cubic-bezier(.22,1,.36,1) both !important;
  }

  .legal-page.is-entering{
    animation:legalPageFadeInSmooth .42s cubic-bezier(.22,1,.36,1) both !important;
  }
  .legal-page.is-entering .legal-shell{
    animation:legalShellSmoothIn .62s cubic-bezier(.22,1,.36,1) both !important;
  }
  .legal-page.is-entering .legal-card{
    animation:legalCardSmoothIn .72s cubic-bezier(.22,1,.36,1) both !important;
    animation-delay:.04s !important;
  }
  .legal-page.is-leaving{
    animation:legalPageSmoothOut .36s cubic-bezier(.45,0,.55,1) both !important;
  }

  .auth-page{
    animation:authPageSmoothIn .62s cubic-bezier(.22,1,.36,1) both !important;
  }
  .auth-card{
    animation:authCardSmoothIn .74s cubic-bezier(.22,1,.36,1) both !important;
    transform-origin:center top;
  }
  .auth-logo{
    animation:logoSmoothIn .78s cubic-bezier(.22,1,.36,1) both !important;
    animation-delay:.04s !important;
  }
  .auth-form label,
  .auth-form .btn,
  .auth-switch,
  .small-note{
    animation:authFieldSmoothRise .58s cubic-bezier(.22,1,.36,1) both !important;
  }
  .auth-form label:nth-child(1){animation-delay:.10s !important}
  .auth-form label:nth-child(2){animation-delay:.16s !important}
  .auth-form label:nth-child(3){animation-delay:.22s !important}
  .auth-form label:nth-child(4){animation-delay:.28s !important}
  .auth-form .btn{animation-delay:.34s !important}

  .legal-back,
  .footer-links a,
  .auth-card .btn,
  .final-clean-box .btn-primary{
    transition:
      transform .26s cubic-bezier(.22,1,.36,1),
      box-shadow .26s cubic-bezier(.22,1,.36,1),
      background .26s ease,
      color .26s ease !important;
  }
}

@keyframes mainLeaveSmooth{
  from{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}
  to{opacity:0;filter:blur(3px);transform:translateY(6px) scale(.996)}
}
@keyframes mainReturnSmooth{
  from{opacity:0;filter:blur(4px);transform:translateY(12px) scale(.996)}
  to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}
}
@keyframes legalPageFadeInSmooth{
  from{opacity:0}
  to{opacity:1}
}
@keyframes legalShellSmoothIn{
  from{opacity:0;transform:translateY(18px) scale(.992);filter:blur(5px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes legalCardSmoothIn{
  from{opacity:0;transform:translateY(20px) scale(.994);filter:blur(6px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes legalPageSmoothOut{
  from{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}
  to{opacity:0;filter:blur(4px);transform:translateY(8px) scale(.996)}
}
@keyframes authPageSmoothIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes authCardSmoothIn{
  0%{opacity:0;transform:translateY(26px) scale(.986);filter:blur(7px)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes logoSmoothIn{
  0%{opacity:0;transform:translateY(10px) scale(.94);filter:blur(5px)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes authFieldSmoothRise{
  from{opacity:0;transform:translateY(14px);filter:blur(2px)}
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}
.dashboard-header-clean .nav-actions{
  margin-left:auto;
}
.danger-panel{
  border-color:#ffd4ca;
}
.danger-panel .eyebrow{
  color:#b42318;
}
.btn.danger,
.danger{
  color:#b42318 !important;
  background:#fff2ef !important;
  border:1px solid #ffd4ca !important;
  box-shadow:none !important;
}
.btn.danger:hover{
  background:#ffe8e2 !important;
}
@media(max-width:640px){
  .price-summary-clean .btn,
  .save-row .btn{
    width:100%;
  }
}
.dashboard-tab.is-active{
  color:#fff;
  background:var(--brand-gradient-base);
  box-shadow:0 14px 28px rgba(7,95,174,.16);
}
.dashboard-tab.is-active span{
  background:rgba(255,255,255,.18);
  color:#fff;
}
.dash-section.is-active{
  display:grid;
  gap:18px;
  animation:dashSectionIn .34s cubic-bezier(.22,1,.36,1) both;
}

@keyframes dashSectionIn{
  from{opacity:0;transform:translateY(14px);filter:blur(4px)}
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}
@media(max-width:560px){
  .quick-actions .btn{
    width:100%;
  }
}
.setup-card[hidden],
.simple-dashboard[hidden]{
  display:none !important;
}
.setup-progress div.is-active{
  color:var(--blue-dark);
  background:linear-gradient(180deg,#ffffff,#eaf7ff);
}
.setup-summary .btn-primary{
  background:#fff;
  color:var(--blue-dark);
  box-shadow:0 16px 36px rgba(6,105,199,.24);
}
.status-pill.active{
  background:var(--green-soft);
  color:var(--green);
}
@media(max-width:640px){
  .simple-dashboard-actions .btn{
    width:100%;
  }
}
.wizard-page{
  padding:44px 0 90px;
}
.wizard-wrap{
  display:grid;
  gap:22px;
}
.wizard-hero{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  padding:34px;
  border-radius:34px;
  background:
    radial-gradient(circle at 88% 8%, rgba(139,223,255,.28), transparent 18rem),
    rgba(255,255,255,.80);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.wizard-hero h1{
  max-width:820px;
  font-size:clamp(2.55rem,5vw,4.2rem);
  line-height:.95;
  letter-spacing:-.08em;
}
.wizard-hero p{
  max-width:720px;
  margin-top:12px;
  color:var(--text);
  font-size:1.08rem;
}
.wizard-account{
  min-width:280px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 14px 32px rgba(7,95,174,.08);
}
.wizard-account img{
  width:58px;
  height:58px;
  object-fit:contain;
}
.wizard-account strong,
.wizard-account span{
  display:block;
}
.wizard-account span{
  color:var(--text);
  word-break:break-word;
}
.wizard-card{
  width:min(100%,760px);
  margin-inline:auto;
  padding:26px;
  border-radius:34px;
  background:rgba(255,255,255,.90);
  border:1px solid var(--line);
  box-shadow:var(--shadow-big);
}
.wizard-card[hidden],
.simple-dashboard[hidden]{
  display:none !important;
}
.wizard-progress{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:22px;
}
.wizard-progress button{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--soft);
  color:#536b80;
  font-weight:950;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.wizard-progress button:hover{
  transform:translateY(-1px);
}
.wizard-progress button.is-active{
  color:#fff;
  background:var(--brand-gradient-base);
  border-color:transparent;
  box-shadow:0 14px 26px rgba(7,95,174,.16);
}
.wizard-progress button.is-done{
  color:var(--blue-dark);
  background:#fff;
}
.wizard-progress span{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:999px;
  background:rgba(255,255,255,.70);
  font-size:.74rem;
}
.wizard-form{
  display:grid;
}
.wizard-step{
  display:none;
}
.wizard-step.is-active{
  display:grid;
  gap:16px;
  animation:wizardStepIn .34s cubic-bezier(.22,1,.36,1) both;
}
.wizard-step-head{
  padding-bottom:4px;
}
.wizard-step-head h2{
  font-size:clamp(2rem,4vw,3rem);
  line-height:1;
  letter-spacing:-.07em;
}
.wizard-step-head p{
  margin-top:8px;
  color:var(--text);
}
.wizard-plan-options{
  display:grid;
  gap:12px;
}
.wizard-plan-card{
  cursor:pointer;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
  min-height:84px;
  padding:16px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 24px rgba(7,95,174,.06);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.wizard-plan-card:hover{
  transform:translateY(-1px);
}
.wizard-plan-card input{
  width:22px;
  height:22px;
  min-height:22px;
  accent-color:var(--blue-dark);
}
.wizard-plan-card strong,
.wizard-plan-card small{
  display:block;
}
.wizard-plan-card small{
  margin-top:4px;
  color:var(--text);
  font-weight:800;
}
.wizard-plan-card b{
  font-size:1.5rem;
  color:var(--blue-dark);
}
.wizard-plan-card.is-selected{
  border-color:rgba(15,143,232,.38);
  background:linear-gradient(180deg,#f7fcff,#eaf7ff);
  box-shadow:0 16px 34px rgba(7,95,174,.10);
}
.wizard-plan-card.premium.is-selected{
  color:#fff;
  background:var(--brand-gradient-base);
  border-color:transparent;
}
.wizard-plan-card.premium.is-selected small,
.wizard-plan-card.premium.is-selected b{
  color:#fff;
}
.wizard-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.wizard-summary div{
  padding:16px;
  border-radius:20px;
  background:var(--soft);
  border:1px solid var(--line);
}
.wizard-summary span,
.wizard-total span{
  display:block;
  color:var(--blue-dark);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.wizard-summary strong{
  display:block;
  margin-top:6px;
  line-height:1.15;
}
.wizard-total{
  padding:20px;
  border-radius:24px;
  color:#fff;
  background:linear-gradient(135deg,#178ed3,#0870d8);
  box-shadow:0 16px 34px rgba(7,95,174,.14);
}
.wizard-total span{
  color:rgba(255,255,255,.78);
}
.wizard-total strong{
  display:block;
  margin-top:6px;
  font-size:2.1rem;
  line-height:1;
  letter-spacing:-.06em;
}
.wizard-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-top:4px;
}
.wizard-actions .btn{
  min-width:190px;
}
.status-pill.active{
  background:var(--green-soft);
  color:var(--green);
}
@keyframes wizardStepIn{
  from{opacity:0;transform:translateY(12px);filter:blur(4px)}
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}
@media(max-width:920px){
  .wizard-hero,
  .simple-dashboard-grid{
    grid-template-columns:1fr;
  }
  .wizard-account{
    min-width:0;
  }
}
@media(max-width:640px){
  .wizard-page{
    padding:24px 0 58px;
  }
  .wizard-hero,
  .wizard-card,
  .simple-dashboard{
    padding:20px;
    border-radius:26px;
  }
  .wizard-progress{
    grid-template-columns:1fr;
  }
  .wizard-progress button{
    justify-content:flex-start;
    padding:0 14px;
  }
  .wizard-summary{
    grid-template-columns:1fr;
  }
  .wizard-actions{
    flex-direction:column-reverse;
    align-items:stretch;
  }
  .wizard-actions span{
    display:none;
  }
  .wizard-actions .btn{
    width:100%;
    min-width:0;
  }
  .simple-dashboard-actions .btn{
    width:100%;
  }
}
.wizard-card{
  padding-bottom:22px !important;
}
.wizard-step{
  padding:0 !important;
}
.wizard-step.is-active{
  padding:0 !important;
}
.wizard-actions{
  padding-top:0 !important;
}
.wizard-step-head{
  padding-bottom:0 !important;
}
.admin-clean-page{
  padding:44px 0 90px;
}
.admin-clean-wrap{
  display:grid;
  gap:22px;
}
.admin-hero-clean{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:34px;
  border-radius:34px;
  background:
    radial-gradient(circle at 88% 8%, rgba(139,223,255,.28), transparent 18rem),
    rgba(255,255,255,.82);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.admin-hero-clean h1{
  max-width:820px;
  font-size:clamp(2.55rem,5vw,4.2rem);
  line-height:.95;
  letter-spacing:-.08em;
}
.admin-hero-clean p{
  max-width:720px;
  margin-top:12px;
  color:var(--text);
  font-size:1.08rem;
}
.admin-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.admin-stats-grid article{
  padding:22px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.admin-stats-grid span,
.admin-customer-grid span{
  display:block;
  margin-bottom:8px;
  color:var(--blue-dark);
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.admin-stats-grid strong{
  display:block;
  font-size:2rem;
  line-height:1;
  letter-spacing:-.06em;
}
.admin-panel-clean{
  padding:30px;
  border-radius:34px;
  background:rgba(255,255,255,.9);
  border:1px solid var(--line);
  box-shadow:var(--shadow-big);
}
.admin-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:18px;
}
.admin-panel-head h2{
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.02;
  letter-spacing:-.07em;
}
.admin-panel-head p{
  margin-top:8px;
  color:var(--text);
}
.admin-list-clean{
  display:grid;
  gap:14px;
}
.admin-empty{
  padding:24px;
  border-radius:22px;
  background:var(--soft);
  color:var(--text);
  font-weight:850;
}
.admin-customer-card{
  display:grid;
  gap:16px;
  padding:20px;
  border-radius:26px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 12px 30px rgba(7,95,174,.06);
}
.admin-customer-main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.admin-customer-main > div{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:10px;
  align-items:center;
}
.admin-customer-main strong{
  font-size:1.18rem;
  line-height:1.12;
}
.admin-customer-main small{
  grid-column:2;
  color:var(--text);
  word-break:break-word;
}
.status-dot{
  width:14px;
  height:14px;
  border-radius:999px;
  background:#d1dce8;
  border:2px solid #ffffff;
  box-shadow:0 0 0 3px rgba(148,163,184,.20);
}
.status-dot.active{
  background:var(--green);
  box-shadow:0 0 0 3px rgba(19,166,107,.24);
}
.admin-status-pill{
  white-space:nowrap;
  padding:8px 12px;
  border-radius:999px;
  background:var(--soft);
  color:var(--text);
  font-size:.78rem;
  font-weight:950;
}
.admin-status-pill.active{
  background:var(--green-soft);
  color:var(--green);
}
.admin-customer-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr 1fr;
  gap:14px;
}
.admin-customer-grid > div{
  padding:16px;
  border-radius:20px;
  background:var(--soft);
  border:1px solid var(--line);
}
.admin-customer-grid strong{
  display:block;
  line-height:1.18;
}
.admin-customer-grid small{
  display:block;
  margin-top:6px;
  color:var(--text);
}
.admin-actions-clean{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
@media(max-width:980px){
  .admin-hero-clean{
    flex-direction:column;
    align-items:stretch;
  }
  .admin-stats-grid{
    grid-template-columns:1fr 1fr;
  }
  .admin-customer-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .admin-clean-page{
    padding:24px 0 58px;
  }
  .admin-hero-clean,
  .admin-panel-clean{
    padding:20px;
    border-radius:26px;
  }
  .admin-stats-grid{
    grid-template-columns:1fr;
  }
  .admin-customer-main{
    flex-direction:column;
  }
  .admin-actions-clean{
    justify-content:stretch;
  }
  .admin-actions-clean .btn{
    width:100%;
  }
}
.active-dashboard{
  width:min(100%,1080px);
  margin-inline:auto;
  display:grid;
  gap:18px;
  padding:30px;
  border-radius:34px;
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  box-shadow:var(--shadow-big);
}
.active-dashboard[hidden]{
  display:none !important;
}
.active-dashboard-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.active-dashboard-head h2{
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.02;
  letter-spacing:-.068em;
}
.active-dashboard-head p{
  color:var(--text);
  margin-top:8px;
}
.active-overview-grid span,
.active-total-box span{
  display:block;
  margin-bottom:8px;
  color:var(--blue-dark);
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.active-panel{
  padding:24px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 14px 34px rgba(7,95,174,.06);
}
.active-panel h3{
  font-size:clamp(1.7rem,3vw,2.2rem);
  line-height:1.03;
  letter-spacing:-.06em;
}
.active-panel p{
  margin-top:7px;
  color:var(--text);
}
.active-form{
  display:grid;
  gap:14px;
}
.active-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:2px;
}
.active-actions span{
  color:var(--text);
  font-size:.92rem;
  font-weight:800;
}
.active-total-box{
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg,#eef9ff,#e7f5ff);
  border:1px solid var(--line);
}
.active-total-box strong{
  display:block;
  font-size:1.8rem;
  line-height:1;
  letter-spacing:-.05em;
}
.status-pill.active{
  background:var(--green-soft);
  color:var(--green);
}
@media(max-width:960px){
  .active-dashboard-head,
  .active-account-panel{
    flex-direction:column;
    align-items:stretch;
  }
}
@media(max-width:640px){
  .active-dashboard{
    padding:20px;
    border-radius:26px;
  }
  .active-panel{
    padding:20px;
    border-radius:24px;
  }
  .active-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .active-actions .btn,
  .active-account-panel .btn{
    width:100%;
  }
}
.compact-active-dashboard{
  width:min(100%,960px);
  padding:28px !important;
}
.compact-head{
  margin-bottom:2px;
}
.compact-head h2{
  font-size:clamp(2rem,4vw,3rem);
}
.dashboard-action-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:2px;
}
.dashboard-action-card{
  cursor:pointer;
  text-align:left;
  min-height:132px;
  display:grid;
  gap:8px;
  align-content:start;
  padding:20px;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff,#f5fbff);
  border:1px solid var(--line);
  box-shadow:0 12px 28px rgba(7,95,174,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.dashboard-action-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(7,95,174,.1);
}
.dashboard-action-card.is-active{
  color:#fff;
  border-color:transparent;
  background:var(--brand-gradient-base);
  box-shadow:0 18px 42px rgba(7,95,174,.18);
}
.dashboard-action-card span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:999px;
  background:var(--soft);
  color:var(--blue-dark);
  font-size:.76rem;
  font-weight:950;
}
.dashboard-action-card.is-active span{
  background:rgba(255,255,255,.2);
  color:#fff;
}
.dashboard-action-card strong{
  display:block;
  font-size:1.24rem;
  line-height:1.08;
  letter-spacing:-.045em;
}
.dashboard-action-card small{
  display:block;
  color:var(--text);
  line-height:1.45;
  font-weight:800;
}
.dashboard-action-card.is-active small{
  color:rgba(255,255,255,.84);
}
.dashboard-action-card.danger-action{
  border-color:#ffd4ca;
}
.dashboard-action-card.danger-action span{
  background:#fff2ef;
  color:#b42318;
}
.active-panel-area{
  display:grid;
  gap:12px;
}
.drawer-panel{
  margin-top:4px;
  animation:drawerIn .28s cubic-bezier(.22,1,.36,1) both;
}
.drawer-panel[hidden]{
  display:none !important;
}
.drawer-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.drawer-head h3{
  font-size:clamp(1.8rem,3vw,2.35rem);
  line-height:1;
  letter-spacing:-.06em;
}
.icon-close{
  flex:0 0 auto;
  width:42px;
  height:42px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--soft);
  color:var(--text);
  font-size:1.4rem;
  font-weight:900;
  line-height:1;
}
.account-danger-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  border-radius:22px;
  background:#fff7f5;
  border:1px solid #ffd4ca;
}
.account-danger-row p{
  margin-top:5px;
}
@keyframes drawerIn{
  from{opacity:0;transform:translateY(10px);filter:blur(3px)}
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}
@media(max-width:900px){
  .compact-summary-grid,
  .dashboard-action-grid{
    grid-template-columns:1fr;
  }
  .dashboard-action-card{
    min-height:auto;
  }
}
@media(max-width:640px){
  .compact-active-dashboard{
    padding:20px !important;
  }
  .drawer-head,
  .account-danger-row{
    flex-direction:column;
    align-items:stretch;
  }
  .icon-close{
    align-self:flex-end;
  }
  .account-danger-row .btn{
    width:100%;
  }
}
.compact-active-dashboard .dashboard-action-grid{
  margin-top:8px;
}
.compact-active-dashboard{
  gap:22px;
}
.active-actions{
  justify-content:flex-start;
}
.account-settings-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:14px;
}
.account-setting-box{
  display:grid;
  gap:13px;
  padding:18px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--line);
}
.account-setting-box strong{
  display:block;
  font-size:1.15rem;
  line-height:1.1;
}
.account-setting-box p{
  margin-top:5px;
  color:var(--text);
}
@media(max-width:820px){
  .account-settings-grid{
    grid-template-columns:1fr;
  }
}
.cancel-subscription-box{
  display:grid;
  gap:13px;
  padding:18px;
  margin:14px 0;
  border-radius:22px;
  background:#fff7f5;
  border:1px solid #ffd4ca;
}
.cancel-subscription-box strong{
  display:block;
  font-size:1.15rem;
  line-height:1.1;
}
.cancel-subscription-box p{
  margin-top:5px;
  color:var(--text);
}
.cancel-subscription-box textarea{
  width:100%;
  min-height:104px;
  resize:vertical;
}
.admin-cancel-note{
  padding:14px 16px;
  border-radius:18px;
  background:#fff7f5;
  border:1px solid #ffd4ca;
}
.admin-cancel-note span{
  display:block;
  margin-bottom:6px;
  color:#b42318;
  font-size:.74rem;
  font-weight:950;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.admin-cancel-line{
  display:flex;
  align-items:flex-start;
  gap:18px;
  flex-wrap:wrap;
}
.admin-cancel-note strong{
  display:block;
  flex:0 0 auto;
  min-width:180px;
}
.admin-cancel-note p{
  margin:0;
  color:var(--text);
  flex:1 1 320px;
}
.cancel-subscription-box[hidden]{
  display:none !important;
}
.soft-danger{
  background:#fff7f5 !important;
  border:1px solid #ffd4ca !important;
  color:#b42318 !important;
  box-shadow:none !important;
}
.cancel-actions{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
@media(max-width:640px){
  .cancel-actions .btn,
  .subscription-cancel-toggle .btn{
    width:100%;
  }
}
.subscription-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.subscription-actions .btn-primary{
  flex:1 1 260px;
}
.subscription-actions .soft-danger{
  flex:0 0 auto;
}
.cancel-subscription-box{
  margin-top:14px;
}
@media(max-width:640px){
  .subscription-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .subscription-actions .btn{
    width:100%;
  }
}
.retention-offer-box[hidden]{
  display:none !important;
}
.retention-offer-box{
  display:grid;
  gap:14px;
  padding:20px;
  margin-top:14px;
  border-radius:24px;
  background:
    radial-gradient(circle at 94% 0%, rgba(97,218,251,.25), transparent 13rem),
    linear-gradient(180deg,#f4fbff,#ffffff);
  border:1px solid var(--line);
  box-shadow:0 14px 34px rgba(7,95,174,.08);
}
.retention-offer-box strong{
  display:block;
  font-size:clamp(1.5rem,3vw,2.1rem);
  line-height:1.02;
  letter-spacing:-.055em;
}
.retention-offer-box p{
  margin-top:8px;
  color:var(--text);
}
.retention-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.admin-retention-note{
  padding:14px 16px;
  border-radius:18px;
  background:#edfdf6;
  border:1px solid #c8f3df;
}
.admin-retention-note span{
  display:block;
  margin-bottom:6px;
  color:#06965f;
  font-size:.74rem;
  font-weight:950;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.admin-retention-note strong{
  display:block;
}
.admin-retention-note p{
  margin-top:6px;
  color:var(--text);
}
@media(max-width:640px){
  .retention-actions .btn{
    width:100%;
  }
}
.retention-offer-psych .retention-actions .btn-primary{
  box-shadow:0 18px 38px rgba(7,95,174,.18);
}
.retention-offer-compact{
  position:relative;
  overflow:hidden;
  padding:22px;
  background:
    radial-gradient(circle at 92% 4%, rgba(35,184,255,.18), transparent 12rem),
    linear-gradient(180deg,#f7fcff,#ffffff);
}
.retention-offer-compact:before{
  content:"30%";
  position:absolute;
  right:18px;
  top:12px;
  font-size:4.2rem;
  line-height:1;
  font-weight:950;
  letter-spacing:-.08em;
  color:rgba(7,95,174,.08);
  pointer-events:none;
}
.retention-offer-compact > *{
  position:relative;
}
.retention-offer-compact strong{
  max-width:720px;
  display:block;
  font-size:clamp(1.75rem,3.4vw,2.55rem);
  line-height:.98;
  letter-spacing:-.065em;
}
.retention-offer-compact p{
  max-width:620px;
  margin-top:10px;
  color:var(--text);
  font-size:1.02rem;
}
.retention-offer-compact .retention-actions{
  margin-top:4px;
}
.retention-offer-compact .btn-primary{
  box-shadow:0 18px 38px rgba(7,95,174,.18);
}
.admin-filter-bar{
  display:grid;
  grid-template-columns:1fr 1fr 1.2fr auto;
  gap:12px;
  align-items:end;
  margin:18px 0 10px;
  padding:16px;
  border-radius:24px;
  background:linear-gradient(180deg,#f8fcff,#ffffff);
  border:1px solid var(--line);
}
.admin-filter-bar label{
  display:grid;
  gap:7px;
  color:var(--blue-dark);
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.admin-filter-bar select{
  min-height:46px;
  width:100%;
  padding:0 14px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  font-size:.96rem;
  font-weight:850;
  letter-spacing:0;
  text-transform:none;
}
.admin-filter-result{
  margin:0 0 16px;
  color:var(--text);
  font-size:.92rem;
  font-weight:850;
}
@media(max-width:980px){
  .admin-filter-bar{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:640px){
  .admin-filter-bar{
    grid-template-columns:1fr;
    padding:14px;
    border-radius:22px;
  }
  .admin-filter-bar .btn{
    width:100%;
  }
}
.admin-day-panel{
  padding:30px;
  border-radius:34px;
  background:
    radial-gradient(circle at 92% 4%, rgba(35,184,255,.18), transparent 16rem),
    rgba(255,255,255,.9);
  border:1px solid var(--line);
  box-shadow:var(--shadow-big);
}
.admin-day-top{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:18px;
  align-items:stretch;
}
.admin-day-top h2{
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.02;
  letter-spacing:-.07em;
}
.admin-day-top p{
  margin-top:8px;
  color:var(--text);
}
.admin-start-day-btn{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:7px;
  width:100%;
  min-height:116px;
  padding:22px;
  border:0;
  border-radius:28px;
  background:var(--brand-gradient-base);
  color:#fff;
  box-shadow:0 22px 50px rgba(7,95,174,.2);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease;
}
.admin-start-day-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 28px 60px rgba(7,95,174,.24);
}
.admin-start-day-btn span{
  font-size:clamp(1.8rem,4vw,2.8rem);
  line-height:1;
  font-weight:950;
  letter-spacing:-.07em;
}
.admin-start-day-btn small{
  color:rgba(255,255,255,.84);
  font-weight:900;
}
.admin-calendar-card{
  margin-top:16px;
  padding:22px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--line);
}
.calendar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.calendar-head strong{
  font-size:1.1rem;
  letter-spacing:-.03em;
  text-transform:capitalize;
}
.calendar-nav{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 40px;
  padding:0;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--soft);
  color:var(--blue-dark);
  font-size:0;
  line-height:0;
  cursor:pointer;
}
.calendar-nav::before{
  content:"";
  width:8px;
  height:8px;
  border-top:3px solid currentColor;
  border-right:3px solid currentColor;
  transform:rotate(225deg);
}
.calendar-nav[data-calendar-next]::before{
  transform:rotate(45deg);
}
.calendar-weekdays,
.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:10px;
}
.calendar-weekdays{
  margin-bottom:8px;
}
.calendar-weekdays span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  text-align:center;
  color:var(--text);
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
}
.calendar-empty{
  min-height:58px;
}
.calendar-day{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:var(--ink);
  font-size:1.02rem;
  font-weight:950;
  cursor:pointer;
  transition:background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
.calendar-day:hover{
  transform:translateY(-1px);
  border-color:#b8e8ff;
  background:#f4fbff;
}
.calendar-day.is-today{
  border-color:#79d7ff;
}
.calendar-day.is-selected{
  background:var(--brand-gradient-base);
  border-color:transparent;
  color:#fff;
}
.calendar-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  color:var(--text);
  font-size:.92rem;
  font-weight:850;
}
@media(max-width:980px){
  .admin-day-top{
    grid-template-columns:1fr;
  }
}
@media(max-width:640px){
  .admin-day-panel{
    padding:20px;
    border-radius:26px;
  }
  .admin-calendar-card{
    padding:16px;
  }
  .calendar-weekdays,
  .calendar-grid{
    gap:6px;
  }
  .calendar-day,
  .calendar-empty{
    min-height:44px;
  }
  .calendar-day{
    font-size:.95rem;
    border-radius:12px;
  }
  .calendar-footer{
    flex-direction:column;
    align-items:stretch;
  }
  .calendar-footer .btn{
    width:100%;
  }
}
.cleaning-dates-panel[hidden]{
  display:none !important;
}
.small-empty{
  padding:14px !important;
}
@media(max-width:640px){
  .cleaning-date-form .btn,
  .cleaning-date-item .btn{
    width:100%;
  }
}
.abfuhr-area-line{
  margin-top:7px !important;
  display:inline-flex !important;
  width:max-content;
  max-width:100%;
  padding:6px 10px;
  border-radius:999px;
  background:#eef9ff;
  color:var(--blue-dark) !important;
  font-weight:950 !important;
}
.abfuhr-editor-panel[hidden]{
  display:none !important;
}
.abfuhr-check-result.error{
  color:#b42318;
}
@media(max-width:640px){
  .abfuhr-recalculate-row .btn,
  .abfuhr-editor-form .btn,
  .abfuhr-check-form .btn{
    width:100%;
  }
}
.area-manager-card{
  padding:0;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-big);
  overflow:hidden;
}
.area-manager-panel[hidden]{
  display:none !important;
}
.area-select-row button.is-active{
  border-color:transparent;
  background:var(--brand-gradient-base);
  color:#fff;
  box-shadow:0 14px 32px rgba(7,95,174,.15);
}
.area-date-list,
.area-street-list{
  display:grid;
  gap:10px;
}
.area-date-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border-radius:18px;
  background:var(--soft);
  border:1px solid var(--line);
}
.area-date-item strong{
  display:block;
}
.area-date-item small{
  display:block;
  margin-top:4px;
  color:var(--text);
}
.area-street-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.area-street-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  border-radius:999px;
  background:#eef9ff;
  color:var(--blue-dark);
  font-size:.9rem;
  font-weight:900;
}
.area-street-chip button{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:999px;
  background:#fff;
  color:#b42318;
  font-size:1rem;
  font-weight:950;
  line-height:1;
  cursor:pointer;
}
.area-check-result{
  min-height:28px;
  color:var(--green);
  font-weight:950;
}
.area-check-result.error{
  color:#b42318;
}
@media(max-width:700px){
  .area-manager-toggle,
  .area-manager-status,
  .area-date-item{
    flex-direction:column;
    align-items:stretch;
  }
  .area-manager-status .btn,
  .area-manager-box .btn,
  .area-date-item .btn{
    width:100%;
  }
}
@media(max-width:640px){
  .town-add-form .btn,
  .area-add-form .btn{
    width:100%;
  }
}
.admin-section-tabs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  padding:14px;
  border-radius:30px;
  background:rgba(255,255,255,.82);
  border:1px solid var(--line);
  box-shadow:0 18px 42px rgba(7,95,174,.07);
}
.admin-section-tabs button{
  min-height:92px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:6px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  color:var(--ink);
  cursor:pointer;
  text-align:left;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.admin-section-tabs button:hover{
  transform:translateY(-1px);
  border-color:#b9e9ff;
  box-shadow:0 14px 30px rgba(7,95,174,.08);
}
.admin-section-tabs button.is-active{
  border-color:transparent;
  background:var(--brand-gradient-base);
  color:#fff;
  box-shadow:0 20px 44px rgba(7,95,174,.18);
}
.admin-section-tabs span{
  font-size:1.12rem;
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.04em;
}
.admin-section-tabs small{
  color:var(--text);
  font-weight:850;
}
.admin-section-tabs button.is-active small{
  color:rgba(255,255,255,.82);
}
.admin-section-panel[hidden]{
  display:none !important;
}
.admin-section-panel{
  animation:sectionFadeIn .22s ease both;
}
@keyframes sectionFadeIn{
  from{
    opacity:0;
    transform:translateY(8px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}
.area-manager-card[data-admin-section-panel] .area-manager-toggle{
  cursor:default;
  pointer-events:none;
}
.area-manager-card[data-admin-section-panel] .area-manager-toggle strong{
  background:var(--brand-gradient-base);
  color:#fff;
}

@media(max-width:820px){
  .admin-section-tabs{
    grid-template-columns:1fr;
  }
  .admin-section-tabs button{
    min-height:74px;
  }
}
.quick-create-card[hidden]{
  display:none !important;
}
.area-card-grid[hidden]{
  display:none !important;
}
.area-big-card.is-selected{
  border-color:#b8e8ff;
  background:linear-gradient(180deg,#f7fcff,#fff);
}
.area-detail-panel[hidden]{
  display:none !important;
}
.area-detail-tabs button.is-active{
  border-color:transparent;
  background:var(--brand-gradient-base);
  color:#fff;
  box-shadow:0 14px 32px rgba(7,95,174,.15);
}
.area-detail-box[hidden]{
  display:none !important;
}
.area-check-result{
  grid-column:1/-1;
}
@media(max-width:760px){
  .simple-area-header .btn,
  .quick-create-form .btn,
  .area-overview-row .btn,
  .area-detail-head .btn,
  .area-detail-box .btn{
    width:100%;
  }
}
.ultra-area-overview[hidden],
.ultra-area-detail[hidden]{
  display:none !important;
}
.full-danger{
  width:100%;
  margin-top:10px;
  border-color:#ffd1cc !important;
  color:#b42318 !important;
  background:#fff7f5 !important;
}
.area-check-result{
  grid-column:1/-1;
}
@media(max-width:860px){
  .ultra-add-area-bar .btn,
  .ultra-inline-form .btn{
    width:100%;
  }
}
.form-msg.is-loading-dots::after,
.area-check-result.is-loading-dots::after{
  content:"";
  display:inline-block;
  width:1.35em;
  text-align:left;
  animation:loadingDots 1.05s steps(4,end) infinite;
}
@keyframes loadingDots{
  0%{content:"";}
  25%{content:".";}
  50%{content:"..";}
  75%,100%{content:"...";}
}
.mini-calendar-day.is-today{
  border-color:#79d7ff;
}
.mini-calendar-day.is-selected{
  background:var(--brand-gradient-base);
  border-color:transparent;
  color:#fff;
}
.clean-area-shell{
  padding:30px;
}
.clean-area-overview[hidden],
.clean-area-detail[hidden],
.clean-date-box[hidden]{
  display:none !important;
}
.clean-area-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:18px;
  align-items:end;
  margin-bottom:16px;
}
.clean-area-top h2{
  font-size:clamp(2.2rem,4.5vw,3.3rem);
  line-height:.98;
  letter-spacing:-.075em;
}
.clean-area-top p{
  margin-top:9px;
  color:var(--text);
  font-weight:850;
}
.clean-town-select{
  display:grid;
  gap:7px;
  color:var(--blue-dark);
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.clean-town-select select{
  min-height:48px;
  width:100%;
  padding:0 14px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  font-size:.96rem;
  font-weight:850;
  letter-spacing:0;
  text-transform:none;
}
.clean-area-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.clean-add-area-bar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  margin-top:14px;
  padding:12px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--line);
}
.clean-add-area-bar input{
  min-height:46px;
  width:100%;
  border:0;
  padding:0 10px;
  background:transparent;
  color:var(--ink);
  font-size:.98rem;
  font-weight:850;
}
.clean-add-area-bar input:focus{
  outline:0;
}
.clean-empty-area{
  grid-column:1/-1;
  padding:28px;
  border-radius:26px;
  background:#fff;
  border:1px dashed #b8e8ff;
  text-align:center;
}
.clean-area-detail{
  display:grid;
  gap:14px;
}
.clean-inline-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  margin-top:14px;
}
.clean-date-form{
  grid-template-columns:minmax(0,1fr) auto;
}
.clean-inline-form input{
  min-height:46px;
  width:100%;
  padding:0 14px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  font-size:.96rem;
  font-weight:850;
}
.full-danger{
  width:100%;
  margin-top:10px;
  border-color:#ffd1cc !important;
  color:#b42318 !important;
  background:#fff7f5 !important;
}
.area-check-result{
  grid-column:1/-1;
}
.form-msg.is-loading-dots::after,
.area-check-result.is-loading-dots::after{
  content:"";
  display:inline-block;
  width:1.35em;
  text-align:left;
  animation:loadingDots 1.05s steps(4,end) infinite;
}
@keyframes loadingDots{
  0%{content:"";}
  25%{content:".";}
  50%{content:"..";}
  75%,100%{content:"...";}
}
.clean-date-box{
  margin-top:14px;
  padding:14px;
  border-radius:22px;
  background:var(--soft);
  border:1px solid var(--line);
}
.clean-mini-calendar{
  padding:14px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--line);
}
.clean-mini-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.clean-mini-head strong{
  font-size:1rem;
  font-weight:950;
  letter-spacing:-.025em;
  text-transform:capitalize;
}
.clean-mini-head button{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 34px;
  padding:0;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--soft);
  color:var(--blue-dark);
  font-size:0;
  line-height:0;
  cursor:pointer;
}
.clean-mini-head button::before{
  content:"";
  width:7px;
  height:7px;
  border-top:2.5px solid currentColor;
  border-right:2.5px solid currentColor;
  transform:rotate(225deg);
}
.clean-mini-head button[data-mini-next]::before{
  transform:rotate(45deg);
}
.clean-mini-weekdays,
.clean-mini-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:5px;
}
.clean-mini-weekdays{
  margin-bottom:6px;
}
.clean-mini-weekdays span{
  text-align:center;
  color:var(--text);
  font-size:.68rem;
  font-weight:950;
  text-transform:uppercase;
}
.clean-mini-empty{
  min-height:34px;
}
.clean-mini-day{
  min-height:34px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  color:var(--ink);
  font-size:.86rem;
  font-weight:950;
  cursor:pointer;
  transition:background .16s ease, color .16s ease, transform .16s ease, border-color .16s ease;
}
.clean-mini-day:hover{
  transform:translateY(-1px);
  border-color:#b8e8ff;
  background:#f4fbff;
}
.clean-mini-day.is-today{
  border-color:#79d7ff;
}
.clean-mini-day.is-selected{
  background:var(--brand-gradient-base);
  border-color:transparent;
  color:#fff;
}
.clean-mini-selected{
  margin-top:10px;
  color:var(--blue-dark);
  font-size:.88rem;
  font-weight:950;
}
@media(max-width:860px){
  .clean-area-top,
  .clean-detail-top,
  .clean-inline-form,
  .clean-date-form{
    grid-template-columns:1fr;
  }
  .clean-area-grid{
    grid-template-columns:1fr;
  }
  .clean-add-area-bar{
    grid-template-columns:1fr;
  }
  .clean-add-area-bar .btn,
  .clean-inline-form .btn,
  .clean-section-head .btn{
    width:100%;
  }
}
@media(max-width:640px){
  .clean-area-shell{
    padding:18px;
  }
}
.clean-street-box{
  margin-top:14px;
}
.clean-street-box[hidden]{
  display:none !important;
}
.calendar-day{
  position:relative;
  overflow:hidden;
}
.calendar-day.has-cleaning{
  border-color:#86dbff;
  background:linear-gradient(180deg,#ffffff 0%, #f3fbff 100%);
  box-shadow:0 0 0 1px rgba(27,184,255,.06) inset;
}
.calendar-day.has-cleaning:hover{
  background:linear-gradient(180deg,#fbfeff 0%, #ecf9ff 100%);
}
.calendar-day .calendar-dot{
  position:absolute;
  left:50%;
  bottom:6px;
  transform:translateX(-50%);
  width:7px;
  height:7px;
  border-radius:999px;
  background:linear-gradient(135deg,#22c1ff,var(--blue-dark));
  box-shadow:0 0 0 3px rgba(34,193,255,.14);
}
.calendar-day.is-selected.has-cleaning{
  background:var(--brand-gradient-base);
  color:#fff;
}
.calendar-day.is-selected.has-cleaning .calendar-dot{
  background:#fff;
  box-shadow:0 0 0 3px rgba(255,255,255,.18);
}
.calendar-plan-box{
  margin-top:16px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#fbfdff 0%, #f5fbff 100%);
  border-radius:22px;
  padding:16px;
}
.calendar-plan-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.calendar-plan-head strong{
  font-size:1rem;
  line-height:1.35;
  letter-spacing:-.02em;
}
.calendar-plan-head span{
  white-space:nowrap;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
  font-size:.82rem;
  color:var(--text);
  font-weight:900;
}
.calendar-plan-list{
  display:grid;
  gap:10px;
}
.calendar-plan-item{
  border:1px solid var(--line);
  background:#fff;
  border-radius:18px;
  padding:14px 16px;
}
.calendar-plan-city{
  font-size:1rem;
  font-weight:950;
  color:var(--ink);
  margin-bottom:4px;
}
.calendar-plan-what{
  font-size:.95rem;
  font-weight:900;
  color:var(--blue);
  margin-bottom:4px;
}
.calendar-plan-where{
  font-size:.9rem;
  color:var(--text);
  font-weight:800;
}
.calendar-plan-empty{
  border:1px dashed var(--line);
  background:#fff;
  border-radius:18px;
  padding:14px 16px;
  color:var(--text);
  font-weight:800;
}
@media(max-width:720px){
  .calendar-plan-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .calendar-plan-head span{
    white-space:normal;
  }
}
.clean-date-list-box{
  margin-top:14px;
}
.area-manager-card .area-only-layout{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.area-manager-card .area-only-sidebar{
  position:sticky;
  top:18px;
  display:grid;
  gap:16px;
  padding:18px;
  border-radius:26px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 24px rgba(7,95,174,.045);
}
.area-manager-card .area-only-title-block h2{
  margin:6px 0 8px;
  font-size:clamp(1.75rem,3vw,2.35rem);
  line-height:1.02;
  font-weight:780;
  letter-spacing:-.05em;
}
.area-manager-card .area-only-title-block p{
  margin:0;
  color:var(--text);
  font-weight:750;
}
.area-manager-card .area-only-stats{
  display:grid;
  gap:10px;
}
.area-manager-card .area-only-stats div{
  padding:13px 14px;
  border-radius:18px;
  background:var(--soft);
  border:1px solid var(--line);
}
.area-manager-card .area-only-stats span{
  display:block;
  color:var(--text);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:5px;
}
.area-manager-card .area-only-stats strong{
  display:block;
  color:var(--ink);
  font-size:1rem;
  font-weight:900;
}
.area-manager-card .area-only-recalc{
  width:100%;
}
.area-manager-card .area-only-workspace{
  min-width:0;
}
.area-manager-card .area-only-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.area-manager-card .area-only-tab{
  min-height:54px;
  border-radius:18px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  font-size:1rem;
  font-weight:860;
  cursor:pointer;
  transition:transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease;
}
.area-manager-card .area-only-tab:hover{
  transform:translateY(-1px);
  border-color:#b8e8ff;
}
.area-manager-card .area-only-tab.is-active{
  background:var(--brand-gradient-base);
  color:#fff;
  border-color:transparent;
  box-shadow:0 14px 28px rgba(7,95,174,.16);
}
.area-manager-card .area-only-panel{
  padding:22px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 24px rgba(7,95,174,.045);
}
.area-manager-card .area-only-panel[hidden]{
  display:none !important;
}
.area-manager-card .area-only-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.area-manager-card .area-only-panel-head h3{
  margin:0;
  font-size:clamp(1.45rem,2.4vw,1.85rem);
  font-weight:820;
  line-height:1.05;
  letter-spacing:-.045em;
}
.area-manager-card .area-only-panel-head p{
  margin-top:6px;
  color:var(--text);
}
.area-manager-card .area-only-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:9px;
}
.area-manager-card .area-only-manage-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.area-manager-card .area-only-manage-card{
  width:100%;
  padding:14px;
  border-radius:20px;
  background:var(--soft);
  border:1px solid var(--line);
}
.area-manager-card .area-only-manage-card h4{
  margin:0;
  font-size:1rem;
  font-weight:900;
}
.area-manager-card .area-only-manage-card .clean-inline-form{
  margin-top:10px;
}
.area-manager-card .area-only-manage-card .clean-inline-form .btn{
  min-width:120px;
}
.area-manager-card .area-only-panel .full-danger{
  margin-top:14px;
}
@media(max-width:980px){
  .area-manager-card .area-only-layout{
    grid-template-columns:1fr;
  }
  .area-manager-card .area-only-sidebar{
    position:static;
  }
}
@media(max-width:700px){
  .area-manager-card .area-only-tabs,
  .area-manager-card .area-only-manage-grid{
    grid-template-columns:1fr;
  }
  .area-manager-card .area-only-panel-head{
    flex-direction:column;
  }
  .area-manager-card .area-only-actions,
  .area-manager-card .area-only-actions .btn,
  .area-manager-card .area-only-tab{
    width:100%;
  }
}
.admin-clean-wrap{
  gap:0 !important;
}
.admin-hero-clean{
  margin-bottom:16px !important;
}
.admin-stats-grid{
  margin-top:0 !important;
  margin-bottom:22px !important;
  transform:none !important;
}
.admin-section-tabs{
  margin-top:0 !important;
}
.admin-panel-clean,
.admin-day-panel,
.area-manager-card{
  margin-top:22px !important;
}
@media(max-width:700px){
  .admin-hero-clean{
    margin-bottom:12px !important;
  }
  .admin-stats-grid{
    margin-bottom:16px !important;
  }
  .admin-panel-clean,
  .admin-day-panel,
  .area-manager-card{
    margin-top:16px !important;
  }
}
.admin-clean-wrap{
  gap:0 !important;
}
.admin-hero-clean{
  margin-bottom:0 !important;
}
.admin-stats-grid{
  margin-top:-72px !important;
  margin-bottom:34px !important;
  transform:translateY(0) !important;
  position:relative;
  z-index:3;
}
.admin-section-tabs{
  margin-top:0 !important;
}
@media(max-width:900px){
  .admin-stats-grid{
    margin-top:-34px !important;
    margin-bottom:22px !important;
  }
}
@media(max-width:700px){
  .admin-stats-grid{
    margin-top:12px !important;
    margin-bottom:16px !important;
  }
}
.clean-area-shell{
  padding: 22px 22px 28px;
}
.clean-area-overview{
  display:grid;
  gap:18px;
}
.clean-area-top{
  grid-template-columns:minmax(0,1fr) 260px;
  align-items:center;
  gap:20px;
  margin-bottom:0;
}
.clean-area-top h2{
  font-size:clamp(2.05rem,4vw,3rem);
  line-height:1.02;
  letter-spacing:-.065em;
  margin:0;
}
.clean-area-top p{
  margin-top:10px;
  max-width:640px;
  color:var(--text);
  font-size:1.02rem;
  font-weight:780;
}
.clean-town-select{
  gap:8px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#f9fdff);
  box-shadow:0 10px 25px rgba(7,95,174,.04);
}
.clean-town-select select{
  min-height:50px;
  border-radius:15px;
  font-weight:800;
  background:#fff;
}
.clean-area-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.clean-add-area-bar{
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  margin-top:2px;
  padding:12px;
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  border:1px solid #cfe8f8;
  box-shadow:0 10px 25px rgba(7,95,174,.04);
}
.clean-add-area-bar input{
  min-height:50px;
  padding:0 14px;
  border-radius:16px;
  background:#f8fcff;
  font-weight:760;
}
.clean-add-area-bar .btn{
  min-width:138px;
}
.clean-empty-area{
  padding:30px;
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#f7fcff);
  border:1px dashed #b9def6;
}
@media(max-width:900px){
  .clean-area-top{grid-template-columns:1fr;}
  .clean-area-grid{grid-template-columns:1fr;}
}
.clean-area-shell{
  padding:24px 24px 28px;
}
.clean-area-overview{
  display:grid;
  gap:22px;
}
.clean-area-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  align-items:start;
  gap:18px;
}
.clean-area-top .clean-area-title-text{
  padding-top:4px;
}
.clean-area-top h2{
  margin:0;
  font-size:clamp(2.05rem,4.2vw,3.1rem);
  line-height:1.02;
  letter-spacing:-.07em;
}
.clean-area-top p{
  margin:12px 0 0;
  max-width:680px;
  color:#5e758b;
  font-size:1rem;
  font-weight:700;
}
.clean-town-select{
  padding:12px;
  border-radius:24px;
  background:#fff;
  border:1px solid #d7edf9;
  box-shadow:0 10px 24px rgba(7,95,174,.045);
}
.clean-town-select label{
  font-size:.8rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.clean-town-select select{
  min-height:48px;
  border-radius:16px;
  font-weight:800;
  background:#fbfeff;
}
.clean-area-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.clean-add-area-bar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  padding:12px;
  border-radius:28px;
  background:#fff;
  border:1px solid #d7edf9;
  box-shadow:0 10px 24px rgba(7,95,174,.045);
}
.clean-add-area-bar input{
  min-height:52px;
  border-radius:18px;
  background:#fbfeff;
  padding:0 16px;
  font-size:1rem;
  font-weight:760;
}
.clean-add-area-bar .btn{
  min-width:150px;
  border-radius:18px;
}
@media (max-width: 900px){
  .clean-area-top{grid-template-columns:1fr;}
  .clean-area-grid{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .clean-add-area-bar{grid-template-columns:1fr;}
  .clean-add-area-bar .btn{width:100%;}
}
.clean-area-shell{padding:24px 26px 28px;}
.clean-area-overview{display:grid;gap:20px;}
.clean-area-top{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:22px;}
.clean-area-top h2{margin:0;font-size:clamp(2.2rem,4.4vw,3rem);line-height:1.02;letter-spacing:-.07em;}
.clean-area-top p{margin:10px 0 0;max-width:680px;color:#667e93;font-size:1rem;font-weight:700;}
.clean-town-select{padding:14px;border-radius:24px;background:#fff;border:1px solid #d7ebf8;box-shadow:none;}
.clean-town-select label,.clean-town-select{font-size:.8rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#106fc8;}
.clean-town-select select{margin-top:8px;min-height:48px;border-radius:16px;background:#fbfdff;font-size:1.02rem;font-weight:800;}
.clean-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.clean-add-area-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px;border-radius:26px;background:#fff;border:1px solid #d8ecf8;box-shadow:none;}
.clean-add-area-bar input{min-height:54px;border-radius:18px;padding:0 16px;background:#fbfdff;font-size:1rem;font-weight:760;}
.clean-add-area-bar .btn{min-width:150px;border-radius:18px;}
@media (max-width: 940px){
  .clean-area-top{grid-template-columns:1fr;}
  .clean-area-grid{grid-template-columns:1fr;}
}
@media (max-width: 720px){
  .clean-add-area-bar{grid-template-columns:1fr;}
  .clean-add-area-bar .btn{width:100%;}
}
.clean-area-overview{display:grid;gap:22px;}
.clean-area-top{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start;}
.clean-area-grid{display:flex !important;flex-direction:column;gap:14px;}
.clean-add-area-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:12px;border-radius:24px;border:1px solid #dbeef9;background:#fff;}
.clean-add-area-bar input{min-height:54px;border-radius:18px;background:#fbfdff;padding:0 16px;font-size:1rem;font-weight:760;}
.clean-add-area-bar .btn{min-width:150px;border-radius:18px;}
@media (max-width: 940px){
  .clean-area-top{grid-template-columns:1fr;}
}
@media (max-width: 760px){
  .clean-add-area-bar{grid-template-columns:1fr;}
  .clean-add-area-bar .btn{width:100%;}
}
.clean-area-overview{gap:18px;}
.clean-area-top{gap:18px;}
.clean-area-grid{gap:12px;}
.clean-add-area-bar{padding:10px !important; gap:10px !important; border-radius:22px !important;}
.clean-add-area-bar input{min-height:48px !important; border-radius:16px !important; font-size:.96rem !important;}
.clean-add-area-bar .btn{min-width:138px !important; border-radius:16px !important;}
.clean-area-overview{gap:18px !important;}
.clean-area-top{grid-template-columns:minmax(0,1fr) 245px !important;gap:20px !important;align-items:start !important;}
.clean-area-top h2{font-size:clamp(2rem,4vw,2.8rem) !important;}
.clean-area-top p{margin-top:8px !important;font-size:.98rem !important;max-width:620px !important;}
.clean-area-grid{display:grid !important;grid-template-columns:1fr !important;gap:12px !important;}
.clean-area-row{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 18px;border-radius:22px;background:#fff;border:1px solid #d8ecf8;
  box-shadow:0 10px 24px rgba(7,95,174,.035);text-align:left;transition:.18s ease;
}
.clean-area-row:hover{transform:translateY(-1px);border-color:#a5dcfb;box-shadow:0 16px 32px rgba(7,95,174,.06);}
.clean-area-row-left{display:flex;align-items:center;gap:16px;min-width:0;flex:1;}
.clean-area-row-badge{
  width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  flex:0 0 48px;background:linear-gradient(180deg,#eef8ff 0%, #e5f4ff 100%);border:1px solid #d2ebfa;
  color:#147ad8;font-size:1.15rem;font-weight:900;letter-spacing:-.04em;
}
.clean-area-row-copy{display:grid;gap:2px;min-width:0;}
.clean-area-row-kicker{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#7d93a7;}
.clean-area-row-title{font-size:1.22rem;line-height:1.08;font-weight:760;letter-spacing:-.04em;color:var(--ink);}
.clean-area-row-meta{font-size:.94rem;font-weight:700;color:#71879b;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.clean-area-row-right{display:flex;align-items:center;gap:10px;flex:0 0 auto;color:#1178d8;}
.clean-area-row-link{font-size:1rem;font-weight:800;white-space:nowrap;}
.clean-area-row-arrow{
  width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;
  border:1px solid #d7ebf8;background:#f7fbff;color:#1178d8;font-size:1rem;font-weight:900;
}
.clean-add-area-bar{padding:10px !important;border-radius:22px !important;gap:10px !important;}
.clean-add-area-bar input{min-height:50px !important;border-radius:16px !important;font-size:.96rem !important;}
.clean-add-area-bar .btn{min-width:140px !important;border-radius:16px !important;}
@media (max-width:900px){
  .clean-area-top{grid-template-columns:1fr !important;}
}
@media (max-width:760px){
  .clean-area-row{flex-direction:column;align-items:stretch;padding:14px !important;gap:12px;}
  .clean-area-row-left{gap:12px;}
  .clean-area-row-badge{width:44px;height:44px;flex-basis:44px;}
  .clean-area-row-title{font-size:1.08rem;}
  .clean-area-row-meta{font-size:.88rem;}
  .clean-area-row-right{justify-content:flex-end;}
  .clean-add-area-bar .btn{width:100%;min-width:0 !important;}
}
.area-only-sidebar{gap:16px !important;}
.area-only-title-block p{font-size:1rem !important;}
.area-only-recalc{margin-top:4px !important;}
.clean-area-row-badge{font-size:1rem !important; padding:0 6px; overflow:hidden;}
.clean-area-row-title{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
@media (max-width:760px){
  .clean-area-row-title{white-space:normal;}
}

/* v100 readability pass: stronger contrast and easier dashboard/admin scanning */
:root{
  --ink:#0d253b;
  --text:#40566c;
  --muted:#5d7287;
  --line:#cfe5f5;
  --green:#087a51;
  --red:#a91f16;
}

html{
  -webkit-text-size-adjust:100%;
}
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

p,
small,
.muted,
.brand small,
.auth-switch,
.small-note,
.admin-filter-result,
.calendar-footer,
.calendar-plan-where,
.area-date-item small,
.admin-customer-main small,
.admin-customer-grid small,
.active-actions span,
.wizard-account span,
.wizard-plan-card small,
.dashboard-action-card small,
.account-setting-box p,
.cancel-subscription-box p,
.retention-offer-box p,
.account-danger-row p,
.admin-retention-note p,
.admin-cancel-note p,
.area-manager-card .area-only-title-block p,
.area-manager-card .area-only-panel-head p,
.clean-area-top p,
.active-dashboard-head p,
.active-panel p,
.drawer-head p,
.wizard-hero p,
.wizard-step-head p,
.admin-hero-clean p,
.admin-panel-head p,
.admin-day-top p{
  color:#40566c !important;
  font-weight:760;
  line-height:1.62;
}

.eyebrow,
.admin-filter-bar label,
.clean-town-select,
.wizard-summary span,
.wizard-total span,
.active-overview-grid span,
.active-total-box span,
.admin-stats-grid span,
.admin-customer-grid span,
.admin-cancel-note span,
.admin-retention-note span,
.area-manager-card .area-only-stats span,
.clean-area-row-kicker{
  letter-spacing:.065em;
  line-height:1.35;
}

.wizard-hero h1,
.wizard-step-head h2,
.active-dashboard-head h2,
.active-panel h3,
.drawer-head h3,
.retention-offer-box strong,
.admin-hero-clean h1,
.admin-panel-head h2,
.admin-day-top h2,
.clean-area-top h2,
.area-manager-card .area-only-title-block h2,
.area-manager-card .area-only-panel-head h3,
.section-head h2,
.founder-clean-card h2,
.final-clean-box h2,
.auth-card h1,
.dash-top h1{
  letter-spacing:-.045em !important;
}

label,
input,
select,
textarea,
.clean-inline-form input,
.clean-add-area-bar input,
.admin-filter-bar select,
.clean-town-select select{
  color:#0d253b !important;
}

label,
.admin-filter-bar label,
.clean-town-select,
.wizard-progress button,
.area-manager-card .area-only-tab,
.admin-section-tabs button,
.btn{
  font-weight:920;
}

input::placeholder,
textarea::placeholder{
  color:#6d7f91 !important;
  opacity:1;
  font-weight:780;
}

input,
select,
textarea,
.clean-inline-form input,
.clean-add-area-bar input,
.admin-filter-bar select,
.clean-town-select select{
  border-color:#c8e1f3 !important;
}

.btn-primary,
.admin-start-day-btn,
.dashboard-tab.is-active,
.wizard-progress button.is-active,
.dashboard-action-card.is-active,
.admin-section-tabs button.is-active,
.area-manager-card .area-only-tab.is-active,
.area-detail-tabs button.is-active,
.area-select-row button.is-active{
  text-shadow:0 1px 1px rgba(0,0,0,.12);
}

.btn-primary,
.admin-start-day-btn,
.dashboard-action-card.is-active,
.admin-section-tabs button.is-active,
.area-manager-card .area-only-tab.is-active{
  color:#fff !important;
}

.admin-section-tabs button.is-active small,
.dashboard-action-card.is-active small,
.wizard-plan-card.premium.is-selected small,
.admin-start-day-btn small,
.final-clean-box p,
.price-clean-card.premium p,
.price-clean-card.premium li,
.wizard-total span{
  color:rgba(255,255,255,.94) !important;
  font-weight:850;
}

.dashboard-action-card strong,
.admin-section-tabs span,
.area-manager-card .area-only-tab,
.wizard-progress button,
.area-street-chip,
.calendar-day,
.clean-mini-day,
.status-pill,
.mini-pill,
.admin-status-pill,
.clean-area-row-title,
.clean-area-row-meta{
  color:#0d253b;
}

.dashboard-action-card small,
.admin-section-tabs small,
.calendar-weekdays span,
.clean-mini-weekdays span,
.calendar-plan-head span,
.admin-status-pill,
.clean-area-row-meta{
  color:#40566c !important;
}

.dashboard-action-card.is-active strong,
.dashboard-action-card.is-active span,
.admin-section-tabs button.is-active span,
.area-manager-card .area-only-tab.is-active,
.wizard-progress button.is-active{
  color:#fff !important;
}

.status-pill.active,
.admin-status-pill.active{
  color:#087a51 !important;
  background:#e8f8f0;
}

.area-street-chip,
.abfuhr-area-line,
.active-total-box,
.wizard-summary div,
.admin-customer-grid > div,
.calendar-plan-box{
  background:#eef8ff;
}

.form-msg,
.area-check-result,
.clean-mini-selected,
.calendar-plan-what{
  color:#0869c7 !important;
  font-weight:920;
}

.form-msg.error,
.area-check-result.error,
.btn.danger,
.danger,
.soft-danger,
.admin-cancel-note span{
  color:#a91f16 !important;
}

@media(max-width:640px){
  p,
  small,
  .dashboard-action-card small,
  .admin-section-tabs small,
  .active-dashboard-head p,
  .active-panel p,
  .wizard-step-head p,
  .admin-day-top p{
    line-height:1.68;
  }
}


/* v101 fix: keep dark text off blue gradient marketing cards */
.process-promise,
.process-promise h3,
.process-promise strong,
.process-promise .mini-label{
  color:#fff !important;
}

.process-promise p{
  color:rgba(255,255,255,.92) !important;
  font-weight:820;
  line-height:1.58;
  text-shadow:0 1px 1px rgba(0,0,0,.10);
}

.promise-mini-grid span{
  color:rgba(255,255,255,.92) !important;
  font-weight:850;
}

.promise-mini-grid div{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.22);
}

.mini-label{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.24);
}

/* v110: Ort hinzufügen uses same full-width control style as Bereich hinzufügen */
.clean-add-town-bar,
.clean-add-area-bar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  padding:10px !important;
  border-radius:22px !important;
  border:1px solid #dbeef9;
  background:#fff;
}
.clean-add-town-bar{
  margin:0 0 14px;
}
.clean-add-town-bar input,
.clean-add-area-bar input{
  min-height:50px !important;
  border-radius:16px !important;
  background:#fbfdff;
  padding:0 16px;
  font-size:.96rem !important;
  font-weight:760;
}
.clean-add-town-bar .btn,
.clean-add-area-bar .btn{
  min-width:140px !important;
  border-radius:16px !important;
}
@media(max-width:700px){
  .clean-add-town-bar,
  .clean-add-area-bar{
    grid-template-columns:1fr;
  }
  .clean-add-town-bar .btn,
  .clean-add-area-bar .btn{
    width:100%;
    min-width:0 !important;
  }
}

/* v110: Admin customer cards only use Aktiv/Inaktiv membership status. */
.admin-actions-clean .btn.is-selected {
  box-shadow: inset 0 0 0 2px rgba(14, 105, 204, 0.18);
  transform: translateY(-1px);
}

@media(max-width:720px){
  .admin-cancel-line{
    display:block;
  }
  .admin-cancel-note p{
    margin-top:6px;
  }
}



/* v147: one clean wave divider only */
.hero-polished{
  position:relative;
  overflow:hidden;
  padding-bottom:96px;
}
.hero-polished:before{
  display:none;
}
.hero-polished-grid,
.hero-polished-copy,
.service-preview-card{
  position:relative;
  z-index:1;
}
.home-flow{
  --flow-line-x:50%;
  position:relative;
  margin-top:0;
  padding:0 0 34px;
  overflow:visible;
  background:
    radial-gradient(circle at 10% 8%,rgba(27,184,255,.035),transparent 24rem),
    radial-gradient(circle at 88% 48%,rgba(15,143,232,.03),transparent 30rem),
    linear-gradient(180deg,rgba(244,251,255,.68),rgba(255,255,255,.78) 52%,rgba(244,251,255,.68));
  border-top:0;
  border-bottom:1px solid rgba(216,236,251,.66);
}
.home-flow:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-112px;
  height:148px;
  background-repeat:no-repeat;
  background-position:center bottom;
  background-size:100% 100%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 150' preserveAspectRatio='none'%3E%3Cpath fill='%23f6fbff' d='M0 112C96 128 192 130 288 118C384 106 480 78 576 66C672 54 768 62 864 78C960 94 1056 118 1152 122C1248 126 1344 110 1440 88V150H0Z'/%3E%3Cpath fill='none' stroke='%23d8ecfb' stroke-opacity='.92' stroke-width='2' d='M0 112C96 128 192 130 288 118C384 106 480 78 576 66C672 54 768 62 864 78C960 94 1056 118 1152 122C1248 126 1344 110 1440 88'/%3E%3C/svg%3E");
  pointer-events:none;
  z-index:0;
}
.home-flow:before{
  content:"";
  position:absolute;
  top:28px;
  bottom:-108px;
  left:var(--flow-line-x);
  width:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,transparent 0%,rgba(15,143,232,.22) 10%,rgba(15,143,232,.12) 86%,rgba(15,143,232,0) 100%);
  pointer-events:none;
}
.home-flow > section{
  position:relative;
  z-index:1;
}
.home-flow .why-clean{
  padding-top:62px;
}
.home-flow .prices-clean,
.home-flow .process-showcase,
.home-flow .founder-clean{
  padding-top:62px;
  padding-bottom:62px;
}
.home-flow .section-head{
  margin-bottom:26px;
}
.home-flow .section-head > .eyebrow{
  display:none;
}
.clean-benefits article,
.price-clean-card,
.process-showcase-card,
.founder-clean-card,
.service-preview-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.clean-benefits article:hover,
.price-clean-card:hover,
.process-showcase-card:hover,
.founder-clean-card:hover,
.service-preview-card:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 70px rgba(7,95,174,.14);
  border-color:#c4e8fb;
}
.clean-benefits article:nth-child(2){
  margin-top:22px;
}
.clean-benefits article:nth-child(3){
  margin-top:44px;
}
.prices-clean .section-head,
.process-showcase .section-head{
  margin-inline:auto;
  text-align:center;
}
.price-clean-grid{
  align-items:stretch;
}
.price-clean-card{
  overflow:hidden;
}
.price-clean-card:not(.premium):before,
.clean-benefits article:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,rgba(27,184,255,.65),rgba(8,105,199,.08));
  border-radius:inherit;
  opacity:.70;
}
.clean-benefits article{
  position:relative;
  overflow:hidden;
}
.process-showcase-card{
  backdrop-filter:blur(12px);
  background:rgba(255,255,255,.86);
}
.founder-clean-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 0% 0%,rgba(27,184,255,.08),transparent 22rem),
    rgba(255,255,255,.92);
}
.final-clean{
  position:relative;
  margin-top:-1px;
  padding-top:70px;
  background:linear-gradient(180deg,rgba(241,250,255,.78),#fff 72%);
}
.final-clean:before{
  content:"";
  position:absolute;
  top:0;
  bottom:120px;
  left:50%;
  width:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(15,143,232,.12),rgba(15,143,232,.08),rgba(15,143,232,0));
  pointer-events:none;
}
.final-clean:after{
  display:none;
}
.final-clean-box{
  position:relative;
  z-index:1;
  transform:translateY(0);
}

@media(max-width:960px){
  .home-flow:before,
  .final-clean:before,
  .final-clean:after{
    display:none;
  }
  .home-flow:after{
    top:-88px;
    height:118px;
  }
  .clean-benefits article:nth-child(2),
  .clean-benefits article:nth-child(3){
    margin-top:0;
  }
}
@media(max-width:640px){
  .hero-polished{
    padding-bottom:84px;
  }
  .home-flow{
    --matched-wave-gap-min:0px;
    --matched-wave-gap-max:0px;
    --matched-wave-gap:clamp(var(--matched-wave-gap-min), 0vw, var(--matched-wave-gap-max));
    margin-top:var(--matched-wave-gap);
    overflow:hidden;
  }
  .home-flow:after{
    top:-68px;
    height:92px;
  }
  .home-flow .why-clean,
  .home-flow .prices-clean,
  .home-flow .process-showcase,
  .home-flow .founder-clean{
    padding-top:46px;
    padding-bottom:46px;
  }
  .clean-benefits article:hover,
  .price-clean-card:hover,
  .process-showcase-card:hover,
  .founder-clean-card:hover,
  .service-preview-card:hover{
    transform:none;
  }
}



/* v134: FAQ/contact section */
.faq-clean{
  position:relative;
  padding-top:62px;
  padding-bottom:62px;
}
.faq-clean-card{
  position:relative;
  z-index:1;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 90% 0%,rgba(27,184,255,.08),transparent 18rem),
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(251,254,255,.92));
  box-shadow:0 28px 70px rgba(7,95,174,.11);
  border-radius:34px;
  padding:34px;
  overflow:hidden;
}
.faq-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.faq-grid details{
  border:1px solid rgba(198,229,249,.95);
  background:linear-gradient(180deg,#ffffff,#f6fbff);
  border-radius:24px;
  padding:18px 20px;
  box-shadow:0 10px 26px rgba(7,95,174,.06);
  cursor:pointer;
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease, background .22s ease;
}
.faq-grid details:hover{
  transform:translateY(-2px);
  border-color:#b9e0fb;
  box-shadow:0 18px 40px rgba(7,95,174,.10);
}
.faq-grid details[open]{
  border-color:#b9e0fb;
  background:linear-gradient(180deg,#ffffff,#eef9ff);
  box-shadow:0 20px 44px rgba(7,95,174,.11);
}
.faq-grid summary{
  cursor:pointer;
  list-style:none;
  color:var(--text);
  font-size:1.04rem;
  font-weight:950;
  letter-spacing:-.035em;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  user-select:none;
}
.faq-grid summary::-webkit-details-marker{
  display:none;
}
.faq-grid summary:after{
  content:"+";
  flex:0 0 auto;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:var(--blue-dark);
  background:#eaf7ff;
  border:1px solid var(--line);
  font-weight:950;
}
.faq-grid details[open] summary:after{
  content:"–";
}
.faq-grid p{
  margin-top:12px;
  color:#40566c;
  font-weight:760;
  line-height:1.62;
}
.faq-contact-merge{
  position:relative;
  display:grid;
  grid-template-columns:minmax(280px,.95fr) minmax(500px,1.05fr);
  gap:34px;
  align-items:start;
  margin-top:28px;
  padding:38px;
  border:1px solid rgba(147,212,252,.95);
  border-radius:34px;
  background:linear-gradient(135deg,#ddf4ff 0%,#edf9ff 42%,#d8f1ff 100%);
  box-shadow:0 18px 40px rgba(7,95,174,.09);
  overflow:hidden;
}
.faq-contact-merge h3{
  margin:0 0 12px;
  font-size:clamp(2.45rem,4.8vw,3.7rem);
  line-height:.98;
  letter-spacing:-.07em;
  color:var(--ink);
}
.faq-contact-merge p{
  max-width:520px;
  color:#40566c;
  font-weight:780;
  line-height:1.66;
  font-size:1.08rem;
}
.contact-inline-form{
  position:relative;
  z-index:1;
  display:grid;
  gap:18px;
  width:100%;
  max-width:none;
  padding:26px;
  border-radius:28px;
  background:rgba(255,255,255,.93);
  border:1px solid rgba(198,229,249,.96);
  box-shadow:0 14px 32px rgba(7,95,174,.08);
}
.contact-inline-form label{
  display:grid;
  gap:8px;
}
.contact-inline-form label span{
  color:var(--blue-dark);
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.contact-inline-form input,
.contact-inline-form textarea{
  width:100%;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(156,218,255,.96);
  box-shadow:0 12px 26px rgba(7,95,174,.07);
  min-height:66px;
  padding:0 18px;
  border-radius:20px;
  font-size:1.06rem;
}
.contact-inline-form textarea{
  min-height:230px;
  padding:18px;
}
.contact-field-full{
  grid-column:1 / -1;
}
.contact-actions-clean{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:flex-start;
  align-items:center;
}
.contact-actions-clean .btn{
  min-width:240px;
}
@media(max-width:900px){
  .faq-grid{
    grid-template-columns:1fr;
  }
  .faq-contact-merge{
    grid-template-columns:1fr;
    padding:24px;
  }
  .contact-actions-clean{
    justify-content:flex-start;
  }
  .contact-inline-form{
    width:100%;
  }
}
@media(max-width:640px){
  .faq-clean{
    padding-top:34px;
    padding-bottom:34px;
  }
  .faq-clean-card{
    padding:20px;
    border-radius:26px;
  }
  .contact-inline-form{
    width:100%;
  }
  .contact-actions-clean .btn{
    width:100%;
  }
}


@media(max-width:960px){
  .faq-contact-merge{
    grid-template-columns:1fr;
    padding:26px;
  }
}

@media(max-width:720px){
  .site-bg-pattern{
    opacity:.30;
    background-size:auto,auto,auto,auto,112px 112px;
  }
}



/* v149 verified gradient cleanup: these are the exact visible blue frames */
.process-promise,
.final-clean-box,
.price-clean-card.premium,
.plan-row.premium,
.admin-start-day-btn{
  background:var(--brand-gradient-frame) !important;
  border-color:transparent !important;
}

.dashboard-tab.is-active,
.dashboard-action-card.is-active,
.wizard-progress button.is-active,
.wizard-plan-card.premium.is-selected,
.calendar-day.is-selected.has-cleaning,
.btn-primary{
  background:var(--brand-gradient-base) !important;
}

.process-promise,
.final-clean-box,
.price-clean-card.premium{
  box-shadow:0 24px 64px rgba(7,95,174,.16) !important;
}


/* v150 fix: remove the separate white panel behind the final blue CTA card */
.final-clean{
  background:transparent !important;
  padding-top:70px;
}
.final-clean-box{
  background:var(--brand-gradient-frame) !important;
  border:0 !important;
}


/* v151 fix: remove the section background seam above the final CTA */
.home-flow{
  background:transparent !important;
  border-bottom:0 !important;
}
.final-clean{
  background:transparent !important;
  border-top:0 !important;
  box-shadow:none !important;
}
.final-clean:before,
.final-clean:after{
  display:none !important;
}


/* v152 verified fix: keep final CTA in the same visual flow and remove the horizontal section seam */
.home-flow{
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  padding-bottom:0 !important;
}
.home-flow::after{
  border:0 !important;
}
.final-clean{
  margin-top:0 !important;
  padding-top:70px !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}
.final-clean::before,
.final-clean::after{
  display:none !important;
  content:none !important;
}


/* v153: founder personal story text */
.founder-story{
  display:grid;
  gap:14px;
  max-width:720px;
  margin-top:14px;
}
.founder-story p{
  color:#40566c;
  font-weight:780;
  line-height:1.66;
}


/* v168: clean compact public booking page - rebuilt without old booking overrides */
.booking-v168-page{
  min-height:calc(100vh - 76px);
  padding:24px 0 40px;
}
.booking-v168-wrap{
  width:min(100%,850px);
  display:grid;
  gap:16px;
}
.booking-v168-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:22px;
  padding:0 4px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.booking-v168-intro .eyebrow{margin:0 0 8px;display:block;}
.booking-v168-intro h1{
  margin:0;
  max-width:620px;
  font-size:clamp(2.15rem,4vw,3rem);
  line-height:.98;
  letter-spacing:-.065em;
}
.booking-v168-intro p{
  max-width:640px;
  margin:8px 0 0;
  color:#40566c;
  font-weight:780;
  line-height:1.55;
}
.booking-v168-chips{
  display:flex;
  gap:8px;
  align-items:flex-end;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.booking-v168-chips span{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  padding:0 14px;
  border-radius:999px;
  color:#0f2a43;
  font-weight:920;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(202,231,249,.95);
  box-shadow:0 10px 26px rgba(7,95,174,.055);
  white-space:nowrap;
}
.booking-v168-card{
  padding:14px 16px 16px;
  border-radius:30px;
  border:1px solid rgba(202,231,249,.95);
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(18px) saturate(1.08);
  box-shadow:0 26px 74px rgba(7,95,174,.11);
  min-height:0 !important;
  animation:bookingV168In .24s ease-out both;
}
.booking-v168-progress{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  padding:6px;
  margin:0 0 12px;
  border-radius:999px;
  background:rgba(238,248,255,.76);
  border:1px solid rgba(202,231,249,.95);
}
.booking-v168-progress button{
  min-height:38px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#40566c;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:950;
  transition:background .2s ease,color .2s ease,box-shadow .2s ease;
}
.booking-v168-progress button.is-active{
  color:#fff;
  background:var(--brand-gradient-base,linear-gradient(135deg,#168bd1 0%,#319fd5 56%,#6bb9d9 100%));
  box-shadow:0 10px 22px rgba(7,95,174,.15);
}
.booking-v168-progress button.is-done{
  color:var(--blue-dark);
  background:rgba(255,255,255,.84);
}
.booking-v168-progress span{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--blue-dark);
  font-size:.74rem;
}
.booking-v168-form{
  display:block;
  margin:0;
  padding:0;
  min-height:0 !important;
}
.booking-v168-step{
  display:none;
  min-height:0 !important;
}
.booking-v168-step.is-active{
  display:grid;
  gap:10px;
  padding-top:4px;
  min-height:0 !important;
  animation:bookingV168Step .2s ease-out both;
}
.booking-v168-step-head{
  margin:0 0 2px;
}
.booking-v168-step-head h2{
  margin:3px 0 0;
  font-size:clamp(1.9rem,3.5vw,2.55rem);
  line-height:1;
  letter-spacing:-.065em;
}
.booking-v168-step-head p{
  margin:6px 0 0;
  color:#40566c;
  font-weight:780;
}
.booking-v168-form label{
  margin:0;
  color:#102840;
  font-weight:920;
}
.booking-v168-form input,
.booking-v168-form select{
  width:100%;
  min-height:44px;
  margin-top:6px;
  border-radius:16px;
  background:#fbfdff;
  border:1px solid rgba(183,222,246,.98);
}
.booking-v168-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.booking-v168-zone{
  padding:9px 13px;
  border-radius:16px;
  background:rgba(238,248,255,.72);
  border:1px solid rgba(202,231,249,.92);
  color:#40566c;
  font-weight:850;
}
.booking-v168-zone strong{color:var(--blue-dark)}
.booking-v168-form .form-msg,
.booking-v168-form [data-address-msg],
.booking-v168-form [data-booking-msg]{
  min-height:0;
  margin:0;
  padding:0;
}
.booking-v168-form .form-msg:empty,
.booking-v168-form [data-address-msg]:empty,
.booking-v168-form [data-booking-msg]:empty{
  display:none;
}
.booking-v168-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:6px;
}
.booking-v168-actions .btn{
  min-height:43px;
  box-shadow:0 18px 36px rgba(7,95,174,.14);
}
.booking-v168-plans{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.booking-v168-plan{
  cursor:pointer;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  min-height:88px;
  padding:14px;
  border-radius:22px;
  border:1px solid rgba(202,231,249,.90);
  background:rgba(255,255,255,.78);
  box-shadow:0 10px 26px rgba(7,95,174,.06);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.booking-v168-plan.is-selected{
  border-color:rgba(15,143,232,.45);
  background:#f7fcff;
  box-shadow:0 14px 34px rgba(7,95,174,.10);
}
.booking-v168-plan input{
  width:21px;
  height:21px;
  accent-color:var(--blue-dark);
}
.booking-v168-plan strong,
.booking-v168-plan small{display:block}
.booking-v168-plan small{margin-top:4px;color:#40566c;font-weight:800}
.booking-v168-plan b{color:var(--blue-dark);font-size:1.5rem;line-height:1}
.booking-v168-form input:focus,
.booking-v168-form select:focus,
.booking-v168-form textarea:focus{
  background:#fbfdff;
  border-color:rgba(15,143,232,.78);
  box-shadow:0 0 0 4px rgba(15,143,232,.12), 0 12px 28px rgba(7,95,174,.08);
}
@keyframes bookingV168In{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes bookingV168Step{
  from{opacity:0;transform:translateY(4px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:820px){
  .booking-v168-page{padding:16px 0 28px;}
  .booking-v168-wrap{gap:12px;}
  .booking-v168-intro{grid-template-columns:1fr;gap:10px;}
  .booking-v168-chips{justify-content:flex-start;}
  .booking-v168-card{padding:12px;border-radius:24px;}
  .booking-v168-progress{grid-template-columns:1fr;border-radius:22px;}
  .booking-v168-progress button{justify-content:flex-start;padding:0 12px;}
  .booking-v168-grid,.booking-v168-plans{grid-template-columns:1fr;}
  .booking-v168-actions{align-items:stretch;flex-direction:column-reverse;}
  .booking-v168-actions .btn{width:100%;}
}


/* v169: final booking spacing polish - compact, balanced, no dead bottom gaps */
.booking-v168-page{
  min-height:calc(100svh - 76px);
  display:flex;
  align-items:flex-start;
  padding:18px 0 28px !important;
}
.booking-v168-wrap{
  width:min(100%,820px) !important;
  gap:12px !important;
}
.booking-v168-intro{
  grid-template-columns:1fr auto !important;
  align-items:center !important;
  gap:14px !important;
  padding:0 2px !important;
}
.booking-v168-intro .eyebrow{
  margin-bottom:5px !important;
}
.booking-v168-intro h1{
  font-size:clamp(2rem,3.3vw,2.75rem) !important;
  letter-spacing:-.055em !important;
}
.booking-v168-intro p{
  max-width:560px !important;
  margin-top:5px !important;
  font-size:.98rem !important;
  line-height:1.45 !important;
}
.booking-v168-chips{
  align-items:center !important;
}
.booking-v168-chips span{
  min-height:30px !important;
  padding:0 12px !important;
  font-size:.82rem !important;
}
.booking-v168-card{
  padding:12px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.90) !important;
  box-shadow:0 22px 58px rgba(7,95,174,.105) !important;
}
.booking-v168-progress{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:6px !important;
  padding:5px !important;
  margin:0 0 10px !important;
  border-radius:22px !important;
}
.booking-v168-progress button{
  min-height:36px !important;
  padding:0 10px !important;
  border-radius:18px !important;
  font-size:.86rem !important;
}
.booking-v168-progress span{
  width:20px !important;
  height:20px !important;
  font-size:.7rem !important;
  flex:0 0 20px !important;
}
.booking-v168-step.is-active{
  gap:9px !important;
  padding:0 !important;
}
.booking-v168-step-head{
  margin:0 !important;
  padding:3px 2px 1px !important;
}
.booking-v168-step-head .eyebrow{
  margin-bottom:5px !important;
}
.booking-v168-step-head h2{
  margin:0 !important;
  font-size:clamp(1.7rem,3vw,2.28rem) !important;
  letter-spacing:-.052em !important;
}
.booking-v168-step-head p{
  margin-top:5px !important;
  font-size:.95rem !important;
  line-height:1.46 !important;
}
.booking-v168-form label{
  gap:0 !important;
  font-size:.9rem !important;
}
.booking-v168-form input,
.booking-v168-form select{
  min-height:46px !important;
  margin-top:5px !important;
  border-radius:15px !important;
  padding-inline:13px !important;
}
.booking-v168-grid{
  gap:10px !important;
}
.booking-v168-zone{
  padding:8px 12px !important;
  border-radius:15px !important;
  font-size:.9rem !important;
  line-height:1.35 !important;
}
.booking-v168-actions{
  margin-top:1px !important;
  gap:10px !important;
}
.booking-v168-actions .btn{
  min-height:42px !important;
  padding-inline:18px !important;
}
.booking-v168-plans{
  gap:10px !important;
}
.booking-v168-plan{
  min-height:76px !important;
  padding:12px !important;
  gap:10px !important;
  border-radius:19px !important;
}
.booking-v168-plan b{
  font-size:1.35rem !important;
}
.booking-v168-plan small{
  margin-top:2px !important;
  line-height:1.28 !important;
}
.booking-v168-form .wizard-total{
  padding:14px 16px !important;
  border-radius:19px !important;
}
.booking-v168-form .wizard-total strong{
  margin-top:3px !important;
  font-size:1.72rem !important;
}
.booking-v168-form .wizard-summary{
  gap:10px !important;
}
.booking-v168-form .wizard-summary div{
  padding:12px !important;
  border-radius:17px !important;
}
.booking-v168-form .wizard-summary strong{
  margin-top:3px !important;
}
.booking-v168-form [data-address-msg]:not(:empty),
.booking-v168-form [data-booking-msg]:not(:empty),
.booking-v168-form .form-msg:not(:empty){
  display:block !important;
  padding:8px 10px !important;
  border-radius:14px !important;
  background:#eef8ff !important;
  border:1px solid rgba(202,231,249,.95) !important;
  line-height:1.35 !important;
}
.booking-v168-form .form-msg.error:not(:empty),
.booking-v168-form [data-address-msg].error:not(:empty),
.booking-v168-form [data-booking-msg].error:not(:empty){
  background:#fff4f2 !important;
  border-color:#ffd5cc !important;
}

@media(max-width:820px){
  .booking-v168-page{
    min-height:calc(100svh - 66px);
    padding:12px 0 18px !important;
  }
  .booking-v168-wrap{
    gap:10px !important;
  }
  .booking-v168-intro{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .booking-v168-intro p{
    font-size:.94rem !important;
  }
  .booking-v168-chips{
    gap:6px !important;
  }
  .booking-v168-chips span{
    min-height:28px !important;
    padding:0 10px !important;
    font-size:.78rem !important;
  }
  .booking-v168-card{
    padding:10px !important;
    border-radius:24px !important;
  }
  .booking-v168-progress{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
    padding:5px !important;
    margin-bottom:9px !important;
    border-radius:18px !important;
  }
  .booking-v168-progress button{
    min-height:42px !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:3px !important;
    padding:5px 3px !important;
    border-radius:15px !important;
    font-size:.68rem !important;
    line-height:1.08 !important;
    text-align:center !important;
  }
  .booking-v168-progress span{
    width:19px !important;
    height:19px !important;
    flex-basis:19px !important;
  }
  .booking-v168-step.is-active{
    gap:8px !important;
  }
  .booking-v168-step-head{
    padding:2px 1px 0 !important;
  }
  .booking-v168-step-head h2{
    font-size:1.62rem !important;
  }
  .booking-v168-step-head p{
    font-size:.9rem !important;
    margin-top:4px !important;
  }
  .booking-v168-grid,
  .booking-v168-plans,
  .booking-v168-form .wizard-summary{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .booking-v168-form input,
  .booking-v168-form select{
    min-height:45px !important;
  }
  .booking-v168-plan{
    min-height:70px !important;
    padding:11px !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
  }
  .booking-v168-actions{
    flex-direction:column-reverse !important;
    align-items:stretch !important;
    gap:8px !important;
    margin-top:0 !important;
  }
  .booking-v168-actions .btn{
    width:100% !important;
    min-height:43px !important;
  }
}

@media(max-width:380px){
  .booking-v168-progress button{
    font-size:.62rem !important;
  }
  .booking-v168-plan{
    grid-template-columns:auto 1fr !important;
  }
  .booking-v168-plan b{
    grid-column:2;
    justify-self:start;
    margin-top:2px;
  }
}


/* v170: real booking layout fix - no split intro, no stretched empty card space */
.booking-v168-page{
  align-items:flex-start !important;
  padding:18px 0 28px !important;
}
.booking-v168-wrap{
  width:min(100%,850px) !important;
  align-content:start !important;
  grid-auto-rows:max-content !important;
}
.booking-v168-intro{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:
    "eyebrow chips"
    "title chips"
    "copy chips" !important;
  align-items:center !important;
  column-gap:28px !important;
  row-gap:0 !important;
  padding:0 4px 2px !important;
}
.booking-v168-intro .eyebrow{grid-area:eyebrow !important; margin:0 0 5px !important;}
.booking-v168-intro h1{grid-area:title !important; max-width:none !important; margin:0 !important;}
.booking-v168-intro p{grid-area:copy !important; max-width:600px !important; margin:7px 0 0 !important;}
.booking-v168-chips{grid-area:chips !important; justify-content:flex-end !important; align-self:center !important;}
.booking-v168-card{
  align-self:start !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding:12px 16px 14px !important;
  overflow:visible !important;
}
.booking-v168-form,
.booking-v168-step,
.booking-v168-step.is-active{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  align-self:start !important;
}
.booking-v168-step.is-active{
  display:grid !important;
  grid-auto-rows:max-content !important;
  align-content:start !important;
  gap:8px !important;
}
.booking-v168-progress{margin-bottom:9px !important;}
.booking-v168-step-head{padding:2px 0 0 !important;}
.booking-v168-step-head h2{font-size:clamp(1.75rem,3vw,2.25rem) !important;}
.booking-v168-step-head p{margin-top:4px !important;}
.booking-v168-form label{line-height:1.2 !important;}
.booking-v168-form input,
.booking-v168-form select{min-height:43px !important; margin-top:5px !important;}
.booking-v168-zone{padding:8px 12px !important;}
.booking-v168-actions{margin-top:2px !important; padding:0 !important;}
.booking-v168-actions span:empty{display:block !important; width:1px !important; height:1px !important;}

@media(max-width:820px){
  .booking-v168-page{padding:12px 0 18px !important;}
  .booking-v168-intro{
    grid-template-columns:1fr !important;
    grid-template-areas:"eyebrow" "title" "copy" "chips" !important;
    gap:0 !important;
  }
  .booking-v168-intro h1{font-size:clamp(2rem,10vw,2.75rem) !important;}
  .booking-v168-intro p{margin-top:6px !important;}
  .booking-v168-chips{justify-content:flex-start !important; margin-top:10px !important;}
  .booking-v168-card{padding:10px !important; border-radius:22px !important;}
  .booking-v168-progress{margin-bottom:8px !important;}
}

/* v171: booking progress larger + hard remove dead bottom space */
.booking-v168-card{
  display:block !important;
  height:auto !important;
  min-height:unset !important;
  max-height:none !important;
  padding:14px 16px 12px !important;
}
.booking-v168-progress{
  min-height:56px !important;
  padding:6px !important;
  gap:8px !important;
  margin:0 0 12px !important;
  border-radius:999px !important;
}
.booking-v168-progress button{
  min-height:44px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  font-size:1rem !important;
  line-height:1.1 !important;
  gap:10px !important;
  white-space:nowrap !important;
}
.booking-v168-progress span{
  width:24px !important;
  height:24px !important;
  flex:0 0 24px !important;
  font-size:.82rem !important;
}
.booking-v168-form{
  display:block !important;
  height:auto !important;
  min-height:unset !important;
  padding:0 !important;
  margin:0 !important;
}
.booking-v168-step{
  height:auto !important;
  min-height:unset !important;
  max-height:none !important;
}
.booking-v168-step.is-active{
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
  height:auto !important;
  min-height:unset !important;
  max-height:none !important;
  padding:0 !important;
  margin:0 !important;
}
.booking-v168-actions{
  margin:2px 0 0 !important;
  padding:0 !important;
  min-height:0 !important;
}
.booking-v168-actions .btn{
  min-height:44px !important;
}
.booking-v168-actions:after,
.booking-v168-step.is-active:after,
.booking-v168-form:after,
.booking-v168-card:after{
  content:none !important;
  display:none !important;
}
.booking-v168-form [data-address-msg]:not(:empty),
.booking-v168-form [data-booking-msg]:not(:empty),
.booking-v168-form .form-msg:not(:empty){
  margin:0 !important;
}
@media(max-width:820px){
  .booking-v168-card{
    padding:12px 12px 10px !important;
  }
  .booking-v168-progress{
    min-height:54px !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    border-radius:999px !important;
    gap:6px !important;
    margin-bottom:10px !important;
  }
  .booking-v168-progress button{
    min-height:42px !important;
    flex-direction:row !important;
    justify-content:center !important;
    gap:7px !important;
    padding:0 6px !important;
    border-radius:999px !important;
    font-size:.82rem !important;
    line-height:1.1 !important;
  }
  .booking-v168-progress span{
    width:22px !important;
    height:22px !important;
    flex:0 0 22px !important;
    font-size:.76rem !important;
  }
  .booking-v168-actions{
    margin-top:2px !important;
  }
}
@media(max-width:430px){
  .booking-v168-progress button{
    font-size:.72rem !important;
    gap:5px !important;
    padding:0 4px !important;
  }
  .booking-v168-progress span{
    width:20px !important;
    height:20px !important;
    flex-basis:20px !important;
  }
}

/* v172: booking page breathing room without bringing back bottom dead space */
.booking-v168-card{
  padding:20px 22px 20px !important;
}
.booking-v168-progress{
  min-height:62px !important;
  padding:7px !important;
  gap:10px !important;
  margin:0 0 18px !important;
}
.booking-v168-progress button{
  min-height:48px !important;
  padding:0 22px !important;
  font-size:1.04rem !important;
}
.booking-v168-step.is-active{
  gap:14px !important;
}
.booking-v168-step-head{
  padding:0 0 2px !important;
}
.booking-v168-step-head .eyebrow{
  margin-bottom:7px !important;
}
.booking-v168-step-head h2{
  margin-bottom:2px !important;
}
.booking-v168-step-head p{
  margin-top:6px !important;
  line-height:1.5 !important;
}
.booking-v168-form label{
  gap:2px !important;
}
.booking-v168-form input,
.booking-v168-form select{
  min-height:48px !important;
  margin-top:7px !important;
  padding-inline:15px !important;
}
.booking-v168-grid{
  gap:14px !important;
}
.booking-v168-zone{
  padding:11px 14px !important;
}
.booking-v168-form [data-address-msg]:not(:empty),
.booking-v168-form [data-booking-msg]:not(:empty),
.booking-v168-form .form-msg:not(:empty){
  padding:9px 0 !important;
  background:transparent !important;
  border:0 !important;
}
.booking-v168-actions{
  margin-top:0 !important;
  padding-top:2px !important;
}
.booking-v168-actions .btn{
  min-height:46px !important;
  padding-inline:22px !important;
}

@media(max-width:820px){
  .booking-v168-card{
    padding:16px 16px 16px !important;
  }
  .booking-v168-progress{
    min-height:58px !important;
    margin-bottom:15px !important;
  }
  .booking-v168-progress button{
    min-height:44px !important;
    padding:0 8px !important;
    font-size:.86rem !important;
  }
  .booking-v168-step.is-active{
    gap:12px !important;
  }
  .booking-v168-grid,
  .booking-v168-plans,
  .booking-v168-form .wizard-summary{
    gap:12px !important;
  }
  .booking-v168-form input,
  .booking-v168-form select{
    min-height:47px !important;
  }
  .booking-v168-actions{
    padding-top:1px !important;
  }
}


/* v173: booking intro hero redesign - make top section feel intentional and cohesive */
.booking-v168-wrap{
  width:min(100%, 960px) !important;
  gap:18px !important;
}
.booking-v168-intro{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:
    "eyebrow chips"
    "title chips"
    "copy chips" !important;
  align-items:center !important;
  column-gap:28px !important;
  row-gap:0 !important;
  padding:22px 26px !important;
  border-radius:30px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.56) 0%, rgba(255,255,255,.42) 100%) !important;
  border:1px solid rgba(202,231,249,.96) !important;
  box-shadow:0 18px 50px rgba(7,95,174,.07) !important;
  backdrop-filter:blur(12px) saturate(1.04) !important;
  overflow:hidden !important;
}
.booking-v168-intro::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 16% 18%, rgba(71,165,226,.10), transparent 24%),
    radial-gradient(circle at 86% 26%, rgba(71,165,226,.07), transparent 22%),
    linear-gradient(135deg, rgba(234,247,255,.72), rgba(255,255,255,0));
  pointer-events:none !important;
}
.booking-v168-intro > *{
  position:relative !important;
  z-index:1 !important;
}
.booking-v168-intro .eyebrow{
  grid-area:eyebrow !important;
  margin:0 0 8px !important;
  font-size:.98rem !important;
  letter-spacing:.03em !important;
}
.booking-v168-intro h1{
  grid-area:title !important;
  margin:0 !important;
  max-width:unset !important;
  font-size:clamp(2.6rem, 4.8vw, 4rem) !important;
  line-height:.95 !important;
  letter-spacing:-.07em !important;
}
.booking-v168-intro p{
  grid-area:copy !important;
  max-width:640px !important;
  margin:10px 0 0 !important;
  font-size:1.03rem !important;
  line-height:1.5 !important;
  color:#40566c !important;
}
.booking-v168-chips{
  grid-area:chips !important;
  justify-content:flex-end !important;
  align-self:center !important;
  gap:12px !important;
}
.booking-v168-chips span{
  min-height:46px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(185,221,245,.98) !important;
  box-shadow:0 10px 30px rgba(7,95,174,.08) !important;
  font-size:.98rem !important;
  font-weight:900 !important;
}
.booking-v168-card{
  padding:20px 22px 20px !important;
}
@media(max-width:920px){
  .booking-v168-wrap{
    width:min(100%, 900px) !important;
  }
  .booking-v168-intro{
    padding:20px 22px !important;
    column-gap:18px !important;
  }
  .booking-v168-intro h1{
    font-size:clamp(2.35rem, 6vw, 3.35rem) !important;
  }
  .booking-v168-intro p{
    font-size:.98rem !important;
    max-width:560px !important;
  }
  .booking-v168-chips span{
    min-height:42px !important;
    padding:0 16px !important;
    font-size:.92rem !important;
  }
}
@media(max-width:820px){
  .booking-v168-wrap{
    gap:14px !important;
  }
  .booking-v168-intro{
    grid-template-columns:1fr !important;
    grid-template-areas:"eyebrow" "title" "copy" "chips" !important;
    padding:18px 18px 16px !important;
    border-radius:24px !important;
  }
  .booking-v168-intro .eyebrow{
    margin-bottom:6px !important;
    font-size:.9rem !important;
  }
  .booking-v168-intro h1{
    font-size:clamp(2.15rem, 10vw, 2.95rem) !important;
    line-height:.98 !important;
  }
  .booking-v168-intro p{
    margin-top:8px !important;
    font-size:.95rem !important;
    line-height:1.45 !important;
  }
  .booking-v168-chips{
    justify-content:flex-start !important;
    gap:10px !important;
    margin-top:12px !important;
  }
  .booking-v168-chips span{
    min-height:40px !important;
    padding:0 14px !important;
    font-size:.88rem !important;
  }
}
@media(max-width:520px){
  .booking-v168-intro{
    padding:16px 15px 14px !important;
  }
  .booking-v168-chips{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .booking-v168-chips span{
    width:100% !important;
    justify-content:center !important;
  }
}


/* v174: premium compact booking hero - less empty, more integrated */
.booking-v168-page{
  padding-top:18px !important;
}
.booking-v168-wrap{
  width:min(100%, 960px) !important;
  gap:18px !important;
}
.booking-v168-intro{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(250px, 320px) !important;
  grid-template-areas:"eyebrow chips" "title chips" "copy chips" !important;
  align-items:center !important;
  column-gap:30px !important;
  row-gap:0 !important;
  padding:24px 26px 24px 30px !important;
  border-radius:32px !important;
  border:1px solid rgba(177,220,247,.98) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.93), rgba(239,249,255,.75)),
    radial-gradient(circle at 14% 22%, rgba(42,159,217,.13), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(42,159,217,.10), transparent 25%) !important;
  box-shadow:0 24px 64px rgba(7,95,174,.10) !important;
  overflow:hidden !important;
}
.booking-v168-intro::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:22px !important;
  bottom:22px !important;
  width:6px !important;
  border-radius:0 999px 999px 0 !important;
  background:linear-gradient(180deg,#0b74d1,#42b8df) !important;
  box-shadow:0 0 28px rgba(15,143,232,.24) !important;
}
.booking-v168-intro::after{
  content:"" !important;
  position:absolute !important;
  right:-52px !important;
  bottom:-70px !important;
  width:210px !important;
  height:210px !important;
  border-radius:999px !important;
  background:radial-gradient(circle, rgba(37,160,219,.13), transparent 64%) !important;
  pointer-events:none !important;
}
.booking-v168-intro > *{
  position:relative !important;
  z-index:1 !important;
}
.booking-v168-intro .eyebrow{
  grid-area:eyebrow !important;
  margin:0 0 8px !important;
  display:inline-flex !important;
  width:max-content !important;
  align-items:center !important;
  gap:8px !important;
  font-size:.95rem !important;
  letter-spacing:.045em !important;
}
.booking-v168-intro .eyebrow::before{
  content:"" !important;
  width:10px !important;
  height:10px !important;
  border-radius:999px !important;
  background:#0b74d1 !important;
  box-shadow:0 0 0 6px rgba(15,143,232,.10) !important;
}
.booking-v168-intro h1{
  grid-area:title !important;
  margin:0 !important;
  max-width:650px !important;
  font-size:clamp(2.65rem, 4.6vw, 4.15rem) !important;
  line-height:.93 !important;
  letter-spacing:-.075em !important;
}
.booking-v168-intro p{
  grid-area:copy !important;
  max-width:650px !important;
  margin:12px 0 0 !important;
  font-size:1.02rem !important;
  line-height:1.55 !important;
  color:#40566c !important;
}
.booking-v168-chips{
  grid-area:chips !important;
  align-self:center !important;
  justify-self:stretch !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
}
.booking-v168-chips span{
  position:relative !important;
  min-height:54px !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:0 18px 0 54px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(177,220,247,.98) !important;
  box-shadow:0 14px 34px rgba(7,95,174,.09) !important;
  color:#0f2a43 !important;
  font-size:.98rem !important;
  font-weight:950 !important;
}
.booking-v168-chips span::before{
  content:"✓" !important;
  position:absolute !important;
  left:16px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:26px !important;
  height:26px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#eef8ff,#dff2ff) !important;
  color:#0b74d1 !important;
  font-size:.9rem !important;
  box-shadow:inset 0 0 0 1px rgba(177,220,247,.98) !important;
}
.booking-v168-chips span:nth-child(2)::before{
  content:"●" !important;
  font-size:.72rem !important;
}
.booking-v168-card{
  margin-top:0 !important;
}
@media(max-width:920px){
  .booking-v168-intro{
    grid-template-columns:1fr !important;
    grid-template-areas:"eyebrow" "title" "copy" "chips" !important;
    padding:22px 24px !important;
  }
  .booking-v168-chips{
    margin-top:16px !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:620px){
  .booking-v168-intro{
    border-radius:24px !important;
    padding:18px 18px 16px 20px !important;
  }
  .booking-v168-intro::before{
    top:18px !important;
    bottom:18px !important;
    width:4px !important;
  }
  .booking-v168-intro h1{
    font-size:clamp(2.25rem, 11vw, 3rem) !important;
    line-height:.98 !important;
  }
  .booking-v168-intro p{
    font-size:.94rem !important;
    line-height:1.45 !important;
  }
  .booking-v168-chips{
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  .booking-v168-chips span{
    min-height:46px !important;
    border-radius:17px !important;
    padding-left:50px !important;
  }
}


/* v175: booking intro reset - matched to the page style, calm and integrated */
.booking-v168-page{
  padding-top:18px !important;
}
.booking-v168-wrap{
  width:min(100%, 960px) !important;
  gap:18px !important;
}
.booking-v168-intro{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:
    "eyebrow chips"
    "title chips"
    "copy chips" !important;
  align-items:center !important;
  column-gap:28px !important;
  row-gap:0 !important;
  padding:18px 22px 18px !important;
  border-radius:28px !important;
  border:1px solid rgba(202,231,249,.92) !important;
  background:rgba(255,255,255,.58) !important;
  box-shadow:0 20px 58px rgba(7,95,174,.075) !important;
  backdrop-filter:blur(16px) saturate(1.05) !important;
  overflow:hidden !important;
}
.booking-v168-intro::before{
  content:"" !important;
  position:absolute !important;
  inset:1px !important;
  border-radius:27px !important;
  background:
    radial-gradient(circle at 8% 15%, rgba(53,166,219,.075), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.42), rgba(239,249,255,.20)) !important;
  pointer-events:none !important;
  width:auto !important;
  height:auto !important;
  top:1px !important;
  right:1px !important;
  bottom:1px !important;
  left:1px !important;
  box-shadow:none !important;
}
.booking-v168-intro::after{
  content:none !important;
  display:none !important;
}
.booking-v168-intro > *{
  position:relative !important;
  z-index:1 !important;
}
.booking-v168-intro .eyebrow{
  grid-area:eyebrow !important;
  display:block !important;
  width:auto !important;
  margin:0 0 7px !important;
  color:var(--blue-dark) !important;
  font-size:.9rem !important;
  font-weight:950 !important;
  letter-spacing:.035em !important;
  text-transform:uppercase !important;
}
.booking-v168-intro .eyebrow::before{
  content:none !important;
  display:none !important;
}
.booking-v168-intro h1{
  grid-area:title !important;
  margin:0 !important;
  max-width:620px !important;
  font-size:clamp(2.25rem, 4vw, 3.25rem) !important;
  line-height:.98 !important;
  letter-spacing:-.065em !important;
  color:#102840 !important;
}
.booking-v168-intro p{
  grid-area:copy !important;
  max-width:620px !important;
  margin:8px 0 0 !important;
  color:#40566c !important;
  font-size:1rem !important;
  font-weight:800 !important;
  line-height:1.48 !important;
}
.booking-v168-chips{
  grid-area:chips !important;
  display:flex !important;
  grid-template-columns:none !important;
  align-self:center !important;
  justify-self:end !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 !important;
}
.booking-v168-chips span{
  position:static !important;
  min-height:38px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  padding:0 16px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(202,231,249,.95) !important;
  box-shadow:0 12px 28px rgba(7,95,174,.065) !important;
  color:#0f2a43 !important;
  font-size:.9rem !important;
  font-weight:920 !important;
  white-space:nowrap !important;
}
.booking-v168-chips span::before{
  content:none !important;
  display:none !important;
}
.booking-v168-card{
  margin-top:0 !important;
}
@media(max-width:920px){
  .booking-v168-intro{
    grid-template-columns:1fr !important;
    grid-template-areas:"eyebrow" "title" "copy" "chips" !important;
    padding:18px 18px 17px !important;
  }
  .booking-v168-intro h1{
    font-size:clamp(2.1rem, 8vw, 3rem) !important;
  }
  .booking-v168-chips{
    justify-self:start !important;
    justify-content:flex-start !important;
    margin-top:12px !important;
    flex-wrap:wrap !important;
  }
}
@media(max-width:520px){
  .booking-v168-wrap{
    gap:14px !important;
  }
  .booking-v168-intro{
    border-radius:22px !important;
    padding:16px 15px !important;
  }
  .booking-v168-intro::before{
    border-radius:21px !important;
  }
  .booking-v168-intro h1{
    font-size:clamp(2rem, 11vw, 2.65rem) !important;
  }
  .booking-v168-intro p{
    font-size:.92rem !important;
  }
  .booking-v168-chips{
    gap:8px !important;
  }
  .booking-v168-chips span{
    min-height:36px !important;
    padding:0 13px !important;
    font-size:.82rem !important;
  }
}


/* v176: remove booking intro chips completely and rebalance header */
.booking-v168-intro{
  grid-template-columns:1fr !important;
  grid-template-areas:
    "eyebrow"
    "title"
    "copy" !important;
  justify-items:start !important;
  align-items:start !important;
  padding:20px 24px 22px !important;
}
.booking-v168-intro .eyebrow,
.booking-v168-intro h1,
.booking-v168-intro p{
  max-width:720px !important;
}
.booking-v168-chips{
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
}
@media(max-width:920px){
  .booking-v168-intro{
    grid-template-columns:1fr !important;
    grid-template-areas:"eyebrow" "title" "copy" !important;
    padding:18px 18px 17px !important;
  }
}
@media(max-width:520px){
  .booking-v168-intro{
    padding:16px 15px !important;
  }
}


/* v177: redesign step 2 booking builder */
.booking-v177-step2{
  gap:16px !important;
}
.booking-v177-builder{
  display:grid;
  gap:14px;
  padding:18px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(247,251,255,.92) 0%, rgba(240,248,255,.78) 100%);
  border:1px solid rgba(202,231,249,.95);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.booking-v177-block{
  padding:16px;
  border-radius:20px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(202,231,249,.92);
  box-shadow:0 8px 24px rgba(7,95,174,.04);
}
.booking-v177-minihead{
  display:grid;
  gap:3px;
  margin-bottom:12px;
}
.booking-v177-minihead strong{
  color:var(--blue-dark);
  font-size:1rem;
  line-height:1.2;
}
.booking-v177-minihead span{
  color:#5b7187;
  font-size:.92rem;
  font-weight:700;
  line-height:1.4;
}
.booking-v177-step2 .booking-v168-plans{
  gap:14px !important;
}
.booking-v177-step2 .booking-v168-plan{
  min-height:96px !important;
  padding:16px 18px !important;
  border-radius:20px !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
  box-shadow:0 10px 24px rgba(7,95,174,.05) !important;
}
.booking-v177-step2 .booking-v168-plan span{
  display:block;
}
.booking-v177-step2 .booking-v168-plan strong{
  font-size:1.08rem;
  line-height:1.2;
}
.booking-v177-step2 .booking-v168-plan small{
  margin-top:4px !important;
  color:#5b7187 !important;
  font-size:.88rem;
  font-weight:760 !important;
  line-height:1.35;
}
.booking-v177-step2 .booking-v168-plan b{
  font-size:1.8rem !important;
  line-height:1;
  align-self:center;
}
.booking-v177-step2 .booking-v168-plan.is-selected{
  border-color:rgba(15,143,232,.42) !important;
  background:linear-gradient(180deg,#fafdff 0%, #eef8ff 100%) !important;
  box-shadow:0 14px 30px rgba(7,95,174,.10) !important;
}
.booking-v177-step2 .booking-v168-plan input{
  width:22px !important;
  height:22px !important;
}
.booking-v177-grid{
  gap:14px !important;
}
.booking-v177-step2 .booking-v168-form label,
.booking-v177-step2 label{
  font-size:.95rem;
}
.booking-v177-step2 select{
  background:#fff !important;
}
.booking-v177-total{
  display:flex !important;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px !important;
  border-radius:22px !important;
  background:linear-gradient(135deg, #0e84d5 0%, #2a9fe0 55%, #56b5e6 100%) !important;
  box-shadow:0 16px 36px rgba(7,95,174,.15) !important;
}
.booking-v177-total > div{
  min-width:0;
}
.booking-v177-total span{
  color:rgba(255,255,255,.9) !important;
  font-size:.82rem !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:900 !important;
}
.booking-v177-total strong{
  display:block;
  margin-top:6px;
  color:#fff !important;
  font-size:2rem !important;
  line-height:1;
}
.booking-v177-total small{
  max-width:310px;
  color:rgba(255,255,255,.88);
  font-size:.9rem;
  font-weight:700;
  line-height:1.4;
  text-align:right;
}
.booking-v177-actions{
  margin-top:2px !important;
  align-items:center !important;
}
.booking-v177-actions .btn{
  min-width:180px;
}
.booking-v177-actions .btn-ghost{
  background:#fff !important;
  border:1px solid rgba(202,231,249,.95) !important;
  box-shadow:0 8px 24px rgba(7,95,174,.05) !important;
}
@media(max-width:820px){
  .booking-v177-builder{
    padding:14px;
    border-radius:20px;
    gap:12px;
  }
  .booking-v177-block{
    padding:14px;
    border-radius:18px;
  }
  .booking-v177-step2 .booking-v168-plan{
    min-height:88px !important;
    padding:14px !important;
  }
  .booking-v177-step2 .booking-v168-plan b{
    font-size:1.55rem !important;
  }
  .booking-v177-total{
    display:grid !important;
    gap:8px;
    align-items:start;
    padding:16px !important;
  }
  .booking-v177-total strong{
    font-size:1.75rem !important;
  }
  .booking-v177-total small{
    max-width:none;
    text-align:left;
  }
  .booking-v177-actions .btn{
    min-width:0;
  }
}
@media(max-width:560px){
  .booking-v177-step2 .booking-v168-plan{
    grid-template-columns:auto minmax(0,1fr) auto !important;
  }
  .booking-v177-step2 .booking-v168-plan strong{
    font-size:1rem;
  }
  .booking-v177-step2 .booking-v168-plan small{
    font-size:.84rem;
  }
}


/* v178: fix step 2 radio alignment and selected-state readability */
.booking-v177-step2 .booking-v168-plan{
  gap:18px !important;
}
.booking-v177-step2 .booking-v168-plan > span{
  padding-left:2px;
}
.booking-v177-step2 .booking-v168-plan input{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:22px !important;
  height:22px !important;
  min-height:22px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:50% !important;
  border:1.8px solid #7b8fa4 !important;
  background:#fff !important;
  box-shadow:none !important;
  outline:none !important;
  display:block !important;
  align-self:center !important;
  justify-self:start !important;
  flex:0 0 22px !important;
}
.booking-v177-step2 .booking-v168-plan input:checked{
  border-color:var(--blue-dark) !important;
  background:radial-gradient(circle at center, var(--blue-dark) 0 5px, #ffffff 6px 100%) !important;
}
.booking-v177-step2 .booking-v168-plan input:focus,
.booking-v177-step2 .booking-v168-plan input:focus-visible{
  box-shadow:0 0 0 4px rgba(15,143,232,.12) !important;
}
.booking-v177-step2 .booking-v168-plan.premium.is-selected{
  color:inherit !important;
  background:linear-gradient(180deg,#fafdff 0%, #eef8ff 100%) !important;
  border-color:rgba(15,143,232,.42) !important;
  box-shadow:0 14px 30px rgba(7,95,174,.10) !important;
}
.booking-v177-step2 .booking-v168-plan.premium.is-selected strong,
.booking-v177-step2 .booking-v168-plan.premium.is-selected small,
.booking-v177-step2 .booking-v168-plan.premium.is-selected b{
  color:var(--blue-dark) !important;
}
.booking-v177-step2 .booking-v168-plan.premium.is-selected small{
  color:#5b7187 !important;
}


/* v179: definitive plan radio fix - remove native rectangle and add proper spacing */
.booking-v168-plan{
  position:relative !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  column-gap:18px !important;
}
.booking-v168-plan input[type="radio"]{
  position:absolute !important;
  inline-size:1px !important;
  block-size:1px !important;
  width:1px !important;
  height:1px !important;
  min-width:1px !important;
  min-height:1px !important;
  max-width:1px !important;
  max-height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
  overflow:hidden !important;
}
.booking-v168-plan > span{
  position:relative !important;
  display:block !important;
  padding-left:42px !important;
  min-width:0 !important;
}
.booking-v168-plan > span::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  width:22px !important;
  height:22px !important;
  border-radius:999px !important;
  transform:translateY(-50%) !important;
  background:#fff !important;
  border:2px solid #8da1b5 !important;
  box-shadow:none !important;
}
.booking-v168-plan > span::after{
  content:"" !important;
  position:absolute !important;
  left:6px !important;
  top:50% !important;
  width:10px !important;
  height:10px !important;
  border-radius:999px !important;
  transform:translateY(-50%) scale(.65) !important;
  background:var(--blue-dark) !important;
  opacity:0 !important;
  transition:opacity .16s ease, transform .16s ease !important;
}
.booking-v168-plan:has(input[type="radio"]:checked) > span::before,
.booking-v168-plan.is-selected > span::before{
  border-color:var(--blue-dark) !important;
}
.booking-v168-plan:has(input[type="radio"]:checked) > span::after,
.booking-v168-plan.is-selected > span::after{
  opacity:1 !important;
  transform:translateY(-50%) scale(1) !important;
}
.booking-v168-plan:focus-within > span::before{
  box-shadow:0 0 0 4px rgba(15,143,232,.13) !important;
}
.booking-v168-plan.premium.is-selected,
.booking-v168-plan.premium:has(input[type="radio"]:checked){
  color:inherit !important;
  background:linear-gradient(180deg,#fafdff 0%, #eef8ff 100%) !important;
  border-color:rgba(15,143,232,.42) !important;
  box-shadow:0 14px 30px rgba(7,95,174,.10) !important;
}
.booking-v168-plan.premium.is-selected strong,
.booking-v168-plan.premium.is-selected small,
.booking-v168-plan.premium.is-selected b,
.booking-v168-plan.premium:has(input[type="radio"]:checked) strong,
.booking-v168-plan.premium:has(input[type="radio"]:checked) small,
.booking-v168-plan.premium:has(input[type="radio"]:checked) b{
  color:var(--blue-dark) !important;
}
.booking-v168-plan.premium.is-selected small,
.booking-v168-plan.premium:has(input[type="radio"]:checked) small{
  color:#5b7187 !important;
}
@media(max-width:560px){
  .booking-v168-plan{
    grid-template-columns:minmax(0,1fr) auto !important;
  }
  .booking-v168-plan > span{
    padding-left:38px !important;
  }
}


/* v180: center the custom radio dot perfectly */
.booking-v168-plan > span::before{
  background:#fff !important;
}
.booking-v168-plan > span::after{
  content:none !important;
  display:none !important;
}
.booking-v168-plan:has(input[type="radio"]:checked) > span::before,
.booking-v168-plan.is-selected > span::before{
  border-color:var(--blue-dark) !important;
  background:radial-gradient(circle at center, var(--blue-dark) 0 5px, #ffffff 5.5px 100%) !important;
}


/* v181: dashboard payment-only handoff after public booking */
.booking-payment-card{
  display:grid;
  gap:18px;
}
.booking-payment-card[hidden]{display:none !important;}
.booking-payment-head{
  padding-bottom:2px;
}
.booking-payment-summary{
  grid-template-columns:1.35fr 1fr 1fr 1fr;
}
.booking-payment-summary div:first-child{
  grid-column:auto;
}
.booking-payment-summary strong{
  line-height:1.25;
}
.booking-payment-total{
  background:linear-gradient(135deg,#0e84d5 0%,#2a9fe0 55%,#56b5e6 100%);
  color:#fff;
  box-shadow:0 16px 36px rgba(7,95,174,.16);
}
.booking-payment-total span,
.booking-payment-total strong{
  color:#fff !important;
}
.booking-payment-note{
  padding:14px 16px;
  border-radius:18px;
  background:rgba(238,248,255,.75);
  border:1px solid rgba(202,231,249,.95);
}
.booking-payment-note strong{
  display:block;
  color:var(--blue-dark);
  margin-bottom:3px;
}
.booking-payment-note p{
  margin:0;
  color:#40566c;
  font-weight:750;
  line-height:1.45;
}
.booking-payment-actions{
  align-items:center;
}
.booking-payment-actions .btn-primary{
  min-width:220px;
}
@media(max-width:820px){
  .booking-payment-summary{
    grid-template-columns:1fr 1fr;
  }
  .booking-payment-summary div:first-child{
    grid-column:1/-1;
  }
  .booking-payment-actions{
    flex-direction:column-reverse;
    align-items:stretch;
  }
  .booking-payment-actions .btn-primary{
    min-width:0;
  }
}
@media(max-width:560px){
  .booking-payment-summary{
    grid-template-columns:1fr;
  }
}


/* v183: dashboard setup uses the same modern booking UI as public "Reinigung buchen" */
.dashboard-booking-card.wizard-card{
  width:min(100%, 960px) !important;
  padding:20px 22px 20px !important;
  border-radius:30px !important;
}
.dashboard-booking-card .booking-v168-progress{
  margin-bottom:18px !important;
}
.dashboard-booking-card .booking-v168-step.is-active{
  gap:14px !important;
}
.dashboard-contact-mini{
  display:grid;
  gap:12px;
  padding:14px;
  border-radius:18px;
  background:rgba(238,248,255,.65);
  border:1px solid rgba(202,231,249,.92);
}
.dashboard-contact-mini > div:first-child{
  display:grid;
  gap:3px;
}
.dashboard-contact-mini strong{
  color:var(--blue-dark);
  font-size:.98rem;
}
.dashboard-contact-mini span{
  color:#5b7187;
  font-size:.9rem;
  font-weight:760;
  line-height:1.35;
}
.dashboard-contact-grid{
  margin-top:0;
}
.dashboard-payment-note{
  margin-top:0;
}
@media(max-width:820px){
  .dashboard-booking-card.wizard-card{
    padding:16px !important;
    border-radius:24px !important;
  }
  .dashboard-contact-mini{
    padding:12px;
    border-radius:16px;
  }
}


/* v184: improve step 2 price readability and keep euro sign inline */
.booking-v177-step2 .booking-v168-plan b,
.booking-v168-plan b{
  display:inline-flex !important;
  align-items:baseline !important;
  justify-content:flex-end !important;
  gap:4px !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  flex-wrap:nowrap !important;
  text-align:right !important;
  min-width:max-content !important;
}
.booking-v177-total{
  align-items:center !important;
}
.booking-v177-total small{
  max-width:360px !important;
  color:rgba(255,255,255,.98) !important;
  font-size:.98rem !important;
  font-weight:820 !important;
  line-height:1.5 !important;
  text-align:left !important;
}
@media(max-width:820px){
  .booking-v177-total small{
    font-size:.95rem !important;
    line-height:1.45 !important;
  }
}


/* v185: keep price fully inside plan card */
.booking-v177-step2 .booking-v168-plan{
  grid-template-columns:minmax(0,1fr) min-content !important;
  column-gap:12px !important;
}
.booking-v177-step2 .booking-v168-plan b,
.booking-v168-plan b{
  justify-self:end !important;
  align-self:center !important;
  min-width:auto !important;
  max-width:100% !important;
  padding-right:2px !important;
  flex-shrink:0 !important;
}
.booking-v177-step2 .booking-v168-plan b{
  font-size:1.68rem !important;
}
@media(max-width:560px){
  .booking-v177-step2 .booking-v168-plan{
    column-gap:10px !important;
  }
  .booking-v177-step2 .booking-v168-plan b{
    font-size:1.55rem !important;
  }
}

/* v194: clean dashboard step-3 star system to match main page behavior */
html,
body.dashboard-page-clean{
  background:#f7fcff !important;
  background-image:none !important;
  min-height:100% !important;
}
body.dashboard-page-clean::before,
body.dashboard-page-clean::after{
  display:none !important;
}
body.dashboard-page-clean .wizard-page{
  background:#f7fcff !important;
  min-height:calc(100vh - 76px) !important;
  overflow:hidden !important;
}
body.dashboard-page-clean .site-bg-pattern{
  opacity:.22 !important;
}
body.dashboard-page-clean .wizard-wrap{
  position:relative !important;
  z-index:2 !important;
}
body.dashboard-page-clean .wizard-ambient-stars{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  opacity:0 !important;
  transition:opacity .28s ease !important;
}
body.dashboard-page-clean .wizard-page.has-step3-stars .wizard-ambient-stars{
  opacity:1 !important;
}
body.dashboard-page-clean .wizard-ambient-star{
  position:absolute !important;
  z-index:0 !important;
  line-height:1 !important;
  pointer-events:none !important;
  animation:sparkleFloat 3.4s ease-in-out infinite !important;
}
body.dashboard-page-clean .wizard-ambient-star.solid{
  color:rgba(15,143,232,.42) !important;
  text-shadow:0 0 14px rgba(113,200,234,.22) !important;
}
body.dashboard-page-clean .wizard-ambient-star.outline{
  width:16px !important;
  height:16px !important;
  display:block !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  filter:drop-shadow(0 0 7px rgba(113,200,234,.16)) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f8fe8' stroke-opacity='.86' stroke-width='1.72' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.6l1.9 7.5L21.4 12l-7.5 1.9L12 21.4l-1.9-7.5L2.6 12l7.5-1.9L12 2.6z'/%3E%3C/svg%3E") !important;
}
body.dashboard-page-clean .wizard-ambient-star.a1{top:4%;left:2%;font-size:1rem;animation-delay:0s!important;}
body.dashboard-page-clean .wizard-ambient-star.a2{top:7%;left:14%;font-size:.96rem;animation-delay:.4s!important;}
body.dashboard-page-clean .wizard-ambient-star.a3{top:10%;left:29%;font-size:.98rem;animation-delay:1s!important;}
body.dashboard-page-clean .wizard-ambient-star.a4{top:7%;left:46%;font-size:.96rem;animation-delay:1.5s!important;}
body.dashboard-page-clean .wizard-ambient-star.a5{top:11%;left:66%;font-size:1rem;animation-delay:2s!important;}
body.dashboard-page-clean .wizard-ambient-star.a6{top:7%;right:6%;font-size:.96rem;animation-delay:2.5s!important;}
body.dashboard-page-clean .wizard-ambient-star.a7{top:22%;left:6%;font-size:1rem;animation-delay:.8s!important;}
body.dashboard-page-clean .wizard-ambient-star.a8{top:25%;left:20%;font-size:.94rem;animation-delay:1.6s!important;}
body.dashboard-page-clean .wizard-ambient-star.a9{top:22%;left:38%;font-size:1rem;animation-delay:.3s!important;}
body.dashboard-page-clean .wizard-ambient-star.a10{top:19%;left:58%;font-size:.98rem;animation-delay:2.7s!important;}
body.dashboard-page-clean .wizard-ambient-star.a11{top:24%;right:12%;font-size:.94rem;animation-delay:1.2s!important;}
body.dashboard-page-clean .wizard-ambient-star.a12{top:36%;left:3%;font-size:.96rem;animation-delay:1.8s!important;}
body.dashboard-page-clean .wizard-ambient-star.a13{top:42%;left:17%;font-size:.94rem;animation-delay:2.3s!important;}
body.dashboard-page-clean .wizard-ambient-star.a14{top:36%;left:33%;font-size:1rem;animation-delay:.9s!important;}
body.dashboard-page-clean .wizard-ambient-star.a15{top:41%;left:53%;font-size:.98rem;animation-delay:.35s!important;}
body.dashboard-page-clean .wizard-ambient-star.a16{top:36%;right:9%;font-size:1rem;animation-delay:1.4s!important;}
body.dashboard-page-clean .wizard-ambient-star.a17{top:55%;left:5%;font-size:.96rem;animation-delay:2.15s!important;}
body.dashboard-page-clean .wizard-ambient-star.a18{top:61%;left:23%;font-size:1rem;animation-delay:.7s!important;}
body.dashboard-page-clean .wizard-ambient-star.a19{top:57%;left:43%;font-size:.94rem;animation-delay:1.55s!important;}
body.dashboard-page-clean .wizard-ambient-star.a20{top:62%;left:62%;font-size:1rem;animation-delay:2.35s!important;}
body.dashboard-page-clean .wizard-ambient-star.a21{top:58%;right:7%;font-size:.98rem;animation-delay:1.1s!important;}
body.dashboard-page-clean .wizard-ambient-star.a22{top:76%;left:5%;font-size:.94rem;animation-delay:2.7s!important;}
body.dashboard-page-clean .wizard-ambient-star.a23{top:83%;left:18%;font-size:.96rem;animation-delay:.55s!important;}
body.dashboard-page-clean .wizard-ambient-star.a24{top:82%;left:31%;font-size:.94rem;animation-delay:1.85s!important;}
body.dashboard-page-clean .wizard-ambient-star.a25{top:79%;left:49%;font-size:.96rem;animation-delay:.15s!important;}
body.dashboard-page-clean .wizard-ambient-star.a26{top:75%;left:66%;font-size:.94rem;animation-delay:2.05s!important;}
body.dashboard-page-clean .wizard-ambient-star.a27{top:83%;right:16%;font-size:.96rem;animation-delay:1.25s!important;}
body.dashboard-page-clean .wizard-ambient-star.a28{top:88%;right:4%;font-size:.92rem;animation-delay:2.6s!important;}
body.dashboard-page-clean .wizard-ambient-star.a29{top:14%;left:83%;font-size:.94rem;animation-delay:.65s!important;}
body.dashboard-page-clean .wizard-ambient-star.a30{top:31%;left:12%;font-size:.9rem;animation-delay:2.2s!important;}
body.dashboard-page-clean .wizard-ambient-star.a31{top:48%;left:11%;font-size:.94rem;animation-delay:1.05s!important;}
body.dashboard-page-clean .wizard-ambient-star.a32{top:47%;right:14%;font-size:.92rem;animation-delay:2.85s!important;}
body.dashboard-page-clean .wizard-ambient-star.a33{top:67%;left:14%;font-size:.96rem;animation-delay:.95s!important;}
body.dashboard-page-clean .wizard-ambient-star.a34{top:68%;left:76%;font-size:.9rem;animation-delay:1.7s!important;}
body.dashboard-page-clean .wizard-ambient-star.a35{top:92%;left:58%;font-size:.94rem;animation-delay:.5s!important;}
body.dashboard-page-clean .wizard-ambient-star.a36{top:92%;left:88%;font-size:.92rem;animation-delay:2.3s!important;}
@media(max-width:820px){
  body.dashboard-page-clean .wizard-ambient-star.a3,
  body.dashboard-page-clean .wizard-ambient-star.a6,
  body.dashboard-page-clean .wizard-ambient-star.a10,
  body.dashboard-page-clean .wizard-ambient-star.a15,
  body.dashboard-page-clean .wizard-ambient-star.a19,
  body.dashboard-page-clean .wizard-ambient-star.a24,
  body.dashboard-page-clean .wizard-ambient-star.a28,
  body.dashboard-page-clean .wizard-ambient-star.a32,
  body.dashboard-page-clean .wizard-ambient-star.a36{display:none!important;}
  body.dashboard-page-clean .wizard-ambient-star.outline{width:14px!important;height:14px!important;}
}


/* v195: make dashboard/payment stars a little less visible */
body.dashboard-page-clean .wizard-ambient-star.solid{
  color:rgba(15,143,232,.34) !important;
  text-shadow:0 0 10px rgba(113,200,234,.15) !important;
}
body.dashboard-page-clean .wizard-ambient-star.outline{
  filter:drop-shadow(0 0 5px rgba(113,200,234,.11)) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f8fe8' stroke-opacity='.72' stroke-width='1.72' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.6l1.9 7.5L21.4 12l-7.5 1.9L12 21.4l-1.9-7.5L2.6 12l7.5-1.9L12 2.6z'/%3E%3C/svg%3E") !important;
}


/* v196: blend dashboard/payment stars more into page color */
body.dashboard-page-clean .wizard-ambient-star.solid{
  color:rgba(120, 195, 233, .34) !important;
  text-shadow:0 0 8px rgba(120,195,233,.09) !important;
}
body.dashboard-page-clean .wizard-ambient-star.outline{
  filter:drop-shadow(0 0 4px rgba(120,195,233,.08)) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2378c3e9' stroke-opacity='.62' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.6l1.9 7.5L21.4 12l-7.5 1.9L12 21.4l-1.9-7.5L2.6 12l7.5-1.9L12 2.6z'/%3E%3C/svg%3E") !important;
}


/* v203: restore next cleaning calendar card while keeping active dashboard logic */
.wizard-next-cleaning{
  min-width:360px;
  display:flex;
  align-items:center;
  gap:16px;
  padding:16px 18px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 14px 32px rgba(7,95,174,.08);
}
.mini-calendar{
  width:82px;
  min-width:82px;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(10,68,130,.10);
  box-shadow:0 10px 20px rgba(6,63,124,.10);
}
.mini-calendar-month{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  background:linear-gradient(135deg,#ff6d6d,#ff5a5f);
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mini-calendar-day{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  color:var(--title);
  font-size:1.9rem;
  font-weight:900;
  letter-spacing:-.05em;
  background:#fff;
}
.wizard-next-cleaning-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.wizard-next-cleaning-kicker{
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--primary);
}
.wizard-next-cleaning-copy strong{
  color:var(--title);
  font-size:1.08rem;
  line-height:1.15;
}
.wizard-next-cleaning-copy span:last-child{
  color:var(--text);
  line-height:1.35;
}
@media(max-width:920px){
  .wizard-next-cleaning{min-width:0;}
}
@media(max-width:640px){
  .wizard-next-cleaning{padding:14px;border-radius:22px;}
  .mini-calendar{width:76px;min-width:76px;}
  .mini-calendar-day{min-height:52px;font-size:1.7rem;}
}
