/* Signature Nails 2026: consolidated premium UI; preserves auth, booking and owner logic. */
:root{color-scheme:light;--sn-wine:#5e2529;--sn-ink:#4e2929;--sn-rose:#b97162;--sn-gold:#be856b;--sn-blush:#f8e9e4;--sn-cream:#fffaf6;--sn-line:#e5c2b4;--sn-shadow:0 15px 45px rgba(93,48,46,.16);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{min-width:280px;overflow-x:hidden;background:var(--sn-cream)}
body{margin:0;min-width:280px;background:linear-gradient(145deg,#fff9f6,#f8e8e2);color:var(--sn-ink)}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #743149!important;outline-offset:3px}
.sn-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.welcome-mode{min-height:100dvh;overflow-x:hidden;overflow-y:auto;background:#f8e6e0}
body.welcome-mode .layout{width:100%;min-height:100dvh;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 30%,#fff9f6,#eed0c6 85%)}
.phone{position:relative;margin:auto;isolation:isolate}
body.welcome-mode .phone{width:max(100vw,calc(100dvh * 941 / 1672));max-width:none;min-height:0;flex:none;aspect-ratio:941/1672;box-shadow:none;border-radius:0;overflow:hidden;container-type:inline-size;background:#fae5dd}
body.welcome-mode .portrait-poster{display:block;width:100%;height:100%;object-fit:fill;user-select:none;-webkit-user-drag:none;pointer-events:none}
body.welcome-mode .sn-welcome-actions{position:absolute;z-index:4;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:27% 29% 29%;gap:4.5% 2.5%;left:9.9%;top:60.15%;width:80.2%;height:23%;margin:0;padding:0;pointer-events:none}
body.welcome-mode .sn-live-button{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(5px,1cqw,12px);width:100%;height:100%;min-height:0;margin:0;padding:1.2cqw 1.5cqw;pointer-events:auto;border-radius:999px;border:2px solid #b9795e;background:linear-gradient(133deg,rgba(255,249,244,.97),rgba(251,230,222,.99) 55%,rgba(255,247,241,.97));box-shadow:inset 0 0 0 1px #ffe9d9,inset 0 2px 6px rgba(255,255,255,.9),0 3px 7px rgba(102,43,34,.17);color:#642921;font:700 clamp(12px,3.6cqw,21px)/1.13 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.035em;white-space:nowrap;text-align:center;transition:filter .15s ease,transform .15s ease}
body.welcome-mode .sn-live-button:hover{filter:brightness(1.035);box-shadow:inset 0 0 0 1px #ffe9d9,0 5px 15px rgba(102,43,34,.27)}
body.welcome-mode .sn-live-button:active{transform:scale(.99)}
body.welcome-mode .sn-live-button--full{grid-column:1/-1}
body.welcome-mode .sn-live-button svg{width:clamp(15px,5cqw,28px);height:clamp(15px,5cqw,28px);flex:none;stroke:#b26d52;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.welcome-mode .sn-live-button .sn-arrow{position:absolute;right:5%;font-size:1.45em;font-weight:400;line-height:1}
body.welcome-mode .sn-live-button:not(.sn-live-button--full){font-size:clamp(12px,3.6cqw,19px)}
body:not(.welcome-mode) .portrait-poster,body:not(.welcome-mode) .sn-welcome-actions{display:none!important}
body:not(.welcome-mode) .layout{display:block!important;width:100%!important;min-height:100dvh!important;height:auto!important;padding:0!important;overflow:visible!important;background:transparent!important}
body:not(.welcome-mode) .phone{display:block!important;width:100%!important;max-width:none!important;min-height:100dvh!important;height:auto!important;aspect-ratio:auto!important;margin:0!important;overflow:visible!important;border-radius:0!important;box-shadow:none!important;background:var(--sn-cream)!important}
@media(min-width:700px){body.welcome-mode .layout{padding:20px 12px}body.welcome-mode .phone{width:min(520px,calc((100dvh - 40px)*941/1672));max-width:100%;border-radius:22px;box-shadow:0 25px 75px rgba(82,37,36,.25)}}
@media(max-width:699px){body.welcome-mode .layout{justify-content:center;align-items:flex-start}body.welcome-mode .phone{margin:0 auto}body.welcome-mode .sn-live-button{border-width:1.5px}}
/* Full salon replaces the former multi-layer legacy homepage. */
#site-shell{display:none;margin:0 auto!important;width:100%!important;max-width:none!important;background:linear-gradient(140deg,#fffaf6,#f8e9e4);color:var(--sn-ink);min-height:100dvh}
body:not(.welcome-mode) #site-shell{display:block!important}
#site-shell .site-header{position:sticky;top:0;z-index:9;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;min-height:78px;padding:12px clamp(15px,4vw,60px);background:rgba(255,249,246,.97);border-bottom:1px solid var(--sn-line);backdrop-filter:blur(12px)}
#site-shell .site-header .brand{display:flex;align-items:center;gap:9px;text-decoration:none;min-width:0;color:var(--sn-wine)}
#site-shell .brand-poster-crop{display:none!important}
#site-shell .brand-fallback{display:block!important;font:italic 500 clamp(20px,2.4vw,29px)/1.1 Georgia,serif!important;color:var(--sn-wine);white-space:nowrap}
#site-shell .site-nav{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
#site-shell .site-nav button,.site-button,#site-shell .sn-quick-actions button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 17px;border:1px solid #d6aa9a;border-radius:999px;background:#fff7f2;color:var(--sn-wine);font-weight:650;text-decoration:none;white-space:normal;line-height:1.25;box-shadow:0 3px 10px rgba(117,57,49,.07)}
#site-shell .site-nav button:hover,.site-button:hover{border-color:#b16c56;background:#fae9e2}
#site-shell .site-nav .nav-accent,#site-shell .primary-action,.primary,.item button{background:linear-gradient(120deg,#8c4551,#6a3037)!important;border:1px solid #753a43!important;color:#fffaf7!important}
#site-shell #return-welcome{background:transparent;box-shadow:none;border-color:transparent}
#site-shell .hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);align-items:stretch;gap:clamp(18px,5vw,72px);max-width:1300px;margin:0 auto;padding:clamp(34px,5vw,75px) clamp(20px,6vw,80px)!important;min-height:540px;background:transparent}
#site-shell .hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;z-index:1;min-width:0}
#site-shell .hero-eyebrow,.section-kicker{display:block;letter-spacing:.2em;font-size:11px;font-weight:750;text-transform:uppercase;color:#9e6654}
#site-shell .hero h1{font:400 clamp(44px,5.5vw,83px)/1.06 Georgia,"Times New Roman",serif;color:var(--sn-wine);margin:18px 0 22px;max-width:680px}
#site-shell .hero h1 em{font-weight:400;color:#b47565}
#site-shell .hero p{max-width:550px;font-size:clamp(15px,1.5vw,18px);line-height:1.7;color:#775853}
#site-shell .hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin:22px 0}
#site-shell .hero-availability{font-size:13px;line-height:1.5;border-left:3px solid #c68e78;padding-left:12px}
#site-shell .hero-art{height:100%;min-height:490px;border-radius:25px;box-shadow:var(--sn-shadow);overflow:hidden;background:#f3dcd3}
#site-shell .hero-brand-crop{width:100%;height:100%;display:block;overflow:hidden}
#site-shell .hero-brand-image{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 20%!important;filter:none!important;transform:none!important}
#site-shell .site-section{max-width:1300px;margin:0 auto;padding:clamp(35px,5vw,72px) clamp(20px,6vw,80px);background:transparent}
#site-shell .section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:28px}
#site-shell .section-heading h2{font:400 clamp(30px,3.6vw,52px)/1.1 Georgia,serif;color:var(--sn-wine);margin:13px 0}
#site-shell .section-heading p{max-width:560px;color:#775853;line-height:1.65}
#site-shell .service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#site-shell .service-tile{border:1px solid var(--sn-line);border-radius:20px;background:linear-gradient(145deg,#fffcf9,#f9e9e3);padding:24px;min-width:0;box-shadow:0 6px 16px rgba(116,67,62,.06)}
#site-shell .service-tile h3{font:400 24px Georgia,serif;color:var(--sn-wine);margin:12px 0}
#site-shell .service-tile p{line-height:1.6;color:#785f5a}
#site-shell .service-tile button{margin-top:12px}
#site-shell .sn-quick-actions{display:flex;flex-wrap:wrap;gap:10px}
#site-shell .site-footer{margin-top:24px;background:linear-gradient(135deg,#f7e1d8,#eed0c4);border-top:1px solid var(--sn-line)}
#site-shell .site-footer-inner{max-width:1300px;margin:0 auto;padding:32px clamp(20px,6vw,80px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px}
#site-shell .site-footer strong{font:italic 32px Georgia,serif;color:var(--sn-wine)}
#site-shell .site-footer p{color:#745451}
/* All secondary routes use one refined surface without old fragmented poster pages. */
.overlay{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:clamp(10px,3vw,24px);background:rgba(47,24,29,.69);backdrop-filter:blur(10px)}
.overlay.open{display:flex}
.overlay .dialog{position:relative;width:min(100%,740px);max-width:100%;max-height:calc(100dvh - 30px);overflow-y:auto;overscroll-behavior:contain;padding:clamp(22px,4vw,42px);border:1px solid #dcb3a4;border-radius:24px;background:linear-gradient(145deg,rgba(255,253,250,.99),rgba(251,237,230,.99));color:var(--sn-ink);box-shadow:0 28px 80px rgba(29,11,17,.4)}
.overlay .dialog::before{content:"";display:block;width:65px;height:2px;margin:0 0 17px;background:linear-gradient(90deg,#a56451,#e9beaa)}
.overlay .dialog .close{position:sticky!important;float:right;top:0;right:0;z-index:20;width:44px;height:44px;margin:-10px -10px 0 12px;border:1px solid #e2c0b2;border-radius:50%;background:#fff9f4;color:var(--sn-wine);font-size:30px;line-height:1}
.overlay .dialog h2{font:400 clamp(28px,4vw,42px)/1.2 Georgia,serif;color:var(--sn-wine);margin:15px 0}
.overlay .dialog h3{font:500 21px Georgia,serif;color:var(--sn-wine)}
.overlay .dialog p{line-height:1.6;color:#735651}
.overlay .dialog .eyebrow,.overlay .dialog .section-kicker{letter-spacing:.17em;text-transform:uppercase;color:#a06a59;font-size:11px;font-weight:750}
.overlay .dialog label.field{display:block;font-weight:650;color:#603e3d;margin-top:15px}
.overlay .dialog input:not([type=checkbox]),.overlay .dialog textarea,.overlay .dialog select{display:block;width:100%;min-height:44px;padding:12px 14px;margin-top:7px;border:1px solid #d9b3a6;border-radius:12px;background:#fffefa;color:#4a2a29}
.overlay .dialog .site-button,.overlay .dialog .primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 19px;border-radius:999px;font-weight:700;cursor:pointer;max-width:100%}
.overlay .dialog .primary{display:flex;width:100%}
.overlay .dialog .item{padding:17px 0;border-bottom:1px solid #ebd2c8;display:flex;justify-content:space-between;align-items:center;gap:12px}
.overlay .dialog .note{border:1px solid #edcfbf;border-radius:12px;padding:13px;background:#fff4ee;color:#785951}
.overlay .dialog .back{min-height:44px;border:0;background:transparent;color:#713e42;text-decoration:underline;cursor:pointer}
.overlay .dialog .ui-card,.overlay .dialog .actionable-record{background:#fffaf7;border-color:#e2c0b0;border-radius:15px}
.overlay .dialog .ui-chip{border-radius:999px}
/* Keep existing role-aware navigation and multi-step booking visible and usable. */
#signature-app-navigation{color:var(--sn-wine)}
#signature-app-navigation button{min-height:42px}
@media(max-width:900px){#site-shell .hero{grid-template-columns:1fr!important;min-height:0}#site-shell .hero-art{height:420px;min-height:0;max-width:600px;width:100%}#site-shell .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#site-shell .site-header{position:relative;gap:9px;justify-content:center}#site-shell .site-nav{justify-content:center}#site-shell .site-nav button{font-size:12px;padding:9px 12px}#site-shell .hero{padding:30px 19px!important;gap:22px}#site-shell .hero h1{font-size:clamp(39px,11vw,55px)}#site-shell .hero-art{height:390px}#site-shell .site-section{padding:30px 19px}#site-shell .service-grid{grid-template-columns:1fr}#site-shell .section-heading{align-items:flex-start} .overlay{padding:8px!important;align-items:center}.overlay .dialog{max-height:calc(100dvh - 16px);padding:22px 18px;border-radius:18px}.overlay .dialog .item{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}