@font-face{font-family:Montserrat;src:url('assets/montserrat-regular.woff?v=215a175ce4fe873f') format('woff');font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url('assets/montserrat-bold.woff?v=e1632dc38a09dce6') format('woff');font-weight:600 800;font-display:swap}*{box-sizing:border-box} :root{color-scheme:light;--bg:#f5f4f0;--paper:#fff;--ink:#252629;--muted:#777979;--line:#e4e4df;--accent:#e86d52;--accent-dark:#c44b32;--green:#3f806b;--sidebar:#232427}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Montserrat,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e8a793;outline-offset:3px}input,select,textarea{min-width:0}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3,strong,b{font-weight:700}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;z-index:50;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:10px}.sidebar{width:226px;background:var(--sidebar);color:#f7f5ef;position:fixed;inset:0 auto 0 0;padding:31px 20px 0;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;padding:0 10px;font-size:16px;font-weight:700;line-height:1.2;letter-spacing:1.2px}.brand img{flex:0 0 42px}.workspace-label{font-size:12px;letter-spacing:1.6px;color:#929393;padding:45px 11px 17px;line-height:1.6}.nav-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border-radius:7px;background:transparent;color:#bdbebe;padding:14px 12px;font-size:13px;font-weight:700;margin-bottom:7px}.nav-item:hover{background:#333437;color:#fff}.nav-item.active{background:#e96d52;color:#fff}.nav-icon{font-size:22px;line-height:20px;font-weight:400}.nav-arrow{margin-left:auto;font-size:19px}.nav-badge{margin-left:auto;background:#414245;border-radius:4px;min-width:21px;text-align:center;font-size:12px;padding:1px 4px}.nav-item.active .nav-badge{background:#bf523e}.sidebar-note{margin-top:58px;padding:0 13px;color:#8d8f8e}.sidebar-note-mark{font-size:72px;line-height:1;font-weight:700;letter-spacing:-6px;color:#38393b}.sidebar-note p{font-size:12px;line-height:1.8;margin-top:13px;color:#9a9c9b}.sidebar-bottom{margin-top:auto;padding-top:35px}.guest-link{border-bottom:1px solid #414244;display:flex;gap:6px;justify-content:space-between;padding:17px 3px;color:#ccc;font-size:12px}.guest-link:hover{color:#fff}.guest-link b{font-size:16px}.profile{display:flex;align-items:center;gap:10px;padding:23px 0}.profile-avatar{width:35px;height:35px;border-radius:50%;background:#3b3e3c;display:grid;place-items:center;color:#d9ddd9;font-weight:700}.profile strong{font-size:12px;display:block}.profile span{font-size:12px;color:#9c9e9d;display:block;margin-top:3px}.profile i{width:7px;height:7px;border-radius:50%;background:#8ab396;margin-left:auto}.main{margin-left:226px;padding:36px 34px 0;max-width:2000px}.page-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:700;color:#8c8d89}.eyebrow span{margin:0 9px;color:#b1b1ac}h1{font-size:33px;letter-spacing:-1.1px;line-height:1.2;margin:8px 0 8px}.page-header p{color:var(--muted);font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:43px;padding:11px 17px;border-radius:6px;font-size:12px;font-weight:700;transition:background .15s,transform .15s;white-space:nowrap}.button.primary{background:var(--accent);color:#fff}.button.primary:hover{background:#d45e45}.button.primary>span:first-child{font-size:21px;line-height:1}.button.neutral{background:#fff;border:1px solid #deded7}.button.neutral:hover{background:#eeefea}.button.small{padding:7px 12px;min-height:35px}.demo-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f1e9df;border:1px solid #e9ded0;border-radius:7px;margin-bottom:24px}.demo-banner p{font-size:12px;line-height:1.7;color:#736759;flex:1}.demo-label{font-size:12px;letter-spacing:1px;font-weight:700;color:#9c6548;border:1px solid #d6bba5;border-radius:4px;padding:3px 5px}.text-button{background:transparent;color:#91654d;text-decoration:underline;text-underline-offset:3px;padding:5px 0;font-size:12px}.text-button:hover{color:#563521}.global-error,.form-error{background:#fff0ed;border:1px solid #e7b7ad;color:#a33c2b;border-radius:6px;padding:12px 14px;font-size:13px;line-height:1.7}.global-error{margin-bottom:18px}.day-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}.day-selector{display:flex;align-items:center;gap:9px}.icon-button{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:transparent;border:1px solid var(--line);font-size:20px;line-height:1}.icon-button:hover{background:#fff;border-color:#bdbeb7}.date-label{min-width:158px;display:flex;align-items:baseline;gap:8px;justify-content:center}.date-label strong{font-size:17px;letter-spacing:-.5px}.date-label span{font-size:12px;color:var(--muted)}.calendar-label{width:35px;height:35px;position:relative;border:1px solid #ddded6;border-radius:6px;display:grid;place-items:center;background:#fff;font-size:20px}.calendar-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.calendar-label input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;cursor:pointer}.timezone{font-size:12px;display:flex;gap:7px;align-items:center;color:#7e837d}.timezone i{width:5px;height:5px;background:#8b9d82;border-radius:50%}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(210px,1.35fr);gap:12px;margin-bottom:30px}.stat{background:#fff;border:1px solid var(--line);border-radius:8px;padding:17px 19px 15px;min-height:110px}.stat>span{display:flex;align-items:center;gap:6px;font-size:12px;color:#737771}.stat>div{display:flex;align-items:baseline;gap:11px;margin-top:10px;flex-wrap:wrap}.stat strong{font-size:29px;letter-spacing:-1px;line-height:1.15}.stat-caption{font-size:12px;color:#92978e}.stat small{display:block;color:#91958e;font-size:12px;margin-top:6px}.money-stat strong{font-size:25px;letter-spacing:-.7px}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}h2{font-size:17px;letter-spacing:-.3px}h2>span{font-size:12px;color:#9b9f97;font-weight:400;margin-left:9px}.legend{display:flex;gap:15px}.legend>span{display:flex;align-items:center;gap:6px;font-size:12px;color:#7d837b}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex:none}.status-dot.new{background:#d99644}.status-dot.confirmed{background:#60a18a}.status-dot.completed{background:#8c9199}.status-dot.cancelled{background:#d49182}.board-scroll{overflow-x:auto;padding-bottom:4px}.schedule-board{display:grid;grid-template-columns:repeat(5,minmax(166px,1fr));gap:12px;min-width:878px}.quest-column{background:#eeefea;border:1px solid #e2e4dc;border-radius:8px;padding:0 9px 10px;align-self:start}.quest-heading{height:80px;display:flex;gap:9px;align-items:center;padding:0 2px}.quest-heading img{width:34px;height:40px;object-fit:cover;border-radius:5px;filter:saturate(.75);flex-shrink:0}.quest-heading h3{font-size:12px;line-height:1.5;letter-spacing:-.1px}.quest-heading p{font-size:12px;color:#8b9186;margin-top:2px}.slot{margin-bottom:8px;border:1px solid #dce1d5;border-radius:6px;min-height:98px;position:relative;overflow:hidden}.slot:last-child{margin-bottom:0}.slot-empty{display:flex;background:#f8f9f5;transition:border-color .15s}.slot-empty:hover{border-color:#c9a58e;background:#fff}.slot-add{background:transparent;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px 13px;width:100%;text-align:left;min-height:96px}.slot-time{font-size:15px;font-weight:700;letter-spacing:.1px}.slot-free{font-size:12px;color:#9b9f95;margin-top:8px}.slot-free span{margin-right:4px;font-size:14px}.block-slot{position:absolute;right:9px;top:13px;background:transparent;color:#aab0a3;font-size:18px;line-height:1;padding:2px;border-radius:3px}.block-slot:hover{background:#eae5dc;color:#9b644b}.slot-booked{display:block;width:100%;padding:12px 13px 11px;text-align:left;background:#fff;border-color:#d5e2d9;border-left:3px solid #79ab92}.slot-booked:hover{box-shadow:0 3px 10px #444d3c12;border-color:#9eb6a5}.slot-booked.status-new{border-color:#ead7b8;border-left-color:#d4a15a;background:#fffcf5}.slot-booked.status-completed{border-color:#dcdfe0;border-left-color:#a1a6ab;background:#f8f9fa}.slot-top{display:flex;align-items:center;justify-content:space-between;gap:3px}.slot-status{font-size:12px;color:#53866f}.status-new .slot-status{color:#a97b35}.status-completed .slot-status{color:#7d8790}.slot-name{display:block;font-size:12px;font-weight:700;margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-info{display:flex;justify-content:space-between;gap:3px;font-size:12px;color:#8a9388;margin-top:3px}.slot-info b{font-size:12px;font-weight:400;color:#697565}.slot-blocked{display:block;width:100%;text-align:left;padding:11px 13px;border-style:dashed;border-color:#c5c9c0;background:repeating-linear-gradient(135deg,#eaede5,#eaede5 5px,#eef0ea 5px,#eef0ea 10px)}.slot-blocked:hover{border-color:#939e8a}.slot-blocked .slot-time{color:#868e7f}.slot-blocked strong{display:block;font-size:12px;margin-top:6px;color:#8b9382}.slot-blocked small{font-size:12px;display:block;color:#959d8e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.slot-past{opacity:.55}.board-hint{margin-top:14px;font-size:12px;color:#969b92}.admin-footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #e0e2db;padding:18px 0 22px;margin-top:32px;color:#9a9f96;font-size:12px}.list-filters{display:flex;gap:10px;align-items:center;margin-bottom:22px}.list-filters select{height:41px;padding:0 28px 0 12px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px;max-width:210px}.search-field{position:relative;flex:1}.search-field>span{position:absolute;left:13px;top:8px;color:#9c9f99;font-size:20px}.search-field input{width:100%;height:41px;padding:0 12px 0 37px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px}.all-dates{display:flex;gap:6px;white-space:nowrap;align-items:center;color:#7b8177;font-size:12px}.all-dates input{accent-color:var(--accent)}.list-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.list-heading>span{color:#989e93;font-size:12px}.table-scroll{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;text-align:left;min-width:800px}th{font-size:12px;color:#92998b;padding:15px 14px;background:#fafbf8;font-weight:400;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:16px 14px;border-bottom:1px solid #f0f1ec;font-size:12px}tbody tr{cursor:pointer}tbody tr:hover{background:#faf8f3}tbody tr:last-child td{border-bottom:0}.table-main{display:block;font-weight:700}.table-sub{display:block;color:#91978b;font-size:12px;margin-top:4px}.record-open{background:transparent;font-size:20px;padding:5px;color:#a8ada2;border-radius:4px}.record-open:hover{color:var(--accent)}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:4px;background:#eef5ef;color:#588368;font-size:12px;white-space:nowrap}.status-badge.new{background:#fbf2df;color:#ae843c}.status-badge.completed{background:#eff1f4;color:#838a96}.status-badge.cancelled{background:#f7efec;color:#ac897c}.empty-state{text-align:center;padding:50px 20px}.empty-state>span{font-size:37px;color:#afbaaa}.empty-state h3{font-size:16px;margin-top:12px}.empty-state p{font-size:12px;color:#949b8f;margin:9px 0 20px}dialog{border:0;padding:0;color:var(--ink);box-shadow:0 20px 100px #16201530}dialog::backdrop{background:#1b211c75;backdrop-filter:blur(3px)}.booking-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:600px;max-width:calc(100% - 20px);height:100dvh;max-height:100dvh;background:#fafaf7}.drawer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;border-bottom:1px solid var(--line);background:#fff}.drawer-top .eyebrow{font-size:12px}.drawer-top h2{font-size:25px;margin-top:6px;letter-spacing:-.6px}.drawer-top .icon-button{border:0;font-size:27px;background:#f4f4ef}.drawer-top .icon-button:hover{background:#ebece6}#admin-booking-form{height:calc(100% - 105px);display:flex;flex-direction:column}.drawer-body{overflow-y:auto;padding:0 28px 16px;flex:1;min-height:0}.drawer-body>.form-error{margin-top:18px}.form-section{padding:23px 0;border-bottom:1px solid var(--line)}.form-section h3{display:flex;align-items:center;gap:9px;font-size:12px;margin-bottom:16px}.form-section h3>span{color:#b1b8a8;font-size:12px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field:last-child{margin-bottom:0}.field label{font-size:12px;color:#5f685b;font-weight:700}.field label>b{color:var(--accent)}.field label>span{font-size:12px;font-weight:400;color:#9aa18e;margin-left:4px}.field input,.field select,.field textarea{width:100%;border:1px solid #dbe0d5;border-radius:5px;background:#fff;padding:10px 12px;color:#3b4235;font-size:12px;min-height:41px}.field textarea{resize:vertical;line-height:1.7;min-height:68px;max-height:220px}.field input::placeholder,.field textarea::placeholder{color:#adb3a5}.field small{font-size:12px;color:#959f8a;line-height:1.65}.field input[aria-invalid=true]{border-color:#d5816e;background:#fff8f4}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid>.field:last-child{margin-bottom:14px}.room-choice{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;background:#f0f2e9;border:1px solid #e0e5d6;border-radius:6px;margin:1px 0 17px;cursor:pointer}.room-choice strong{display:block;font-size:12px}.room-choice small{display:block;font-size:12px;color:#8f9a80;margin-top:4px}.room-choice input{accent-color:var(--accent);width:18px;height:18px}.price-summary{background:#fff;border:1px solid #e0e5d7;border-radius:6px;padding:13px 16px}.price-summary>div{display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding:4px 0;font-size:12px}.price-summary>div>span{font-size:12px;color:#8b967e}.price-summary strong{font-size:15px}.price-hint{font-size:12px;color:#929d84;line-height:1.7;margin-top:9px}.history-section ol{list-style:none;margin:0;padding:0 0 0 10px}.history-section li{border-left:1px solid #dbe2d2;position:relative;padding:0 0 15px 16px}.history-section li:last-child{padding-bottom:2px}.history-section li:before{content:'';position:absolute;left:-3px;top:6px;width:5px;height:5px;border-radius:50%;background:#a4b394}.history-section time{display:block;color:#9ba78e;font-size:12px;margin-bottom:4px}.history-section p{font-size:12px;color:#6f7c61;line-height:1.65;overflow-wrap:anywhere}.status-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:21px}.status-actions button{font-size:12px;min-height:35px;padding:8px 11px}.status-actions .danger{color:#bb6f56;border:1px solid #e6c9bb;background:#fff8f2}.status-actions .danger:hover{background:#fceae0}.status-actions .confirm{background:#e3eee2;color:#5d8057;border:1px solid #cbddc6}.drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 28px;border-top:1px solid var(--line);background:#fff;flex-shrink:0}.drawer-footer>span{font-size:12px;line-height:1.6;color:#9aa58b}.drawer-footer .button{min-height:43px}.small-dialog{max-width:calc(100% - 32px);width:430px;border-radius:10px;padding:24px;background:#fafaf5}.small-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px}.small-dialog h2{font-size:21px}.small-dialog>p{font-size:12px;color:#8a977b;margin-bottom:23px}.block-explanation{font-size:12px;line-height:1.7;color:#919e81;margin:14px 0 22px}.small-dialog .button{width:100%}.small-dialog .form-error{margin:14px 0}.toast{position:fixed;bottom:24px;left:calc(50% + 113px);transform:translateX(-50%);z-index:60;background:#313b2d;color:#fff;padding:13px 22px;border-radius:7px;box-shadow:0 8px 30px #1c311e30;font-size:12px;max-width:calc(100% - 40px);text-align:center}.toast.error{background:#984b38}@media(min-width:1600px){.main{padding-left:46px;padding-right:46px}.schedule-board{gap:17px}.quest-column{padding-left:12px;padding-right:12px}.slot{min-height:105px}.slot-add{min-height:103px}.slot-name{font-size:13px}.slot-info{font-size:12px}.slot-info b{font-size:12px}.slot-status{font-size:12px}.quest-heading h3{font-size:13px}.quest-heading p{font-size:12px}.slot-free{font-size:12px}}@media(max-width:1200px){.sidebar{width:194px;padding-left:13px;padding-right:13px}.main{margin-left:194px;padding-left:25px;padding-right:25px}.brand{font-size:14px;gap:9px}.brand img{width:36px;height:36px;flex-basis:36px}.workspace-label{font-size:12px;letter-spacing:1.1px}.nav-item{font-size:12px}.stats{gap:9px;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(185px,1.3fr)}.stat{padding:14px;min-height:108px}.stat-caption{display:none}.stat>span{font-size:12px}.stat strong{font-size:27px}.money-stat strong{font-size:23px}.main .demo-banner{padding:10px 12px}.demo-banner p{font-size:12px}.list-filters{flex-wrap:wrap}.search-field{min-width:180px}.toast{left:calc(50% + 97px)}}@media(max-width:900px){.sidebar{width:80px;padding:22px 11px 0}.brand{padding:0;justify-content:center}.brand span,.workspace-label,.sidebar-note,.guest-link,.profile,.nav-arrow,.nav-badge{display:none}.sidebar nav{margin-top:35px}.nav-item{font-size:0;justify-content:center;gap:0;padding:15px 0}.nav-icon{font-size:25px}.main{margin-left:80px;padding:26px 22px 0}.page-header p{max-width:310px;font-size:12px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{padding:13px 11px}.stat>span{font-size:12px}.money-stat strong{font-size:20px}.stat small{font-size:12px}.date-label{min-width:145px}.date-label strong{font-size:15px}.timezone{font-size:12px}.toast{left:calc(50% + 40px)}.legend{gap:10px}.legend>span{font-size:12px}.demo-banner{gap:9px}.text-button{font-size:12px}}@media(max-width:640px){.sidebar{position:relative;inset:auto;width:100%;height:auto;flex-direction:row;align-items:center;justify-content:space-between;padding:14px 17px;background:#252629}.brand{justify-content:flex-start}.brand img{width:30px;height:30px;flex-basis:30px}.brand span{display:block;font-size:12px;letter-spacing:.8px}.sidebar nav{display:flex;margin:0;gap:4px}.nav-item{font-size:12px;padding:9px 10px;margin:0;gap:5px;width:auto;border-radius:5px}.nav-icon{font-size:17px}.sidebar-bottom{display:none}.main{margin:0;padding:23px 16px 0}.page-header{gap:10px;align-items:flex-start;margin-bottom:19px}.page-header h1{font-size:28px;margin-top:8px}.page-header .eyebrow{font-size:12px;letter-spacing:1.1px}.page-header p{font-size:12px;max-width:225px;line-height:1.7}.page-header .button{font-size:12px;padding:9px 12px;min-height:37px;margin-top:25px;gap:4px}.page-header .button>span:first-child{font-size:17px}.demo-banner{align-items:flex-start;gap:9px;flex-wrap:wrap;margin-bottom:20px}.demo-banner p{flex:1;min-width:180px;font-size:12px}.demo-banner .text-button{margin-left:43px;padding:0}.demo-label{margin-top:1px;font-size:12px}.day-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:17px}.day-selector{width:100%;gap:7px}.date-label{flex:1;min-width:0;justify-content:flex-start;padding-left:3px}.date-label strong{font-size:16px}.date-label span{font-size:12px}.timezone{font-size:12px;margin-left:1px}.day-selector .icon-button{width:29px;height:32px}.day-selector .small{font-size:12px;padding:7px 9px;min-height:32px}.calendar-label{width:32px;height:32px}.stats{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:23px}.stat{padding:13px 15px;min-height:90px}.stat>span{font-size:12px}.stat>div{margin-top:8px}.stat strong{font-size:25px}.stat small{font-size:12px}.section-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.legend{gap:13px}.legend>span{font-size:12px}.section-toolbar h2{font-size:16px}.schedule-board{min-width:980px;gap:10px}.quest-column{padding:0 9px 9px}.quest-heading h3{font-size:12px}.quest-heading p{font-size:12px}.quest-heading{height:72px}.slot-name{font-size:12px}.slot-info{font-size:12px}.slot-status{font-size:12px}.board-hint{font-size:12px;line-height:1.8}.admin-footer{font-size:12px;gap:15px;line-height:1.7;margin-top:25px}.list-filters{gap:8px}.search-field{flex-basis:100%}.list-filters select{flex:1;max-width:none;font-size:12px;width:calc(50% - 5px)}.all-dates{font-size:12px;margin-top:4px}.list-heading{align-items:flex-start;flex-direction:column;gap:5px}.list-heading>span{font-size:12px}.booking-dialog{max-width:100%;width:100%}.drawer-top{padding:21px 20px}.drawer-top h2{font-size:23px}.drawer-body{padding:0 20px 15px}.drawer-footer{padding:15px 20px}.drawer-footer .button{font-size:12px;padding:11px 15px}.drawer-footer>span{font-size:12px}.form-section{padding:21px 0}.form-grid{gap:11px}.field label{font-size:12px}.field label>span{font-size:12px}.field input,.field select,.field textarea{font-size:14px;padding:10px}.field small{font-size:12px}.toast{left:50%;font-size:12px;bottom:17px}.room-choice{padding:12px}.room-choice small{font-size:12px}.room-choice strong{font-size:12px}.small-dialog{padding:21px}.small-dialog h2{font-size:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Readable working controls at every viewport. */
.nav-item{font-size:14px}.guest-link,.profile span,.workspace-label{font-size:12px;line-height:1.65}.workspace-label{letter-spacing:1px}.profile strong{font-size:13px}.page-header p{font-size:14px;line-height:1.7}.button{font-size:14px}.demo-banner p,.text-button{font-size:12px}.stat{min-height:124px}.stat-caption{font-size:12px}.stats{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(210px,1.35fr)}.stat>span{font-size:12px}.stat>div{gap:6px}.stat-caption{display:none}.schedule-board{grid-template-columns:repeat(5,minmax(180px,1fr));min-width:948px}.quest-heading{min-height:90px;height:auto;padding-top:15px;padding-bottom:15px}.quest-heading h3{font-size:14px;line-height:1.45}.quest-heading p{font-size:12px}.quest-heading img{width:30px;height:38px}.slot{min-height:110px}.slot-add{min-height:108px}.slot-name{font-size:14px;margin-top:8px}.slot-info,.slot-info b,.slot-free,.slot-status{font-size:12px}.slot-info{flex-wrap:wrap;line-height:1.6;gap:0 6px}.slot-top{align-items:baseline}.slot-time{font-size:16px}.slot-blocked strong,.slot-blocked small{font-size:12px}.slot-blocked{min-height:110px}.board-hint{font-size:12px}.list-filters select,.search-field input,.all-dates{font-size:14px}.list-heading>span{font-size:12px}th{font-size:12px}td{font-size:14px}.table-sub,.status-badge{font-size:12px}table{min-width:1040px}.field label{font-size:14px}.field input,.field select,.field textarea{font-size:14px}.field label>span,.field small{font-size:12px}.form-section h3{font-size:14px}.room-choice strong{font-size:14px}.room-choice small{font-size:12px}.price-summary>div>span{font-size:14px}.price-hint{font-size:12px}.history-section p{font-size:14px}.status-actions button{font-size:12px}.drawer-footer>span{font-size:12px}.small-dialog>p,.block-explanation{font-size:14px}.admin-footer{font-size:12px}.sidebar-note p{font-size:12px}.toast{font-size:14px}
@media(max-width:1200px){.sidebar{width:210px}.main{margin-left:210px;padding-left:24px;padding-right:24px}.nav-item{font-size:13px}.brand{font-size:14px}.stats{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(205px,1.35fr)}.stat{padding:14px}.stat>span,.stat small{font-size:12px}.stat small{line-height:1.5}.demo-banner p{font-size:12px}.toast{left:calc(50% + 105px)}}
@media(max-width:900px){.sidebar{width:80px}.main{margin-left:80px}.nav-item{font-size:0}.nav-icon{font-size:25px}.page-header p{font-size:12px}.stats{grid-template-columns:1fr 1fr}.stat{min-height:105px}.stat>div{margin-top:8px}.stat-caption{display:inline}.stat strong{font-size:27px}.date-label strong{font-size:16px}.day-toolbar{flex-wrap:wrap}.timezone{font-size:12px}.legend>span{font-size:12px}.toast{left:calc(50% + 40px)}}
@media(max-width:640px){.sidebar{width:100%}.main{margin-left:0;padding:23px 16px 0}.sidebar .brand span{font-size:12px}.nav-item{font-size:12px;padding:10px 8px}.nav-icon{font-size:17px}.page-header .button{font-size:12px;padding:9px 10px}.page-header p{font-size:12px}.page-header .eyebrow{font-size:12px;letter-spacing:.5px}.demo-banner p,.demo-label,.demo-banner .text-button{font-size:12px}.demo-banner .text-button{margin-left:0}.date-label strong{font-size:15px}.date-label span{font-size:12px}.day-selector .small{font-size:12px}.timezone{font-size:12px}.stats{grid-template-columns:1fr 1fr}.stat{min-height:118px;padding:13px}.stat-caption{display:none}.stat>span,.stat small{font-size:12px}.legend{gap:10px;flex-wrap:wrap}.legend>span{font-size:12px}.schedule-board{min-width:1020px}.slot-name{font-size:14px}.slot-info,.slot-status{font-size:12px}.quest-heading h3{font-size:14px}.quest-heading p{font-size:12px}.list-filters select,.all-dates{font-size:12px}.field label{font-size:12px}.field label>span,.field small{font-size:12px}.field input,.field select,.field textarea{font-size:14px}.form-grid{grid-template-columns:1fr;gap:0}.room-choice strong{font-size:14px}.room-choice small{font-size:12px}.drawer-footer>span{font-size:12px}.drawer-footer .button{font-size:12px}.toast{left:50%}.admin-footer{font-size:12px;flex-direction:column;gap:5px}}
@media(max-width:640px){.sidebar{flex-wrap:wrap;gap:12px}.sidebar nav{width:100%;gap:8px}.nav-item{flex:1;justify-content:center;font-size:13px}.field input,.field select,.field textarea{font-size:16px}.main{min-width:0}.board-scroll,.table-scroll{max-width:100%}}

/* Mobile workspace: daily agenda and thumb-friendly navigation. */
.mobile-only,
.mobile-guest-link {
  display: none;
}

.booking-dialog[open] {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.booking-dialog .drawer-top {
  flex: 0 0 auto;
}
.booking-dialog #admin-booking-form {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  overflow: hidden;
}
.booking-dialog .drawer-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.booking-dialog .drawer-footer {
  position: relative;
  flex: 0 0 auto;
  z-index: 2;
}
.booking-overview {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  padding: 18px 0 16px;
  border-bottom: 1px solid var(--line);
}
.booking-overview > strong {
  flex-basis: 100%;
  font-size: 17px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.booking-overview > span:not(.status-badge) {
  color: #727a6d;
  font-size: 13px;
}
.booking-overview > .status-badge {
  margin-left: auto;
}
.drawer-body > .status-actions {
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}
.drawer-body > .status-actions:empty {
  display: none;
}
details.history-section {
  padding: 0;
}
details.history-section > summary {
  padding: 20px 2px;
  color: #64705b;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
details.history-section > summary::marker {
  color: #9ca98f;
}
details.history-section[open] > summary {
  padding-bottom: 18px;
}
details.history-section > ol {
  margin-bottom: 23px;
}

@media (max-width: 760px) {
  .mobile-only {
    display: block;
  }
  .desktop-only {
    display: none !important;
  }
  html,
  body {
    min-width: 0;
    max-width: 100%;
  }
  body {
    font-size: 14px;
  }
  button {
    touch-action: manipulation;
  }
  button,
  .button,
  .icon-button {
    min-height: 44px;
  }
  .sidebar {
    position: relative;
    inset: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    height: auto;
    min-height: 64px;
    padding: 9px 17px;
    background: var(--sidebar);
  }
  .sidebar .brand {
    gap: 9px;
    padding: 0;
    min-height: 44px;
    justify-content: flex-start;
  }
  .sidebar .brand img {
    width: 31px;
    height: 31px;
    flex-basis: 31px;
  }
  .sidebar .brand span {
    display: block;
    font-size: 12px;
    line-height: 1.25;
    letter-spacing: .8px;
  }
  .sidebar nav,
  .sidebar .workspace-label,
  .sidebar .sidebar-note,
  .sidebar .sidebar-bottom {
    display: none;
  }
  .mobile-guest-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 5px 0 5px 8px;
    color: #d1d2ce;
    font-size: 12px;
    line-height: 1.4;
    text-align: right;
  }
  .mobile-guest-link:hover {
    color: #fff;
  }
  .main {
    min-width: 0;
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    padding: 19px 16px calc(99px + env(safe-area-inset-bottom));
  }
  .page-header {
    display: block;
    margin-bottom: 14px;
  }
  .page-header .eyebrow,
  .page-header #page-subtitle,
  .page-header #add-booking {
    display: none;
  }
  .page-header h1 {
    margin: 0;
    font-size: 28px;
    line-height: 1.25;
    letter-spacing: -.8px;
  }
  .demo-banner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 3px 9px;
    margin-bottom: 14px;
    padding: 10px 11px 2px;
    border-radius: 8px;
  }
  .demo-label {
    margin-top: 2px;
    padding: 2px 4px;
    font-size: 12px;
    letter-spacing: .5px;
  }
  .demo-banner p {
    min-width: 0;
    font-size: 12px;
    line-height: 1.5;
  }
  .demo-banner .text-button {
    grid-column: 2;
    justify-self: end;
    margin: 0;
    padding: 0 2px;
    min-height: 44px;
    font-size: 12px;
  }
  .new-requests {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 15px;
    margin: 0 0 18px;
    border: 1px solid #efc4b4;
    border-radius: 9px;
    background: #fff1e9;
    color: #8c432d;
    text-align: left;
  }
  .new-requests:hover {
    background: #fce7da;
    border-color: #dda58d;
  }
  .new-requests:disabled {
    opacity: 1;
    border-color: #e2e5dc;
    background: #eeefe9;
    color: #75806c;
  }
  .request-copy {
    min-width: 0;
  }
  .request-copy strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
  }
  .request-copy small {
    display: block;
    margin-top: 3px;
    color: #ab795f;
    font-size: 12px;
    line-height: 1.45;
  }
  .new-requests:disabled .request-copy small {
    color: #8b9682;
  }
  .request-arrow {
    flex-shrink: 0;
    font-size: 23px;
    line-height: 1;
  }
  .day-toolbar {
    display: block;
    margin: 0 0 11px;
  }
  .day-selector {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px 64px 44px;
    align-items: center;
    gap: 4px;
    width: 100%;
  }
  .day-selector .icon-button,
  .day-selector .calendar-label {
    width: 44px;
    height: 44px;
    min-height: 44px;
    border-radius: 7px;
    background: #fff;
  }
  .day-selector .icon-button {
    font-size: 22px;
  }
  .date-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    min-width: 0;
    padding: 0 2px;
    text-align: center;
  }
  .date-label strong {
    max-width: 100%;
    font-size: 16px;
    line-height: 1.25;
    letter-spacing: -.4px;
  }
  .date-label span {
    font-size: 12px;
    line-height: 1.25;
  }
  .day-selector .small {
    width: 64px;
    min-height: 44px;
    padding: 5px 3px;
    font-size: 12px;
    border-radius: 7px;
  }
  .day-selector .calendar-label input {
    font-size: 16px;
  }
  .timezone {
    margin: 8px 1px 0;
    color: #8b9185;
    font-size: 12px;
    line-height: 1.4;
  }
  .stats {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0 0 19px;
    padding: 11px 0;
    border-top: 1px solid #e4e6dd;
    border-bottom: 1px solid #e4e6dd;
  }
  .stats .stat {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    flex: 1;
    min-width: 0;
    min-height: 0;
    padding: 0 14px 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .stats .stat:nth-child(2) {
    padding: 0 0 0 14px;
    border-left: 1px solid #d9ded1;
  }
  .stats .stat:nth-child(3),
  .stats .money-stat,
  .stats .stat-caption,
  .stats .stat small {
    display: none;
  }
  .stats .stat > span {
    font-size: 12px;
    line-height: 1.4;
    color: #798272;
    gap: 5px;
  }
  .stats .stat > div {
    flex-shrink: 0;
    display: block;
    margin: 0;
  }
  .stats .stat strong {
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -.5px;
  }
  .mobile-agenda {
    min-width: 0;
    width: 100%;
  }
  .agenda-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 12px;
  }
  .agenda-controls label {
    flex-shrink: 0;
    font-size: 14px;
    color: #78816e;
  }
  .agenda-controls select {
    flex: 1;
    min-width: 0;
    max-width: 75%;
    min-height: 46px;
    padding: 10px 30px 10px 12px;
    border: 1px solid #dce1d3;
    border-radius: 7px;
    background: #fff;
    color: #394431;
    font-size: 16px;
    text-overflow: ellipsis;
  }
  .agenda-modes {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3px;
    padding: 4px;
    margin: 0 0 23px;
    border: 1px solid #e3e6dc;
    border-radius: 9px;
    background: #eaece4;
  }
  .agenda-modes button {
    min-height: 44px;
    padding: 9px 5px;
    border-radius: 6px;
    background: transparent;
    color: #7b856e;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;
    white-space: normal;
  }
  .agenda-modes button.active,
  .agenda-modes button[aria-pressed="true"] {
    background: #fff;
    color: #38442c;
    box-shadow: 0 1px 3px #2e3e1614;
  }
  .agenda-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
  }
  .agenda-heading h2 {
    font-size: 17px;
    line-height: 1.4;
  }
  .agenda-heading > span {
    flex-shrink: 0;
    font-size: 12px;
    color: #89977c;
  }
  .agenda-list {
    display: flex;
    flex-direction: column;
    gap: 9px;
    min-width: 0;
  }
  .agenda-row {
    display: flex;
    align-items: stretch;
    min-width: 0;
    width: 100%;
    border: 1px solid #dde4d4;
    border-left: 3px solid #82ae8c;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
  }
  .agenda-open {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    flex: 1;
    min-width: 0;
    width: 100%;
    min-height: 84px;
    padding: 15px 13px;
    background: transparent;
    text-align: left;
  }
  .agenda-open:hover {
    background: #f5f8ee;
  }
  .agenda-time {
    display: block;
    flex: 0 0 47px;
    margin-top: 1px;
    color: #36432d;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: -.25px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
  }
  .agenda-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    min-width: 0;
  }
  .agenda-quest {
    display: block;
    max-width: 100%;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 700;
    color: #465239;
    overflow-wrap: anywhere;
  }
  .agenda-name {
    display: block;
    max-width: 100%;
    color: #303a27;
    font-size: 15px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  .agenda-meta {
    display: block;
    max-width: 100%;
    color: #8a957d;
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  .agenda-price {
    display: block;
    max-width: 100%;
    color: #60734f;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
  }
  .agenda-content .status-badge {
    margin-top: 5px;
    font-size: 12px;
    white-space: normal;
  }
  .agenda-row.status-new {
    border-color: #ead6b6;
    border-left-color: #d4a15a;
    background: #fffaf1;
  }
  .agenda-row.status-new .agenda-open:hover {
    background: #fcf2df;
  }
  .agenda-row.status-completed {
    border-color: #e0e3df;
    border-left-color: #a6aea0;
    background: #f5f6f2;
  }
  .agenda-row.is-free {
    border: 1px solid #dce2d2;
    background: #f9faf6;
  }
  .agenda-row.is-free .agenda-open {
    min-height: 78px;
  }
  .agenda-row.is-free .agenda-name {
    color: #8a9b79;
    font-size: 13px;
  }
  .agenda-row.is-free .agenda-price {
    font-size: 12px;
    font-weight: 400;
    color: #8a967e;
  }
  .agenda-block {
    align-self: stretch;
    flex: 0 0 47px;
    min-width: 44px;
    min-height: 44px;
    padding: 0 9px;
    border-left: 1px solid #e8ece1;
    background: transparent;
    color: #a3af97;
    font-size: 23px;
  }
  .agenda-block:hover {
    background: #f1e8dc;
    color: #9d7457;
  }
  .agenda-row.is-blocked {
    border: 1px dashed #c7cfc0;
    background: #eef1e8;
  }
  .agenda-row.is-blocked .agenda-name,
  .agenda-row.is-blocked .agenda-time {
    color: #939e85;
  }
  .agenda-row.is-past {
    background: #f0f2eb;
  }
  .agenda-row.is-past .agenda-time,
  .agenda-row.is-past .agenda-meta,
  .agenda-row.is-past .agenda-price {
    color: #97a18b;
  }
  .agenda-row.is-past .agenda-quest {
    color: #78866a;
  }
  .agenda-row.is-past .agenda-open:disabled {
    opacity: 1;
  }
  .agenda-empty {
    padding: 29px 18px;
    border: 1px dashed #d7dfcc;
    border-radius: 9px;
    background: #f0f3e9;
    color: #89977b;
    font-size: 14px;
    line-height: 1.7;
    text-align: center;
  }
  .agenda-empty h3 {
    font-size: 16px;
    color: #687b58;
    margin-bottom: 8px;
  }
  #agenda-past-toggle {
    display: block;
    width: 100%;
    min-height: 44px;
    margin: 13px 0 0;
    padding: 11px 15px;
    border: 1px solid #dce4d0;
    border-radius: 7px;
    background: transparent;
    color: #809269;
    font-size: 13px;
    line-height: 1.5;
  }
  #agenda-past-toggle:hover {
    background: #edf1e5;
  }
  .list-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 9px;
    margin: 0 0 18px;
  }
  .search-field {
    grid-column: 1 / -1;
    min-width: 0;
  }
  .search-field input {
    height: 46px;
    min-height: 46px;
    font-size: 16px;
    border-radius: 7px;
  }
  .search-field > span {
    top: 10px;
  }
  .list-filters select {
    width: 100%;
    max-width: none;
    min-width: 0;
    min-height: 46px;
    height: 46px;
    padding: 8px 26px 8px 10px;
    font-size: 16px;
    border-radius: 7px;
    text-overflow: ellipsis;
  }
  .all-dates {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    min-height: 44px;
    margin: 0;
    font-size: 14px;
  }
  .all-dates input {
    width: 19px;
    height: 19px;
  }
  .list-heading {
    flex-direction: row;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 12px;
  }
  .list-heading h2 {
    font-size: 17px;
  }
  .list-heading > span {
    display: none;
  }
  .mobile-bookings {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    min-width: 0;
  }
  .mobile-booking-card {
    display: block;
    width: 100%;
    min-width: 0;
    padding: 15px;
    border: 1px solid #dfe6d4;
    border-radius: 9px;
    background: #fff;
    text-align: left;
  }
  .mobile-booking-card:hover {
    border-color: #c8d6b4;
    background: #fbfcf8;
  }
  .mobile-booking-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
  }
  .mobile-booking-top > span:not(.status-badge) {
    color: #566b43;
    font-size: 13px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
  }
  .mobile-booking-top .status-badge {
    flex-shrink: 0;
    font-size: 12px;
  }
  .mobile-booking-quest {
    display: block;
    color: #7d9069;
    font-size: 13px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  .mobile-booking-name {
    display: block;
    margin: 4px 0 5px;
    color: #354a25;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }
  .mobile-booking-meta {
    display: block;
    color: #8c9b7b;
    font-size: 12px;
    line-height: 1.7;
    overflow-wrap: anywhere;
  }
  .mobile-booking-money {
    display: block;
    padding-top: 10px;
    margin-top: 10px;
    border-top: 1px solid #edf1e5;
    color: #6b8355;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 700;
    overflow-wrap: anywhere;
  }
  .mobile-nav {
    position: fixed;
    inset: auto 0 0;
    z-index: 30;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 62px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    min-height: 76px;
    padding: 10px max(16px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
    border-top: 1px solid #dfe5d5;
    background: #fffffff5;
    box-shadow: 0 -5px 25px #3f4f2010;
    backdrop-filter: blur(14px);
  }
  .mobile-nav > button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
    min-width: 0;
    min-height: 48px;
    padding: 8px 4px;
    border-radius: 8px;
    background: transparent;
    color: #8c977f;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
  }
  .mobile-nav > button.active,
  .mobile-nav > button[aria-current="page"] {
    background: #f8ede5;
    color: #bd6f4a;
  }
  .mobile-nav > #mobile-add {
    width: 54px;
    height: 54px;
    justify-self: center;
    padding: 0;
    border-radius: 17px;
    background: var(--accent);
    color: #fff;
    box-shadow: 0 4px 12px #c9794d26;
    font-size: 29px;
    font-weight: 400;
    line-height: 1;
  }
  .mobile-nav > #mobile-add:hover {
    background: #d96348;
  }
  .mobile-nav #mobile-new {
    min-width: 18px;
    min-height: 18px;
    padding: 1px 4px;
    border-radius: 5px;
    background: #f1d8c8;
    color: #ac6441;
    font-size: 12px;
    line-height: 16px;
    text-align: center;
  }
  .booking-dialog {
    width: 100%;
    max-width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
  }
  .booking-dialog .drawer-top {
    padding: 16px 18px 14px;
    gap: 12px;
  }
  .drawer-top .eyebrow {
    font-size: 12px;
    letter-spacing: 1px;
    line-height: 1.4;
  }
  .drawer-top h2 {
    margin-top: 5px;
    font-size: 23px;
    line-height: 1.25;
  }
  .drawer-top .icon-button {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }
  .booking-dialog .drawer-body {
    padding: 0 18px 17px;
    scrollbar-gutter: auto;
    scroll-padding: 16px;
  }
  .booking-overview {
    gap: 7px 10px;
    padding: 17px 0 16px;
  }
  .booking-overview > strong {
    font-size: 17px;
  }
  .booking-overview > span:not(.status-badge) {
    font-size: 13px;
  }
  .booking-overview > .status-badge {
    margin-left: 0;
  }
  .drawer-body > .status-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 14px 0;
  }
  .drawer-body > .status-actions:empty {
    display: none;
  }
  .status-actions .button {
    min-height: 44px;
    padding: 9px 10px;
    font-size: 12px;
    white-space: normal;
    line-height: 1.5;
  }
  .status-actions .button:only-child {
    grid-column: 1 / -1;
  }
  .status-actions .button.danger:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
  .form-section {
    padding: 21px 0;
  }
  .form-section h3 {
    margin-bottom: 15px;
    font-size: 15px;
  }
  .form-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .field {
    gap: 7px;
    margin-bottom: 16px;
  }
  .field label {
    color: #626f56;
    font-size: 14px;
    line-height: 1.5;
  }
  .field label > span,
  .field small {
    font-size: 12px;
    line-height: 1.55;
  }
  .field input,
  .field select,
  .field textarea {
    min-height: 48px;
    padding: 11px 12px;
    border-radius: 7px;
    font-size: 16px;
    line-height: 1.5;
  }
  .field textarea {
    min-height: 88px;
  }
  .room-choice {
    gap: 12px;
    padding: 14px;
    margin-bottom: 18px;
    border-radius: 7px;
    min-height: 68px;
  }
  .room-choice strong {
    font-size: 14px;
    line-height: 1.5;
  }
  .room-choice small {
    font-size: 12px;
    line-height: 1.5;
  }
  .room-choice input {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin: 10px 0 10px 3px;
  }
  .price-summary {
    padding: 14px;
    border-radius: 8px;
  }
  .price-summary > div > span {
    font-size: 14px;
    line-height: 1.5;
  }
  .price-summary strong {
    white-space: nowrap;
    font-size: 16px;
  }

  .price-hint {
    font-size: 12px;
    line-height: 1.65;
  }
  details.history-section > summary {
    min-height: 48px;
    padding-top: 18px;
    padding-bottom: 18px;
    font-size: 14px;
    line-height: 1.55;
  }
  .history-section p {
    font-size: 14px;
  }
  .history-section time {
    font-size: 12px;
  }
  .booking-dialog .drawer-footer {
    align-items: center;
    gap: 12px;
    padding: 13px 18px calc(13px + env(safe-area-inset-bottom));
    box-shadow: 0 -4px 18px #2d41100a;
  }
  .drawer-footer > span {
    flex: 1;
    font-size: 12px;
    line-height: 1.5;
  }
  .drawer-footer .button {
    flex: 0 1 auto;
    min-height: 48px;
    padding: 11px 15px;
    font-size: 13px;
    line-height: 1.4;
    white-space: normal;
  }
  .small-dialog {
    max-width: calc(100% - 28px);
    width: 430px;
    max-height: calc(100dvh - 30px);
    padding: 20px;
    border-radius: 11px;
  }
  .small-dialog .icon-button {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
  }
  .small-dialog .button {
    min-height: 48px;
    font-size: 14px;
  }
  .empty-state {
    padding: 30px 17px;
  }
  .empty-state p {
    font-size: 14px;
  }
  .empty-state .button {
    min-height: 44px;
    font-size: 14px;
  }
  .admin-footer {
    flex-direction: column;
    gap: 4px;
    margin-top: 24px;
    padding: 17px 0 0;
    color: #a1ab94;
    font-size: 12px;
  }
  .toast {
    left: 50%;
    bottom: calc(90px + env(safe-area-inset-bottom));
    z-index: 60;
    width: max-content;
    max-width: calc(100% - 32px);
    padding: 13px 17px;
    font-size: 14px;
    line-height: 1.5;
  }
}

