:root{color:#27342a;font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#eef1eb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:#fff;border:1px solid #dce2d6;border-radius:10px;min-height:44px;padding:10px 13px}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #759f74}h1,h2,h3,p{margin:0}h1{letter-spacing:1px;font-size:23px;font-weight:650}h1 small{letter-spacing:0;font-size:14px;font-weight:400}h2{font-size:21px;font-weight:600}h3{margin:20px 0 10px;font-size:16px;font-weight:600}p{margin:10px 0}input,select,textarea{background:#fff;border:1px solid #d8e0d2;border-radius:10px;width:100%;min-width:0;min-height:46px;padding:11px 10px;font-size:16px}input[type=date],input[type=time]{appearance:none;min-height:46px}textarea{resize:vertical}label{gap:7px;min-width:0;font-size:14px;display:grid}form{gap:16px;margin:19px 0;display:grid}form label span{color:#72806a}form button{width:100%}.app{background:#f7f8f3;max-width:560px;min-height:100dvh;margin:0 auto;padding-bottom:85px;box-shadow:0 0 30px #273b0f0a}header{background:#fff;border-bottom:1px solid #e7ebdf;justify-content:space-between;align-items:center;padding:22px 20px 16px;display:flex}.subtitle,.muted{color:#718067;font-size:12px}.subtitle{margin-top:5px}.icon{background:#f1f5ed;border:0;place-items:center;padding:10px;display:grid}.connection{color:#517145;background:#eef4e9;justify-content:space-between;align-items:center;padding:0 16px;font-size:12px;display:flex}.connection button{background:0 0;border:0;place-items:center;min-height:36px;display:grid}.connection.warning{color:#986416;background:#fff0da}.demo-banner{color:#48658a;text-align:center;background:#e8eef7;padding:8px;font-size:12px}main{padding:18px 16px 25px}.date-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.date-row>input{width:150px;max-width:48%}.day-shortcuts{gap:7px;margin-top:13px;display:flex}.day-shortcuts button{min-height:38px;padding:6px 18px;font-size:13px}.chosen{background:#e8f0e1}.switch{background:#e8ede3;border-radius:12px;gap:4px;margin:16px 0 12px;padding:4px;display:flex}.switch button{background:0 0;border:0;flex:1;min-width:0;padding:9px 4px;font-size:14px}.hint{color:#6d7c65;font-size:12px;line-height:1.8}.room-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.room{background:#eef6e7;border:1px solid #dbe7d1;border-radius:14px;min-width:0;overflow:hidden}.room.reserved{background:#fff0eb;border-color:#f0d9d1}.room.dining{background:#fff2dc;border-color:#eedabc}.room.inactive{background:#eaede8;border-color:#d7ddd2}.room-main{text-align:left;background:0 0;border:0;border-radius:0;width:100%;min-height:133px;padding:13px;display:block}.room-main strong{overflow-wrap:anywhere;font-size:25px;font-weight:650}.room-main p{overflow-wrap:anywhere;margin:9px 0 6px;font-size:14px}.row{justify-content:space-between;align-items:center;gap:8px;display:flex}.room .row{flex-wrap:wrap}.badge{white-space:nowrap;color:#456e35;background:#e1edd7;border-radius:6px;padding:4px 7px;font-size:12px;display:inline-block}.badge.cancelled,.badge.no_show,.inactive .badge{color:#6b7466;background:#e3e6e1}.previous{text-align:left;color:#73826a;background:0 0;border:0;border-top:1px solid #dce7d3;width:calc(100% - 26px);margin:0 13px;padding:8px 0 11px;font-size:12px;display:block}.occupancy{color:#966227;font-size:12px!important}.time-list{margin-top:8px;font-size:12px;line-height:1.8}.time-list>div+div{margin-top:7px}.bottom{width:100%;max-width:560px;padding:8px 14px calc(8px + env(safe-area-inset-bottom));z-index:10;background:#fff;border-top:1px solid #e2e8da;gap:8px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom button{background:0 0;border:0;flex:1;justify-items:center;gap:4px;padding:7px;font-size:13px;display:grid}.bottom button.active{color:#345f3f;background:#eaf1e4}.back{color:#6c7a65;background:0 0;border:0;align-items:center;gap:2px;margin-bottom:12px;padding:0;font-size:13px;display:flex}.primary{color:#fff;background:#315f42;border-color:#315f42;width:100%;font-weight:500}.secondary{width:100%;margin-top:10px}.danger{color:#a7473a;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;margin:10px 0;display:flex}.pair{grid-template-columns:1fr 1fr;gap:12px;min-width:0;display:grid}.pair>*{min-width:0}.panel{background:#fff;border:1px solid #e2e7d9;border-radius:14px;margin:16px 0;padding:17px}.detail-row{justify-content:space-between;align-items:flex-start;gap:20px;margin:15px 0;font-size:14px;display:flex}.detail-row>span:first-child{color:#748169;flex-shrink:0}.detail-row>span:last-child{text-align:right;overflow-wrap:anywhere;white-space:pre-wrap}.alert,.success,.carry{border-radius:10px;margin:0 0 14px;padding:12px;font-size:13px;line-height:1.7}.alert{color:#954728;background:#fff0e5}.success{color:#456932;background:#e9f2e0}.carry{color:#8e5d29;background:#fff0d7}.carry button{text-align:left;background:0 0;border:0;width:100%;font-size:13px;display:block}.confirm{background:#fff;border:2px solid #799568;border-radius:13px;margin:15px 0;padding:17px;box-shadow:0 7px 25px #334b1015}.confirm h3{margin:0}.confirm label{margin-bottom:15px}.order-card{text-align:left;overflow-wrap:anywhere;background:#fff;border:1px solid #e0e6d7;border-radius:13px;width:100%;margin:10px 0;padding:14px;display:block}.order-card p{font-size:13px}.order-card .muted{display:block}.filters{background:#eef2e8;border-radius:12px;gap:11px;padding:13px}.pagination{justify-content:space-between;align-items:center;margin:20px 0;font-size:13px;display:flex}.audit{background:#fff;border:1px solid #e0e6d7;border-radius:12px;margin:10px 0;padding:13px;font-size:13px}.audit summary{cursor:pointer}.audit summary>span{margin-top:5px;display:block}.diff{overflow-wrap:anywhere;white-space:pre-wrap}.setting{text-align:left;justify-content:space-between;align-items:center;gap:14px;width:100%;margin:12px 0;padding:17px 14px;display:flex}.setting span{color:#77836e;font-size:12px}.checkbox{align-items:center;gap:10px;display:flex}.checkbox input{width:22px;min-height:22px}.empty{text-align:center;color:#75836b;padding:36px 12px;font-size:14px}.empty button{margin:15px auto;display:block}.login,.setup{max-width:420px;margin:7vh auto;padding:25px}.brand-mark{color:#fff;background:#315f42;border-radius:16px;place-items:center;width:58px;height:58px;margin-bottom:22px;font-size:28px;display:grid}.login h1{font-size:23px}.setup{background:#fff;border-radius:16px}.setup p{font-size:14px}.export{font-size:13px}button:active:not(:disabled){filter:brightness(.97)}@media (width>=700px){.app{border-radius:22px;min-height:calc(100dvh - 44px);margin:22px auto;overflow:hidden}.bottom{border-radius:0 0 18px 18px}.room-main{min-height:145px}}@media (width<=350px){header{padding:18px 14px}h1{font-size:20px}h1 small{font-size:12px}main{padding:15px 12px}.room-main{padding:10px}.room-main strong{font-size:22px}.room-grid,.pair{gap:8px}.badge{padding:3px 5px}.detail-row{gap:10px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.bi{vertical-align:middle;white-space:normal;flex-direction:column;min-width:0;max-width:100%;line-height:1.4;display:inline-flex}.bi-zh{display:block}.bi-id{letter-spacing:0;opacity:.84;overflow-wrap:anywhere;margin-top:3px;font-size:max(12px,.8em);font-weight:400;line-height:1.4;display:block}header h1 .bi-id{letter-spacing:.3px;color:#62735d;font-size:12px}label>.bi{min-height:39px}form label .bi-zh{color:#27342a}form label .bi-id{color:#62735d}.primary .bi-id{opacity:.92}.badge{white-space:normal}.badge .bi{text-align:center}.badge .bi-id{margin-top:1px;font-size:12px}.room-main .row{align-items:flex-start}.room-main>p .bi-id{font-size:12px}.room-main{min-height:158px}.room-grid{align-items:stretch}.connection{padding-top:7px;padding-bottom:7px}.connection .bi-id{font-size:12px}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;display:grid}.stats>div{text-align:center;background:#fff;border:1px solid #e0e7d9;border-radius:11px;flex-direction:column;padding:10px 6px;font-size:12px;display:flex}.stats strong{color:#315f42;font-size:23px}.stats .bi-id{font-size:12px}.bottom .bi{text-align:center}.bottom .bi-id{margin-top:1px;font-size:12px}.app{padding-bottom:112px}.setting>.bi{color:#27342a;font-size:15px}.setting .bi-zh{font-size:inherit;color:inherit}.setting .bi-id{font-size:12px}.detail-row>span:first-child{flex-shrink:1;max-width:45%}.detail-row .bi-zh,.detail-row .bi-id{color:inherit;text-align:inherit}.day-shortcuts button{flex:1;padding-left:8px;padding-right:8px}.switch .bi-id{font-size:12px}.panel p{overflow-wrap:anywhere}@media (width<=380px){.room-main{padding:11px}.room-main .row{flex-direction:column;gap:5px}.date-row{align-items:flex-start}.date-row>input{width:143px}.setting{gap:8px}}@media (width<=440px){.booking-place{grid-template-columns:1fr}}.day-shortcuts{margin-bottom:20px}.day-shortcuts button{color:#52606b;border-color:#cdd5dc}.day-shortcuts button.chosen{color:#fff;background:#303e48;border-color:#303e48;box-shadow:0 2px 5px #24334120}.day-shortcuts .chosen .bi-zh:before{content:"✓ "}.day-shortcuts .chosen .bi-id{opacity:1}.switch{background:#e6edf6;border:1px solid #d5e0ed;margin-bottom:20px}.switch button{color:#43556b}.switch button.active{color:#fff;background:#245fac;box-shadow:0 2px 6px #245fac25}.switch button.active .bi-id{opacity:1}.switch button.active .bi-zh:before{content:"✓ "}.stats>div{border-top-width:5px;padding-top:8px}.stats>.free{color:#1c6037;background:#e8f5ea;border-color:#2d8a50}.stats>.reserved{color:#244f91;background:#e7f0ff;border-color:#3775c8}.stats>.dining{color:#855011;background:#fff0d9;border-color:#d17a18}.stats strong{color:inherit}.stat-number{justify-content:center;align-items:center;gap:6px;display:flex}.stats .bi-id{opacity:1}.room.free{background:#edf7ed;border-color:#2d8a50 #9bc69e #9bc69e;border-top-style:solid;border-top-width:4px}.room.reserved{background:#edf3ff;border-color:#3775c8 #a7bfdf #a7bfdf;border-top-style:solid;border-top-width:4px}.room.dining{background:#fff3df;border-color:#d17a18 #e0b878 #e0b878;border-top-style:solid;border-top-width:4px}.reserved .badge,.badge.reserved{color:#234f8e;background:#d1e2ff}.dining .badge,.badge.dining{color:#78470b;background:#ffe0a8}.hall-grid{gap:8px}.hall-grid .room{border-top-width:3px;border-radius:11px}.hall-grid .room-main{min-height:82px;padding:10px}.hall-grid .room-main .row{flex-flow:row;align-items:center;gap:6px}.hall-grid .room-main strong{min-width:0;font-size:23px;line-height:1.2}.hall-grid .badge{flex-shrink:0;padding:4px 6px;font-size:12px}.hall-grid .badge .bi-id{font-size:12px}.hall-grid .room-main p{margin:7px 0 3px;font-size:12px;line-height:1.4}.hall-grid .room-main .muted{font-size:12px}.hall-grid .room-main .muted .bi{flex-direction:row;align-items:baseline;gap:4px}.hall-grid .room-main .muted .bi-id{margin-top:0;font-size:12px}.hall-grid .previous{width:calc(100% - 20px);margin:0 10px;padding:6px 0 8px;line-height:1.4}.hall-grid .previous .bi-id{font-size:12px}.hall-grid .time-list{margin-top:5px}@media (width>=520px){.hall-grid:not(.all-day){grid-template-columns:repeat(4,minmax(0,1fr))}.hall-grid:not(.all-day) .room-main .row{flex-wrap:wrap}}.hall-grid{align-items:start}.hall-grid .previous-guest{text-overflow:ellipsis;white-space:nowrap;color:#466744;margin-bottom:3px;font-size:12px;font-weight:600;display:block;overflow:hidden}.hall-grid .previous>.bi{display:flex}.hall-grid .previous .bi-zh{font-size:12px}.hall-grid .previous .bi-id{margin-top:1px;font-size:12px}.hall-grid .hall-time{align-items:center;gap:4px;margin-top:4px;display:flex}input[type=date]:not(:disabled),input[type=time]:not(:disabled){cursor:pointer}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.availability-summary{table-layout:fixed;border-spacing:0;background:#fff;border:1px solid #d8e1d6;border-radius:12px;width:100%;margin:14px 0;overflow:hidden}.availability-summary th,.availability-summary td{text-align:center;border-bottom:1px solid #fff;padding:9px 5px}.availability-summary th{font-size:12px;font-weight:500}.availability-summary th:first-child{width:25%}.availability-summary thead th{border-bottom:1px solid #d8e1d6}.availability-summary thead svg{margin:0 auto 4px;display:block}.availability-summary td{font-size:23px;font-weight:650}.availability-summary .bi-id{opacity:1;font-size:12px}.availability-summary .free{color:#1c6037;background:#e8f5ea}.availability-summary .reserved{color:#244f91;background:#e7f0ff}.availability-summary .dining{color:#855011;background:#fff0d9}.availability-summary thead .free{border-top:4px solid #2d8a50}.availability-summary thead .reserved{border-top:4px solid #3775c8}.availability-summary thead .dining{border-top:4px solid #d17a18}.availability-summary tbody tr:last-child>*{border-bottom:0}:root{--text-body:14px;--text-secondary:12px;--text-title:21px}.bi-id{opacity:1}h2{font-size:var(--text-title)}h2>.bi>.bi-id{font-size:16px}h3>.bi>.bi-id{font-size:13px}button,label{font-size:var(--text-body)}.hint{font-size:var(--text-secondary);line-height:1.6}.panel>h3:first-child{margin-top:0}.panel>p{font-size:var(--text-body)}.panel>p.hint{font-size:var(--text-secondary)}.setting>span:last-child{text-align:right}.setting>.bi:first-child{flex-shrink:0}.detail-row>span:last-child{min-width:0}.audit .hint{overflow-wrap:anywhere}.order-card .row{flex-wrap:wrap;align-items:flex-start}.order-card .row>strong{overflow-wrap:anywhere;min-width:0}.day-shortcuts button,.connection button{min-height:44px}.hall-grid .room-main .row{flex-wrap:wrap}@media (width<=350px){:is(.pair:has(input[type=date]),.pair:has(input[type=time])){grid-template-columns:1fr}}.schedule-heading{margin-bottom:20px}.schedule-place{align-items:center;gap:14px;margin-top:16px;display:flex}.schedule-place strong{overflow-wrap:anywhere;min-width:0;font-size:25px}.schedule-place>.bi{font-size:14px}.schedule-date{color:#52604f;margin:8px 0 0;font-size:16px}.fixed-room{align-content:start;gap:7px;font-size:14px;display:grid}.fixed-room>.bi{min-height:39px}.fixed-room-value{background:#eaf2e6;border:1px solid #cbdcc7;border-radius:10px;align-items:center;gap:12px;min-height:48px;padding:10px 12px;display:flex}.fixed-room-value strong{overflow-wrap:anywhere;min-width:0;font-size:20px}.fixed-room-value>.bi{font-size:12px}.account-heading,.detail-heading{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.account-heading strong{overflow-wrap:anywhere;min-width:0;font-size:16px}.account-tags{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.role-tag{color:#365b3e;background:#edf2e9;border-radius:8px;padding:6px 10px;font-size:12px;display:inline-flex}.booking-meta{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:10px 0;font-size:13px;display:flex}.order-card .booking-meta.muted{display:flex}.setting-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.panel>.row{flex-wrap:wrap}.panel>.row h2{overflow-wrap:anywhere;min-width:0}.detail-row>span:first-child{text-align:left}form input,form select,form textarea,form button{scroll-margin-bottom:125px}@media (width<=440px){.filters .pair{grid-template-columns:1fr}}@media (width<=380px){form .pair{grid-template-columns:1fr}}.day-booking{gap:5px;display:grid}.day-booking-meta{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.day-booking-guest{overflow-wrap:anywhere;font-weight:500}.day-booking+.day-booking{border-top:1px solid #d7e2d2;padding-top:8px}.connection-footer{color:#667260;background:0 0;border-top:1px solid #e1e7dc;margin-top:10px;padding:8px 16px}.demo-footer{color:#667260;background:0 0;padding:6px 16px}.previous-guest{overflow-wrap:anywhere;margin-bottom:3px;font-weight:600;display:block}.previous-time{margin-bottom:3px;display:block}.audit summary>.audit-title{flex-wrap:wrap;align-items:center;gap:8px 12px;display:inline-flex}.audit .diff{gap:6px;display:grid}@media (width<=350px){.date-row{flex-direction:column;align-items:stretch}.date-row>input{width:100%;max-width:none}}
