:root{--font-heading:"Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W6", "Yu Gothic UI", "YuGothic", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Yu Gothic UI", "YuGothic", -apple-system, BlinkMacSystemFont, sans-serif;--bg:#f8fafc;--bg-surface:#fff;--bg-soft:#f1f5f9;--ink-heading:#1e293b;--ink:#334155;--ink-soft:#64748b;--ink-faint:#94a3b8;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-light:#dbeafe;--line:#cbd5e1;--line-strong:#94a3b8;--ok:#15803d;--ok-light:#f0fdf4;--err:#b91c1c;--err-light:#fef2f2;--shadow-sm:0 1px 3px #0f172a0d, 0 4px 14px #0f172a0f;--shadow-md:0 6px 18px #0f172a14, 0 14px 28px #0f172a14;--admin-bar:#161d27;--admin-bar-text:#c2ccd8;--admin-bg:#eae8e4;--admin-accent:#2b4f77}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;font-family:var(--font-body);color:var(--ink);background:var(--bg);-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;margin:0;padding:0;font-size:15px;font-weight:400;line-height:1.65}h1,h2,h3,h4,.eyebrow{font-family:var(--font-heading);color:var(--ink-heading);margin:0;line-height:1.3}h1{letter-spacing:-.01em;margin-bottom:8px;font-size:clamp(1.55rem,2vw + .8rem,2.2rem);font-weight:800}h2{margin-bottom:14px;font-size:1.2rem;font-weight:700}h3{margin:12px 0;font-size:1.05rem;font-weight:700}h4{color:var(--ink-soft);margin:0 0 10px;font-size:.95rem;font-weight:700}.eyebrow{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 6px;font-size:11px;font-weight:700}.page-shell{max-width:1240px;margin:0 auto;padding:40px 20px 80px}.home-shell,.reserve-shell,.terms-shell{max-width:1200px;margin:0 auto;padding:28px 16px 72px}.hero{margin-bottom:20px}.hero p{color:var(--ink-soft);margin:0}.panel{background:var(--bg-surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:12px;padding:18px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.panel-inline{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.panel-inline-actions{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.grid-two{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.grid-two-mini{grid-template-columns:1fr 1fr;gap:12px;display:grid}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}label{color:var(--ink-soft);flex-direction:column;gap:5px;font-size:13px;font-weight:500;display:flex}input,select,button{font:inherit}input,select{border:1px solid var(--line);height:40px;color:var(--ink);background:#0a0e14cc;border-radius:10px;padding:0 10px;transition:border-color .15s}input:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2563eb29}.textarea{border:1px solid var(--line-strong);background:var(--bg-surface);min-height:160px;color:var(--ink);resize:vertical;font:inherit;border-radius:8px;padding:10px 12px;transition:border-color .15s}.textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2563eb29}.password-field{position:relative}.password-field input{width:100%;padding-right:62px}.password-toggle-btn{border:1px solid var(--line-strong);background:var(--bg-soft);min-width:44px;height:28px;color:var(--ink-soft);cursor:pointer;border-radius:6px;padding:0 8px;font-size:11px;font-weight:700;line-height:1;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.button-row{flex-wrap:wrap;gap:8px;display:flex}.btn{cursor:pointer;letter-spacing:.01em;white-space:normal;text-align:center;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;height:40px;padding:0 14px;font-size:14px;font-weight:700;line-height:1.35;text-decoration:none;transition:background .14s,border-color .14s,box-shadow .14s,color .14s,transform .14s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb2e}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:1;box-shadow:none;transform:none}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.btn-primary:active{background:#1e40af;border-color:#1e40af}.btn-primary:disabled,.btn-primary[aria-disabled=true]{color:#eff6ff;background:#93c5fd;border-color:#93c5fd}.btn-secondary{color:#fff;background:#64748b;border-color:#64748b}.btn-secondary:hover{color:#fff;background:#475569;border-color:#475569}.btn-secondary:active{background:#334155;border-color:#334155}.btn-secondary:disabled,.btn-secondary[aria-disabled=true]{color:#f8fafc;background:#cbd5e1;border-color:#cbd5e1}.btn-ghost{border-color:var(--line);color:#475569;border:1px solid var(--line-strong);background:#fff;height:32px}.btn-ghost:hover{color:#fff;background:#475569;border-color:#475569}.btn-ghost:active{background:#334155;border-color:#334155}.btn-ghost:disabled,.btn-ghost[aria-disabled=true]{color:#94a3b8;background:#f8fafc;border-color:#cbd5e1}.btn-danger{background:var(--bg-surface);color:var(--err);border-color:#8b2a1e4d}.btn-danger:hover{filter:none;background:var(--err-light)}.link-button{color:var(--accent-strong);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.list li{border:1px solid var(--line);background:var(--bg-surface);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;display:flex}.list li>div{min-width:0}.list p{color:var(--ink-soft);margin:4px 0 0;font-size:12px}.list.compact{gap:6px;margin-top:8px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--bg-soft);color:var(--ink-soft);border-radius:8px;align-items:center;gap:6px;width:fit-content;padding:5px 10px;font-size:12px;display:inline-flex}.chip input{width:14px;height:14px;margin:0}.notice{border:1px solid var(--line);background:var(--bg-soft);border-radius:8px;margin:0 0 12px;padding:10px 14px;font-size:14px}.notice.success{color:var(--ok);background:var(--ok-light);border-color:#2d6a4f4d}.notice.error{color:var(--err);background:var(--err-light);border-color:#8b2a1e47}.table-wrap{border:1px solid var(--line);background:var(--bg-surface);border-radius:10px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 12px;font-size:13px}th{color:var(--ink);letter-spacing:.04em;text-transform:uppercase;background:var(--bg-soft);font-size:12px;font-weight:700}.empty{color:var(--ink-faint)}.caption{color:var(--ink-soft);margin:0 0 10px;font-size:12px;font-weight:500}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.inline-link{color:var(--accent-strong);cursor:pointer;text-decoration:underline}.home-hero,.reserve-header,.admin-header{margin-bottom:18px}.home-hero p,.reserve-header p{color:var(--ink-soft)}.home-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.home-card{border:1px solid var(--line);background:var(--bg-surface);box-shadow:var(--shadow-sm);border-radius:12px;padding:20px}.home-card p{color:var(--ink-soft);margin:8px 0 16px}.shop-status-badge{border-radius:999px;justify-content:center;align-items:center;min-width:60px;margin:4px 0 6px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.shop-status-badge.active{background:var(--ok-light);color:var(--ok)}.shop-status-badge.inactive{background:var(--err-light);color:var(--err)}.reserve-header{background:var(--bg-surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:14px;padding:18px}.reserve-header .eyebrow{color:var(--accent)}.reserve-header-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.reserve-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.desktop-only-reserve-links{display:flex}.mobile-reserve-menu{width:fit-content;max-width:100%;display:none;position:relative}.reserve-hamburger-btn{white-space:normal;flex:none;justify-content:center;align-items:center;gap:6px;min-width:88px;padding:10px 12px;font-size:13px;line-height:1.3;display:inline-flex}.reserve-mobile-menu-panel{z-index:20;border:1px solid var(--line);background:var(--bg-surface);width:min(260px,100vw - 40px);min-width:min(260px,100vw - 40px);max-width:calc(100vw - 40px);box-shadow:var(--shadow-md);border-radius:10px;gap:8px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:auto}.reserve-mobile-menu-panel .btn{box-sizing:border-box;white-space:nowrap;justify-content:center;width:100%;min-width:0;max-width:100%;padding-inline:22px}.reserve-panel-step-enter{animation:.28s reservePanelStepEnter}@keyframes reservePanelStepEnter{0%{opacity:.76;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-label{color:var(--accent);letter-spacing:.02em;margin:0 0 10px;font-size:12px;font-weight:600}.reserve-step-progress{background:var(--line);border-radius:999px;width:100%;height:3px;margin:0 0 10px;position:relative;overflow:hidden}.reserve-step-progress span{background:var(--accent);height:100%;transition:width .22s;display:block}.step-indicator{flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.step-indicator li{border:1px solid var(--line);color:var(--ink-faint);background:var(--bg-soft);border-radius:999px;padding:5px 12px;font-size:12px}.step-indicator li.active{background:var(--accent-light);color:var(--accent-strong);border-color:#8a663066;font-weight:600}.step-arrow-guide{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;display:flex}.step-arrow-item{color:var(--ink-faint);font-size:13px;font-weight:500}.step-arrow-item.active{color:var(--ink);font-weight:700}.step-arrow-sep{color:var(--ink-faint)}.reserve-panel{background:var(--bg-surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:12px;padding:16px}.reserve-top-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.reserve-top-card h2{margin-bottom:6px}.reserve-top-card p{margin-top:0}.visit-type-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.visit-type-card{border:1px solid var(--line-strong);background:var(--bg-surface);text-align:left;min-height:100px;color:var(--ink);cursor:pointer;border-radius:10px;gap:6px;padding:16px;transition:border-color .14s,background .14s;display:grid}.visit-type-card strong{font-size:1.05rem;font-family:var(--font-heading);color:var(--ink)}.visit-type-card p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.visit-type-card.selected{border-color:var(--accent);background:var(--accent-light)}.reserve-user-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.reserve-user-guide-card{border:1px solid var(--line);background:var(--bg-soft);border-radius:10px;min-width:0;padding:12px;overflow:hidden}.reserve-user-guide-card h3{color:var(--ink);margin:0 0 6px;font-size:14px}.reserve-user-guide-card p{color:var(--ink-soft);word-break:break-word;margin:0 0 10px;font-size:13px;line-height:1.5}.reserve-top-reset-row{justify-content:flex-start;width:100%;display:flex}.reserve-top-reset-shell{margin-top:2px;padding:4px 2px 2px 0}.reserve-top-reset-btn{min-width:0;max-width:100%;box-shadow:none;flex:0 340px}.reserve-category-desktop-tabs{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.reserve-category-tab{border:1px solid var(--line-strong);background:var(--bg-surface);text-align:left;cursor:pointer;border-radius:8px;min-width:160px;padding:10px 14px;transition:border-color .14s,background .14s}.reserve-category-tab strong{color:var(--ink);font-size:14px;display:block}.reserve-category-tab p{color:var(--ink-soft);margin:3px 0 0;font-size:12px}.reserve-category-tab.active{border-color:var(--accent);background:var(--accent-light)}.reserve-category-mobile-select{display:none}.category-card-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.category-card{border:1px solid var(--line-strong);background:var(--bg-surface);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;transition:border-color .14s,background .14s;display:flex}.category-card p{color:var(--ink-soft);margin:3px 0 0;font-size:12px}.category-select-card{cursor:pointer;width:100%}.category-select-card.active{border-color:var(--accent);background:var(--accent-light)}.menu-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.menu-card{border:1px solid var(--line-strong);background:var(--bg-surface);border-radius:10px;flex-direction:row;align-items:flex-start;gap:10px;min-height:80px;padding:12px;transition:border-color .14s;display:flex}.menu-card input[type=checkbox],.menu-card input[type=radio]{accent-color:var(--accent);margin-top:2px}.menu-card p{color:var(--ink-soft);margin:4px 0 0;font-size:12px}.menu-card-detail{border-top:1px dashed var(--line-strong);padding-top:8px;font-size:13px;line-height:1.55;color:var(--ink-soft)!important;margin-top:8px!important}.menu-pick-item input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;accent-color:var(--accent);align-self:flex-start;margin:0 0 6px}.menu-pick-item.selected{border-color:var(--accent);background:var(--accent-light)}.reservation-summary-card{border:1px solid var(--line-strong);background:var(--bg-soft);border-radius:10px}.reservation-summary-card strong{color:var(--ink)}.reserve-summary-compact{gap:4px;display:grid}.selected-menu-detail-list li{border-color:var(--line);border-radius:8px}.availability-wrap{border:1px solid var(--line);background:var(--bg-surface);border-radius:10px;overflow-x:auto}.availability-desktop-grid{display:block}.availability-mobile-grid{display:none}.availability-table{border-collapse:collapse;min-width:980px}.availability-table thead th{background:var(--bg-soft);z-index:1;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:12px;position:sticky;top:0}.availability-table tbody th{background:var(--bg-soft);z-index:1;border-right:1px solid var(--line);color:var(--ink-soft);position:sticky;left:0}.availability-table th,.availability-table td{text-align:center;padding:6px}.availability-table tbody th{text-align:left;min-width:140px}.slot-button{border:1px solid var(--line);cursor:pointer;border-radius:8px;width:40px;height:40px;font-size:13px;font-weight:700;transition:background .12s,border-color .12s}.slot-button.ok{background:var(--ok-light);color:var(--ok);border-color:#2d6a4f59}.slot-button.ok:hover{background:#d4eedb}.slot-button.ng{background:var(--bg-soft);color:var(--ink-faint);border-color:var(--line);cursor:not-allowed}.slot-button.closed{background:var(--bg);color:#0000;cursor:default;border-color:#0000}.slot-button.selected{outline:2px solid var(--accent);outline-offset:1px}.availability-mobile-card-list{gap:12px;display:grid}.availability-mobile-day-card{border:1px solid var(--line-strong);background:var(--bg-surface);border-radius:10px;padding:12px}.availability-mobile-day-card header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.availability-mobile-day-card header strong{color:var(--ink)}.availability-mobile-day-card header span{color:var(--ink-soft);font-size:.95rem}.availability-mobile-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mobile-slot-card{border:1px solid var(--line);background:var(--bg-soft);text-align:left;min-height:52px;color:var(--ink-soft);cursor:pointer;border-radius:8px;gap:4px;padding:10px 12px;transition:border-color .12s,background .12s;display:grid}.mobile-slot-card span{font-size:.9rem}.mobile-slot-card strong{color:var(--ink);font-size:.95rem}.mobile-slot-card.ok{background:var(--ok-light);color:var(--ok);border-color:#2d6a4f59}.mobile-slot-card.ok strong{color:var(--ok)}.mobile-slot-card.ng{background:var(--bg);border-color:var(--line);color:var(--ink-faint);cursor:not-allowed}.mobile-slot-card.ng strong{color:var(--ink-faint)}.mobile-slot-card.selected{box-shadow:inset 0 0 0 2px var(--accent)}.completion{max-width:660px;margin:20px auto 0}.reserve-panel>.list.reserve-shop-list{gap:10px;margin-top:14px;display:grid}.reserve-shop-list li{border:1px solid var(--line);background:var(--bg-surface);box-shadow:var(--shadow-sm);border-radius:10px;padding:14px}.terms-shell{max-width:860px}.terms-panel{background:var(--bg-surface);border:1px solid var(--line);max-width:860px;box-shadow:var(--shadow-sm);border-radius:12px;margin:0 auto;padding:24px}.terms-meta{color:var(--ink-soft);margin:4px 0;font-size:13px}.terms-body{background:var(--bg-soft);border:1px solid var(--line);white-space:pre-wrap;font-family:var(--font-body);color:var(--ink);border-radius:8px;margin-top:16px;padding:18px;font-size:14px;line-height:1.75}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.kpi-card{border:1px solid var(--line);background:var(--bg-surface);border-top:3px solid var(--accent);border-radius:10px;padding:14px}.kpi-card p{color:var(--ink-soft);margin:0 0 6px;font-size:12px;font-weight:500}.kpi-card strong{font-family:var(--font-heading);color:var(--ink);font-size:1.4rem}.chart-panel h3{color:var(--ink);margin:0 0 10px;font-size:.95rem}.staff-layout{grid-template-columns:280px 1fr;gap:12px;display:grid}.staff-list{border:1px solid var(--line);background:var(--bg-surface);border-radius:10px;padding:10px}.staff-detail{flex-direction:column;gap:10px;display:flex}.staff-select{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;padding:6px;font-weight:700}.staff-select:hover{background:var(--bg-soft)}.shift-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.shift-day{border:1px solid var(--line);background:var(--bg-surface);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.shift-day header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.shift-day header span{color:var(--ink-soft);font-size:12px}.shift-day.off{background:var(--bg-soft);opacity:.9}.shift-day.empty-cell{visibility:hidden}.time-input{letter-spacing:.02em;background:var(--bg-soft);width:100%;min-width:0;accent-color:var(--accent);border:1px solid #8a66304d;padding:0 12px;font-size:.98rem;font-weight:700}.shift-desktop-table{display:block}.shift-mobile-list{display:none}.shift-mobile-card{box-sizing:border-box;gap:6px;margin:0;padding:10px;display:grid}.shift-mobile-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.shift-mobile-head strong{color:#24364d;font-size:15px;font-weight:700;line-height:1.2}.shift-mobile-card .chip{padding:3px 8px;font-size:12px}.shift-mobile-card label{gap:4px;font-size:11px}.shift-mobile-card .time-input-wide{box-sizing:border-box;width:100%;height:36px;padding:0 8px;font-size:14px;line-height:1.1;min-width:0!important}.shift-mobile-card .grid-two-mini{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.shift-mobile-time-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:flex-start;gap:6px 8px;width:100%;min-width:0;display:grid}.shift-mobile-time-grid>*{min-width:0}.shift-mobile-time-field{gap:4px;min-width:0;display:grid}.shift-mobile-time-head{color:var(--ink-soft);font-size:11px;font-weight:700;line-height:1.2}.shift-mobile-time-grid .time-input-wide{box-sizing:border-box;width:100%;max-width:100%;height:34px;margin:0;padding:0 6px;font-size:12px;line-height:1.1;min-width:0!important}.shift-mobile-card.shift-row-weekday{background:var(--bg-soft)}.shift-mobile-card.shift-row-weekend-holiday{background:#fff8f5}.shift-table tbody td:first-child,.shift-table tbody td:nth-child(2){color:#24364d;font-size:16px;font-weight:700}.shift-table td input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.shift-summary-card strong{color:var(--ink);font-size:1.3rem;font-family:var(--font-heading)}.settings-link-card:hover{box-shadow:var(--shadow-md)}.settings-link-card p{color:var(--ink-soft);margin:0;font-size:13px}.schedule-desktop{display:block}.schedule-mobile{display:none}.schedule-panel{background:var(--admin-bg);border-radius:10px;padding:16px}.schedule-eyebrow{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:700}.schedule-kpi-chip{border:1px solid var(--line);background:var(--bg-surface);border-radius:8px;flex-direction:column;gap:3px;padding:8px 12px;display:flex}.schedule-kpi-chip strong{color:var(--ink);font-size:1.2rem;line-height:1;font-family:var(--font-heading)}.schedule-table{background:var(--bg-surface);border-collapse:collapse;min-width:1280px}.schedule-table thead th{z-index:2;background:var(--bg-soft);border:1px solid var(--line-strong);text-align:center;color:var(--ink);font-size:12px;font-weight:700;position:sticky;top:0}.schedule-table tbody th,.schedule-table tbody td{border:1px solid var(--line);background:var(--bg-surface)}.schedule-table .time-col{z-index:1;text-align:center;background:var(--bg-soft);min-width:84px;color:var(--ink-soft);font-weight:700;position:sticky;left:0}.schedule-grid-table{background:var(--bg-surface);border-collapse:collapse;min-width:100%}.schedule-grid-table thead th{background:var(--bg-soft);height:34px;color:var(--ink);text-align:center;border-color:var(--line-strong);font-size:12px;font-weight:700}.schedule-grid-table .staff-col{z-index:2;background:var(--admin-bar);min-width:196px;max-width:196px;color:var(--admin-bar-text);text-align:center;padding:10px 8px;position:sticky;left:0}.schedule-staff-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.schedule-staff-capacity{color:#ffffffbf;margin-top:6px;font-size:10px;font-weight:600;line-height:1.3;display:block}.schedule-grid-table .grid-time-col{min-width:48px;font-size:12px}.schedule-grid-table .grid-cell{background:var(--bg-surface);min-width:48px;height:56px}.schedule-grid-table.business-mode .staff-col{width:236px;min-width:236px;max-width:236px}.empty-drop-cell.disabled{background:var(--bg);border-color:var(--line)}.empty-drop-cell.off-duty{background:var(--bg-soft);border-color:var(--line)}.empty-add{color:var(--ink-faint)}.schedule-now-line{border-left:2px solid #c03a2b;box-shadow:0 0 0 1px #c03a2b1f}.schedule-now-line-mobile{pointer-events:none;z-index:6;border-top:2px solid #c03a2b;position:absolute;left:0;right:0;box-shadow:0 0 0 1px #c03a2b1a}.reservation-chip{border:1px solid var(--line);background:var(--bg-soft);border-radius:8px;padding:5px 6px}.reservation-chip p{color:var(--ink-soft);margin:3px 0 0;font-size:12px}.reservation-chip strong{font-size:11px}.reservation-chip.blocked{border-color:var(--line-strong);background:var(--bg-soft)}.reservation-menu-label{background:var(--accent-light);color:var(--accent-strong);border-radius:3px;margin-top:2px;margin-bottom:2px;padding:1px 5px;font-size:11px}.chip-action,.chip-resize-handle{border-radius:999px}.mobile-schedule-stage{min-width:100%;display:inline-block;position:relative}.mobile-schedule-table{background:var(--bg-surface);border-collapse:collapse;min-width:760px}.mobile-schedule-table th,.mobile-schedule-table td{text-align:center;border:1px solid var(--line);padding:6px;font-size:12px}.mobile-schedule-table .time-col{background:var(--bg-soft);z-index:1;min-width:62px;position:sticky;left:0}.mobile-staff-card{border:1px solid var(--line);background:var(--bg-surface);border-radius:10px;padding:12px}.checkout-detail-form{gap:12px}.checkout-total-card{gap:12px;display:grid}.checkout-breakdown{gap:4px;display:grid}.checkout-amount-mode{margin-top:.25rem}.checkout-field{gap:6px;display:grid}.checkout-field-help{color:var(--ink-soft);font-size:.82rem}.checkout-total-amount{color:var(--ink);font-size:1.55rem;font-family:var(--font-heading)}.checkout-payment-section{gap:10px;padding-top:4px;display:grid}.checkout-section-label{color:var(--ink-soft);margin:0;font-size:.9rem;font-weight:700}.payment-method-panel{border:1px solid var(--line);background:var(--bg-surface);border-radius:10px;margin-top:12px;padding:14px}.payment-method-panel h3{margin:0 0 6px}.payment-method-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.payment-method-card{border:1px solid var(--line);background:var(--bg-soft);border-radius:8px;gap:4px;padding:12px;display:grid}.payment-method-card p{color:var(--ink-soft);margin:0;font-size:13px}.payment-method-card strong{color:var(--ink);font-size:1.25rem;line-height:1.2;font-family:var(--font-heading)}.payment-method-card span{color:var(--ink-soft);font-size:14px;font-weight:600}.payment-method-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.payment-method-choice{border:1px solid var(--line-strong);background:var(--bg-soft);cursor:pointer;border-radius:10px;gap:4px;padding:14px 16px;transition:border-color .14s,background .14s;display:grid}.payment-method-choice input{display:none}.payment-method-choice.active{border-color:var(--accent);background:var(--accent-light)}.payment-method-choice.disabled{opacity:.55;cursor:not-allowed}.payment-method-choice-title{color:var(--ink);font-size:1.05rem;font-weight:700}.payment-method-choice-caption{color:var(--ink-soft);font-size:.85rem;line-height:1.45}.currency-input{border:1px solid var(--line-strong);background:var(--bg-surface);border-radius:10px;align-items:center;transition:border-color .15s;display:flex;overflow:hidden}.currency-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #8a66301a}.currency-input-prefix{background:var(--accent-light);border-right:1px solid var(--line-strong);min-width:56px;color:var(--accent-strong);justify-content:center;align-self:stretch;align-items:center;padding:0 14px;font-size:1.1rem;font-weight:700;display:inline-flex}.currency-input-control{color:var(--ink);appearance:textfield;width:100%;font-size:1.2rem;font-weight:700;box-shadow:none!important;background:0 0!important;border:0!important;padding:16px 18px!important}.currency-input-control::placeholder{color:var(--ink-faint);font-weight:400}.currency-input-control::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.currency-input-control::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.checkout-readonly-field{border:1px solid var(--line);background:var(--bg-soft);border-radius:10px;gap:4px;padding:12px 14px;display:grid}.checkout-readonly-field span{color:var(--ink-soft);font-size:.9rem;font-weight:600}.checkout-readonly-field strong{color:var(--ink);font-size:1.4rem;font-family:var(--font-heading)}.checkout-readonly-field small{color:var(--ink-soft)}.reservation-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.reservation-detail-card{background:var(--bg-surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:10px;padding:16px}.reservation-detail-card h3{color:var(--ink);margin:0 0 10px;font-size:1rem}.customer-info-card{border-left:3px solid var(--accent)}.detail-list{gap:10px;margin:0;display:grid}.detail-list>div{gap:2px;display:grid}.detail-list dt{color:var(--ink-soft);font-size:12px;font-weight:600}.detail-list dd{color:var(--ink);margin:0;font-weight:600;line-height:1.45}.detail-list .memo-preview{color:var(--ink-soft);white-space:pre-wrap;font-weight:400}.reservation-time-inputs{margin-top:8px}.reservation-admin-memo .admin-memo-textarea{resize:vertical;width:100%;height:160px;min-height:160px}.reservation-admin-memo-actions{justify-content:flex-end;margin-top:8px;display:flex}.reservation-action-buttons{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.reservation-actions-card{gap:10px;display:grid}.reservation-action-buttons-main .btn{min-width:180px}.reservation-action-buttons-danger{border-top:1px solid var(--line);padding-top:2px}.customer-suggest-list{border:1px solid var(--line-strong);background:var(--bg-surface);max-height:220px;box-shadow:var(--shadow-md);border-radius:8px;display:grid;overflow:auto}.customer-suggest-item{border:0;border-bottom:1px solid var(--line);background:var(--bg-surface);text-align:left;cursor:pointer;gap:2px;padding:10px 12px;transition:background .12s;display:grid}.customer-suggest-item:last-child{border-bottom:0}.customer-suggest-item strong{color:var(--ink)}.customer-suggest-item small{color:var(--ink-soft);font-size:12px}.customer-suggest-item:hover{background:var(--bg-soft)}.selected-customer-card{border:1px solid var(--line-strong);background:var(--bg-soft);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.selected-customer-copy{gap:4px;display:grid}.selected-customer-copy strong{color:var(--ink);font-size:15px}.selected-customer-copy p,.selected-customer-copy small{color:var(--ink-soft);margin:0;line-height:1.5}.selected-customer-copy small{font-size:12px}@media (max-width:900px){.selected-customer-card{flex-direction:column;align-items:stretch}}.customer-mobile-list{display:none}.customer-mobile-card{border:1px solid var(--line);background:var(--bg-surface);border-radius:10px;gap:8px;margin-bottom:8px;padding:12px;display:grid}.customer-mobile-main strong{color:var(--ink);font-size:15px;display:block}.customer-mobile-main p{color:var(--ink-soft);margin:4px 0 0}.customer-mobile-actions{gap:8px;display:flex}.customer-table thead th{background:var(--bg-soft);color:var(--ink-soft)}.customer-table th,.customer-table td{border-color:var(--line)}.console-topbar{z-index:40;background:var(--admin-bar);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:10px;height:54px;padding:0 16px;display:flex;position:sticky;top:0}.console-brand{white-space:nowrap;flex-direction:column;min-width:120px;line-height:1.15;display:flex}.console-title{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--admin-bar-text);font-size:10px}.console-sub{font-family:var(--font-body);color:#fff;font-size:14px;font-weight:700}.console-menu{align-items:center;gap:4px;padding-bottom:0;display:flex;overflow-x:auto}.console-menu a,.console-menu form .btn{white-space:nowrap;color:#ffffffbf;height:36px;box-shadow:none;letter-spacing:0;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:0 10px;font-size:13px;font-weight:500;text-decoration:none}.console-menu a:hover,.console-menu a:focus-visible,.console-menu form .btn:hover,.console-menu form .btn:focus-visible{filter:none;border-bottom-color:var(--accent);color:#fff;background:0 0}.admin-workspace .panel{border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:8px}.admin-header{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.admin-nav{flex-wrap:wrap;gap:8px;display:flex}.admin-nav a{border:1px solid var(--line-strong);background:var(--bg-surface);color:var(--ink);box-shadow:var(--shadow-sm);white-space:normal;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;line-height:1.35;text-decoration:none;transition:background .12s}.kpi-detail-table{table-layout:fixed;--kpi-value-col-width:clamp(184px, 20vw, 220px);width:100%;min-width:0}.kpi-detail-table .kpi-detail-value-col{width:var(--kpi-value-col-width)}.kpi-detail-table .kpi-detail-value-cell{text-align:right;white-space:nowrap;border-left:1px solid var(--line)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.grid-two,.grid-two-mini,.home-grid,.kpi-grid,.menu-grid,.kpi-chart-grid,.settings-hub-grid,.staff-hub-grid,.reserve-top-grid{grid-template-columns:1fr}.home-shell,.reserve-shell,.terms-shell{padding:14px 10px 82px}.reserve-header,.panel,.reserve-panel{border-radius:10px;padding:12px}.reserve-header-top{align-items:center}.desktop-only-reserve-links{display:none}.mobile-reserve-menu{display:block}.reserve-hamburger-btn{white-space:nowrap;gap:4px;min-width:108px;min-height:44px;padding:10px;font-size:12px;line-height:1}.visit-type-card-grid,.staff-choice-grid,.payment-method-grid,.payment-method-choice-grid{grid-template-columns:1fr}.reserve-user-guide-card .button-row{flex-direction:column;align-items:stretch}.reserve-user-guide-card .button-row .btn,.reserve-top-reset-row{width:100%}.reserve-top-reset-btn{white-space:nowrap;flex:auto;width:100%;min-width:0;font-size:15px}.reserve-top-reset-shell{padding:4px 0 2px}.payment-method-panel{padding:10px}.reserve-category-desktop-tabs{display:none!important}.reserve-category-mobile-select{display:block!important}.availability-desktop-grid{display:none}.availability-mobile-grid{display:block}.availability-mobile-slot-grid{grid-template-columns:1fr}.panel-head{flex-direction:column;align-items:stretch}.schedule-desktop{display:none}.schedule-mobile{display:block}.admin-header{flex-direction:column;align-items:flex-start}.staff-layout{grid-template-columns:1fr}.shift-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.reserve-panel-step-enter{animation:none}}:root{--bg:#f8fafc;--bg-panel:#fff;--ink-heading:#1e293b;--ink:#334155;--ink-soft:#64748b;--ink-faint:#94a3b8;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-light:#dbeafe;--line:#cbd5e1;--line-strong:#94a3b8;--ok:#15803d;--err:#b91c1c}body{color:var(--ink);background:radial-gradient(circle at 100% 0%, #dbeafee6 0%, transparent 38%), var(--bg)}.bg-orb{display:none}.panel,.home-card,.reserve-panel,.terms-panel{background:var(--bg-panel);border-color:var(--line);box-shadow:0 10px 26px #10284214}label,.caption,.home-hero p,.reserve-header p,.hero p,.list p,.terms-meta,.reservation-chip p,.menu-card p,.kpi-card p,.step-indicator li{color:var(--ink-soft)}input,select,.textarea{color:var(--ink);border:1px solid var(--line);background:#fff}input:focus,select:focus{border-color:#1f5ea88c;outline:2px solid #1f5ea838}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-secondary{color:#fff;background:#64748b;border:1px solid #64748b}.btn-ghost{color:#475569;border:1px solid var(--line-strong);background:#fff}.admin-nav a{color:var(--accent-strong);background:#fff;border:1px solid #1f5ea83d;border-radius:12px;font-weight:600;box-shadow:0 6px 14px #1028420f}.admin-nav a:hover{background:#edf4fe}.list li,.chip,.menu-card,.kpi-card,.mobile-staff-card,.staff-list,.shift-day,.reservation-chip,.terms-body{border-color:var(--line);background:#fff}.notice{background:#f6f9fd}.notice.success{background:#edfbf4}.notice.error{background:#fff1f1}.step-indicator li{background:#f7fbff}.step-indicator li.active{color:var(--accent-strong);background:#eaf3ff;border-color:#1f5ea859}th{color:var(--accent-strong)}.slot-button.ok{color:#0e6f43;background:#eefaf3;border-color:#0f8a4d5c}.slot-button.ng{color:#b63838;background:#fff3f3;border-color:#c033335c}.inline-link{color:var(--accent-strong)}.selected-staff{box-shadow:inset 0 0 0 1px #1f5ea833;border-color:#1f5ea866!important}.shift-day.working{background:#f5fbf7;border-color:#0d8a4d59}.shift-day.off{background:#fbfcfe}.shift-day header{border-color:var(--line)}.shift-day header span{color:var(--ink-soft)}.staff-select{color:var(--ink)}.shift-actions{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.time-input{letter-spacing:.02em;background:#f3f8ff;border:1px solid #1f5ea859;width:100%;min-width:0;padding:0 12px;font-size:.98rem;font-weight:700}.shift-day .grid-two-mini{grid-template-columns:1fr 1fr;gap:6px}.shift-day label{min-width:0}.schedule-table{min-width:1040px}.schedule-table .time-col{z-index:1;background:#f8fbff;min-width:84px;position:sticky;left:0}.schedule-table td{vertical-align:top;min-width:130px}.reservation-chip.clickable{text-align:left;cursor:pointer;border-radius:10px;width:100%}.reservation-chip.booked{background:#edf5ff;border:1px solid #1f5ea859}.reservation-chip.done{background:#ebf9f1;border:1px solid #0d8a4d59}.reservation-flow{color:#8aa3c2;font-weight:700}.checkout-panel{margin-top:12px}.retail-select-row{border-bottom:1px dashed #d6dde6;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.retail-select-row:last-child{border-bottom:none}.retail-qty-input{color:var(--ink-soft);align-items:center;gap:6px;font-size:12px;display:inline-flex}.retail-qty-input input{width:80px;height:34px}.kpi-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;margin-bottom:12px;display:grid}.chart-panel{border:1px solid var(--line);background:#fbfdff;border-radius:10px;padding:12px}.chart-panel h3{margin:0 0 10px;font-size:1rem}.line-chart-panel .caption{margin-bottom:8px}.line-chart{width:100%;height:220px;display:block}.line-axis{stroke:#c5cfdb;stroke-width:1px}.line-series{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.line-dot{stroke:#fff;stroke-width:1.2px}.line-label{fill:#55687d;font-size:10px}.metric-row{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.metric-head{color:var(--ink-soft);justify-content:space-between;gap:8px;font-size:13px;display:flex}.metric-head strong{color:var(--ink)}.metric-track{background:#e9eff7;border-radius:999px;height:10px;overflow:hidden}.metric-fill{border-radius:inherit;height:100%}.metric-fill.bar-main{background:linear-gradient(90deg,#2b6cb6,#3e85d4)}.metric-fill.bar-sub{background:linear-gradient(90deg,#17a2b8,#5abfd2)}.metric-fill.bar-warn{background:linear-gradient(90deg,#d96b32,#e3a067)}.settings-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.settings-link-card{color:inherit;text-decoration:none;transition:transform .12s,box-shadow .12s}.settings-link-card:hover{transform:translateY(-2px);box-shadow:0 14px 26px #1028421f}.settings-link-card h3{margin:0 0 6px}.settings-link-card p{color:var(--ink-soft);margin:0}.staff-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.staff-hub-card{min-height:180px}.time-input-wide{background:#f3f8ff;border:1px solid #1f5ea84d;width:100%;min-width:120px;padding:0 12px;font-size:1rem;font-weight:700}.shift-table{min-width:920px}.shift-table th,.shift-table td{vertical-align:middle}.shift-table td input[type=checkbox]{width:18px;height:18px}.shift-table td .time-input-wide:disabled{opacity:.55;background:#f3f3f3}.shift-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.shift-summary-card{border:1px solid var(--line);background:#fbfdff;border-radius:10px;padding:10px}.shift-summary-card p{color:var(--ink-soft);margin:0 0 6px;font-size:12px}.shift-summary-card strong{color:var(--ink);font-size:20px}.daytype-badge{border-radius:999px;justify-content:center;align-items:center;min-width:54px;margin-right:8px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.daytype-badge.weekday{color:#1a4f92;background:#e9f2ff}.daytype-badge.weekend-holiday{color:#a64032;background:#ffe9e6}.shift-row-weekday td{background:#fff}.shift-row-weekend-holiday td{background:#fff7f5}.admin-shell{background:#eef1f5;max-width:none;min-height:100vh;margin:0;padding:0}.console-topbar{color:#fff;background:#1f2227;justify-content:space-between;align-items:center;gap:10px;height:52px;padding:0 16px;display:flex}.console-brand{white-space:nowrap;flex-direction:column;line-height:1.1;display:flex}.console-title{letter-spacing:.06em;color:#d9e4f5;font-size:11px}.console-sub{color:#fff;font-size:13px;font-weight:700}.console-menu{align-items:center;gap:10px;display:flex}.console-menu a{color:#f1f4f9;border-radius:6px;padding:4px 6px;font-size:12px;text-decoration:none}.desktop-only{display:flex}.mobile-only{display:none}.admin-page-body{padding:12px 14px 26px}.mobile-tabbar{display:none}.mobile-schedule-shell{padding:10px}.mobile-schedule-head{justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:10px;display:flex}.mobile-schedule-table{min-width:760px}.mobile-schedule-table th,.mobile-schedule-table td{text-align:center;padding:6px;font-size:12px}.mobile-schedule-table .time-col{z-index:1;background:#f8fbff;min-width:62px;position:sticky;left:0}@media (max-width:900px){.kpi-chart-grid,.settings-hub-grid,.staff-hub-grid{grid-template-columns:1fr}.reserve-category-desktop-tabs,.shift-desktop-table{display:none}.shift-mobile-list{display:block}.console-topbar{height:56px;padding:0 10px}.console-brand{min-width:100px}.console-menu a,.console-menu form .btn{height:30px;padding:0 6px;font-size:11px}.desktop-only{display:none}.mobile-only{display:flex}.admin-page-body{padding:10px 8px 14px}.mobile-tabbar{background:var(--bg-surface);border-top:1px solid var(--line);z-index:40;grid-template-columns:repeat(6,1fr);height:62px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-tabbar a{color:var(--ink-soft);justify-content:center;align-items:center;font-size:10px;font-weight:600;text-decoration:none;display:inline-flex}}.admin-workspace{background:#dfe3e8;min-height:100vh}.console-topbar{background:#101216;border-bottom:1px solid #ffffff1f;height:56px}.console-menu a{color:#eaf0fa;border-radius:4px;padding:6px 8px;font-size:12px}.console-menu a:hover{background:#5a82bf47}.admin-page-body{max-width:1400px;margin:0 auto;padding:14px}.admin-workspace .panel{border:1px solid #c6ccd5;border-radius:8px;box-shadow:0 4px 14px #10284214}.admin-workspace .admin-nav a{background:#fff;border-color:#bfc9d8;border-radius:8px;font-weight:700}.schedule-panel{background:#f4f6f9}.schedule-console-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.schedule-eyebrow{color:#4a5a70;letter-spacing:.03em;margin:0 0 4px;font-size:12px;font-weight:700}.schedule-toolbar{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.schedule-toolbar label{min-width:180px}.schedule-kpi-strip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:10px;display:grid}.schedule-kpi-chip{background:#fff;border:1px solid #c8d0dc;border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.schedule-kpi-chip span{color:#5c6c7c;font-size:12px}.schedule-kpi-chip strong{color:#15253a;font-size:20px;line-height:1}.schedule-table{background:#fff;min-width:1280px}.schedule-table thead th{z-index:2;text-align:center;color:#1f2d3f;background:#eceff3;border:1px solid #cfd5dd;font-weight:700;position:sticky;top:0}.schedule-table tbody th,.schedule-table tbody td{background:#fff;border:1px solid #d6dce5}.schedule-table .time-col{z-index:1;text-align:center;background:#f5f7fa;min-width:84px;font-weight:700;position:sticky;left:0}.schedule-table .stat-col{text-align:center;min-width:86px}.schedule-table td{vertical-align:top;min-width:146px;height:72px}.schedule-grid-table{border-collapse:collapse;background:#fff;min-width:100%}.schedule-grid-table.business-mode{table-layout:fixed;width:100%}.schedule-grid-table.full-day-mode{min-width:2400px}.schedule-grid-table th,.schedule-grid-table td{border:1px solid #c8ced8;padding:0}.schedule-grid-table thead th{color:#1e2e42;text-align:center;background:#eef2f7;height:34px;font-size:12px;font-weight:700}.schedule-grid-table .staff-col{z-index:2;color:#fff;text-align:center;background:#2b4f77;min-width:110px;max-width:110px;padding:10px 6px;font-size:14px;font-weight:700;position:sticky;left:0}.schedule-grid-table .staff-col small{opacity:.9;margin-top:4px;font-size:11px;font-weight:500;display:block}.free-row-head{background:#586a80!important}.free-row-cell{text-align:center;vertical-align:middle!important;background:#f4f7fb!important}.free-row-cell strong{color:#1d3d68;font-size:18px}.capacity-strip{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.capacity-chip{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:120px;padding:6px 10px}.capacity-chip span{color:var(--ink-soft);font-size:11px;display:block}.capacity-chip strong{color:#1e3553;font-size:16px}.schedule-grid-table .grid-time-col{min-width:56px}.schedule-grid-table .grid-cell{vertical-align:top;background:#fff;min-width:56px;height:62px}.schedule-grid-table.business-mode .grid-time-col,.schedule-grid-table.business-mode .grid-cell{width:calc((100% - 110px) / var(--slot-count));min-width:0}.schedule-grid-table.full-day-mode .grid-time-col,.schedule-grid-table.full-day-mode .grid-cell{min-width:46px}.schedule-grid-stage{min-width:100%;display:inline-block;position:relative}.schedule-now-line{z-index:4;pointer-events:none;border-left:1.5px solid #ef4444;position:absolute;top:0;bottom:0}.empty-drop-cell{cursor:copy;transition:background-color .1s}.empty-drop-cell.disabled{cursor:not-allowed;background:#e4e9f0;border-color:#c3ccd9}.empty-add{color:#8ba0bc;justify-content:center;align-items:center;width:100%;min-height:60px;font-size:20px;font-weight:700;display:inline-flex}.empty-drop-cell.drop-ready{background:#fbfcff}.empty-drop-cell.drop-hover{background:#d9eaff;box-shadow:inset 0 0 0 2px #4f80d5}.empty-drop-cell.disabled .empty-add{color:#8e9cb2}.reservation-cell{background:#fff;padding:2px!important}.reservation-chip.draggable{cursor:grab}.reservation-chip.draggable:active{cursor:grabbing}.reservation-chip.locked{cursor:default;opacity:.85}.reservation-chip{text-align:left;border-radius:6px;width:100%;padding:4px 16px 4px 6px;line-height:1.25;position:relative}.reservation-chip.dimmed{opacity:.4}.reservation-chip strong{font-size:12px;display:block}.reservation-visit-marker{color:#18304d;background:#1020331a;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:4px;left:6px}.reservation-chip:has(.reservation-visit-marker) strong{padding-left:24px}.reservation-customer-memo-marker{color:#ef4b2d;background:#fff;border:2px solid #ef4b2d;border-radius:999px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.reservation-menu-label{color:#18304d;white-space:nowrap;text-overflow:ellipsis;background:#15273f1f;border-radius:999px;max-width:100%;margin-top:3px;margin-bottom:2px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block;overflow:hidden}.reservation-chip.type-nomination{background:#ffe9e6;border-color:#e58b83}.reservation-chip.type-free{background:#e6efff;border-color:#7ea2d7}.reservation-chip.done{background:#e8f8ed;border-color:#7dbf93}.reservation-chip.blocked{background:#f2f4f7;border-color:#8f939b}.reservation-chip.resizing{box-shadow:inset 0 0 0 2px #3d6ea8}.chip-actions{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.chip-action{color:#1f3f69;cursor:pointer;background:#f4f8ff;border:1px solid #96a9c2;border-radius:999px;padding:1px 8px;font-size:10px;font-weight:700}.chip-action.warn{color:#7c2923;background:#fff0ef;border-color:#d68f8b}.chip-action:disabled{opacity:.6;cursor:default}.chip-edge-resize-handle{cursor:ew-resize;background:linear-gradient(90deg,#27496d00 0%,#27496d1f 100%);border:0;border-radius:0 6px 6px 0;width:12px;padding:0;position:absolute;top:2px;bottom:2px;right:2px}.chip-edge-resize-handle:hover,.chip-edge-resize-handle:focus-visible{background:linear-gradient(90deg,#27496d0f 0%,#27496d33 100%);outline:none}.chip-edge-resize-handle:disabled{opacity:.55;cursor:default}.reservation-flow{color:#7f8fa2;justify-content:center;align-items:center;width:100%;min-height:52px;font-size:18px;display:inline-flex}.bm-mobile-shell{background:#f7f9fc}.mobile-schedule-head{margin-bottom:8px}.mobile-schedule-tools{grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px;margin-bottom:8px;display:grid}.mobile-date-switch{grid-template-columns:40px 1fr 40px;align-items:end;gap:6px;display:grid}.mobile-date-switch .btn{padding:0}.mobile-schedule-table{background:#fff;min-width:940px}.mobile-schedule-table th{color:#223247;background:#f0f3f7;border:1px solid #cfd5dd}.mobile-schedule-table td{background:#fff;border:1px solid #d6dde6}.mobile-empty-add{color:#5479a8;background:#f8fbff;border:1px dashed #b7c7db;border-radius:6px;width:100%;min-height:46px;font-weight:700}.mobile-empty-add.disabled{color:#7d8ea7;background:#e2e8f1;border-style:solid;border-color:#c2ccdb}.mobile-schedule-table .time-col{z-index:1;background:#f6f8fb;position:sticky;left:0}.staff-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.schedule-modal-backdrop{z-index:80;background:#111d2d80;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.schedule-modal{background:#fff;width:min(780px,100%);max-height:calc(100vh - 24px);overflow:auto}.schedule-modal-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.setup-wizard{background:#fff}.setup-steps{gap:10px;margin:0;padding-left:18px;display:grid}.setup-steps li{background:#f8fbff;border:1px solid #d8dfeb;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.setup-steps li.done{background:#effaf3;border-color:#a9d1bc}.setup-steps li.todo{background:#f7f9fc;border-color:#d6dde8}.setup-steps li p{color:#5f6f84;margin:4px 0 0;font-size:12px}.setup-summary{background:#f8fbff;border:1px solid #d8dfeb;border-radius:10px;padding:10px 12px}.setup-summary p{margin:0 0 8px}.form-stack,.form-grid{gap:8px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-pick-fieldset{border:1px solid #ccd6e4;border-radius:10px;padding:10px}.menu-pick-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.menu-pick-item{background:#fff;border:1px solid #c2cfdf;border-radius:8px;align-content:start;gap:3px;padding:8px;display:grid}.menu-pick-item.selected{background:#f1f7ff;border-color:#5f84b6}.menu-pick-item.disabled{opacity:.45}.menu-pick-item small{color:#5c6c7d;font-size:11px}.staff-choice-card{border-radius:10px;min-height:76px;transition:border-color .12s,box-shadow .12s,opacity .12s}.staff-choice-card.selected-choice{border-color:#1f5ea873;box-shadow:inset 0 0 0 1px #1f5ea838}.staff-choice-card.disabled-choice{opacity:.5}.reservation-summary-card{border:1px solid var(--line);background:#f8fbff;border-radius:12px;padding:12px}.reservation-summary-card p{color:var(--ink-soft);margin:0}.reservation-summary-card strong{color:var(--accent-strong);margin:6px 0;display:block}.selected-menu-detail-list{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.selected-menu-detail-list li{background:#fff;border:1px solid #d7dfea;border-radius:8px;padding:8px 10px}.selected-menu-detail-list li p{color:var(--ink-soft);margin:4px 0 0}.customer-table{background:#fff;min-width:920px}.customer-table th,.customer-table td{border:1px solid #d6dde6;padding:8px 10px}.customer-table thead th{color:#1f2d3f;background:#eef2f7;font-weight:700}.link-button{color:#1f5ea8;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.reserve-category-mobile-select label{flex-direction:column;gap:6px;display:flex}.reserve-category-mobile-select select{background:#fff;border:1px solid #17212b38;border-radius:10px;height:46px}.member-reservation-item{align-items:flex-start!important}.member-reservation-actions{min-width:280px}@media (max-width:900px){.console-topbar{height:60px;padding:0 10px}.console-brand{flex-direction:row;align-items:baseline;gap:6px}.console-sub{font-size:12px}.schedule-grid-table .staff-col{min-width:96px;max-width:96px}.schedule-grid-table .grid-time-col,.schedule-grid-table .grid-cell{min-width:46px}.mobile-schedule-table{table-layout:fixed;width:max-content;min-width:0}.mobile-schedule-table th,.mobile-schedule-table td{padding:2px;font-size:11px}.schedule-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-kpi-chip strong{font-size:16px}.mobile-schedule-tools,.form-grid.two{grid-template-columns:1fr}.schedule-modal{max-height:calc(100vh - 12px)}.staff-choice-grid,.shift-summary-strip{grid-template-columns:1fr}.mobile-tabbar{background:#f7f8fa}.mobile-tabbar a{color:#5a6678;white-space:nowrap;text-overflow:clip;font-weight:700;line-height:1;overflow:hidden}.mobile-schedule-table .time-col{width:64px;min-width:64px;max-width:64px;font-size:12px}.mobile-schedule-table th:not(.time-col),.mobile-schedule-table td:not(.time-col){width:132px;min-width:132px;max-width:132px}.mobile-schedule-table td,.mobile-schedule-table td.mobile-slot-empty{vertical-align:top;height:42px}.mobile-schedule-table td.mobile-slot-span{vertical-align:top;padding:2px}.mobile-empty-add{border-radius:6px;min-height:36px;font-size:14px}.mobile-empty-add.off-duty{background:var(--bg);border-style:solid;border-color:var(--line-strong);color:var(--ink-faint)}.mobile-schedule-table .reservation-chip{border-radius:6px;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;max-width:none;height:100%;min-height:36px;margin:0;padding:4px 5px;display:flex}.mobile-schedule-table .reservation-chip.mobile-fill{width:100%;max-width:none}.mobile-schedule-table .reservation-chip.continuation{border-radius:6px;height:100%;min-height:36px;padding:0}.mobile-schedule-table .mobile-reservation-fill{border-radius:5px;width:100%;height:100%;min-height:34px;display:block}.mobile-schedule-table .reservation-chip strong{font-size:10px;line-height:1.2}.mobile-schedule-table .reservation-visit-marker{min-width:16px;height:16px;padding:0 4px;font-size:9px;top:3px;left:4px}.mobile-schedule-table .reservation-chip:has(.reservation-visit-marker) strong{padding-left:21px}.mobile-schedule-table .reservation-menu-label{padding:1px 4px;font-size:9px}.mobile-schedule-table.single-staff th:not(.time-col),.mobile-schedule-table.single-staff td:not(.time-col){width:168px;min-width:168px;max-width:168px}.customer-table{display:none}.customer-mobile-list{display:block}.kpi-detail-table tbody tr{grid-template-columns:minmax(0, 1fr) var(--kpi-value-col-width);display:grid}.kpi-detail-table th,.kpi-detail-table td{min-width:0;padding:10px 8px;font-size:14px;display:block}.kpi-detail-table .kpi-detail-value-cell{justify-content:flex-end;align-items:center;display:flex}.availability-mobile-table th,.availability-mobile-table td{padding:4px 2px}.availability-mobile-table .time-col,.availability-mobile-table thead th{font-size:11px}.availability-mobile-table .slot-button{border-radius:7px;width:24px;height:24px;font-size:14px}.reservation-detail-grid{grid-template-columns:1fr}}