@media (max-width: 360px) {
  .main {
    padding-left: 12px;
    padding-right: 12px;
  }
  .day-selector {
    grid-template-columns: 44px minmax(0, 1fr) 44px 58px 44px;
    gap: 3px;
  }
  .day-selector .small {
    width: 58px;
  }
  .date-label strong {
    font-size: 14px;
  }
  .stats .stat {
    padding-right: 10px;
  }
  .stats .stat:nth-child(2) {
    padding-left: 10px;
  }
  .mobile-nav {
    gap: 4px;
    padding-left: 12px;
    padding-right: 12px;
  }
  .agenda-open {
    gap: 10px;
    padding-left: 11px;
    padding-right: 11px;
  }
  .drawer-footer > span {
    display: none;
  }
  .drawer-footer .button {
    flex: 1;
  }
}

/* Match the final agenda markup and keep status context visible. */
.booking-overview > #overview-status {
  margin-left: auto;
}
@media (max-width: 760px) {
  body[data-view="bookings"] .stats {
    display: none;
  }
  body[data-view="bookings"] .day-toolbar {
    margin-bottom: 20px;
  }
  .mobile-nav > button {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 3px;
    margin: 0;
    width: auto;
    padding: 5px 4px;
    font-size: 12px;
  }
  .mobile-nav > button > span {
    font-size: 21px;
    line-height: 23px;
  }
  .mobile-nav > #mobile-add {
    font-size: 0;
    gap: 0;
  }
  .mobile-nav > #mobile-add > span {
    font-size: 29px;
    line-height: 1;
  }
  .mobile-bookings-icon {
    position: relative;
    display: inline-block;
  }
  .mobile-nav #mobile-new {
    position: absolute;
    top: -5px;
    left: 17px;
    display: inline-block;
    min-width: 18px;
    line-height: 16px;
  }
  .mobile-booking-top > strong {
    min-width: 0;
    color: #566b43;
    font-size: 13px;
    line-height: 1.5;
    font-variant-numeric: tabular-nums;
  }
  .agenda-empty > strong {
    display: block;
    margin-bottom: 7px;
    color: #687b58;
    font-size: 16px;
  }
  .booking-overview > #overview-status {
    margin-left: 0;
  }
  .list-heading > #list-scope {
    display: block;
    max-width: 47%;
    color: #8e9c7f;
    font-size: 12px;
    line-height: 1.5;
    text-align: right;
  }
  .drawer-footer .button {
    min-width: 0;
    flex: 1 1 62%;
    text-align: center;
  }
  .drawer-footer > span {
    flex: 1 1 38%;
  }
}

