*{box-sizing:border-box}body{margin:0;background:#181919;color:#f3f3ee;font:15px/1.8 'Noto Sans JP','Yu Gothic UI',Meiryo,sans-serif}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #c8ddc9;outline-offset:4px}a{color:#c8ddc9}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:600;letter-spacing:.025em;line-height:1.5}h2{font-size:18px;font-weight:600}h3{font-size:17px;font-weight:500}button{color:inherit;border:1px solid #363838;background:none;border-radius:6px;min-height:44px;padding:8px 16px}button:hover:not(:disabled){background:#2c3230}small{font-size:12px;font-weight:400;color:#a5afaa}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{background:#101111;border-right:1px solid #303332;padding:32px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:14px}.brand img{width:102px;height:auto}.brand span{font-size:12px;border-left:1px solid #4c504e;padding-left:14px;letter-spacing:.1em}.nav-title{font-size:10px;color:#8e9893;margin:30px 0 24px;letter-spacing:.07em}nav{display:grid;gap:8px}nav button{display:flex;gap:14px;text-align:left;border:0;align-items:center;font-size:13px;min-height:50px;padding:10px 12px;color:#a7afab}nav button span{font:11px Arial;color:#77847c}nav button[aria-current=page]{background:#242b26;color:#e1eee2}nav b{margin-left:auto;font-size:10px;color:#101111;background:#c8ddc9;border-radius:4px;padding:0 6px}.side-foot{margin-top:auto;color:#c8ddc9;font-size:12px;line-height:2}.dot{display:inline-block;width:6px;height:6px;background:#c8ddc9;border-radius:50%;margin-right:8px}.side-foot small{font-size:10px;color:#858f89}.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 42px;border-bottom:1px solid #363838;min-height:82px;color:#a4ada7;font-size:12px}.topbar strong{color:#f3f3ee;font-weight:400}.refresh{border-color:#67766b;color:#d9e5d9;font-size:12px;display:flex;gap:20px;align-items:center}.refresh span{font-size:20px}.content{max-width:1440px;padding:42px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:25px}.eyebrow{font:10px/2 Arial;color:#8fa995;letter-spacing:.18em;margin-bottom:10px}.lead{font-size:12px;color:#a5afa8;margin-top:12px;max-width:50em}.outline-tag{font:11px Arial;letter-spacing:.05em;border:1px solid #424a44;border-radius:4px;padding:10px;white-space:nowrap;color:#b6cbb9}.safety{border-left:2px solid #6f8272;padding:9px 14px;background:#202622;color:#b6c5b9;font-size:11px;margin:28px 0}.metrics{display:grid;grid-template-columns:repeat(3,1fr) 1.3fr;border-top:1px solid #3c4540;border-bottom:1px solid #3c4540;margin:30px 0 34px}.metrics>div{padding:22px 22px;border-right:1px solid #363e38}.metrics>div:first-child{padding-left:0}.metrics>div:last-child{border:0}.metrics span{display:block;color:#a3aea7;font-size:11px;margin-bottom:7px}.metrics strong{font:38px/1.5 Arial;display:block;letter-spacing:-.04em}.metrics small{font:11px/1.7 Meiryo;margin-left:9px}.metrics .range{font:16px/1.8 Arial;letter-spacing:.02em;padding-top:10px}.metrics .range small{display:block;margin:0}.workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px}.calendar-panel,.times-panel{min-width:0}.calendar-panel{padding-right:30px;border-right:1px solid #363838}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px}.section-head>span{font-size:10px;color:#99a69c}.section-head h2 span,.external h2 span{font-size:12px;color:#a5b8a9;margin-left:8px}.month-tabs{display:flex;gap:6px;margin:24px 0 16px;flex-wrap:wrap}.month-tabs button{font-size:11px;padding:6px 10px;border-color:transparent;min-height:44px}.month-tabs .selected{border-color:#809582;color:#dfeddd;background:#28342b}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{margin:16px 0 7px;text-align:center;color:#8c9990;font-size:11px}.weekdays span:first-child{color:#bb9b97}.calendar-grid button{padding:9px 2px;min-height:65px;border:1px solid transparent;border-radius:5px;display:grid;place-items:center;gap:1px;background:#232725}.calendar-grid button strong{font:15px/1.6 Arial}.calendar-grid button span{font-size:9px;color:#b2c9b6;white-space:nowrap}.calendar-grid button.unavailable{background:#1c1e1d;color:#737d76}.calendar-grid button.unavailable span{color:#69736c}.calendar-grid button.active{border-color:#b4cbb8;background:#344337}.caption{font-size:10px;color:#8b9b90;margin-top:20px;line-height:1.9;overflow-wrap:anywhere}.small-muted{font-size:12px;color:#9ba99f;overflow-wrap:anywhere}.times{margin-top:14px;max-height:526px;overflow:auto;scrollbar-color:#536057 #202222}.time-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #343c36;padding:13px 0;gap:12px}.time-row strong{font:17px/1.8 Arial}.time-row strong small{font-size:12px;margin-left:9px}.time-row>div>span{display:block;font-size:10px;color:#9faea3}.time-row button{font-size:11px;border-color:#586e5d;min-height:44px;padding:7px 13px;color:#d7e6d9;white-space:nowrap}.time-row button span{margin-left:12px}.time-row.closed>div{opacity:.45}.time-row.closed button{border-color:#3a443d}.alert,.success,.stale{padding:13px 18px;margin:14px 0;border:1px solid #8a6253;background:#2c2420;color:#e0bca9;font-size:12px;border-radius:5px;overflow-wrap:anywhere}.alert a{display:block;margin-top:8px}.success{border-color:#526c55;background:#242f25;color:#c8ddc9}.stale{background:#29291f;border-color:#626247;color:#d8d0aa}.conflicts{display:flex;gap:16px;padding:18px;border:1px solid #76644c;border-radius:5px;background:#28251f;margin:20px 0}.warning-icon{display:grid;place-items:center;width:24px;height:24px;border:1px solid #bfa278;border-radius:50%;color:#d9c5a4;flex-shrink:0}.conflicts strong{font-size:12px;font-weight:500;color:#ddccaf}.conflicts strong b{font-size:10px;margin-left:14px}.conflicts p{font-size:11px;margin-top:5px;color:#bdb49f}.empty{border:1px solid #3c4740;border-radius:6px;text-align:center;padding:65px 30px;margin:30px 0;background:#1d211e}.empty>span{font:38px Arial;color:#b3c9b6}.empty h2{margin:15px 0;font-size:20px}.empty p{font-size:12px;color:#a4b1a8;margin:15px 0 25px}.primary{background:#c8ddc9;color:#171b18;border-color:#c8ddc9;font-weight:500;font-size:12px;min-height:48px}.primary:hover:not(:disabled){background:#e0ede1;color:#101111}.secondary{font-size:12px;border-color:#4b5b50}.compact{padding:35px}.booking-list article{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:25px 0;border-top:1px solid #3b443e}.booking-list h3{margin:10px 0}.booking-list p{font-size:14px}.booking-list p span{font-size:12px;color:#a2ada5}.status{font-size:10px;border:1px solid #7f744a;background:#2e2b1f;color:#d6c89b;padding:4px 8px;border-radius:4px}.status.confirmed{border-color:#566f58;background:#28352a;color:#c8ddc9}.status.cancelled{border-color:#4b4c4a;background:#242524;color:#929a94}.booking-actions{display:flex;gap:10px;flex-wrap:wrap}.external{margin-top:50px;border-top:1px solid #56635a;padding-top:25px}.external>p{font-size:12px;color:#9fac9f;margin:12px 0 20px}.external>div{display:flex;justify-content:space-between;border-top:1px solid #363e38;padding:17px 0;font-size:13px;gap:12px}.external>div span{font-size:10px;color:#a4b7a8}.settings{display:grid;grid-template-columns:1fr 1fr;gap:35px}.settings section{border-top:1px solid #5a685d;padding-top:23px}.settings dl{margin:25px 0}.settings dl>div{display:grid;grid-template-columns:130px 1fr;gap:14px;border-top:1px solid #343d37;padding:17px 0;font-size:12px}.settings dt{color:#8da493}.settings dd{margin:0;overflow-wrap:anywhere}.settings dd small{display:block;font-size:10px}.settings .wide{grid-column:1/-1}.menu-preview{display:grid;grid-template-columns:repeat(3,1fr);max-width:600px;margin:25px 0 15px}.menu-preview span{display:grid;place-items:center;border:1px solid #48574c;padding:22px 10px;font-size:13px;color:#bfcfc1;background:#222a24}footer{border-top:1px solid #343d37;margin-top:55px;padding-top:20px;font-size:10px;color:#839087;display:flex;justify-content:space-between;gap:15px}footer span{font:9px/2 Arial;letter-spacing:.14em}.menu-btn{display:none}.modal-backdrop{position:fixed;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;z-index:20;padding:20px}.modal{width:460px;max-height:90vh;overflow:auto;background:#202522;border:1px solid #57645b;border-radius:8px;padding:30px;box-shadow:0 20px 100px #0009}.modal .section-head{margin-bottom:20px}.close{border:0;font-size:26px;min-width:44px;padding:0}.booking-date{font-size:15px;color:#d4dfd4;margin:20px 0}.booking-date strong{font:32px/1.7 Arial}.modal label{display:block;font-size:12px;margin-top:23px}.modal label small{margin-left:10px}.modal input,.modal textarea{display:block;width:100%;background:#161b18;border:1px solid #59665d;color:#f3f3ee;padding:12px;border-radius:5px;margin-top:8px;min-height:48px}.modal textarea{resize:vertical;min-height:100px}.full{width:100%;margin-top:25px}.modal .caption{text-align:center}.form-error{color:#e8b6a7;font-size:12px;margin-top:15px}
@media(min-width:1600px){.content{padding:50px 60px}.workspace{gap:45px}.calendar-panel{padding-right:45px}.calendar-grid button{min-height:75px}}@media(max-width:1100px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:28px 15px}.brand img{width:87px}.brand{gap:10px}.brand span{padding-left:10px}.topbar{padding:18px 28px}.content{padding:30px 28px}.workspace{gap:22px}.calendar-panel{padding-right:22px}.page-head{display:block}.outline-tag{display:inline-block;margin-top:18px}.metrics>div{padding:18px 14px}.metrics strong{font-size:32px}.metrics .range{font-size:13px}.time-row{gap:8px}.time-row button{padding:7px 9px}.time-row button span{margin-left:6px}.time-row strong{font-size:15px}.time-row strong small{margin-left:5px}}@media(max-width:900px){.shell{display:block}.sidebar{display:none;position:fixed;inset:74px 0 0;width:260px;height:calc(100dvh - 74px);z-index:10;border-right:1px solid #5b6c5e;box-shadow:20px 0 50px #0008}.sidebar.open{display:flex}.menu-btn{display:block;border:0;padding:8px 0;color:#b4c6b7;font-size:10px;min-width:70px}.topbar{padding:12px 24px;gap:14px;min-height:74px}.topbar>span{margin-right:auto;font-size:11px}.refresh{gap:10px;font-size:11px;padding:8px 12px}.metrics{grid-template-columns:repeat(4,1fr)}.metrics .range{font-size:12px}.calendar-grid button{min-height:62px}.settings{gap:25px}.settings dl>div{grid-template-columns:100px 1fr}.content{padding:30px 24px}}@media(max-width:680px){h1{font-size:26px}.lead{font-size:12px}.topbar{padding:10px 18px;gap:10px}.topbar>span{display:none}.refresh{margin-left:auto}.content{padding:28px 18px}.page-head .outline-tag{font-size:10px;margin-top:15px}.safety{margin:23px 0;font-size:10px}.metrics{grid-template-columns:1fr 1fr;gap:0;margin:25px 0}.metrics>div{padding:18px 16px!important;border-bottom:1px solid #363e38}.metrics>div:nth-child(2n){border-right:0}.metrics>div:nth-last-child(-n+2){border-bottom:0}.metrics strong{font-size:34px}.metrics .range{font-size:14px}.workspace{grid-template-columns:1fr;gap:35px}.calendar-panel{border-right:0;padding:0}.calendar-grid button{min-height:65px}.calendar-grid button span{font-size:10px}.times{max-height:none}.time-row{padding:15px 0}.time-row strong{font-size:18px}.time-row button{font-size:12px;padding:8px 15px}.time-row>div>span{font-size:11px}.conflicts{gap:12px;padding:15px}.conflicts strong{font-size:11px}.conflicts strong b{display:block;margin-left:0}.settings{grid-template-columns:1fr}.settings .wide{grid-column:auto}.booking-list article{display:block}.booking-actions{margin-top:18px}.external>div{display:block}.external>div span{display:block;margin-top:6px}.empty{padding:35px 18px}.empty h2{font-size:18px}.modal{padding:22px}.menu-preview span{font-size:11px;padding:20px 5px}footer{font-size:9px}.metrics span{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.stop-btn{font-size:10px!important;min-width:44px;border-color:#424c45!important}.time-row>div{margin-right:auto}.block-line{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #363838;padding:15px 0;font-size:12px}@media(max-width:680px){.time-row button{padding:7px 9px}.block-line{align-items:flex-start}}
.mobile-logo{display:none}@media(max-width:900px){.mobile-logo{display:block;width:72px;height:auto}}@media(max-width:360px){.mobile-logo{width:58px}.refresh{font-size:10px;gap:8px;padding:7px 9px}.menu-btn{min-width:60px}.topbar{gap:9px}}

.welcome,.auth-box,.connection-page{max-width:680px;margin:8vh auto;padding:35px 25px}.welcome>img,.auth-box>img,.connection-page header img{width:130px;margin-bottom:45px}.welcome h1,.auth-box h1,.connection-page h1{font-size:28px;margin:15px 0 22px}.welcome p,.auth-box p,.connection-page>p{color:#afbeb2;margin:16px 0;font-size:14px}.welcome a{display:block;width:fit-content;margin-top:28px;padding:12px 20px;text-decoration:none;border-radius:5px}.welcome .admin-link{font-size:12px;color:#9fb4a3;padding:0}.auth-box{max-width:460px}.auth-box label,.connection-page label{display:block;font-size:13px;margin:24px 0}.auth-box input:not([type=hidden]),.connection-page input:not([type=hidden]){display:block;background:#141a16;color:#f3f3ee;width:100%;border:1px solid #526959;border-radius:5px;padding:12px;margin-top:10px;min-height:48px}.connection-page{max-width:800px}.connection-page header{display:flex;justify-content:space-between;gap:25px;font-size:12px}.connection-page section{margin:30px 0;padding:25px 0;border-top:1px solid #4f6054}.connection-page code{display:block;overflow-wrap:anywhere;font-size:12px;color:#bed5c1;margin-top:10px}.connection-link{display:block;color:#b6cbb9;font-size:12px;padding:8px 0;margin-bottom:8px}.auth-box button{margin-bottom:20px}
.sync-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:15px 0 22px}.sync-controls p{margin:0}

/* SELPY palette — matched to takux.info/self_photo, 2026-11-13. */
:root{color-scheme:light;--selpy-paper:#fffaf6;--selpy-surface:#fff;--selpy-paper-deep:#f4ece5;--selpy-ink:#1b1718;--selpy-muted:#706268;--selpy-pink:#d97c95;--selpy-pink-dark:#a6405d;--selpy-wine:#720015;--selpy-wash:#faedf1;--selpy-line:rgba(27,23,24,.17)}
body{background:var(--selpy-paper);color:var(--selpy-ink)}
a{color:var(--selpy-pink-dark)}
button{border-color:var(--selpy-line);color:var(--selpy-ink)}
button:hover:not(:disabled){background:var(--selpy-wash)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--selpy-pink-dark)}
small,.lead,.small-muted,.caption,.section-head>span,.time-row>div>span{color:var(--selpy-muted)}
.sidebar,.topbar{background:var(--selpy-surface);border-color:var(--selpy-line)}
.sidebar .brand img,.mobile-logo,.auth-box>img,.connection-page header img,.welcome>img{filter:brightness(0)}
.brand span{border-color:var(--selpy-line)}
.nav-title,nav button,nav button span,.side-foot small{color:var(--selpy-muted)}
nav button[aria-current=page]{background:var(--selpy-wash);color:var(--selpy-wine)}
nav b,.dot{background:var(--selpy-pink);color:var(--selpy-ink)}
.side-foot,.eyebrow,.section-head h2 span,.external h2 span{color:var(--selpy-pink-dark)}
.topbar,.topbar strong{color:var(--selpy-ink)}
.menu-btn{background:var(--selpy-surface);border-color:var(--selpy-line);color:var(--selpy-pink-dark)}
.refresh,.outline-tag{border-color:#d9afbc;color:var(--selpy-pink-dark)}
.safety{background:var(--selpy-wash);border-color:var(--selpy-pink);color:#813b51}
.metrics,.metrics>div,.calendar-panel,.time-row,.booking-list article,.external,.external>div,.settings section,.settings dl>div,.block-line,footer{border-color:var(--selpy-line)}
.metrics span,.metrics small{color:var(--selpy-muted)}
.month-tabs .selected{border-color:var(--selpy-pink-dark);background:var(--selpy-wash);color:var(--selpy-wine)}
.weekdays{color:var(--selpy-muted)}
.weekdays span:first-child{color:var(--selpy-pink-dark)}
.calendar-grid button{background:var(--selpy-surface);border-color:#eadde0;color:var(--selpy-ink)}
.calendar-grid button span{color:var(--selpy-pink-dark)}
.calendar-grid button.unavailable{background:#f7f1ed;color:#96868d}
.calendar-grid button.unavailable span{color:#96868d}
.calendar-grid button.active{border-color:var(--selpy-pink-dark);background:#f7dce5;color:var(--selpy-wine)}
.time-row button{color:var(--selpy-pink-dark);border-color:#d7a6b5}
.time-row.closed button{border-color:var(--selpy-line)}
.stop-btn{border-color:var(--selpy-line)!important}
.primary{background:var(--selpy-pink);border-color:var(--selpy-pink);color:var(--selpy-ink)}
.primary:hover:not(:disabled){background:var(--selpy-pink-dark);border-color:var(--selpy-pink-dark);color:#fff}
.secondary{border-color:#d7a6b5;color:var(--selpy-pink-dark)}
.alert{background:#fff0f0;border-color:#deb6bd;color:#9b3046}
.success{background:#f8edf1;border-color:#d9afbd;color:#80374e}
.stale,.conflicts{background:#fff4e5;border-color:#ddc49f;color:#795826}
.conflicts strong,.conflicts p,.warning-icon{color:#795826;border-color:#c3a267}
.empty{background:var(--selpy-surface);border-color:var(--selpy-line)}
.empty>span,.settings dt{color:var(--selpy-pink-dark)}
.empty p,.booking-list p span,.external>p,.external>div span{color:var(--selpy-muted)}
.status{background:#fff3d8;border-color:#d9c697;color:#745310}
.status.confirmed{background:#edf4ee;border-color:#b7cec2;color:#355b4b}
.status.cancelled{background:#f2ece9;border-color:#ddd2ce;color:var(--selpy-muted)}
.menu-preview span{background:var(--selpy-wash);border-color:#e3c7d0;color:var(--selpy-pink-dark)}
footer{color:var(--selpy-muted)}
.modal-backdrop{background:rgba(43,18,25,.32)}
.modal{background:var(--selpy-surface);border-color:#dfcbd2;box-shadow:0 20px 80px #4a1f301f}
.modal input,.modal textarea,.auth-box input:not([type=hidden]),.connection-page input:not([type=hidden]),.connection-page select{background:#fff;color:var(--selpy-ink);border-color:#c9b7be}
.connection-page select{font:inherit;min-height:44px;border-radius:5px;padding:8px}
.form-error{color:#a02d45}
.booking-date{color:var(--selpy-pink-dark)}
.booking-date strong{color:var(--selpy-wine)}
.welcome p,.auth-box p,.connection-page>p{color:var(--selpy-muted)}
.welcome .admin-link,.connection-page code,.connection-link{color:var(--selpy-pink-dark)}
.connection-page section{border-color:var(--selpy-line)}
body .customer-header{background:#fff;border-color:var(--selpy-line)}
body .customer-account small,body .customer-text-button{color:var(--selpy-muted)}
body .customer-notice{background:var(--selpy-wash);border-color:var(--selpy-pink)}
body .customer-tabs,body .customer-plan,body .customer-bookings article{border-color:var(--selpy-line)}
body .customer-tabs button{color:var(--selpy-muted)}
body .customer-tabs button.active{border-bottom-color:var(--selpy-pink-dark);color:var(--selpy-wine);background:var(--selpy-wash)}
body .customer-plan p{color:var(--selpy-muted)}
body .customer-dialog{background:#fff;color:var(--selpy-ink);border-color:#dfcbd2}
body .customer-dialog::backdrop{background:rgba(43,18,25,.32)}
body .customer-dialog input,body .customer-dialog textarea{background:#fff;color:var(--selpy-ink);border-color:#c9b7be}
body .customer-dialog select,.modal select{width:100%;min-height:48px;padding:10px;border:1px solid #c9b7be;border-radius:5px;background:#fff;color:var(--selpy-ink);font:inherit;font-size:16px}
body .customer-dialog [hidden],.modal [hidden]{display:none!important}
body .customer-dialog .form-error{color:#a02d45}
.selpy-wordmark{display:inline-flex;flex-direction:column;text-decoration:none;line-height:1.2;font-family:"Helvetica Neue",Arial,sans-serif;white-space:nowrap}
.selpy-wordmark strong{color:var(--selpy-wine);font-size:26px;letter-spacing:.2em;font-weight:700}
.selpy-wordmark small{color:var(--selpy-pink-dark);font-size:9px;letter-spacing:.13em;margin-top:5px}
.welcome>.selpy-wordmark{padding:0;margin:0 0 30px}

/* v17: booking operations */
.booking-list .booking-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:16px;align-items:start}.booking-card.target-booking{border:2px solid var(--selpy-wine,#7a344a)}.target-label{display:inline-block;margin-left:12px;font-size:12px}.booking-primary-actions{display:flex;flex-direction:column;gap:10px}.booking-delivery{grid-column:1/-1;border-top:1px solid #e8dfe2;padding-top:12px}.booking-delivery summary{cursor:pointer;font-size:13px}.booking-delivery p{margin:8px 0}.booking-delivery small{display:block}.customer-booking-guidance{background:#f7edef;border-left:3px solid var(--selpy-wine,#7a344a);padding:16px;margin:16px 0;color:#593c46;line-height:1.8}.customer-booking-guidance p{margin:8px 0 0}.staff-management{max-width:850px}.staff-row{background:#fff;border:1px solid #e8dfe2;border-radius:14px;padding:22px;margin:18px 0}.check-line{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;font-size:14px}.check-line input[type=checkbox]{width:auto;margin:5px 0}.device-row{border-bottom:1px solid #eee;padding:18px 0;overflow-wrap:anywhere}.auth-box.wide{max-width:780px}@media(max-width:700px){.booking-list .booking-card{grid-template-columns:minmax(0,1fr)}.booking-primary-actions{grid-column:1}.staff-row{padding:16px}.target-label{margin:8px 0;display:block}}

.booking-editor p{margin:10px 0}.booking-editor label{margin:14px 0}.booking-editor .booking-save{position:sticky;bottom:0;z-index:1;box-shadow:0 -5px 12px #ffffffd9}.booking-editor .caption{line-height:1.6}.booking-editor .customer-booking-guidance{font-size:13px;padding:12px}

.modal.booking-editor{display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 48px);padding:24px}.booking-editor>.section-head,.booking-editor>p,.booking-save-bar{flex-shrink:0}.booking-editor form{overflow:auto;min-height:0;padding-right:5px}.booking-save-bar{padding:12px 0 0;background:#fff}.booking-editor .booking-save{position:static;box-shadow:none;margin:0}

.test-history{margin:24px 0;padding:16px;border:1px solid #e8dfe2;border-radius:10px}.test-history summary{cursor:pointer;font-size:13px}.test-history .booking-list{margin-top:14px}

/* v18: admin spacing, comparison table and operating guide. Customer pages retain their own layout. */
.shell{--ui-border:#eadfe2;--ui-muted:#75676c;--ui-surface:#fff;--ui-soft:#f8f3f0}
.shell main{min-width:0}.shell .content{padding:36px clamp(22px,3vw,52px);max-width:1540px}.shell .lead{font-size:14px;line-height:1.9;max-width:64em}.shell .page-head{gap:24px;align-items:flex-start}.shell .outline-tag{margin-top:8px}.shell h1{font-size:30px;letter-spacing:-.02em}.shell h2{font-size:18px}.shell .section-head{gap:18px;flex-wrap:wrap}.shell .safety{font-size:12px;padding:13px 18px;margin:26px 0 30px;border-radius:0 8px 8px 0}.shell button{line-height:1.5;transition:background .15s,border-color .15s}.shell button.primary{color:#fff;background:#a6405d;border-color:#a6405d}.shell button.primary:hover:not(:disabled){background:#84324b;border-color:#84324b}.shell button:disabled{opacity:.5}.shell .caption{font-size:12px;line-height:1.85}.shell .small-muted{font-size:13px}.shell .status{display:inline-flex;align-items:center;white-space:nowrap;font-size:11px;font-weight:600;line-height:1.6;padding:4px 9px}.shell .sidebar{overflow-y:auto;gap:12px;height:100dvh}.shell .side-foot{padding-top:28px}.shell .connection-link{font-size:11px;margin-bottom:4px}.shell .topbar{background:#fff;gap:20px}.shell .sync-controls{padding:14px 18px;background:#f6efec;border:1px solid var(--ui-border);border-radius:10px;margin:0 0 22px}.shell .sync-controls button{font-size:11px;min-height:38px}.shell .sync-controls p{font-size:12px}.shell .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reservation-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 18px;flex-wrap:wrap}.status-filters{display:flex;gap:4px;padding:4px;background:#f1e9e6;border-radius:10px;flex-wrap:wrap}.status-filters button{border:0;border-radius:7px;font-size:12px;padding:9px 12px;min-height:40px;color:#75676c;display:flex;gap:8px;align-items:center}.status-filters button[aria-pressed=true]{background:white;color:#720015;box-shadow:0 1px 4px #4a1f3010}.status-filters button span{font:11px/1.5 Arial;background:#ede6e3;color:#5b4a51;border-radius:5px;padding:1px 6px}.status-filters button[aria-pressed=true] span{background:#faedf1;color:#84324b}.booking-search{display:grid;gap:6px;min-width:230px}.booking-search>span{font-size:11px;color:var(--ui-muted)}.shell .booking-search input{width:100%;min-height:42px;border:1px solid #d9cbd0;border-radius:8px;background:#fff;color:#1b1718;font:inherit;font-size:13px;padding:9px 13px}
.reservation-table-wrap{background:#fff;border:1px solid var(--ui-border);border-radius:12px;overflow:hidden}.reservation-table{border-collapse:collapse;width:100%;table-layout:fixed;text-align:left;font-size:13px}.reservation-table th{padding:14px 18px;background:#f8f3f0;color:#75676c;font-size:11px;font-weight:500;border-bottom:1px solid var(--ui-border)}.reservation-table th:nth-child(1){width:14%}.reservation-table th:nth-child(2){width:20%}.reservation-table th:nth-child(3){width:27%}.reservation-table th:nth-child(4){width:13%}.reservation-table th:nth-child(5){width:26%}.reservation-table td{padding:20px 18px;vertical-align:middle;border-bottom:1px solid var(--ui-border);overflow-wrap:anywhere}.reservation-table tbody>tr:last-child>td{border-bottom:0}.reservation-table tbody>tr:not(.reservation-detail-row):hover{background:#fffcfa}.reservation-table .is-target>td{background:#fcf1f5}.reservation-table .is-target>td:first-child{box-shadow:inset 3px 0 #a6405d}.row-target-label{display:block;font-size:10px;margin-top:8px;color:#a6405d}.row-date,.row-time,.row-created,.row-name,.row-purpose{display:block}.row-date{font-size:13px;font-weight:600}.row-time{font:15px/1.8 Arial;letter-spacing:.02em;margin-top:4px}.row-created{font-size:10px;margin-top:7px;color:#817379}.row-name{font-size:14px;font-weight:600}.row-purpose{font-size:11px;line-height:1.8;color:#75676c;margin-top:7px}.staff-assigned{font-size:13px;font-weight:600}.staff-unassigned{display:inline-block;color:#95651c;background:#fff5de;border-radius:5px;padding:3px 8px;font-size:11px}.row-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;max-width:190px;margin-left:auto}.row-actions button{font-size:11px;min-height:38px;padding:9px 10px;white-space:normal}.row-actions .detail-toggle{border-color:transparent;color:#75676c;display:flex;justify-content:center;gap:16px;background:transparent;min-height:32px;padding:4px 8px}.row-actions .detail-toggle:hover{background:#f8edf1}.reservation-detail-row>td{background:#fbf7f4;padding:0!important}.shell .reservation-detail-row .booking-list{padding:20px}.shell .booking-list .booking-card{background:#fff;border:1px solid var(--ui-border);border-radius:10px;padding:24px;gap:22px;overflow-wrap:anywhere;margin:0 0 16px}.shell .booking-list .booking-card:last-child{margin-bottom:0}.shell .booking-card.target-booking{border:1px solid #c98b9f;box-shadow:inset 4px 0 #a6405d}.shell .booking-summary h3{font-size:16px;margin:12px 0}.shell .booking-summary p{font-size:13px;margin:6px 0;line-height:1.85}.shell .booking-summary .caption{font-size:11px;margin-top:14px}.shell .booking-summary .customer-note{background:#f8f3f0;border-radius:7px;padding:12px 14px;margin-top:12px;white-space:pre-wrap}.shell .booking-primary-actions{padding-top:4px}.shell .booking-primary-actions .caption{margin-top:4px;text-align:right}.shell .booking-delivery{padding-top:16px;border-color:var(--ui-border)}.shell .booking-delivery summary{font-size:12px;color:#6e5661}.shell .booking-delivery p{margin:12px 0;font-size:12px}.table-footnote{font-size:11px;color:#817379;margin:14px 2px 0;line-height:1.9}.table-empty{text-align:center;padding:40px 20px}.table-empty p{font-size:13px;color:#75676c;margin:10px 0 20px}.shell .test-history{background:#f5efec;border-color:var(--ui-border);padding:16px 20px}.shell .test-history>.booking-list{margin-top:20px}.shell .external{margin-top:36px;padding:26px 0 0;border-color:var(--ui-border)}.shell .external>div{padding:18px 6px;font-size:13px;align-items:center}.shell .external>div span{font-size:11px}
.shell .staff-management{max-width:1080px}.shell .staff-management>.lead{margin-top:0}.shell .staff-management>.caption{margin-bottom:26px}.shell .staff-row{padding:26px;border:1px solid var(--ui-border);border-radius:12px;margin:20px 0;background:#fff}.staff-row-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.staff-row-heading h2{font-size:20px}.access-badge{font-size:11px;border-radius:6px;background:#f4ece7;color:#75676c;padding:5px 10px}.access-badge.is-verified{background:#edf4ee;color:#355b4b}.access-badge.has-error{background:#fff0f0;color:#9b3046}.staff-fields{display:grid;grid-template-columns:minmax(140px,.6fr) minmax(0,1.8fr);gap:22px}.shell .staff-form label:not(.check-line){display:grid;gap:9px;font-size:12px;font-weight:500;min-width:0}.shell .staff-form input:not([type=checkbox]){display:block;width:100%;min-width:0;min-height:46px;border:1px solid #d9cbd0;border-radius:7px;padding:10px 12px;background:#fff;color:#1b1718;font:inherit;font-size:14px}.shell .staff-form input[type=email]{font-family:Arial,sans-serif;font-size:13px}.staff-form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.shell .check-line{font-size:13px;align-items:center;line-height:1.7}.shell .check-line input[type=checkbox]{width:17px;height:17px;min-height:17px;flex-shrink:0;accent-color:#a6405d;margin:0}.staff-form-footer button{font-size:12px;min-width:120px}.staff-access-actions{border-top:1px solid var(--ui-border);margin-top:24px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.staff-access-actions p{font-size:12px;color:#75676c;max-width:38em}.staff-access-actions button{font-size:11px;flex-shrink:0}.staff-test-tools{margin-top:20px}.staff-test-tools summary{font-size:11px;color:#817379;cursor:pointer}.staff-test-tools .caption{margin:12px 0}.staff-test-tools button{font-size:11px}.staff-add h2{margin-bottom:22px}.staff-add form>button{margin-top:22px}.shell .times{max-height:none;overflow:visible;scrollbar-color:#d6c3ca #faf3f0}.shell .time-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:16px 0}.shell .time-row>div{margin-right:0}.shell .time-row button{padding:10px 12px}.shell .time-row button span{margin-left:6px}.shell .times-panel,.shell .calendar-panel{background:#fff;border:1px solid var(--ui-border);border-radius:12px;padding:24px}.shell .calendar-panel{align-self:start}.shell .workspace{gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.shell .settings{gap:24px}.shell .settings section{background:#fff;border:1px solid var(--ui-border);border-radius:12px;padding:24px}.shell .settings section>p{margin-top:16px;font-size:13px}.shell .settings section>.secondary{margin-top:18px}.shell .settings dl{margin:18px 0 0}.shell .settings dl>div{padding:16px 0}.shell .settings dl>div:last-child{padding-bottom:0}.shell .settings .caption{font-size:12px}.shell .loading-panel{padding:40px 24px;background:#fff;border:1px solid var(--ui-border);border-radius:12px;font-size:14px;color:#75676c}
.guide-start{padding:30px;background:#fff;border:1px solid var(--ui-border);border-radius:14px;display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap;justify-content:space-between}.guide-start h2{font-size:21px}.guide-start>div>p:last-child{font-size:13px;color:#75676c;margin-top:10px}.guide-start>button{font-size:12px;flex-shrink:0}.guide-steps{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;width:100%}.guide-steps li{border-top:1px solid var(--ui-border);padding-top:22px}.guide-steps li>span{display:grid;place-items:center;width:30px;height:30px;background:#faedf1;border-radius:50%;color:#a6405d;font:13px Arial;margin-bottom:14px}.guide-steps h3{font-size:14px;font-weight:600;margin-bottom:10px}.guide-steps p{font-size:12px;color:#75676c;line-height:1.95}.guide-section{margin-top:36px}.guide-section-title{display:flex;gap:16px;align-items:flex-start;margin-bottom:20px}.guide-section-title>span{font:12px/2 Arial;color:#a6405d;padding-top:3px}.guide-section-title p{font-size:12px;color:#75676c;margin-top:6px}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.feature-grid article{background:#fff;border:1px solid var(--ui-border);border-radius:10px;padding:22px 24px}.feature-grid h3{font-size:14px;font-weight:600;margin-bottom:10px}.feature-grid p{font-size:12px;color:#75676c;line-height:1.95}.guide-faq{background:#fff;border:1px solid var(--ui-border);border-radius:12px;padding:0 24px}.guide-faq details+details{border-top:1px solid var(--ui-border)}.guide-faq summary{padding:20px 0;cursor:pointer;font-size:14px;font-weight:500}.guide-faq details>div{padding:0 8px 22px 20px;font-size:13px;color:#75676c;line-height:2}.guide-faq details p+p{margin-top:14px}.guide-faq ol{padding-left:20px;margin:0 0 12px}.guide-faq li+li{margin-top:8px}.guide-notes{margin-top:30px;border:1px solid #e6cfd7;border-radius:12px;background:#fbf0f3;padding:26px}.guide-notes h2{font-size:16px}.guide-notes ul{padding-left:20px;margin:16px 0;font-size:12px;color:#795361;line-height:1.95}.guide-notes li+li{margin-top:8px}.guide-links{display:flex;gap:12px 26px;flex-wrap:wrap;font-size:12px;margin-top:22px}.shell footer{margin-top:40px}
@media(max-width:1200px){.shell .workspace{grid-template-columns:1fr}.shell .calendar-panel{max-width:none}.shell .calendar-grid button{min-height:68px}.reservation-table th,.reservation-table td{padding-left:12px;padding-right:12px}.shell .topbar{padding-left:28px;padding-right:28px}}
@media(max-width:900px){.shell .sidebar{height:calc(100dvh - 74px)}.shell .content{padding:28px 24px}.shell .guide-start{padding:24px}.guide-steps{gap:18px}.shell .page-head .outline-tag{margin-top:16px}.shell .page-head{display:block}}
@media(max-width:700px){.shell .content{padding:24px 16px}.shell h1{font-size:26px}.shell .lead{font-size:12px}.shell .safety{font-size:11px;margin:22px 0}.shell .section-head h2{font-size:17px}.shell .sync-controls{padding:12px 14px}.shell .sync-controls button{font-size:10px}.reservation-toolbar{display:block}.status-filters{width:100%;justify-content:space-between;gap:2px}.status-filters button{font-size:11px;padding:8px;gap:6px;flex:1;justify-content:center}.booking-search{margin-top:16px}.booking-search>span{display:none}.reservation-table{display:block}.reservation-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.reservation-table tbody{display:block}.reservation-table tbody>tr:not(.reservation-detail-row){display:grid;grid-template-columns:1fr 1fr;padding:18px;gap:14px 20px;border-bottom:1px solid var(--ui-border)}.reservation-table tbody>tr:last-child{border-bottom:0}.reservation-table td{border:0;padding:0;display:block}.reservation-table td:before{content:attr(data-label);display:block;color:#8a7880;font-size:10px;margin-bottom:6px}.reservation-table td:first-child{grid-column:1/-1}.reservation-table td:first-child:before{display:none}.reservation-table td:nth-child(3){grid-column:2;grid-row:2}.reservation-table td:last-child{grid-column:1/-1}.reservation-table td:last-child:before{display:none}.reservation-table .is-target>td{background:none}.reservation-table .is-target>td:first-child{box-shadow:none}.reservation-table tr.is-target{background:#fcf1f5;border-left:3px solid #a6405d}.row-target-label{display:inline-block;margin:0 0 0 12px}.row-created{font-size:10px}.row-actions{max-width:none;flex-direction:row;align-items:center;margin:0}.row-actions>button:first-child:not(:last-child){flex:1}.row-actions .detail-toggle{min-height:40px}.reservation-detail-row{display:block}.reservation-detail-row>td{display:block}.reservation-detail-row>td:before{display:none}.shell .reservation-detail-row .booking-list{padding:12px}.shell .booking-list .booking-card{padding:18px;gap:18px;grid-template-columns:1fr}.shell .booking-primary-actions .caption{text-align:left}.shell .booking-primary-actions button{width:100%}.shell .staff-row{padding:20px}.staff-fields{grid-template-columns:1fr;gap:18px}.staff-row-heading{align-items:flex-start;margin-bottom:22px;gap:12px}.staff-row-heading h2{font-size:18px}.access-badge{font-size:10px}.staff-form-footer{align-items:stretch;flex-direction:column;gap:18px}.staff-form-footer button{align-self:flex-end}.staff-access-actions{align-items:stretch;flex-direction:column;gap:14px}.staff-access-actions button{align-self:flex-start}.shell .calendar-panel,.shell .times-panel,.shell .settings section{padding:20px}.shell .time-row{gap:8px}.shell .time-row strong{font-size:16px}.shell .time-row strong small{font-size:11px;margin-left:4px}.shell .time-row button{font-size:11px;padding:9px}.shell .time-row>div>span{font-size:10px}.shell .guide-start{padding:22px}.guide-start h2{font-size:18px}.guide-steps{grid-template-columns:1fr;gap:20px}.guide-steps li{position:relative;padding:18px 0 0 42px}.guide-steps li>span{position:absolute;left:0;top:18px}.guide-steps p{font-size:12px}.feature-grid{grid-template-columns:1fr;gap:12px}.feature-grid article{padding:20px}.guide-faq{padding:0 18px}.guide-faq summary{font-size:13px;padding:18px 0}.guide-faq details>div{padding-left:4px;font-size:12px}.guide-notes{padding:22px}.guide-links{flex-direction:column}.shell .external>div{display:flex;flex-wrap:wrap}.shell .modal{width:min(520px,100%)}.shell .booking-editor .customer-booking-guidance{font-size:12px}}
@media(prefers-reduced-motion:reduce){.shell button{transition:none}}
.shell .sidebar{padding:24px 20px;gap:8px}.shell .nav-title{margin:24px 0 16px}.shell nav{gap:6px}.shell nav button{min-height:46px}.shell .side-foot{padding-top:18px;line-height:1.8}.shell .connection-link{padding:6px 0;margin:0}
@media(max-width:700px){.status-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.status-filters button{white-space:nowrap;font-size:12px;min-height:40px}.shell .menu-btn{min-width:48px}.shell .mobile-logo{width:60px}.shell .refresh{white-space:nowrap;font-size:10px;gap:8px;padding:9px 10px}.shell .refresh span{font-size:18px}.shell .topbar{padding:12px 16px;gap:10px}}
