/* Experimental interior, v17. The home page retains its existing appearance. */
#schedule,#profile,#notifications,#more{
 position:relative;isolation:isolate;min-height:calc(100dvh - 100px);
 background:radial-gradient(ellipse at 95% 0%,#36556455,transparent 45%),radial-gradient(ellipse at 0% 25%,#c69c4820,transparent 40%),linear-gradient(155deg,#0a2131,#061829 60%);
}
#schedule::before,#profile::before,#notifications::before,#more::before{
 content:"";position:absolute;z-index:-1;pointer-events:none;top:24px;right:22px;width:136px;height:190px;border:1px solid #dbb77525;border-radius:90px 90px 12px 12px;box-shadow:inset 0 0 0 7px #071a280a,inset 0 0 0 8px #dbb77512;transform:rotate(10deg)
}
.inner>.kicker{color:#d7b77f;letter-spacing:.18em;font-size:10px;line-height:1.7;padding-right:55px}
.inner>h1{font:clamp(30px,7vw,40px)/1.16 Georgia,serif;margin:14px 0 16px;color:#f8dfae}
.inner>h1::after{content:"";display:block;width:62px;height:2px;margin-top:17px;background:linear-gradient(90deg,#e7c989,transparent)}
.inner>.description{color:#b7ccd4;line-height:1.6;max-width:90%;margin-bottom:24px}
#schedule .schedule-summary{
 border:1px solid #ba955c65;background:linear-gradient(125deg,#16374a,#0b2333);border-radius:20px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 10px 28px #0002; margin:18px 0;
}
.schedule-summary>div{display:flex;flex-direction:column;gap:8px;min-width:0}
.schedule-summary strong{font:23px/1.25 Georgia;color:#ffe0a0}
.schedule-summary span:last-child{font-size:13px;color:#bdcdd4;line-height:1.45;overflow-wrap:anywhere}
.summary-label{font-size:10px!important;letter-spacing:.15em;text-transform:uppercase;color:#d8b981}
#schedule .schedule-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0}
#schedule #sync-status{font-size:11px;color:#a5bdc9;flex:1;min-width:120px}
#schedule .week-head{border-top:1px solid #d1ab6935;padding-top:20px;margin-top:22px}
#schedule #week-title{font:21px/1.4 Georgia;text-align:center}
#schedule .days{gap:6px;margin:20px 0 25px}
#schedule .days button{border-radius:14px;min-height:80px;background:#0b2435;border-color:#d9b57835;padding:10px 2px}
#schedule .days button span{font-size:11px;color:#aebfc9}
#schedule .days button b{font:24px Georgia}
#schedule .days button.selected{background:linear-gradient(135deg,#f0d79f,#bb9152);color:#102635;box-shadow:0 5px 22px #d9ae5833;border-color:#f6dfa7}
#schedule .days button.selected span,#schedule .days button.selected small{color:#344858}
#schedule .days small{font-size:9px;color:#d7bd8d;white-space:nowrap}
#schedule .lessons{position:relative}
#schedule .lesson{position:relative;border-radius:18px;border:1px solid #ba955c45;border-left:3px solid #d0ad6b;margin:14px 0;padding:21px;background:linear-gradient(135deg,#123145,#0a2030);box-shadow:0 6px 18px #0002}
#schedule .lesson h2{font:23px/1.3 Georgia;margin:15px 0 8px}
#schedule .lesson p{line-height:1.6;color:#b4c7d1;margin:6px 0}
#schedule .lesson-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#schedule .lesson-top time{font:19px Georgia;border:1px solid #d4b57970;border-radius:10px;background:#d7b66d12;padding:6px 11px;color:#f5d694}
#schedule .lesson-top span{font-size:12px;color:#9fb8c7}
#schedule .lesson.highlight-lesson{border-color:#edcf81;background:linear-gradient(135deg,#284344,#112b37);box-shadow:0 0 0 3px #edcf8118,0 9px 24px #0003}
#schedule .empty,#notifications .empty{border:1px dashed #c9a46765;border-radius:22px;padding:35px 22px;background:#14324466;text-align:center}
#schedule .empty h2,#notifications .empty h2{font:24px Georgia}
#profile .panel,#more .panel{border-radius:22px;border:1px solid #c3a26365;background:linear-gradient(140deg,#173548dd,#0b2434);box-shadow:0 8px 30px #0002;padding:24px;margin-top:20px}
#profile .panel h2,#more .panel h2{font:26px/1.2 Georgia;color:#f4d99e;margin-top:0}
#profile .profile-card{position:relative;margin-top:26px;border:1px solid #c5a26055;border-radius:24px;padding:32px 20px;background:radial-gradient(ellipse at 50% 0%,#e3bf6d1c,transparent 68%),linear-gradient(150deg,#123144,#081e2c);box-shadow:0 14px 32px #0003}
#profile .profile-card::before{content:"✧";position:absolute;top:20px;left:24px;color:#dbc07e;font:25px Georgia}
#profile .profile-card::after{content:"✧";position:absolute;top:20px;right:24px;color:#dbc07e;font:25px Georgia}
#profile .avatar{width:94px;height:94px;border:1px solid #e4c486;box-shadow:0 0 0 7px #e4c4860c,0 0 0 8px #e4c48636,0 8px 24px #0003;margin-bottom:12px;background:linear-gradient(150deg,#294651,#0c283a)}
#profile .profile-card h2{font:29px/1.3 Georgia;margin:15px 0 8px}
#profile label{line-height:1.6;font-size:13px;color:#dfcea7}
#profile input{min-height:48px;border-radius:12px!important;background:#061a28!important;border-color:#a98b5677!important}
#profile input[readonly]{background:#0a2332!important;color:#b9ccd5}
#profile .contact-button{border-radius:14px;background:#0a2535;border-color:#a78b5555;padding:16px;min-height:65px;text-align:left}
#profile .contact-button strong{font-weight:400;line-height:1.6;color:#f0d7a2}
#profile .gold-button{min-height:48px;border-radius:12px}
#profile .photo-caption{color:#d8bf8c;text-underline-offset:5px;min-height:36px}
#notifications .notice{border-radius:22px;border:1px solid #ac8e5955;background:linear-gradient(145deg,#173549,#0a2232);padding:24px;margin:18px 0;box-shadow:0 7px 24px #0002}
#notifications .notice h2{font:25px/1.3 Georgia;color:#f4dba9;margin:0 0 16px}
#notifications .notice[data-status="pending"]{border-left:3px solid #edc46b}
#notifications .notice[data-status="approved"],#notifications .notice[data-status="booked"]{border-left:3px solid #69c5a5}
#notifications .notice[data-status="rejected"],#notifications .notice[data-status="cancelled"]{border-left:3px solid #b9797a}
#notifications .notice .paid{display:inline-block;background:#285e4b66;border:1px solid #71bc9744;border-radius:20px;padding:7px 11px;font-size:12px}
#notifications .notice>button,#notifications .notice>a{margin:5px 6px 5px 0;min-height:44px}
#notifications .move-from,#notifications .move-to{font-size:13px;line-height:1.5;white-space:normal}
#more .menu{display:grid;gap:12px}
#more .menu button{border-radius:16px;border:1px solid #be9a5c55;background:linear-gradient(130deg,#153448,#0c2637);padding:19px 17px;text-align:left;display:flex;align-items:center;gap:12px;min-height:62px;color:#f0debd;box-shadow:0 5px 16px #0002}
#more .menu button::before{content:"✦";font:25px Georgia;color:#d5b675}
#more .menu #account-menu::before{content:"♙"}
#more .menu #studio-hours::before{content:"◷"}
#more .menu #studio-management::before{content:"⚙"}
#more .menu button[data-action="gallery"]::before{content:"▣"}
#more .menu button[data-action="contacts"]::before{content:"⌖"}
#more .menu button span{margin-left:auto;color:#c9ab70}
#more .panel p{font-size:15px;line-height:1.8;color:#b9ccd6}
#modal{border-radius:24px;background:radial-gradient(ellipse at 100% 0%,#2a485755,transparent 55%),linear-gradient(145deg,#123247,#081e2e);border-color:#bda063aa;box-shadow:0 24px 100px #0009}
#modal h2{font:28px/1.25 Georgia;color:#f4dca9}
#modal label{font-size:13px;line-height:1.65;color:#decea9}
#modal input,#modal select,#modal textarea{border-radius:11px;min-height:46px}
#modal .club-box{border:1px solid #baa26650;border-radius:16px;background:linear-gradient(135deg,#1b3b4f,#0b2739);padding:19px;margin:14px 0;overflow-wrap:anywhere}
#modal .club-box h3{font:23px/1.3 Georgia;color:#f1d8a3;margin:0 0 13px}
#modal .club-box .paid{display:inline-block;padding:5px 10px;border-radius:20px;background:#39745945;border:1px solid #82caaa44;font-size:12px}
#modal .trial-grid button{border-radius:12px;min-height:46px}
#modal .trial-grid .today{border-color:#f0d49a;box-shadow:inset 0 0 0 1px #f0d49a44}
#modal .trial-slots{gap:12px}
#modal .trial-slots button{border-radius:14px;padding:16px 10px;min-height:58px}
#modal .slot-free{background:#194b3d;border:1px solid #65ad8e;color:#b5f0d2}
#modal .slot-busy{background:#502d38;border:1px solid #b1757e;color:#f5b9ba;opacity:1}
#modal .gold-button,#modal .club-button,#modal .cancel-button{min-height:44px;border-radius:11px}
#modal::backdrop{background:#010b16c9;backdrop-filter:blur(5px)}
/* The separate studio editor shares the same paper-and-gold treatment. */
#workspace #editor,#workspace .panel,#login-panel{border-radius:20px;background:linear-gradient(145deg,#163448,#0c2333);border-color:#ba985e70;box-shadow:0 10px 30px #0003}
#workspace h2,#login-panel h2{font-family:Georgia,serif;color:#f0d59f}
#workspace input,#workspace select,#workspace textarea,#login-panel input{min-height:44px;border-radius:10px}
#workspace .account{border-radius:14px;padding:15px;border-color:#b4966260}
#workspace .account.selected{background:#29434b;border-color:#e1bf7d}
#workspace .date-red,#workspace .date-green{padding:14px;border-radius:12px;line-height:1.5}
@media(max-width:420px){
 #schedule .schedule-summary{padding:17px;flex-wrap:wrap;border-radius:18px}
 #schedule .schedule-summary strong{font-size:21px}
 #schedule #week-title{font-size:18px}
 #profile .panel,#notifications .notice,#more .panel{padding:20px}
 #modal h2{font-size:25px}
 #schedule .days button b{font-size:22px}
 #schedule .days button{min-height:76px}
}
@media(prefers-reduced-motion:no-preference){
 .inner button,#modal button{transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}
 .inner .menu button:hover,#modal .club-button:hover{border-color:#e8c988;box-shadow:0 4px 15px #d7b47013}
}
.child-welcome{display:flex;align-items:center;gap:15px;padding:19px 16px;margin:20px 0;border:1px solid #b99b6255;border-radius:18px;background:linear-gradient(130deg,#163448,#0b2231)}.child-welcome>span:last-child{display:flex;flex-direction:column;gap:6px;min-width:0}.child-welcome small{font-size:13px;color:#b8cbd4}.child-welcome strong{font:24px/1.25 Georgia;color:#f1d9a5;overflow-wrap:anywhere}.welcome-photo,.welcome-initial{width:66px;height:66px;border-radius:50%;flex-shrink:0;border:1px solid #dab775;object-fit:cover;box-shadow:0 0 0 4px #dab77512}.welcome-initial{display:grid;place-items:center;font:30px Georgia;color:#edcf91;background:#183447}.child-photo-editor{display:flex;align-items:center;gap:20px;padding:20px 0;margin:8px 0 20px;border-bottom:1px solid #b99b6244}.child-photo-editor>img,.child-photo-editor>span{width:90px;height:90px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid #d3b271}.child-photo-editor>span{display:grid;place-items:center;background:#143247;color:#b8c5cb;text-align:center;font-size:12px}.child-photo-editor button{margin:3px 6px 3px 0}@media(max-width:420px){.child-welcome strong{font-size:21px}.child-photo-editor{gap:14px;align-items:flex-start}}

.price-control{display:flex;gap:6px}.price-control input{flex:1;min-width:0}.price-control select{width:145px}.feed-reactions{display:flex;gap:10px;margin-top:14px}.reaction{background:#102e42;border:1px solid #917c52;border-radius:24px;padding:8px 14px;color:#efd5a3}.reaction.selected{border-color:#f1cb79;background:#4b3c29;box-shadow:0 0 12px #f1cb7922}

.strip>.map-link{display:flex;align-items:center;gap:9px;padding:0 9px;border-left:1px solid #bb925542;color:inherit;text-decoration:none;text-align:left}
.nav [data-nav=notifications],.top-actions [data-nav=notifications]{position:relative}.has-unread:after{content:'';position:absolute;top:8px;right:calc(50% - 19px);width:9px;height:9px;border-radius:50%;background:#ff575e;box-shadow:0 0 0 2px #071d2e,0 0 9px #ff575e77}.top-actions .has-unread:after{top:3px;right:3px}
#schedule .days button.payment-due{background:linear-gradient(150deg,#763741,#3f1b29);border:2px solid #ef7a80;box-shadow:0 0 14px #c8435d44;color:#ffe0df}#schedule .days button.payment-due b{color:#ffe0df}#schedule .days button.payment-cleared{background:linear-gradient(150deg,#235641,#102f2d);border:2px solid #72c69d;color:#c8f1db}#schedule .days button.payment-cleared b{color:#c8f1db}#schedule .days button .payment-day-label{color:inherit;font-size:9px;font-weight:bold}#schedule .days button.payment-due.selected,#schedule .days button.payment-cleared.selected{outline:2px solid #e7c384;outline-offset:2px}
.payment-status{display:inline-block;margin:10px 0!important;padding:8px 12px;border-radius:10px;border:1px solid}.payment-status.unpaid{background:#542632;color:#ffb7b6;border-color:#c46b75}.payment-status.paid{background:#173f33;color:#a2e3bd;border-color:#639d7c}.paid-until{font-size:12px!important;color:#a9cab9!important}
@media(max-width:420px){.strip>.map-link{padding:0 5px;gap:5px}}

.feed-personal-label{display:inline-block;border:1px solid #bb995e;border-radius:20px;padding:6px 12px;color:#f2d599;background:#614a252f;margin-bottom:10px;font-size:12px}.feed-pinned{border-top-color:#d6b67c}.feed-target-label{color:#c5af83;font-size:12px}

#feed-posts{max-height:min(560px,68dvh);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#b19562 #0b2334;border-bottom:1px solid #a58a5655}#feed-posts:focus-visible{outline:2px solid #d7b97b;outline-offset:3px}#feed-posts .feed-photo{height:min(340px,44dvh);max-height:none;object-fit:contain}#feed-posts .feed-post:last-child{margin-bottom:0}
.feed-subject{display:flex;align-items:center;gap:9px;margin:0 0 12px;color:#e5cea4}.feed-subject-avatar{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;border:1px solid #b79a60;background:#1c3947;color:#eccb85;font:18px Georgia;overflow:hidden}.feed-subject-avatar img{width:100%;height:100%;object-fit:cover}.feed-subject-name{font-size:13px;line-height:1.4;overflow-wrap:anywhere}

/* v28: illustrated navy-and-gold surroundings; UI stays separate from artwork. */
#schedule,#notifications,#more,#profile {
 background-color:#030e1b;
 background-image:linear-gradient(180deg,rgba(2,10,20,.24),rgba(2,10,20,.12) 35%,rgba(2,10,20,.25)),var(--section-art);
 background-position:center top;background-size:cover;background-repeat:no-repeat;
 min-height:calc(100dvh - 100px);
}
#more {--section-art:url('/backgrounds/more.jpg')}
#schedule {--section-art:url('/backgrounds/schedule.jpg')}
#notifications {--section-art:url('/backgrounds/notifications.jpg')}
#profile {--section-art:url('/backgrounds/home-lower.jpg')}
#schedule::before,#notifications::before,#more::before,#profile::before{display:none}
.inner>.kicker,.inner>h1,.inner>.description{position:relative;text-shadow:0 2px 7px #020a14,0 0 22px #020a14}
#home .content {
 background-color:#030e1b;
 background-image:linear-gradient(180deg,#061829 0,rgba(3,14,27,.08) 150px,rgba(3,14,27,.18)),url('/backgrounds/home-lower.jpg');
 background-size:cover;background-position:center top;background-repeat:no-repeat;
}
#home .section-label,#home .home-note,#session-label{text-shadow:0 2px 6px #020a14}
#more .panel,#profile .panel{background:linear-gradient(140deg,rgba(10,28,45,.94),rgba(4,17,32,.92))}
#notifications .notice{background:linear-gradient(145deg,rgba(10,29,46,.94),rgba(4,18,33,.94))}
#more .menu button{background:linear-gradient(130deg,rgba(10,28,45,.96),rgba(4,18,32,.94))}
#more .panel{margin-top:30px}

/* Keep trial availability in place while background requests run. */
#guest-times{min-height:165px}
#guest-day-error{font-size:12px;min-height:2.6em;margin:8px 0 0;line-height:1.3;color:#b9c8d3}

/* v31: billing periods, review offer and targeted material messages. */
.subscription-pair{margin:22px 0 30px}.subscription-pair>h3{font:22px Georgia;color:#edd49c;margin:0 0 12px}
.subscription-period{border:1px solid;border-radius:22px;padding:22px;margin:12px 0;overflow:hidden;position:relative}.subscription-paid{background:radial-gradient(ellipse at 100% 0%,#b5994630,transparent 65%),linear-gradient(135deg,#133d35,#09251f);border-color:#80bda480;box-shadow:0 8px 28px #0003}.subscription-next{background:linear-gradient(140deg,#29313b,#141e29);border-color:#96a4b04d}.subscription-period h3{font:23px Georgia;margin:18px 0 12px}.period-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.period-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#b8c8c5}.period-badge{font-size:11px;border-radius:20px;padding:6px 10px;background:#78b89322;color:#bde9ce;border:1px solid #77bd9866}.subscription-next .period-badge{color:#bec6d1;border-color:#8798aa55;background:#8798aa12}.period-amount,.payment-total{font:32px Georgia;color:#f0dcad;margin:15px 0}.period-dates{list-style:none;padding:0;margin:18px 0}.period-dates li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #bec6c323;font-size:13px}.period-dates strong{font-weight:400}.period-dates span{color:#b8c8d0}.discount-seal{float:right;border:1px solid #e4be75;border-radius:50%;width:66px;height:66px;display:grid;place-items:center;font:22px Georgia;color:#f4d28a;background:#9d773122}.review-offer{background:radial-gradient(ellipse at top right,#99723630,transparent 75%),#0b2534!important}.review-link{display:block!important;text-align:center}.material-body{white-space:pre-wrap;overflow-wrap:anywhere}.material-date{color:#e4c784!important}.wizard-step{font-size:10px;letter-spacing:.1em;color:#c9b284}.materials-people{max-height:48dvh;overflow:auto;margin:18px 0}.material-person{display:flex;flex-direction:row;align-items:center;gap:12px;padding:15px;background:#0c2535;border:1px solid #b1935844;border-radius:12px;margin:8px 0}.material-person input,.material-day-list input{width:20px;flex-shrink:0}.material-person span,.material-day-list span{display:flex;flex-direction:column;gap:6px}.material-person small,.material-day-list small{color:#9fb8c5;font-size:12px}.material-calendar{border:1px solid #b1935844;border-radius:15px;padding:16px;margin:15px 0}.material-calendar h3{font:21px Georgia;margin:0 0 12px}.material-day-list{max-height:230px;overflow:auto}.material-day-list label{display:flex;flex-direction:row;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #b1935833;margin:0}.material-day-list label:has(input:checked){background:#c7a85b18;color:#f6d99f}#materials-compose textarea{width:100%;resize:vertical;border:1px solid #a58b58;background:#061b2a;color:#f1ddb9;border-radius:12px;padding:14px;font:16px/1.5 Arial}

.transfer-details{border:1px solid #b69b6355;border-radius:18px;padding:18px;background:#071b2b}.transfer-label{display:block;font-size:12px;color:#a7bfca;margin:0 0 8px}.transfer-details p{margin:20px 0 8px!important}.transfer-details strong{font:21px Georgia;color:#eddbb8}.transfer-details input{font:22px Georgia;letter-spacing:.02em;width:100%;color:#f1d397;background:#102b3e;border:1px solid #a88c5f;border-radius:11px;padding:13px 10px}.material-notice .cancel-button{margin-left:8px;margin-top:10px}

/* Keep header icons centered inside native iOS button controls. */
.top-actions .round{appearance:none;-webkit-appearance:none;padding:0;display:flex;align-items:center;justify-content:center;flex:0 0 42px;line-height:1}
.top-actions .round>svg{display:block;flex:0 0 23px;width:23px;height:23px;margin:0;pointer-events:none}
