: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-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}}
:root{--app-font-heading:"Avenir Next", "Helvetica Neue", "Yu Gothic UI", sans-serif;--app-font-body:"Avenir Next", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--app-bg:#f8fafc;--app-surface:#fff;--app-surface-soft:#f1f5f9;--app-ink-heading:#1e293b;--app-ink:#334155;--app-ink-soft:#64748b;--app-line:#cbd5e1;--app-line-strong:#94a3b8;--app-brand:#2563eb;--app-brand-strong:#1d4ed8;--app-ok:#15803d;--app-warn:#b91c1c;--app-shadow:0 10px 28px #0f172a14}html,body{font-family:var(--app-font-body);color:var(--app-ink);background:radial-gradient(circle at 5% -10%, #3f75ba24, transparent 42%), radial-gradient(circle at 95% -20%, #1a406f14, transparent 38%), var(--app-bg)}h1,h2,h3,h4,.eyebrow,.console-title,.console-sub{font-family:var(--app-font-heading);color:var(--app-ink-heading)}.home-shell,.reserve-shell,.terms-shell{max-width:1200px;padding:26px 16px 64px}.panel,.home-card,.reserve-panel,.terms-panel{background:var(--app-surface);border:1px solid var(--app-line);box-shadow:var(--app-shadow);border-radius:14px;animation:none}.panel{padding:18px}.caption,label,.list p,.home-hero p,.reserve-header p,.hero p{color:var(--app-ink-soft)}input,select,.textarea{border:1px solid var(--app-line);height:42px;color:var(--app-ink);background:#fff;border-radius:10px}.textarea{min-height:170px;padding:10px 12px}input:not([type=checkbox]):not([type=radio]):focus,select:focus,.textarea:focus{border-color:var(--app-brand);outline:2px solid #2563eb2e}.password-field{position:relative}.password-field input{width:100%;padding-right:62px}.password-toggle-btn{color:#294b72;background:#f6f9fd;border:1px solid #c7d4e3;border-radius:8px;min-width:44px;height:28px;padding:0 8px;font-size:11px;font-weight:700;line-height:1;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.btn{letter-spacing:.01em;border:1px solid #0000;border-radius:10px;height:40px;font-weight:700;transition:background .14s,border-color .14s,box-shadow .14s,color .14s,transform .14s;box-shadow:0 2px 8px #192e470f}.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{background:var(--app-brand);border-color:var(--app-brand);color:#fff}.btn-primary:hover,.btn-secondary:hover,.btn-ghost:hover{color:#fff;background:#475569;border-color:#475569}.btn-primary:hover{background:var(--app-brand-strong);border-color:var(--app-brand-strong)}.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: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(--app-line-strong);color:#475569;background:#fff}.btn-ghost:active{color:#fff;background:#334155;border-color:#334155}.btn-ghost:disabled,.btn-ghost[aria-disabled=true]{color:#94a3b8;background:#f8fafc;border-color:#cbd5e1}.btn-compact{height:auto;min-height:34px;padding:8px 12px;font-size:12px;line-height:1.3}.chip{color:#2f4a67;background:#fff;border:1px solid #cad5e3;border-radius:10px}.notice{border:1px solid var(--app-line);background:var(--app-surface-soft)}.notice.success{color:var(--app-ok);background:#edf9f2;border-color:#128a5247}.notice.error{color:var(--app-warn);background:#fff3f1;border-color:#cc4a354d}.page-loading-shell{place-items:center;min-height:48vh;padding:28px 16px;display:grid}.page-loading-card{text-align:center;background:#fffffff5;border:1px solid #94a3b842;border-radius:20px;width:min(100%,520px);padding:28px 24px;box-shadow:0 18px 48px #0f172a1a}.page-loading-badge{letter-spacing:.16em;color:#64748b;margin:0 0 10px;font-size:12px;font-weight:800}.page-loading-title{margin:0;font-size:clamp(26px,4vw,34px);line-height:1.15}.page-loading-copy{color:#64748b;margin:12px 0 0;font-size:15px;line-height:1.8}.page-loading-dots{justify-content:center;align-items:center;gap:10px;margin-top:20px;display:inline-flex}.page-loading-dot{background:linear-gradient(135deg,#94a3b8,#2563eb);border-radius:999px;width:11px;height:11px;animation:1.1s ease-in-out infinite page-loading-bounce}.page-loading-dot:nth-child(2){animation-delay:.15s}.page-loading-dot:nth-child(3){animation-delay:.3s}@keyframes page-loading-bounce{0%,80%,to{opacity:.45;transform:translateY(0)}40%{opacity:1;transform:translateY(-8px)}}.table-wrap{border:1px solid var(--app-line);background:#fff;border-radius:12px}table{min-width:760px}th{color:#355372}.home-grid{gap:16px}.home-card{border-radius:16px}.home-card p{margin-bottom:16px}.reserve-header{border:1px solid var(--app-line);box-shadow:var(--app-shadow);background:#fff;border-radius:14px;margin-bottom:14px;padding:18px}.reserve-header .eyebrow{color:#54789f}.reserve-header-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.reserve-header-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.reserve-complete-actions,.reserve-complete-subactions{flex-wrap:wrap}.reserve-complete-secondary-cta{min-width:0}.desktop-only-reserve-links{display:flex}.mobile-reserve-menu{width:fit-content;max-width:100%;display:none;position:relative}.reserve-hamburger-btn{white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:6px;min-width:96px;padding:0 10px;font-size:13px;line-height:1;display:inline-flex}.reserve-mobile-menu-panel{z-index:20;border:1px solid var(--app-line);width:min(260px,100vw - 40px);min-width:min(260px,100vw - 40px);max-width:calc(100vw - 40px);box-shadow:var(--app-shadow);background:#fff;border-radius:12px;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)}}.reserve-user-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.reserve-user-guide-card{background:#f8fbff;border:1px solid #cfdae8;border-radius:12px;min-width:0;padding:12px;overflow:hidden}.reserve-user-guide-card h3{color:#1f4f86;margin:0 0 6px;font-size:15px}.reserve-user-guide-card p{color:#4f637b;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-step-progress{background:#e7eef7;border-radius:999px;width:100%;height:8px;margin:0 0 10px;position:relative;overflow:hidden}.reserve-step-progress span{background:linear-gradient(90deg,#2f6db1,#1f4f86);height:100%;transition:width .2s;display:block}.step-indicator li{border:1px solid var(--app-line);color:#647487;background:#f7fafc;border-radius:10px}.step-indicator li.active{color:#204d80;background:#eaf2fd;border-color:#9fb9d8}.step-arrow-guide{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;display:flex}.step-arrow-item{color:#71849a;font-size:13px;font-weight:500}.step-arrow-item.active{color:#1f4f86;font-weight:700}.step-arrow-sep{color:#8da2bb;font-weight:700}.reserve-category-desktop-tabs{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.reserve-category-tab{border:1px solid var(--app-line);background:#fff;border-radius:10px;min-width:180px}.reserve-category-tab strong{color:#1f3f62}.reserve-category-tab.active{box-shadow:none;background:#ebf3ff;border-color:#86a8d3}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.menu-card{border:1px solid var(--app-line);background:#fff;border-radius:12px;min-height:84px}.menu-card input[type=checkbox],.menu-card input[type=radio]{margin-top:2px}.menu-card-detail{border-top:1px dashed #cfd8e4;color:#4d6076!important}.reservation-summary-card{background:#f4f9ff;border-color:#c8d6e8;border-radius:12px}.reservation-summary-card strong{color:#1f4f86}.reserve-summary-compact{gap:4px;display:grid}.selected-menu-detail-list li{border-color:var(--app-line);border-radius:10px}.availability-wrap{border:1px solid var(--app-line);background:#fff;border-radius:12px}.availability-desktop-grid{display:block}.availability-mobile-grid{display:none}.availability-table{min-width:980px}.availability-table thead th{z-index:1;background:#f3f7fc;position:sticky;top:0}.availability-table tbody th{z-index:1;background:#f9fbfe;position:sticky;left:0}.availability-mobile-scroll{max-height:none;overflow:hidden visible}.availability-mobile-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0}.availability-mobile-table th,.availability-mobile-table td{text-align:center;border:1px solid #d7e0eb;padding:5px}.availability-mobile-table thead th{z-index:2;color:#334f6e;white-space:nowrap;background:#f3f7fc;font-size:12px;position:sticky;top:0}.availability-mobile-table .time-col{z-index:3;color:#2e4764;background:#f8fbff;width:18%;min-width:0;font-weight:700;position:sticky;left:0}.availability-mobile-table thead th:not(.time-col),.availability-mobile-table tbody td{width:11.7%}.availability-mobile-table .mobile-day-date,.availability-mobile-table .mobile-day-week{line-height:1.1;display:block}.availability-mobile-table .mobile-day-week{color:#59718f;margin-top:2px;font-size:10px}.slot-button{border-radius:9px;width:32px;height:32px}.slot-button.ok{color:#187445;background:#edf9f1;border-color:#9ad2b5}.slot-button.ng{color:#96a3b3;background:#f3f5f8;border-color:#d3dae4}.reserve-panel>.list.reserve-shop-list{gap:10px;margin-top:14px;display:grid}.menu-management-layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);align-items:start;gap:16px;display:grid}.menu-list-panel{gap:14px;display:grid}.menu-list-head{align-items:flex-end}.menu-list-toolbar{grid-template-columns:minmax(180px,220px) minmax(220px,1fr);gap:10px;display:grid}.menu-list-table-wrap{border:1px solid var(--app-line);background:#fff;border-radius:12px;overflow-x:auto}.menu-list-table{border-collapse:collapse;width:100%;min-width:860px}.menu-list-table th,.menu-list-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e2e8f0;padding:14px 16px}.menu-list-table thead th{color:#475569;background:#f8fafc;font-size:13px;font-weight:800}.menu-list-table tbody tr:hover{background:#f8fbff}.menu-list-name-button{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;gap:4px;padding:0;display:grid}.menu-list-name-button strong{color:var(--app-ink-heading);font-size:15px}.menu-list-name-button span{color:var(--app-ink-soft);font-size:13px;line-height:1.5}.menu-list-actions{flex-wrap:wrap;justify-content:flex-end}.menu-list-actions .btn{min-width:72px}.menu-editor-panel{position:sticky;top:88px}.menu-editor-empty{text-align:center;border:1px dashed var(--app-line);min-height:220px;color:var(--app-ink-soft);background:#f8fafc;border-radius:12px;place-items:center;padding:20px;display:grid}.reserve-shop-list li{border:1px solid var(--app-line);background:#fff;border-radius:12px;padding:14px;box-shadow:0 4px 12px #1220330d}.admin-shell{max-width:none;min-height:100vh;margin:0;padding:0}.admin-workspace{background:var(--app-bg);min-height:100vh}.console-topbar{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#0f1722,#101a28);border-bottom:1px solid #ffffff1f;height:62px;padding:0 16px;position:sticky;top:0}.console-brand{flex-direction:column;justify-content:center;min-width:136px;display:flex}.console-title{color:#9eb3c9;letter-spacing:.12em;font-size:10px}.console-sub{color:#fff;font-size:15px;font-weight:700}.console-menu{align-items:center;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.console-menu a,.console-menu form .btn{white-space:nowrap;color:#eaf2fd;height:34px;box-shadow:none;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:0 6px;font-size:12px;text-decoration:none}.console-menu a:hover,.console-menu a:focus-visible,.console-menu form .btn:hover,.console-menu form .btn:focus-visible{color:#fff;background:0 0;border-bottom-color:#79a8de}.desktop-only{display:flex}.mobile-only{display:none}.admin-page-body{max-width:1500px;margin:0 auto;padding:16px 16px 90px}.admin-nav{gap:10px}.admin-nav a{color:#2b4f74;background:#fff;border:1px solid #c5d2e2;border-radius:10px;font-weight:700;box-shadow:0 4px 10px #172a400d}.schedule-panel{border-radius:14px;padding:16px}.schedule-console-head{gap:14px;margin-bottom:12px}.schedule-eyebrow{color:#4b6b8e}.schedule-toolbar{gap:10px}.schedule-toolbar label{min-width:170px}.schedule-kpi-strip{gap:10px}.schedule-kpi-chip{background:#fff;border:1px solid #cad7e8;border-radius:10px}.schedule-kpi-chip span{color:#5c7390}.schedule-kpi-chip strong{color:#1f4f86}.capacity-chip{background:#fff;border:1px solid #cad7e8;border-radius:10px}.schedule-grid-table{border-collapse:separate;border-spacing:0}.schedule-grid-table thead th{color:#324e6c;background:#f2f6fb;border-color:#d5deea;height:36px;font-size:12px}.schedule-grid-table .staff-col{background:#1f4f86;border-right:1px solid #315f94;min-width:128px;max-width:128px}.schedule-grid-table .staff-col small{color:#f1f8ffe6}.schedule-grid-table .grid-time-col{min-width:52px;font-size:12px}.schedule-grid-table .grid-cell{background:#fff;min-width:52px;height:56px}.empty-drop-cell.disabled{background:#e7ebf1;border-color:#d0d8e3}.empty-drop-cell.off-duty{background:#dde3ec;border-color:#c2ccda}.empty-add{color:#8ea2bc}.reservation-chip{border-radius:8px;padding:5px 6px}.reservation-chip strong{font-size:11px}.reservation-visit-marker{color:#24405f;background:#27496d1f;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-chip.type-nomination{background:#fff1ea;border-color:#d3a48e}.reservation-chip.type-free{background:#eaf2ff;border-color:#8fb1db}.reservation-chip.done{background:#ecf9f2;border-color:#9bccb2}.reservation-chip.blocked{background:#edf1f6;border-color:#b8c1cd}.reservation-menu-label{color:#27496d;background:#1f4f861a;margin-top:2px;margin-bottom:2px}.chip-action,.chip-edge-resize-handle{border-radius:999px}.reservation-chip{padding-right:16px;position:relative}.chip-edge-resize-handle{cursor:ew-resize;touch-action:none;background:linear-gradient(90deg,#27496d00 0%,#27496d1f 100%);border:0;border-radius:0 6px 6px 0;width:16px;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:after{content:"";opacity:.86;background:radial-gradient(circle,#27496d9e 1.2px,#0000 1.3px) 50% 2px/4px 6px repeat-y;border-radius:999px;width:4px;height:18px;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.reservation-chip.resizing{border-color:#5f7895;box-shadow:0 0 0 2px #5f789533,0 12px 24px #0f172a1f}.reservation-chip.resizing .chip-edge-resize-handle{background:linear-gradient(90deg,#27496d1a 0%,#27496d42 100%)}.chip-edge-resize-handle:disabled{opacity:.55;cursor:default}.schedule-now-line{border-left:2px solid #e1432f;box-shadow:0 0 0 1px #e1432f24}.mobile-schedule-stage{min-width:100%;display:inline-block;position:relative}.schedule-now-line-mobile{pointer-events:none;z-index:6;border-top:2px solid #e1432f;position:absolute;left:0;right:0;box-shadow:0 0 0 1px #e1432f24}.schedule-ledger-view,.schedule-mobile-portrait-view{display:none}.schedule-ledger-scroll{overflow:auto}.schedule-ledger-board{--schedule-staff-width:156px;--schedule-slot-width:58px;--schedule-lane-height:68px;--schedule-card-gap:4px;background:#fff;border:1px solid #d5deea;border-radius:14px;width:max-content;min-width:max-content;position:relative;overflow:clip;box-shadow:0 12px 28px #192a4414}.schedule-ledger-board-tablet{--schedule-staff-width:134px;--schedule-slot-width:68px;--schedule-lane-height:78px}.schedule-ledger-header,.schedule-ledger-row{grid-template-columns:var(--schedule-staff-width) max-content;display:grid}.schedule-ledger-header{z-index:20;position:sticky;top:0}.schedule-ledger-time-grid,.schedule-ledger-drop-grid{display:grid}.schedule-ledger-slot-label,.schedule-ledger-drop-cell{width:var(--schedule-slot-width);min-width:var(--schedule-slot-width);box-sizing:border-box}.schedule-ledger-slot-label{color:#324e6c;background:#f2f6fb;border-bottom:1px solid #d5deea;border-left:1px solid #d5deea;justify-content:center;align-items:center;min-height:42px;font-size:12px;font-weight:700;display:flex}.schedule-ledger-staff-cell{z-index:12;box-sizing:border-box;position:sticky;left:0}.schedule-ledger-staff-head{color:#fff;z-index:24;background:#1f4f86;border-bottom:1px solid #315f94;align-items:center;min-height:42px;padding:0 14px;font-size:13px;font-weight:800;display:flex}.schedule-ledger-staff-body{min-height:calc(var(--schedule-lane-height) * var(--schedule-lane-count));color:#fff;background:linear-gradient(#244d7c 0%,#1d446f 100%);border-bottom:1px solid #d5deea;border-right:1px solid #d5deea;align-content:center;gap:4px;padding:10px 12px;display:grid}.schedule-ledger-staff-body small{color:#f1f8ffe0}.schedule-ledger-track{min-height:calc(var(--schedule-lane-height) * var(--schedule-lane-count));background:#f9fbfe;border-bottom:1px solid #d5deea;position:relative}.schedule-ledger-drop-cell{height:var(--schedule-lane-height);background:#ffffffeb;border-top:0;border-bottom:1px solid #e4ebf3;border-left:1px solid #dbe4ef;border-right:0;padding:0}.schedule-ledger-drop-cell.extra-lane{background:#eef3f8}.schedule-ledger-reservation-layer{pointer-events:none;z-index:4;position:absolute;inset:0}.schedule-ledger-reservation-layer .schedule-ledger-card{pointer-events:auto;position:absolute}.schedule-ledger-card{border-radius:10px;flex-direction:column;justify-content:space-between;gap:4px;display:flex;overflow:hidden;box-shadow:0 6px 16px #24405f1f}.schedule-ledger-card-main{gap:3px;min-width:0;display:grid}.schedule-ledger-card-topline{align-items:center;gap:6px;min-width:0;display:flex}.schedule-ledger-card-topline strong,.schedule-ledger-card-sub,.schedule-ledger-card .reservation-menu-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.schedule-ledger-card-time{color:#365573;flex:none;font-size:10px;font-weight:800}.schedule-ledger-card-desktop{padding:8px 18px 8px 8px}.schedule-ledger-card-tablet{padding:8px 16px 8px 8px}.schedule-ledger-card-tablet .schedule-ledger-card-topline strong{font-size:12px}.schedule-ledger-card-tablet .schedule-ledger-card-sub{font-size:10px}.schedule-ledger-card .reservation-menu-label,.schedule-ledger-card-sub{margin:0}.schedule-ledger-empty{padding:18px}.schedule-ledger-now-line{z-index:10}.schedule-mobile-panel{padding:12px}.schedule-mobile-tools-portrait{grid-template-columns:1fr}.schedule-mobile-staff-pills{gap:8px;margin-bottom:10px;padding-bottom:6px;display:flex;overflow-x:auto}.schedule-mobile-staff-pill{color:#355576;background:#fff;border:1px solid #cad7e8;border-radius:999px;flex:none;padding:8px 12px;font-weight:700}.schedule-mobile-staff-pill.active{color:#1f4f86;background:#eaf2fb;border-color:#2b5e97}.schedule-mobile-day{--schedule-mobile-time-width:72px;--schedule-mobile-slot-height:52px;--schedule-mobile-card-gap:5px;background:#fff;border:1px solid #d5deea;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 10px 22px #192a4414}.schedule-mobile-slot-list{z-index:1;position:relative}.schedule-mobile-slot-row{width:100%;height:var(--schedule-mobile-slot-height);grid-template-columns:var(--schedule-mobile-time-width) 1fr;background:linear-gradient(90deg, #f7f9fc 0 var(--schedule-mobile-time-width), #fbfdff var(--schedule-mobile-time-width));text-align:left;border:0;border-bottom:1px solid #e2e9f2;align-items:center;gap:10px;padding:0 12px 0 0;display:grid}.schedule-mobile-slot-row.disabled{background:linear-gradient(90deg, #f2f4f8 0 var(--schedule-mobile-time-width), #edf1f6 var(--schedule-mobile-time-width))}.schedule-mobile-slot-row.off-duty .schedule-mobile-slot-action{color:#6b7f99}.schedule-mobile-time-label{color:#34506d;border-right:1px solid #dbe4ef;justify-content:center;align-items:center;height:100%;font-size:12px;font-weight:800;display:flex}.schedule-mobile-slot-action{color:#6f86a0;font-size:13px;font-weight:700}.schedule-mobile-reservation-layer{top:0;left:calc(var(--schedule-mobile-time-width) + 10px);pointer-events:none;z-index:4;position:absolute;bottom:0;right:10px}.schedule-mobile-reservation-layer .schedule-ledger-card{pointer-events:auto;position:absolute}.schedule-ledger-card-mobile{min-width:0;padding:8px 10px}.schedule-ledger-card-mobile .schedule-ledger-card-topline strong{font-size:13px}.schedule-ledger-card-mobile .schedule-ledger-card-sub{display:none}.schedule-ledger-card-mobile.multi-lane .schedule-ledger-card-topline{flex-direction:column;align-items:flex-start;gap:2px}.schedule-mobile-day .schedule-now-line-mobile{left:calc(var(--schedule-mobile-time-width) + 10px);right:10px}@media (min-width:1181px){.schedule-ledger-view-desktop{display:block}}@media (max-width:1180px){.chip-edge-resize-handle{width:22px;right:1px}.chip-edge-resize-handle:after{height:22px;right:6px}}@media (min-width:768px) and (max-width:1180px){.schedule-ledger-view-tablet{display:block}}@media (max-width:767px){.schedule-mobile-portrait-view{display:block}}.shift-desktop-table{display:block}.shift-mobile-list{display:none}.shift-mobile-card{box-sizing:border-box;gap:6px;margin:0;padding:8px;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:4px 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:34px;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:#4a607a;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;justify-self:stretch;min-inline-size:0;margin:0;padding:0 6px;font-size:12px;line-height:1.1;min-width:0!important}.shift-mobile-card.shift-row-weekday{background:#f8fbff}.shift-mobile-card.shift-row-weekend-holiday{background:#fff8f6}.section-heading{gap:4px;display:grid}.section-heading h3,.section-heading p{margin:0}.time-input-compact{font-variant-numeric:tabular-nums;width:min(100%,9rem);min-width:0;max-width:100%;padding-inline:10px}.business-hours-editor,.business-day-editor{gap:12px;display:grid}.business-template-grid,.business-day-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.business-template-card,.business-day-card{background:#fff;border:1px solid #d7e0ea;border-radius:14px;align-content:start;gap:12px;padding:14px;display:grid;box-shadow:0 8px 20px #24364d0f}.business-template-card-accent{background:linear-gradient(#f8fbff 0%,#eef5ff 100%)}.business-template-head,.business-day-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.business-template-head strong,.business-day-head strong{color:#24364d;font-size:15px;line-height:1.3;display:block}.business-template-head span,.business-day-head span{color:#60758c;margin-top:2px;font-size:12px;display:block}.business-time-row,.business-template-actions{flex-wrap:wrap;gap:10px;display:flex}.business-time-field{flex:0 9rem;min-width:0}.business-time-field input{width:100%}.business-day-card.weekday{background:#fbfdff}.business-day-card.weekend{background:#fff9f7}.business-day-card.closed{opacity:.92}.settings-save-toast{z-index:80;gap:4px;min-width:min(320px,100vw - 32px);max-width:min(420px,100vw - 32px);margin:0;padding:14px 16px;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 16px 36px #0f172a29}.settings-save-toast strong{letter-spacing:.08em;font-size:13px}.settings-save-toast span{line-height:1.5}.shift-table{min-width:760px}.shift-table td .time-input-wide{width:min(100%,8.5rem);min-width:0;max-width:100%}.mobile-tabbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border-top:1px solid #cfd9e6;height:62px}.mobile-tabbar a{color:#4f6175;font-size:10px;font-weight:700}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.kpi-card{background:#fff;border:1px solid #d5dfeb;border-top:3px solid #9fb8d6;border-radius:10px}.kpi-card strong{color:#1f4f86}.kpi-chart-grid{gap:12px}.payment-method-panel{background:#fff;border:1px solid #d4deea;border-radius:12px;margin-top:12px;padding:12px}.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{background:#f8fbff;border:1px solid #d5dfeb;border-radius:10px;gap:4px;padding:10px;display:grid}.payment-method-card p{color:#536c8a;margin:0;font-size:13px}.payment-method-card strong{color:#1f4f86;font-size:20px;line-height:1.2}.payment-method-card span{color:#27496d;font-size:14px;font-weight:700}.chart-panel{background:#fff;border:1px solid #d4deea;border-radius:12px}.line-chart{height:210px}.customer-table thead th{color:#2d4d6e;background:#f3f7fc}.customer-table th,.customer-table td{border-color:#d7e0eb}.link-button{color:#24558f}.menu-pick-item input[type=checkbox]{accent-color:#2b6cb6;align-self:flex-start;width:18px;min-width:18px;height:18px;min-height:18px;margin:0 0 6px}.menu-pick-item.selected{box-shadow:none}.customer-suggest-list{background:#fff;border:1px solid #d7e0eb;border-radius:10px;max-height:220px;display:grid;overflow:auto}.customer-suggest-item{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e5ecf4;gap:2px;padding:10px 12px;display:grid}.customer-suggest-item:last-child{border-bottom:0}.customer-suggest-item strong{color:#234d79}.customer-suggest-item small{color:#5b6f87;font-size:12px}.customer-suggest-item:hover{background:#f4f8fd}.selected-customer-card{background:#f4f8fd;border:1px solid #d7e0eb;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:#234d79;font-size:15px}.selected-customer-copy p,.selected-customer-copy small{color:#5b6f87;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{background:#fff;border:1px solid #d7e0eb;border-radius:10px;gap:8px;margin-bottom:8px;padding:10px;display:grid}.customer-mobile-main strong{color:#254b73;font-size:16px;display:block}.customer-mobile-main p{color:#5a6d83;margin:4px 0 0}.customer-mobile-actions{gap:8px;display:flex}.checkout-detail-form{gap:12px}.checkout-panel .panel-head{margin-bottom:10px}.checkout-panel .notice{margin:0}.reservation-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.checkout-overview-grid{gap:10px}.reservation-detail-card{background:#fff;border:1px solid #d7e0eb;border-radius:12px;padding:16px;box-shadow:0 2px 8px #15273f0f}.checkout-panel .reservation-detail-card{border-radius:10px;padding:13px 14px}.reservation-detail-card h3{color:#203e5f;margin:0 0 10px;font-size:1rem}.checkout-panel .reservation-detail-card h3{margin-bottom:8px}.customer-info-card{border-left:4px solid #2f6db1}.detail-list{gap:10px;margin:0;display:grid}.checkout-panel .detail-list{gap:7px}.detail-list>div{gap:2px;display:grid}.detail-list dt{color:#5d7087;font-size:12px;font-weight:700}.detail-list dd{color:#1f324a;margin:0;font-weight:700;line-height:1.45}.detail-list .memo-preview{color:#3f556f;white-space:pre-wrap;font-weight:500}.reservation-time-inputs{margin-top:8px}.checkout-panel .reservation-time-inputs{margin-top:6px}.reservation-admin-memo .admin-memo-textarea{resize:vertical;width:100%;height:160px;min-height:160px}.checkout-panel .reservation-admin-memo .admin-memo-textarea{height:108px;min-height:108px}.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}.checkout-panel .chips{gap:8px}.checkout-category-stack{gap:10px;display:grid}.checkout-category-group{gap:6px;padding-top:2px;display:grid}.checkout-category-label{color:#58708c;margin:0;font-size:.83rem;font-weight:800}.checkout-panel .stack{gap:10px}.checkout-panel .list.compact{gap:8px}.checkout-panel .list.compact li{padding:8px 10px}.checkout-total-card,.checkout-actions-card,.checkout-discount-card{gap:8px}.checkout-total-layout{grid-template-columns:minmax(0,1.3fr) minmax(240px,.9fr);align-items:start;gap:12px;display:grid}.checkout-total-main,.checkout-payment-pane{gap:8px;display:grid}.checkout-panel .checkout-breakdown{gap:2px}.checkout-panel .checkout-field{gap:4px}.checkout-panel .checkout-amount-mode{margin-top:2px}.checkout-panel .checkout-total-amount{font-size:1.3rem}.checkout-panel .reservation-action-buttons{gap:8px}.checkout-back-row{margin-top:-2px}.checkout-retail-picker{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.checkout-retail-item-meta{gap:2px;display:grid}.checkout-retail-item-meta p{color:#5d7087;margin:0;font-size:12px}.checkout-retail-remove{min-width:76px}.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)}@media (max-width:900px){.home-shell,.reserve-shell,.terms-shell{padding:14px 10px 82px}.reserve-header,.panel,.reserve-panel{border-radius:12px;padding:12px}.reserve-header-top{align-items:center}.reserve-complete-actions,.reserve-complete-subactions{flex-direction:column;align-items:stretch}.reserve-complete-primary-cta,.reserve-complete-secondary-cta{width:100%;min-width:0!important}.desktop-only-reserve-links{display:none}.mobile-reserve-menu{display:block}.reserve-hamburger-btn{white-space:nowrap;gap:4px;min-width:108px;height:36px;padding:0 10px;font-size:12px;line-height:1}.reserve-user-guide-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}.reserve-confirm-backdrop{padding:16px;padding-top:max(16px, env(safe-area-inset-top));align-items:flex-start}.reserve-confirm-dialog{margin-top:56px}.menu-grid,.staff-choice-grid,.kpi-grid,.kpi-chart-grid,.payment-method-grid,.menu-management-layout,.menu-list-toolbar{grid-template-columns:1fr}.menu-editor-panel{position:static;top:auto}.menu-list-table{min-width:720px}.payment-method-panel{padding:10px}.checkout-panel .reservation-detail-card{padding:12px}.checkout-total-layout,.checkout-retail-picker{grid-template-columns:1fr}.checkout-panel .reservation-admin-memo .admin-memo-textarea{height:92px;min-height:92px}.checkout-panel .reservation-action-buttons{flex-direction:column;align-items:stretch}.checkout-panel .reservation-action-buttons .btn,.checkout-panel .checkout-back-row .btn{width:100%}.payment-method-card{padding:9px 10px}.payment-method-card strong{font-size:18px}.reserve-category-desktop-tabs{display:none!important}.reserve-category-mobile-select{display:block!important}.availability-desktop-grid{display:none}.availability-mobile-grid{display:block}.console-topbar{height:58px;padding:0 10px}.console-brand{min-width:110px}.desktop-only{display:none}.mobile-only{display:flex}.console-menu a,.console-menu form .btn{height:30px;font-size:11px}.admin-page-body{padding:10px 8px 14px}.schedule-grid-table .staff-col{min-width:96px;max-width:96px;font-size:12px}.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}.mobile-schedule-table .time-col{white-space:nowrap;text-overflow:clip;width:64px;min-width:64px;max-width:64px;font-size:12px;font-weight:700;line-height:1;overflow:hidden}.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{color:#6f8198;background:#dfe6f1;border-style:solid;border-color:#c2ccda}.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;padding:0;font-size:14px;line-height:1}.step-arrow-guide{gap:4px}.step-arrow-item{font-size:12px}.setup-steps li{grid-template-columns:1fr;align-items:stretch;gap:10px}.setup-steps li>div{min-width:0}.setup-steps li .btn{white-space:normal;width:100%;height:auto;min-height:44px;padding:8px 12px;line-height:1.35}}@media (prefers-reduced-motion:reduce){.reserve-panel-step-enter{animation:none}}@media (max-width:767px){.reservation-detail-grid{grid-template-columns:1fr;gap:10px}.reservation-detail-card{padding:12px}.reservation-detail-card h3,.reservation-detail-card dd,.reservation-detail-card label,.reservation-detail-card p,.reservation-detail-card .caption{font-size:14px}.detail-list dt{font-size:11px}.reservation-admin-memo .admin-memo-textarea{height:120px;min-height:120px}.reservation-action-buttons{flex-direction:column;align-items:stretch;gap:8px}.reservation-action-buttons .btn{width:100%}}@media (min-width:768px){.reservation-admin-memo{padding:20px}.reservation-admin-memo .admin-memo-textarea{height:240px;min-height:240px}}@media (min-width:1025px){.shift-desktop-table{display:block!important}.shift-mobile-list{display:none!important}.shift-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:1024px){.shift-desktop-table{display:none}.shift-mobile-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.shift-mobile-card{box-sizing:border-box;border-radius:12px;gap:8px;margin:0;padding:12px;overflow:hidden;box-shadow:0 8px 20px #24364d0f}.shift-mobile-head{flex-wrap:nowrap;align-items:center;gap:8px}.shift-mobile-head strong{color:#24364d;font-size:15px;font-weight:700;line-height:1.3}.shift-mobile-card .chip{align-items:center;gap:6px;margin-left:auto;padding:6px 10px;font-size:12px;line-height:1;display:inline-flex}.shift-mobile-card .chip input[type=checkbox]{width:18px;height:18px;margin:0}.shift-mobile-card .grid-two-mini{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.shift-mobile-card .grid-two-mini>label{width:100%;min-width:0}.shift-mobile-card label{gap:4px;font-size:11px}.shift-mobile-card .time-input-wide{width:100%;max-width:100%;height:40px;padding:0 8px;font-size:14px;line-height:1.2;min-width:0!important}.shift-mobile-time-grid{flex-wrap:nowrap;justify-content:flex-start;align-items:flex-start;gap:8px;width:100%;min-width:0;max-width:100%;margin:0;padding-inline:0;display:flex}.shift-mobile-time-head{font-size:11px}.shift-mobile-time-field{flex:calc(50% - 4px);gap:4px;min-width:0;max-width:calc(50% - 4px);display:grid}.shift-mobile-time-grid .time-input-wide{box-sizing:border-box;width:100%;max-width:100%;height:34px;appearance:none;border-radius:10px;justify-self:stretch;min-inline-size:0;margin:0;padding:0 6px;font-size:12px;line-height:1.1;min-width:0!important}.password-toggle-btn{min-width:42px;height:26px;padding:0 6px;font-size:10px;right:5px}}@media (max-width:1180px){.business-template-grid,.business-day-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media (max-width:720px){.business-template-grid,.business-day-grid{grid-template-columns:1fr}.business-time-field,.business-template-actions .btn,.business-day-card .btn,.time-input-compact{width:100%}.settings-save-toast{min-width:0;max-width:calc(100vw - 24px);bottom:12px;right:12px}}@media (max-width:560px){.shift-mobile-list{grid-template-columns:1fr}}
