@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond-VariableFont_wght.ttf)format("truetype-variations");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond-Italic-VariableFont_wght.ttf)format("truetype-variations");font-weight:400 800;font-style:italic;font-display:swap}@font-face{font-family:Source Serif;src:url(/fonts/SourceSerif4-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Source Serif;src:url(/fonts/SourceSerif4-Semibold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Source Serif;src:url(/fonts/SourceSerif4-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--color-primary:#185e35;--color-primary-dark:#0f4324;--color-secondary:#93db65;--color-accent:#f90;--color-text:#3a3a3a;--color-text-muted:#6e6e6e;--color-surface:#fff;--color-surface-alt:#f4f8f1;--color-border:#e2e8de;--color-danger:#c0392b;--color-success:#2e7d32;--font-heading:"EB Garamond", Georgia, serif;--font-body:"Source Serif", Georgia, serif;--radius-sm:8px;--radius:14px;--radius-lg:22px;--shadow-sm:0 1px 2px #0f43240f;--shadow:0 6px 24px #0f43241a;--shadow-lg:0 18px 48px #0f432429;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--maxw:520px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-surface-alt);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary-dark);font-weight:600;line-height:1.2}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:16px}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}.app-shell{min-height:100dvh;max-width:var(--maxw);background:var(--color-surface-alt);flex-direction:column;margin-inline:auto;display:flex}.app-main{padding:var(--space-4);padding-bottom:calc(104px + env(safe-area-inset-bottom));flex:1}.stack{gap:var(--space-4);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);display:flex}.between{justify-content:space-between}.muted{color:var(--color-text-muted)}.center{text-align:center}.full{width:100%}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius);border:1px solid #0000;min-height:48px;padding:12px 18px;font-size:16px;font-weight:600;line-height:1;transition:transform 60ms,background .15s,box-shadow .15s,opacity .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-secondary{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-alt)}.btn-ghost{color:var(--color-primary);background:0 0}.btn-danger{background:var(--color-danger);color:#fff}.btn-block{width:100%}.btn-sm{min-height:38px;padding:8px 14px;font-size:14px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card-tappable{cursor:pointer;transition:box-shadow .15s,transform 60ms}.card-tappable:hover{box-shadow:var(--shadow)}.card-tappable:active{transform:translateY(1px)}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--color-text);font-size:14px;font-weight:600}.input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;color:var(--color-text);padding:12px 14px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #93db6559}.password-field{align-items:center;display:flex;position:relative}.password-field .input{padding-right:44px}.password-toggle{width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle:hover{color:var(--color-primary);background:var(--color-surface-alt)}.password-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.badge{border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge-success{background:var(--color-surface-alt);color:var(--color-success)}.badge-warning{color:#b26a00;background:#fff4e0}.badge-danger{color:#c0322b;background:#fdecec}.badge-muted{color:var(--color-text-muted);background:#f0f0f0}.badge-accent{color:#b26a00;background:#ff990024}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}.spinner-center{padding:var(--space-8);place-items:center;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{padding:calc(env(safe-area-inset-top) + var(--space-4)) calc(env(safe-area-inset-right) + var(--space-4)) calc(env(safe-area-inset-bottom) + var(--space-4)) calc(env(safe-area-inset-left) + var(--space-4));z-index:1000;background:#0f432466;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.modal h3{margin-bottom:var(--space-2)}.modal-actions{gap:var(--space-3);margin-top:var(--space-5);display:flex}.toast-wrap{top:calc(env(safe-area-inset-top) + 12px);z-index:1100;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;left:0;right:0}.toast{pointer-events:auto;background:var(--color-surface);color:var(--color-text);border-left:5px solid var(--color-primary);border-radius:14px;align-items:center;gap:12px;max-width:90vw;padding:13px 16px 13px 18px;font-size:14px;font-weight:600;animation:.2s slidein;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #0f432452}.toast:before{content:"";background:var(--color-primary);border-radius:50%;flex-shrink:0;width:10px;height:10px}.toast-message{flex:1}.toast-close{background:var(--color-surface-alt);width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;place-items:center;padding:0;font-size:16px;line-height:1;transition:background .15s;display:grid}.toast-close:hover{background:var(--color-border)}.toast-progress{transform-origin:0;background:var(--color-primary);opacity:.55;height:3px;animation:linear forwards toast-progress;position:absolute;bottom:0;left:0;right:0}.toast-success{border-left-color:var(--color-success)}.toast-success:before,.toast-success .toast-progress{background:var(--color-success)}.toast-error{border-left-color:var(--color-danger)}.toast-error:before,.toast-error .toast-progress{background:var(--color-danger)}.toast-accent{border-left-color:var(--color-accent)}.toast-accent:before,.toast-accent .toast-progress{background:var(--color-accent)}@keyframes slidein{0%{opacity:0;transform:translateY(-12px)}}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.bottom-nav{left:50%;bottom:calc(env(safe-area-inset-bottom) + 14px);width:min(calc(100% - 2 * var(--space-4)), calc(var(--maxw) - 2 * var(--space-4)));background:var(--color-primary);z-index:900;border-radius:999px;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 12px 32px #0f432461}.nav-tab{color:#ffffff9e;font-size:11px;font-weight:600;font-family:var(--font-body);-webkit-tap-highlight-color:transparent;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:9px 0;transition:color .18s;display:flex;position:relative}.nav-tab.active{color:#fff}.nav-tab .nav-ico{z-index:1;place-items:center;line-height:1;display:grid;position:relative}.nav-tab .nav-label{z-index:1;position:relative}.nav-pill{z-index:0;background:#ffffff2e;border-radius:999px;position:absolute;inset:0}.auth-screen{min-height:100dvh;padding:var(--space-4);background:linear-gradient(160deg, var(--color-primary-dark), var(--color-primary));justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6);gap:var(--space-5);flex-direction:column;width:100%;max-width:420px;display:flex}.auth-logo{width:160px;margin:0 auto var(--space-2)}.auth-divider{align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.google-signin{justify-content:center;min-height:40px;display:flex}.list{gap:var(--space-3);flex-direction:column;display:flex}.hint{color:var(--color-text-muted);font-size:13px}.error-text{color:var(--color-danger);font-size:14px}.page-title{color:var(--color-primary-dark);margin-bottom:var(--space-4);padding-bottom:10px;font-size:28px;font-weight:700;position:relative}.page-title:after{content:"";background:linear-gradient(90deg, var(--color-secondary), var(--color-primary));border-radius:999px;width:48px;height:4px;position:absolute;bottom:0;left:0}.page-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.page-header-ico{width:48px;height:48px;color:var(--color-primary);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#93db6547,#185e3524);border-radius:16px;flex-shrink:0;place-items:center;display:grid}.page-header h1{margin:0;padding:0;font-size:26px}.page-header h1:after{display:none}.page-header-sub{color:var(--color-text-muted);margin-top:2px;font-size:14px}.section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary-dark);margin-bottom:var(--space-3);align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex;position:relative}.section-label:before{content:"";background:linear-gradient(180deg, var(--color-secondary), var(--color-primary));border-radius:999px;width:4px;height:15px}.subs-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.subs-section-head .section-label{margin-bottom:0}.subs-filter{flex-shrink:0;align-items:center;display:flex;position:relative}.subs-filter .group-select{width:auto;min-width:150px;padding-top:8px;padding-bottom:8px;font-size:13px}.switch{width:48px;height:28px;position:relative}.switch input{opacity:0;width:0;height:0}.switch .track{background:var(--color-border);border-radius:999px;transition:background .15s;position:absolute;inset:0}.switch .thumb{width:22px;height:22px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .15s;position:absolute;top:3px;left:3px}.switch input:checked+.track{background:var(--color-primary)}.switch input:checked+.track+.thumb{transform:translate(20px)}.app-header{z-index:950;align-items:center;gap:var(--space-2);padding:calc(env(safe-area-inset-top) + 10px) var(--space-4) 10px;background:var(--color-primary);grid-template-columns:42px 1fr 42px;display:grid;position:sticky;top:0;box-shadow:0 4px 16px #0f43242e}.hdr-logo{filter:brightness(0)invert();width:auto;height:42px;margin:0 auto}.hdr-right{align-items:center;gap:var(--space-2);justify-self:end;display:flex}.hdr-btn{color:#fff;background:#ffffff24;border:none;border-radius:50%;place-items:center;width:42px;height:42px;transition:background .15s,transform 60ms;display:grid;position:relative}.hdr-btn:hover{background:#ffffff3d}.hdr-btn:active{transform:scale(.92)}.hdr-badge{background:var(--color-accent);color:#3a2a00;border:2px solid var(--color-primary);border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:800;display:grid;position:absolute;top:-3px;right:-3px}.scrim{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f432473;position:fixed;inset:0}.ghost-round{background:var(--color-surface-alt);width:40px;height:40px;color:var(--color-primary-dark);border:none;border-radius:50%;place-items:center;transition:background .15s,transform 60ms;display:grid}.ghost-round:hover{background:var(--color-border)}.ghost-round:active{transform:scale(.92)}.drawer{z-index:1001;width:min(84vw,340px);padding:calc(env(safe-area-inset-top) + 16px) var(--space-5) calc(env(safe-area-inset-bottom) + 16px);background:var(--color-surface);gap:var(--space-4);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.drawer-top{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.drawer-logo{width:auto;height:64px}.drawer-block{gap:var(--space-2);flex-direction:column;display:flex}.drawer-links{margin-top:var(--space-2);flex-direction:column;gap:10px;display:flex}.drawer-link{border-radius:var(--radius);background:var(--color-surface-alt);color:var(--color-primary-dark);justify-content:space-between;align-items:center;padding:14px 16px;font-weight:600;transition:background .15s,transform 60ms;display:flex}.drawer-link:hover{background:var(--color-border)}.drawer-link:active{transform:scale(.98)}.drawer-bottom{gap:var(--space-4);flex-direction:column;margin-top:auto;display:flex}.drawer-foot{color:var(--color-text-muted);text-align:center;font-size:12px}.lang-switch{gap:8px;display:flex}.lang-chip{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);flex:1;padding:10px 14px;font-weight:600;transition:all .15s}.lang-chip-on{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.sheet{bottom:0;left:0;right:0;top:calc(env(safe-area-inset-top) + 74px);z-index:1001;max-width:var(--maxw);background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-4) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);margin-inline:auto;position:fixed;overflow-y:auto}.sheet-handle{background:var(--color-border);width:44px;height:5px;margin:0 auto var(--space-4);border-radius:999px}.sheet-title{margin-bottom:var(--space-4)}.sheet-close{z-index:1002;top:calc(env(safe-area-inset-top) + 18px);width:44px;height:44px;color:var(--color-primary-dark);box-shadow:var(--shadow);background:#fff;border:none;border-radius:50%;place-items:center;margin-inline:auto;display:grid;position:fixed;left:0;right:0}.push-banner{align-items:center;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius);border:1px solid var(--color-secondary);background:linear-gradient(135deg,#93db6538,#185e351f);display:flex}.push-banner-icon{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.push-banner-text{flex-direction:column;flex:1;gap:2px;display:flex}.push-banner-text strong{color:var(--color-primary-dark);font-size:15px}.push-banner-text p{color:var(--color-text-muted);font-size:13px}.push-banner .btn{flex-shrink:0}.notif-list{flex-direction:column;gap:10px;display:flex}.notif-item{border-radius:var(--radius);background:var(--color-surface-alt);border:1px solid var(--color-border);gap:12px;padding:14px;display:flex}.notif-unread{border-color:var(--color-secondary);background:#93db651f}.notif-dot{background:var(--color-border);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notif-unread .notif-dot{background:var(--color-accent)}.notif-icon{border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;margin-top:2px;display:grid}.notif-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.notif-body strong{overflow-wrap:anywhere}.notif-body p{overflow-wrap:anywhere;font-size:14px}.notif-empty{padding:var(--space-8) 0;flex-direction:column;align-items:center;gap:12px;display:flex}.full-panel{z-index:1001;max-width:var(--maxw);background:var(--color-surface-alt);flex-direction:column;margin-inline:auto;display:flex;position:fixed;inset:0}.full-panel-head{padding:calc(env(safe-area-inset-top) + 12px) var(--space-4) 12px;background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:12px;display:flex}.full-panel-body{padding:var(--space-4);flex:1;overflow-y:auto}.profile-hero{align-items:center;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;display:flex}.profile-avatar{width:60px;height:60px;font-size:22px;font-weight:700;font-family:var(--font-heading);background:#fff3;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.profile-hero-text{flex-direction:column;gap:2px;display:flex}.profile-hero-text strong{font-size:18px}.profile-hero-text .hint{color:#fffc}.sub-card{gap:var(--space-3);flex-direction:column;display:flex}.sub-card .row.between strong{color:var(--color-primary-dark);font-size:17px}.sub-progress{flex-direction:column;gap:8px;display:flex}.sub-progress-track{background:var(--color-surface-alt);border-radius:999px;height:8px;position:relative;overflow:hidden}.sub-progress-track span{background:linear-gradient(90deg, var(--color-secondary), var(--color-primary));border-radius:999px;transition:width .3s;position:absolute;inset:0 auto 0 0}.sub-progress-label{color:var(--color-primary-dark);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.sub-progress-label svg{color:var(--color-primary);flex-shrink:0}.sub-expiry{color:var(--color-primary-dark);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.sub-expiry svg{color:var(--color-primary);flex-shrink:0}.sub-progress+.sub-expiry{margin-top:-6px}.sub-expiry.warn,.sub-expiry.warn svg{color:#b26a00}.sub-expiry-tag{color:#b26a00;text-transform:uppercase;letter-spacing:.04em;background:#fff4e0;border-radius:999px;align-items:center;padding:2px 10px;font-size:11px;font-weight:800;display:inline-flex}.sub-note{margin:0}.sub-actions{gap:var(--space-2);flex-direction:column;margin-top:4px;display:flex}.sub-link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:2px 0;font-size:13px;font-weight:700;display:inline-flex}.sub-link:hover{text-decoration:underline}.sub-link svg{transition:transform .15s}.sub-link:hover svg{transform:translate(2px)}.plan-card-head{align-items:flex-start;gap:var(--space-3)}.plan-card-head strong{color:var(--color-primary-dark);font-size:17px;line-height:1.25}.plan-head-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.plan-price{color:var(--color-primary);font-size:18px;font-weight:800;font-family:var(--font-heading);white-space:nowrap}.pick-check-inline{background:var(--color-primary);color:#fff;width:24px;height:24px;box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;display:grid}.plan-desc{color:var(--color-text-muted);margin-top:8px;font-size:14px;line-height:1.45}.plan-feats{margin-top:var(--space-3);flex-direction:column;gap:6px;list-style:none;display:flex}.plan-feats li{color:var(--color-text);align-items:center;gap:8px;font-size:14px;display:flex}.plan-feats svg{color:var(--color-primary);flex-shrink:0}.wizard{z-index:1200;max-width:var(--maxw);background:var(--color-surface-alt);flex-direction:column;margin-inline:auto;display:flex;position:fixed;inset:0}.wizard-top{z-index:2;padding:calc(env(safe-area-inset-top) + 12px) var(--space-4) 14px;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0}.wizard-top-row{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:12px;display:flex}.wizard-step-count{letter-spacing:.05em;text-transform:uppercase;color:var(--color-primary);font-size:12px;font-weight:800}.wizard-stepper{gap:6px;display:flex}.wizard-seg{background:var(--color-border);border-radius:999px;flex:1;height:6px;overflow:hidden}.wizard-seg-fill{background:linear-gradient(90deg, var(--color-secondary), var(--color-primary));border-radius:999px;width:100%;height:100%;display:block}.wizard-body{padding:var(--space-5) var(--space-4) var(--space-6);flex:1;overflow-y:auto}.wizard-step{gap:var(--space-4);flex-direction:column;display:flex}.wizard-head{margin-bottom:var(--space-1)}.wizard-head h2{font-size:26px;line-height:1.15}.wizard-head p{color:var(--color-text-muted);margin-top:6px;font-size:15px}.wizard-footer{z-index:2;padding:var(--space-3) var(--space-4) calc(env(safe-area-inset-bottom) + var(--space-4));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--color-border);background:#ffffffeb;position:sticky;bottom:0}.wizard-foot-summary{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:10px;display:flex}.wizard-foot-summary .label{color:var(--color-text-muted);font-size:13px;font-weight:600}.wizard-foot-summary .value{font-family:var(--font-heading);color:var(--color-primary);font-size:20px;font-weight:800}.wizard-foot-row{gap:var(--space-3);display:flex}.wizard-foot-row .btn.grow{flex:1}.pick-card{transition:box-shadow .15s,border-color .15s,transform 60ms;position:relative}.pick-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 3px #93db6566}.pick-check{background:var(--color-primary);color:#fff;width:26px;height:26px;box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;right:14px}.pick-card-booked{opacity:.6;cursor:not-allowed;background:var(--color-surface-muted,#f3f4f2)}.slot-booked-tag{color:var(--color-text-muted,#5b6660);background:#0000000f;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;position:absolute;top:12px;right:12px}.continue-card{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;border:none;position:relative;overflow:hidden}.continue-card .badge{color:#fff;background:#ffffff2e}.continue-card .continue-remaining{opacity:.9;margin-top:4px;font-size:14px}.wizard-or{align-items:center;gap:var(--space-3);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:600;display:flex}.wizard-or:before,.wizard-or:after{content:"";background:var(--color-border);flex:1;height:1px}.wizard-group-filter{align-items:center;display:flex;position:relative}.group-select{appearance:none;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface,#fff);width:100%;color:var(--color-text);cursor:pointer;padding:10px 40px 10px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:border-color .15s,box-shadow .15s}.group-select:focus,.group-select:focus-visible{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #93db6559}.group-select-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;right:14px}.mode-card{align-items:center;gap:var(--space-4);display:flex}.mode-ico{width:54px;height:54px;color:var(--color-primary);background:linear-gradient(135deg,#93db6547,#185e3524);border-radius:16px;flex-shrink:0;place-items:center;display:grid}.mode-card.selected .mode-ico{background:var(--color-primary);color:#fff}.mode-text strong{color:var(--color-primary-dark);font-size:17px}.mode-text p{color:var(--color-text-muted);margin-top:3px;font-size:13px}.mode-lock{color:var(--color-accent);font-size:12px;font-weight:700}.count-chip{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:800;display:inline-flex}.count-chip.muted-chip{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border)}.review-preview{gap:var(--space-4);flex-direction:column;display:flex}.review-preview .preview-warning{margin-bottom:0}.day-tabs{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding:2px 2px 8px;display:flex;overflow-x:auto}.day-tabs::-webkit-scrollbar{display:none}.day-tab{scroll-snap-align:center;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:700;transition:all .15s;display:flex;position:relative}.day-tab.on{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow)}.day-tab-badge{background:var(--color-accent);color:#3a2a00;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800;display:grid}.slot-time{color:var(--color-primary-dark);font-size:17px;font-weight:700;font-family:var(--font-heading)}.calendar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.calendar-head{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.calendar-title{font-family:var(--font-heading);color:var(--color-primary-dark);text-transform:capitalize;font-size:17px;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.calendar-dow{text-align:center;color:var(--color-text-muted);text-transform:uppercase;padding-bottom:6px;font-size:11px;font-weight:800}.calendar-cell{aspect-ratio:1;color:var(--color-text);background:0 0;border:1px solid #0000;border-radius:12px;place-items:center;font-size:15px;font-weight:700;display:grid;position:relative}.calendar-cell.empty{visibility:hidden}.calendar-cell.disabled{color:#cdd6cd}.calendar-cell.available{background:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-primary-dark);cursor:pointer}.calendar-cell.available:hover{border-color:var(--color-primary)}.calendar-cell.selected-day{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.calendar-cell.has-selection:after{content:"";background:var(--color-accent);border-radius:50%;width:6px;height:6px;position:absolute;bottom:5px}.calendar-cell.selected-day.has-selection:after{background:#fff}.review-item{align-items:center;gap:14px;display:flex}.date-pill{text-align:center;background:linear-gradient(160deg, var(--color-surface-alt), #fff);border:1px solid var(--color-border);border-radius:14px;flex-shrink:0;width:58px;padding:8px 0}.date-pill .dp-day{font-size:20px;font-weight:800;font-family:var(--font-heading);color:var(--color-primary-dark);line-height:1}.date-pill .dp-mon{text-transform:uppercase;color:var(--color-text-muted);margin-top:2px;font-size:11px;font-weight:800}.date-pill .dp-dow{text-transform:uppercase;color:var(--color-text-muted);font-size:10px;font-weight:700}.review-item-main strong{color:var(--color-primary-dark)}.start-date-field{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);margin-bottom:var(--space-3);flex-direction:column;gap:6px;display:flex}.start-date-field label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:13px;font-weight:700}.start-date-field input[type=date]{appearance:none;border:1px solid var(--color-border);background:var(--color-surface-alt);width:100%;color:var(--color-primary-dark);font-family:var(--font-heading);border-radius:12px;padding:12px 14px;font-size:16px;font-weight:700}.start-date-field input[type=date]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);outline:none}.start-date-field .hint{margin:0}.preview-warning{margin-bottom:var(--space-3);background:color-mix(in srgb, var(--color-accent) 18%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-accent) 45%, transparent);color:#6b4e00;border-radius:12px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.35;display:flex}.preview-warning svg{flex-shrink:0;margin-top:1px}.summary-card{flex-direction:column;gap:2px;display:flex}.summary-row{border-bottom:1px dashed var(--color-border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.summary-row:last-child{border-bottom:none}.summary-row .s-label{color:var(--color-text-muted);font-weight:600}.summary-row .s-value{color:var(--color-text);font-weight:700}.summary-row.total{padding-top:14px}.summary-row.total .s-label{color:var(--color-primary-dark);font-weight:800}.summary-row.total .s-value{font-family:var(--font-heading);color:var(--color-primary);font-size:26px;font-weight:800}.terms-check{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;align-items:flex-start;gap:12px;transition:border-color .15s,background .15s;display:flex}.terms-check.checked{border-color:var(--color-primary);background:#93db6514}.terms-check input{width:20px;height:20px;accent-color:var(--color-primary);flex-shrink:0;margin-top:2px}.terms-check span{font-size:14px;line-height:1.45}.terms-check a{color:var(--color-primary);font-weight:800;text-decoration:underline}.wizard-success{text-align:center;justify-content:center;align-items:center;gap:var(--space-4);min-height:100%;padding:var(--space-6) var(--space-5);flex-direction:column;display:flex}.wizard-success-badge{background:linear-gradient(135deg, var(--color-secondary), var(--color-primary));color:#fff;width:104px;height:104px;box-shadow:var(--shadow-lg);border-radius:50%;place-items:center;display:grid}.wizard-success h2{font-size:28px}.wizard-success p{color:var(--color-text-muted);max-width:34ch}.payment-result{min-height:100vh;padding:var(--space-5);background:var(--color-surface-alt);justify-content:center;align-items:center;display:flex}.payment-result-card{background:var(--color-surface);border-radius:var(--radius-lg);width:min(100%,440px);box-shadow:var(--shadow-lg);padding:var(--space-6) var(--space-5);text-align:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.payment-result-ico{background:var(--color-surface-alt);width:48px;height:48px;color:var(--color-primary);border-radius:50%;place-items:center;display:grid}.payment-result-card h2{font-size:24px}.payment-result-card p{color:var(--color-text-muted);max-width:36ch}.payment-result-badge{color:#fff;width:88px;height:88px;box-shadow:var(--shadow);border-radius:50%;place-items:center;display:grid}.payment-result-badge.success{background:linear-gradient(135deg, var(--color-secondary), var(--color-primary))}.payment-result-badge.failed{background:linear-gradient(135deg,#e06055,#c0322b)}.payment-result-link{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:6px;font-weight:700}.payment-result-link:hover{color:var(--color-text);text-decoration:underline}.wizard-empty{text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-text-muted);flex-direction:column;align-items:center;gap:12px;display:flex}.wizard-empty-ico{background:var(--color-surface);border:1px solid var(--color-border);width:64px;height:64px;color:var(--color-primary);border-radius:50%;place-items:center;display:grid}.athens-notice{align-items:center;gap:var(--space-2);border-radius:var(--radius);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-primary) 22%, var(--color-border));color:var(--color-text);padding:10px 12px;font-size:13px;line-height:1.35;display:flex}.athens-notice-ico{color:var(--color-primary);flex-shrink:0}.wizard-athens-notice{margin-bottom:var(--space-4)}.home-athens-notice{margin-bottom:var(--space-3)}.wizard-renew-banner{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--color-primary) 28%, transparent);background:color-mix(in srgb, var(--color-primary) 10%, transparent);color:var(--color-primary-strong,var(--color-primary));font-size:var(--text-sm);font-weight:600;line-height:1.4;display:flex}.wizard-renew-banner svg{color:var(--color-primary);flex-shrink:0}.sub-hero{border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}.sub-hero:after{content:"";background:#93db6540;border-radius:50%;width:160px;height:160px;position:absolute;top:-40px;right:-30px}.sub-hero-content{z-index:1;gap:var(--space-3);flex-direction:column;display:flex;position:relative}.sub-hero h2{color:#fff;font-size:24px}.sub-hero p{color:#ffffffd9;font-size:15px}.sub-hero .btn{align-self:flex-start}.sub-hero-badge{background:#ffffff29;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.install-box{border-radius:var(--radius);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;text-align:left;cursor:pointer;border:none;align-items:center;gap:12px;width:100%;padding:14px 16px;transition:transform 60ms,box-shadow .15s;display:flex;box-shadow:0 8px 22px #0f432447}.install-box:hover{box-shadow:0 12px 28px #0f432457}.install-box:active{transform:scale(.98)}.install-box-icon{background:#ffffff29;border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid;overflow:hidden}.install-box-icon img{border-radius:8px}.install-box-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.install-box-text strong{font-size:15px}.install-box-text span{opacity:.85;font-size:12px}.install-box-chevron{opacity:.8;flex-shrink:0}.ios-modal{text-align:center;position:relative}.ios-modal-close{position:absolute;top:12px;right:12px}.ios-modal-head{flex-direction:column;align-items:center;gap:6px;display:flex}.ios-modal-logo{width:64px;height:64px;box-shadow:var(--shadow-sm);border-radius:16px}.ios-modal-badge{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;width:64px;height:64px;box-shadow:var(--shadow-sm);border-radius:16px;place-items:center;display:grid}.ios-modal-head h3{margin-top:4px}.ios-steps{margin-top:var(--space-5);text-align:left;flex-direction:column;gap:12px;list-style:none;display:flex}.ios-steps li{border-radius:var(--radius);background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text);align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:flex}.ios-step-num{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:grid}.ios-step-ico{color:var(--color-primary);flex-shrink:0}.empty-state{text-align:center;padding:var(--space-8) var(--space-4);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:10px;display:flex}.empty-state-ico{border:1px solid var(--color-border);width:72px;height:72px;color:var(--color-primary);background:linear-gradient(135deg,#93db6538,#185e351a);border-radius:50%;place-items:center;display:grid}.empty-state-text{font-family:var(--font-heading);color:var(--color-primary-dark);font-size:18px;font-weight:600}.empty-state-hint{color:var(--color-text-muted);max-width:34ch;font-size:14px}.empty-state-action{margin-top:var(--space-2)}.booking-title{font-family:var(--font-heading);color:var(--color-primary-dark);font-size:17px}.booking-meta{flex-wrap:wrap;gap:8px 16px;margin-top:10px;display:flex}.booking-meta span{color:var(--color-text-muted);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.booking-meta svg{color:var(--color-primary);flex-shrink:0}.booking-card-hero{background:linear-gradient(var(--color-surface), var(--color-surface)) padding-box, linear-gradient(135deg, var(--color-secondary), var(--color-primary)) border-box;box-shadow:var(--shadow);border:1.5px solid #0000;position:relative;overflow:hidden}
