@charset "UTF-8";
:root{--yellow:#fcb900;--yellow-light:#fff7dc;--ink:#293c38;--green:#335b4c;--muted:#7d8783;--border:#e5e9e4;--bg:#f5f7f4;--white:#fff;--radius:14px;font-family:"Yu Gothic UI","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);font-size:14px;line-height:1.7}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a:hover{color:var(--green)}h1,h2,h3,p{margin:0}h1{font-size:29px;line-height:1.5;letter-spacing:.025em;font-weight:750}h2{font-size:20px;font-weight:700;margin-bottom:16px}h3{font-size:16px}p{margin:10px 0}small{font-size:12px}hr{border:0;border-top:1px solid var(--border);margin:24px 0}svg{flex-shrink:0;vertical-align:middle}.icon{width:20px;height:20px}code{font-family:Consolas,monospace;background:#f0f2ec;padding:2px 6px;border-radius:4px;word-break:break-word}.muted{color:#737e78}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:750;color:#718379;display:block;margin-bottom:10px}.skip{position:fixed;left:10px;top:-100px;background:#fff;padding:15px;z-index:100}.skip:focus{top:10px}:focus-visible{outline:3px solid #bc8100;outline-offset:3px}.button{border:1px solid transparent;border-radius:8px;display:inline-flex;gap:9px;align-items:center;justify-content:center;padding:11px 18px;font-weight:700;font-size:13px;line-height:1.5;white-space:nowrap;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.primary{background:var(--yellow);color:#3a361d;border-color:var(--yellow)}.primary:hover{background:#edac00;color:#302d1d}.subtle{background:#fff;border-color:#dce2dc}.dark{background:var(--green);color:white}.danger{background:#fff;border-color:#edceca;color:#ad534b}.danger-text{color:#a3463d!important}.wide{width:100%}.small-button{padding:7px 12px;font-size:12px}.button-icon{display:inline-flex;justify-content:center;align-items:center;width:33px;height:33px;border:1px solid var(--border);background:white;border-radius:7px;font-size:23px}.text-button{border:0;background:none;font-size:12px;color:var(--muted);padding:4px;cursor:pointer}.back-link{display:inline-flex;color:#66796d;font-size:12px;margin:12px 0 24px}.panel{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:27px;margin-bottom:24px;box-shadow:0 3px 4px #243b2902}.stack{display:flex;flex-direction:column;gap:20px}.stack>h2,.stack>h3,.stack>p{margin:0}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.two-columns>*{min-width:0}.section-heading,.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.page-heading{margin:6px 0 28px}.page-heading p{font-size:12px;color:var(--muted);margin:7px 0 0}.section-heading{margin-bottom:22px}.section-heading h2,.section-heading h3{margin:0}.category{display:inline-block;font-size:10px;color:#51755d;background:#edf3e9;padding:4px 10px;border-radius:4px;font-weight:600}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.narrow{max-width:720px;margin:30px auto 65px}.narrow.left{margin-left:0}.inline-form{display:flex;align-items:end;gap:10px}.inline-form label{flex:1}.padded{padding:22px 26px}.padded h2{margin:0}
label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;color:#4a5c50}label input,label select,label textarea{font-weight:400}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:42px;background:#fff;border:1px solid #dbe2da;border-radius:7px;padding:10px 12px;color:var(--ink);max-width:100%}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#a9b0a9;font-size:12px}input[type=checkbox],input[type=radio]{accent-color:var(--green);width:17px;height:17px;flex-shrink:0}input[type=date],input[type=time]{min-width:0}.field-hint{font-size:11px;color:#89928b;font-weight:400}.check-label{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}.check-label small{display:block;color:#8b938b;margin-top:4px}.check-label input{margin-top:2px}.consent{background:#f7f8f4;padding:15px;border-radius:7px}.required{color:#ad7028;font-size:10px;display:contents}.optional{color:#9ba299;font-size:10px;display:contents}fieldset{border:0;padding:0;margin:0}legend{font-size:12px;font-weight:650;margin-bottom:12px}.weekday-checks{display:flex;flex-wrap:wrap;gap:20px}.weekday-checks label{flex-direction:row;align-items:center}.alert{padding:17px 20px;border:1px solid #f0dfaa;background:#fff9e7;border-radius:9px;margin:0 0 24px;font-size:13px}.alert.success{display:flex;align-items:center;gap:10px;background:#edf6ed;color:#376348;border-color:#cfe3d1}.alert.error{background:#fff2ef;color:#a84c3c;border-color:#efcfc7}.alert ul{margin:8px 0 0;padding-left:20px}
.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:23px;line-height:1.4;letter-spacing:.06em}.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:.09em;margin-bottom:3px}.brand em{font-style:normal;font-size:10px;font-weight:400;color:#7c8d80;display:block;margin-top:8px;letter-spacing:.09em}.brand-mark{display:grid;grid-template-columns:16px 16px;gap:3px;transform:rotate(-12deg)}.brand-mark i{width:16px;height:16px;background:var(--yellow);border-radius:9px 9px 3px 9px}.brand-mark i:nth-child(2){transform:rotate(90deg)}.brand-mark i:nth-child(3){transform:rotate(-90deg);background:#9cad72}.brand-mark i:nth-child(4){transform:rotate(180deg)}.avatar{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;background:#eef1e8;color:#748369;font-size:12px;font-weight:600;border-radius:10px;flex-shrink:0}.avatar.small{width:30px;height:30px;border-radius:50%}.pastel-0{background:#eff0df;color:#9e9967}.pastel-1{background:#e9eff0;color:#718b90}.pastel-2{background:#f5e9e4;color:#b48776}.demo-tag{font-size:10px;background:var(--yellow-light);color:#9c7a23;padding:4px 9px;border-radius:5px;white-space:nowrap}
.admin-body{background:var(--bg)}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:white;border-right:1px solid var(--border);z-index:30;display:flex;flex-direction:column;padding:30px 18px 16px;overflow:auto}.sidebar .brand{margin:0 13px 31px;font-size:21px}.workspace-label{font-size:8px;letter-spacing:.15em;color:#9ca699;margin:0 12px 9px}.workspace-name{display:flex;align-items:center;gap:10px;margin:0 5px 24px;padding:12px 9px;background:#f6f8f3;border:1px solid #ebeee8;border-radius:8px;font-size:11px;font-weight:650}.workspace-name small{display:block;font-size:9px;font-weight:400;color:#899688;margin-top:3px}.nav-label{display:block;color:#99a095;font-size:10px;padding:16px 14px 8px}.sidebar nav>a{display:flex;align-items:center;gap:11px;padding:12px 12px;color:#697969;font-size:11px;font-weight:550;border-radius:7px;margin:2px 0}.sidebar nav>a:hover{background:#f7f8f3}.sidebar nav>a.active{color:#595124;background:#fff5d9;position:relative;font-weight:750}.sidebar nav>a.active:before{content:"";position:absolute;left:-18px;top:9px;bottom:9px;width:4px;background:var(--yellow);border-radius:0 5px 5px 0}.sidebar nav .icon{width:17px;height:17px;opacity:.85}.sidebar-bottom{margin-top:auto;padding:27px 12px 0}.sidebar-bottom>a{display:flex;gap:8px;align-items:center;font-size:10px;color:#778a75}.sidebar-bottom p{font-size:8px;letter-spacing:.13em;color:#a1a89e;border-top:1px solid var(--border);padding-top:18px;margin:23px 0 0}.sidebar-bottom p span{font-size:9px;letter-spacing:.05em}.admin-shell{margin-left:245px}.admin-topbar{height:76px;border-bottom:1px solid var(--border);background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 38px;font-size:10px;gap:15px}.admin-topbar>div{display:flex;align-items:center;gap:12px}.topbar-divider{color:#c4ccc2}.topbar-user{font-size:10px;gap:10px!important}.menu-toggle{display:none}.admin-main{max-width:1530px;margin:auto;padding:34px 38px 16px}.admin-footer{display:flex;justify-content:space-between;margin-top:45px;padding:20px 0 5px;color:#9ba496;font-size:9px;letter-spacing:.04em}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px 21px}.stat-card>div{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#71806f}.stat-icon{background:#f0f5ed;padding:8px;border-radius:8px;color:#809570}.stat-icon.amber{background:#fff6de;color:#b2974a}.stat-icon .icon{width:18px;height:18px}.stat-card>strong{display:block;font-size:34px;font-weight:650;line-height:1.5;letter-spacing:.025em;margin-top:5px}.stat-card strong small{font-size:11px;margin-left:8px;color:#8c9987;font-weight:400}.stat-card p{font-size:10px;color:#a0aa99;margin:3px 0 0}.notice-strip{display:flex;gap:12px;align-items:center;padding:16px 19px;border:1px solid #eddfb7;background:#fffbef;border-radius:9px;margin:0 0 25px;font-size:11px}.notice-icon{background:#fcf0ce;padding:7px;border-radius:50%;color:#b0974f}.notice-strip strong{font-size:11px;display:block;color:#897238}.notice-strip div>span{display:block;font-size:10px;color:#a09980;margin-top:2px}.notice-strip>a{margin-left:auto;color:#9c813b;font-size:10px;white-space:nowrap}.notice-strip.compact{font-size:12px;line-height:1.9}.table-panel{padding:0;overflow:hidden}.panel-toolbar{padding:18px 23px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.panel-toolbar>.button{margin-bottom:14px}.view-tabs{display:flex;gap:22px}.view-tabs a{padding:0 4px 18px;color:#909b88;font-size:12px;border-bottom:3px solid transparent}.view-tabs a.selected{border-color:var(--yellow);color:#43533e;font-weight:750}.filter-bar{display:flex;align-items:end;gap:10px;padding:21px 23px;background:#fff}.filter-bar label{font-size:10px;flex:1;min-width:100px;gap:6px}.filter-bar label:first-child{flex:1.2}.filter-bar input,.filter-bar select{font-size:11px;min-height:35px;padding:8px}.filter-bar .button{min-height:35px;font-size:10px;padding:9px 14px}.filter-bar .text-button{align-self:center;margin-top:20px;font-size:10px}.table-caption{display:flex;justify-content:space-between;padding:15px 24px 18px;align-items:center;font-size:12px}.table-caption small{font-size:9px;color:#9fa898}.count{background:#f0f3ed;font-size:10px;border-radius:4px;padding:3px 7px;margin-left:5px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}th{background:#f7f9f5;color:#8a9882;font-weight:500;font-size:10px;padding:13px 22px;border-block:1px solid #ebeee7}td{padding:19px 22px;border-bottom:1px solid #eff1eb;font-size:11px;color:#66745e}td strong{font-size:11px;font-weight:550;color:#485842}td>strong:first-child{font-size:12px}td small{display:block;color:#a2ab9a;font-size:9px;margin-top:4px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fffef9}.person-cell{display:flex;align-items:center;gap:11px}.person-cell strong{font-size:12px}.source{display:flex;align-items:center;gap:5px;font-size:10px;color:#8f9b86}.source .icon{width:13px;height:13px}.status{display:inline-flex;align-items:center;gap:5px;font-size:10px;border-radius:5px;padding:5px 9px;font-weight:500;white-space:nowrap}.status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status.confirmed{background:#edf5e9;color:#749663}.status.waitlisted{background:#fff5dd;color:#b9984d}.status.cancelled{background:#f0f0ec;color:#979f91}.row-link{display:flex;align-items:center;gap:10px;font-size:10px;color:#92a082}.row-link span{font-size:19px;font-weight:400}.pagination{padding:17px 24px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);color:#9aa591;font-size:10px}.pagination small{font-size:10px}.pagination>div{display:flex;gap:16px;align-items:center}.empty-state{text-align:center;padding:50px;color:#8e9d84}.empty-state>.icon{width:40px;height:40px;margin-bottom:15px}.empty-state h3{font-size:16px;color:#61735a}.empty-state p{font-size:12px}.admin-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:auto}.weekday{text-align:center;font-size:11px;color:#8b9688;padding:10px 0;background:#f8f9f5}.weekday:first-child{color:#bf8e80}.calendar-cell{min-height:125px;padding:10px;border-top:1px solid var(--border);border-right:1px solid var(--border)}.calendar-cell.today{background:#fffcf0}.day-number{font-size:12px;padding:3px}.calendar-cell.today .day-number{background:var(--yellow);border-radius:50%;padding:3px 7px}.calendar-cell.blank{background:#fafbf8}.calendar-event{display:block;border-radius:4px;background:#eef5e9;color:#769262;padding:5px;font-size:10px;margin:6px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event small{display:block;font-size:8px;color:#8ea27f}.calendar-event.waitlisted{background:#fff3d5;color:#ad954d}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px}.calendar-toolbar>div{display:flex;gap:7px}.calendar-toolbar h2{margin:0}.calendar-toolbar.padded{margin:0}
.detail-list{display:grid;grid-template-columns:160px minmax(0,1fr);margin:0;font-size:13px}.detail-list dt,.detail-list dd{padding:17px 0;margin:0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.detail-list dt{color:#87937f;font-size:12px}.detail-list dt:last-of-type,.detail-list dd:last-child{border-bottom:0}.facility-switch{max-width:340px;margin-bottom:24px}.anchor-tabs{display:flex;gap:26px;margin-bottom:26px;flex-wrap:wrap;font-size:12px;border-bottom:1px solid var(--border);padding-bottom:13px}.anchor-tabs a:hover{color:#aa8217}section[id]{scroll-margin-top:25px}.form-type{margin:26px 0 35px}.editor-details{border:1px solid var(--border);border-radius:8px;margin:12px 0;background:white}.editor-details summary{cursor:pointer;padding:14px 17px;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:550;gap:20px}.editor-details summary small{color:#94a089;font-size:10px;font-weight:400}.editor-details[open] summary{border-bottom:1px solid var(--border);background:#fafbf6}.editor-body{padding:22px}.add-details{border-style:dashed;color:#829a70;background:#fcfdf9}.delete-form{margin-top:20px;text-align:right}.message-body{background:#f7f9f4;padding:22px;border-radius:8px;margin:20px 0}.inline-form input{width:180px}
.public-body{background:#fafbf7}.public-header{height:92px;max-width:1280px;padding:0 42px;margin:auto;display:flex;align-items:center;justify-content:space-between;background:#fafbf7}.public-header nav{display:flex;align-items:center;gap:26px;font-size:12px}.public-header .brand{font-size:24px}.demo-banner{background:#f3f0e3;color:#978968;text-align:center;padding:7px 18px;font-size:10px;letter-spacing:.03em}.public-main{max-width:1200px;margin:auto;padding:34px 40px 65px}.public-footer{border-top:1px solid #e6e9df;text-align:center;padding:35px;background:#f4f6ed;color:#88977d}.footer-brand{font-size:20px;letter-spacing:.1em;font-weight:700;color:#52694a}.public-footer p{font-size:11px;margin:9px 0 18px}.public-footer small{font-size:9px}.login-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center;padding:35px 15px 30px}.login-story h1{font-size:39px;line-height:1.65;letter-spacing:.08em;margin:20px 0}.login-story>p{color:#839079;line-height:2.3;font-size:13px}.login-story .eyebrow{color:#b09b5a;font-size:10px}.login-panel{background:#fff;border:1px solid #e7ebdf;border-radius:18px;padding:35px 36px;box-shadow:0 15px 40px #667d5010}.login-panel h2{font-size:24px;margin:5px 0 8px}.login-panel>.muted{font-size:11px;margin:0 0 28px}.login-panel .button.primary{padding:14px}.login-panel .back-link{display:block;text-align:center;margin-bottom:0}.demo-accounts{background:#fafbf5;border:1px solid #e8eddf;border-radius:9px;padding:16px;margin-top:24px}.demo-accounts strong{font-size:11px}.demo-accounts>p{font-size:10px;color:#99a08c;margin:10px 0}.section-line .demo-tag{font-size:8px;margin-right:5px}.account-choice{display:flex;align-items:center;gap:12px;text-align:left;width:100%;background:#fff;border:1px solid #e1e8d7;border-radius:7px;padding:10px;margin-top:8px;color:#667957}.account-choice:hover{border-color:#d8bc5c;background:#fffdf2}.account-choice>span:nth-child(2){flex:1}.account-choice small{display:block;font-size:10px;color:#99a68a}.account-icon{padding:7px;background:#f1f5e9;border-radius:6px}.account-icon .icon{width:17px;height:17px}.demo-accounts .password-hint{margin-bottom:0;font-size:10px}.story-note{font-size:10px;letter-spacing:.12em;color:#94a07d}.village-art{height:236px;position:relative;margin:24px 0 20px;overflow:hidden;background:radial-gradient(ellipse at center,#f1f3df 0,transparent 70%);isolation:isolate}.sun{position:absolute;width:54px;height:54px;border-radius:50%;background:#f8c944;left:66%;top:15px}.ground{position:absolute;bottom:37px;height:4px;width:90%;left:3%;background:#c8d3b3;border-radius:50%;z-index:5}.house{position:absolute;bottom:40px;border-radius:7px 7px 0 0;background:#e9ce8f;box-shadow:inset -12px 0 #00000005}.house:before{content:"";position:absolute;top:-37px;left:-10px;border-left:60px solid transparent;border-right:60px solid transparent;border-bottom:45px solid #8a9f72}.house i{position:absolute;bottom:0;left:40%;width:23px;height:38px;background:#c9b17f;border-radius:10px 10px 0 0}.house b{position:absolute;top:20px;left:15px;width:20px;height:23px;background:#fff8dc;border:3px solid #c5b688}.h1{width:100px;height:84px;left:13%}.h2{width:128px;height:103px;left:36%;background:#f5dfab}.h2:before{border-left-width:74px;border-right-width:74px;border-bottom-color:#b3c397}.h2 i{height:40px;background:#879d74}.h3{width:78px;height:71px;left:67%;background:#e3e6ca}.h3:before{border-left-width:49px;border-right-width:49px;border-bottom-width:35px;top:-30px;border-bottom-color:#e2b350}.tree{position:absolute;bottom:40px;width:5px;height:52px;background:#a2ad89;z-index:3}.tree:before{content:"";position:absolute;border-radius:45%;width:37px;height:55px;background:#b5c6a0;left:-16px;top:-25px}.t1{left:4%;height:63px}.t2{right:6%}.t2:before{background:#c8cd96}.art-caption{position:absolute;bottom:3px;font-size:10px;left:24%;color:#9ba988;letter-spacing:.12em}
.home-hero{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:35px 15px 55px;border-bottom:1px solid var(--border);margin-bottom:45px}.home-hero h1{font-size:40px;letter-spacing:.05em;line-height:1.6}.home-hero p{font-size:12px;color:#8d987f;line-height:2.2;margin-top:18px}.hero-pills{display:flex;gap:20px;margin-top:24px;font-size:10px;color:#869373}.hero-pills span{display:flex;align-items:center;gap:6px}.hero-pills .icon{width:16px;height:16px;color:#b0a254}.hero-stamp{width:270px;height:270px;border-radius:50%;background:#f3f0d9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;flex-shrink:0;border:12px solid #f7f6e8;transform:rotate(6deg)}.hero-stamp>span:first-child{text-align:center;font-size:17px;letter-spacing:.12em;color:#8e9670;font-weight:600;line-height:1.8}.stamp-flower{color:var(--yellow);font-size:74px;line-height:1.1}.hero-stamp small{font-size:7px;letter-spacing:.15em;color:#a7ab90}.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.facility-card{border:1px solid var(--border);border-radius:13px;background:#fff;overflow:hidden;transition:transform .2s,box-shadow .2s}.facility-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #74825416}.facility-visual{height:144px;background:#f1edd8;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.facility-visual>.icon{width:70px;height:70px;color:#aeb986;stroke-width:.8;z-index:1}.visual-1{background:#e7eee1}.visual-2{background:#f1e9df}.visual-2>.icon{color:#c1ad86}.facility-no{position:absolute;top:14px;left:20px;font-size:9px;letter-spacing:.1em;color:#a4ad8b}.visual-dot{width:135px;height:135px;position:absolute;right:-20px;bottom:-70px;border:20px solid #ffffff50;border-radius:50%}.facility-content{padding:23px}.facility-content h3{font-size:18px;margin:13px 0 8px}.facility-content p{font-size:11px;color:#919b86;min-height:40px;line-height:1.9}.facility-cta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:15px;margin-top:22px;font-size:11px;color:#74876a}.facility-cta .icon{color:#b39a48}.help-strip{display:flex;align-items:center;gap:18px;background:#f0f3e8;border-radius:12px;padding:28px;margin-top:38px}.help-strip>.icon{width:30px;height:30px;color:#a7b58e}.help-strip h3{font-size:14px}.help-strip p{font-size:11px;color:#919e81;margin:6px 0 0}.help-strip .button{margin-left:auto}.public-links{display:flex;justify-content:center;gap:35px;font-size:11px;color:#92a07f;margin-top:30px}.steps{display:flex;align-items:center;justify-content:center;gap:22px;margin:24px 0 34px}.steps span{font-size:11px;color:#a1ac94;display:flex;align-items:center;gap:8px;white-space:nowrap}.steps b{border:1px solid #dfe6d6;width:27px;height:27px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center;font-size:11px;font-weight:500}.steps .current{color:#8c7835;font-weight:600}.steps .current b{background:var(--yellow);border-color:var(--yellow);color:#665d32}.steps i{height:1px;background:#e2e7d9;width:50px}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:25px;align-items:start}.number-dot{background:#fff4d4;color:#b29b53;border-radius:6px;font-size:10px;padding:7px;margin-right:10px;vertical-align:middle}.booking-grid h2{font-size:18px}.type-choices{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.type-choices a{border:1px solid var(--border);border-radius:6px;padding:9px 17px;font-size:12px;color:#8f9c81}.type-choices a.selected{border-color:#dfc069;background:#fff8e1;color:#9a7d29}.type-choices+p{font-size:11px}.booking-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--border);border-radius:8px;overflow:hidden}.booking-calendar .weekday{background:#f5f7f0}.day{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;min-height:70px;border-top:1px solid var(--border);border-right:1px solid var(--border);font-weight:400;background:#fff}.day input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}.day:has(input:checked){background:#fff1c2;outline:2px solid var(--yellow);outline-offset:-2px}.day:has(input:focus-visible){outline:3px solid #9f7724;outline-offset:-3px}.day:hover:not(.disabled){background:#fff8df}.day b{font-size:14px;font-weight:550;color:#627c52}.day small{font-size:8px;color:#849f70}.day.disabled{background:#f9faf6;cursor:default}.day.disabled b,.day.disabled small{color:#c1c9b7}.day.disabled input{cursor:default}.empty-day{background:#fafbf7;border-top:1px solid var(--border)}.calendar-legend{display:flex;justify-content:space-between;margin-top:13px;font-size:9px;color:#8ca272}.sticky{position:sticky;top:22px}.booking-guide{padding:24px}.booking-guide>div{display:flex;gap:11px;margin-top:24px}.booking-guide>div>.icon{color:#a7b28c;width:17px;height:17px;margin-top:3px}.booking-guide p{font-size:11px;color:#9aa68b;margin:0;line-height:1.9}.booking-guide strong{display:block;color:#7a9068;font-size:11px;margin-bottom:6px;font-weight:600}.booking-guide>small{font-size:10px;color:#9ea98f}.phone{display:block;font-size:22px;font-weight:600;letter-spacing:.04em;color:#738b5e;margin:8px 0}.complete-heading{text-align:center;margin:20px 0 30px}.complete-icon{display:flex;align-items:center;justify-content:center;width:70px;height:70px;margin:0 auto 22px;background:#fff2c9;border-radius:50%;color:#b29235}.complete-icon .icon{width:30px;height:30px}.complete-heading p{font-size:12px;color:#8e9b82}.reference{display:inline-block;font-family:Consolas,monospace;background:#f0f3e9;padding:7px 17px;margin-top:13px;border-radius:5px;color:#94a080;font-size:14px;letter-spacing:.1em}
@media(min-width:1500px){.admin-main{padding-top:45px}.stat-card{padding:22px}.login-grid{gap:110px}}
@media(max-width:1200px){.sidebar{width:218px;padding-inline:12px}.sidebar .brand{font-size:19px;gap:9px;margin-left:8px}.sidebar nav>a{font-size:10px;padding:11px 9px}.sidebar nav>a.active:before{left:-12px}.admin-shell{margin-left:218px}.admin-main{padding:25px 23px}.admin-topbar{padding:0 23px}.filter-bar{flex-wrap:wrap}.filter-bar label{min-width:110px}.stat-card{padding:15px}.stats-grid{gap:12px}td,th{padding-inline:15px}.topbar-user>span:not(.demo-tag):not(.avatar){display:none}.login-grid{gap:45px;padding-inline:0}.login-story h1{font-size:33px}.login-panel{padding:29px}.booking-grid{grid-template-columns:minmax(0,1fr) 255px}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);width:245px;box-shadow:10px 0 35px #0002}.sidebar.open{transform:translateX(0)}.admin-shell{margin:0}.menu-toggle{display:inline-flex}.admin-topbar{height:65px}.admin-main{padding:25px 22px}.admin-topbar .muted,.topbar-divider{display:none}.stats-grid{grid-template-columns:repeat(4,1fr)}.stat-card>div{font-size:10px}.stat-icon{padding:4px}.public-main{padding:25px 25px 45px}.public-header{padding-inline:25px}.login-grid{gap:28px}.login-story h1{font-size:29px}.login-panel{padding:25px}.login-panel h2{font-size:21px}.home-hero h1{font-size:31px}.hero-stamp{width:215px;height:215px}.hero-stamp>span:first-child{font-size:14px}.facility-grid{gap:16px}.facility-content{padding:17px}.facility-content h3{font-size:16px}.booking-grid{grid-template-columns:1fr}.booking-grid>aside{order:2}.sticky{position:static}.booking-guide{display:none}.login-story>p{font-size:12px}}
@media(max-width:640px){h1{font-size:24px}h2{font-size:18px}.page-heading{align-items:flex-start;flex-direction:column;gap:16px}.page-heading .button{align-self:flex-end}.public-header{height:80px;padding-inline:18px}.public-header .brand{font-size:20px;gap:10px}.brand-mark{grid-template-columns:13px 13px;gap:2px}.brand-mark i{width:13px;height:13px}.public-header nav{gap:10px}.public-header nav>a:not(.button){display:none}.public-header .small-button{font-size:10px;padding:7px 9px}.public-header .small-button .icon{width:14px}.demo-banner{font-size:8px;padding:6px 12px}.public-main{padding:22px 18px 40px}.login-grid{display:flex;flex-direction:column;gap:25px;padding:8px 0}.login-story{width:100%;text-align:center}.login-story h1{font-size:27px;margin:10px 0}.login-story>p{font-size:11px}.login-story .village-art,.login-story .story-note{display:none}.login-panel{width:100%;padding:25px}.login-panel h2{font-size:22px}.login-panel>.muted{margin-bottom:24px}.home-hero{padding:15px 0 30px;display:block;margin-bottom:30px}.home-hero h1{font-size:29px}.home-hero p{font-size:11px}.hero-stamp{display:none}.hero-pills{font-size:9px;gap:12px}.section-heading{align-items:flex-start;gap:12px;flex-direction:column}.section-heading>span{font-size:10px}.facility-grid{grid-template-columns:1fr}.facility-card{display:grid;grid-template-columns:100px 1fr}.facility-visual{height:100%;min-height:180px}.facility-visual>.icon{width:55px}.facility-no{left:13px}.facility-content{padding:18px}.facility-content h3{font-size:17px;margin:7px 0}.facility-content p{min-height:0;font-size:10px}.facility-cta{margin-top:14px;padding-top:10px;font-size:10px}.help-strip{flex-wrap:wrap;padding:20px;gap:10px}.help-strip h3{font-size:12px}.help-strip p{font-size:10px}.help-strip .button{width:100%;margin-top:8px}.help-strip>.icon{width:24px}.public-links{flex-direction:column;gap:16px;align-items:center;font-size:10px}.steps{gap:10px;margin:20px 0 26px}.steps i{width:18px}.steps span{font-size:9px;gap:6px}.steps b{width:24px;height:24px}.panel{padding:20px;margin-bottom:20px}.booking-grid .panel{padding:19px 14px}.booking-calendar .day{min-height:61px}.day small{font-size:7px}.two-columns{grid-template-columns:1fr;gap:19px}.detail-list{grid-template-columns:100px minmax(0,1fr);font-size:12px}.detail-list dt{font-size:10px}.narrow{margin:15px auto 35px}.admin-topbar{padding:0 16px}.topbar-user .avatar{display:none}.topbar-user .text-button{font-size:9px}.admin-main{padding:23px 16px}.admin-main .eyebrow{font-size:8px}.admin-main h1{font-size:23px}.admin-main .page-heading p{font-size:10px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:15px}.stat-card>strong{font-size:29px}.stat-card p{font-size:9px}.notice-strip{padding:13px 12px;gap:10px}.notice-strip div>span{font-size:9px}.notice-strip>a{font-size:9px}.notice-icon{display:none}.table-panel{padding:0}.panel-toolbar{padding:14px 15px 0}.view-tabs{gap:18px}.view-tabs a{font-size:11px}.panel-toolbar .button{font-size:10px;gap:5px}.panel-toolbar .icon{width:14px}.filter-bar{padding:16px 14px;gap:10px}.filter-bar label{flex:1 1 42%;min-width:0}.filter-bar label:first-child{flex:1 1 100%}.filter-bar .button{flex:1}.filter-bar .text-button{margin:0;flex:1}.table-caption{padding-inline:16px}.table-caption small{font-size:8px}.table-scroll table{min-width:675px}td{padding-block:16px}.admin-footer{display:block;font-size:8px;text-align:center;margin-top:28px}.admin-footer span{display:block;margin-top:5px}.admin-calendar{grid-template-columns:repeat(7,minmax(65px,1fr))}.calendar-cell{padding:6px;min-height:95px}.calendar-event{font-size:8px;padding:4px 2px}.calendar-event small{font-size:6px}.anchor-tabs{gap:15px;font-size:10px}.editor-details summary{font-size:11px;padding:14px 12px}.editor-details summary small{font-size:9px}.editor-body{padding:17px 13px}.weekday-checks{gap:12px}.inline-form{flex-wrap:wrap}.public-footer{padding:27px 20px}}
/* Readable text for staff and families. */
.public-body label{font-size:14px}.public-body input:not([type=radio]):not([type=checkbox]),.public-body textarea,.public-body select{font-size:15px;min-height:46px}.public-body .muted,.public-body .field-hint,.public-body .booking-guide p,.public-body .login-story>p,.public-body .home-hero p,.public-body .facility-content p{color:#687760}.public-body .field-hint,.public-body .booking-guide p{font-size:12px}.day small{font-size:10px;color:#5c794c}.day.disabled small,.day.disabled b{color:#a7b09b}.stat-card p,.table-caption small,td small,.source,.row-link{color:#78876d}.stat-card p,td small,.source,.row-link{font-size:11px}.sidebar nav>a{font-size:12px}.filter-bar label{font-size:11px}.status{font-size:11px}.status.confirmed{color:#50743f}.status.waitlisted{color:#91732b}.status.cancelled{color:#70796a}.notice-strip div>span{color:#867b5d}.notice-strip strong{font-size:12px}.notice-strip div>span{font-size:11px}.public-body .day{font-size:12px}.public-body .day b{font-size:15px}.calendar-legend{font-size:11px}
@media(max-width:640px){.day small{font-size:9px}.calendar-legend{font-size:9px}.public-body .day b{font-size:14px}.sidebar nav>a{font-size:12px}}
.brand-name{white-space:nowrap}.brand-mark{flex-shrink:0}.sidebar .brand{font-size:16px;letter-spacing:0;gap:8px;margin-inline:0}.sidebar .brand-mark{grid-template-columns:13px 13px;gap:2px}.sidebar .brand-mark i{width:13px;height:13px}
@media(max-width:640px){.public-header .brand{font-size:18px;letter-spacing:0;gap:8px}.public-header{height:auto;min-height:80px;flex-wrap:wrap;gap:12px;padding-block:16px}}
