:root{--paper:#F7F6F2;--ink:#34251D;--muted:#766A61;--brand:#4C2611;--surface:#FFFEFC;--line:#DED8CE;--soft:#EDE5DC;--on-brand:#FAF8F4;--accent:#B08057;--grey-light:#E4E3D9;--grey:#92948C;color-scheme:light}
@font-face{font-family:BrandSerif;src:local("Baskerville")}*{box-sizing:border-box}html{font-size:16px;color-scheme:light}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}button{color:inherit}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.4}h1{font-size:2.1rem;letter-spacing:-.04em}h2{font-size:1.6rem}h3{font-size:1.15rem}.initial{min-height:100dvh;display:grid;place-content:center;text-align:center;gap:12px}.initial span{font-family:BrandSerif,Georgia,serif;font-size:2.2rem;letter-spacing:.15em}svg.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}.subtle{color:var(--muted);font-size:.9rem}.small{font-size:.8rem}.brand-word{font-family:BrandSerif,Georgia,serif;font-size:1.9rem;line-height:1.1;letter-spacing:.035em;color:var(--brand)}.brand-word small{display:block;font:500 .6rem/1.8 -apple-system,sans-serif;letter-spacing:.34em;margin-top:5px}.brand-logo{width:144px;height:61px;object-fit:contain;object-position:left center}.app-header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);max-width:1320px;margin:auto;padding:0 48px;gap:20px}.header-right{display:flex;gap:18px;align-items:center}.identity{display:flex;align-items:center;gap:10px}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--soft);color:var(--brand);font-size:.9rem}.logout{background:none;border:0;color:var(--muted);padding:8px;font-size:.85rem}.demo-banner{background:#f1e5cc;color:#6b522b;font-size:.75rem;text-align:center;padding:5px 15px}.layout{display:grid;grid-template-columns:188px minmax(0,1fr);gap:54px;max-width:1320px;margin:auto;padding:42px 48px 100px}.rail{border-right:1px solid var(--line);padding-right:24px}.rail .eyebrow{font-size:.67rem;margin:8px 12px 24px}.nav-item{display:flex;align-items:center;gap:12px;min-height:50px;width:100%;background:none;border:0;border-radius:8px;text-align:left;padding:12px;margin-bottom:8px;color:var(--muted)}.nav-item.active{color:var(--brand);background:var(--soft);font-weight:600}.rail-note{font-size:.75rem;color:var(--muted);padding:24px 12px;line-height:1.8;border-top:1px solid var(--line);margin-top:40px}.content{min-width:0}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading .eyebrow{margin-bottom:9px}.page-heading .subtle{margin-top:8px}.heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:47px;border:1px solid var(--brand);padding:10px 20px;border-radius:6px;line-height:1.4;text-decoration:none;font-weight:500;background:var(--brand);color:var(--on-brand)}.btn:hover{filter:brightness(.96)}.btn.secondary{color:var(--ink);border-color:var(--line);background:transparent}.btn.quiet{color:var(--brand);border-color:transparent;background:transparent;padding:8px 4px}.btn.small{min-height:36px;padding:7px 13px;font-size:.85rem}.btn.danger{color:#9b4c36;border-color:#dec4b8;background:#fffaf7}.surface{background:var(--surface);border:1px solid var(--line);border-radius:12px}.next-card{padding:32px 36px;background:var(--brand);color:var(--on-brand);border-radius:12px;position:relative;overflow:hidden;min-height:245px}.next-card:after{content:"";position:absolute;width:350px;height:350px;border:1px solid currentColor;border-radius:50%;right:-200px;top:-100px;opacity:.15;pointer-events:none}.next-card .eyebrow{color:inherit;opacity:.7}.next-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.tag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);padding:3px 10px;border-radius:4px;font-size:.78rem;font-weight:500;white-space:nowrap;background:var(--surface);color:var(--muted)}.tag.confirmed{color:var(--brand);background:var(--soft);border-color:var(--soft)}.tag.lesson{color:var(--brand);background:var(--soft);border-color:var(--soft)}.tag.practice{background:var(--grey-light);border-color:var(--grey-light);color:#546164}.tag.cancelled{color:#8c8077;background:#f0ece7;border-color:#e6e0d8}.next-card .tag{border-color:#ffffff55;background:transparent;color:inherit}.next-date{font-size:1.15rem;margin-top:25px}.next-time{font-family:BrandSerif,Georgia,serif;font-size:3.2rem;line-height:1.2;letter-spacing:-.04em;margin:5px 0 12px}.next-meta{font-size:.95rem;opacity:.85}.next-empty{margin:30px 0 13px;font-size:1.7rem}.section-title{display:flex;align-items:center;justify-content:space-between;margin:32px 0 17px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.action-card{border:1px solid var(--line);background:var(--surface);border-radius:10px;text-align:left;padding:26px 28px;min-height:156px;position:relative;transition:transform .15s,border-color .15s}.action-card:hover{transform:translateY(-2px);border-color:var(--accent)}.action-card .action-icon{width:38px;height:38px;display:grid;place-items:center;background:var(--soft);border-radius:50%;color:var(--brand);margin-bottom:15px}.action-card h3{font-size:1.3rem}.action-card p{color:var(--muted);font-size:.85rem;margin-top:5px}.action-card>.icon{position:absolute;right:26px;top:30px;color:var(--brand)}.booking-list{display:grid;gap:12px}.booking-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;background:var(--surface);border:1px solid var(--line);border-radius:9px}.booking-date{width:75px;border-right:1px solid var(--line);padding-right:18px;text-align:center;flex:none}.booking-date b{display:block;font:2rem/1.2 BrandSerif,Georgia,serif}.booking-date span{font-size:.75rem;color:var(--muted)}.booking-main{flex:1;min-width:0}.booking-main h3{font-size:1.15rem}.booking-main p{font-size:.85rem;color:var(--muted);margin-top:5px}.booking-actions{display:flex;align-items:center;gap:10px}.empty{padding:48px 25px;text-align:center;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}.empty h3{color:var(--ink);margin:12px 0 6px}.empty .icon{width:30px;height:30px}.form-panel{padding:28px}.field{display:grid;gap:8px;min-width:0}.field label,.field-label{font-size:.875rem;font-weight:500;color:var(--ink)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:11px 13px;min-height:47px;color:var(--ink)}.field textarea{min-height:118px;resize:vertical;line-height:1.8}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field.full{grid-column:1/-1}.form-footer{margin-top:24px;display:flex;justify-content:flex-end;gap:12px}.date-picker{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:22px 0}.date-chip{padding:10px 16px;border:1px solid var(--line);background:var(--surface);border-radius:7px;min-height:57px;min-width:71px}.date-chip span{display:block;font-size:.7rem;color:var(--muted)}.date-chip.active{border-color:var(--brand);background:var(--soft);color:var(--brand)}.date-input{border:1px solid var(--line);border-radius:5px;padding:10px;background:var(--surface);min-width:150px;color:var(--ink)}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.slot{min-height:53px;border:1px solid var(--line);background:var(--surface);border-radius:6px;font-size:1rem}.slot.selected{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}.slot small{display:block;font-size:.7rem;opacity:.7}.booking-summary{display:flex;gap:20px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.booking-summary p{font-size:.875rem;color:var(--muted)}.back{border:0;background:none;color:var(--muted);display:flex;align-items:center;gap:8px;padding:0;margin-bottom:23px;font-size:.85rem}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.stats-strip{display:flex;gap:28px;margin-bottom:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.stats-strip b{font:1.8rem/1.2 BrandSerif,Georgia,serif;vertical-align:middle;margin-right:8px}.stats-strip span{font-size:.8rem;color:var(--muted)}.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.bay-heading{display:flex;justify-content:space-between;align-items:center;padding:0 4px 14px;border-bottom:1px solid var(--line)}.bay-heading b{font:1.5rem BrandSerif,Georgia,serif;color:var(--brand)}.bay-heading span{font-size:.8rem;color:var(--muted)}.schedule-column{display:grid;align-content:start;gap:12px}.lesson-card{padding:20px;border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:6px;background:var(--surface)}.lesson-card.practice{border-left-color:var(--grey)}.lesson-time{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:1.15rem}.lesson-card h3{margin-top:13px}.lesson-card p{color:var(--muted);font-size:.83rem;margin-top:3px}.lesson-card .btn{margin-top:15px}.booking-pills{display:flex;gap:8px;flex-wrap:wrap}.assistant-context{display:flex;justify-content:space-between;gap:15px;padding:15px 20px;background:var(--soft);border-radius:8px;margin-bottom:20px;align-items:center;font-size:.8rem}.prompt-examples{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 22px}.prompt-example{border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:7px 13px;color:var(--muted);font-size:.8rem}.assistant-response{margin-top:24px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:24px}.assistant-response h3{margin:9px 0}.assistant-response p{white-space:pre-wrap;font-size:.95rem}.assistant-status{font-size:.75rem;color:var(--muted);margin-top:12px}.members-top{display:flex;gap:15px;align-items:center;margin-bottom:20px}.search-input{flex:1;padding:12px 15px;border:1px solid var(--line);border-radius:6px;background:var(--surface);min-width:0}.member-list{display:grid;gap:10px}.member-row{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;gap:15px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.member-row h3{font-size:1rem}.member-row p{font-size:.8rem;color:var(--muted)}.member-row .booking-actions{flex-wrap:wrap;justify-content:flex-end}.success-panel{max-width:590px;margin:0 auto;padding:38px}.success-mark{width:55px;height:55px;background:var(--soft);border-radius:50%;display:grid;place-items:center;margin-bottom:25px;color:var(--brand)}.success-panel h1{margin-bottom:7px}.receipt{margin:27px 0}.receipt-row{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.95rem}.receipt-row span{color:var(--muted)}.receipt-row b{font-weight:500;text-align:right}.notice{background:var(--soft);color:var(--muted);padding:14px 17px;border-radius:6px;font-size:.83rem;margin-top:18px;line-height:1.8}.error-note{background:#fff0eb;color:#a2482d;padding:12px 15px;border:1px solid #e7c5b7;border-radius:6px;font-size:.9rem;margin:15px 0}.login-shell{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;max-width:1500px;margin:auto;padding:40px;gap:40px}.login-story{background:var(--brand);color:var(--on-brand);border-radius:16px;padding:48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;min-height:650px}.login-story .brand-word{color:inherit}.login-story h1{font-family:BrandSerif,"Songti SC",serif;font-size:3rem;line-height:1.7;letter-spacing:.04em}.login-story .story-bottom{font-size:.8rem;opacity:.7;letter-spacing:.15em}.login-story:after{content:"";position:absolute;border:1px solid currentColor;opacity:.2;width:680px;height:680px;border-radius:50%;left:38%;top:34%;pointer-events:none}.story-number{font:7rem/1 BrandSerif,Georgia,serif;opacity:.12;margin-bottom:15px}.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:30px}.login-form{width:100%;max-width:360px}.login-form .eyebrow{margin-bottom:18px}.login-form h1{margin-bottom:9px}.login-form form{display:grid;gap:19px;margin-top:34px}.login-form .btn{width:100%;margin-top:5px}.login-help{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);margin-top:20px;gap:12px}.login-help label{display:flex;gap:7px;align-items:center}.demo-logins{border-top:1px solid var(--line);padding-top:24px;margin-top:38px}.demo-logins p{font-size:.75rem;color:var(--muted);margin-bottom:10px}.demo-logins>div{display:flex;gap:10px}.demo-logins .btn{font-size:.8rem;margin:0}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:100;max-width:calc(100vw - 32px);padding:13px 22px;background:var(--ink);color:var(--surface);border-radius:8px;box-shadow:0 5px 25px #0002;font-size:.9rem}.modal-backdrop{position:fixed;inset:0;background:#2c252770;backdrop-filter:blur(3px);z-index:80;display:flex;align-items:center;justify-content:center;padding:25px}.modal{background:var(--paper);border-radius:13px;padding:30px;max-width:580px;width:100%;max-height:90dvh;overflow:auto;box-shadow:0 20px 80px #0002}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.close{border:0;background:none;padding:7px;display:flex}.modal .receipt{margin:10px 0 20px}.member-card{background:var(--brand);color:var(--on-brand);border-radius:15px;padding:32px;position:relative;overflow:hidden;box-shadow:0 10px 26px #0002;min-height:285px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.member-card .brand-word{color:inherit;font-size:2rem}.member-card .card-label{font-size:.65rem;letter-spacing:.25em;opacity:.7;margin:22px 0 6px}.member-card h3{font-size:1.3rem}.card-data{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:18px}.card-data span{font-size:.68rem;opacity:.7;display:block}.card-data strong{display:block;font-size:1.1rem;letter-spacing:.04em;font-weight:500;margin:4px 0 10px;overflow-wrap:anywhere}.qr{background:white;padding:5px;width:86px;height:86px;flex:none;border-radius:4px}.card-footer{font-size:.65rem;border-top:1px solid #ffffff44;padding-top:14px;margin-top:16px;opacity:.8}.mobile-title{display:none}.spinner{display:inline-block;width:17px;height:17px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(max-width:1000px){.layout{gap:28px;grid-template-columns:148px minmax(0,1fr);padding:30px}.app-header{padding:0 30px}.rail{padding-right:15px}.rail .eyebrow{font-size:.6rem}.login-shell{padding:22px;gap:10px}.login-story{padding:35px}.login-story h1{font-size:2.4rem}.login-form-wrap{padding:25px}.schedule-grid{gap:12px}.lesson-card{padding:16px}}@media(max-width:760px){.app-header{height:82px;padding:0 22px}.brand-word{font-size:1.55rem}.brand-logo{width:116px;height:50px}.identity .user-role{display:none}.header-right{gap:7px}.avatar{width:30px;height:30px;font-size:.8rem}.identity{font-size:.85rem;gap:7px}.logout{font-size:.75rem;padding:5px}.layout{display:block;padding:27px 22px 110px}.rail{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;justify-content:space-around;gap:5px;background:var(--paper);border:0;border-top:1px solid var(--line);padding:8px 12px calc(9px + env(safe-area-inset-bottom))}.rail .eyebrow,.rail-note{display:none}.nav-item{flex-direction:column;justify-content:center;gap:3px;font-size:.7rem;margin:0;min-height:53px;padding:5px;border-radius:6px;line-height:1.4}.nav-item .icon{width:20px;height:20px}.page-heading{margin-bottom:24px;gap:12px;align-items:flex-start}.page-heading h1{font-size:1.65rem}.page-heading .eyebrow{font-size:.65rem;margin-bottom:8px}.page-heading .subtle{font-size:.8rem}.heading-actions .btn{padding:10px 12px;font-size:.8rem;min-height:40px}.next-card{padding:25px 24px;min-height:238px}.next-time{font-size:2.8rem}.next-date{font-size:1rem}.next-meta{font-size:.85rem}.next-top .eyebrow{font-size:.66rem}.section-title{margin-top:28px}.section-title h2{font-size:1.2rem}.action-grid{gap:12px}.action-card{padding:21px 19px;min-height:167px}.action-card h3{font-size:1.2rem}.action-card p{font-size:.75rem}.action-card>.icon{right:15px;top:24px;width:17px}.booking-row{gap:15px;padding:17px 16px;flex-wrap:wrap}.booking-date{width:53px;padding-right:13px}.booking-date b{font-size:1.8rem}.booking-main h3{font-size:1.05rem}.booking-main p{font-size:.78rem}.booking-actions{gap:7px}.booking-row .booking-actions{margin-left:auto}.form-panel{padding:22px 18px}.form-grid{gap:18px 12px}.form-grid.one-mobile{grid-template-columns:1fr}.field label{font-size:.85rem}.field input,.field select{font-size:.9rem;padding:10px}.date-chip{padding:8px 11px;min-width:62px}.date-input{font-size:.85rem;min-width:135px}.slots{grid-template-columns:repeat(3,1fr);gap:8px}.booking-summary{flex-direction:column;align-items:stretch;gap:18px}.booking-summary .btn{width:100%}.schedule-grid{grid-template-columns:1fr}.schedule-column{margin-bottom:14px}.lesson-card{padding:19px}.stats-strip{gap:20px}.stats-strip b{font-size:1.65rem}.stats-strip span{font-size:.75rem}.filter-bar{gap:10px}.filter-bar .subtle{font-size:.7rem}.assistant-context{align-items:flex-start;flex-direction:column;gap:8px;padding:14px}.assistant-context .date-input{width:100%}.member-row{padding:16px;align-items:flex-start}.member-row .booking-actions{max-width:130px;gap:6px}.member-row .btn{font-size:.75rem;padding:6px 9px}.members-top{gap:9px}.members-top .btn{padding:12px;font-size:.85rem}.success-panel{padding:28px 23px}.receipt-row{font-size:.85rem}.login-shell{display:block;padding:0;min-height:100dvh}.login-story{min-height:auto;border-radius:0;padding:31px 25px}.login-story h1{font-size:1.8rem;line-height:1.6;margin-top:30px}.login-story .story-number,.login-story .story-bottom{display:none}.login-story:after{width:300px;height:300px;left:58%;top:-90px}.login-form-wrap{padding:36px 25px}.login-form{max-width:420px}.login-form h1{font-size:1.6rem}.login-form form{margin-top:25px}.login-form .eyebrow{display:none}.demo-logins{margin-top:27px}.modal-backdrop{padding:15px;align-items:center}.modal{padding:23px;max-height:92dvh}.member-card{padding:25px 21px;min-height:270px}.card-data strong{font-size:.93rem}.qr{width:74px;height:74px}.toast{bottom:91px}.form-footer .btn{flex:1;padding:11px}}@media print{body>*{display:none!important}#modal-root{display:block!important}.modal-backdrop{position:static;display:block;background:none;padding:0}.modal{box-shadow:none;padding:0;max-height:none;overflow:visible;max-width:95mm;border-radius:0}.modal>*{display:none!important}.modal>.member-card{display:block!important;width:90mm;min-height:56mm;font-size:10pt;padding:6mm;border-radius:4mm;box-shadow:none}.member-card .brand-word{font-size:22pt}.member-card h3{font-size:13pt}.card-data strong{font-size:11pt}.qr{width:22mm;height:22mm}.card-label,.card-footer,.card-data span{font-size:8pt!important}@page{size:A4;margin:20mm}}

.brand-logo{display:block;object-fit:contain;object-position:left center;width:154px;height:66px}.login-story .brand-logo{width:188px;height:82px}.member-card .brand-logo{width:147px;height:63px}.login-story{isolation:isolate}.login-story:before{content:"";position:absolute;inset:22% 8% 7% 30%;background:url(/assets/logo-copper-figure.png) center/contain no-repeat;opacity:.11;z-index:-1;pointer-events:none}.story-number{color:var(--accent)}.next-card{border-top:3px solid var(--accent)}.action-card:first-child .action-icon{color:var(--accent)}.btn:not(.secondary):not(.quiet):hover:not(:disabled){background:#663B23}.modal .member-card{margin-top:6px}.member-card .card-label{margin-top:12px}@media(max-width:760px){.brand-logo{width:124px;height:53px}.login-story .brand-logo{width:151px;height:65px}.login-story:before{inset:8% 3% 5% 53%}.section-title>.eyebrow{display:none}}@media print{.member-card .brand-logo{width:35mm;height:15mm}.member-card .card-label{margin:3mm 0 1mm}.card-data{margin-top:3mm}.card-footer{margin-top:2mm;padding-top:2mm}}

.assistant-response{scroll-margin-top:24px}.clarification-response{border-top:3px solid var(--accent)}.clarification-response>p{line-height:1.75}.clarification-missing{display:grid;gap:8px;margin-top:18px}.clarification-chips{display:flex;gap:7px;flex-wrap:wrap}.clarification-chip{display:inline-flex;align-items:center;border:1px solid var(--accent);border-radius:999px;padding:4px 10px;background:var(--soft);color:var(--brand);font-size:.78rem}.clarification-issues{display:grid;gap:7px;margin-top:14px;padding:12px 14px;border-left:3px solid #c37b57;background:#fff8f3;color:#8d452d}.clarification-issues p{font-size:.82rem;line-height:1.55}.clarification-issues strong{margin-right:7px;color:#6f331f}.clarification-form{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.clarification-form .form-grid{gap:15px}.clarification-form .field input,.clarification-form .field select,.clarification-form .field textarea{background:#fffefa}.optional-label{font-size:.72rem;color:var(--muted);font-weight:400;margin-left:6px}.clarification-member-help{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 14px;align-items:center;margin-top:18px;padding:13px 15px;border:1px solid var(--accent);border-radius:7px;background:var(--soft)}.clarification-member-help strong{font-size:.88rem;color:var(--brand)}.clarification-member-help span{grid-column:1;color:var(--muted);font-size:.78rem;line-height:1.5}.clarification-member-help .btn{grid-column:2;grid-row:1 / span 2;white-space:nowrap}.clarification-actions{justify-content:flex-start;align-items:center;flex-wrap:wrap}.clarification-action-hint{color:var(--muted);font-size:.78rem}.clarification-retry-note{border-left:3px solid #b66a4c}.clarification-refresh-note{border-left:3px solid var(--accent)}.clarification-form [disabled]{background:#f1eee9;color:#8b8077}.assistant-response .receipt{margin:20px 0}.assistant-response .form-footer .btn{white-space:nowrap}
@media(max-width:760px){.clarification-response{padding:19px 17px}.clarification-form .form-grid{grid-template-columns:1fr;gap:14px}.clarification-form .field.full{grid-column:auto}.clarification-actions{align-items:stretch;flex-direction:column}.clarification-actions .btn{width:100%}.clarification-action-hint{width:100%;text-align:center}.clarification-member-help{grid-template-columns:1fr}.clarification-member-help span{grid-column:auto}.clarification-member-help .btn{grid-column:auto;grid-row:auto;width:100%;margin-top:6px}.assistant-response .form-footer{gap:9px}.assistant-response .receipt-row{gap:10px;align-items:flex-start}.assistant-response .receipt-row b{max-width:62%;overflow-wrap:anywhere}}
@media(max-width:400px){.clarification-response{padding:17px 13px}.clarification-response h3{font-size:1.1rem}.clarification-response p{font-size:.88rem}.clarification-chip{font-size:.74rem}.clarification-form .field input,.clarification-form .field select,.clarification-form .field textarea{font-size:.88rem;padding:10px}.assistant-response .form-footer .btn{padding-left:10px;padding-right:10px;font-size:.8rem}}

.sync-caption{margin:-4px 0 18px;line-height:1.7}

.filter-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.export-caption{margin:-6px 0 18px;line-height:1.7}@media(max-width:540px){.filter-bar{flex-wrap:wrap}.filter-actions{width:100%;justify-content:space-between;gap:6px}.filter-actions .btn{font-size:.8rem}.export-caption{font-size:.75rem}}

a.btn{text-decoration:none}

/* Public seven day schedule */
body{overflow-x:clip}
.public-loading{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:12px;padding:28px;text-align:center}.public-loading .spinner{margin-top:8px}
.public-header{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1380px;margin:auto;padding:0 48px;border-bottom:1px solid var(--line)}.public-brand{display:block}.public-header-actions{display:flex;align-items:center;gap:14px;min-width:0}.public-refresh-time{font-size:.78rem;color:var(--muted);white-space:nowrap}.public-session-label{font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.public-shell{display:grid;grid-template-columns:minmax(0,1fr) 328px;align-items:start;gap:38px;max-width:1380px;margin:auto;padding:38px 48px 100px}.public-schedule-panel{min-width:0}.public-intro{padding:8px 0 24px}.public-intro h1{font-family:BrandSerif,Georgia,serif;font-size:2.55rem;letter-spacing:-.04em;margin:6px 0 9px}.public-intro>.subtle{max-width:650px;line-height:1.8}.public-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px;font-size:.78rem;color:var(--muted)}.public-meta span+span{padding-left:18px;border-left:1px solid var(--line)}.public-meta .btn{margin-left:auto}
.public-login-panel{min-width:0}.public-login-sticky{position:sticky;top:24px;padding:26px 24px;background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:0 12px 35px #4c26110d}.public-login-sticky h2{font-family:BrandSerif,Georgia,serif;font-size:1.6rem;margin:5px 0 7px}.public-login-sticky>.subtle{font-size:.82rem;line-height:1.75}.public-login-sticky .compact-login-form{display:grid;gap:15px;margin-top:22px}.public-login-sticky .compact-login-form .btn{width:100%;margin-top:2px}.public-login-sticky .login-help{display:grid;gap:4px;margin-top:14px;font-size:.72rem}.public-login-sticky .demo-logins{margin-top:24px}.public-login-sticky .demo-logins>div{display:grid;grid-template-columns:1fr 1fr}.public-privacy{margin-top:23px;padding-top:17px;border-top:1px solid var(--line);font-size:.72rem;line-height:1.7;color:var(--muted)}.login-intent{display:grid;gap:4px;padding:12px 13px;margin-top:18px;border-left:3px solid var(--accent);background:var(--soft);color:var(--brand);font-size:.82rem;line-height:1.5}.login-intent small{font-size:.72rem;color:var(--muted)}.public-session-card{display:flex;align-items:center;gap:11px;padding:13px 0;margin:22px 0 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.public-session-card .avatar{width:34px;height:34px;flex:none}.public-session-card div{display:grid;gap:2px;min-width:0}.public-session-card strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis}.public-session-card small{font-size:.72rem;color:var(--muted)}.public-login-sticky>.btn:not(.quiet){width:100%}.public-login-sticky>.btn.quiet{margin-top:5px}
.booking-type-picker{display:grid;gap:9px;margin-bottom:23px;padding-bottom:23px;border-bottom:1px solid var(--line)}.booking-type-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.type-option{display:grid;gap:2px;padding:11px 13px;border:1px solid var(--line);border-radius:6px;background:var(--surface);text-align:left;color:var(--muted)}.type-option strong{font-size:.9rem;color:var(--ink);font-weight:600}.type-option small{font-size:.72rem}.type-option.active{border-color:var(--brand);background:var(--soft);color:var(--brand)}.type-option.active strong{color:var(--brand)}
@media(max-width:1100px){.public-shell{grid-template-columns:minmax(0,1fr) 300px;gap:24px;padding-left:30px;padding-right:30px}.public-header{padding-left:30px;padding-right:30px}}
@media(max-width:899px){.public-header{min-height:76px;padding:0 18px}.public-header .brand-logo{width:124px;height:53px}.public-refresh-time{display:none}.public-header-actions{gap:7px}.public-session-label{max-width:120px;font-size:.7rem}.public-shell{display:block;padding:27px 16px calc(100px + env(safe-area-inset-bottom))}.public-intro{padding-top:0;padding-bottom:20px}.public-intro h1{font-size:2rem}.public-intro>.subtle{font-size:.82rem}.public-meta{gap:8px 14px;margin-top:16px}.public-meta span+span{padding-left:0;border-left:0}.public-meta .btn{margin-left:0}.public-date-nav{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;margin:0 -16px 15px;padding:0 16px 3px}.public-date-nav::-webkit-scrollbar{display:none}.public-login-panel{margin-top:15px}.public-login-sticky{position:static;padding:22px 18px}.public-login-sticky h2{font-size:1.45rem}.login-intent{margin-top:15px}.booking-type-options{gap:8px}}
@media(max-width:400px){.public-header{padding-left:14px;padding-right:14px}.public-header .brand-logo{width:114px;height:49px}.public-header .btn{padding-left:9px;padding-right:9px;font-size:.75rem}.public-shell{padding-left:13px;padding-right:13px}.public-date-nav{margin-left:-13px;margin-right:-13px;padding-left:13px;padding-right:13px}}

/* Compact public timeline: one selected date, two shared-room columns. */
.public-shell{grid-template-columns:minmax(0,1fr) 310px;gap:28px;padding-top:24px}.public-intro{padding:0 0 14px}.public-intro h1{font-size:1.9rem;margin:2px 0 3px}.public-intro>.subtle{font-size:.8rem;line-height:1.55;max-width:760px}.public-meta{gap:10px 16px;margin-top:10px;font-size:.72rem}.public-meta .btn{margin-left:auto}.public-date-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:9px}.public-date-tab{display:grid;gap:2px;min-width:0;padding:7px 4px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);text-align:center}.public-date-tab span{font-size:.75rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-date-tab b{font-size:.84rem;color:var(--ink);font-weight:600;line-height:1.2}.public-date-tab.active,.public-date-tab:hover{border-color:var(--brand);background:var(--soft);color:var(--brand)}.public-date-tab.active b,.public-date-tab:hover b{color:var(--brand)}.public-selected-date{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 2px 9px;color:var(--muted);font-size:.72rem}.public-selected-date strong{color:var(--ink);font-size:.86rem;font-weight:600}.public-timeline{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.public-timeline-head,.public-time-row{display:grid;grid-template-columns:58px repeat(2,minmax(0,1fr));min-width:0}.public-timeline-head{position:sticky;top:0;z-index:4;border-bottom:1px solid var(--line);background:var(--surface)}.public-time-head{display:flex;align-items:center;justify-content:center;padding:8px 3px;color:var(--muted);font-size:.68rem}.public-bay-head{display:grid;gap:2px;min-width:0;padding:8px 9px;border-left:1px solid var(--line)}.public-bay-head strong{color:var(--brand);font-size:.96rem;line-height:1.1}.public-bay-head span{color:var(--muted);font-size:.65rem;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.public-timeline-body{min-width:0}.public-time-row{min-height:42px;border-bottom:1px solid #eeeae4}.public-time-row:last-child{border-bottom:0}.public-time-label{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}.public-slot{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:42px;padding:4px 3px;border:0;border-left:1px solid var(--line);border-radius:0;font-size:.78rem;line-height:1.15;white-space:nowrap}.public-slot:disabled{cursor:default;opacity:1}.public-slot.available{background:#fffefa;color:var(--brand)}.public-slot.available:hover{background:var(--soft);color:var(--brand)}.public-slot.occupied{background:#eee9e2;color:#766960}.public-slot.past{background:#f7f6f2;color:#aaa096}.public-slot.short{background:#f1eeea;color:#9b9087}.public-slot.unavailable{background:#f3eee8;color:#9a765a}.public-slot.selected{background:var(--brand);color:var(--on-brand);font-weight:600}.public-slot.selected:disabled{background:var(--brand);color:var(--on-brand)}.public-selection-bar{display:flex;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;border:1px solid var(--accent);border-radius:8px;background:var(--soft)}.public-selection-copy{display:grid;gap:2px;min-width:0;flex:1}.public-selection-copy strong{font-size:.95rem;color:var(--brand);font-variant-numeric:tabular-nums}.public-selection-copy span{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-selection-bar .btn{min-height:38px;padding:7px 12px;white-space:nowrap}.public-selection-clear{display:flex;align-items:center;justify-content:center;width:28px;height:30px;padding:3px;border:0;background:transparent;color:var(--muted)}.public-selection-clear .icon{width:17px;height:17px}.public-login-sticky{top:15px}.public-login-sticky h2{font-size:1.4rem;margin-top:3px}.public-login-sticky>.subtle{font-size:.78rem}.public-privacy{margin-top:17px;padding-top:13px}
@media(max-width:899px){.public-shell{display:block;padding:18px 14px calc(108px + env(safe-area-inset-bottom))}.public-intro h1{font-size:1.7rem}.public-intro>.subtle{font-size:.78rem;line-height:1.5}.public-meta{font-size:.7rem;margin-top:8px}.public-meta .btn{margin-left:auto}.public-date-nav{display:flex;gap:6px;margin:0 -2px 7px;overflow-x:auto;padding:1px 2px 4px;scrollbar-width:none}.public-date-nav::-webkit-scrollbar{display:none}.public-date-tab{flex:0 0 63px;padding:7px 3px}.public-date-tab span{font-size:.78rem}.public-date-tab b{font-size:.86rem}.public-selected-date{padding:7px 1px 8px;font-size:.7rem}.public-selected-date strong{font-size:.88rem}.public-timeline-head,.public-time-row{grid-template-columns:48px minmax(0,1fr) minmax(0,1fr)}.public-bay-head{padding:7px 6px}.public-bay-head strong{font-size:.96rem}.public-bay-head span{font-size:.66rem;line-height:1.25}.public-time-label{font-size:.82rem}.public-slot{min-height:42px;font-size:.88rem;padding:3px 2px}.public-timeline{border-radius:7px}.public-selection-bar{position:fixed;left:0;right:0;bottom:0;z-index:55;margin:0;padding:9px 10px calc(9px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:0;box-shadow:0 -8px 25px #4c26111c}.public-selection-copy strong{font-size:.96rem}.public-selection-copy span{font-size:.72rem}.public-selection-bar .btn{min-height:40px;font-size:.82rem;padding:7px 10px}.public-selection-clear{width:27px}.public-login-panel{margin-top:14px}.public-login-sticky{position:static;padding:20px 17px}}
@media(max-width:400px){.public-shell{padding-left:11px;padding-right:11px}.public-header{padding-left:13px;padding-right:13px}.public-header .brand-logo{width:114px;height:49px}.public-date-nav{margin-left:-1px;margin-right:-1px}.public-date-tab{flex-basis:61px}.public-date-tab span{font-size:.76rem}.public-date-tab b{font-size:.83rem}.public-selected-date{font-size:.67rem}.public-selected-date strong{font-size:.84rem}.public-timeline-head,.public-time-row{grid-template-columns:46px minmax(0,1fr) minmax(0,1fr)}.public-bay-head{padding-left:5px;padding-right:5px}.public-bay-head strong{font-size:.92rem}.public-bay-head span{font-size:.62rem}.public-time-label{font-size:.78rem}.public-slot{font-size:.84rem}.public-selection-bar{padding-left:8px;padding-right:8px}.public-selection-bar .btn{font-size:.78rem;padding-left:8px;padding-right:8px}}
.public-intro-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.public-intro-head>div{min-width:0}.public-intro-head .btn{flex:none}.public-intro-head .eyebrow{margin-bottom:2px}
@media(max-width:899px){.public-intro-head{align-items:center}.public-intro-head .eyebrow{display:none}.public-intro-head h1{font-size:1.65rem}.public-intro-head .btn{min-height:34px;padding:5px 8px;font-size:.75rem}.public-intro>.subtle{margin-top:2px}.public-meta{margin-top:7px}}
@media(max-width:899px){.public-header{min-height:60px}.public-header .brand-logo{width:108px;height:45px}.public-shell{padding-top:10px}.public-intro{padding-bottom:8px}.public-intro-head h1{font-size:1.4rem}.public-time-label,.public-slot{font-size:14px}.public-bay-head strong{font-size:16px}.public-date-tab span{font-size:13px}.public-date-tab b{font-size:14px}}

.assistant-booking-id{overflow-wrap:anywhere}

/* VIP reservation and member operations */
.public-title{display:flex;align-items:baseline;gap:.24em;flex-wrap:wrap;font-family:BrandSerif,Georgia,serif;font-size:clamp(1.7rem,3vw,2.55rem);letter-spacing:-.04em;margin:3px 0 4px}.public-title span{white-space:nowrap}.vip-space-strip{display:grid;grid-template-columns:repeat(2,90px);gap:8px;margin-left:auto;flex:none}.vip-photo-thumb{display:grid;grid-template-rows:78px auto;gap:3px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--surface);padding:0;text-align:left;color:var(--brand);min-width:0}.vip-photo-thumb:hover{border-color:var(--accent);box-shadow:0 5px 18px #4c261116}.vip-photo-thumb img{width:100%;height:78px;object-fit:cover;object-position:center;border:0}.vip-photo-thumb span{display:flex;justify-content:space-between;align-items:baseline;gap:3px;padding:0 6px 4px;font-size:.72rem;font-weight:600}.vip-photo-thumb small{font-size:.56rem;color:var(--muted);font-weight:400;white-space:nowrap}.vip-photo-portrait{margin:0;background:#1f1611;border-radius:10px;overflow:hidden}.vip-photo-portrait img{display:block;width:100%;max-height:min(72dvh,720px);object-fit:contain;object-position:center;background:#1f1611}.vip-photo-portrait figcaption{padding:10px 13px;color:var(--on-brand);font-size:.82rem}.public-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:9px 2px 0;color:var(--muted);font-size:.69rem;line-height:1.4}.public-legend>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.legend-swatch{display:inline-block;width:12px;height:12px;border:1px solid var(--line);border-radius:3px;background:var(--surface)}.legend-occupied{background:#eee9e2}.legend-past{background:#f7f6f2}.legend-unavailable{background:#f3eee8}.public-slot.available{font-size:0}.public-slot.available:after{content:"";display:block;width:5px;height:5px;border-radius:50%;background:#d8c4b3;opacity:.7}.public-slot.short,.public-slot.unavailable{cursor:pointer}.public-slot.short:hover,.public-slot.unavailable:hover{background:#e9dfd4;color:var(--brand)}.public-inline-note{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;padding:10px 12px;border-left:3px solid var(--accent);border-radius:6px;background:var(--soft);color:var(--brand);font-size:.8rem;line-height:1.55}.public-inline-note .icon{width:17px;height:17px;margin-top:2px}.member-entitlements{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;padding:21px 25px;margin:-9px 0 25px;border-top:3px solid var(--accent);background:linear-gradient(120deg,#fffefa,#f2e8dc)}.member-entitlements-copy h2{font-family:BrandSerif,Georgia,serif;font-size:1.35rem;color:var(--brand);margin-top:3px}.member-entitlements-copy p{font-size:.78rem;color:var(--muted);margin-top:5px}.entitlement-grid{display:flex;align-items:center;gap:21px}.entitlement-grid>div{display:grid;gap:2px;min-width:94px;padding-left:16px;border-left:1px solid var(--line)}.entitlement-grid span{font-size:.7rem;color:var(--muted)}.entitlement-grid strong{font:1.15rem/1.25 BrandSerif,Georgia,serif;color:var(--brand);white-space:nowrap}.member-entitlements-note{grid-column:1/-1;padding-top:9px;border-top:1px solid #dfd2c5;color:var(--muted);font-size:.7rem}.member-stable-id{display:block;color:#9a8b80;font-size:.68rem;margin-top:3px;overflow-wrap:anywhere}.member-row .booking-actions .icon{width:15px;height:15px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.member-import-modal{display:grid;gap:18px}.import-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;border-radius:8px;background:var(--soft)}.import-tab{min-height:39px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:.85rem}.import-tab.active{background:var(--surface);color:var(--brand);font-weight:600;box-shadow:0 2px 9px #4c26110e}.import-source-panel{display:grid;gap:13px;padding:15px 16px;border:1px solid var(--line);border-radius:8px;background:#fffefa}.import-source-panel .field small{font-size:.7rem;line-height:1.5}.file-picker{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;padding:10px 14px;border:1px solid var(--brand);border-radius:6px;background:var(--surface);color:var(--brand);font-size:.86rem}.file-picker .icon{width:18px;height:18px}.import-file-pill{display:flex;align-items:center;gap:8px;max-width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--brand);font-size:.8rem}.import-file-pill>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-file-pill button{display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);padding:2px;margin-left:auto}.import-file-pill .icon{width:15px;height:15px}.import-connection-state{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 0;border-top:1px solid var(--line)}.import-connection-state>div{display:grid;gap:1px;min-width:0;flex:1}.import-connection-state strong{font-size:.82rem;color:var(--brand)}.import-connection-state small{font-size:.7rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-connection-state .btn,.import-connection-state a{flex:none}.status-dot{width:9px;height:9px;border-radius:50%;background:#9b9087;flex:none}.import-connection-state.connected .status-dot{background:#768e6b}.import-connection-state.pending .status-dot{background:#ba885e}.import-status-line{display:flex;align-items:center;gap:7px}.import-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.import-state-box{display:grid;align-content:center;min-height:47px;padding:7px 11px;border:1px solid var(--line);border-radius:5px;background:#f6f1ea}.import-state-box strong{font-size:.85rem;color:var(--brand)}.import-state-box span{font-size:.67rem;color:var(--muted)}.import-actions{justify-content:flex-start;margin-top:0}.import-preview-section{display:grid;gap:13px;padding-top:18px;border-top:1px solid var(--line)}.import-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.import-preview-head h3{margin-top:2px}.import-preview-head .subtle{margin-top:3px}.import-summary{display:grid;grid-template-columns:auto auto;gap:0 7px;align-items:center;text-align:right}.import-summary b{font:1.25rem/1 BrandSerif,Georgia,serif;color:var(--brand)}.import-summary span{font-size:.66rem;color:var(--muted)}.import-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.import-table{width:100%;min-width:700px;border-collapse:collapse;font-size:.75rem}.import-table th,.import-table td{padding:8px 7px;border-bottom:1px solid #eee9e2;text-align:left;vertical-align:top}.import-table th{position:sticky;top:0;background:#f4eee7;color:var(--muted);font-size:.68rem;font-weight:600;white-space:nowrap}.import-table tr:last-child td{border-bottom:0}.import-table tr.excluded{opacity:.5}.import-table input[type=text],.import-table input[type=number]{width:100%;min-width:85px;padding:6px 7px;border:1px solid var(--line);border-radius:4px;background:#fffefa;font-size:.75rem;color:var(--ink)}.import-table input[type=number]{min-width:70px}.import-row-issues{display:grid;gap:2px;color:#a14b31;line-height:1.35}.import-row-issues span{white-space:nowrap}.import-row-ok{color:#748a70;white-space:nowrap}.import-preview-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.import-state-tag{color:var(--brand);background:var(--soft);border-color:var(--accent)}.import-history{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--line)}.import-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.import-section-head h3{margin-top:2px}.import-history-list{display:grid;gap:7px}.import-history-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:6px;background:#fffefa}.import-history-row>div{display:grid;gap:2px;min-width:0}.import-history-row strong{font-size:.78rem;color:var(--brand)}.import-history-row span{font-size:.68rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-history-row .btn{flex:none}.import-commit-result{display:grid;gap:12px}.import-commit-result h3{font-size:1.35rem;color:var(--brand)}.import-commit-result .success-mark{margin:0}.import-credentials{display:grid;gap:8px;max-height:43dvh;overflow:auto;padding:2px}.import-credential-card{display:grid;gap:3px;padding:12px 13px;border:1px solid var(--accent);border-radius:7px;background:#fff9f2}.import-credential-card strong{font-size:.9rem;color:var(--brand)}.import-credential-card span{font-size:.78rem;color:var(--muted)}.import-credential-card b{font:1rem/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;color:var(--ink);overflow-wrap:anywhere}
@media(max-width:899px){.public-title{display:grid;gap:0;line-height:1.18;font-size:1.52rem}.public-intro-head{align-items:flex-start}.vip-space-strip{grid-template-columns:repeat(2,82px);gap:6px}.vip-photo-thumb{grid-template-rows:72px auto}.vip-photo-thumb img{height:72px}.public-intro-head>.btn{align-self:flex-start;margin-left:2px}.member-entitlements{grid-template-columns:1fr;padding:19px 18px;margin-top:-3px}.entitlement-grid{gap:15px}.entitlement-grid>div{padding-left:12px}.member-entitlements-note{grid-column:auto}.member-row{flex-wrap:wrap}.member-row>div:first-child{min-width:0;flex:1}.member-row .booking-actions{width:100%;max-width:none;justify-content:flex-start}.member-row .booking-actions .btn{flex:1}.import-meta-grid{grid-template-columns:1fr}.import-source-panel{padding:13px}.import-preview-head{display:grid;grid-template-columns:1fr auto}.import-table{min-width:680px}.import-history-row{align-items:flex-start;flex-direction:column}.import-history-row .btn{align-self:stretch}.import-commit-result .form-footer{flex-wrap:wrap}.import-commit-result .form-footer .btn{flex:1;min-width:125px}.vip-photo-portrait img{max-height:68dvh}}
@media(max-width:460px){.public-title{font-size:1.43rem}.vip-space-strip{grid-template-columns:repeat(2,76px)}.vip-photo-thumb{grid-template-rows:66px auto}.vip-photo-thumb img{height:66px}.vip-photo-thumb span{font-size:.67rem;padding-left:5px;padding-right:5px}.vip-photo-thumb small{display:none}.public-legend{gap:8px;font-size:.65rem}.public-inline-note{font-size:.76rem}.entitlement-grid{justify-content:space-between}.entitlement-grid>div{min-width:0}.entitlement-grid strong{font-size:1rem}.import-tabs{gap:3px}.import-tab{font-size:.78rem}.modal{padding:18px 15px}}
@media print{.import-commit-result .form-footer,.import-commit-result>.success-mark,.import-commit-result>.eyebrow,.import-commit-result>p{display:none!important}.import-credentials{max-height:none}.import-credential-card{break-inside:avoid}.import-credential-card b{font-size:11pt}}

.batch-response{border-top:3px solid var(--accent)}.batch-not-created{border-left:3px solid var(--accent);margin-top:12px}.batch-table-wrap{overflow:auto;margin-top:18px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.batch-table{width:100%;min-width:980px;border-collapse:collapse;font-size:.74rem}.batch-table th,.batch-table td{padding:8px 7px;border-bottom:1px solid #eee9e2;text-align:left;vertical-align:top}.batch-table th{background:#f4eee7;color:var(--muted);font-size:.67rem;white-space:nowrap}.batch-table tr:last-child td{border-bottom:0}.batch-table select,.batch-table input{width:100%;min-width:78px;min-height:34px;border:1px solid var(--line);border-radius:4px;background:#fffefa;padding:5px 6px;color:var(--ink);font-size:.74rem}.batch-table select{min-width:92px}.batch-source{display:block;max-width:150px;white-space:normal;overflow-wrap:anywhere;color:var(--muted);line-height:1.45}.batch-row-issues{display:grid;gap:2px;color:#a14b31;line-height:1.35;white-space:nowrap}.batch-dash{display:block;padding:8px 4px;color:var(--muted);font-size:.72rem}.batch-receipt{display:grid;gap:0}.batch-created-row{display:grid;gap:3px;padding:11px 0;border-bottom:1px solid var(--line)}.batch-created-row:last-child{border-bottom:0}.batch-created-row strong{font-size:.86rem;color:var(--brand)}.batch-created-row span{font-size:.78rem;color:var(--muted)}
.import-warnings,.batch-warnings{display:grid;gap:4px;background:#fbf1e5;color:var(--muted);padding:11px 13px;border-left:3px solid var(--accent);border-radius:6px;font-size:.77rem;line-height:1.55}.import-warnings strong,.batch-warnings strong{color:var(--brand);font-size:.75rem}.import-warnings span,.batch-warnings span{display:block}
@media(max-width:899px){.batch-table{min-width:950px}.batch-response .form-footer{align-items:stretch;flex-direction:column}.batch-response .form-footer .btn{width:100%}}

/* Keep the public title and batch/import controls usable on narrow phones. */
@media(max-width:640px){
 .public-intro-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:8px;row-gap:9px}
 .public-intro-head>div:first-child{grid-column:1;grid-row:1;min-width:0}
 .public-intro-head>.btn{grid-column:2;grid-row:1;align-self:start;margin:0}
 .vip-space-strip{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,90px);gap:7px;width:max-content;max-width:100%;margin:0}
 .vip-photo-thumb{grid-template-rows:80px auto}
 .vip-photo-thumb img{height:80px}
 .batch-table-wrap,.import-table-wrap{overflow:visible;border:0;background:transparent}
 .batch-table,.import-table{display:block;width:100%;min-width:0;border-collapse:initial}
 .batch-table thead,.import-table thead{display:none}
 .batch-table tbody,.import-table tbody{display:grid;gap:10px}
 .batch-table tr,.import-table tr{display:block;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
 .batch-table td,.import-table td{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:center;padding:5px 0;border:0;text-align:left}
 .batch-table td:before,.import-table td:before{color:var(--muted);font-size:.68rem;font-weight:600;line-height:1.3}
 .batch-table td:nth-child(1):before{content:'来源'}
 .batch-table td:nth-child(2):before{content:'会员'}
 .batch-table td:nth-child(3):before{content:'日期'}
 .batch-table td:nth-child(4):before{content:'开始'}
 .batch-table td:nth-child(5):before{content:'时长'}
 .batch-table td:nth-child(6):before{content:'类型'}
 .batch-table td:nth-child(7):before{content:'教练'}
 .batch-table td:nth-child(8):before{content:'包房'}
 .batch-table td:nth-child(9):before{content:'检查'}
 .batch-table td:first-child{align-items:start}
 .batch-table .batch-source{max-width:none}
 .batch-table select,.batch-table input{min-width:0}
 .batch-table .batch-row-issues{white-space:normal}
 .import-table td:nth-child(1):before{content:'纳入'}
 .import-table td:nth-child(2):before{content:'姓名'}
 .import-table td:nth-child(3):before{content:'登录名'}
 .import-table td:nth-child(4):before{content:'剩余课时'}
 .import-table td:nth-child(5):before{content:'练习余额'}
 .import-table td:nth-child(6):before{content:'状态'}
 .import-table input[type=text],.import-table input[type=number]{min-width:0}
 .import-table td:first-child input{justify-self:start;width:auto}
 .batch-response .clarification-actions{gap:8px}
 .batch-response .clarification-action-hint{font-size:.72rem;line-height:1.45}
}
@media(max-width:400px){
 .public-title{font-size:1.43rem}
 .vip-space-strip{grid-template-columns:repeat(2,90px)}
 .vip-photo-thumb{grid-template-rows:80px auto}
 .vip-photo-thumb img{height:80px}
}
/* Room photography belongs to its booking column, preserving compact mobile navigation. */
.vip-room-photo{position:relative;display:block;width:100%;max-width:280px;height:88px;margin-top:7px;padding:0;border:0;border-radius:5px;overflow:hidden;background:#2e2018;text-align:left}
.vip-room-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.vip-room-photo span{position:absolute;bottom:0;left:0;right:0;padding:12px 7px 4px!important;font-size:10px!important;color:#fff5e7!important;background:linear-gradient(transparent,#26160f90)}
.vip-room-photo:hover img{filter:brightness(1.08)}
@media(max-width:640px){.vip-room-photo{height:80px;max-width:none}.public-bay-head{padding-bottom:8px}}
.public-slot.short,.public-slot.unavailable{background:var(--surface);color:var(--brand);font-size:0}
.public-slot.short:after,.public-slot.unavailable:after{content:"";display:block;width:5px;height:5px;border-radius:50%;background:#d8c4b3;opacity:.7}

/* Let each room image fill its booking column while keeping the column pair intact. */
.vip-room-photo{width:100%;max-width:none;height:220px;margin-top:8px;border-radius:6px}
.vip-room-photo img{object-position:center 60%}
.vip-room-photo span{padding:28px 8px 7px!important;background:linear-gradient(180deg,transparent,#26160f55)}
@media(max-width:640px){.vip-room-photo{height:190px;margin-top:8px}.vip-room-photo span{background:linear-gradient(180deg,transparent,#26160f4d)}}

/* Staff member profile and entitlement editing */
.entitlement-grid>div{align-content:start}
.entitlement-expiry{font-size:.65rem;line-height:1.35;color:var(--muted);white-space:nowrap}
.member-edit-access{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--soft)}
.member-edit-access>div:first-child{display:grid;gap:3px;min-width:0}
.member-edit-access strong{font-size:.9rem;color:var(--brand);overflow-wrap:anywhere}
.member-credential-panel{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}
.member-credential-panel>div{display:grid;gap:2px;min-width:0}
.member-credential-panel .field-label{font-size:.68rem;color:var(--muted)}
.member-current-password{font:.82rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.05em;color:var(--ink);overflow-wrap:anywhere}
.member-edit-entitlements{display:grid;gap:10px;padding-top:15px;border-top:1px solid var(--line)}
.member-edit-entitlements .form-grid{margin-top:0}
.import-table input[type=date]{width:100%;min-width:125px;padding:6px 7px;border:1px solid var(--line);border-radius:4px;background:#fffefa;font-size:.75rem;color:var(--ink)}
@media(max-width:640px){
 .member-edit-access{align-items:flex-start;flex-direction:column;gap:10px}
 .member-credential-panel{justify-content:space-between;width:100%}
 .member-edit-entitlements .form-grid{grid-template-columns:1fr 1fr;gap:9px}
 .member-edit-entitlements .field label{font-size:.72rem}
 .member-edit-entitlements input{min-width:0}
 .entitlement-grid{align-items:stretch;gap:10px}
 .entitlement-grid>div{min-width:0;padding-left:10px}
 .entitlement-expiry{white-space:normal}
 .import-table td:nth-child(6):before{content:'课程到期日'}
 .import-table td:nth-child(7):before{content:'练习卡到期日'}
 .import-table td:nth-child(8):before{content:'状态'}
 .import-table input[type=date]{min-width:0;font-size:.78rem}
}
@media(max-width:400px){
 .member-edit-entitlements .form-grid{grid-template-columns:1fr 1fr}
 .member-edit-entitlements .field input{font-size:.8rem;padding-left:7px;padding-right:7px}
 .member-edit-access{padding:10px}
}

#member-edit-form{display:grid;gap:14px}
#member-edit-form .form-footer{margin-top:4px}

/* Closing time is a boundary caption, never another unavailable room slot. */
.public-timeline-end{display:flex;align-items:center;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;border-top:1px solid var(--line);padding:9px 12px;background:var(--surface);color:var(--muted);font-size:.72rem;line-height:1.5}
.public-timeline-end>span{white-space:nowrap}
.public-timeline-end strong{font-weight:500;color:var(--brand);font-variant-numeric:tabular-nums}
@media(max-width:640px){.public-timeline-end{padding:9px 10px;font-size:.68rem;gap:6px 10px}}

/* Member import V2: reviewable cards keep source authority visible on phones. */
.import-authority-note{display:grid;gap:3px;padding:12px 14px;border-left:3px solid var(--accent);border-radius:6px;background:var(--soft);color:var(--muted);font-size:.8rem;line-height:1.55}.import-authority-note.source-managed{color:var(--brand)}.import-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.import-summary-card{display:grid;gap:2px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.import-summary-card strong{font:1.35rem/1 BrandSerif,Georgia,serif;color:var(--brand)}.import-summary-card span{font-size:.78rem;font-weight:600;color:var(--ink)}.import-summary-card small{font-size:.68rem;line-height:1.35;color:var(--muted)}.import-summary-card.eligible{border-color:#cbd9c5;background:#fbfdf9}.import-summary-card.review{border-color:#e3cbb9;background:#fffaf5}.import-summary-card.ignored{border-color:#ddd7d0;background:#faf9f7}.import-select-actions{display:flex;gap:6px;flex-wrap:wrap}.import-groups{display:grid;gap:16px}.import-group{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--line)}.import-group>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.import-group h4{font-size:1rem;font-weight:600;color:var(--brand)}.import-group h4 span{display:inline-grid;place-items:center;min-width:24px;height:22px;margin-left:4px;padding:0 6px;border-radius:999px;background:var(--soft);font-size:.72rem;color:var(--brand)}.import-group-review h4{color:#9f5a3c}.import-group-ignored h4{color:var(--muted)}.import-row-list{display:grid;gap:9px}.import-row-card{display:grid;gap:11px;padding:13px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.import-row-card.is-excluded{opacity:.7}.import-row-eligible{border-left:3px solid #aabd9f}.import-row-review{border-left:3px solid #d49c72;background:#fffdfa}.import-row-ignored{border-left:3px solid #c9c1b9;background:#fbfaf8}.import-row-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.import-row-card-head>div{min-width:0}.import-row-card h4{margin:5px 0 1px;font-size:1rem;color:var(--ink);overflow-wrap:anywhere}.import-row-card-head p{overflow-wrap:anywhere}.import-row-status{font-size:.68rem;padding:2px 8px}.import-row-status.eligible{color:#617b5b;border-color:#cbd9c5;background:#f1f7ef}.import-row-status.review{color:#9f5a3c;border-color:#e3cbb9;background:#fff3e9}.import-row-status.ignored{color:var(--muted);border-color:#ddd7d0;background:#f4f1ed}.import-include-toggle{display:inline-flex;align-items:center;gap:6px;flex:none;padding:7px 9px;border:1px solid var(--accent);border-radius:6px;background:#fffaf2;color:var(--brand);font-size:.78rem;white-space:nowrap}.import-include-toggle input{margin:0;width:17px;height:17px;accent-color:var(--brand)}.import-row-identity{display:grid;grid-template-columns:1fr 1fr;gap:8px}.import-row-identity>div{display:grid;gap:2px;min-width:0;padding:8px 9px;border-radius:5px;background:#f8f5f0}.import-row-identity span,.import-field-label{font-size:.67rem;color:var(--muted)}.import-row-identity strong{font-size:.82rem;overflow-wrap:anywhere}.import-entitlement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.import-field-card{display:grid;gap:6px;min-width:0;padding:9px;border:1px solid #eee9e2;border-radius:6px;background:#fffefa}.import-value-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:5px;min-width:0}.import-value-pair>div{display:grid;gap:2px;min-width:0}.import-value-pair small{font-size:.63rem;color:var(--muted)}.import-value-pair strong{font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}.import-value-arrow{padding-bottom:2px;color:var(--accent);font-size:.9rem}.import-row-reasons{display:grid;gap:5px;margin:0;padding:9px 11px 9px 26px;border-left:3px solid #d49c72;border-radius:5px;background:#fff4eb;color:#8d4c33;font-size:.78rem;line-height:1.5}.import-row-reasons li{padding-left:1px}.import-row-reasons strong{font-weight:500}.import-row-reasons span{color:var(--muted)}.import-row-card .import-row-ok{display:block;padding:8px 10px;border-radius:5px;background:#f2f7ef;color:#617b5b;font-size:.76rem}.import-source-details{border-top:1px solid #eee9e2;padding-top:8px}.import-source-details summary{cursor:pointer;color:var(--brand);font-size:.72rem}.import-source-details-body{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;color:var(--muted);font-size:.7rem}.import-source-details-body code{max-width:100%;overflow-wrap:anywhere;font:inherit}.import-source-details-body a{color:var(--brand);font-weight:600}.import-sync-time{padding:9px 11px;border:1px solid #cbd9c5;border-radius:6px;background:#f2f7ef;color:#617b5b;font-size:.76rem}.source-managed-profile-note{display:grid;gap:3px}.source-managed-profile-note strong{color:var(--brand)}.source-managed-profile-note a{margin-left:4px;color:var(--brand);font-weight:600}.source-managed-profile-note+ .form-grid input:disabled,.member-edit-entitlements input:disabled{color:var(--ink);opacity:.78;background:#f2eee8;cursor:not-allowed}
@media(max-width:640px){.import-summary-cards{grid-template-columns:1fr 1fr}.import-summary-card:last-child{grid-column:1/-1}.import-row-card-head{display:grid;gap:9px}.import-include-toggle{justify-self:start}.import-row-identity{grid-template-columns:1fr}.import-entitlement-grid{grid-template-columns:1fr}.import-value-pair{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.import-preview-head{gap:10px}.import-summary{min-width:84px}.import-source-details-body{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:400px){.import-summary-card{padding:10px}.import-summary-card strong{font-size:1.2rem}.import-summary-card span{font-size:.73rem}.import-summary-card small{font-size:.64rem}.import-row-card{padding:11px}.import-value-pair strong{font-size:.73rem}}

/* Compact source review: daily work stays at summary level. */
.import-tabs[hidden]{display:none}.import-group>summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px 18px;padding:16px 0}.import-member-details>summary{cursor:pointer;color:var(--muted);font-size:.85rem}.import-member-details[open]>.import-entitlement-grid{margin-top:16px}.import-row-card-head h4 small{font-size:.8rem;color:var(--muted);font-weight:400}.import-review-reason{font-size:.9rem;color:#94633e;margin:6px 0}.import-row-card-head{margin-bottom:8px}.import-source-details code{overflow-wrap:anywhere}
/* Keep participant identity visible beside special appointment choices. */
.batch-table td:nth-child(2){min-width:170px}
.batch-table td>small{display:block;margin-top:5px;font-size:.68rem;line-height:1.4;max-width:190px;white-space:normal}
.batch-table td>input[aria-label="使用人姓名"]{margin-top:6px}
@media(max-width:899px){.batch-table td:nth-child(2){min-width:0}.batch-table td>small,.batch-table td>input[aria-label="使用人姓名"]{grid-column:2;max-width:none}.batch-table td>input[aria-label="使用人姓名"]{margin-top:0}}


/* Staff consumption preview and member freshness check */
.modal.consumption-modal{width:min(1180px,calc(100vw - 32px));max-width:1180px}
.consumption-modal-content{display:grid;grid-auto-rows:max-content;align-content:start;gap:14px;max-height:min(78vh,900px);overflow:auto;padding-right:3px}
.consumption-intro,.consumption-policy-note{margin:0;padding:12px 14px;border-radius:6px;font-size:.82rem;line-height:1.55}
.consumption-intro{background:var(--soft);color:var(--brand)}
.consumption-policy-note{border-left:3px solid var(--accent);background:#fff8ef;color:var(--muted)}
.consumption-loading{display:flex;align-items:center;gap:10px;min-height:86px;color:var(--muted)}
.consumption-source-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.75rem}
.consumption-source-row a,.consumption-write-result a{color:var(--brand);font-weight:600}
.consumption-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.consumption-summary>div{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
.consumption-summary strong{font:1.25rem/1.2 BrandSerif,Georgia,serif;color:var(--brand);font-variant-numeric:tabular-nums}
.consumption-summary span{font-size:.7rem;line-height:1.4;color:var(--muted)}
.consumption-scroll{max-height:38vh;overflow:auto;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
.consumption-table{width:100%;min-width:940px;border-collapse:collapse;font-size:.75rem}
.consumption-table th,.consumption-table td{padding:9px 8px;border-bottom:1px solid #eee9e2;text-align:left;vertical-align:top}
.consumption-table th{position:sticky;top:0;background:#f4eee7;color:var(--muted);font-size:.68rem;white-space:nowrap;z-index:1}
.consumption-table tr:last-child td{border-bottom:0}
.consumption-table td:first-child{width:48px;text-align:center}
.consumption-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand)}
.consumption-table td strong,.consumption-table td small{display:block}
.consumption-table td small{margin-top:3px;color:var(--muted);font-size:.67rem;line-height:1.4;overflow-wrap:anywhere}
.consumption-table .is-disabled{background:#faf9f7;color:#756c64}
.consumption-row-reason{max-width:240px;color:#9a5c3b!important}
.consumption-attendee-field{display:grid;gap:4px;margin-top:8px;color:var(--muted);font-size:.65rem;font-weight:400}
.consumption-attendee-field em{font-style:normal;color:#9a765a}
.consumption-attendee-field input{width:170px;max-width:100%;padding:6px 7px;border:1px solid #d8cec1;border-radius:4px;background:#fff;color:var(--ink);font:inherit}
.consumption-warnings{display:grid;gap:5px;margin:0;padding:10px 14px 10px 30px;border-left:3px solid var(--accent);border-radius:5px;background:#fbf1e5;color:var(--muted);font-size:.75rem;line-height:1.5}
.consumption-review,.consumption-write-result{display:grid;gap:8px;padding:13px 14px;border:1px solid var(--line);border-radius:7px;background:#fbfaf8}
.consumption-review.is-unknown,.consumption-write-result.is-partial{border-color:#e6c7b6;background:#fff8f2}
.consumption-write-result.is-success{border-color:#cbd9c5;background:#f5f9f2}
.consumption-review-head,.consumption-write-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.consumption-review-head strong,.consumption-write-head strong{color:var(--brand);font-size:.85rem}
.consumption-review-head span,.consumption-write-head span{color:var(--muted);font-size:.74rem}
.consumption-review p,.consumption-write-result p{margin:0;font-size:.77rem;line-height:1.5;color:var(--muted)}
.consumption-review-summary{white-space:pre-wrap;overflow-wrap:anywhere}
.consumption-review-items,.consumption-result-items{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.consumption-review-items li,.consumption-result-items li{display:grid;grid-template-columns:minmax(90px,.35fr) minmax(0,1fr);gap:8px;padding-top:7px;border-top:1px solid #eee9e2;font-size:.74rem;line-height:1.45}
.consumption-review-items li span,.consumption-result-items small{color:var(--muted);overflow-wrap:anywhere}
.consumption-result-items li{grid-template-columns:minmax(90px,.4fr) auto minmax(120px,1fr);align-items:start}
.consumption-result-items strong{font-size:.72rem;color:var(--brand)}
.consumption-result-items small{font-size:.69rem}
.consumption-footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:2px}
.consumption-footer .btn{min-height:42px}
.member-freshness-card{display:grid;gap:11px;margin:0 0 18px;padding:15px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.member-freshness-card.is-unknown{border-color:#e6c7b6;background:#fffaf6}
.member-freshness-card.is-loading{border-color:#dbcbbd;background:#fcfaf7}
.member-freshness-card p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.55;overflow-wrap:anywhere}
.member-freshness-result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.member-freshness-result-head strong,.member-freshness-card>div>strong{color:var(--brand);font-size:.9rem}
.member-freshness-result-head small{color:var(--muted);font-size:.7rem}
.member-freshness-counts{display:flex;gap:7px;flex-wrap:wrap}
.member-freshness-counts span{padding:5px 9px;border-radius:999px;background:var(--soft);color:var(--brand);font-size:.7rem}
.member-freshness-advice{display:grid;gap:6px;padding:11px 12px;border-left:3px solid #b6c7ac;border-radius:5px;background:#f7faf5}
.member-freshness-advice.is-unknown{border-left-color:#d49c72;background:#fff5ec}
.member-freshness-advice>strong{color:var(--brand);font-size:.77rem}
.member-freshness-advice>p{font-size:.75rem;white-space:pre-wrap}
.member-freshness-advice>small{color:var(--muted);font-size:.67rem;line-height:1.4}
.member-freshness-advice ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.member-freshness-advice li{display:grid;grid-template-columns:minmax(85px,.35fr) minmax(0,1fr);gap:8px;font-size:.72rem;line-height:1.45}
.member-freshness-advice li span{color:var(--muted);overflow-wrap:anywhere}
.member-freshness-next{padding:9px 11px;border-radius:5px;background:#fff5ec;color:#875738!important}
.member-freshness-loading{display:flex;align-items:flex-start;gap:12px}
.member-freshness-loading .spinner{flex:none;margin-top:2px}
.source-policy-note{display:block;margin-top:5px;color:var(--brand);font-size:.69rem;line-height:1.45}
.consumption-guidance,.consumption-revoke-panel{display:grid;gap:8px;margin-top:12px;padding:12px;border-left:3px solid #829978;border-radius:6px;background:#f5f8f3}
.consumption-guidance>small{color:var(--muted);font-size:.68rem;line-height:1.4}
.consumption-guidance ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.consumption-guidance li{display:grid;grid-template-columns:minmax(120px,.3fr) minmax(0,1fr);gap:8px;font-size:.72rem;line-height:1.5}
.consumption-guidance li>div{color:var(--muted);overflow-wrap:anywhere}
.consumption-guidance li a{margin-left:5px;color:var(--brand);font-weight:650}
.consumption-source-differences{display:grid;gap:5px;margin:5px 0;padding:8px 9px;border-radius:5px;background:#fffdf8}
.consumption-source-differences>strong{color:var(--ink);font-size:.7rem}
.consumption-source-differences ul{gap:5px}
.consumption-source-differences li{grid-template-columns:minmax(88px,.3fr) minmax(0,1fr);gap:7px;font-size:.69rem}
.consumption-source-differences li>b{color:var(--ink);font-weight:650}
.consumption-source-differences li>span{color:var(--muted);overflow-wrap:anywhere}
.consumption-revoke-panel{border-left-color:#a95d46;background:#fff7f3}
.consumption-revoke-panel>strong{color:#813d30}
.consumption-revoke-panel>p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.5}
.consumption-revoke-panel textarea{width:100%;resize:vertical}
.consumption-revoke-confirm{display:flex;align-items:flex-start;gap:8px;font-size:.74rem;line-height:1.45}
.consumption-revoke-confirm input{margin:2px 0 0}
.consumption-row-reason+.btn{margin-top:6px}
.consumption-table td .btn.danger{white-space:normal;line-height:1.25}
@media(max-width:760px){
 .modal.consumption-modal{width:calc(100vw - 20px);max-width:none;padding:17px 13px}
 .consumption-modal-content{max-height:82vh}
 .consumption-summary{grid-template-columns:1fr 1fr}
 .consumption-summary>div:last-child{grid-column:1/-1}
 .consumption-scroll{max-height:35vh}
 .consumption-footer{align-items:stretch;flex-direction:column}
 .consumption-footer .btn{width:100%}
 .consumption-result-items li{grid-template-columns:1fr auto}
 .consumption-result-items small{grid-column:1/-1}
 .member-freshness-counts{display:grid;grid-template-columns:1fr 1fr}
 .member-freshness-advice li{grid-template-columns:1fr}
 .consumption-guidance li{grid-template-columns:1fr}
}

/* Phone-friendly staff booking controls */
.staff-member-picker{display:grid;gap:8px;min-width:0}
.booking-member-selected{display:grid;gap:2px;min-width:0;padding:9px 11px;border-left:3px solid var(--accent);border-radius:5px;background:var(--soft)}
.booking-member-selected strong{color:var(--brand);font-size:.88rem;overflow-wrap:anywhere}
.booking-member-selected small{color:var(--muted);font-size:.69rem;line-height:1.4;overflow-wrap:anywhere}
#booking-member-search{width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}
.booking-member-results{display:grid;gap:6px;max-height:245px;overflow:auto;overscroll-behavior:contain;padding:1px}
.booking-member-option{display:grid;gap:1px;width:100%;min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);text-align:left}
.booking-member-option[aria-selected="true"],.booking-member-option:active{border-color:var(--accent);background:#fff8ef}
.booking-member-option strong{color:var(--brand);font-size:.83rem;line-height:1.4}
.booking-member-option small{color:var(--muted);font-size:.68rem;line-height:1.4;overflow-wrap:anywhere}
.booking-member-empty,.booking-member-more{padding:8px 9px;border-radius:5px;background:#f8f5f0;color:var(--muted);font-size:.72rem;line-height:1.45}
.booking-special-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:2px}
.booking-special-option{min-height:43px;padding:7px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--brand);font-size:.72rem;line-height:1.35}
.booking-special-option.active{border-color:var(--accent);background:#fff5e8;font-weight:650}
.booking-bay-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%}
.booking-bay-option{display:grid;align-content:center;gap:2px;min-width:0;min-height:67px;padding:9px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);text-align:left}
.booking-bay-option strong{color:var(--brand);font-size:.95rem}
.booking-bay-option small{color:var(--muted);font-size:.68rem;line-height:1.35}
.booking-bay-option.active{border-color:var(--accent);background:#fff7ed;box-shadow:inset 0 0 0 1px var(--accent)}
.admin-entry-note{margin:0 0 12px;font-size:.78rem;line-height:1.5}
.booking-notification-panel{display:grid;gap:11px}
.booking-notification-panel>p{color:var(--muted);font-size:.8rem;line-height:1.5}
.booking-notification-panel textarea{width:100%;min-height:205px;resize:vertical;padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:#fffefa;color:var(--ink);font-size:.86rem;line-height:1.7;white-space:pre-wrap}
.booking-notification-panel .form-footer{margin-top:0}
@media(max-width:640px){
 .booking-member-results{max-height:min(28dvh,205px)}
 .booking-member-option{min-height:52px;padding:9px 10px}
 .booking-bay-option{min-height:64px;padding:8px 10px}
 .booking-notification-panel .form-footer{align-items:stretch;flex-direction:column}
 .booking-notification-panel .form-footer .btn{width:100%}
}

/* Keep coach controls compact beside the expanded staff participant form. */
.form-grid>.field:has(#book-coach){align-content:start}

/* Seven-day consumption review: pending work is visible before processed rows. */
.consumption-window-tools,.consumption-list-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.consumption-window-tools label{display:flex;align-items:center;gap:8px;font-size:.78rem}
.consumption-window-tools input{min-width:145px;min-height:40px;width:auto;padding:6px 9px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}
.consumption-list-tools>span{color:var(--muted);font-size:.76rem}
.consumption-groups{display:grid;gap:12px;min-width:0}
.consumption-group{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}
.consumption-group>summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 15px;cursor:pointer;font-size:.85rem;font-weight:650;list-style:none}
.consumption-group>summary::before{content:'›';font-size:1.2rem;line-height:1;transition:transform .12s}
.consumption-group[open]>summary::before{transform:rotate(90deg)}
.consumption-group>summary::-webkit-details-marker{display:none}
.consumption-group>summary b{margin-left:auto;font-size:.75rem}
.consumption-group--eligible{border-color:#d9a5a0}.consumption-group--eligible>summary{background:#fff0ee;color:#a12824}
.consumption-group--needsReview{border-color:#ddc28d}.consumption-group--needsReview>summary{background:#fff7e8;color:#875817}
.consumption-group--written>summary{background:#edf5ef;color:#316143}
.consumption-group--excluded>summary{background:#f0f0ee;color:#686761}
.consumption-group-list{display:grid}
.consumption-record{display:grid;gap:11px;min-width:0;padding:16px;border-top:1px solid var(--line)}
.consumption-record-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.consumption-row-select{display:flex;align-items:center;gap:9px;min-height:30px;font-size:.75rem;cursor:pointer}
.consumption-row-select input{width:21px;height:21px;flex-shrink:0;accent-color:var(--brand);margin:0}
.consumption-record.is-disabled .consumption-row-select{display:none}
.consumption-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;border-radius:5px;padding:5px 9px;font-size:.75rem;line-height:1.4;font-weight:700}
.consumption-status.is-pending{background:#fde5e1;color:#a32521}
.consumption-status.is-review{background:#fff0d1;color:#885511}
.consumption-status.is-written{background:#e1f0e4;color:#2f6641}
.consumption-status.is-excluded{background:#ecece9;color:#62615d}
.consumption-record-person{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}
.consumption-record-person strong{font-size:.95rem;color:var(--brand)}
.consumption-record-person small{font-size:.74rem;color:var(--muted)}
.consumption-record-facts{display:grid;grid-template-columns:2fr 1.5fr .7fr 1fr;gap:12px;min-width:0}
.consumption-record-facts>div{display:grid;gap:3px;align-content:start;min-width:0}
.consumption-record-facts span{font-size:.7rem;color:var(--muted)}
.consumption-record-facts strong{font-size:.8rem;font-weight:500;overflow-wrap:anywhere}
.consumption-record .consumption-attendee-field{max-width:470px}
.consumption-record-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.consumption-record-actions:empty{display:none}
.consumption-record-actions .btn{white-space:normal}
.consumption-record .consumption-row-reason{font-size:.75rem;line-height:1.5;color:#875817}
.consumption-record .consumption-row-result,.consumption-record .consumption-row-origin{font-size:.72rem;color:var(--muted)}
.consumption-review.is-rule-only,.consumption-review.is-neutral{background:#f4f3ef;border-left-color:#a8a49b}
.consumption-review.is-rule-review,.consumption-review.is-actionable,.consumption-guidance{background:#fff8eb;border-left-color:#bb852c}
.consumption-window-notice{padding:11px 13px;border-left:3px solid var(--accent);background:var(--soft);font-size:.8rem;line-height:1.5}
@media(max-width:640px){
 .consumption-record{padding:13px;gap:10px}
 .consumption-record-top{align-items:flex-start;flex-wrap:wrap;gap:7px}
 .consumption-record-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .consumption-record-facts>div:first-child{grid-column:1/-1}
 .consumption-record-actions{justify-content:flex-start}
 .consumption-record-actions .btn{flex:1 1 130px;min-height:42px}
 .consumption-list-tools .btn{min-height:42px}
 .consumption-list-tools>span{flex-basis:100%;line-height:1.5}
 .consumption-window-tools{width:100%;gap:8px}
 .consumption-window-tools label{flex:1;min-width:0}
 .consumption-window-tools input{min-width:0;width:100%;flex:1}
 .consumption-window-tools .btn{min-height:40px;padding:9px}
}

@media(max-width:640px){
 .consumption-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .consumption-summary>div{padding:9px 7px}
 .consumption-summary>div:last-child{grid-column:auto}
 .consumption-summary strong{font-size:1.05rem;overflow-wrap:anywhere}
 .consumption-summary span{font-size:.66rem}
}

/* AI booking batch preview: explicit, row-level inclusion and correction states. */
.batch-selection-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 14px;margin-top:12px;padding:11px 13px;border:1px solid var(--line);border-radius:6px;background:#f8f5f0;color:var(--muted);font-size:.78rem;line-height:1.5}
.batch-selection-summary strong{color:var(--brand);white-space:nowrap}
.batch-row-select{display:flex;align-items:center;gap:6px;max-width:150px;color:var(--brand);font-size:.68rem;font-weight:600;line-height:1.35}
.batch-row-select span{white-space:nowrap}
@media(min-width:900px){.batch-table td:first-child{min-width:150px}}
.batch-table .batch-row-select input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--brand);flex:none}
.batch-table tr.is-selected{background:#f5f8f1}
.batch-table tr.is-blocked{background:#fbf5f1}
.batch-member-suggestion{display:grid;gap:1px;margin-top:5px}
.batch-member-suggestion .btn{justify-content:flex-start;width:100%;min-height:34px;padding:5px 2px;text-align:left;white-space:normal;font-size:.69rem}
.batch-member-suggestion small,.batch-row-notice{display:block;color:var(--muted);font-size:.66rem;line-height:1.45;overflow-wrap:anywhere}
.batch-row-notice{margin-top:5px;padding:6px 7px;border-left:2px solid var(--accent);background:#fff8ef}
.batch-row-issues{max-width:210px;white-space:normal;overflow-wrap:anywhere}
.batch-response .clarification-actions .btn{min-width:190px}
@media(max-width:640px){
 .batch-selection-summary{grid-template-columns:1fr;gap:3px}
 .batch-row-select{max-width:none;font-size:.75rem}
 .batch-table .batch-row-select input[type=checkbox]{width:21px;min-width:21px;height:21px;min-height:21px}
 .batch-member-suggestion .btn{min-height:40px;font-size:.75rem}
 .batch-row-notice{font-size:.72rem}
 .batch-row-issues{max-width:none}
 .batch-response .clarification-actions .btn{min-width:0}
}

/* Booking flow: date-first staff list and compact member confirmation. */
.schedule-date-strip{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin:18px 0}
.schedule-date-chip{display:grid;gap:3px;min-width:76px;min-height:58px;padding:9px 13px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);text-align:center;cursor:pointer}
.schedule-date-chip span{font-size:.72rem;color:var(--muted)}
.schedule-date-chip strong{font-weight:600;font-size:.95rem}
.schedule-date-chip.active,.schedule-date-chip[aria-pressed=true]{border-color:var(--brand);background:var(--soft);box-shadow:inset 0 0 0 1px var(--brand)}
.schedule-list{display:grid;gap:10px;margin-top:18px}
.schedule-row{display:grid;grid-template-columns:116px minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);min-width:0}
.schedule-row>div{min-width:0}
.schedule-row strong{overflow-wrap:anywhere}
.schedule-row p,.schedule-row small{color:var(--muted);line-height:1.5}
.schedule-row .booking-actions{flex-wrap:wrap;justify-content:flex-end}
.schedule-blocked-row{background:#efede8;border-style:dashed}
.booking-mode-switch,.public-intent-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.booking-mode-switch button,.public-intent-switch button{min-height:44px;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:10px 19px;font-weight:600;color:var(--ink);cursor:pointer}
.booking-mode-switch button.active,.public-intent-switch button.active,.booking-mode-switch button[aria-pressed=true],.public-intent-switch button[aria-pressed=true]{background:var(--soft);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.booking-summary__item{display:grid;gap:5px;min-width:0}
.booking-summary__item span{color:var(--muted);font-size:.76rem}
.booking-summary__item strong{font-size:1rem;overflow-wrap:anywhere}
.booking-success{display:grid;gap:16px;max-width:760px;margin:0 auto}
.public-slot-summary{padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:var(--soft);line-height:1.6}
.public-past-slots{margin-top:14px;color:var(--muted)}
.public-slot.short,.public-slot.unavailable{font-size:.72rem;background:#f0eeea;color:#8a8178}
.public-slot.short:after,.public-slot.unavailable:after{display:none;content:none}
@media(max-width:899px){
 .schedule-date-strip{gap:6px}
 .schedule-date-chip{min-width:0;flex:1 0 calc((100% - 24px)/5);padding:8px 5px;min-height:55px}
 .schedule-date-strip input[type=date]{width:auto;min-width:146px;flex:1;min-height:48px}
 .schedule-row{grid-template-columns:84px minmax(0,1fr);padding:14px 12px;gap:10px}
 .schedule-row>.booking-actions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid var(--line);padding-top:9px}
 .schedule-row .booking-actions .btn{min-height:40px;font-size:.75rem}
 .schedule-row strong{font-size:.88rem}
 .schedule-row p,.schedule-row small{font-size:.76rem}
 .booking-mode-switch button,.public-intent-switch button{flex:1;padding:10px 13px}
 .booking-success{gap:12px}
 .public-slot-summary{padding:12px 14px;font-size:.83rem}
}
.public-shell.public-shell--compact{display:block;max-width:1000px}
.public-room-link{padding:5px 0;border:0;background:transparent;color:var(--brand);font-size:.73rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:36px}
.public-shell--compact .public-intro{padding-bottom:8px}
.public-shell--compact .public-intro .eyebrow{display:none}
.public-shell--compact .public-title{font-size:clamp(1.45rem,3vw,2rem);line-height:1.3}
.public-shell--compact .public-title span{display:inline}
.public-shell--compact .public-title span+span::before{content:' '}
.public-shell--compact .public-selection-bar{position:sticky;bottom:18px;z-index:12;max-width:none;margin-top:16px;box-shadow:0 6px 24px #34251d18}
.public-shell--compact .public-selection-copy{min-width:0}
.public-shell--compact .public-selection-copy span{white-space:normal;line-height:1.4}
@media(max-width:899px){
 .public-shell--compact .public-title{font-size:1.45rem}
 .public-shell--compact .public-selection-bar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));margin:0;width:auto;padding:12px;gap:10px}
 .public-shell--compact .public-selection-copy strong{font-size:.9rem}
 .public-shell--compact .public-selection-copy span{font-size:.7rem}
 .public-shell--compact .public-selection-bar>.btn{padding:10px 12px;white-space:nowrap;font-size:.8rem}
}
.booking-details{margin:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:3px 0}
.booking-details>summary{display:flex;gap:8px;align-items:center;min-height:46px;cursor:pointer;font-size:.84rem;font-weight:600;color:var(--brand);list-style:none}
.booking-details>summary::before{content:'›';font-size:1.1rem}
.booking-details[open]>summary::before{transform:rotate(90deg)}
.booking-details>summary::-webkit-details-marker{display:none}
.booking-details[open]{padding-bottom:18px}
.booking-alternatives{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
.booking-alternatives .notice{margin-bottom:16px}
.booking-summary:has(.booking-summary__item){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px;margin:18px 0;border:1px solid var(--line);border-radius:8px;background:var(--soft);align-items:start}
@media(max-width:899px){.booking-summary:has(.booking-summary__item){grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:16px 12px}.booking-summary__item strong{font-size:.9rem}}
.public-slot.available{font-size:.8rem;color:#526a43;background:#f8fbf5}
.public-slot.available:after{content:none;display:none}
.public-slot.available:hover{color:var(--brand);background:var(--soft)}
.content:has(>.schedule-date-strip)>.page-heading .eyebrow{display:none}
.schedule-date-input-label{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--muted)}
.schedule-date-input-label .date-input{padding:8px 10px;min-height:44px}
.schedule-more-actions>summary{width:max-content;min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--muted);font-size:.8rem;font-weight:600;list-style:none}
.schedule-more-actions>summary:before{content:'›';font-size:1.1rem}
.schedule-more-actions[open]>summary:before{transform:rotate(90deg)}
.schedule-more-actions>summary::-webkit-details-marker{display:none}
.schedule-more-actions-list{display:flex;gap:10px;flex-wrap:wrap;padding:8px 0 16px}
.schedule-row-heading{display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap}
.schedule-row-main p:empty{display:none}
.schedule-time strong{font-size:.85rem;white-space:nowrap}
.schedule-updated{margin-top:16px}
.booking-mode-switch>.subtle{flex-basis:100%;line-height:1.5}
.booking-alternative-list{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.booking-alternative-list button{padding:9px 12px;min-height:42px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--brand);cursor:pointer}
.booking-unknown-note{background:#fff5df;border:1px solid #e3c98f;border-radius:6px;padding:14px;color:#795414;line-height:1.6;margin-bottom:16px}
.form-panel>.booking-actions{justify-content:flex-end;margin-top:18px}
@media(max-width:899px){
 .content:has(>.schedule-date-strip)>.page-heading{display:block;margin-bottom:16px}
 .content:has(>.schedule-date-strip)>.page-heading .heading-actions{display:flex;gap:8px;margin-top:14px;width:100%}
 .content:has(>.schedule-date-strip)>.page-heading .heading-actions>.btn{flex:1;padding:11px 10px;font-size:.8rem;white-space:nowrap}
 .schedule-date-input-label{flex:1 1 160px;min-width:0}
 .schedule-date-input-label .date-input{flex:1;min-width:0;width:auto}
 .schedule-row{grid-template-columns:1fr auto}
 .schedule-time{grid-column:1/-1}
 .schedule-row-main{min-width:0}
 .schedule-row>.btn{padding:8px 6px;font-size:.73rem;min-height:40px}
 .schedule-time strong{font-size:1rem}
 .schedule-row-heading>.tag{font-size:.66rem;padding:3px 6px}
 .schedule-row-heading>strong{flex-basis:100%;font-size:.95rem}
 .form-panel>.booking-actions>.btn{width:100%}
}
@media(max-width:640px){
 .app-header{padding:0 16px;gap:8px;height:74px}
 .app-header .brand-logo{width:110px;height:auto;flex-shrink:0}
 .header-right{gap:6px;min-width:0}
 .header-right .logout{white-space:nowrap;padding:6px 3px}
 .header-right .identity{min-width:0;gap:5px}
 .header-right .identity>span:last-child{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .header-right .avatar{flex-shrink:0;width:26px;height:26px}
 .schedule-date-chip{flex:1 0 calc((100% - 36px)/7);font-size:.88rem;min-height:55px;padding:7px 1px}
 .schedule-date-chip span{font-size:.68rem}
 .schedule-date-input-label{white-space:nowrap;flex:1 1 220px;min-height:48px}
 .schedule-date-strip>.btn{padding:8px;white-space:nowrap}
 .schedule-date-input-label .date-input{min-width:132px}
}
@media(max-width:370px){.header-right .identity .avatar{display:none}.header-right .identity>span:last-child{max-width:72px}}
.public-past-slots>summary,.booking-special-options>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;list-style:none}
.public-past-slots>summary::before,.booking-special-options>summary::before{content:'›';font-size:1.1rem}
.public-past-slots[open]>summary::before,.booking-special-options[open]>summary::before{transform:rotate(90deg)}
.public-past-slots>summary::-webkit-details-marker,.booking-special-options>summary::-webkit-details-marker{display:none}
.content:has(>.form-panel)>.page-heading .eyebrow{display:none}
@media(max-width:640px){
 .form-panel .form-grid>.staff-member-picker{grid-column:1/-1}
 .form-panel>.booking-type-picker{margin-bottom:16px;padding-bottom:16px}
 .form-panel .booking-member-selected{padding:10px 12px}
 .form-panel .booking-member-selected small{font-size:.75rem}
 .form-panel .booking-member-results .booking-member-empty{margin:0;font-size:.73rem}
 .form-panel .booking-member-option{min-height:48px}
 .form-panel>.booking-mode-switch{margin-bottom:16px}
}
.public-no-future{display:grid;gap:8px;padding:14px 16px;margin:0 0 16px;border:1px solid var(--line);background:var(--soft);border-radius:7px}
.public-no-future strong{font-size:.9rem}
.public-no-future span{font-size:.78rem;line-height:1.5;color:var(--muted)}
.public-no-future .btn{justify-self:start}
.public-booking-hint{font-size:.78rem;color:var(--muted);line-height:1.6;margin-top:10px}
.public-duration-control{display:flex;align-items:center;gap:9px;font-size:.78rem;color:var(--muted)}
.public-duration-control select{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}
@media(max-width:640px){.public-duration-control{flex-basis:100%}.public-duration-control select{flex:1}.public-intent-switch{margin-bottom:10px}}
.public-slot--named{white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:center}

/* Staff relay workflow: two clear modes and one decision per source row. */
.schedule-relay-shortcuts{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 16px;padding:13px 15px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:7px;background:var(--surface)}
.schedule-relay-shortcuts>div:first-child{display:grid;gap:3px;min-width:0}.schedule-relay-shortcuts strong{color:var(--brand);font-size:.88rem}.schedule-relay-shortcuts span{color:var(--muted);font-size:.75rem;line-height:1.45}.schedule-relay-shortcuts>div:last-child{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.schedule-relay-shortcuts .btn{white-space:normal;overflow-wrap:anywhere}
.relay-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 12px}.relay-mode-switch button{display:grid;gap:4px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--brand);text-align:left;cursor:pointer}.relay-mode-switch button[aria-pressed="true"]{border-color:var(--accent);background:var(--soft);box-shadow:inset 0 0 0 1px var(--accent)}.relay-mode-switch button strong{font-size:.95rem;line-height:1.3;overflow-wrap:anywhere}.relay-mode-switch button small{color:var(--muted);font-size:.7rem;line-height:1.4;overflow-wrap:anywhere}
.relay-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 13px;padding:0;list-style:none}.relay-progress li{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;padding:8px 6px;border-radius:5px;background:#f0ece7;color:var(--muted);font-size:.76rem}.relay-progress li>span,.relay-step-number{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;background:#ded6cd;color:var(--brand);font-size:.72rem;font-weight:700}.relay-progress li.is-active{background:#f5e9dc;color:var(--brand)}.relay-progress li.is-active>span,.relay-progress li.is-done>span,.relay-step-number{background:var(--brand);color:#fff}.relay-progress b{min-width:0;overflow-wrap:anywhere}
.relay-input-panel,.relay-preview,.relay-prepared{display:grid;gap:13px;margin:0 0 14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.relay-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.relay-section-heading>div{display:flex;align-items:center;gap:9px;min-width:0}.relay-section-heading h2{margin:0;color:var(--brand);font-size:1.08rem;line-height:1.35;overflow-wrap:anywhere}.relay-section-heading>span,.relay-section-heading>small{align-self:center;color:var(--muted);font-size:.73rem;line-height:1.4;text-align:right;overflow-wrap:anywhere}.relay-date-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 10px;color:var(--muted);font-size:.76rem}.relay-date-row>label{font-weight:600;color:var(--ink)}.relay-date-row>strong{color:var(--brand);font-size:.9rem}.relay-date-row>span{grid-column:1/-1;line-height:1.45}.relay-input-panel .field{display:grid;gap:6px;min-width:0}.relay-input-panel textarea{width:100%;min-height:160px;resize:vertical;line-height:1.55}.relay-copy,.relay-preview-footer,.relay-default-note,.relay-hint{margin:0;color:var(--muted);font-size:.74rem;line-height:1.5;overflow-wrap:anywhere}.relay-primary-action{display:flex;justify-content:flex-end}.relay-primary-action .btn{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.relay-summary{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.relay-summary>*{padding:6px 9px;border-radius:999px;background:#f5f1eb;color:var(--muted);font-size:.71rem;line-height:1.35;overflow-wrap:anywhere}.relay-summary strong{background:#edf3e9;color:#536e4b}.relay-warnings,.relay-issues{display:grid;gap:5px;margin:0;padding:10px 13px 10px 29px;border-left:3px solid var(--accent);border-radius:5px;background:#fff8ef;color:#8c5c3d;font-size:.74rem;line-height:1.5;overflow-wrap:anywhere}
.relay-parser-note{margin:0;color:var(--muted);font-size:.74rem;line-height:1.45;overflow-wrap:anywhere}
.relay-group{display:grid;gap:9px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:7px;background:#fcfbf9}.relay-group h3{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;color:var(--brand);font-size:.9rem;line-height:1.4}.relay-group h3 span{flex:none;padding:2px 8px;border-radius:999px;background:var(--soft);font-size:.68rem;font-weight:500}.relay-group>p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.45}.relay-group--new{border-color:#d4dfce;background:#fbfdf9}.relay-group--anomalies{border-color:#e5cdbb;background:#fffdfa}.relay-group--unchanged{padding:0;border:0;background:transparent}.relay-group--unchanged>summary,.relay-group--outside>summary{cursor:pointer;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#f6f3ee;color:var(--brand);font-size:.78rem;font-weight:600}.relay-group--unchanged>div{display:grid;gap:5px;padding:8px 2px}.relay-group--unchanged article{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;border-bottom:1px solid #eee9e2;font-size:.72rem;line-height:1.4}.relay-group--unchanged article strong{color:var(--ink)}.relay-group--unchanged article span{color:var(--muted);text-align:right;overflow-wrap:anywhere}
.relay-row-card,.relay-missing-card{display:grid;gap:9px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:7px;background:#fff}.relay-row-card.is-new{border-left:3px solid #a9bd9e}.relay-row-card.is-anomaly{border-left:3px solid #d49c72;background:#fffefa}.relay-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.relay-row-head>div{min-width:0}.relay-row-head>small{flex:none;color:var(--muted);font-size:.68rem;line-height:1.4;text-align:right;overflow-wrap:anywhere}.relay-row-head p{margin:5px 0 0;color:var(--ink);font-size:.78rem;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}.relay-status{display:inline-flex;padding:3px 8px;border:1px solid #e4cdb8;border-radius:999px;background:#fff4e8;color:#8f5937;font-size:.67rem;line-height:1.25}.relay-status.is-new{border-color:#cedcc8;background:#f2f7ef;color:#5e7656}
.relay-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.relay-fields>label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:.68rem}.relay-fields select,.relay-fields input,.relay-match select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:8px 7px;border:1px solid var(--line);border-radius:5px;background:#fffefa;color:var(--ink);font:inherit;font-size:.76rem}.relay-match{display:grid;gap:8px;min-width:0;padding:9px;border-radius:5px;background:#f7f3ed}.relay-match>label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:.7rem}.relay-check,.relay-select,.relay-confirm-check{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:9px 10px;border:1px solid #e5ded5;border-radius:5px;background:#faf8f4;color:var(--ink);font-size:.74rem;line-height:1.45;overflow-wrap:anywhere}.relay-check input,.relay-select input,.relay-confirm-check input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--brand)}.relay-additional-check{border-color:#dfc5ad;background:#fff8f0;color:#855437}.relay-row-card .btn,.relay-missing-card .btn,.relay-actions .btn{max-width:100%;min-height:40px;white-space:normal;overflow-wrap:anywhere}.relay-facts{display:grid;gap:4px;color:var(--muted);font-size:.75rem;line-height:1.45;overflow-wrap:anywhere}.relay-facts strong{color:var(--ink);font-size:.84rem}
.relay-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.relay-comparison article{display:grid;gap:5px;min-width:0;padding:9px;border:1px solid #ece6df;border-radius:5px;background:#fcfbf9}.relay-comparison h4{margin:0 0 2px;color:var(--brand);font-size:.75rem}.relay-comparison article>div{display:grid;grid-template-columns:minmax(42px,.55fr) minmax(0,1fr);gap:5px;font-size:.68rem;line-height:1.4}.relay-comparison article>div span{color:var(--muted);overflow-wrap:anywhere}.relay-comparison article>div strong{color:var(--ink);font-weight:600;text-align:right;overflow-wrap:anywhere}.relay-missing-card{display:flex;align-items:center;justify-content:space-between;gap:9px;background:#fff}.relay-missing-card>div{display:grid;gap:4px;min-width:0}.relay-missing-card strong{font-size:.8rem;overflow-wrap:anywhere}.relay-missing-card span,.relay-missing-card small{color:var(--muted);font-size:.7rem;line-height:1.45;overflow-wrap:anywhere}.relay-informational-tag{flex:none;padding:4px 7px;border-radius:999px;background:#f3eee7;color:#86694f!important}.relay-group--outside{padding:0;border:0;background:transparent}.relay-group--outside>p,.relay-group--outside>article{margin:0;padding:8px 10px;color:var(--muted);font-size:.72rem;line-height:1.45;overflow-wrap:anywhere}.relay-group--outside>article{display:grid;gap:3px;border-bottom:1px solid var(--line)}
.relay-delta{display:grid;gap:6px;padding:11px 12px;border-left:3px solid #9bae8e;border-radius:5px;background:#f3f8f0}.relay-delta>strong{color:#536e4b;font-size:.76rem}.relay-delta>span{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.75rem}.relay-delta>span b{color:var(--brand);text-align:right;overflow-wrap:anywhere}.relay-delta>small,.relay-owner-note,.relay-delta-note{margin:0;color:var(--muted);font-size:.69rem;line-height:1.45;overflow-wrap:anywhere}.relay-owner-note{padding:8px 10px;border-radius:5px;background:#f8f3ec}.relay-prepared-rows{display:grid;gap:7px}.relay-prepared-rows article{display:grid;gap:3px;padding:9px 10px;border:1px solid var(--line);border-radius:5px;background:#fcfbf9;font-size:.74rem;line-height:1.45}.relay-prepared-rows strong{color:var(--brand);overflow-wrap:anywhere}.relay-prepared-rows span{color:var(--muted);overflow-wrap:anywhere}.relay-reason textarea{width:100%;min-height:64px;resize:vertical}.relay-confirm-check{border-color:#d4dfce;background:#f5f9f2}.relay-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.relay-actions .btn{min-height:44px}.relay-lock-note,.relay-complete-note{padding:10px 12px;border:1px solid #e4c5ad;border-radius:5px;background:#fff7f0;color:#855437;font-size:.76rem;line-height:1.5;overflow-wrap:anywhere}.relay-complete-note{margin:0;border-color:#d4dfce;background:#f4f8f1;color:#526c4b}.relay-all-clear{margin:0;padding:13px;border-radius:5px;background:#f3f8f0;color:#536e4b;font-size:.78rem}
.relay-consumption-note{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#f7f4ef}.relay-consumption-note>div{display:grid;gap:3px;min-width:0}.relay-consumption-note strong{color:var(--brand);font-size:.8rem}.relay-consumption-note span{color:var(--muted);font-size:.7rem;line-height:1.4;overflow-wrap:anywhere}.relay-consumption-note .btn{max-width:45%;white-space:normal;overflow-wrap:anywhere}.relay-sticky-actions{position:sticky;bottom:8px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid #d1c0ac;border-radius:7px;background:#fffaf2;box-shadow:0 5px 20px #38231518}.relay-sticky-actions>span{color:var(--brand);font-size:.78rem;font-weight:600}.relay-sticky-actions .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}.relay-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-top:3px;border-top:1px solid var(--line)}.relay-preview-footer .btn{white-space:normal;overflow-wrap:anywhere}
@media(max-width:640px){.schedule-relay-shortcuts{align-items:flex-start;flex-direction:column;padding:12px}.schedule-relay-shortcuts>div:last-child{justify-content:flex-start;width:100%}.schedule-relay-shortcuts .btn{flex:1 1 130px}.relay-input-panel,.relay-preview,.relay-prepared{padding:12px;gap:11px}.relay-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.relay-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.relay-comparison article{padding:7px}.relay-comparison article>div{grid-template-columns:minmax(0,1fr);gap:1px}.relay-comparison article>div strong{text-align:left}.relay-consumption-note{align-items:flex-start;flex-direction:column}.relay-consumption-note .btn{max-width:100%;width:100%}.relay-missing-card{align-items:flex-start;flex-direction:column}.relay-missing-card .btn{width:100%}.relay-row-head{flex-direction:column}.relay-row-head>small{text-align:left}.relay-progress li{gap:5px;padding:7px 4px;font-size:.7rem}.relay-sticky-actions{align-items:stretch;flex-direction:column}.relay-sticky-actions .btn{width:100%}}
@media(max-width:400px){.relay-mode-switch{gap:6px}.relay-mode-switch button{padding:10px}.relay-section-heading h2{font-size:.96rem}.relay-date-row{grid-template-columns:1fr}.relay-date-row>span{grid-column:auto}.relay-fields{grid-template-columns:1fr 1fr}.relay-row-card,.relay-missing-card{padding:10px}.relay-summary>*{font-size:.67rem;padding:5px 7px}.relay-preview-footer{align-items:flex-start;flex-direction:column}}

/* Progressive staff relay review: compact rows and a focused full-screen editor. */
.relay-row-facts{display:grid;gap:2px;min-width:0}.relay-row-facts>strong{font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}.relay-row-facts>span{color:var(--muted);font-size:.73rem;line-height:1.4;overflow-wrap:anywhere}.relay-diff-list{display:grid;gap:2px;margin-top:3px}.relay-diff-list p{display:flex;align-items:baseline;gap:5px;min-width:0;margin:0;font-size:.72rem;line-height:1.4;overflow-wrap:anywhere}.relay-diff-list p span{color:var(--muted)}.relay-diff-list p b{color:var(--ink);font-weight:600;overflow-wrap:anywhere}.relay-diff-list p i{color:var(--accent);font-style:normal;flex:none}.relay-diff-list>small{color:var(--muted);font-size:.68rem}.relay-compact-content{min-width:0}.relay-row-card--compact{gap:7px;padding:11px}.relay-compact-main{display:grid;gap:5px;min-width:0}.relay-compact-top{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.relay-compact-top>small{color:var(--muted);font-size:.68rem}.relay-source-compact{color:var(--muted);font-size:.68rem;line-height:1.35;overflow-wrap:anywhere}.relay-row-actions{display:flex;justify-content:flex-end}.relay-row-actions .btn{min-height:44px}.relay-row-toggle{display:flex;align-items:center;gap:9px;min-height:44px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:#faf8f4;font-size:.78rem}.relay-row-toggle input{width:20px;height:20px;accent-color:var(--brand)}.relay-editor-modal{display:flex;flex-direction:column;overflow:hidden}.relay-editor-modal>.modal-head{flex:none;margin-bottom:15px}.relay-editor{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.relay-editor-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:grid;align-content:start;gap:12px;padding:0 2px 14px}.relay-editor-kicker{color:var(--muted);font-size:.78rem;line-height:1.4;overflow-wrap:anywhere}.relay-editor-current,.relay-editor-booking{display:grid;gap:5px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:7px;background:#faf8f4}.relay-editor-current>strong,.relay-editor-booking>strong{font-size:.93rem;overflow-wrap:anywhere}.relay-editor-current>span,.relay-editor-booking>span{font-size:.77rem;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}.relay-editor-choice,.relay-editor-fields{display:grid;gap:8px}.relay-editor-choice h3,.relay-editor-fields h3{font-size:.88rem;color:var(--brand)}.relay-editor-choice>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.relay-intent-choice{display:grid;align-content:start;gap:5px;min-height:76px;padding:11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);text-align:left}.relay-intent-choice strong{font-size:.82rem}.relay-intent-choice small{color:var(--muted);font-size:.7rem;line-height:1.35;overflow-wrap:anywhere}.relay-intent-choice.is-selected{border-color:var(--accent);background:#fff8ef;box-shadow:inset 0 0 0 1px var(--accent)}.relay-intent-choice:disabled{opacity:.55}.relay-editor-advanced{border-top:1px solid var(--line);padding-top:9px}.relay-editor-advanced summary{cursor:pointer;color:var(--brand);font-size:.78rem;font-weight:600;min-height:40px;padding:8px 0}.relay-editor-advanced .relay-fields{margin-top:8px}.relay-editor-actions{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;padding:10px 0 max(4px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.relay-editor-actions .btn{min-height:44px;white-space:normal;overflow-wrap:anywhere}.relay-cancel-state{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.relay-cancel-state>span,.relay-cancel-state h4{font-size:.72rem;color:var(--muted);margin:0}.relay-cancel-state>b,.relay-cancel-state strong{font-size:.78rem;color:var(--brand)}.relay-cancel-state>i{font-style:normal;color:var(--accent)}.relay-process-impact{display:grid;gap:8px}.relay-impact-item{display:grid;gap:7px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}.relay-impact-item>div:first-child{display:grid;gap:2px;min-width:0}.relay-impact-item>div:first-child strong{font-size:.82rem;color:var(--brand);overflow-wrap:anywhere}.relay-impact-item>div:first-child span{font-size:.71rem;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}.relay-impact-item .relay-delta{padding:8px 10px}.relay-impact-item .relay-delta>strong{font-size:.74rem}.relay-impact-item .relay-delta>span{font-size:.73rem}.relay-process-details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--brand);font-size:.78rem}.relay-process-details>div{display:grid;gap:8px}.relay-partial-note{padding:10px 12px;border:1px solid #e4c5ad;border-radius:6px;background:#fff7f0;color:#855437;font-size:.78rem;line-height:1.5;overflow-wrap:anywhere}.relay-final-actions{position:sticky;bottom:0;z-index:2;padding:10px 0 max(6px,env(safe-area-inset-bottom));background:var(--surface)}
@media(max-width:760px){.modal-backdrop.relay-editor-backdrop{padding:0;align-items:stretch}.modal.relay-editor-modal{width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;padding:calc(12px + env(safe-area-inset-top)) 14px calc(8px + env(safe-area-inset-bottom));}.modal.relay-editor-modal>.modal-head{margin-bottom:12px}.relay-editor-actions{justify-content:stretch}.relay-editor-actions .btn{flex:1 1 30%;padding:9px 8px;font-size:.82rem}.relay-sticky-actions{position:fixed;left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:35;max-width:860px;margin:0 auto;box-shadow:0 5px 22px #3823152b}.relay-preview{padding-bottom:105px}.relay-impact-item{padding:9px}.relay-final-actions{position:sticky;bottom:0}.relay-prepared{padding-bottom:12px}}

/* One-click member sync: status is explicit, while row-level finance checks stay advisory. */
.modal.member-sync-modal{width:min(640px,calc(100vw - 28px));max-height:min(86dvh,780px);overflow:auto}
.member-sync-body{display:grid;gap:14px;color:var(--ink)}
.member-sync-job{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid var(--line);border-radius:7px;background:#faf7f2}
.member-sync-job>div{display:grid;gap:3px;min-width:0}
.member-sync-job strong{color:var(--brand);font-size:.91rem}
.member-sync-job small{color:var(--muted);font-size:.68rem;overflow-wrap:anywhere}
.member-sync-status-dot{width:10px;height:10px;flex:none;border-radius:50%;background:#b9a99a}
.member-sync-status-dot.is-running{background:#c48c5d;box-shadow:0 0 0 4px #c48c5d22;animation:member-sync-pulse 1.4s ease-in-out infinite}
.member-sync-status-dot.is-done{background:#718b68}
.member-sync-status-dot.is-failed{background:#a14b31}
@keyframes member-sync-pulse{50%{box-shadow:0 0 0 7px #c48c5d12}}
.member-sync-body>.member-sync-phase{display:flex;align-items:center;gap:9px;margin:0;color:var(--brand);font-weight:600}
.member-sync-body>.subtle,.member-sync-result-note{margin:0;font-size:.78rem;line-height:1.55}
.member-sync-result-note:empty{display:none}
.member-sync-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.member-sync-summary span{display:grid;gap:3px;justify-items:center;padding:11px 7px;border:1px solid var(--line);border-radius:6px;background:#fffdfa;color:var(--muted);font-size:.7rem;text-align:center}
.member-sync-summary b{color:var(--brand);font:1.35rem/1 BrandSerif,Georgia,serif}
.member-sync-blocked,.member-sync-financial{padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:#fffdfa}
.member-sync-blocked summary{color:#895b3e;font-size:.77rem;font-weight:600;cursor:pointer}
.member-sync-blocked>ul,.member-sync-financial ul{display:grid;gap:9px;margin:10px 0 0;padding:0;list-style:none}
.member-sync-blocked-row{display:grid;gap:6px;padding:10px 0;border-top:1px solid #eee8e0}
.member-sync-blocked-row>div{display:grid;gap:3px}
.member-sync-blocked-row>div strong{color:var(--brand);font-size:.8rem}
.member-sync-blocked-row>div span,.member-sync-blocked-row>div small{color:var(--muted);font-size:.68rem;overflow-wrap:anywhere}
.member-sync-blocked-row>ul{display:grid;gap:3px;margin:0;padding-left:17px;color:#824d38;font-size:.72rem;line-height:1.45}
.member-sync-blocked-row>p{margin:0;color:var(--muted);font-size:.72rem}
.member-sync-blocked-row>a,.member-sync-source{width:max-content;max-width:100%;color:var(--brand);font-size:.72rem;text-decoration:underline;overflow-wrap:anywhere}
.member-sync-financial{border-color:#e7d5a9;background:#fffaf0}
.member-sync-financial>strong{color:#775b20;font-size:.76rem}
.member-sync-financial li{color:#67562f;font-size:.72rem;line-height:1.45;overflow-wrap:anywhere}
.member-sync-financial small{color:var(--muted)}
.member-sync-body .form-footer{margin-top:0;justify-content:flex-end}
.member-sync-legacy{margin:0 0 17px;border:1px solid var(--line);border-radius:7px;background:#fbf9f5}
.member-sync-legacy>summary{padding:10px 12px;color:var(--brand);font-size:.78rem;font-weight:600;cursor:pointer}
.member-sync-legacy-body{display:grid;gap:11px;padding:0 12px 12px}
.member-sync-legacy-actions{display:flex;gap:8px;flex-wrap:wrap}
.member-sync-legacy .member-freshness-card{margin:0;padding:11px 12px}
.member-sync-source-check{margin:0 0 17px;border:1px solid var(--line);border-radius:7px;background:#fbf9f5}
.member-sync-source-check>summary{padding:10px 12px;color:var(--brand);font-size:.78rem;font-weight:600;cursor:pointer}
.member-sync-source-check .member-freshness-card{margin:0;padding:11px 12px}
.member-docdb-flow{display:grid;gap:14px;padding:16px}
.member-docdb-flow-intro{margin:0;color:var(--muted);font-size:.84rem;line-height:1.55}
.member-docdb-ledger-link{display:flex;align-items:center;gap:8px;width:fit-content;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--brand);font-size:.84rem;font-weight:600;text-decoration:none}
.member-docdb-ledger-link:hover{text-decoration:underline}
.member-docdb-ledger-link .icon{width:16px;height:16px}
.member-docdb-flow-steps{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:member-docdb-step}
.member-docdb-flow-steps li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:2px 9px;align-items:start;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:#fbf9f5;counter-increment:member-docdb-step}
.member-docdb-flow-steps li::before{content:counter(member-docdb-step);grid-row:span 2;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;font-size:.76rem;font-weight:700}
.member-docdb-flow-steps li strong{color:var(--brand);font-size:.83rem}
.member-docdb-flow-steps li span{color:var(--muted);font-size:.77rem;line-height:1.5}
.member-docdb-ledger-help>summary{display:flex;align-items:center;min-height:40px;padding:7px 0;color:var(--brand);font-size:.78rem;font-weight:600;cursor:pointer}
.member-docdb-ledger-help-body{display:grid;gap:7px;padding:0 1px 2px;color:var(--muted);font-size:.73rem;line-height:1.5}
.member-docdb-ledger-help-body p{margin:0}
.member-docdb-ledger-help-body strong{color:var(--ink)}
.member-docdb-ledger-help-body ul{margin:0;padding-left:19px}
.member-docdb-ledger-help-body li+li{margin-top:4px}
.member-docdb-flow .form-footer{margin-top:0;justify-content:flex-start}
.member-docdb-flow .form-footer .btn{white-space:normal}
.booking-member-no-match{display:grid;justify-items:start;gap:5px;padding:7px 8px}
.booking-member-no-match .booking-member-empty{padding:0;background:transparent}
.booking-member-no-match>small{color:var(--muted);font-size:.67rem}
@media(max-width:560px){.member-sync-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.member-sync-summary span{padding:10px 4px;font-size:.64rem}.member-sync-body .form-footer{justify-content:stretch}.member-sync-body .form-footer .btn{flex:1 1 auto;padding:9px 8px;font-size:.78rem}.member-sync-legacy-actions .btn{flex:1 1 100%}}
@media(max-width:560px){.member-docdb-ledger-link{width:100%;justify-content:center}.member-docdb-flow .form-footer{align-items:stretch}.member-docdb-flow .form-footer .btn{flex:1 1 100%}}
@media(max-width:400px){.relay-editor-choice>div{grid-template-columns:1fr}.relay-row-actions{justify-content:stretch}.relay-row-actions>.btn,.relay-row-toggle{width:100%;justify-content:center}.relay-editor-actions{gap:4px}.relay-editor-actions .btn{font-size:.78rem;padding:8px 5px}.relay-impact-item .relay-delta>span{align-items:flex-start;flex-direction:column;gap:1px}}
/* Keep core schedule facts readable at 320–390px without reducing hit targets. */
.relay-row-facts>strong{font-size:15px}.relay-row-facts>span,.relay-diff-list p{font-size:14px}.relay-diff-list>small,.relay-status,.relay-compact-top>small,.relay-source-compact,.relay-parser-note,.relay-editor-kicker,.relay-fields>label,.relay-editor-advanced summary,.relay-intent-choice small{font-size:13px}.relay-fields select,.relay-fields input,.relay-match select{font-size:16px;min-height:44px}.relay-editor .relay-fields select,.relay-editor .relay-fields input,.relay-editor .relay-match select{font-size:16px;min-height:44px}.relay-editor-choice h3,.relay-editor-fields h3{font-size:15px}
.relay-delta-owner-split>span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px}.relay-delta-owner-split>span small{font-size:13px;color:var(--muted)}.relay-delta-owner-split>span b{font-size:14px;color:var(--brand);text-align:right;overflow-wrap:anywhere}
.relay-source-summary{padding:8px 12px;gap:5px}.relay-source-line{display:flex;align-items:center;gap:9px;min-width:0;min-height:44px}.relay-source-line>strong{color:var(--brand);font-size:14px;white-space:nowrap}.relay-source-line>span{color:var(--muted);font-size:13px;white-space:nowrap}.relay-source-inline{min-width:0;flex:1}.relay-source-inline>summary{cursor:pointer;color:var(--brand);font-size:13px;min-height:40px;display:flex;align-items:center}.relay-source-inline pre{max-height:40vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#faf8f4;border-radius:5px;padding:10px;font-size:13px}.relay-source-edit{flex:none;min-height:44px;padding:7px 9px;font-size:14px;white-space:nowrap}
.relay-process-summary{display:flex;flex-wrap:wrap;gap:6px 8px;margin:12px 0 16px}.relay-process-summary>span{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#faf8f4;font-size:13px;line-height:1.35;white-space:nowrap}
.login-remember{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:2px 9px;min-width:0}.login-remember input[type="checkbox"]{width:18px;height:18px;min-height:0;margin:0;justify-self:center;accent-color:var(--brand)}.login-remember label{font-size:.875rem;font-weight:500;color:var(--ink);cursor:pointer}.login-remember small{grid-column:2;color:var(--muted);font-size:.75rem;line-height:1.45}
.import-diff-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0;padding:11px 13px;border-radius:7px;background:#faf8f4;font-size:.78rem}.import-diff-summary span{display:grid;gap:2px;color:var(--muted)}.import-diff-summary b{color:var(--ink);font-size:1rem;font-weight:600}.import-diff-coach-note{margin:-4px 0 12px;color:var(--muted);font-size:.76rem;line-height:1.55}
@media(max-width:520px){.import-diff-summary{gap:6px;padding:9px}.import-diff-summary b{font-size:.92rem}.import-diff-summary span{font-size:.68rem}}

/* Staff booking: one compact editor with provisional time selection. */
.staff-booking-panel{display:grid;gap:13px;padding:17px}
.staff-booking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px}
.staff-compact-field{display:grid;align-content:start;gap:8px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:7px;background:#fffdfa}
.staff-compact-field>.field-label,.staff-compact-field>label{color:var(--muted);font-size:.78rem;font-weight:600}
.staff-compact-time{grid-column:1/-1;padding:0;border:0;background:transparent}
.staff-time-toggle{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:3px 10px;width:100%;min-height:62px;padding:10px 13px;border:1px solid var(--line);border-radius:7px;background:#faf7f2;text-align:left}
.staff-time-toggle>.field-label{grid-column:1;color:var(--muted);font-size:.76rem;font-weight:600}
.staff-time-toggle>strong{grid-column:2;color:var(--brand);font-size:1rem;overflow-wrap:anywhere}
.staff-time-toggle>small{grid-column:3;color:var(--muted);font-size:.72rem;text-align:right;overflow-wrap:anywhere}
.staff-time-status{margin:0;color:var(--muted);font-size:.75rem;line-height:1.45}
.staff-time-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:7px;max-height:38dvh;overflow:auto;padding:1px}
.staff-time-option{display:grid;align-content:center;justify-items:center;gap:1px;min-width:0;min-height:64px;padding:7px 4px;border:1px solid var(--line);border-radius:6px;background:var(--surface);text-align:center}
.staff-time-option strong{font-size:.9rem;line-height:1.2;color:var(--brand)}
.staff-time-option small{font-size:.68rem;line-height:1.25;color:var(--muted)}
.staff-time-option em{font-size:.65rem;line-height:1.25;font-style:normal;color:var(--muted)}
.staff-time-option.selected{border-color:var(--accent);background:#fff5e8;box-shadow:inset 0 0 0 1px var(--accent)}
.staff-time-option.is-available em{color:#526c49}
.staff-time-option.is-unavailable em{color:#985c43}
.staff-bay-field{grid-column:auto!important}
.staff-booking-panel .booking-bay-options{gap:7px}
.staff-booking-panel .booking-bay-option{min-height:57px;padding:7px 9px}
.staff-booking-panel .booking-bay-option strong{font-size:.88rem}
.staff-booking-panel .booking-bay-option small{font-size:.68rem;line-height:1.3}
.staff-compact-member{grid-column:span 2;padding:10px}
.staff-compact-member>.staff-member-picker{display:grid;gap:6px;min-width:0}
.staff-booking-panel .booking-member-selected{padding:7px 9px}
.staff-booking-panel .staff-member-picker>input{width:100%;min-height:48px;padding:9px 11px;font-size:16px}
.staff-booking-panel .booking-member-results{max-height:min(20dvh,150px);overflow:auto}
.staff-booking-panel .booking-member-option{min-height:46px;padding:7px 9px}
.staff-compact-type .booking-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.staff-compact-type .type-option{min-height:58px;padding:7px 8px}
.staff-compact-type .type-option strong{font-size:.88rem}
.staff-compact-type .type-option small{font-size:.68rem}
.staff-compact-coach select,.staff-compact-date input{width:100%;min-width:0;min-height:48px;padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:16px}
.staff-compact-coach small{font-size:.7rem;line-height:1.4}
.staff-compact-date>strong{color:var(--brand);font-size:.83rem;line-height:1.3}
.staff-duration-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.staff-duration-options button{min-width:0;min-height:48px;padding:7px 5px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:.8rem;font-weight:600}
.staff-duration-options button[aria-pressed=true]{border-color:var(--brand);background:var(--soft);box-shadow:inset 0 0 0 1px var(--brand)}
.staff-booking-note{margin:0;line-height:1.45}
.staff-booking-panel .booking-summary:has(.booking-summary__item){margin:0;padding:11px 12px;gap:9px 12px}
.staff-booking-panel .booking-summary__item strong{font-size:.85rem}
.staff-booking-panel .booking-actions{margin-top:0}
@media(max-width:900px){.staff-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-compact-time,.staff-compact-member{grid-column:1/-1}.staff-bay-field{grid-column:1/-1!important}}
@media(max-width:560px){.staff-booking-panel{gap:10px;padding:12px}.staff-booking-grid{gap:8px}.staff-compact-field{padding:9px}.staff-time-toggle{grid-template-columns:52px minmax(0,1fr);gap:2px 8px;padding:9px 10px}.staff-time-toggle>small{grid-column:2;text-align:left}.staff-time-options{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px;max-height:34dvh}.staff-time-option{min-height:60px}.staff-booking-panel .booking-summary:has(.booking-summary__item){grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:9px 10px}.staff-booking-panel .booking-summary__item strong{font-size:.8rem}.staff-booking-panel .booking-actions>.btn{width:100%;min-height:48px}}
.staff-compact-date{padding:0;border:0;background:transparent}
.staff-date-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 8px;width:100%;min-height:57px;padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:#fffdfa;text-align:left}
.staff-date-toggle>.field-label{grid-column:1;grid-row:1/3;color:var(--muted);font-size:.76rem;font-weight:600}
.staff-date-toggle>strong{grid-column:2;color:var(--brand);font-size:.9rem;line-height:1.2}
.staff-date-toggle>small{grid-column:2;color:var(--muted);font-size:.68rem;line-height:1.2}
.staff-date-picker{display:grid;gap:7px;padding:7px 0 0}
.staff-date-shortcuts{display:flex;gap:5px;overflow-x:auto;overscroll-behavior-x:contain;padding:1px 1px 5px;scrollbar-width:thin}
.staff-date-shortcut{display:grid;flex:0 0 54px;align-content:center;justify-items:center;gap:2px;min-height:48px;padding:4px;border:1px solid var(--line);border-radius:6px;background:var(--surface);white-space:nowrap}
.staff-date-shortcut span{font-size:.7rem;color:var(--muted)}
.staff-date-shortcut small{font-size:.69rem;font-weight:600;color:var(--ink)}
.staff-date-shortcut.active{border-color:var(--brand);background:var(--soft);box-shadow:inset 0 0 0 1px var(--brand)}
.staff-native-date-label{color:var(--muted);font-size:.72rem}
.staff-compact-member{grid-column:span 2}
.staff-compact-member>.staff-member-picker{display:grid;gap:6px;min-width:0}
.staff-member-current{display:flex;align-items:baseline;gap:8px;min-height:24px;min-width:0}
.staff-member-current strong{overflow:hidden;color:var(--ink);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}
.staff-member-current small{overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}
.staff-compact-member .booking-member-results:empty{display:none}
.staff-booking-special{padding-top:2px;border-top:1px solid var(--line)}
.staff-booking-special>summary{min-height:42px;display:flex;align-items:center;color:var(--muted);font-size:.78rem;cursor:pointer}
.staff-compact-duration{grid-column:1/-1}
.staff-compact-duration--fixed{grid-column:auto}
.staff-compact-duration--fixed .staff-duration-options{grid-template-columns:minmax(0,1fr)}
.staff-duration-options{grid-template-columns:repeat(3,minmax(84px,1fr))}
.staff-duration-options button{white-space:nowrap;font-size:.84rem}
.staff-booking-panel .booking-bay-option small:empty{display:none}
@media(max-width:560px){.staff-compact-member{grid-column:1/-1}.staff-compact-duration{grid-column:1/-1}.staff-compact-duration--fixed{grid-column:auto}.staff-date-shortcuts{margin:0 -2px}.staff-date-shortcut{flex-basis:54px}.staff-duration-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.staff-compact-duration--fixed .staff-duration-options{grid-template-columns:minmax(0,1fr)}.staff-duration-options button{min-height:50px;padding:6px 3px;font-size:.82rem}.staff-booking-panel .booking-summary:has(.booking-summary__item){display:none}}

/* Management shell: scoped top navigation; member navigation stays unchanged.
   Brand guide p8: Pantone 4645 C / 4625 C / Cool Gray 1 C.
   HEX values are PDF-rendered screen mappings, not official printed HEX specifications. */
.layout.admin-layout{display:block;padding-top:24px;padding-bottom:56px}
.admin-layout>.admin-top-nav{position:static;display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:stretch;gap:4px;width:100%;min-width:0;margin:0 0 26px;padding:7px 10px;border:1px solid rgba(175,128,88,.35);border-radius:10px;background:#E4E3D9;color:#4A2613;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#AF8058 #E4E3D9;scroll-padding-inline:10px}
.admin-top-nav>.nav-item{position:relative;flex:0 0 auto;flex-direction:row;justify-content:center;gap:9px;width:auto;min-height:48px;margin:0;padding:12px 19px;border:1px solid transparent;border-radius:6px;background:transparent;color:#4A2613;white-space:nowrap;text-align:center;font-size:.91rem;line-height:1.5}
.admin-top-nav>.nav-item:hover{background:rgba(175,128,88,.10);color:#4A2613}
.admin-top-nav>.nav-item.active{border-color:#AF8058;background:rgba(175,128,88,.18);color:#4A2613;font-weight:600;box-shadow:inset 0 -2px 0 #AF8058}
.admin-top-nav>.nav-item:focus-visible{outline:2px solid #4A2613;outline-offset:-3px}
.admin-top-nav>.nav-item>.icon{width:19px;height:19px}
/* Reserved for the navigation worker's status hook; no business logic here. */
.admin-layout .nav-loading-status{display:flex;align-items:center;gap:8px;min-height:40px;margin:0 0 14px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--ink);font-size:.85rem}
.admin-layout .nav-loading-status[hidden]{display:none}
@media(max-width:1000px){.layout.admin-layout{padding-top:20px}.admin-top-nav>.nav-item{padding-inline:15px}}
@media(max-width:760px){.layout.admin-layout{padding:18px 16px 40px}.admin-layout>.admin-top-nav{margin-bottom:20px;padding:6px;gap:3px;border-radius:8px}.admin-top-nav>.nav-item{min-height:46px;padding:10px 13px;font-size:.83rem;gap:7px}.admin-top-nav>.nav-item>.icon{width:18px;height:18px}}
/* Stable dashboard host stays mounted across module switches. */
.layout.admin-dashboard-layout{padding-bottom:0}
.manager-dashboard-host{max-width:1320px;margin:0 auto;padding:0 48px 56px;min-width:0}
.manager-dashboard-host[hidden]{display:none!important}
@media(max-width:1000px){.manager-dashboard-host{padding-right:30px;padding-left:30px}}
@media(max-width:760px){.manager-dashboard-host{padding:0 16px 40px}}

/* User-confirmed Library demo v12: deep brown masthead + ivory management tabs.
   Original one-tab style extended to four permission-gated existing modules. */
.app-header.admin-app-header{max-width:none;height:64px;padding:0 max(32px,calc((100vw - 1376px)/2));background:#4c2611;border-bottom:0;color:#d9c4b2;font-size:12px}
.app-header.admin-app-header,.app-header.admin-app-header *,.layout.admin-layout,.layout.admin-layout *{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.admin-app-header a,.admin-layout a{text-decoration:none}
.admin-app-header .brand-logo{width:118px;height:50px;object-fit:contain}
.admin-app-header .header-right{gap:15px}
.admin-app-header .identity{font-size:12px;color:#fff7ed;font-weight:500}
.admin-app-header .user-role{color:#ddc8b7;font-size:11px}
.admin-app-header .avatar{width:32px;height:32px;color:#fff0df;background:#714c34;border:1px solid #967056;font-size:11px}
.admin-app-header .logout{color:#d9c4b2;font-size:12px}
.admin-app-header button:focus-visible{outline:3px solid #b08057;outline-offset:3px}
.layout.admin-layout{max-width:none;padding:0 0 30px}
.admin-layout>.admin-top-nav{min-height:49px;margin:0;padding:0 max(32px,calc((100vw - 1376px)/2));gap:20px;background:#fffefa;border:0;border-radius:0;color:#4c2611;scrollbar-color:#b08057 #fffefa;scroll-padding-inline:32px}
.admin-top-nav>.nav-item{min-height:49px;padding:0 2px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#6e5f53;font-size:13px;font-weight:500;box-shadow:none}
.admin-top-nav>.nav-item:hover{background:transparent;color:#4c2611}
.admin-top-nav>.nav-item.active{background:rgba(175,128,88,.16);border-color:transparent;border-radius:8px;color:#4c2611;font-weight:650;box-shadow:none}
.admin-top-nav>.nav-item:focus-visible{outline:3px solid #b08057;outline-offset:-3px}
.admin-layout>.content{max-width:1440px;margin:0 auto;padding:31px 32px 0}
.layout.admin-layout.admin-dashboard-layout{padding-bottom:0}
.manager-dashboard-host{max-width:1440px;padding:0 32px 30px}
@media(max-width:1100px){.app-header.admin-app-header,.admin-layout>.admin-top-nav{padding-left:25px;padding-right:25px}.admin-layout>.content,.manager-dashboard-host{padding-left:25px;padding-right:25px}}
@media(max-width:820px){.app-header.admin-app-header,.admin-layout>.admin-top-nav{padding-left:22px;padding-right:22px}.admin-layout>.content{padding:25px 22px 0}.manager-dashboard-host{padding-left:22px;padding-right:22px}}
@media(max-width:740px){.app-header.admin-app-header{height:60px;padding:0 17px}.admin-app-header .brand-logo{width:104px;height:45px}.admin-app-header .header-right{gap:10px}.admin-app-header .identity{font-size:10px}.admin-app-header .avatar{width:29px;height:29px;font-size:10px}.admin-app-header .logout{font-size:10px}.layout.admin-layout{padding:0 0 24px}.admin-layout>.admin-top-nav{min-height:46px;padding:0 17px;gap:12px;scroll-padding-inline:17px}.admin-top-nav>.nav-item{min-height:46px;padding:0 2px;font-size:12px}.admin-layout>.content{padding:24px 16px 0}.manager-dashboard-host{padding:0 16px 24px}.layout.admin-layout.admin-dashboard-layout{padding-bottom:0}}

/* Equal-width text tabs, aligned with the content; long labels may wrap. */
.admin-layout>.admin-top-nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;overflow-x:visible}
.admin-top-nav>.nav-item{width:100%;min-width:0;min-height:49px;padding:8px 12px;border-bottom:0;white-space:normal;overflow-wrap:anywhere;line-height:1.4;text-align:center;align-self:stretch}
.admin-top-nav>.nav-item.active{border-bottom:0}
@media(max-width:740px){.admin-layout>.admin-top-nav{padding-left:16px;padding-right:16px;gap:0}.admin-top-nav>.nav-item{min-height:54px;padding:7px 4px;font-size:12px}}
@media(max-width:360px){.admin-top-nav>.nav-item{font-size:11px}}

/* Count practice rights stay visually distinct from the money balance. */
.member-practice-count{display:grid;grid-template-columns:max-content max-content;align-items:baseline;gap:3px 9px;margin-top:7px;color:var(--brand);font-size:.76rem}
.member-practice-count strong{font-weight:650}
.member-practice-count small{grid-column:1/-1;color:var(--muted);font-size:.68rem;line-height:1.45}
.consumption-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.consumption-practice-controls{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);gap:10px;max-width:760px;padding:11px 12px;border:1px solid #e8d9c8;border-radius:7px;background:#fbf8f3}
.consumption-practice-controls label{display:grid;gap:5px;color:var(--muted);font-size:.7rem}
.consumption-practice-controls select,.consumption-practice-controls input{width:100%;min-height:39px;padding:7px 9px;border:1px solid #d8cec1;border-radius:5px;background:#fff;color:var(--ink);font:inherit}
.consumption-practice-controls select:disabled,.consumption-practice-controls input:disabled{background:#f2eee8;color:var(--muted)}
.consumption-practice-controls small{grid-column:1/-1;color:var(--muted);font-size:.68rem;line-height:1.4}
.consumption-practice-controls .consumption-practice-help{color:#875817}
.import-count-entitlement{display:grid;gap:8px;padding:10px;border:1px solid #e8d9c8;border-radius:6px;background:#fbf8f3}
.import-count-entitlement>strong{font-size:.74rem;color:var(--brand)}
.import-count-entitlement .import-value-pair{align-items:start}
.import-count-entitlement .import-value-pair>div{display:grid;gap:4px}
.import-count-entitlement .import-value-pair span{color:var(--muted);font-size:.68rem;line-height:1.4;overflow-wrap:anywhere}
.import-count-entitlement>small{color:var(--muted);font-size:.67rem;line-height:1.4}
@media(max-width:640px){
 .consumption-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .consumption-practice-controls{grid-template-columns:1fr;gap:8px;padding:10px}
}
.consumption-amendment-count-field{padding:12px;border:1px solid #e8d9c8;border-radius:7px;background:#fbf8f3}
.consumption-amendment-count-field input{width:100%;min-height:40px;padding:8px 10px;border:1px solid #d8cec1;border-radius:5px;background:#fff;color:var(--ink);font:inherit}
.consumption-amendment-count-field small{color:var(--muted);font-size:.7rem;line-height:1.5}
