/* Liquid Glass: shared tokens, translucent surfaces and native squircles. */
:root {
    color-scheme: light;
    --ink: #252940; --muted: #626981; --purple: #6950bd; --purple-dark: #553da9;
    --purple-light: #eae3ff; --canvas: #edf1fc; --line: rgb(87 101 146 / .14);
    --accent: #7255cd; --accent-hover: #6143c0; --on-accent: #fff;
    --glass: rgb(255 255 255 / .61); --glass-strong: rgb(255 255 255 / .82);
    --glass-border: rgb(255 255 255 / .88); --glass-highlight: rgb(255 255 255 / .88);
    --glass-shadow: 0 12px 40px rgb(62 66 116 / .07), inset 0 1px 0 var(--glass-highlight);
    --glass-hover-shadow: 0 20px 48px rgb(65 54 136 / .13), inset 0 1px 0 var(--glass-highlight);
    --field: rgb(255 255 255 / .52); --faint: #747a91; --tint: rgb(151 119 237 / .12);
    --green: #457f69; --green-tint: rgb(95 181 137 / .12); --warm: #986b3c;
    --body-background: radial-gradient(ellipse at 5% 3%, #ded8fa 0, transparent 45%), radial-gradient(ellipse at 95% 33%, #d7eff5 0, transparent 46%), radial-gradient(ellipse at 45% 95%, #f4dfed 0, transparent 45%), #edf1fc;
    --motion: cubic-bezier(.2,.75,.25,1); --spring: cubic-bezier(.2,1.25,.4,1);
}
:root[data-theme="dark"] {
    color-scheme: dark;
    --ink: #edf0ff; --muted: #b0b8d0; --purple: #c1adff; --purple-dark: #d2c4ff;
    --purple-light: #30294b; --canvas: #0e1222; --line: rgb(195 204 255 / .12);
    --accent: #8664e3; --accent-hover: #9675ef;
    --glass: rgb(23 29 50 / .66); --glass-strong: rgb(30 36 59 / .9);
    --glass-border: rgb(210 218 255 / .16); --glass-highlight: rgb(226 228 255 / .1);
    --glass-shadow: 0 16px 44px rgb(0 0 0 / .18), inset 0 1px 0 var(--glass-highlight);
    --glass-hover-shadow: 0 24px 55px rgb(0 0 0 / .29), inset 0 1px 0 rgb(228 228 255 / .18);
    --field: rgb(10 15 31 / .43); --faint: #a0a9c6; --tint: rgb(153 116 244 / .14);
    --green: #9bd8bb; --green-tint: rgb(90 181 139 / .12); --warm: #e6bd91;
    --body-background: radial-gradient(ellipse at 0 0, #282147 0, transparent 48%), radial-gradient(ellipse at 100% 35%, #102d3c 0, transparent 48%), radial-gradient(ellipse at 40% 100%, #29203d 0, transparent 50%), #0d1120;
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme]) {
        color-scheme: dark;
        --ink:#edf0ff;--muted:#b0b8d0;--purple:#c1adff;--purple-dark:#d2c4ff;--purple-light:#30294b;--canvas:#0e1222;--line:rgb(195 204 255 / .12);--accent:#8664e3;--accent-hover:#9675ef;--glass:rgb(23 29 50 / .74);--glass-strong:rgb(30 36 59 / .95);--glass-border:rgb(210 218 255 / .16);--glass-highlight:rgb(226 228 255 / .1);--field:rgb(10 15 31 / .43);--faint:#a0a9c6;--tint:rgb(153 116 244 / .14);--green:#9bd8bb;--green-tint:rgb(90 181 139 / .12);--warm:#e6bd91;--body-background:radial-gradient(ellipse at 0 0,#282147,transparent 48%),radial-gradient(ellipse at 100% 35%,#102d3c,transparent 48%),#0d1120;
    }
}
body.app-body, body.public-body {background:var(--body-background);background-attachment:fixed;color:var(--ink);isolation:isolate}
body::before, body::after {content:"";position:fixed;z-index:-1;pointer-events:none;width:480px;height:480px;border-radius:50%;filter:blur(90px);opacity:.22;will-change:transform}
body::before {background:#a99eea;left:5vw;top:4vh;animation:ambient-drift 20s ease-in-out infinite alternate}
body::after {background:#68c7d1;right:-180px;bottom:-200px;animation:ambient-drift 25s ease-in-out -10s infinite alternate-reverse}
p,.muted{color:var(--muted)}h1,h2,h3{color:var(--ink)}em{color:var(--purple)}
::selection{background:var(--purple-light);color:var(--ink)}
/* Unsupported browsers retain the rounded border-radius fallback. */
:where(.button,.icon-button,.brand-mark,.avatar,.panel,.stat-card,.appointments-panel,.week-card,.tip-card,.auth-card,.booking-card,.confirmation-card,.profile-preview,.sidebar-note,.dashboard-banner,.art-calendar,.art-event,.art-stamp,.share-link,.readonly-link,.notice,.toast,.date-tile,.slot-button,.slot-empty,.selected-summary,.confirmation-details,.time-window,input,select,textarea,dialog,.appearance-controls,.language-control,.side-nav a){corner-shape:squircle}
:is(.panel,.stat-card,.appointments-panel,.week-card,.tip-card,.auth-card,.booking-card,.confirmation-card,.sidebar-note,.dashboard-banner,.profile-preview,.art-calendar,.art-stamp){
    background:linear-gradient(140deg,var(--glass-highlight),transparent 50%),var(--glass);
    border:1px solid var(--glass-border);border-radius:23px;box-shadow:var(--glass-shadow);
    -webkit-backdrop-filter:blur(24px) saturate(155%);backdrop-filter:blur(24px) saturate(155%);
    transition:background-color .5s var(--motion),border-color .4s,box-shadow .4s var(--motion),transform .45s var(--motion);
}
.sidebar{background:var(--glass);border-right-color:var(--glass-border);-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%);box-shadow:8px 0 45px rgb(36 40 85 / .025)}
.topbar{background:var(--glass);border-bottom-color:var(--glass-border);-webkit-backdrop-filter:blur(26px) saturate(150%);backdrop-filter:blur(26px) saturate(150%);gap:16px}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:22px;min-width:0}
.topbar-book{color:var(--muted);white-space:nowrap}.breadcrumb,.breadcrumb strong{color:var(--muted)}.breadcrumb span{color:var(--faint)}
.appearance-controls{display:flex;align-items:center;gap:5px;padding:4px;background:var(--field);border:1px solid var(--glass-border);border-radius:14px;box-shadow:inset 0 1px 0 var(--glass-highlight);flex-shrink:0}
.theme-toggle{position:relative;width:34px;height:34px;min-width:34px;min-height:34px;color:var(--purple);overflow:hidden;border-radius:10px;transition:background .3s,transform .4s var(--spring)}
.theme-toggle:hover{transform:rotate(-8deg);background:var(--tint)}.theme-toggle:active{transform:scale(.88) rotate(-15deg)}
.theme-toggle>span{position:absolute;display:flex;align-items:center;justify-content:center;transition:opacity .4s,transform .6s var(--spring)}
.theme-toggle .icon{width:17px;height:17px}.theme-icon-light{opacity:1;transform:rotate(0)}.theme-icon-dark{opacity:0;transform:rotate(-90deg) scale(.6)}
[data-theme="dark"] .theme-icon-light{opacity:0;transform:rotate(100deg) scale(.6)}[data-theme="dark"] .theme-icon-dark{opacity:1;transform:rotate(0) scale(1)}
.language-form{display:flex;align-items:center;margin:0}.language-control{display:flex;align-items:center;gap:5px;padding:0 5px;color:var(--muted)}
.language-control>.icon{width:15px;height:15px;pointer-events:none}.language-control select{border:0;background:transparent;font-weight:650;color:var(--ink);min-height:32px;min-width:45px;width:49px;padding:5px 2px;margin:0;font-size:11px;cursor:pointer}
.preferences-ready .language-apply{display:none}.language-form[aria-busy="true"]{opacity:.5;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.public-header nav{gap:18px}.public-header .appearance-controls{background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.side-nav a{color:var(--muted);transition:background .35s var(--motion),transform .35s var(--motion),box-shadow .35s}
.side-nav a.active{background:var(--tint);color:var(--purple);box-shadow:inset 0 1px 0 var(--glass-highlight)}.side-nav a:hover{background:var(--tint);transform:translateX(3px)}
.workspace-label,.page-heading .eyebrow,.account-name span,.header-tag{color:var(--faint)}.sidebar-bottom{border-color:var(--line)}.account-name strong{color:var(--ink)}
.sidebar-note{background:var(--tint);border-radius:18px}.sidebar-note strong,.sidebar-note p{color:var(--muted)}.sidebar-note a{color:var(--purple)}
.note-orbit{background:var(--field);color:var(--purple);box-shadow:inset 0 1px 0 var(--glass-highlight)}.avatar{background:var(--tint);color:var(--purple);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight);transition:transform .4s var(--spring)}.avatar:hover{transform:rotate(-5deg) scale(1.04)}
.brand{color:var(--ink)}.brand-mark{background:linear-gradient(145deg,#ab92f0,#7055cf);border:1px solid rgb(255 255 255 / .5);box-shadow:0 5px 16px rgb(96 68 175 / .2),inset 0 1px 0 rgb(255 255 255 / .45);transition:transform .4s var(--spring),box-shadow .4s}.brand:hover .brand-mark{transform:rotate(-8deg) translateY(-2px);box-shadow:0 8px 20px rgb(96 68 175 / .27)}
.button{position:relative;overflow:hidden;border-radius:13px;transition:transform .3s var(--spring),box-shadow .35s,background .35s,border-color .35s}
.button-primary{background:linear-gradient(140deg,rgb(255 255 255 / .13),transparent 80%),var(--accent);border-color:rgb(255 255 255 / .24);color:var(--on-accent);box-shadow:0 6px 18px rgb(104 73 186 / .18),inset 0 1px 0 rgb(255 255 255 / .3)}
.button-primary:hover{background:var(--accent-hover);box-shadow:0 10px 25px rgb(104 73 186 / .27);transform:translateY(-3px)}
.button-white{background:var(--glass);border-color:var(--glass-border);color:var(--ink);box-shadow:inset 0 1px 0 var(--glass-highlight);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.button-white:hover{background:var(--glass-strong);border-color:var(--purple)}
.button-dark{background:#353248;color:#fff;border-color:rgb(255 255 255 / .18);box-shadow:inset 0 1px 0 rgb(255 255 255 / .12)}[data-theme="dark"] .button-dark{background:#7460b7}.button-dark:hover{background:var(--accent)}
.button-danger{background:#b84864;color:#fff;border-color:rgb(255 255 255 / .18)}.button-danger:hover{background:#a43855}
.button:not(:disabled):active{transform:translateY(0) scale(.965)}.button::after{content:"";position:absolute;inset:0;opacity:0;background:radial-gradient(circle at 50% 100%,rgb(255 255 255 / .3),transparent 70%);transition:opacity .35s;pointer-events:none}.button:hover::after{opacity:1}
.button .icon,.text-link .icon,.tip-card a .icon,.sidebar-note a .icon{transition:transform .4s var(--spring)}.button:hover .icon,.text-link:hover .icon,.tip-card a:hover .icon,.sidebar-note a:hover .icon{transform:translateX(3px)}
.icon-button:hover{background:var(--tint)}.icon-button:active{transform:scale(.9)}.icon-button{transition:background .25s,transform .3s var(--spring)}
.dashboard-banner{background:linear-gradient(125deg,var(--tint),transparent 80%),var(--glass);padding:30px;border-radius:26px}
.dashboard-banner h2{color:var(--ink);font-size:30px;line-height:1.22}.dashboard-banner p,.banner-label,.share-link>span{color:var(--muted)}
.share-link{background:var(--field);border-color:var(--glass-border);border-radius:14px;box-shadow:inset 0 1px 0 var(--glass-highlight)}.share-link .button{border-radius:10px}
.banner-art{pointer-events:none}.orbit-ring{border-color:var(--glass-border);box-shadow:inset 0 0 22px rgb(155 128 217 / .03);animation:orbit-turn 36s linear infinite}.ring-two{border-style:dashed;animation-direction:reverse}
.orbit-center{background:linear-gradient(140deg,rgb(255 255 255 / .3),transparent),rgb(150 126 207 / .6);border:2px solid var(--glass-border);box-shadow:0 15px 26px rgb(110 86 164 / .15),inset 0 2px 0 rgb(255 255 255 / .45);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:calendar-float 6s ease-in-out infinite}
.orbit-small{background:var(--glass);border-color:var(--glass-border);color:var(--purple);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.orbit-play{color:var(--green);background:var(--green-tint)}.orbit-star{color:var(--purple);background:none;animation:star-sway 9s ease-in-out infinite}.floating-label{background:var(--glass-strong);border-color:var(--glass-border);color:var(--muted);animation:label-float 7s ease-in-out -2s infinite}.floating-label .icon{color:var(--green)}
.stat-card{border-radius:21px}.stat-card:hover,.week-card:hover,.tip-card:hover{transform:translateY(-4px);box-shadow:var(--glass-hover-shadow)}.stat-label,.stat-caption,.stat-card strong small{color:var(--muted)}.stat-card strong{color:var(--ink)}.stat-icon{border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight)}.lavender{background:var(--tint);color:var(--purple)}.mint{background:var(--green-tint);color:var(--green)}.peach{background:rgb(217 161 100 / .12);color:var(--warm)}
.appointments-panel>.section-heading,.panel-heading,.tab-nav,.week-card-footer,.appointment-row,.panel-footnote,.timezone-label,.picker-footer{border-color:var(--line)}
.tab-nav a{color:var(--muted);transition:opacity .25s,transform .25s}.tab-nav a:hover{color:var(--purple);transform:translateY(-2px)}.tab-nav a.active{color:var(--purple)}
.small-badge{background:var(--tint);color:var(--purple)}.subtle-icon{color:var(--faint)}.date-tile{background:var(--tint);border-color:var(--glass-border);border-radius:12px;transition:transform .35s var(--spring)}.date-tile span,.date-tile strong{color:var(--purple)}
.appointment-row{transition:background .3s}.appointment-row:hover{background:var(--tint)}.appointment-row:hover .date-tile{transform:rotate(-4deg)}.appointment-content p,.guest-email,.appointment-content .guest-note{color:var(--muted)}.guest-email:hover{color:var(--purple)}
.booking-badge{background:var(--green-tint);color:var(--green);border:1px solid rgb(88 170 126 / .12)}.booking-badge.cancelled{background:rgb(205 84 112 / .12);color:#b43e5e}[data-theme="dark"] .booking-badge.cancelled{color:#f2a3ba}
.cancel-button{background:var(--field);color:var(--muted);border-color:var(--line);border-radius:9px;transition:background .25s,transform .3s var(--spring)}.cancel-button:hover{background:rgb(205 84 112 / .12);color:var(--ink);transform:translateY(-2px)}
.empty-icon{background:var(--tint);color:var(--purple);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);animation:gentle-tilt 8s ease-in-out infinite}.empty-state p,.week-card>p,.week-card-footer,.week-card-footer strong,.week-bar-item{color:var(--muted)}.week-card .section-heading a{color:var(--faint)}
.week-bar-background{fill:var(--field)}.week-bar-value{fill:#b5a2df;transform-origin:bottom;animation:bar-grow 1s var(--motion) both}.today .week-bar-value{fill:var(--accent)}.week-bar-value.no-hours{fill:var(--line)}.legend-dot{background:#b5a2df}.today{color:var(--purple)}
.tip-card{background:linear-gradient(135deg,var(--green-tint),transparent),var(--glass)}.tip-card .eyebrow,.tip-card a{color:var(--green)}.tip-card h3{color:var(--ink)}.tip-card p{color:var(--muted)}
.panel-footnote{background:var(--field);color:var(--muted)}.panel-heading p,.form-help,.stack-form label small,.quiet-label,.day-off{color:var(--muted)}.day-row{border-color:var(--line)}.day-row-label strong{color:var(--ink)}
label{color:var(--ink)}input:not([type="checkbox"]),select,textarea{background:var(--field);border-color:var(--line);color:var(--ink);border-radius:12px;box-shadow:inset 0 1px 0 var(--glass-highlight);transition:background .35s,border-color .3s,box-shadow .3s,transform .3s}
input::placeholder,textarea::placeholder{color:var(--faint)}input:hover,select:hover,textarea:hover{border-color:var(--purple)}input:focus,select:focus,textarea:focus{border-color:var(--purple);background:var(--glass-strong);box-shadow:0 0 0 4px var(--tint),inset 0 1px 0 var(--glass-highlight)}
input[readonly]{background:var(--tint);color:var(--muted)}.input-suffix,.input-prefix,.password-input{background:var(--field);border-color:var(--line);border-radius:12px;transition:border-color .3s,box-shadow .3s}.input-suffix:focus-within,.input-prefix:focus-within,.password-input:focus-within{border-color:var(--purple);box-shadow:0 0 0 4px var(--tint)}
.input-suffix input,.input-prefix input,.password-input input{background:transparent;box-shadow:none}.input-suffix>span,.input-prefix>span,.password-input button{color:var(--muted)}.password-input input:focus,.input-prefix input:focus,.input-suffix input:focus{box-shadow:none;background:transparent}
:is(.availability-settings,.auth-card,.booking-flow) .stack-form label small{color:var(--muted)}
.switch>span{background:var(--line);transition:background .35s}.switch input:checked+span{background:var(--accent)}.switch>span::after{transition:transform .4s var(--spring)}.add-window,.time-window .remove-window{color:var(--faint)}.time-window .remove-window:hover{background:var(--tint);color:var(--purple)}.time-window{animation:window-enter .35s var(--motion)}
.profile-preview{background:linear-gradient(135deg,var(--tint),transparent),var(--glass)}.profile-preview h2{color:var(--ink)}.profile-preview p{color:var(--muted)}.readonly-link{background:var(--field);border-color:var(--glass-border);color:var(--purple);border-radius:12px}
.notice.success{background:var(--green-tint);border-color:rgb(91 178 134 / .24);color:var(--green)}.notice.error{background:rgb(211 78 110 / .1);border-color:rgb(211 78 110 / .25);color:#a73351}[data-theme="dark"] .notice.error{color:#ffabc2}.notice{box-shadow:inset 0 1px 0 var(--glass-highlight);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.app-footer,.public-footer{color:var(--muted)}.hero .eyebrow,.hero-copy>p,.hero-actions .text-link,.hero-benefits,.home-features p,.auth-intro>p,.auth-intro .eyebrow,.auth-quote{color:var(--muted)}.hero-copy h1{color:var(--ink)}.hero-copy h1 em{color:var(--purple)}
.hero-art{background:linear-gradient(145deg,var(--tint),rgb(118 204 211 / .12)),var(--glass);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px)}
.art-topline,.art-bottom{color:var(--muted)}.art-calendar{background:var(--glass);border-radius:23px;animation:hero-calendar-float 8s ease-in-out infinite}.art-calendar-heading,.art-calendar-days{color:var(--muted)}.art-grid span{background:var(--field);border-color:var(--line)}
.art-event{background:var(--purple-light);border-color:var(--glass-border);color:var(--purple);border-radius:12px;box-shadow:var(--glass-shadow)}.art-event strong,.art-event span:not(.event-dot){color:var(--purple)}.art-event.play{background:var(--glass-strong);color:var(--green)}.art-event.play strong,.art-event.play span:not(.event-dot){color:var(--green)}
.art-stamp{background:var(--glass-strong);color:var(--muted);animation:label-float 7s ease-in-out -2s infinite}.art-stamp strong{color:var(--ink)}.art-stamp .icon{background:var(--green-tint);color:var(--green)}.home-features{border-color:var(--line)}.home-features h2{color:var(--ink)}.feature-number{color:var(--purple)}
.auth-card h2{color:var(--ink)}.auth-card>.muted,.auth-switch,.secure-note{color:var(--muted)}.auth-quote,.secure-note{border-color:var(--line)}.auth-decoration span{color:var(--purple);border-color:var(--line);background:var(--glass)}.auth-decoration span:nth-child(2){background:var(--green-tint);color:var(--green);border-color:var(--line)}.auth-decoration span:nth-child(3){background:var(--field);color:var(--warm);border-color:var(--line)}
.booking-intro .eyebrow,.booking-intro>p,.booking-signoff{color:var(--muted)}.booking-signoff a{color:var(--purple)}.booking-host{background:linear-gradient(160deg,var(--tint),transparent 80%);border-color:var(--line)}.booking-host .eyebrow{color:var(--purple)}.host-bio,.booking-meta,.booking-host-bottom,.booking-meta .icon{color:var(--muted)}.booking-host-bottom{border-color:var(--line)}.host-avatar{background:var(--tint);color:var(--purple)}
.booking-steps{color:var(--muted)}.booking-steps b{border-color:var(--line)}.booking-steps .active{color:var(--purple)}.booking-steps .active b{background:var(--tint);color:var(--purple);border-color:var(--glass-border)}.step-line{background:var(--line)}
.picker-heading p,.slot-description,.slot-empty,.picker-footer,.timezone-label select,.timezone-label .icon{color:var(--muted)}.month-heading h3,.slot-picker>h3{color:var(--ink)}.month-heading .icon-button{color:var(--muted)}.calendar-weekdays{color:var(--muted)}.calendar-days button{background:var(--tint);color:var(--purple);border:1px solid transparent;border-radius:12px;transition:background .3s,transform .35s var(--spring),box-shadow .35s}
.calendar-days button:not(:disabled):hover{background:var(--purple-light);color:var(--purple);transform:translateY(-3px);box-shadow:0 5px 12px var(--tint)}.calendar-days button.selected,.calendar-days button.selected:not(:disabled):hover{background:var(--accent);color:#fff;border-color:var(--glass-border);box-shadow:0 4px 14px rgb(103 77 177 / .2)}
.calendar-days button:disabled{background:transparent;color:var(--faint);opacity:.65}.slot-picker{border-color:var(--line)}.slot-button{background:var(--field);border-color:var(--line);color:var(--purple);border-radius:11px;transition:background .3s,box-shadow .3s,transform .3s var(--spring);animation:window-enter .35s var(--motion) both}.slot-button:hover{background:var(--tint);border-color:var(--purple);transform:translateX(3px);box-shadow:inset 0 1px 0 var(--glass-highlight)}
.slot-button:nth-child(2){animation-delay:.035s}.slot-button:nth-child(3){animation-delay:.07s}.slot-button:nth-child(4){animation-delay:.105s}.slot-button:nth-child(5){animation-delay:.14s}.slot-button:nth-child(n+6){animation-delay:.175s}
.slot-list{scrollbar-color:var(--purple-light) transparent}.slot-empty{background:var(--field);border:1px solid var(--line)}.slot-list[aria-busy="true"]::before{content:"";height:17px;width:17px;display:block;border:2px solid var(--line);border-top-color:var(--purple);border-radius:50%;animation:orbit-turn .75s linear infinite;margin:0 auto}
.selected-summary{background:var(--tint);border-color:var(--line);color:var(--purple);border-radius:13px}#booking-details>.muted,.booking-flow .stack-form label small,.checkbox-label,.optional{color:var(--muted)}.back-link{color:var(--purple)}#booking-details:not([hidden]){animation:glass-enter .5s var(--motion)}
.confirmation-check{background:var(--green-tint);color:var(--green);border-color:var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight);animation:check-arrive .8s var(--spring) both}.confirmation-card>.eyebrow,.confirmation-card>p{color:var(--muted)}.confirmation-card>p strong{color:var(--ink)}.confirmation-details{background:var(--field);border-color:var(--line);color:var(--muted);border-radius:16px}.confirmation-details .icon{color:var(--purple)}
.error-icon{background:var(--tint);color:var(--purple)}.error-page p{color:var(--muted)}.toast{background:var(--glass-strong);color:var(--ink);border:1px solid var(--glass-border);box-shadow:var(--glass-hover-shadow);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);border-radius:16px;animation:toast-enter .4s var(--spring)}.toast.is-error{background:var(--glass-strong);color:#b73f60}[data-theme="dark"] .toast.is-error{color:#ffb1c8}
.toast.is-leaving{animation:toast-leave .22s ease both}.dialog-icon{background:var(--tint);color:var(--purple)}dialog{background:var(--glass-strong);color:var(--ink);border-color:var(--glass-border);border-radius:24px;box-shadow:var(--glass-hover-shadow);-webkit-backdrop-filter:blur(35px);backdrop-filter:blur(35px)}dialog::backdrop{background:rgb(18 20 42 / .35);backdrop-filter:blur(8px)}dialog[open]{animation:dialog-enter .45s var(--spring)}
.glass-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--motion),transform .7s var(--motion),background-color .5s,box-shadow .4s}
.glass-reveal.is-visible{opacity:1;transform:translateY(0)}.stats-grid .glass-reveal:nth-child(2){transition-delay:.07s}.stats-grid .glass-reveal:nth-child(3){transition-delay:.14s}
.theme-switching *{transition-property:transform,opacity!important;transition-delay:0s!important}
::view-transition{pointer-events:none}::view-transition-old(root){animation:theme-fade-out .35s ease both}::view-transition-new(root){animation:theme-fade-in .45s var(--motion) both}
@keyframes theme-fade-out{to{opacity:0}}@keyframes theme-fade-in{from{opacity:0}to{opacity:1}}
.page-heading,.booking-intro{animation:glass-enter .6s var(--motion) both}.main-content,.public-main{animation:page-arrive .5s var(--motion)}.hero-copy{animation:glass-enter .8s var(--motion) both}.hero-art{animation:glass-enter 1s var(--motion) both}.status-dot{animation:status-breathe 4s ease-in-out infinite}.greeting-spark{color:var(--purple);animation:star-sway 10s ease-in-out infinite}.week-card .section-heading a .icon{transition:transform .5s}.week-card .section-heading a:hover .icon{transform:rotate(75deg)}
@keyframes glass-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes page-arrive{from{opacity:.4}to{opacity:1}}
@keyframes ambient-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(50px,35px,0) scale(1.12)}}
@keyframes calendar-float{0%,100%{transform:translateY(0) rotate(-9deg)}50%{transform:translateY(-9px) rotate(-5deg)}}
@keyframes hero-calendar-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-9px) rotate(-2deg)}}
@keyframes label-float{0%,100%{transform:translateY(0) rotate(4deg)}50%{transform:translateY(-6px) rotate(2deg)}}
@keyframes star-sway{0%,100%{transform:rotate(0)}50%{transform:rotate(25deg)}}
@keyframes gentle-tilt{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(3deg)}}
@keyframes orbit-turn{to{transform:rotate(360deg)}}
@keyframes bar-grow{from{transform:scaleY(.1)}to{transform:scaleY(1)}}
@keyframes window-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes check-arrive{from{opacity:0;transform:scale(.65) rotate(-15deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes status-breathe{0%,100%{box-shadow:0 0 0 3px rgb(104 179 143 / .08)}50%{box-shadow:0 0 0 6px rgb(104 179 143 / .02)}}
@keyframes toast-enter{from{opacity:0;transform:translate(-50%,16px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes toast-leave{to{opacity:0;transform:translate(-50%,6px) scale(.97)}}
@keyframes dialog-enter{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(hover:none){.stat-card:hover,.week-card:hover,.tip-card:hover,.button:hover,.side-nav a:hover{transform:none}}
@media(max-width:1200px){.dashboard-banner h2{font-size:28px}.header-actions{gap:14px}.topbar-book{font-size:11px}.public-header nav{gap:12px}.header-tag{display:none}}
@media(max-width:780px){.sidebar{border-bottom-color:var(--glass-border)}.topbar{min-height:92px;height:auto;flex-wrap:wrap;padding:12px 22px;gap:8px}.breadcrumb{width:100%}.header-actions{width:100%;justify-content:space-between;gap:10px}.dashboard-banner h2{font-size:27px}}
@media(max-width:600px){body::before,body::after{width:250px;height:250px;filter:blur(65px);opacity:.15}.dashboard-banner{padding:25px 22px;border-radius:23px}.dashboard-banner h2{font-size:27px}.topbar{padding:10px 17px;min-height:90px}.appearance-controls{padding:2px;gap:2px;border-radius:12px}.theme-toggle{width:31px;height:31px;min-width:31px;min-height:31px}.language-control{padding:0 3px;gap:2px}.language-control .icon{width:13px;height:13px}.language-control select{width:41px;min-width:41px;font-size:10px}.public-header{gap:12px;align-items:flex-start}.public-header nav{gap:8px;flex:1;min-width:0;flex-wrap:wrap;justify-content:flex-end}.public-header .brand{margin-top:5px}.public-header nav>.button{font-size:10px;padding:9px}.calendar-days button{border-radius:10px}.booking-card{border-radius:21px}.booking-flow{padding:23px 20px 0}.booking-host{padding:22px}.confirmation-card{border-radius:24px}.share-link>span{min-width:0}.hero-art{border-radius:100px 100px 25px 25px}.art-calendar{border-radius:20px}.app-footer{line-height:1.8}}
@media(max-width:360px){.topbar-book{font-size:9px}.topbar-book .icon{width:12px;height:12px}.public-header{padding:20px 17px}.public-header .brand{font-size:24px;gap:7px}.public-header .brand-mark{width:29px;height:29px}.public-header nav{gap:6px}.public-header nav>.button{font-size:9px;padding:8px}.public-main{padding:0 17px}.hero-copy h1{font-size:55px}.hero-benefits{flex-wrap:wrap;gap:10px}.booking-host{padding:20px}.booking-flow{padding:22px 17px 0}}
@supports not (backdrop-filter:blur(1px)){:is(.panel,.stat-card,.appointments-panel,.week-card,.tip-card,.auth-card,.booking-card,.confirmation-card,.sidebar,.topbar){background:var(--glass-strong)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.glass-reveal{opacity:1!important;transform:none!important}body::before,body::after{will-change:auto}.button:hover,.stat-card:hover,.week-card:hover,.tip-card:hover,.side-nav a:hover{transform:none!important}}
@media print{body.app-body,body.public-body{background:#fff;color:#000}body::before,body::after,.appearance-controls{display:none!important}.glass-reveal{opacity:1;transform:none}.panel,.confirmation-card{background:#fff;box-shadow:none;backdrop-filter:none}}
