:root{font-family:Noto Sans JP,sans-serif;color:#23332f;background:#f5f7f6;font-synthesis:none;--green:#176b5b;--deep:#124e43;--mint:#e7f3ef;--line:#dde6e2;--muted:#6e7f7a}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit;color:inherit}button,a{transition:.18s ease}a{text-decoration:none;color:inherit}svg{width:19px;height:19px;stroke-width:1.8}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-.035em;margin-bottom:8px}h2{font-size:18px}p{color:var(--muted)}.btn{border:0;border-radius:9px;padding:11px 17px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;white-space:nowrap}.btn.primary{background:var(--green);color:#fff;box-shadow:0 3px 8px #176b5b24}.btn.primary:hover{background:var(--deep);transform:translateY(-1px)}.btn.secondary{background:#fff;border:1px solid #d8e1de}.btn.ghost{background:transparent}.btn.danger{background:#fff0ef;color:#a83d34;border:1px solid #f2d2cf}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;border-radius:999px;padding:5px 10px}.badge i{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.green{background:#e3f4ed;color:#18755f}.badge.gray{background:#eff2f1;color:#71807c}.badge.orange{background:#fff0de;color:#a65d16}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#d6ece5;color:var(--deep);font-weight:700}.avatar.pale{background:#eef4f2}.panel{background:#fff;border:1px solid var(--line);border-radius:14px}.empty{text-align:center;padding:48px 20px}.empty-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green);margin:0 auto 14px}.empty h3{margin-bottom:6px}.empty p{font-size:14px}.admin{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.side-brand{height:69px;display:flex;align-items:center;gap:10px;padding:0 24px;border-bottom:1px solid #eef2f0}.side-brand>svg{color:var(--green);width:25px;height:25px}.side-brand b,.wordmark{font-family:DM Sans;font-size:20px}.side-brand b span,.wordmark span,.public-header b span{color:var(--green)}.side-brand button{display:none;margin-left:auto;border:0;background:0}.sidebar nav{padding:24px 14px;flex:1}.sidebar nav small{display:block;color:#9aa8a4;font-size:11px;font-weight:700;text-transform:uppercase;padding:0 11px 10px}.sidebar nav a{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:8px;font-size:14px;font-weight:600;color:#5c6e69;margin-bottom:4px}.sidebar nav a:hover,.sidebar nav a.active{background:#eaf3f0;color:var(--green)}.side-user{border-top:1px solid var(--line);padding:17px 15px;display:flex;align-items:center;gap:10px}.side-user>div{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d8ece6;color:var(--green);font-weight:700}.side-user span{display:flex;flex:1;flex-direction:column;font-size:12px}.side-user span small{color:var(--muted)}.side-user button{border:0;background:none;color:#84918e;cursor:pointer}.admin-main{padding-left:235px;min-height:100vh}.admin-main>header{height:69px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;position:sticky;top:0;z-index:5}.admin-main>header>span{font-size:14px;font-weight:600}.header-actions{margin-left:auto;display:flex;align-items:center;gap:22px}.help{font-size:13px;color:var(--muted);display:flex;gap:5px}.help svg{width:15px}.menu{display:none;border:0;background:none}.content{max-width:1220px;margin:0 auto;padding:36px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.page-heading p{margin-bottom:0;font-size:14px}.page-heading.narrow{max-width:850px;margin-left:auto;margin-right:auto}.eyebrow{color:var(--green)!important;font-size:12px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.stats>div{background:#fff;border:1px solid var(--line);padding:21px 22px;border-radius:13px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:15px}.stats p{font-size:13px;margin:0}.stats b{font-family:DM Sans;font-size:29px;grid-column:2}.stats small{align-self:end;color:var(--muted);font-size:12px;padding-bottom:5px}.stat-icon{width:45px;height:45px;border-radius:11px;display:grid;place-items:center;grid-row:1/3}.stat-icon.teal{background:#e4f3ee;color:#16705d}.stat-icon.blue{background:#e8effa;color:#446eaa}.stat-icon.amber{background:#fff0df;color:#a66a27}.panel-title{padding:21px 23px 16px;display:flex;justify-content:space-between;align-items:center}.panel-title h2{margin:0 0 3px}.panel-title p{font-size:12px;margin:0}.panel-title>a{color:var(--green);font-weight:600;font-size:13px;display:flex;align-items:center}.panel-title>a svg{width:15px}.page-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 22px 22px}.page-card{padding:18px;border:1px solid var(--line);border-radius:11px}.page-card:hover{border-color:#8cbcaf;box-shadow:0 8px 20px #30584d10;transform:translateY(-2px)}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.type-icon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center}.type-icon.parent_student{background:#e4f3ee;color:var(--green)}.type-icon.teacher_meeting{background:#e9eef8;color:#4c6a9d}.page-card h3{font-size:15px;margin:0 0 7px}.page-card p{font-size:12px}.progress>span{height:5px;background:#e9eeec;border-radius:4px;display:block;margin-bottom:8px}.progress i{display:block;height:100%;background:#48a58d;border-radius:4px}.progress small{color:var(--muted);font-size:11px}.panel.next{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:18px 22px}.panel.next>div{display:flex;align-items:center;gap:15px}.panel.next h3,.panel.next p{margin:2px 0;font-size:14px}.panel.next small{color:var(--green);font-weight:700}.toolbar{display:flex;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.search{position:relative;display:flex;align-items:center}.search svg{position:absolute;left:12px;color:#84928e;width:17px}.search input{padding:10px 12px 10px 38px;width:280px;border:1px solid #d6e0dd;border-radius:8px}.table-panel{overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;background:#f8faf9;color:#687873;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:12px 18px}td{padding:16px 18px;border-top:1px solid #edf1ef;font-size:13px}td small{display:block;color:var(--muted);margin-top:4px}td>a svg{width:16px}.table-title{font-weight:700}.back{display:block;color:var(--green);font-size:13px;font-weight:600;margin-bottom:14px}.form-panel{max-width:850px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.form-section{display:grid;grid-template-columns:38px 1fr;gap:18px;padding:28px 32px;border-bottom:1px solid var(--line)}.form-section>span,.step-title>span{width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:700}.form-section h2{margin:2px 0 4px}.form-section p{font-size:13px}.form-section>div{min-width:0}.type-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.type-choices button{position:relative;text-align:left;border:1px solid var(--line);border-radius:10px;background:#fff;padding:18px 18px 16px 52px;cursor:pointer}.type-choices button>svg:first-child{position:absolute;left:17px;top:20px;color:var(--green)}.type-choices button>svg:last-child{position:absolute;right:12px;top:12px;opacity:0;background:var(--green);color:#fff;border-radius:50%;padding:3px}.type-choices button.selected{border:2px solid var(--green);background:#f4faf8;padding:17px 17px 15px 51px}.type-choices button.selected>svg:last-child{opacity:1}.type-choices b,.type-choices small{display:block}.type-choices small{font-size:11px;color:var(--muted);margin-top:5px}.form-card label,.form-section label{display:block;font-size:13px;font-weight:600;margin-top:18px}.form-card label em,.form-section label em{font-style:normal;color:#b24c42;font-size:11px;margin-left:4px}.form-card input:not([type=checkbox]),.form-card textarea,.form-card select,.form-section input,.form-section textarea,.form-section select{display:block;width:100%;border:1px solid #d4dfdb;border-radius:8px;padding:11px 12px;margin-top:7px;background:#fff;outline:none}.form-card input:focus,.form-card textarea:focus,.form-section input:focus,.form-section textarea:focus{border-color:#479b85;box-shadow:0 0 0 3px #479b8517}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 30px;background:#fafbfb}.detail-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.detail-head h1{font-size:24px;display:inline;margin-right:12px}.detail-head p{font-size:13px;margin:6px 0 0}.detail-actions{display:flex;gap:8px}.tabs{display:flex;border-bottom:1px solid #cfdbd7;margin-bottom:24px;gap:28px}.tabs a{display:flex;align-items:center;gap:7px;padding:12px 2px;color:#71807c;font-size:13px;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a.active{color:var(--green);border-color:var(--green)}.tabs a svg{width:16px}.settings-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.form-card{padding:23px}.form-card h2{display:flex;align-items:center;gap:8px;padding-bottom:15px;border-bottom:1px solid var(--line)}.settings-grid aside{display:flex;flex-direction:column;gap:20px}.public-url{background:#f5f8f7;border-radius:8px;padding:12px;margin-top:18px}.public-url small,.public-url code{display:block}.public-url code{font-size:12px;margin-top:4px;color:var(--green)}.switch-row{display:flex!important;align-items:center;justify-content:space-between}.switch-row span,.switch-row small{display:block}.switch-row small{font-weight:400;color:var(--muted);margin-top:3px}.switch-row input{accent-color:var(--green);width:36px;height:20px}.two-col{display:grid;grid-template-columns:360px 1fr;gap:20px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}fieldset{border:1px solid var(--line);border-radius:8px;margin:18px 0;padding:12px}fieldset legend{font-size:12px;font-weight:700}.form-card label.check{display:inline-flex;align-items:center;gap:5px;margin:5px 12px 5px 0}.check input{width:auto!important;margin:0!important}.success-note{background:#e7f5ef;color:#166e59;padding:10px;border-radius:7px;margin:12px 0 0!important;font-size:12px}.slot-list{overflow:hidden}.slot-day{padding:0 22px 18px}.slot-day h3{font-size:13px;background:#f5f8f7;padding:8px 10px;margin:0}.slot-day>div{display:grid;grid-template-columns:150px 1fr auto;align-items:center;padding:13px 10px;border-bottom:1px solid #edf1ef;font-size:13px}.slot-day span{color:var(--muted)}.slot-day em{font-size:11px;font-style:normal;border-radius:20px;padding:3px 8px}.slot-day em.open{background:#e6f4ee;color:#16705b}.slot-day em.booked{background:#eef0f0;color:#63706d}.booking-status{font-size:11px;font-weight:700;padding:5px 8px;border-radius:20px}.booking-status.active{color:#16705b;background:#e6f4ee}.booking-status.canceled{color:#8a6562;background:#f4eceb}td select{border:1px solid var(--line);border-radius:7px;padding:7px}.staff-list{padding:0 22px}.staff-list>div{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf1ef;font-size:13px}.staff-list b{flex:1}.toggle input{display:none}.toggle i{width:34px;height:19px;background:#ccd5d2;border-radius:20px;display:block;position:relative}.toggle i:after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;left:2px;top:2px;transition:.2s}.toggle input:checked+i{background:var(--green)}.toggle input:checked+i:after{left:17px}.hint{font-size:12px}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-card{max-width:430px;align-self:center;justify-self:center;padding:40px}.brand-mark{width:48px;height:48px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;margin-bottom:14px}.wordmark{margin-bottom:55px}.login-card h1{font-size:38px;line-height:1.35}.login-card>p{line-height:1.8;margin-bottom:30px}.login-card>.btn{width:100%;height:50px}.google-g{font-size:18px;background:#fff;color:#4285f4;border-radius:50%;width:23px;height:23px;display:grid;place-items:center}.login-card>small{display:block;text-align:center;margin:15px 0;color:var(--muted)}.demo-note{background:#f0f7f5;border-radius:8px;padding:10px;text-align:center;color:var(--green);font-size:12px}.form-error{background:#fff0ef;color:#a33c35;border:1px solid #f1d1cd;padding:10px;border-radius:7px;font-size:12px;margin:10px 0}.login-art{background:linear-gradient(150deg,#e0f1ec,#b7d9d0);position:relative;overflow:hidden}.login-art:before,.login-art:after{content:"";position:absolute;border-radius:50%;border:1px solid #fff8}.login-art:before{width:600px;height:600px;left:10%;top:12%}.login-art:after{width:400px;height:400px;left:27%;top:29%}.floating-card{position:absolute;background:#fff;border-radius:14px;box-shadow:0 20px 50px #2a62542b;z-index:1}.floating-card.one{left:18%;top:27%;width:290px;padding:24px;transform:rotate(-3deg)}.floating-card.one span,.floating-card.one b,.floating-card.one em{display:block}.floating-card.one span{color:var(--muted);font-size:13px}.floating-card.one b{font-size:24px;margin:8px 0 20px}.floating-card.one em{font-style:normal;color:var(--green);background:var(--mint);padding:8px;border-radius:7px;font-size:12px}.floating-card.one em svg{width:14px;vertical-align:middle}.floating-card.two{left:43%;top:58%;padding:18px 24px;display:flex;gap:14px;transform:rotate(4deg)}.floating-card.two>svg{color:var(--green);width:28px;height:28px}.floating-card.two b,.floating-card.two strong,.floating-card.two span{display:block}.floating-card.two b{font-size:12px}.floating-card.two strong{font-size:26px}.floating-card.two span{color:var(--muted);font-size:11px}.public{min-height:100vh;background:#f5f8f7;display:flex;flex-direction:column}.public-header{height:67px;background:#fff;border-bottom:1px solid var(--line);padding:0 max(25px,calc((100% - 1100px)/2));display:flex;align-items:center;justify-content:space-between}.public-header a{display:flex;align-items:center;gap:9px}.public-header a>svg{color:var(--green)}.public-header b{font-family:DM Sans;font-size:19px}.public-header small{color:var(--muted)}.public main{max-width:1100px;width:100%;margin:0 auto;padding:42px 25px;flex:1}.public-intro{text-align:center;max-width:700px;margin:0 auto 30px}.public-intro>span{font-size:12px;font-weight:700;color:var(--green);background:#e4f2ed;border-radius:20px;padding:6px 12px}.public-intro h1{font-size:30px;margin:17px 0 10px}.public-intro p{line-height:1.75}.public-intro>div{display:flex;justify-content:center;align-items:center;gap:5px;font-size:13px;color:#65746f}.public-intro svg{width:16px}.booking-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:start}.public-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.step-title{display:flex;gap:12px;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:20px}.step-title h2{margin:1px 0 3px}.step-title p{font-size:12px;margin:0}.public-day{margin-bottom:20px}.public-day h3{font-size:14px}.public-day>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.public-day button{border:1px solid #d8e2df;background:#fff;padding:13px;border-radius:8px;text-align:left;cursor:pointer}.public-day button b{font-size:14px}.public-day button span{font-size:12px;color:var(--muted)}.public-day button em{display:block;color:var(--green);font-size:11px;font-style:normal;margin-top:5px}.public-day button em svg{width:14px}.public-day button:hover,.public-day button.selected{border-color:var(--green);background:#f1f8f6}.selection{display:flex;gap:10px;align-items:center;background:#eaf5f1;padding:12px;border-radius:8px;color:var(--green)}.selection small,.selection b{display:block}.selection small{font-size:11px}.selection b{font-size:13px}.selection.muted{background:#f3f5f4;color:#778581;font-size:12px}.public-card form>.btn{width:100%;margin-top:19px}.privacy{display:block;text-align:center;color:var(--muted);font-size:10px;margin-top:10px}.signed-user{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:15px}.signed-user b,.signed-user small{display:block}.signed-user small{color:var(--muted)}.public-footer{border-top:1px solid var(--line);padding:25px;text-align:center;color:#82908c;font-size:11px}.public-footer span{margin-left:24px}.manage{text-align:center!important;max-width:660px!important;padding-top:70px!important}.manage>p{font-size:14px}.complete-mark{width:66px;height:66px;border-radius:50%;margin:0 auto 18px;background:#daf1e9;color:var(--green);display:grid;place-items:center}.complete-mark.canceled{background:#f2e7e5;color:#9d5750}.complete-mark svg{width:32px;height:32px}.receipt{text-align:left;margin:28px 0}.receipt>div{display:grid;grid-template-columns:100px 1fr;padding:14px;border-bottom:1px solid var(--line)}.receipt>div:last-child{border-bottom:0}.receipt small{color:var(--muted)}.manage-actions{display:flex;justify-content:center;gap:10px}.manage-url{font-size:11px!important;margin-top:25px}.print-view{background:#fff;min-height:100vh;padding:40px}.print-toolbar{display:flex;justify-content:space-between;margin-bottom:30px}.print-view>header{border-bottom:2px solid #333;padding-bottom:15px;margin-bottom:20px}.print-view>header p{margin:0}.print-view table,.print-view th,.print-view td{border:1px solid #aaa}.print-view th{background:#eee}@media(max-width:900px){.sidebar{transform:translate(-100%);transition:.25s}.sidebar.open{transform:none;box-shadow:5px 0 30px #263c3630}.side-brand button{display:block}.admin-main{padding-left:0}.menu{display:block;margin-right:12px}.content{padding:25px}.stats,.page-cards,.settings-grid,.two-col,.booking-layout,.login-page{grid-template-columns:1fr}.login-art{display:none}.detail-head{align-items:start;gap:16px}.detail-actions{flex-direction:column}.tabs{overflow:auto}.form-panel,.page-heading.narrow{max-width:none}}@media(max-width:600px){h1{font-size:24px}.content{padding:20px 15px}.admin-main>header{padding:0 15px}.help{display:none}.page-heading{align-items:start;gap:16px}.page-heading .btn{font-size:0;padding:11px}.page-heading .btn svg{margin:0}.stats>div{padding:17px}.page-cards{padding:0 15px 15px}.panel.next{align-items:flex-start;gap:12px}.type-choices{grid-template-columns:1fr}.form-section{padding:22px 18px;grid-template-columns:30px 1fr}.detail-head{display:block}.detail-actions{margin-top:15px;flex-direction:row;overflow:auto}.tabs{gap:20px}.tabs a{white-space:nowrap}.toolbar{gap:10px}.search input{width:100%}.public main{padding:28px 14px}.public-intro h1{font-size:24px}.public-card{padding:18px}.public-day>div{grid-template-columns:1fr}.manage-actions{flex-direction:column}.public-footer span{display:block;margin:5px 0}.receipt>div{grid-template-columns:1fr;gap:4px}.print-view{padding:10px}}@media print{.sidebar,.admin-main>header,.tabs,.detail-head,.print-toolbar{display:none!important}.admin-main{padding:0}.content{padding:0;max-width:none}.print-view{padding:0}.print-view table{font-size:10pt}@page{size:A4 landscape;margin:12mm}}.side-user .logout-button{display:flex;align-items:center;gap:5px;font-size:12px;padding:7px 5px;white-space:nowrap}.side-user .logout-button:hover{color:#a33c35}.side-user .logout-button svg{width:16px;height:16px}.user-avatar{overflow:hidden}.user-avatar img{display:block;width:100%;height:100%;object-fit:cover}.side-user>.user-avatar{flex:0 0 34px}.side-user>span{min-width:0;overflow:hidden}.side-user>span b,.side-user>span small{overflow:hidden;text-overflow:ellipsis}.side-user>.logout-button{flex:0 0 auto}.detail-head{align-items:flex-start}.detail-title{flex:1;min-width:240px}.detail-actions{display:flex;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap;gap:8px;max-width:720px}.publish-status,.detail-url{display:flex;flex-direction:column;gap:5px}.publish-status small,.detail-url small{font-size:10px;color:var(--muted);font-weight:700}.publish-status select{height:42px;border:1px solid #d8e1de;border-radius:9px;background:#fff;padding:0 30px 0 11px;font-size:13px;font-weight:700}.detail-url{min-width:150px;background:#f3f7f5;border-radius:9px;padding:7px 11px}.detail-url code{font-size:11px;color:var(--green);white-space:nowrap}.calendar-panel{min-width:0;overflow:hidden}.calendar-toolbar{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.calendar-toolbar h2{margin:0 0 3px}.calendar-toolbar p{font-size:12px;margin:0}.calendar-nav{display:flex;align-items:center;gap:10px}.calendar-nav b{min-width:100px;text-align:center;font-size:14px}.calendar-nav button{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;place-items:center;cursor:pointer}.calendar-nav button:hover{border-color:#8cbcaf;color:var(--green)}.calendar-nav svg{width:16px}.calendar-scroll{overflow-x:auto}.slot-calendar{min-width:650px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays span{text-align:center;padding:9px;color:var(--muted);font-size:11px;font-weight:700;border-bottom:1px solid var(--line)}.calendar-weekdays span:first-child{color:#b55b55}.calendar-weekdays span:last-child{color:#5076a5}.calendar-grid{border-left:1px solid var(--line)}.calendar-cell{min-height:108px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.calendar-cell.blank{background:#f8faf9}.calendar-date{font-size:12px}.calendar-cell:nth-child(7n+1)>.calendar-date{color:#b55b55}.calendar-cell:nth-child(7n)>.calendar-date{color:#5076a5}.calendar-slots{display:flex;flex-direction:column;gap:4px;margin-top:7px}.slot-chip{display:flex;align-items:center;justify-content:space-between;gap:4px;border-radius:5px;padding:4px 5px;background:#e7f4ef;color:#176b5b;font-size:10px;min-width:0}.slot-chip.booked{background:#eef0f0;color:#64716e}.slot-chip.blocked{background:#fff0de;color:#9a611f}.slot-chip span{font-weight:700;white-space:nowrap}.slot-chip em{font-size:9px;font-style:normal;white-space:nowrap}.calendar-slots>small{color:var(--muted);font-size:10px;padding-left:3px}@media(max-width:900px){.detail-actions{justify-content:flex-start;max-width:none;width:100%}.detail-head{gap:18px}.slots-layout{grid-template-columns:1fr}}@media(max-width:600px){.detail-actions{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.publish-status,.detail-url{min-width:0}.detail-actions .btn{font-size:11px;padding:10px 8px}.detail-url code{overflow:hidden;text-overflow:ellipsis}.calendar-toolbar{align-items:flex-start;gap:12px}.calendar-nav{gap:4px}.calendar-nav b{min-width:80px}}.header-public-link{border:1px solid #d5e0dc;border-radius:8px;background:#fff;padding:9px 13px;color:var(--green);font-weight:700;box-shadow:0 1px 2px #23332f0a}.header-public-link:hover{border-color:#8cbcaf;background:#f4faf8}.header-public-link svg{width:15px;height:15px}.detail-url{min-width:220px;background:none;padding:0}.detail-url-value{height:42px;display:flex;align-items:center;border:1px solid #d8e1de;border-radius:9px;background:#f7faf9;overflow:visible}.detail-url-value code{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;padding:0 10px;font-size:11px;color:var(--green);white-space:nowrap}.copy-url-button{position:relative;flex:0 0 40px;height:40px;border:0;border-left:1px solid #d8e1de;border-radius:0 8px 8px 0;background:#fff;color:var(--green);display:grid;place-items:center;cursor:pointer}.copy-url-button:hover{background:#eaf4f1}.copy-url-button svg{width:17px;height:17px}.copy-url-button:after{content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 8px);background:#23332f;color:#fff;border-radius:6px;padding:6px 8px;font-size:10px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(3px);transition:.15s}.copy-url-button:hover:after,.copy-url-button:focus-visible:after{opacity:1;transform:none}@media(max-width:600px){.detail-url{min-width:0}.detail-url-value code{max-width:180px}}.copy-url-button.copied{background:#e3f4ed;color:#18755f}.copy-url-button.copied:after{opacity:1;transform:none}.slots-layout{grid-template-columns:410px minmax(0,1fr);align-items:start}.batch-builder{padding-bottom:26px}.batch-builder>h2{margin-bottom:0}.builder-section{padding:20px 0;border-bottom:1px solid var(--line)}.builder-heading{display:flex;align-items:flex-start;gap:9px;margin-bottom:13px}.builder-heading>span{width:23px;height:23px;flex:0 0 23px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700}.builder-heading b,.builder-heading small{display:block}.builder-heading small{font-size:10px;color:var(--muted);margin-top:2px}.base-time-list{display:flex;flex-direction:column;gap:7px}.base-time-row{display:grid;grid-template-columns:22px 1fr 14px 1fr 30px;align-items:center;gap:5px}.base-time-row>span{color:var(--muted);font-size:11px;text-align:center}.base-time-row input{margin:0!important;padding:9px 7px!important}.base-time-row>i{font-style:normal;color:var(--muted);text-align:center}.base-time-row>button,.exclude-tags button{border:0;background:none;color:#8a9995;display:grid;place-items:center;cursor:pointer}.base-time-row>button:disabled{opacity:.25;cursor:not-allowed}.base-time-row svg,.exclude-tags svg{width:15px}.add-base-time{display:flex;align-items:center;gap:5px;margin-top:10px;border:0;background:none;color:var(--green);font-size:11px;font-weight:700;cursor:pointer}.add-base-time svg{width:15px}.range-fields{display:grid;grid-template-columns:1fr 14px 1fr;align-items:end;gap:6px}.range-fields label{margin:0!important}.range-fields>i{font-style:normal;color:var(--muted);padding-bottom:11px;text-align:center}.exclude-picker{display:grid;grid-template-columns:1fr auto;gap:7px}.exclude-picker input{margin:0!important}.exclude-picker button{border:1px solid #cad8d3;border-radius:8px;background:#fff;padding:0 13px;color:var(--green);font-size:11px;font-weight:700;cursor:pointer}.exclude-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.exclude-tags>span{display:flex;align-items:center;gap:3px;border-radius:20px;background:#eaf4f1;color:var(--green);padding:5px 5px 5px 9px;font-size:10px}.builder-options{border-bottom:0;padding-bottom:8px}.builder-options>label{margin-top:0}.batch-builder form>.btn{width:100%}.calendar-cell.clickable{cursor:pointer;outline:none;transition:.15s}.calendar-cell.clickable:hover,.calendar-cell.clickable:focus-visible{background:#f1f8f6;box-shadow:inset 0 0 0 2px #76ae9f}.batch-history{padding:18px 20px}.batch-history h3{font-size:13px;margin-bottom:10px}.batch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #edf1ef}.batch-row>div{min-width:0}.batch-row code,.batch-row small{display:block}.batch-row code{font-size:10px;color:var(--green);overflow:hidden;text-overflow:ellipsis}.batch-row small{font-size:10px;color:var(--muted);margin-top:3px}.batch-row>button{display:flex;align-items:center;gap:5px;flex:0 0 auto;border:1px solid #f0d6d2;border-radius:7px;background:#fff7f6;color:#a34d44;padding:7px 9px;font-size:10px;font-weight:700;cursor:pointer}.batch-row>button svg{width:14px}.modal-backdrop{position:fixed;inset:0;background:#17352e66;z-index:50;display:grid;place-items:center;padding:20px}.slot-modal{position:relative;width:min(460px,100%);box-shadow:0 24px 70px #17352e42}.modal-close{position:absolute;right:14px;top:14px;border:0;background:none;color:var(--muted);cursor:pointer}.modal-close svg{width:18px}.slot-modal form>.btn{width:100%}@media(max-width:1100px){.slots-layout{grid-template-columns:360px minmax(0,1fr)}}@media(max-width:900px){.slots-layout{grid-template-columns:1fr}.batch-builder{max-width:none}.calendar-panel{min-height:500px}}@media(max-width:600px){.base-time-row{grid-template-columns:18px 1fr 10px 1fr 25px}.range-fields{grid-template-columns:1fr}.range-fields>i{padding:0}.batch-history{padding:14px}.batch-row{align-items:flex-start}.batch-row>button{font-size:0}.batch-row>button svg{width:16px}}.day-manager{width:min(940px,100%);max-height:92vh;overflow:hidden;padding:0}.day-manager-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;border-bottom:1px solid var(--line)}.day-manager-head h2{margin:2px 0 0;padding:0;border:0;font-size:20px}.day-manager-head>p{font-size:11px;margin:0;color:var(--muted)}.day-manager-date{display:flex;align-items:center;gap:12px}.day-manager-date>span{width:40px;height:40px;border-radius:10px;background:var(--mint);color:var(--green);display:grid;place-items:center}.day-manager-date>span svg{width:20px}.day-manager-date small,.pane-heading small{display:block;font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.04em}.day-manager-body{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:430px}.existing-slots-pane,.slot-editor-pane{min-width:0;padding:24px}.existing-slots-pane{background:#f7faf9;border-right:1px solid var(--line)}.slot-editor-pane{background:#fff}.pane-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.pane-heading h3{margin:3px 0 0;font-size:15px}.pane-heading>span:not(.editor-heading-icon){padding:5px 9px;border-radius:999px;background:#e6f2ee;color:var(--green);font-size:10px;font-weight:700}.editor-heading-icon{width:34px;height:34px;border-radius:9px;background:var(--green);color:#fff;display:grid;place-items:center}.editor-heading-icon svg{width:17px}.day-slot-list{display:flex;flex-direction:column;gap:9px;max-height:330px;overflow:auto;padding-right:3px}.day-slot-row{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}.slot-time-line{display:flex;align-items:center;gap:8px}.slot-time-line>svg{width:16px;color:var(--green)}.slot-time-line>b{font-size:14px}.slot-time-line>.booking-status{margin-left:auto}.slot-meta-line{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 12px;padding-left:24px;color:var(--muted);font-size:10px}.slot-meta-line span{display:flex;align-items:center;gap:4px}.slot-meta-line svg{width:12px;height:12px}.slot-row-actions{display:flex;justify-content:flex-end;gap:6px;padding-top:10px;border-top:1px solid #edf1ef}.slot-row-actions button{border:1px solid var(--line);border-radius:7px;background:#fff;padding:6px 9px;font-size:10px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:4px}.slot-row-actions button:last-child{color:#a34d44}.slot-row-actions button:disabled{opacity:.35;cursor:not-allowed}.slot-row-actions svg{width:12px;height:12px}.booking-status.open{color:#16705b;background:#e6f4ee}.scope-choice{background:#fff;border:1px solid #b9d4cb;border-radius:9px;padding:14px;margin-bottom:14px}.scope-choice>b{font-size:12px}.scope-choice>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.scope-choice .btn{font-size:10px;padding:7px 9px}.day-slots-empty{min-height:270px;border:1px dashed #cbdad5;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px;color:var(--muted)}.day-slots-empty>svg{width:30px;height:30px;color:#8aa69e;margin-bottom:12px}.day-slots-empty b{font-size:13px;color:#465852}.day-slots-empty p{font-size:11px;margin:5px 0 0}.day-edit-form{margin:0}.editor-lead{font-size:11px;line-height:1.7;margin:0 0 16px}.time-setting-card{background:#f5f8f7;border:1px solid var(--line);border-radius:10px;padding:14px}.time-setting-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--green)}.time-setting-title svg{width:15px}.day-edit-form .field-row{gap:10px}.day-edit-form label{margin-top:14px}.time-setting-card label{margin-top:10px;font-size:11px}.day-edit-form input,.day-edit-form select{min-height:43px}.day-edit-form .form-actions{margin:24px 0 0;padding:16px 0 0;border-top:1px solid var(--line);background:none}.editor-prompt{min-height:310px;border:1px dashed #bdd3cc;border-radius:12px;background:#f8fbfa;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}.editor-prompt>span{width:46px;height:46px;border-radius:50%;background:#e3f2ed;color:var(--green);display:grid;place-items:center;margin-bottom:13px}.editor-prompt>span svg{width:20px}.editor-prompt>b{font-size:14px}.editor-prompt>p{font-size:11px;margin:6px 0 18px}.batch-builder form>.btn.ghost{margin-top:7px;color:var(--muted);box-shadow:none}.calendar-slots{pointer-events:none}@media(max-width:700px){.modal-backdrop{padding:12px}.day-manager{max-height:94vh;overflow:auto}.day-manager-head{align-items:flex-start;padding:17px 18px}.day-manager-head>p{display:none}.day-manager-body{display:block;min-height:0}.existing-slots-pane,.slot-editor-pane{padding:20px 18px}.existing-slots-pane{border-right:0;border-bottom:1px solid var(--line)}.day-slot-list{max-height:280px}.day-slots-empty{min-height:150px}.editor-prompt{min-height:220px}.scope-choice>div{flex-direction:column}.scope-choice .btn{width:100%}}.day-slot-row{padding:11px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:12px;row-gap:5px}.slot-time-line{grid-column:1;gap:7px;min-width:0}.slot-time-line>svg{width:15px;flex:0 0 auto}.slot-time-line>b{font-size:13px;white-space:nowrap}.slot-time-line>.booking-status{margin-left:5px}.slot-meta-line{grid-column:1;gap:10px;margin:0;padding-left:22px;font-size:9px}.slot-meta-line span{gap:3px}.slot-meta-line svg{width:11px;height:11px}.slot-row-actions{grid-column:2;grid-row:1/3;flex-direction:column;justify-content:center;gap:5px;padding:0 0 0 11px;border-top:0;border-left:1px solid #edf1ef}.slot-row-actions button{min-width:56px;padding:5px 8px;font-size:9px;justify-content:center;gap:3px}.slot-row-actions svg{width:11px;height:11px}.slots-layout{grid-template-columns:450px minmax(0,1fr)}.batch-builder{padding:0;overflow:hidden}.builder-header{display:flex;gap:13px;padding:22px 22px 20px;background:linear-gradient(145deg,#f2f8f6,#fff);border-bottom:1px solid var(--line)}.builder-header-icon{width:42px;height:42px;flex:0 0 42px;border-radius:11px;background:var(--green);color:#fff;display:grid;place-items:center;box-shadow:0 5px 12px #176b5b24}.builder-header-icon svg{width:21px}.builder-header small{display:block;color:var(--green);font-size:10px;font-weight:700;letter-spacing:.08em;margin-bottom:2px}.batch-builder .builder-header h2{border:0;padding:0;margin:0;font-size:17px}.builder-header p{font-size:10px;line-height:1.65;margin:5px 0 0}.batch-form{padding-bottom:20px}.builder-step{padding:19px 0;margin:0 22px;border-bottom:1px solid var(--line)}.builder-heading{align-items:center;margin-bottom:14px}.builder-heading>span{width:25px;height:25px;flex-basis:25px;background:#e4f2ed;color:var(--green);font-size:10px}.builder-heading b{font-size:13px}.builder-heading b em{font-style:normal;font-size:9px;font-weight:700;color:var(--muted);background:#eef2f1;border-radius:999px;padding:3px 7px;margin-left:4px}.builder-heading small{font-size:9px;margin-top:3px}.base-time-list{gap:8px}.base-time-row{grid-template-columns:23px minmax(0,1fr) 14px minmax(0,1fr) 27px;gap:6px;padding:10px;border:1px solid #dbe5e1;border-radius:10px;background:#fbfcfc}.base-time-row>.time-row-index{width:20px;height:20px;border-radius:6px;background:#e6f3ef;color:var(--green);display:grid;place-items:center;font-weight:700}.base-time-row label{margin:0!important;font-size:9px;color:var(--muted)}.base-time-row label small{display:block;font-size:9px;font-weight:700}.base-time-row input{margin:4px 0 0!important;padding:8px 7px!important;background:#fff}.base-time-row>i{padding-top:19px;color:#89a099}.base-time-row>button{margin-top:17px}.add-base-time{width:100%;justify-content:center;margin-top:9px;padding:9px;border:1px dashed #b5cec6;border-radius:9px;background:#f6faf8}.add-base-time:hover{background:#eaf4f1;border-color:#76ae9f}.range-fields{gap:8px}.range-fields label{font-size:10px!important;color:#52645f}.range-fields input{margin-top:5px!important}.range-fields>i{padding-bottom:12px}.exclude-picker{gap:8px}.exclude-picker button{min-width:56px}.exclude-tags{margin-top:8px}.exclude-empty{margin:9px 0 0;font-size:9px;color:#98a5a1}.builder-options{border-bottom:0;padding-bottom:17px}.builder-options>.builder-heading+label{margin-top:0}.builder-options fieldset{background:#f8faf9;margin-bottom:0}.builder-result{margin:0 22px 14px;padding:13px 14px;border:1px solid #bcd8cf;border-radius:10px;background:#edf7f3;display:flex;align-items:center;justify-content:space-between;gap:12px}.builder-result>div{display:flex;align-items:center;gap:9px}.builder-result>div>span{width:29px;height:29px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center}.builder-result svg{width:15px}.builder-result small,.builder-result b{display:block}.builder-result small{font-size:8px;color:#5f746e}.builder-result b{font-size:14px;margin-top:1px;color:var(--deep)}.builder-result p{font-size:9px;margin:0;white-space:nowrap}.builder-actions{display:flex;flex-direction:column;gap:6px;margin:0 22px}.builder-actions>.btn{width:100%}.builder-actions>.btn.ghost{margin:0}.builder-message{margin:12px 22px 0!important}.batch-builder form>.btn{width:auto}@media(max-width:1100px)and (min-width:901px){.slots-layout{grid-template-columns:390px minmax(0,1fr)}.builder-header,.builder-step{margin-left:0;margin-right:0}.builder-step{margin-left:18px;margin-right:18px}.builder-header{padding-left:18px;padding-right:18px}.builder-result,.builder-actions{margin-left:18px;margin-right:18px}}@media(max-width:900px){.slots-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.builder-header{padding:20px 18px}.builder-step{margin:0 18px}.builder-result,.builder-actions{margin-left:18px;margin-right:18px}.base-time-row{grid-template-columns:21px minmax(0,1fr) 11px minmax(0,1fr) 23px;padding:9px 7px;gap:4px}.base-time-row input{padding:8px 5px!important}.builder-result{align-items:flex-start}.builder-result p{white-space:normal;text-align:right}}.builder-header{align-items:center;padding:16px 20px}.builder-header-icon{width:36px;height:36px;flex-basis:36px}.builder-header-icon svg{width:18px}.batch-form{padding-bottom:16px}.builder-step{padding:14px 0}.builder-heading{margin-bottom:10px}.builder-heading>span{width:23px;height:23px;flex-basis:23px}.base-time-row{padding:7px 8px}.batch-form input:not([type=checkbox]),.batch-form select{height:42px;min-height:42px;font-size:9px!important;padding:0 10px!important;margin-top:5px!important}.base-time-row input{margin-top:3px!important}.base-time-row>i{padding-top:18px}.base-time-row>button{margin-top:16px}.exclude-picker input{margin-top:0!important}.exclude-picker button{height:42px}.builder-options{padding-bottom:14px}.builder-actions{margin-top:0}@media(max-width:600px){.builder-header{padding:15px 18px}.builder-step{padding:13px 0}.base-time-row{padding:6px}.batch-form input:not([type=checkbox]),.batch-form select{height:42px;min-height:42px;padding:0 7px!important}}.batch-form label,.base-time-row label,.range-fields label{font-size:11px!important}.base-time-row label small{font-size:11px}.batch-form input:not([type=checkbox]),.batch-form select{font-size:13px!important}.batch-form input:not([type=checkbox]),.batch-form select{font-weight:600}.batch-form .exclude-picker{align-items:stretch}.batch-form .exclude-picker input{margin:0!important}.batch-form .exclude-picker button{height:42px;margin:0}.slot-delete-confirm{display:flex;gap:11px;padding:14px;margin-bottom:14px;border:1px solid #efc8c4;border-radius:10px;background:#fff7f6}.slot-delete-confirm>span{width:32px;height:32px;flex:0 0 32px;border-radius:8px;background:#f9e2df;color:#a33f36;display:grid;place-items:center}.slot-delete-confirm>span svg{width:16px}.slot-delete-confirm>div{min-width:0;flex:1}.slot-delete-confirm b{font-size:12px}.slot-delete-confirm p{font-size:10px;line-height:1.6;margin:4px 0 10px;color:#795e5a}.slot-delete-confirm>div>div{display:flex;justify-content:flex-end;gap:6px}.slot-delete-confirm .btn{font-size:10px;padding:7px 10px}.app-dialog-backdrop{position:fixed;inset:0;z-index:200;background:#17352e73;display:grid;place-items:center;padding:20px;animation:dialog-fade .15s ease-out}.app-dialog{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 24px 80px #17352e4d;padding:26px;text-align:center;animation:dialog-pop .18s ease-out}.app-dialog-icon{width:48px;height:48px;border-radius:50%;background:#e4f3ee;color:var(--green);display:grid;place-items:center;margin:0 auto 14px}.app-dialog-icon svg{width:22px;height:22px}.app-dialog.danger .app-dialog-icon{background:#f9e3e0;color:#a63e35}.app-dialog h2{font-size:17px;margin:0 0 8px}.app-dialog p{font-size:12px;line-height:1.75;margin:0;color:var(--muted)}.app-dialog-actions{display:flex;justify-content:center;gap:8px;margin-top:22px}.app-dialog-actions .btn{min-width:110px}.app-dialog.danger .app-dialog-actions .btn.danger{background:#a7463d;color:#fff;border-color:#a7463d}.app-dialog.danger .app-dialog-actions .btn.danger:hover{background:#91372f}.app-dialog.danger .app-dialog-actions .btn.secondary{background:#fff}@keyframes dialog-fade{0%{opacity:0}}@keyframes dialog-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.slot-row-actions{flex-direction:row;gap:5px}.slot-row-actions button{width:30px;height:30px;min-width:30px;padding:0}.slot-row-actions svg{width:13px;height:13px}@media(max-width:600px){.app-dialog-backdrop{padding:16px}.app-dialog{padding:23px 20px}.app-dialog-actions{flex-direction:column-reverse}.app-dialog-actions .btn{width:100%}}.account-card{max-width:760px;margin-bottom:18px}.account-profile{display:flex;align-items:center;gap:12px;padding:4px 0 18px}.account-profile>.user-avatar{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:var(--mint);display:grid;place-items:center;overflow:hidden}.account-profile b,.account-profile small{display:block}.account-profile small{font-size:12px;color:var(--muted);margin-top:3px}.retention-note{display:flex;gap:11px;padding:14px;border-radius:9px;background:#f2f7f5}.retention-note>svg{width:18px;color:var(--green);flex:0 0 auto}.retention-note b{font-size:12px}.retention-note p{font-size:11px;margin:4px 0 0}.danger-zone{border-color:#efd0cc}.danger-zone h2{color:#983f37}.danger-zone>p{font-size:12px;line-height:1.8}.danger-zone>.btn{margin-top:5px}.public-calendar-wrap{margin-top:-4px}.public-calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.public-calendar-nav b{font-size:15px}.public-calendar-nav button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;place-items:center;cursor:pointer}.public-calendar-nav button:hover{border-color:#8cbcaf;color:var(--green);background:#f4faf8}.public-calendar-nav svg{width:16px}.public-calendar-weekdays,.public-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.public-calendar-weekdays span{text-align:center;color:var(--muted);font-size:10px;font-weight:700;padding:5px 0 8px}.public-calendar-weekdays span:first-child{color:#b55b55}.public-calendar-weekdays span:last-child{color:#5076a5}.public-calendar-grid{gap:5px}.public-calendar-grid>span,.public-calendar-grid>button{aspect-ratio:1;border-radius:9px}.public-calendar-grid>button{border:1px solid transparent;background:#f5f7f6;color:#9aa6a3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px;cursor:default}.public-calendar-grid>button b{font-size:12px}.public-calendar-grid>button small{font-size:8px;font-weight:700}.public-calendar-grid>button.available{border-color:#c8ddd6;background:#f1f8f6;color:var(--green);cursor:pointer}.public-calendar-grid>button.available:hover{border-color:#67a795;background:#e7f4ef}.public-calendar-grid>button.selected{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 3px 9px #176b5b28}.public-time-picker{border-top:1px solid var(--line);margin-top:18px;padding-top:17px}.public-time-picker>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:12px}.public-time-picker h3{font-size:14px;margin:0}.public-time-picker>div:first-child small{font-size:10px;color:var(--muted)}.public-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.public-time-grid>button{min-height:50px;border:1px solid #d6e1dd;border-radius:9px;background:#fff;padding:8px 10px;display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer}.public-time-grid>button:hover,.public-time-grid>button.selected{border-color:var(--green);background:#f0f8f5}.public-time-grid>button>svg:first-child{width:15px;color:var(--green)}.public-time-grid>button>svg:last-child{width:15px;margin-left:auto;color:var(--green)}.public-time-grid>button span{display:flex;flex-direction:column}.public-time-grid>button b{font-size:13px}.public-time-grid>button small{font-size:10px;color:var(--muted)}@media(max-width:600px){.public-card{padding:18px}.public-calendar-grid{gap:3px}.public-calendar-grid>button,.public-calendar-grid>span{border-radius:7px}.public-time-grid{grid-template-columns:1fr}}.public main{max-width:1160px;padding-top:36px}.public-intro{margin-bottom:26px}.public-intro>span{display:inline-flex;align-items:center;min-height:28px;padding:5px 11px;background:#e8f4f0;border:1px solid #d4e9e2}.public-intro h1{font-size:32px;margin:14px 0 7px}.public-intro p{font-size:13px;margin-bottom:9px}.booking-layout{grid-template-columns:minmax(0,1.16fr) minmax(350px,.84fr);gap:0;align-items:stretch;background:#fff;border:1px solid #d8e3df;border-radius:22px;overflow:hidden;box-shadow:0 18px 55px #17352e12}.booking-layout>.public-card{border:0;border-radius:0;padding:30px 32px;background:#fff}.booking-layout>aside.public-card{border-left:1px solid #dfe8e5;background:linear-gradient(155deg,#f8fbfa,#f3f7f5)}.booking-layout .step-title{position:relative;gap:13px;align-items:center;border:0;padding:0 0 21px;margin:0 0 24px}.booking-layout .step-title:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,#bad7ce,#edf2f0)}.booking-layout .step-title>span{width:34px;height:34px;flex:0 0 34px;background:#e5f2ee;color:var(--green);font-family:DM Sans;font-size:13px;box-shadow:inset 0 0 0 1px #cce2db}.booking-layout section>.step-title>span{background:var(--green);color:#fff;box-shadow:0 5px 13px #176b5b29}.booking-layout .step-title h2{font-size:17px;letter-spacing:-.02em;margin:0 0 3px}.booking-layout .step-title p{font-size:11px;color:#82908c}.booking-layout .public-calendar-nav{margin:0 0 16px}.booking-layout .public-calendar-nav b{font-size:16px;letter-spacing:-.01em}.booking-layout .public-calendar-nav button{width:38px;height:38px;border-color:#d7e2de;background:#fbfcfc}.booking-layout .public-calendar-weekdays{margin-bottom:3px}.booking-layout .public-calendar-weekdays span{font-size:10px;padding:5px 0 7px}.booking-layout .public-calendar-grid{gap:6px}.booking-layout .public-calendar-grid>span,.booking-layout .public-calendar-grid>button{aspect-ratio:auto;min-height:48px;border-radius:10px}.booking-layout .public-calendar-grid>button{background:#f6f8f7;color:#a0aaa7}.booking-layout .public-calendar-grid>button b{font-family:DM Sans;font-size:13px}.booking-layout .public-calendar-grid>button small{font-size:8px;letter-spacing:.01em}.booking-layout .public-calendar-grid>button.available{position:relative;border-color:#d3e5df;background:#f4faf8;color:#176b5b}.booking-layout .public-calendar-grid>button.available:after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:#4a9c86}.booking-layout .public-calendar-grid>button.available small{padding-bottom:4px}.booking-layout .public-calendar-grid>button.selected{border-color:#176b5b;background:#176b5b;color:#fff;box-shadow:0 6px 14px #176b5b2b}.booking-layout .public-calendar-grid>button.selected:after{background:#fff}.booking-layout .public-time-picker{margin-top:22px;padding-top:20px}.booking-layout .public-time-picker>div:first-child{align-items:center;margin-bottom:13px}.booking-layout .public-time-picker h3{font-size:15px}.booking-layout .public-time-picker>div:first-child small{padding:4px 8px;border-radius:999px;background:#edf4f2;color:#61746e}.booking-layout .public-time-grid{gap:8px}.booking-layout .public-time-grid>button{position:relative;min-height:58px;border-color:#d9e3e0;border-radius:11px;padding:10px 12px;background:#fff}.booking-layout .public-time-grid>button:hover{transform:translateY(-1px);border-color:#73aa9b;box-shadow:0 6px 14px #17352e0d}.booking-layout .public-time-grid>button.selected{border-color:#176b5b;background:#edf7f4;box-shadow:inset 0 0 0 1px #176b5b}.booking-layout .public-time-grid>button b{font-family:DM Sans;font-size:14px}.booking-layout .public-time-grid>button small{margin-top:2px}.booking-layout>aside form{display:flex;flex-direction:column}.booking-layout>aside .selection{min-height:66px;border:1px solid #cde3dc;border-radius:12px;background:#e9f5f1;padding:13px 14px}.booking-layout>aside .selection>svg{width:19px;flex:0 0 auto}.booking-layout>aside .selection small{font-size:9px;font-weight:700;letter-spacing:.04em;margin-bottom:3px}.booking-layout>aside .selection b{font-size:13px;line-height:1.45}.booking-layout>aside .selection.muted{border-color:#dfe6e4;background:#fff;color:#7c8985}.booking-layout>aside.form-card label{font-size:11px;letter-spacing:.01em;margin-top:17px}.booking-layout>aside.form-card input:not([type=checkbox]),.booking-layout>aside.form-card textarea,.booking-layout>aside.form-card select{min-height:46px;margin-top:6px;border-color:#d4dfdb;border-radius:10px;background:#fff;font-size:13px;font-weight:500;padding:11px 13px}.booking-layout>aside.form-card textarea{min-height:88px;resize:vertical}.booking-layout>aside.form-card input:focus,.booking-layout>aside.form-card textarea:focus,.booking-layout>aside.form-card select:focus{border-color:#438f7b;box-shadow:0 0 0 3px #438f7b17}.booking-layout>aside form>.btn{min-height:49px;border-radius:11px;margin-top:22px;font-size:13px;box-shadow:0 7px 17px #176b5b24}.booking-layout>aside .privacy{margin-top:12px}.booking-layout>aside .signed-user{border-color:#d3e1dc;border-radius:11px;background:#fff;padding:11px 12px}.booking-layout>aside .form-error{border-radius:10px}@media(max-width:900px){.booking-layout{grid-template-columns:1fr;max-width:720px;margin-inline:auto}.booking-layout>aside.public-card{border-left:0;border-top:1px solid #dfe8e5}.booking-layout>.public-card{padding:28px 30px}}@media(max-width:600px){.public main{padding:24px 12px}.public-intro{margin-bottom:21px}.public-intro h1{font-size:25px}.booking-layout{border-radius:17px}.booking-layout>.public-card{padding:22px 18px}.booking-layout .step-title{margin-bottom:20px;padding-bottom:17px}.booking-layout .step-title>span{width:31px;height:31px;flex-basis:31px}.booking-layout .public-calendar-grid{gap:4px}.booking-layout .public-calendar-grid>span,.booking-layout .public-calendar-grid>button{min-height:43px;border-radius:8px}.booking-layout .public-time-grid{grid-template-columns:1fr}.booking-layout .public-time-grid>button{min-height:54px}.booking-layout>aside.public-card{padding-top:24px}}.skip-link{position:fixed;z-index:9999;top:8px;left:8px;transform:translateY(-150%);padding:10px 14px;border-radius:8px;background:#fff;color:#123f35;box-shadow:0 4px 16px #0003;font-weight:700}.skip-link:focus{transform:none}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #e2a92f!important;outline-offset:2px!important}.otp-notice{margin-top:10px;padding:11px 12px;border:1px solid #c8dfd8;border-radius:9px;background:#edf7f4;color:#285f51;font-size:11px;line-height:1.6}.otp-field input{letter-spacing:.18em;font-variant-numeric:tabular-nums}.calendar-actions{display:flex;justify-content:center;gap:8px;margin:14px auto 4px}.calendar-actions .btn{font-size:11px}.calendar-actions svg{width:15px}.table-pagination{display:flex;align-items:center;justify-content:center;gap:15px;padding:17px;border-top:1px solid var(--line)}.table-pagination button{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 11px;color:var(--green);font-size:11px;font-weight:700;cursor:pointer}.table-pagination button:disabled{opacity:.4;cursor:not-allowed}.table-pagination svg{width:13px}.table-pagination>span{text-align:center;font-size:11px;font-weight:700}.table-pagination small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.operations-page{max-width:1120px}.ops-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px}.ops-summary article{display:flex;gap:13px;min-height:132px;padding:20px;border:1px solid var(--line);border-radius:13px;background:#fff}.ops-summary article>span{width:37px;height:37px;flex:0 0 37px;border-radius:10px;display:grid;place-items:center;background:#e8f4f0;color:var(--green)}.ops-summary article>span.warning{background:#fff0d9;color:#a56614}.ops-summary svg{width:18px}.ops-summary small,.ops-summary b,.ops-summary p{display:block}.ops-summary small{font-size:10px;color:var(--muted)}.ops-summary b{margin-top:5px;font-size:20px}.ops-summary p{margin:5px 0 0;font-size:10px;line-height:1.55}.quota-panel{padding:0;overflow:hidden;margin-bottom:18px}.quota-panel>header{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line)}.quota-panel>header>div{display:flex;align-items:center;gap:11px}.quota-panel>header svg{width:20px;color:var(--green)}.quota-panel h2{font-size:15px;margin:0}.quota-panel p{font-size:10px;margin:3px 0 0}.quota-panel>header>small{font-size:9px;color:var(--muted)}.quota-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:21px}.quota-meter{border:1px solid #dfe8e5;border-radius:11px;padding:15px}.quota-meter>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.quota-meter span{font-size:10px;color:var(--muted)}.quota-meter b{font-size:13px}.quota-track{height:7px;margin:13px 0 8px;border-radius:99px;background:#edf2f0;overflow:hidden}.quota-track i{display:block;height:100%;border-radius:inherit;background:#2a8c75}.quota-meter.warning .quota-track i{background:#d38a24}.quota-meter.danger .quota-track i{background:#bc4b42}.quota-meter footer{display:flex;justify-content:space-between;gap:8px}.quota-meter footer span{font-size:9px}.ops-alert{display:flex;gap:10px;margin-bottom:14px;padding:13px 15px;border-radius:10px;font-size:11px}.ops-alert.warning{border:1px solid #edd4a4;background:#fff8e9;color:#73521e}.ops-alert.error{border:1px solid #e8beb9;background:#fff3f2;color:#843a34}.ops-alert svg{width:17px;flex:0 0 auto}.ops-alert b{display:block}.ops-alert p{margin:3px 0 0}.ops-checklist{padding:18px 21px}.ops-checklist h2{font-size:14px;margin:0 0 12px}.ops-checklist>div{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}.ops-checklist>div span{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700}.ops-checklist svg{width:15px;color:var(--green)}.ops-checklist>div:nth-of-type(n+3) svg{color:#bb7921}.ops-checklist small{font-size:10px;color:var(--muted)}.operations-denied{text-align:center;padding:50px}.operations-denied>svg{width:40px;color:var(--green)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.static-page main{max-width:840px;padding:42px 18px 70px}.static-page .public-header nav,.public-footer nav{display:flex;gap:16px}.static-page .public-header nav a,.public-footer nav a{font-size:10px;color:inherit;text-decoration:none}.legal-card,.support-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:38px 42px;box-shadow:0 15px 45px #17352e0b}.legal-icon{width:45px;height:45px;border-radius:12px;background:#e5f3ee;color:var(--green);display:grid;place-items:center}.legal-icon svg{width:22px}.legal-card h1,.support-card h1{font-size:27px;margin:17px 0 3px}.legal-updated{font-size:10px;color:var(--muted);margin-bottom:30px}.legal-card h2{font-size:14px;margin:26px 0 7px}.legal-card p,.support-card>p{font-size:12px;line-height:1.9}.legal-warning{margin-top:30px;padding:14px;border-radius:9px;background:#fff8e9;color:#76551e;font-size:10px;line-height:1.7}.support-card form{margin-top:25px}.support-card label{display:block;margin-top:16px;font-size:11px;font-weight:700}.support-card input,.support-card select,.support-card textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:9px;padding:11px 12px;font:inherit;font-size:13px}.support-card form>.btn{margin-top:20px}.support-card aside,.support-success{display:flex;gap:10px;margin-top:25px;padding:15px;border-radius:10px;background:#f0f6f4}.support-card aside b,.support-success b{font-size:11px}.support-card aside p,.support-success p{font-size:10px;line-height:1.7;margin:3px 0 0}.support-success svg{width:20px;color:var(--green)}@media(max-width:800px){.ops-summary,.quota-grid{grid-template-columns:1fr}.ops-summary article{min-height:auto}.calendar-actions{flex-direction:column}.legal-card,.support-card{padding:26px 21px}.static-page .public-header nav{display:none}.public-footer{gap:10px;flex-wrap:wrap}.public-footer nav{width:100%;justify-content:center}.ops-checklist>div{align-items:flex-start;gap:10px}.ops-checklist small{text-align:right}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.ops-migration{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:19px 21px}.ops-migration h2{font-size:14px;margin:0 0 4px}.ops-migration p{font-size:10px;margin:0;line-height:1.6}.ops-migration>small{font-size:10px;color:var(--green)}.migration-confirm{display:flex;align-items:center;gap:7px}.migration-confirm span{font-size:10px}.migration-confirm .btn{font-size:10px;padding:8px 10px}@media(max-width:800px){.ops-migration,.migration-confirm{align-items:stretch;flex-direction:column}}.settings-grid .switch-row{margin-top:18px}.settings-grid .switch-row>.toggle{margin:0 0 0 14px;flex:0 0 auto;cursor:pointer}.settings-grid .switch-row>.toggle i{width:40px;height:22px}.settings-grid .switch-row>.toggle i:after{width:18px;height:18px}.settings-grid .switch-row>.toggle input:checked+i:after{left:20px}.page-status-select{min-width:104px;border:1px solid transparent;border-radius:999px;padding:6px 27px 6px 11px;font-size:11px;font-weight:700;cursor:pointer;outline:none}.page-status-select.published{background:#e3f4ed;color:#18755f;border-color:#cde8de}.page-status-select.draft,.page-status-select.archived{background:#eff2f1;color:#65736f;border-color:#e1e7e5}.page-status-select.closed{background:#fff0de;color:#9a5b1d;border-color:#f3dfc5}.page-status-select:focus{box-shadow:0 0 0 3px #479b8520}.booking-edit-button{display:inline-flex;align-items:center;gap:5px;border:1px solid #d4e0dc;border-radius:8px;background:#fff;color:var(--green);padding:7px 10px;font-size:10px;font-weight:700;cursor:pointer}.booking-edit-button:hover{border-color:#79aa9d;background:#f3f9f7}.booking-edit-button svg{width:13px;height:13px}.booking-change-modal{width:min(590px,100%);max-height:92vh;overflow:auto;box-shadow:0 24px 70px #17352e42}.booking-change-modal>header{display:flex;align-items:center;justify-content:space-between;padding:21px 23px;border-bottom:1px solid var(--line)}.booking-change-modal>header small{display:block;font-size:9px;color:var(--green);font-weight:700;letter-spacing:.06em}.booking-change-modal>header h2{margin:3px 0 0;font-size:18px}.booking-change-modal>header button{border:0;background:none;color:var(--muted);cursor:pointer}.booking-current-slot{display:flex;align-items:center;gap:11px;margin:20px 23px 0;padding:13px 14px;border-radius:10px;background:#edf6f3;color:var(--green)}.booking-current-slot>svg{width:19px;flex:0 0 auto}.booking-current-slot small,.booking-current-slot b{display:block}.booking-current-slot small{font-size:9px;margin-bottom:3px}.booking-current-slot b{font-size:12px}.booking-change-tabs{display:grid;grid-template-columns:1fr 1fr;margin:18px 23px 0;padding:4px;border-radius:10px;background:#eef2f1}.booking-change-tabs button{border:0;border-radius:7px;background:transparent;padding:9px;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer}.booking-change-tabs button.active{background:#fff;color:var(--green);box-shadow:0 2px 7px #17352e12}.booking-change-modal form{padding:3px 23px 22px}.booking-change-modal form label{display:block;margin-top:16px;font-size:11px;font-weight:700}.booking-change-modal form input,.booking-change-modal form select{display:block;width:100%;min-height:43px;margin-top:6px;border:1px solid #d4dfdb;border-radius:9px;background:#fff;padding:9px 11px;font-size:12px;font-weight:600}.booking-change-empty{margin:17px 0 0;padding:13px;border-radius:9px;background:#f6f8f7;font-size:11px;line-height:1.7}.booking-new-slot-fields .field-row{gap:10px}.booking-change-actions{display:flex;justify-content:space-between;gap:9px;margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}.booking-change-actions .btn{font-size:11px}.booking-change-actions .btn:last-child{margin-left:auto}@media(max-width:600px){.booking-change-modal>header{padding:18px}.booking-current-slot,.booking-change-tabs{margin-left:18px;margin-right:18px}.booking-change-modal form{padding-left:18px;padding-right:18px}.booking-change-actions{flex-direction:column-reverse}.booking-change-actions .btn{width:100%;margin:0!important}}.overview-main{display:flex;flex-direction:column;gap:20px;min-width:0}.settings-lead{font-size:11px;line-height:1.75;margin:-3px 0 5px}.booking-window-card .field-row label{margin-top:12px}.booking-window-card .cancellation-switch{padding-top:17px;margin-top:18px;border-top:1px solid var(--line)}.deadline-field{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px}.deadline-field input{margin-top:7px!important}.deadline-field span{padding-top:7px;color:var(--muted);font-size:11px;font-weight:500}.manage-change-card{text-align:left;margin:18px 0}.manage-change-card>div:first-child h2{margin:0 0 4px;font-size:16px}.manage-change-card>div:first-child p{font-size:11px;margin:0 0 15px}.manage-slot-options{display:flex;flex-direction:column;gap:7px;max-height:290px;overflow:auto}.manage-slot-options>button{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 12px;text-align:left;cursor:pointer}.manage-slot-options>button:hover,.manage-slot-options>button.selected{border-color:var(--green);background:#f0f8f5}.manage-slot-options>button>svg{width:17px;color:var(--green);flex:0 0 auto}.manage-slot-options>button>svg:last-child{margin-left:auto}.manage-slot-options span{display:flex;flex-direction:column}.manage-slot-options b{font-size:12px}.manage-slot-options small{font-size:10px;color:var(--muted);margin-top:3px}.manage-change-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.manage-no-slots,.manage-deadline-note{padding:12px;border-radius:9px;background:#f2f5f4;font-size:11px!important}.manage-deadline-note{max-width:520px;margin:15px auto;color:#6f7e79}@media(max-width:600px){.booking-window-card .field-row{grid-template-columns:1fr}.deadline-field{grid-template-columns:90px 1fr}.manage-change-actions{flex-direction:column-reverse}.manage-change-actions .btn{width:100%}}.time-input{position:relative;width:100%;min-width:0}.time-input>input{padding-right:34px!important}.time-picker-trigger{position:absolute;right:7px;top:50%;transform:translateY(-43%);width:27px;height:27px;border:0;background:transparent;color:#657a74;display:grid;place-items:center;cursor:pointer}.time-picker-trigger svg{width:15px;height:15px}.time-picker-popover{position:absolute;z-index:180;top:calc(100% + 6px);left:0;width:164px;display:grid;grid-template-columns:1fr 1fr;padding:7px;border:1px solid #cad8d3;border-radius:10px;background:#fff;box-shadow:0 15px 35px #17352e24}.time-picker-popover>div+div{border-left:1px solid #e3e9e7}.time-picker-popover>div>small{display:block;text-align:center;padding:3px 0 6px;color:var(--muted);font-size:9px;font-weight:700}.time-picker-popover>div>div{max-height:210px;overflow:auto;padding:0 4px}.time-picker-popover button{display:block;width:100%;height:31px;border:0;border-radius:6px;background:#fff;font-family:DM Sans;font-size:12px;cursor:pointer}.time-picker-popover button:hover{background:#edf5f2}.time-picker-popover button.selected{background:var(--green);color:#fff;font-weight:700}.field-row>label:last-child .time-picker-popover{left:auto;right:0}.base-time-row .time-picker-popover{width:150px}.batch-builder{overflow:visible}.archive-filter{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#596b66;cursor:pointer;white-space:nowrap}.archive-filter input{width:16px;height:16px;accent-color:var(--green)}.archive-filter small{min-width:22px;border-radius:999px;background:#e9efed;color:#63746f;padding:3px 7px;text-align:center;font-size:9px}.archive-filter:has(input:checked){color:var(--green)}@media(max-width:600px){.toolbar{align-items:stretch;flex-direction:column}.archive-filter{justify-content:flex-end}}.quota-footnote{margin:0;padding:0 21px 18px;font-size:9px;line-height:1.65}.quota-grid{grid-template-columns:repeat(2,1fr)}@media(max-width:800px){.quota-grid{grid-template-columns:1fr}}.quota-meter.info{display:flex;min-height:112px;flex-direction:column;justify-content:space-between;background:#fafcfb}.quota-meter-note{margin:12px 0 0!important;padding-top:10px;border-top:1px solid #e8eeec;font-size:9px!important;line-height:1.6;color:#71807c}.ops-alert details{margin-top:7px}.ops-alert summary{cursor:pointer;font-weight:700}.ops-alert ul{margin:7px 0 0;padding-left:18px}.ops-alert a{display:inline-block;margin-top:7px;color:inherit;text-decoration:underline;font-weight:700}.quota-global-note{display:flex;align-items:flex-start;gap:8px;margin:3px 0 18px;padding:12px 14px;border:1px solid #e8d9b8;border-radius:10px;background:#fffbf1;color:#705a2c;font-size:9px;line-height:1.7}.quota-global-note svg{width:15px;flex:0 0 auto}.ops-summary article>span.healthy{background:#e8f4f0;color:var(--green)}