@media (max-width: 760px) {
  .mobile-demo {
    margin: 0 0 14px;
    border: 1px solid #e6ded2;
    border-radius: 8px;
    background: #f1ece4;
    color: #86735e;
  }
  .mobile-demo > summary {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 8px 11px;
    cursor: pointer;
    list-style: none;
    font-size: 12px;
    line-height: 1.4;
  }
  .mobile-demo > summary::-webkit-details-marker {
    display: none;
  }
  .mobile-demo > summary::after {
    content: '+';
    margin-left: auto;
    padding-left: 5px;
    color: #a58b6f;
    font-size: 19px;
    line-height: 1;
    font-weight: 400;
  }
  .mobile-demo[open] > summary::after {
    content: '−';
  }
  .mobile-demo > summary > b {
    flex-shrink: 0;
    padding: 2px 4px;
    border: 1px solid #d7c1a9;
    border-radius: 4px;
    color: #9c7653;
    font-size: 12px;
    letter-spacing: .5px;
    line-height: 1.35;
  }
  .mobile-demo > summary > span {
    min-width: 0;
    color: #8a7862;
    font-size: 12px;
  }
  .mobile-demo > p {
    padding: 2px 12px 0;
    color: #8b7961;
    font-size: 12px;
    line-height: 1.65;
  }
  .mobile-demo > .text-button {
    display: block;
    min-height: 44px;
    margin: 0 10px 1px auto;
    padding: 8px 3px;
    color: #98704c;
    font-size: 12px;
  }
  .mobile-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
  }
  .mobile-nav > button {
    min-height: 54px;
  }
  .mobile-nav > #mobile-add {
    width: 100%;
    height: 54px;
    min-height: 54px;
    padding: 5px 4px;
    border-radius: 10px;
    gap: 3px;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
  }
  .mobile-nav > #mobile-add > span {
    font-size: 21px;
    line-height: 23px;
    font-weight: 400;
  }
}

