*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--client-bg:#0f0c09;--client-card:#17120e;--client-line:#f4ede014;--client-gold:#d2af6e;--client-gold-light:#ecd8a8;--client-white:#f4ede0;--client-dim:#f4ede08f;--client-dimmer:#f4ede057;--client-danger:#fecaca;--client-success:#bbf7d0}html{background:var(--client-bg)}body{background:radial-gradient(circle at top left, #d2af6e14, transparent 34rem), var(--client-bg);color:var(--client-white);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.dashboard-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--client-line);background:linear-gradient(#f4ede009,#0003),#0003;width:280px;height:100vh;padding:1rem;position:sticky;top:0;overflow:hidden}.sidebar-inner{background:#0f0c098f;border:1px solid #f4ede00f;flex-direction:column;justify-content:space-between;height:100%;padding:1rem;display:flex;position:relative;overflow:hidden}.sidebar-inner:before{content:"";opacity:.8;pointer-events:none;background:radial-gradient(circle,#d2af6e21,#0000 64%);width:220px;height:220px;position:absolute;top:-100px;right:-100px}.sidebar-inner>*{z-index:1;position:relative}.brand{border-bottom:1px solid var(--client-line);color:var(--client-white);gap:.35rem;margin-bottom:1.4rem;padding:.85rem 0 1.25rem;display:grid}.brand span{letter-spacing:-.04em;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:300;line-height:1}.brand small{color:var(--client-gold);letter-spacing:.24em;text-transform:uppercase;font-size:.56rem}.nav-list{gap:.55rem;display:grid}.nav-list a{color:var(--client-dim);border:1px solid #0000;gap:.24rem;min-width:0;padding:.85rem;transition:background .25s,border-color .25s,color .25s,transform .25s;display:grid;position:relative}.nav-list a:before{content:"";opacity:0;background:linear-gradient(#0000,#d2af6e8c,#0000);width:1px;transition:opacity .25s;position:absolute;inset:0 auto 0 0}.nav-list a span{color:var(--client-gold);letter-spacing:.2em;text-transform:uppercase;font-size:.52rem}.nav-list a strong{letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:500}.nav-list a:hover,.nav-list a.active{color:var(--client-gold-light);background:#d2af6e12;border-color:#d2af6e38;transform:translate(2px)}.nav-list a:hover:before,.nav-list a.active:before{opacity:1}.sidebar-account-card{background:#d2af6e0e;border:1px solid #d2af6e29;gap:.85rem;padding:.95rem;display:grid}.sidebar-account-avatar{color:var(--client-gold-light);letter-spacing:.08em;background:#d2af6e1f;border:1px solid #d2af6e42;justify-content:center;align-items:center;width:2.65rem;height:2.65rem;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;display:flex}.sidebar-account-card span{color:var(--client-gold);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.32rem;font-size:.52rem;display:block}.sidebar-account-card strong{color:var(--client-white);overflow-wrap:anywhere;font-size:.92rem;font-weight:500;display:block}.sidebar-account-card p{color:var(--client-dimmer);overflow-wrap:anywhere;margin-top:.25rem;font-size:.76rem;line-height:1.45}.main{flex:1;min-width:0;padding:3rem}.client-topbar{border-bottom:1px solid var(--client-line);justify-content:space-between;align-items:flex-start;gap:1.4rem;margin-bottom:2rem;padding-bottom:2rem;display:flex}.client-topbar h1{color:var(--client-white);letter-spacing:-.06em;margin-top:.35rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,6vw,4.9rem);font-weight:300;line-height:.95}.client-topbar p:not(.eyebrow){color:var(--client-dim);max-width:720px;margin-top:.9rem;line-height:1.65}.client-user-menu{flex:none;align-items:stretch;gap:.7rem;display:flex}.client-user-summary{border:1px solid var(--client-line);background:#ffffff06;gap:.25rem;min-width:210px;max-width:280px;padding:.72rem .85rem;display:grid}.client-user-summary span{color:var(--client-white);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:500;overflow:hidden}.client-user-summary strong{color:var(--client-dimmer);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:400;overflow:hidden}.client-sign-out-button{color:var(--client-gold);cursor:pointer;letter-spacing:.2em;text-transform:uppercase;background:0 0;border:1px solid #d2af6e52;padding:.75rem .9rem;font-size:.68rem;transition:background .25s,color .25s}.client-sign-out-button:hover{background:var(--client-gold);color:var(--client-bg)}.eyebrow{color:#d2af6ebf;letter-spacing:.22em;text-transform:uppercase;margin-bottom:1rem;font-size:.72rem}.client-hero-card,.client-panel,.card,.client-list-card,.client-session-card{border:1px solid var(--client-line);background:#ffffff08}.client-hero-card{padding:2rem}.client-hero-card h2{letter-spacing:-.05em;margin-bottom:1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:300;line-height:1}.client-hero-card p,.client-panel p,.card p,.client-list-card p,.client-session-card p{color:var(--client-dim);max-width:720px;line-height:1.7}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:2rem;display:grid}.card{border-radius:18px;padding:1.25rem}.card h2{color:var(--client-gold-light);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.8rem;font-size:.9rem;font-weight:500}.card strong{color:var(--client-white);margin-bottom:.6rem;font-family:Georgia,Times New Roman,serif;font-size:3rem;font-weight:300;display:block}.client-panel{border-radius:20px;gap:1.2rem;margin-top:2rem;padding:1.6rem;display:grid}.client-panel h2,.client-section-heading h2{color:var(--client-white);font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:300}.client-list{gap:.9rem;display:grid}.client-list-card{border-radius:16px;gap:.5rem;padding:1rem;display:grid}.client-list-card span,.client-session-card span{color:var(--client-gold);letter-spacing:.18em;text-transform:uppercase;font-size:.62rem}.client-list-card strong,.client-session-card strong{color:var(--client-white);font-size:1rem;font-weight:500}.client-auth-page{background:radial-gradient(circle at top, #d2af6e21, transparent 34rem), var(--client-bg);justify-content:center;align-items:center;min-height:100vh;padding:1.4rem;display:flex}.client-auth-card{border:1px solid var(--client-line);background:#17120eeb;border-radius:24px;width:100%;max-width:480px;padding:2rem}.client-auth-card h1{color:var(--client-white);letter-spacing:-.06em;margin-bottom:1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.8rem,8vw,5rem);font-weight:300;line-height:1}.client-auth-card p:not(.eyebrow){color:var(--client-dim);line-height:1.7}.client-auth-form,.client-booking-form,.client-profile-form{gap:1rem;margin-top:2rem;display:grid}.client-auth-form label,.client-booking-form label,.client-profile-form label{color:var(--client-dim);gap:.55rem;font-size:.9rem;display:grid}.client-auth-form label span,.client-profile-form label span{color:var(--client-gold);letter-spacing:.22em;text-transform:uppercase;font-size:.62rem}.client-auth-form input,.client-booking-form input,.client-booking-form select,.client-booking-form textarea,.client-profile-form input{border:1px solid var(--client-line);color:var(--client-white);background:#0f0c09b8;outline:none;padding:1rem;transition:border-color .25s,background .25s}.client-profile-form input:read-only{color:var(--client-dim);cursor:not-allowed}.client-booking-form textarea{resize:vertical;min-height:90px}.client-auth-form input::placeholder,.client-booking-form input::placeholder,.client-booking-form textarea::placeholder,.client-profile-form input::placeholder{color:var(--client-dimmer)}.client-auth-form input:focus,.client-booking-form input:focus,.client-booking-form select:focus,.client-booking-form textarea:focus,.client-profile-form input:focus{background:#0f0c09f2;border-color:#d2af6e94}.client-auth-form button,.client-booking-form button,.client-profile-form button{border:1px solid var(--client-gold);color:var(--client-gold);cursor:pointer;letter-spacing:.28em;text-transform:uppercase;background:0 0;margin-top:.4rem;padding:1rem 1.4rem;font-size:.7rem;transition:background .25s,color .25s,opacity .25s}.client-auth-form button:hover,.client-booking-form button:hover,.client-profile-form button:hover{background:var(--client-gold);color:var(--client-bg)}.client-auth-form button:disabled,.client-booking-form button:disabled,.client-profile-form button:disabled{cursor:wait;opacity:.62}.client-auth-error,.client-error{color:var(--client-danger);background:#fecaca14;border:1px solid #fecaca57;padding:.9rem 1rem;font-size:.86rem;line-height:1.6}.client-success{color:var(--client-success);background:#bbf7d014;border:1px solid #bbf7d057;padding:.9rem 1rem;font-size:.86rem;line-height:1.6}.client-auth-loading{color:var(--client-dim);margin-top:2rem}.client-auth-switch{border-top:1px solid var(--client-line);text-align:center;margin-top:1.5rem;padding-top:1.25rem;font-size:.88rem;color:var(--client-dim)!important}.client-auth-switch a{color:var(--client-gold-light);text-underline-offset:.25em;-webkit-text-decoration:underline #d2af6e59;text-decoration:underline #d2af6e59}.client-booking-layout{grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:1.4rem;margin-top:2rem;display:grid}.client-booking-sidebar{min-width:0}.client-section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.client-section-heading>p{color:var(--client-dim)}.client-booking-toolbar{border:1px solid var(--client-line);background:#ffffff08;border-radius:18px;gap:1rem;margin-bottom:1rem;padding:1rem;display:grid}.client-filter-label{color:var(--client-gold);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.65rem;font-size:.62rem}.client-filter-group{flex-wrap:wrap;gap:.6rem;display:flex}.client-filter-button{color:var(--client-dim);cursor:pointer;background:0 0;border:1px solid #d2af6e38;border-radius:999px;padding:.65rem .9rem;font-size:.76rem;transition:background .25s,border-color .25s,color .25s}.client-filter-button:hover,.client-filter-button.active{color:var(--client-gold-light);background:#d2af6e1a;border-color:#d2af6e99}.client-toggle-row{color:var(--client-dim);align-items:center;gap:.6rem;font-size:.86rem;display:flex}.client-toggle-row input{accent-color:var(--client-gold)}.client-session-date-list{gap:1.4rem;display:grid}.client-session-day{gap:.8rem;display:grid}.client-session-day-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.client-session-day-heading h3{color:var(--client-white);font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:300}.client-session-day-heading p{color:var(--client-dim);font-size:.88rem}.client-session-list{gap:.9rem;display:grid}.client-session-card{color:var(--client-white);cursor:pointer;text-align:left;border-radius:18px;gap:.55rem;padding:1.1rem;transition:background .25s,border-color .25s,opacity .25s;display:grid}.client-session-card:hover,.client-session-card.active{background:#d2af6e14;border-color:#d2af6e7a}.client-session-card.unavailable,.client-session-card:disabled{cursor:not-allowed;opacity:.48}.client-session-card small{color:var(--client-gold-light);font-size:.8rem;line-height:1.5}.client-booking-help{border:1px solid var(--client-line);background:#00000024;border-radius:16px;gap:.5rem;padding:1rem;display:grid}.client-booking-help p{color:var(--client-dim);font-size:.88rem;line-height:1.55}.client-booking-help strong{color:var(--client-gold-light);font-weight:500}.client-current-user{color:var(--client-dimmer);word-break:break-all;margin-top:1rem;font-size:.75rem;line-height:1.5}.client-profile-page{gap:2rem;display:grid}.client-profile-grid{grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:1.4rem;display:grid}.client-profile-form label small{color:var(--client-dimmer);font-size:.78rem;line-height:1.5}.client-profile-summary{border:1px solid var(--client-line);background:#ffffff08;border-radius:20px;align-self:start;gap:1.4rem;padding:1.6rem;display:grid}.client-profile-summary h2{color:var(--client-white);font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:300;line-height:1.1}.client-profile-summary p{color:var(--client-dim);overflow-wrap:anywhere;line-height:1.7}.client-profile-avatar{color:var(--client-gold-light);background:#d2af6e1f;border:1px solid #d2af6e42;border-radius:999px;justify-content:center;align-items:center;width:5rem;height:5rem;font-family:Georgia,Times New Roman,serif;font-size:2.4rem;display:flex}.client-profile-meta{border-top:1px solid var(--client-line);gap:.9rem;padding-top:1.2rem;display:grid}.client-profile-meta div{justify-content:space-between;align-items:center;gap:1rem;display:flex}.client-profile-meta span{color:var(--client-dimmer);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem}.client-profile-meta strong{color:var(--client-white);text-align:right;text-transform:capitalize;font-size:.9rem;font-weight:500}.client-profile-note{background:#d2af6e0f;border:1px solid #d2af6e2e;border-radius:16px;gap:.5rem;padding:1rem;display:grid}.client-profile-note strong{color:var(--client-gold-light);font-size:.86rem;font-weight:500}.client-profile-note p{color:var(--client-dim);font-size:.88rem;line-height:1.6}@media (max-width:1100px){.dashboard-shell{display:block}.sidebar{border-bottom:1px solid var(--client-line);border-right:0;width:100%;height:auto;padding:.9rem;position:static;overflow:visible}.sidebar-inner{gap:1rem;height:auto}.brand{margin-bottom:1rem}.nav-list{gap:.6rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.nav-list a{flex:none;min-width:150px}.sidebar-account-card{display:none}.main{padding:1.4rem}}@media (max-width:1000px){.client-booking-layout,.client-profile-grid{grid-template-columns:1fr}}@media (max-width:760px){.client-topbar{flex-direction:column}.client-user-menu{flex-direction:column;width:100%}.client-user-summary{width:100%;max-width:none}.client-sign-out-button{width:100%}.client-section-heading,.client-session-day-heading{flex-direction:column;align-items:flex-start}.client-profile-meta div{flex-direction:column;align-items:flex-start;gap:.35rem}.client-profile-meta strong{text-align:left}}
