:root{--bg:#f5f6f1;--surface:#fff;--ink:#202b28;--muted:#728079;--line:#e4e8e0;--green:#315e46;--accent:#d9edb1;--soft:#edf3e7;--red:#b34848;--shadow:0 8px 40px #233b2910;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #86b668;outline-offset:3px}button:disabled{opacity:.55;cursor:wait}.shell{max-width:720px;margin:auto;padding:0 22px calc(112px + env(safe-area-inset-bottom))}.header{height:90px;display:flex;align-items:center;justify-content:space-between;padding-top:env(safe-area-inset-top)}.brand{display:flex;gap:10px;align-items:center;border:0;background:none;padding:0;font-size:22px;font-weight:750;letter-spacing:-1px}.brand-dot{color:var(--green)}.brand-mark{display:grid;place-content:center;width:37px;height:37px;position:relative;background:var(--green);color:#fff;border-radius:12px;font-size:24px;letter-spacing:-4px;padding-right:4px}.brand-mark span{color:var(--accent)}.avatar{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--surface);font-size:15px;font-weight:700}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:4px 0 13px}.hero{padding:28px 26px;background:var(--green);color:white;border-radius:26px;overflow:hidden;position:relative}.hero .eyebrow{color:#c4d7c4;font-size:9px}.hero h1{font-size:clamp(31px,7.7vw,43px);line-height:1.09;letter-spacing:-1.7px;max-width:480px;font-weight:650;margin:17px 0}.hero h1 em{font-style:normal;color:var(--accent)}.hero p{color:#d7e3d8;font-size:14px;max-width:370px;margin:0 0 23px}.hero .btn{background:var(--accent);color:#263d2b;border:0;justify-content:space-between}.hero-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.hero-tags span{font-size:10px;padding:5px 8px;border:1px solid #ffffff36;border-radius:7px;color:#e3ecdc}.greeting{font-size:14px;margin:3px 0 18px;color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;margin:27px 0 13px;gap:8px}.section-head h2{font-size:18px;letter-spacing:-.5px;margin:0;font-weight:650}.section-head span{font-size:11px;color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:11px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:19px;text-align:left;min-height:132px;display:flex;flex-direction:column;align-items:flex-start;position:relative;transition:transform .15s}.tile:active{transform:scale(.98)}.tile .icon-box{width:35px;height:35px;display:grid;place-content:center;background:var(--soft);color:var(--green);border-radius:11px;margin-bottom:15px}.tile strong{font-size:15px;font-weight:650}.tile small{color:var(--muted);font-size:11px;margin-top:4px}.tile .arrow{position:absolute;right:15px;top:19px;color:var(--muted)}.wide{grid-column:1/-1;min-height:0;flex-direction:row;gap:14px;align-items:center}.wide .icon-box{margin:0}.wide small{display:block}.wide .arrow{position:static;margin-left:auto}.tutors-mini{display:flex;align-items:center;gap:11px;padding:22px 2px 6px;font-size:12px;color:var(--muted)}.mini-faces{display:flex;padding-left:5px}.mini-faces span{width:32px;height:32px;border-radius:50%;border:3px solid var(--bg);display:grid;place-content:center;background:#d4ddcb;color:#415338;margin-left:-5px;font-weight:600}.mini-faces span+span{background:#ded9c7}.btn{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 18px;border-radius:13px;background:var(--green);color:white;border:1px solid transparent;font-weight:600;font-size:14px;width:100%}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn.danger{background:#faeeee;color:var(--red)}.text-btn{border:0;background:none;color:var(--green);font-size:12px;padding:5px 0}.page-title{font-size:30px;font-weight:650;letter-spacing:-1px;margin:10px 0 6px}.subtitle{color:var(--muted);font-size:13px;margin:0 0 23px}.card{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:19px;margin-bottom:12px}.card h3{font-size:16px;margin:0 0 12px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:7px;background:var(--soft);color:var(--green);font-size:10px;font-weight:600}.badge.busy{background:#fbefe8;color:#9b633b}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.price-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;font-size:14px}.price-row+.price-row{border-top:1px solid var(--line)}.price-row b{font-size:18px;letter-spacing:-.5px}.price-row small{color:var(--muted);font-size:12px}.note{font-size:12px;color:var(--muted);line-height:1.65}.callout{background:var(--soft);border-radius:15px;padding:16px;margin:15px 0;font-size:12px;color:var(--green)}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted);margin-bottom:14px;min-width:0}.field input,.field select{appearance:none;width:100%;min-width:0;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px 12px;min-height:45px;max-width:100%}.field select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 20px,calc(100% - 12px) 20px;background-size:4px 4px;background-repeat:no-repeat;padding-right:29px}.filters{margin-bottom:20px}.filter-tutors{display:flex;gap:8px;overflow:auto;margin:17px 0}.chip{white-space:nowrap;border:1px solid var(--line);background:var(--surface);border-radius:30px;padding:9px 15px;font-size:12px}.chip.selected{background:var(--green);color:white;border-color:var(--green)}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.date-row .field{margin:0}.timezone{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;margin:13px 0}.day-label{font-size:12px;font-weight:650;margin:23px 0 11px;text-transform:capitalize}.slot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;margin-bottom:9px;border:1px solid var(--line);border-radius:15px;background:var(--surface);width:100%;text-align:left}.slot .time{font-weight:650;font-size:17px;letter-spacing:-.5px}.slot .meta{font-size:11px;color:var(--muted);margin-top:4px}.slot .slot-arrow{background:var(--soft);border-radius:10px;padding:9px;display:flex;color:var(--green)}.empty{text-align:center;padding:36px 20px;color:var(--muted);border:1px dashed var(--line);border-radius:18px;font-size:13px}.empty svg{width:35px;height:35px;margin-bottom:12px;opacity:.6}.empty strong{display:block;color:var(--ink);font-size:16px;margin-bottom:7px}.empty .btn{margin-top:19px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:720px;display:grid;grid-template-columns:repeat(4,1fr);padding:12px 13px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);z-index:5;box-shadow:0 -6px 30px #243d2905}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;background:none;border:0;padding:5px;color:var(--muted)}.bottom-nav button.active{color:var(--green);font-weight:700}.bottom-nav button svg{width:21px;height:21px}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}.faq-item{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--surface);margin-bottom:9px}.faq-item summary{cursor:pointer;font-weight:600;font-size:14px;list-style:none;display:flex;justify-content:space-between;gap:14px}.faq-item summary:after{content:'+';font-size:20px;color:var(--muted);line-height:1}.faq-item[open] summary:after{content:'−'}.faq-item p{font-size:13px;color:var(--muted);margin:14px 0 0;line-height:1.65}.contact-avatar{display:grid;place-content:center;width:54px;height:54px;border-radius:17px;background:var(--soft);font-size:22px;color:var(--green)}.contact-info{flex:1}.contact-info h3{margin:0;font-size:18px}.contact-info p{margin:2px 0;color:var(--muted);font-size:12px}.contact-card .btn{margin-top:20px}.contact-card .note{margin-top:14px}.loading{padding:60px 15px;text-align:center;color:var(--muted);font-size:13px}.spinner{width:21px;height:21px;display:block;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px}@keyframes spin{to{transform:rotate(360deg)}}dialog{padding:0;border:0;border-radius:25px;background:var(--surface);color:var(--ink);width:calc(100% - 26px);max-width:470px;max-height:88dvh;overflow:auto;box-shadow:var(--shadow)}dialog::backdrop{background:#10251c70;backdrop-filter:blur(4px)}#modal-content{padding:25px}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.modal-top h2{margin:0;font-size:23px;letter-spacing:-.7px}.close-btn{border:0;background:var(--soft);border-radius:50%;width:30px;height:30px;font-size:20px}.modal-summary{padding:15px;background:var(--soft);border-radius:14px;margin:18px 0;font-size:13px}.total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:18px 0;margin-top:15px}.total strong{font-size:25px;letter-spacing:-1px}.total small{display:block;color:var(--muted);font-size:11px}.error{color:var(--red);font-size:12px;margin:12px 0}.success-icon{width:62px;height:62px;margin:6px auto 19px;background:var(--soft);color:var(--green);border-radius:50%;display:grid;place-content:center}.success{text-align:center}.success h2{font-size:25px;letter-spacing:-.8px}.success .btn{margin-top:20px}#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:105px;background:var(--ink);color:var(--bg);border-radius:12px;padding:12px 18px;font-size:12px;max-width:90%;z-index:20;box-shadow:var(--shadow)}.admin-actions{display:flex;gap:13px;margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.admin-actions button{border:0;background:none;color:var(--green);padding:3px 0;font-size:12px}.admin-actions .delete{color:var(--red)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.stat{padding:14px 9px;background:var(--soft);border-radius:13px;text-align:center}.stat strong{display:block;font-size:22px}.stat span{font-size:10px;color:var(--muted)}.booking-detail{font-size:12px;color:var(--muted);margin-top:10px}.subnav{display:flex;gap:8px;margin:19px 0;flex-wrap:wrap}.external-banner{font-size:12px;padding:13px;border:1px solid var(--line);border-radius:12px;margin-bottom:16px;color:var(--muted)}.external-banner a{color:var(--green);text-decoration:underline}.small-gap{margin-top:12px}.footnote{margin:27px 0 0;font-size:10px;color:var(--muted);text-align:center}.link{color:var(--green);text-decoration:underline}.inline-icon{display:flex;gap:7px;align-items:center}
.brand-mark{display:flex;align-items:center;justify-content:center;letter-spacing:-2px;line-height:1;padding-right:2px}.tile strong,.tile small{display:block}
.order-choices{display:grid;grid-template-columns:1fr;gap:14px}.order-choice{display:flex;flex-direction:column;text-align:left;align-items:flex-start;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface);min-height:240px}.order-choice .icon-box{display:grid;place-content:center;width:40px;height:40px;border-radius:12px;background:var(--soft);color:var(--green)}.order-choice h2{font-size:23px;letter-spacing:-.7px;margin:14px 0 8px}.order-choice p{font-size:13px;color:var(--muted);margin:0 0 22px;max-width:420px}.choice-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;width:100%;background:var(--soft);color:var(--green);border-radius:11px;font-size:13px;font-weight:600;margin-top:auto}.timeline-guide{padding:16px;background:var(--soft);border-radius:14px;margin-bottom:20px}.timeline-guide strong{font-size:13px;color:var(--green);display:flex;align-items:center;gap:7px}.timeline-guide p{font-size:12px;margin:8px 0;color:var(--ink)}.timeline-guide>span{font-size:10px;color:var(--muted)}.free-dot{width:8px;height:8px;background:var(--green);border-radius:50%;display:inline-block}.timeline-day{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 10px 22px;margin-bottom:16px}.timeline-day .day-label{margin:0 6px 17px;font-size:14px}.timeline-head{display:grid;grid-template-columns:43px repeat(2,minmax(0,1fr));gap:6px;margin-bottom:16px;font-size:12px;text-align:center}.timeline-head>span{font-size:9px;color:var(--muted);text-align:left}.timeline-head.single{grid-template-columns:43px minmax(0,1fr)}.timeline-grid{display:grid;grid-template-columns:43px repeat(2,minmax(0,1fr));column-gap:6px;position:relative}.timeline-grid.single{grid-template-columns:43px minmax(0,1fr)}.timeline-time{grid-column:1;font-size:10px;color:var(--muted);line-height:1;transform:translateY(-5px)}.timeline-rule{grid-column:2/-1;border-top:1px solid var(--line);pointer-events:none}.timeline-window{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;text-align:left;background:var(--soft);color:var(--green);border:1px solid #80ad7355;border-left:3px solid #6d9b59;border-radius:10px;padding:10px 8px;margin:1px 0;overflow:hidden;min-height:0;min-width:0;cursor:pointer}.timeline-window strong{font-size:13px;letter-spacing:-.4px;white-space:nowrap}.timeline-window span{font-size:10px;font-weight:600}.timeline-window small{font-size:10px;line-height:1.4;max-width:100px}.timeline-window.compact{gap:0;padding:2px 5px}.timeline-window.compact strong{font-size:11px}.timeline-window.compact span{font-size:9px}.timeline-window:focus-visible{z-index:2}.timeline-window:active{filter:brightness(.94)}.selected-interval{background:var(--soft);padding:13px;border-radius:11px;display:flex;flex-direction:column;gap:5px;color:var(--green)}.selected-interval small{font-size:11px}.selected-interval strong{font-size:18px}
.order-choices{grid-auto-rows:1fr}
.timeline-window{justify-content:flex-start}.timeline-window.compact{justify-content:center;line-height:1.2}
@media(min-width:600px){.order-choices{grid-template-columns:1fr 1fr}.order-choice{min-height:300px}.timeline-window strong{font-size:15px}}
@media(min-width:600px){.shell{padding-left:35px;padding-right:35px}.hero{padding:35px}.hero-tags span{font-size:11px}.tile{padding:23px}.header{height:100px}.hero h1{font-size:45px}}
@media(max-width:350px){.shell{padding-left:14px;padding-right:14px}.hero{padding:22px}.tile{padding:15px}.date-row{gap:6px}.field input{padding:10px 7px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
:root[data-theme=dark]{--bg:#15201b;--surface:#1e2b23;--ink:#eef2e9;--muted:#a1b1a5;--line:#344439;--green:#a9d28f;--accent:#d9edb1;--soft:#293d2c;--red:#f29b91;color-scheme:dark}:root[data-theme=dark] .hero{background:#315e46}:root[data-theme=dark] .btn:not(.secondary):not(.danger){color:#18291b}:root[data-theme=dark] .chip.selected{color:#18291b}:root[data-theme=dark] .brand-mark{color:#15201b}:root[data-theme=dark] .brand-mark span{color:#315e46}:root[data-theme=dark] .badge.busy{background:#493d2b;color:#f0cb9e}:root[data-theme=dark] .btn.danger{background:#492e2a}