body.modal-open{overflow:hidden}

/* Contact details and both kinds of notes stay readable in every view. */
.agenda-phone,.mobile-booking-phone,.table-phone{display:block;max-width:100%;margin-top:4px;color:#405335;font-size:15px;font-weight:700;line-height:1.45;letter-spacing:-.25px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.note-flags{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:5px}
.note-flag{display:inline-flex;align-items:center;padding:2px 6px;border:1px solid #d2dfc4;border-radius:4px;background:#edf4e5;color:#66824f;font-size:13px;font-weight:700;line-height:1.3;white-space:nowrap}
.note-flag.guest{border-color:#dfcba7;background:#fbf2df;color:#977344}
.note-flag.admin{border-color:#c6d4df;background:#eaf1f7;color:#5b788b}
@media(max-width:760px){.agenda-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-phone,.mobile-booking-phone{font-size:15px}.mobile-booking-name,.agenda-name{font-weight:700}.note-flags{gap:5px}.note-flag{font-size:13px}}

/* The same chronological list is available on desktop and phone. */
.schedule-agenda{width:100%;max-width:900px;min-width:0}
#service-hint{display:block;margin:0 0 16px;padding:10px 12px;border-radius:6px;background:#eef2e7;color:#7b8c69;font-size:13px;line-height:1.65}
@media(min-width:761px){
  .schedule-agenda .agenda-controls{display:flex;align-items:center;gap:15px;max-width:600px;margin-bottom:14px}
  .schedule-agenda .agenda-controls label{font-size:14px;color:#758469}
  .schedule-agenda .agenda-controls select{flex:1;min-width:0;min-height:44px;padding:10px 32px 10px 12px;border:1px solid #dce1d3;border-radius:7px;background:#fff;color:#394431;font-size:14px}
  .schedule-agenda .agenda-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-width:420px;padding:4px;margin:0 0 24px;border:1px solid #e3e6dc;border-radius:9px;background:#eaece4}
  .schedule-agenda .agenda-modes button{min-height:44px;padding:9px 12px;border-radius:6px;background:transparent;color:#75866a;font-size:14px;font-weight:700}
  .schedule-agenda .agenda-modes button[aria-pressed=true]{background:#fff;color:#38442c;box-shadow:0 1px 3px #2e3e1614}
  .schedule-agenda .agenda-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:14px}
  .schedule-agenda .agenda-heading h2{font-size:18px}
  .schedule-agenda .agenda-heading > span{color:#839773;font-size:13px}
  .schedule-agenda .agenda-list{display:flex;flex-direction:column;gap:10px}
  .schedule-agenda .agenda-row{display:flex;align-items:stretch;min-width:0;border:1px solid #dde4d4;border-left:3px solid #82ae8c;border-radius:8px;background:#fff;overflow:hidden}
  .schedule-agenda .agenda-open{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:start;gap:15px;flex:1;min-width:0;padding:16px 18px;background:transparent;text-align:left}
  .schedule-agenda .agenda-open:hover{background:#f6f9ef}
  .schedule-agenda .agenda-time{color:#35472b;font-size:18px;font-weight:700;line-height:1.4;font-variant-numeric:tabular-nums}
  .schedule-agenda .agenda-content{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
  .schedule-agenda .agenda-quest{color:#6f855e;font-size:14px;font-weight:700;line-height:1.45}
  .schedule-agenda .agenda-name{max-width:100%;color:#35492b;font-size:16px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
  .schedule-agenda .agenda-meta{color:#839771;font-size:13px;line-height:1.5}
  .schedule-agenda .agenda-price{margin-top:3px;color:#667f52;font-size:14px;font-weight:700;line-height:1.5}
  .schedule-agenda .status-badge{font-size:13px}
  .schedule-agenda .agenda-block{flex:0 0 54px;min-width:44px;min-height:44px;padding:8px;border-left:1px solid #e7eddf;background:transparent;color:#9bad8b;font-size:24px}
  .schedule-agenda .agenda-block:hover{background:#f5ebdf;color:#9d7457}
  .schedule-agenda .status-new{border-color:#ead6b6;border-left-color:#d4a15a;background:#fffaf1}
  .schedule-agenda .status-completed{border-color:#e0e3df;border-left-color:#a6aea0;background:#f5f6f2}
  .schedule-agenda .is-free{border-left-width:1px;background:#f9fbf5}
  .schedule-agenda .is-free .agenda-open{min-height:86px}
  .schedule-agenda .is-free .agenda-name{font-size:14px;color:#879d72}
  .schedule-agenda .is-blocked{border:1px dashed #c3d1b5;background:#eef3e6}
  .schedule-agenda .is-blocked .agenda-name{color:#8b9d78}
  .schedule-agenda .is-past{background:#f0f4e9;color:#97a789}
  .schedule-agenda .agenda-empty{padding:30px 20px;border:1px dashed #d1ddc4;border-radius:9px;background:#f0f5e8;color:#81966d;font-size:14px;line-height:1.7;text-align:center}
  .schedule-agenda .agenda-empty strong{display:block;margin-bottom:8px;font-size:16px;color:#698250}
}

/* Booking options and a pending parent permission file. */
.parental-permission{padding:16px;margin:-7px 0 18px;border:1px solid #dfcda7;border-radius:7px;background:#fff8e9;color:#796341;line-height:1.6}
.parental-permission strong{display:block;font-size:14px}
.parental-permission p{margin:6px 0 11px;font-size:14px}
.parental-permission small{display:block;font-size:12px;margin-top:8px}
.permission-download:disabled{cursor:not-allowed;opacity:.6}
.price-summary #edit-total{font-size:23px;letter-spacing:-.4px}
@media(max-width:760px){.parental-permission{padding:14px}.parental-permission strong,.parental-permission p{font-size:15px}.permission-download{min-height:44px}}

/* Manager cancellation requests are independent of the selected schedule day. */
body[data-view="tasks"] .day-toolbar,body[data-view="tasks"] .stats{display:none}
.tasks-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;max-width:950px;margin:4px 0 12px}.tasks-heading>span{font-size:13px;color:var(--muted)}.tasks-help{max-width:950px;margin-bottom:18px;color:#74614b;font-size:14px;line-height:1.7}.tasks-list{display:grid;gap:14px;max-width:950px}.manager-task{min-width:0;padding:22px;border:1px solid #e4d3bc;border-left:4px solid #d3a163;border-radius:10px;background:#fff}.manager-task-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.manager-task-top h3{font-size:15px;line-height:1.5;overflow-wrap:anywhere}.manager-task-channel{flex-shrink:0;padding:3px 8px;border-radius:5px;background:#edf3e9;color:#49673b;font-size:12px;font-weight:700}.manager-task-session,.manager-task-guest,.manager-task-phone,.manager-task-requested{display:block;overflow-wrap:anywhere}.manager-task-session{font-size:16px;line-height:1.6;color:#465b37}.manager-task-guest{margin-top:10px;font-size:16px;font-weight:700}.manager-task-phone{width:fit-content;margin-top:3px;font-size:16px;font-weight:700;color:#405c33;text-decoration:underline;text-underline-offset:3px}.manager-task-requested{margin-top:10px;font-size:12px;color:var(--muted)}.manager-task-note{margin-top:14px;font-size:14px;line-height:1.65;color:#786249}.manager-task-changed{margin-top:14px;padding:11px 13px;border-radius:6px;background:#f3f4ee;color:#5d6754;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.manager-task-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.manager-task-actions .button{min-height:44px;white-space:normal;line-height:1.5}.manager-task-actions .primary{margin-left:auto}.manager-task-actions button:disabled{opacity:.65}#tasks-empty{max-width:950px}#tasks-server-link{margin-top:16px}
@media(max-width:760px){.mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.mobile-nav #mobile-tasks{position:absolute;top:-5px;left:17px;display:inline-block;min-width:18px;min-height:18px;padding:1px 4px;border-radius:5px;background:#f1d8c8;color:#ac6441;font-size:12px;line-height:16px;text-align:center}.tasks-heading{margin-top:6px;gap:8px}.tasks-heading h2{font-size:18px}.tasks-heading>span{font-size:12px;white-space:nowrap}.tasks-help{font-size:14px;margin-bottom:16px}.manager-task{padding:18px 15px}.manager-task-top{align-items:flex-start;gap:8px}.manager-task-top h3{font-size:15px}.manager-task-session{font-size:15px}.manager-task-requested{font-size:12px;line-height:1.6}.manager-task-actions{display:grid;gap:9px}.manager-task-actions .primary{margin-left:0}.manager-task-actions .button{width:100%;min-height:48px;font-size:13px}.manager-task-actions .neutral{order:2}}
@media(max-width:360px){.mobile-nav{gap:3px}.mobile-nav>button,.mobile-nav>#mobile-add{font-size:11px}}

/* The daily board uses a small working toolbar so the whole day gets the screen. */
@media(min-width:901px){
  body[data-view="schedule"][data-layout="compact"] .main{position:relative;padding:12px 18px 0}
  body[data-view="schedule"][data-layout="compact"] .page-header{display:block;height:0;margin:0}
  body[data-view="schedule"][data-layout="compact"] .page-header>div{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  body[data-view="schedule"][data-layout="compact"] #add-booking{position:absolute;top:12px;right:18px;min-height:36px;padding:6px 12px;font-size:12px}
  body[data-view="schedule"][data-layout="compact"] .demo-banner{min-height:36px;height:36px;margin:0 156px 7px 0;padding:4px 10px;gap:10px}
  body[data-view="schedule"][data-layout="compact"] .demo-banner p{display:none}
  body[data-view="schedule"][data-layout="compact"] .demo-banner .demo-label{margin-right:auto;font-size:10px;padding:2px 4px}
  body[data-view="schedule"][data-layout="compact"] .demo-banner .text-button{font-size:11px;white-space:nowrap;min-height:26px}
  body[data-view="schedule"][data-layout="compact"] .day-toolbar{min-height:36px;margin-bottom:7px}
  body[data-view="schedule"][data-layout="compact"] .day-selector .button,body[data-view="schedule"][data-layout="compact"] .day-selector .icon-button{min-height:34px;height:34px}
  body[data-view="schedule"][data-layout="compact"] .stats{display:flex;gap:7px;margin-bottom:8px}
  body[data-view="schedule"][data-layout="compact"] .stat{display:flex;flex:1 1 0;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:5px 9px}
  body[data-view="schedule"][data-layout="compact"] .stat>span{font-size:11px;line-height:1.35}
  body[data-view="schedule"][data-layout="compact"] .stat>div{margin:0;gap:0;flex-wrap:nowrap}
  body[data-view="schedule"][data-layout="compact"] .stat strong{font-size:19px;line-height:1.2;letter-spacing:-.4px;white-space:nowrap}
  body[data-view="schedule"][data-layout="compact"] .stat .stat-caption,body[data-view="schedule"][data-layout="compact"] .stat small{display:none}
  body[data-view="schedule"][data-layout="compact"] .money-stat{flex-grow:1.3}
  body[data-view="schedule"][data-layout="compact"] .schedule-layout-switch{padding:3px;margin-bottom:5px;gap:2px}
  body[data-view="schedule"][data-layout="compact"] .schedule-layout-switch button{min-height:32px;padding:5px 13px;font-size:12px}
  body[data-view="schedule"][data-layout="compact"] .admin-footer{display:none}
}
@media(max-width:900px){body[data-view="schedule"][data-layout="compact"] .stats{display:none}}

/* Keep the phone calendar inside the viewport, with all navigation reachable. */
.booking-notes{margin:4px 0 14px;border:1px solid var(--line);border-radius:7px;padding:0 12px}
.booking-notes>summary{min-height:44px;display:flex;align-items:center;gap:7px;color:#68745e;font-size:13px;font-weight:700;cursor:pointer}
.booking-notes>summary::before{content:'＋';font-size:17px}
.booking-notes[open]>summary::before{content:'−'}
.booking-notes[open]>summary{margin-bottom:8px}
.booking-close-slot{margin-top:14px;min-height:44px}
.schedule-details-dialog{overflow-y:auto;overscroll-behavior:contain}
.schedule-details-range{margin:12px 0;font-size:16px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.schedule-details-reason,.schedule-details-explanation{margin:12px 0;font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.schedule-details-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.schedule-details-actions .button{flex:1;min-height:48px}
.schedule-details-item{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;padding:12px;margin:9px 0;border:1px solid var(--line);border-radius:7px;background:#fff;color:#405335;text-align:left;line-height:1.5}
.schedule-details-item strong{font-size:14px;overflow-wrap:anywhere}
.schedule-details-item span{font-size:14px}
.mobile-more-menu>a{display:flex;align-items:center;min-height:44px;padding:10px 15px;border-radius:6px;color:#4b623c;font-size:14px;text-decoration:none}
.mobile-more-menu>a:hover{background:#edf4e5}

@media(max-width:1024px){
  body[data-view="schedule"][data-layout="compact"]{height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none}
  body[data-view="schedule"][data-layout="compact"] .sidebar,
  body[data-view="schedule"][data-layout="compact"] .page-header,
  body[data-view="schedule"][data-layout="compact"] .demo-banner,
  body[data-view="schedule"][data-layout="compact"] .mobile-demo,
  body[data-view="schedule"][data-layout="compact"] #new-requests,
  body[data-view="schedule"][data-layout="compact"] .stats,
  body[data-view="schedule"][data-layout="compact"] .timezone,
  body[data-view="schedule"][data-layout="compact"] .admin-footer{display:none!important}
  body[data-view="schedule"][data-layout="compact"] .main{position:fixed;inset:0 0 calc(68px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:0;width:auto;max-width:none;min-height:0;margin:0;padding:4px max(5px,env(safe-area-inset-right)) 0 max(5px,env(safe-area-inset-left));overflow:hidden}
  body[data-view="schedule"][data-layout="compact"] .day-toolbar{display:block;flex:0 0 auto;width:100%;min-height:44px;margin:0 0 3px;padding:0;border:0;background:transparent}
  body[data-view="schedule"][data-layout="compact"] .day-selector{display:grid;grid-template-columns:44px minmax(75px,1fr) 44px 62px 44px;align-items:center;gap:3px;width:100%}
  body[data-view="schedule"][data-layout="compact"] .day-selector .icon-button,
  body[data-view="schedule"][data-layout="compact"] .day-selector .calendar-label{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;height:44px;margin:0;border-radius:6px;background:#fff}
  body[data-view="schedule"][data-layout="compact"] .day-selector .small{width:62px;min-height:44px;padding:5px 2px;font-size:12px}
  body[data-view="schedule"][data-layout="compact"] .date-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:0;margin:0;padding:0;text-align:center}
  body[data-view="schedule"][data-layout="compact"] .date-label strong{font-size:15px;line-height:18px;white-space:nowrap;letter-spacing:-.3px}
  body[data-view="schedule"][data-layout="compact"] .date-label span{font-size:11px;line-height:14px}
  body[data-view="schedule"][data-layout="compact"] #schedule-view{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}
  body[data-view="schedule"][data-layout="compact"] .schedule-layout-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:0 0 auto;gap:2px;width:100%;margin:0 0 3px;padding:2px;border-radius:6px}
  body[data-view="schedule"][data-layout="compact"] .schedule-layout-switch button{min-width:0;min-height:36px;padding:4px 7px;font-size:12px;line-height:18px}
  body[data-view="schedule"][data-layout="compact"] #compact-schedule-view{flex:1 1 auto;min-height:0;overflow:hidden}
  body[data-view="schedule"][data-layout="compact"] #compact-schedule{height:100%;min-height:0;overflow:hidden}
  body[data-view="schedule"][data-layout="compact"] #global-error:not([hidden]){flex:0 0 auto;max-height:90px;overflow:auto;margin:0 0 4px;padding:7px;font-size:12px;line-height:1.4}
  body[data-view="schedule"][data-layout="compact"] .mobile-nav{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:3px;min-height:68px;height:calc(68px + env(safe-area-inset-bottom));padding:5px max(5px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));border-top:1px solid #dfe5d5;background:#fffffff5;box-shadow:0 -3px 15px #3f4f2010;backdrop-filter:blur(14px)}
  body[data-view="schedule"][data-layout="compact"] .mobile-nav>button{position:relative;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;gap:3px;width:100%;min-width:0;min-height:56px;height:56px;padding:4px 0;margin:0;border-radius:8px;background:transparent;color:#718063;font-size:11px;line-height:14px;white-space:nowrap}
  body[data-view="schedule"][data-layout="compact"] .mobile-nav>button>span{font-size:21px;line-height:24px}
  body[data-view="schedule"][data-layout="compact"] .mobile-nav>button.active{color:#bb593f;background:#f8ece6}
  body[data-view="schedule"][data-layout="compact"] .mobile-nav>#mobile-add{background:#dc6b58;color:#fff;font-size:11px}
  body[data-view="schedule"][data-layout="compact"] .mobile-nav .mobile-bookings-icon{position:relative;display:inline-block}
  body[data-view="schedule"][data-layout="compact"] .mobile-nav .mobile-bookings-icon>b{position:absolute;top:-5px;left:16px;display:inline-block;min-width:18px;min-height:18px;padding:1px 4px;border-radius:5px;background:#f1d8c8;color:#ac6441;font-size:11px;line-height:16px;text-align:center}
  body[data-view="schedule"][data-layout="compact"] .mobile-more-menu:not([hidden]){display:block!important;bottom:calc(72px + env(safe-area-inset-bottom));max-height:calc(100dvh - 90px);overflow:auto}
  .booking-dialog .drawer-top{padding:12px 14px;gap:10px}
  .booking-dialog .drawer-top .eyebrow{display:none}
  .booking-dialog .drawer-top h2{margin:0;font-size:21px;line-height:28px}
  .booking-dialog .drawer-top .icon-button{width:44px;height:44px;min-width:44px;min-height:44px}
  .booking-dialog .drawer-body{padding:0 14px 10px;scrollbar-gutter:auto;scroll-padding:12px}
  .booking-dialog .form-section{padding:12px 0}
  .booking-dialog .form-section h3{margin-bottom:10px;font-size:13px}
  .booking-dialog .form-section h3>span{display:none}
  .booking-dialog .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .booking-dialog .field{min-width:0;gap:5px;margin-bottom:10px}
  .booking-dialog .field label{font-size:12px;line-height:18px}
  .booking-dialog .field input,.booking-dialog .field select,.booking-dialog .field textarea{width:100%;min-width:0;min-height:44px;padding:8px 9px;font-size:16px;line-height:24px}
  .booking-dialog .field input[type=date]{appearance:none;-webkit-appearance:none;display:block}
  .booking-dialog .field small{font-size:11px;line-height:16px}
  .booking-dialog #service-hint{display:none}
  .booking-dialog .room-choice{min-height:48px;margin-bottom:9px;padding:9px 10px;gap:9px}
  .booking-dialog .room-choice strong{font-size:12px;line-height:18px}
  .booking-dialog .room-choice small{font-size:11px;line-height:16px}
  .booking-dialog .room-choice input{flex:0 0 22px;width:22px;height:22px;margin:3px 0}
  .booking-dialog .price-summary{padding:10px 12px}
  .booking-dialog .price-hint{margin:7px 0 0;font-size:11px;line-height:16px}
  .booking-dialog .booking-close-slot{margin-top:10px;min-height:44px;padding:8px 12px;font-size:12px}
  .booking-dialog .booking-notes{margin-bottom:0}
  .booking-dialog .booking-notes>summary{font-size:12px;min-height:44px}
  .booking-dialog .drawer-footer{padding:9px 14px calc(9px + env(safe-area-inset-bottom));gap:10px}
  .booking-dialog .drawer-footer>span{font-size:11px;line-height:16px}
  .booking-dialog .drawer-footer .button{min-height:44px;padding:9px 12px;font-size:13px}
}
.drawer-top-actions{display:flex;align-items:center;gap:8px}
.drawer-top-actions .booking-close-slot{margin:0}
@media(max-width:1024px){
 .booking-dialog .drawer-top>div:first-child{min-width:0}
 .booking-dialog .drawer-top-actions{flex:0 0 auto;gap:7px}
 .booking-dialog .drawer-top-actions .booking-close-slot{width:85px;max-width:85px;margin:0;padding:5px 7px;font-size:11px;line-height:15px;white-space:normal}
}

/* The agreed price remains visible beside Save while optional metadata folds away. */
.drawer-price{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;flex:1;color:#69775d;line-height:1.3}
.drawer-price>span{font-size:12px}
.drawer-price>strong{color:#405335;font-size:22px;letter-spacing:-.4px;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:1024px){
 .booking-dialog .form-section{padding:7px 0}
 .booking-dialog .form-section>h3{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;padding:0}
 .booking-dialog .field{margin-bottom:8px}
 .booking-dialog .form-grid{gap:8px}
 .booking-dialog .room-choice{margin-bottom:7px;padding:7px 9px;min-height:44px}
 .booking-dialog .booking-notes{margin-top:0}
 .booking-dialog .booking-price-details{border:0;padding:0}
 .booking-dialog .price-hint[data-price-state="valid"]{display:none}
 .booking-dialog .price-hint[data-price-state="error"]{margin:6px 0 8px;color:#9c4936;font-size:12px;line-height:17px}
 .booking-dialog #manual-price-field{margin-bottom:0}
 .booking-dialog #manual-price-field>small{display:none}
 .booking-dialog .drawer-footer{padding:8px 14px calc(8px + env(safe-area-inset-bottom))}
 .booking-dialog .drawer-price{flex:0 1 38%;gap:1px}
 .booking-dialog .drawer-price>span{font-size:11px;line-height:14px}
 .booking-dialog .drawer-price>strong{font-size:21px;line-height:25px}
 .booking-dialog .drawer-footer .button{flex:1 1 62%}
}

/* iOS keeps the layout viewport tall when its keyboard opens. */
@media(max-width:1024px){
 #booking-dialog{top:var(--admin-visible-top,0px);bottom:auto;height:var(--admin-visible-height,100dvh);max-height:var(--admin-visible-height,100dvh)}
 #block-dialog,#schedule-details-dialog,#loft-reminder-dialog{position:fixed;top:calc(var(--admin-visible-top,0px) + 8px);right:0;bottom:auto;left:0;margin:0 auto;max-height:calc(var(--admin-visible-height,100dvh) - 16px);overflow-y:auto;overscroll-behavior:contain}
}

/* Contact actions stay inside the booking card and use its editable number. */
.booking-overview>.overview-contact{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;flex-basis:100%;min-width:0;width:100%}
.overview-contact>strong{flex:1 1 120px;min-width:0;font-size:17px;line-height:1.4;overflow-wrap:anywhere}
.booking-contact-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;max-width:100%;padding:8px 10px;border:1px solid #cad8bd;border-radius:7px;background:#f0f6e9;color:#405d31;font-size:14px;line-height:20px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer}
.booking-contact-toggle::after{content:'⌄';font-size:15px;line-height:1}
.booking-contact-toggle[aria-expanded="true"]{border-color:#91aa79;background:#e7f0dd}
.booking-contact-toggle[aria-expanded="true"]::after{content:'⌃'}
.booking-contact-toggle:disabled{border-color:#dfe2d9;background:#f0f1ec;color:#89927f;cursor:default}
.booking-contact-toggle:disabled::after{display:none}
.booking-contact-hint{flex-basis:100%;font-size:12px;line-height:18px;color:#936148}
.booking-contact-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;flex-basis:100%;width:100%;min-width:0;padding:10px;border:1px solid #d6dfcd;border-radius:8px;background:#f0f5e9}
.booking-contact-actions>a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 5px;border:1px solid #d4dfc8;border-radius:6px;background:#fff;color:#405d31;font-size:13px;line-height:18px;font-weight:700;text-align:center;text-decoration:none}
.booking-contact-actions>a:hover{border-color:#a9bc96;background:#fbfff6}
.booking-contact-actions>small{grid-column:1/-1;color:#7c866f;font-size:11px;line-height:16px}
@media(max-width:1024px){
 .booking-overview>.overview-contact{gap:4px 8px}
 .overview-contact>strong{font-size:16px;flex-basis:105px}
 .booking-contact-toggle{padding:7px 8px;font-size:13px}
 .booking-contact-actions{gap:5px;padding:7px}
 .booking-contact-actions>a{font-size:12px;padding:7px 3px}
}

/* Original brand artwork; preserve the compact timetable height. */
.sidebar .brand{gap:0;padding:0 8px;max-width:100%}
.sidebar .brand .brand-wordmark{display:block;width:170px;max-width:100%;height:auto;flex:0 1 auto;object-fit:contain}
.sidebar .brand .brand-symbol{display:none;width:40px;max-width:100%;height:auto;flex:none}
.mobile-nav-brand{display:block;width:24px;height:24px;object-fit:contain}
@media(min-width:761px) and (max-width:900px){.sidebar .brand{padding:0}.sidebar .brand .brand-wordmark{display:none}.sidebar .brand .brand-symbol{display:block}}
@media(max-width:760px){.sidebar .brand{padding:0}.sidebar .brand .brand-wordmark{width:120px}}

/* Standalone loft duration and its agreed total share a compact row. */
#loft-duration-field[hidden]+#manual-price-field{grid-column:1/-1}
#loft-duration-field>small{line-height:1.45}
#loft-duration-field select{margin-bottom:3px}
#loft-price-hint{display:block;font-size:11px;line-height:1.45}
@media(max-width:1024px){.booking-dialog #manual-price-field>#loft-price-hint{display:block}}

.room-hours-field{display:grid;grid-template-columns:minmax(0,1fr) 90px;align-items:center;gap:5px 12px;padding:10px 12px;margin:-3px 0 12px;border:1px solid #d9e2cf;border-radius:7px;background:#f3f7ed}
.room-hours-field>label{margin:0}
.room-hours-field>small{grid-column:1/-1;line-height:1.45}
@media(max-width:1024px){.booking-dialog .room-hours-field{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:4px 10px;margin:-2px 0 8px;padding:7px 9px}.booking-dialog .room-hours-field>label{font-size:13px}}

.loft-reminder-dialog h2{font-size:21px;line-height:1.4;overflow-wrap:anywhere}
.loft-reminder-dialog p{margin:16px 0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.loft-reminder-dialog .button{width:100%;min-height:48px;margin-top:4px}

/* Large explicit messenger choices; the hidden select retains delivery state. */
.booking-players-status.new-booking-fields,.form-grid.new-booking-fields{grid-template-columns:minmax(0,1fr)}
.booking-messages{padding:16px!important;border:2px solid #c8d5c0!important;border-radius:14px;background:#f3f7ee;margin:14px 0!important}
.booking-messages h3{margin-bottom:8px!important;font-size:18px!important;color:#263c2b}
.booking-channel-label{display:block;margin-bottom:12px;font-size:16px;font-weight:800;line-height:1.35}
.booking-channel-choices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.booking-channel-choice{position:relative;min-height:64px;border:2px solid;border-radius:11px;padding:14px 12px;font-size:17px;font-weight:800;line-height:1.2}
.booking-channel-choice.telegram{background:#e8f4fc;border-color:#a6cfe6;color:#135f8e}
.booking-channel-choice.whatsapp{background:#eaf5e6;border-color:#b1d0a8;color:#285d30}
.booking-channel-choice[aria-pressed="true"]{box-shadow:inset 0 0 0 1px currentColor,0 0 0 2px #fff}
.booking-channel-choice[aria-pressed="true"]::after{content:'✓';position:absolute;right:7px;top:4px;font-size:15px}
.booking-channel-choice.telegram[aria-pressed="true"]{background:#d0eafb;border-color:#1682bb}
.booking-channel-choice.whatsapp[aria-pressed="true"]{background:#d6edce;border-color:#3c8646}
.booking-message-controls{display:block;margin-top:8px}
.booking-message-controls .button{width:100%;min-height:50px;padding:12px 16px;font-size:15px;white-space:normal}
.booking-message-status{font-size:12px;line-height:1.45;margin:10px 0 0;color:#5d6959}

/* Work roles keep existing bookings readable without exposing edit actions. */
.stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.booking-read-only{padding:12px 14px;margin:0 0 12px;border:1px solid #dce5d6;border-radius:8px;background:#f1f6ec;color:#526247;font-size:13px;line-height:1.5}
#booking-dialog input:disabled,#booking-dialog select:disabled,#booking-dialog textarea:disabled{opacity:1;color:#596052;background:#f4f5f1;-webkit-text-fill-color:#596052}
