/* Aurora Pop: visual layer only. Existing forms, navigation, and data flow stay intact. */
:root{
  --bg:#f6f8ff;--card:#fff;--ink:#17204a;--muted:#63708f;--line:#e3e9f6;
  --primary:#315be8;--primary2:#6d52eb;--nav:#11265b;--success:#0f9e7a;
  --warn:#f4a51c;--danger:#e34a65;--shadow:0 18px 42px rgba(29,53,125,.09);--r:22px;
}
html{scroll-behavior:smooth}
body{background:radial-gradient(circle at 95% 3%,#e7e5ff 0,transparent 32%),radial-gradient(circle at 8% 90%,#e7faf5 0,transparent 28%),var(--bg)}
button,input,select,textarea{accent-color:#315be8}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #11c5b3;outline-offset:3px}
.btn,.public-button,.public-login,.public-theme,.menu button,.service-card,.time{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}
.btn:hover:not(:disabled),.public-button:hover,.public-login:hover,.public-theme:hover,.service-card:hover,.time:hover:not(:disabled){transform:translateY(-2px)}
.btn:disabled{opacity:.58;cursor:not-allowed}
.btn{border-radius:14px;min-height:43px;border-color:var(--line);box-shadow:0 3px 10px rgba(25,43,99,.03)}
.btn.primary{background:linear-gradient(115deg,#315be8 0%,#6258ec 100%);box-shadow:0 10px 22px rgba(49,91,232,.24)}
.btn.primary:hover:not(:disabled){box-shadow:0 14px 27px rgba(49,91,232,.3)}
.btn.soft{background:#eef2ff;color:#274fc7;border-color:#dce5ff}
.btn.danger{color:#c52d4e}
.shell{grid-template-columns:258px minmax(0,1fr)}
.sidebar{background:radial-gradient(circle at 8% 12%,rgba(44,171,247,.25),transparent 30%),radial-gradient(circle at 96% 89%,rgba(171,95,244,.22),transparent 33%),linear-gradient(170deg,#102560 0%,#122b71 53%,#121f52 100%);padding:24px 17px;color:#fff;box-shadow:8px 0 28px rgba(16,38,96,.08)}
.sidebar .brand{font-size:21px;letter-spacing:-.03em;margin:2px 8px 26px}
.logo,.public-logo{background:linear-gradient(135deg,#315be8 0%,#7253ef 55%,#fa6987 100%);box-shadow:0 8px 18px rgba(57,91,235,.25);color:#fff}
.sidebar .logo{width:38px;height:38px;border-radius:13px}
.bizchip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);padding:15px;border-radius:17px;color:#eff5ff}
.menu button{color:#e8efff;font-weight:640;padding:12px 14px;border:1px solid transparent}
.menu button:hover{background:rgba(255,255,255,.12);color:#fff;transform:translateX(3px)}
.menu button.active{background:linear-gradient(100deg,#3769f5,#6258ea);box-shadow:0 9px 22px rgba(8,25,96,.24);border-color:rgba(255,255,255,.1)}
.sidebar-actions .btn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2)}
.sidebar-actions .btn:hover{background:rgba(255,255,255,.2)}
.content{width:100%;max-width:1580px;margin:0 auto;padding:32px clamp(20px,3vw,46px) 58px}
.topbar{margin-bottom:27px}.title h1{font-size:clamp(27px,2.5vw,37px);letter-spacing:-.045em;color:var(--ink)}.title p{font-size:15px}
.card{border-radius:22px;border:1px solid #e7ebf8;box-shadow:var(--shadow);padding:21px}
.kpi{min-height:144px;position:relative;overflow:hidden}.kpi::after{content:"";position:absolute;width:115px;height:115px;border-radius:50%;right:-56px;top:-54px;background:radial-gradient(circle,#d9f8f0,transparent 70%);pointer-events:none}
.kpi:nth-child(2)::after{background:radial-gradient(circle,#ffe1e7,transparent 70%)}.kpi:nth-child(3)::after{background:radial-gradient(circle,#e6e1ff,transparent 70%)}
.kpi strong{font-size:34px;letter-spacing:-.04em}.kpi span{font-size:13px;color:var(--muted)}
.dot{background:#e6edff;color:#315be8;border-radius:13px;width:40px;height:40px}.kpi:nth-child(2) .dot{background:#e0faf2;color:#00a785}.kpi:nth-child(3) .dot{background:#ffe5e8;color:#ec6179}.kpi:nth-child(4) .dot{background:#ece5ff;color:#7753e9}
.section-title h2,.stats-grid h2,.stats-revenue h2,.appearance-grid h2{font-size:20px;letter-spacing:-.025em}
th{color:#697797;letter-spacing:.02em}th,td{border-bottom-color:#e8edf7}
tbody tr:hover{background:#f8faff}
.badge{padding:6px 10px}.green{background:#e3f8ef;color:#087758}.yellow{background:#fff1d6;color:#8d5a00}.red{background:#ffe4e9;color:#b42143}.blue{background:#e5edff;color:#274fc7}
.field input,.field select,.field textarea,.toolbar input,.toolbar select,.topbar select{border-color:#dce4f2;border-radius:13px;min-height:43px;background:#fff;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#4f76ef;box-shadow:0 0 0 4px #dce7ff}
.modal{background:rgba(13,31,79,.58);backdrop-filter:blur(5px)}.modal-box{border-radius:24px;box-shadow:0 28px 78px rgba(16,31,74,.3)}
.notice{border-radius:16px}
.stats-track{height:13px;background:#e9effb}.stats-track i{background:linear-gradient(90deg,#3a6af2,#19c6b2,#6a5dec)}
.stats-revenue .grid>div{background:linear-gradient(145deg,#edf3ff,#f3eeff);border:1px solid #e4e9fa;border-radius:16px}
.appearance-preview{background:linear-gradient(145deg,#ecf4ff,#f3ecff);border-radius:16px}.appearance-link{background:#f4f7ff}
.login-wrap{background:radial-gradient(circle at 8% 12%,#e4e4ff,transparent 38%),radial-gradient(circle at 96% 8%,#d8fbf4,transparent 30%),radial-gradient(circle at 89% 93%,#ffe9eb,transparent 34%),#f7f9ff}
.login-card{width:min(1080px,100%);border-radius:32px;border:1px solid #e5e9f7;box-shadow:0 28px 75px rgba(27,48,113,.17)}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 5%,rgba(47,218,209,.44),transparent 30%),radial-gradient(circle at 78% 85%,rgba(245,117,181,.5),transparent 36%),linear-gradient(145deg,#10286a,#244ee0 65%,#7958e6);padding:clamp(30px,4vw,57px)}
.hero::before{content:"";position:absolute;width:270px;height:270px;right:-140px;top:25%;border:42px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}
.hero>*{position:relative}.hero h1{font-size:clamp(35px,4vw,50px);letter-spacing:-.04em;line-height:1.1}.hero p{color:#edf3ff}
.hero ul{color:#f1f5ff}.hero .brand{font-size:23px}
.login{padding:clamp(27px,3.8vw,50px)}.login h2{font-size:clamp(26px,2.5vw,33px);letter-spacing:-.035em}.login p{line-height:1.55}
.login .demo{background:#eef2ff;color:#344c9f;border-radius:15px}.theme-login-toggle{color:#284cb8!important;border-color:#dce5f9!important}
.booking-share{box-shadow:0 15px 35px rgba(13,32,96,.19);border:1px solid #e5ecff;border-radius:19px}.booking-socials a{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.27)}
.booking-share-body p{color:#334155}
.public-booking-card{width:min(1200px,100%)}.booking-hero{background-image:radial-gradient(circle at 94% 14%,rgba(64,236,211,.42),transparent 32%),linear-gradient(150deg,#10296f,#315ee5 62%,#885add)}
.booking-form .btn.primary{background:linear-gradient(110deg,#315be8,#6859ee)}.booking-form #pbSlots .btn.primary{background:#315be8;color:#fff}
.booking-form a{color:#315be8}.affiliate-ad{border-radius:15px;background:#f2f7ff}
.booking-share .btn.primary{color:#fff!important}
.public-site{background:radial-gradient(circle at 82% 14%,#e7e6ff 0,transparent 28%),radial-gradient(circle at 6% 52%,#e8fcf6 0,transparent 24%),#f8faff;color:#17204a;overflow:hidden}
.public-header,.public-footer{width:min(1340px,calc(100% - 54px))}.public-header{min-height:96px}
.public-brand{font-size:25px;letter-spacing:-.045em;color:#17357f!important}.public-logo{width:42px;height:42px;border-radius:14px}
.public-header nav{gap:25px}.public-header nav a{font-size:14px;color:#233769}.public-login,.public-theme{border-color:#dce5f4;border-radius:13px;background:#fff;color:#1d3c91;box-shadow:0 4px 14px rgba(30,58,135,.05)}
.public-login{background:#fff}.public-header nav .public-login:hover,.public-theme:hover{border-color:#9bb3ef;text-decoration:none}
.public-hero{width:min(1340px,calc(100% - 54px));min-height:610px;margin:30px auto 75px;grid-template-columns:minmax(0,1.03fr) minmax(460px,.97fr);gap:35px}
.public-eyebrow{color:#e94e70;font-weight:900;letter-spacing:.14em}
.public-hero h1{font-size:clamp(54px,6.4vw,91px);line-height:.99;max-width:700px;margin:19px 0 26px;color:#142c73;letter-spacing:-.065em}
.hero-highlight{display:block;background:linear-gradient(95deg,#f15673,#ff805f 80%);-webkit-background-clip:text;background-clip:text;color:transparent}
.public-hero-copy>p:not(.public-eyebrow){color:#506184;font-size:clamp(18px,1.7vw,21px);max-width:590px;line-height:1.6}
.public-actions{margin-top:32px}.public-button{background:linear-gradient(105deg,#f04d6f,#ff7963);border-radius:15px;box-shadow:0 13px 26px rgba(235,74,107,.23);min-height:52px;padding:14px 23px}.public-text-link{color:#284fc8!important}
.public-visual{height:585px;position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:center}
.public-visual::before{content:"";position:absolute;inset:14px -10px 20px 25px;border-radius:37% 63% 48% 52% / 42% 42% 58% 58%;background:radial-gradient(circle at 85% 12%,#ffcddd 0,transparent 34%),radial-gradient(circle at 15% 22%,#aef5e7 0,transparent 37%),linear-gradient(135deg,#d6d9ff,#89c9ff 52%,#aa94f6);z-index:0;transform:rotate(-6deg)}
.public-visual::after{content:"";position:absolute;width:125px;height:125px;border-radius:50%;right:-13px;top:45px;border:22px solid rgba(255,255,255,.48);z-index:0}
.public-portrait{position:absolute;z-index:1;bottom:0;right:3%;height:590px;width:auto;max-width:80%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 15px 28px rgba(36,59,112,.14))}
.public-float{position:absolute;z-index:3;background:#fff;border:1px solid #e4ebfb;border-radius:15px;padding:12px 16px;box-shadow:0 14px 30px rgba(23,43,111,.15);font-weight:780;color:#17356d;font-size:13px;white-space:nowrap}
.public-float span{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:7px;border-radius:9px;background:#d9f8ee;color:#008d73}.public-float-top{top:55px;left:4%}.public-float-bottom{bottom:48px;right:-10px}.public-float-bottom span{background:#ffe2ed;color:#e94d75}
.public-visual .public-preview{width:min(320px,62%);margin-right:auto;margin-left:-7%;margin-bottom:22px;position:relative;z-index:2;transform:rotate(-3deg);padding:18px;border-radius:20px;box-shadow:0 22px 44px rgba(27,49,117,.19)}
.public-visual .public-preview-top{margin-bottom:8px}.public-visual .public-preview-row{padding:10px 2px}.public-visual .public-preview-row b{font-size:13px}.public-visual .public-preview-caption{font-size:10px}
.public-preview-mark,.public-preview-date{background:#e4edff;color:#315be8}.public-preview-row strong{color:#315be8}
.public-section{background:#fff;padding-top:78px;padding-bottom:86px}.public-section h2{color:#163579}.public-grid article{background:linear-gradient(160deg,#fff,#f8faff);border-color:#e3eafa;border-radius:22px;box-shadow:0 12px 28px rgba(33,58,129,.05)}.public-grid article:nth-child(1)>span{background:#dff9f2;color:#039c7d}.public-grid article:nth-child(2)>span{background:#ffe7ed;color:#db4769}.public-grid article:nth-child(3)>span{background:#e8e8ff;color:#6351df}.public-grid h3{color:#1b387c}
.public-cta{width:min(1340px,calc(100% - 54px));background:radial-gradient(circle at 76% 0,rgba(31,219,206,.43),transparent 32%),linear-gradient(115deg,#122969,#315be8 66%,#8665ed);border-radius:28px;box-shadow:0 18px 40px rgba(33,67,170,.19)}.public-cta .public-eyebrow{color:#b8fff0}.public-button.light{color:#2852c4!important}
.public-footer{border-top-color:#dce4f3}.privacy-main h1{color:#17367e}.privacy-main section{border:1px solid #e3e9f6;border-radius:22px;box-shadow:0 9px 23px rgba(25,49,115,.04)}.privacy-main section h2{color:#21459c}
html[data-theme="dark"]{--bg:#0a1532;--card:#15264d;--ink:#f5f8ff;--muted:#b7c5e4;--line:#314773;--nav:#07142f;--shadow:0 18px 44px rgba(0,0,0,.23)}
html[data-theme="dark"] body{background:radial-gradient(circle at 90% 6%,#1b2b64,transparent 30%),#0a1532}
html[data-theme="dark"] .sidebar{background:radial-gradient(circle at 8% 12%,rgba(30,173,224,.21),transparent 30%),linear-gradient(170deg,#08163c,#10255a)}
html[data-theme="dark"] .title h1{color:#f5f8ff}html[data-theme="dark"] .card{border-color:#304879}html[data-theme="dark"] tbody tr:hover{background:#203562}html[data-theme="dark"] th,html[data-theme="dark"] td{border-bottom-color:#314773}
html[data-theme="dark"] .stats-revenue .grid>div,html[data-theme="dark"] .appearance-preview,html[data-theme="dark"] .appearance-link,html[data-theme="dark"] .affiliate-ad{background:#203761;border-color:#334d7c;color:#edf3ff}
html[data-theme="dark"] .stats-track{background:#304875}html[data-theme="dark"] .btn.soft{background:#203d80;color:#ecf5ff;border-color:#4161a6}
html[data-theme="dark"] .public-site{background:radial-gradient(circle at 80% 8%,#1e3067,transparent 29%),#0a1532;color:#f5f8ff}
html[data-theme="dark"] .public-brand,html[data-theme="dark"] .public-header nav a,html[data-theme="dark"] .public-hero h1,html[data-theme="dark"] .public-section h2,html[data-theme="dark"] .public-grid h3,html[data-theme="dark"] .privacy-main h1,html[data-theme="dark"] .privacy-main section h2{color:#f5f8ff!important}
html[data-theme="dark"] .public-hero-copy>p:not(.public-eyebrow){color:#c2d1ed}
html[data-theme="dark"] .public-section{background:#0e1d42}html[data-theme="dark"] .public-grid article{background:#192b55;border-color:#304879}html[data-theme="dark"] .public-preview{background:#f9fbff;color:#17204a}html[data-theme="dark"] .public-preview-row{border-color:#e7edf7}html[data-theme="dark"] .public-preview-row small{color:#63708f}
html[data-theme="dark"] .public-login,html[data-theme="dark"] .public-theme{background:#1b315e;color:#f5f8ff;border-color:#3c5688}
html[data-theme="dark"] .theme-login-toggle{color:#f5f8ff!important;border-color:#3c5688!important}
html[data-theme="dark"] .booking-share{background:#f9fbff;color:#17204a}html[data-theme="dark"] .booking-share .btn.primary{color:#fff!important}
@media(max-width:1100px){.public-hero{grid-template-columns:minmax(0,1fr) minmax(370px,.9fr);gap:20px}.public-hero h1{font-size:clamp(49px,5.7vw,75px)}.public-visual{height:520px}.public-portrait{height:540px}.public-visual .public-preview{width:300px;margin-left:-3%}}
@media(max-width:850px){.public-hero{grid-template-columns:1fr;max-width:690px;margin-top:24px}.public-hero h1{max-width:620px}.public-visual{height:510px}.public-portrait{height:535px;right:10%}.public-visual .public-preview{margin-left:1%}.public-float-bottom{right:2%}}
@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{display:none}.sidebar.mobile-open{display:flex}.content{padding:22px 16px 96px}.card{padding:18px}.login-card{border-radius:22px}.mobile-nav{background:#fff;border-top-color:#dfe8f7;box-shadow:0 -8px 24px rgba(24,45,112,.07)}.mobile-nav button{background:#fff;color:#2c437d}.mobile-nav button.active{color:#315be8}.public-booking-card .booking-hero{padding:28px}.public-booking-card .booking-share{margin-top:23px}}
@media(max-width:560px){.public-header,.public-footer{width:calc(100% - 32px)}.public-header{flex-wrap:wrap;gap:10px;padding:14px 0}.public-brand{width:100%}.public-header nav{width:100%;justify-content:space-between}.public-hero{width:calc(100% - 32px);margin-bottom:50px}.public-hero h1{font-size:clamp(47px,12vw,63px)}.public-hero-copy>p:not(.public-eyebrow){font-size:17px}.public-visual{height:400px}.public-visual::before{inset:15px 4px 5px 10px}.public-portrait{height:435px;right:1%;max-width:79%}.public-visual .public-preview{width:230px;padding:13px;margin-left:0;margin-bottom:14px}.public-visual .public-preview-row{padding:7px 1px}.public-visual .public-preview-row:nth-of-type(3){display:none}.public-visual .public-preview-caption{font-size:9px}.public-float{font-size:11px;padding:7px 9px}.public-float span{width:22px;height:22px}.public-float-top{top:12px;left:0}.public-float-bottom{bottom:6px;right:0}.public-section{padding:58px 16px}.public-cta{width:calc(100% - 32px)}.booking-share-body{flex-wrap:wrap}.public-booking-card{grid-template-columns:1fr}.public-booking-card .booking-hero{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.public-button,.public-login,.public-theme,.menu button,.service-card,.time{transition:none}}
