*{box-sizing:border-box}html{height:100%;overscroll-behavior:none;height:-webkit-fill-available}body{height:100%;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-moz-text-size-adjust:100%;text-size-adjust:100%;height:-webkit-fill-available;font-family:var(--font);color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:14px;line-height:1.5;transition:background .3s;overflow:hidden}button.menu-item,button.store-option,button.suggestion-item,button.notification-card,button.back-link,button.seg{text-align:inherit;font-family:inherit}button.menu-item{background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:10px 4px;display:flex}button.store-option{text-align:left;background:0 0;width:100%}button.suggestion-item,button.notification-card{text-align:left;background:0 0;border:none;width:100%;display:block}button.notification-card{display:grid}button.back-link{background:0 0;border:none;padding:0}button.seg{background:0 0;border:none;padding:4px 12px}button.detail-toggle{background:0 0;border:none;width:100%;padding:0}
:root{--bg:#eef2f7;--bg-secondary:#f3f6fa;--bg-primary:#fff;--bg-info:#eaf3fd;--bg-success:#ecf5ec;--bg-danger:#ffeded;--bg-warning:#fff7c4;--text-primary:#1a2747;--text-secondary:#5f6b80;--text-tertiary:#8c98ad;--text-info:#0d47a1;--text-info-sub:#1565c0;--text-success:#1b5e20;--text-success-sub:#2e7d32;--text-danger:#b71c1c;--text-danger-sub:#d32f2f;--text-warning:#5d4500;--border-light:#e3e8ef;--border:#d4dbe5;--border-strong:#b7c0cd;--border-info:#1565c0;--border-success:#2e7d32;--border-danger:#d32f2f;--border-warning:#f0d878;--radius-sm:2px;--radius-md:3px;--radius-lg:4px;--radius-frame:6px;--primary:#1565c0;--primary-dark:#0d47a1;--primary-hover:#1976d2;--theme-dot:#1565c0;--font:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, Menlo, monospace}body.theme-green{--bg:#e8efe8;--bg-secondary:#f0f5f0;--primary:#2e7d32;--primary-dark:#1b5e20;--primary-hover:#388e3c;--theme-dot:#2e7d32}.reservation-app,.device-auth-app{width:100%;height:100dvh;padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));overscroll-behavior:none;flex-direction:column;margin:0;display:flex;overflow:hidden}.device-auth-app--centered{justify-content:center;align-items:center;overflow-y:auto}.device-auth-admin{flex-direction:column;gap:16px;width:100%;max-width:560px;margin:0 auto;padding:12px 16px 24px;display:flex}.device-auth-admin__brand,.device-auth-admin__card{margin-bottom:0}.bar-left{align-items:center;gap:16px;display:flex}.bar-right{align-items:center;gap:14px;display:flex}.bar-meta{color:var(--text-secondary);font-size:12px;font-weight:600}.source-row{align-items:center;gap:6px;display:flex}.source-label{color:var(--text-secondary);font-size:11px;font-weight:600}.field-hint{color:var(--text-tertiary);margin-top:4px;font-size:10px;font-weight:500}.field-sub{color:var(--text-tertiary);margin-left:4px;font-size:10px;font-weight:500}.card-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.card-header-row .form-field-label{margin:0}.card-header-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.new-customer-btn{color:var(--text-warning);background:var(--bg-warning);border:1px solid var(--border-warning);border-radius:var(--radius-md);white-space:nowrap;padding:5px 10px;font-size:11px;font-weight:700}.new-customer-btn:hover{background:var(--border-warning)}.confirm-two-col{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.customer-name-lg{font-size:15px;font-weight:700}.customer-kana-sm{color:var(--text-secondary);margin-left:4px;font-size:11px;font-weight:400}.customer-detail-grid{grid-template-columns:70px 1fr;gap:4px 12px;margin-top:8px;font-size:12px;display:grid}.customer-detail-grid .key{color:var(--text-secondary);font-weight:600}.banner-info{background:var(--bg-info);border-color:var(--border-info);color:var(--text-info)}.toast{background:var(--text-primary);color:#fff;border-radius:var(--radius-md);white-space:pre-line;z-index:100;max-width:min(420px,100% - 32px);padding:12px 20px;font-size:13px;font-weight:600;animation:.2s toast-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #141e3c40}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.screen{flex-direction:column;flex:1;min-height:0;display:none;position:relative}.screen.active{display:flex}.tablet-frame{background:var(--bg-secondary);border-radius:var(--radius-frame);border:1px solid var(--border-light);flex-direction:column;flex:1;min-height:0;padding:10px 12px;transition:background .3s;display:flex}.tablet-frame:not(:has(.dashboard-body)){-webkit-overflow-scrolling:touch;overflow-y:auto}button{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.3;transition:all .12s}button:hover{background:var(--bg-secondary)}button:active{transform:scale(.98)}button.primary{background:var(--primary);color:#fff;border-color:var(--primary);letter-spacing:.02em;font-weight:700}button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}button.success{background:var(--text-success-sub);color:#fff;border-color:var(--text-success-sub);font-weight:700}button.success:hover{background:var(--text-success)}button.danger{background:var(--bg-danger);color:var(--text-danger);border-color:var(--border-danger);font-weight:600}button.danger:hover{background:#ffd6d6}input[type=text],input[type=password],textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);width:100%;min-height:40px;padding:9px 12px;font-family:inherit;font-size:14px;line-height:1.3}input[type=text]:focus,input[type=password]:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}input[type=text].highlighted{background:var(--bg-warning);border-color:var(--border-warning)}textarea{resize:vertical}.card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:12px 14px}.bar{background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:10px;padding:11px 16px;display:flex}.logo{letter-spacing:.02em;font-size:16px;font-weight:700}.logo i{vertical-align:-2px;color:var(--primary);margin-right:6px}.store-pill{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:5px 11px;font-size:13px;font-weight:600;transition:background .12s;display:inline-flex}.store-pill:hover{background:var(--bg-secondary)}.store-pill i{color:var(--text-secondary);font-size:13px}.store-pill .theme-dot{background:var(--theme-dot);border-radius:50%;width:8px;height:8px;margin-right:2px;display:inline-block}.back-link{cursor:pointer;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.banner{background:var(--bg-warning);border:1px solid var(--border-warning);border-radius:var(--radius-md);color:var(--text-warning);margin-bottom:10px;padding:8px 12px;font-size:12px;font-weight:500}.banner i{vertical-align:-2px;margin-right:4px}.now-pill{color:var(--text-warning);background:var(--bg-warning);border-radius:var(--radius-md);border:1px solid var(--border-warning);padding:4px 11px;font-size:11px;font-weight:700}.hours-pill{color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-light);padding:4px 11px;font-size:11px;font-weight:600}.dashboard-body{flex:1;gap:10px;min-height:0;display:flex}.sidebar{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;flex-shrink:0;align-self:stretch;gap:3px;width:80px;min-height:100%;padding:6px;display:flex}.sidebar-spacer{flex:1;min-height:8px}.menu-item-logout{color:var(--text-secondary)}.menu-item-logout:hover{color:var(--text-danger-sub);background:var(--bg-danger);border-color:var(--border-danger)}.menu-item,button.menu-item{text-align:center;border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:10px 4px;display:flex;position:relative}.menu-item i{font-size:20px;line-height:1;display:block}.menu-item .label{text-align:center;white-space:nowrap;width:100%;margin-top:2px;font-size:10px;font-weight:500;display:block}.menu-item.active{background:var(--primary);color:#fff;font-weight:700}.menu-item.active .label{font-weight:700}.menu-item:not(.active):hover{background:var(--bg-secondary)}.menu-item .badge{background:var(--text-danger-sub);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:2px}.main{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);overscroll-behavior:none;flex-direction:column;flex:1;min-width:0;min-height:0;padding:12px 14px;display:flex;overflow:hidden}.main-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.page-title{flex-shrink:0;align-items:center;gap:8px;margin-bottom:10px;font-size:15px;font-weight:700;display:flex}.page-title i{color:var(--primary);vertical-align:-2px}.page-back{margin-bottom:10px}.master-section-note{color:var(--text-tertiary);margin-left:8px;font-size:11px;font-weight:500}.section-note{text-transform:none;letter-spacing:0;color:var(--text-tertiary);margin-left:4px;font-size:10px;font-weight:500}.stat-sub{color:var(--text-secondary);font-size:10px;font-weight:500}.date-nav{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.date-nav-controls,.date-nav-meta{align-items:center;gap:8px;display:flex}.date-picker-wrap{position:relative}.date-text{font-size:14px;font-weight:700}.date-text-btn{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;transition:background .15s;display:inline-flex}.date-text-btn:hover{background:#0000000f}.date-text-btn .ti-calendar{opacity:.55;font-size:15px}.reservation-date-btn{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);justify-content:space-between;width:100%;padding:10px 12px;font-size:13px}.reservation-date-btn:hover{background:var(--border-light)}.date-calendar{z-index:200;background:#fff;border:1px solid #e0e0e0;border-radius:10px;width:280px;padding:12px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000001f}.date-calendar-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.date-calendar-title{font-size:14px;font-weight:700}.icon-btn.sm{width:28px;height:28px;font-size:14px}.date-calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.date-calendar-weekday{text-align:center;color:#888;padding:4px 0;font-size:11px;font-weight:600}.date-calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-calendar-day{aspect-ratio:1;cursor:pointer;color:#333;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:500;display:flex}.date-calendar-day.empty{pointer-events:none}.date-calendar-day:hover:not(.empty):not(.selected){background:#f0f4ff}.date-calendar-day.today{color:var(--theme,#1565c0);font-weight:700}.date-calendar-day.selected{background:var(--theme,#1565c0);color:#fff;font-weight:700}.date-calendar-footer{text-align:center;border-top:1px solid #eee;margin-top:10px;padding-top:8px}.date-calendar-today-btn{color:var(--theme,#1565c0);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 12px;font-size:13px;font-weight:600}.date-calendar-today-btn:hover{background:#f0f4ff}.icon-btn{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);padding:4px 10px;font-family:inherit;font-size:13px}.icon-btn:hover{background:var(--bg-secondary)}.timeline-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:none;touch-action:pan-x pan-y;flex:1;min-height:0;overflow:auto}.timeline{--timeline-seat-count:5;--timeline-slot-width:88px;--timeline-row-height:40px;--timeline-header-height:28px;grid-template-columns:90px repeat(var(--timeline-slot-count), var(--timeline-slot-width));grid-template-rows:var(--timeline-header-height) repeat(var(--timeline-seat-count), var(--timeline-row-height));flex:none;align-content:start;gap:3px;width:max-content;min-width:max-content;display:grid}.timeline .th{color:var(--text-secondary);text-align:center;box-sizing:border-box;border-bottom:1px solid var(--border-light);z-index:2;background:var(--bg-primary);height:100%;box-shadow:4px 0 0 var(--bg-primary);justify-content:center;align-self:stretch;align-items:flex-end;margin:0;padding:0 2px 5px;font-size:11px;font-weight:600;display:flex;position:sticky;top:0}.timeline .th.now{background:var(--bg-warning);color:var(--text-warning);border-radius:var(--radius-sm) var(--radius-sm) 0 0;box-shadow:4px 0 0 var(--bg-warning);font-weight:700}.timeline .th-sticky,.timeline .row-label{background:var(--bg-primary);position:sticky;left:0}.timeline .th-sticky{z-index:3;border-right:1px solid var(--border-light);box-shadow:4px 0 0 var(--bg-primary);top:0}.timeline .row-label{z-index:2;min-height:var(--timeline-row-height);color:var(--text-secondary);box-shadow:4px 0 0 var(--bg-primary), 1px 0 0 var(--border-light);grid-column:1;align-items:center;padding:6px 4px;font-size:11px;font-weight:600;display:flex}.res-block{z-index:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;cursor:pointer;padding:6px 8px;font-size:12px;transition:filter .12s;position:relative}.res-block:hover{filter:brightness(.97)}.res-block .name{font-weight:700}.res-block .meta{margin-top:1px;font-size:10px}.res-block.upcoming{background:var(--bg-info);color:var(--text-info);border-left:3px solid var(--border-info)}.res-block.upcoming .meta{color:var(--text-info-sub)}.res-block.arrived{background:var(--bg-success);color:var(--text-success);border-left:3px solid var(--border-success)}.res-block.arrived .meta{color:var(--text-success-sub)}.res-block.overdue{background:var(--bg-danger);color:var(--text-danger);border-left:3px solid var(--border-danger)}.res-block.overdue .meta{color:var(--text-danger-sub)}.res-block.merged{box-shadow:inset 0 0 0 1px #00000014}.merged-tag{background:#0000001f;border-radius:2px;margin-left:6px;padding:1px 5px;font-size:9px;font-weight:600}.src{opacity:.7;margin-left:2px;font-size:10px;font-weight:400}.modal-backdrop{z-index:10;background:#141e3c4d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-backdrop.bottom-sheet{align-items:flex-end;padding:0}.modal-backdrop.bottom-sheet.pass-through{pointer-events:none;background:#141e3c2e}.modal-backdrop.bottom-sheet.pass-through .keypad-sheet{pointer-events:auto}.modal-backdrop.hidden{display:none}.modal{background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border);width:min(400px,100% - 32px);padding:14px 16px;box-shadow:0 6px 20px #141e3c2e}.modal-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal-title{font-size:14px;font-weight:700}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px}.modal-meta{color:var(--text-secondary);border-bottom:1px solid var(--border-light);margin-bottom:10px;padding-bottom:10px;font-size:11px;line-height:1.6}.modal-body{color:var(--text-primary);margin-bottom:12px;font-size:13px;line-height:1.6}.modal-actions{gap:6px;display:flex}.modal-actions button{flex:1;padding:9px 4px;font-size:13px}.confirm-dialog-backdrop{z-index:20}.store-list{flex-direction:column;gap:4px;display:flex}.store-option{border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;justify-content:space-between;align-items:center;padding:12px 14px;transition:background .12s;display:flex}.store-option:hover{background:var(--bg-secondary)}.store-option.active{background:var(--bg-info);border-color:var(--border-info)}.store-option .so-name{font-size:14px;font-weight:700}.store-option .so-hours{color:var(--text-secondary);margin-top:2px;font-size:11px}.store-option .so-color{border-radius:50%;width:14px;height:14px;display:inline-block}.store-option .so-check{color:var(--primary);margin-left:6px;font-size:16px}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-grid-wrapper{position:relative}.keypad-overlay{z-index:7;position:absolute;inset:0}.keypad-popup{z-index:8;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);width:calc(50% - 5px);padding:12px 14px 14px;position:absolute;top:0;right:0;box-shadow:0 8px 28px #141e3c2e}.date-card.under-keypad{opacity:.35;pointer-events:none}.form-field-label{color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:600}.form-field-label i{vertical-align:-2px;margin-right:4px}.seg-toggle{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-light);padding:2px;display:inline-flex}.seg-toggle .seg{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;padding:4px 12px;font-size:11px;font-weight:600}.seg-toggle .seg.active{background:var(--primary);color:#fff;font-weight:700}.suggestion-list{border:1px solid var(--border-light);border-radius:var(--radius-md);margin-top:8px;overflow:hidden}.suggestion-list.is-loading{opacity:.72}.suggestion-item{border-top:1px solid var(--border-light);cursor:pointer;padding:8px 10px;font-size:12px}.suggestion-item:first-child{border-top:none}.suggestion-item:hover{background:var(--bg-secondary)}.suggestion-item.selected{background:var(--bg-info);border-left:3px solid var(--border-info);padding-left:7px}.suggestion-item.selected .s-name{color:var(--text-info)}.suggestion-item.selected .s-meta{color:var(--text-info-sub)}.suggestion-item.add-new{background:var(--bg-secondary);color:var(--text-secondary);font-size:11px;font-weight:500}.suggestion-item.add-new:hover{background:var(--border-light)}.suggestion-item.add-new.subtle{opacity:.85}.suggestion-item.add-new.prominent{background:var(--bg-warning);color:var(--text-warning);border-top:1px solid var(--border-warning);padding:12px 10px;font-size:12px;font-weight:700}.suggestion-item.add-new.prominent:hover{background:var(--border-warning)}.suggestion-empty{border:1px dashed var(--border-warning);border-radius:var(--radius-md);background:var(--bg-warning);text-align:center;margin-top:8px;padding:12px 10px}.suggestion-empty-msg{color:var(--text-warning);margin-bottom:8px;font-size:12px;font-weight:600}.suggestion-empty.suggestion-prompt{border-style:solid;border-color:var(--border-light);background:var(--bg-secondary)}.suggestion-empty.suggestion-prompt .suggestion-empty-msg{color:var(--text-secondary);margin-bottom:0;font-weight:500}.master-load-more{width:100%;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-top:10px;padding:10px;font-size:12px;font-weight:600;display:block}.master-load-more:hover{background:var(--border-light)}.selected-customer-chip{background:var(--bg-info);border:1px solid var(--border-info);border-radius:var(--radius-md);color:var(--text-info);align-items:center;gap:6px;margin-top:8px;padding:8px 10px;font-size:12px;font-weight:700;display:flex}.selected-customer-chip i{font-size:14px}.customer-search-card.keypad-open .highlighted.input-active{border-color:var(--primary);box-shadow:0 0 0 2px #1565c026}.keypad-popup-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.keypad-popup .kana-expand-hint{margin-bottom:8px}.keypad-popup .kana-cell{padding:10px 0;font-size:14px}.keypad-popup .tel-grid{max-width:260px;margin:0 auto}.keypad-popup-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.keypad-clear-btn{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:6px 12px;font-size:12px;font-weight:600}.keypad-clear-btn:hover{background:var(--border-light)}.keypad-done-btn{background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:var(--radius-md);padding:6px 14px;font-size:12px;font-weight:700}.keypad-done-btn:hover{filter:brightness(1.05)}.s-name{font-size:13px;font-weight:700}.s-name .kana{color:var(--text-secondary);margin-left:4px;font-size:10px;font-weight:400}.s-meta{color:var(--text-secondary);margin-top:1px;font-size:10px}.hm-section-label{color:var(--text-secondary);margin:0 0 6px;font-size:11px;font-weight:700}.hm-section-label .sub{color:var(--text-tertiary);margin-left:4px;font-weight:500}.hm-row-wrap{grid-template-columns:28px 1fr;align-items:center;gap:8px;margin-bottom:6px;display:grid}.hm-label{color:var(--text-secondary);text-align:right;font-size:11px;font-weight:700}.hm-cells{gap:4px;display:grid}.hm-cells.hours{grid-template-columns:repeat(6,1fr)}.hm-cells.minutes{grid-template-columns:repeat(4,1fr)}.hm-cell{text-align:center;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:13px;font-family:var(--mono);color:var(--text-primary);cursor:pointer;padding:9px 0;font-weight:600}.hm-cell:hover{background:var(--border-light)}.hm-cell.selected{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700}.selected-time-pill{background:var(--bg-warning);border:1px solid var(--border-warning);border-radius:var(--radius-md);color:var(--text-warning);justify-content:space-between;align-items:center;margin-top:12px;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.selected-time-pill .duration{font-size:11px;font-weight:500}.end-time-section{border-top:1px dashed var(--border-light);margin-top:14px;padding-top:12px}.count-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.count-label{color:var(--text-secondary);text-align:center;margin-bottom:4px;font-size:11px;font-weight:600}.count-row{align-items:center;gap:6px;display:flex}.count-row button{width:34px;height:34px;padding:0;font-size:16px;font-weight:700}.count-val{text-align:center;background:var(--bg-warning);border:1px solid var(--border-warning);border-radius:var(--radius-sm);color:var(--text-warning);flex:1;padding:4px 0;font-size:22px;font-weight:700}.count-total{color:var(--text-tertiary);text-align:center;margin-top:8px;font-size:10px;font-weight:500}.seat-zones{flex-direction:column;gap:10px;display:flex}.seat-zone-label{color:var(--text-secondary);margin-bottom:4px;font-size:10px;font-weight:700}.seat-grid{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.seat-grid.seat-grid--b{grid-template-columns:repeat(3,1fr)}.seat-cell{text-align:center;border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer;border:1px solid var(--border-light);padding:10px 4px;font-size:12px;font-weight:500}.seat-cell .seat-name{font-weight:700}.seat-cell .seat-cap{color:var(--text-tertiary);margin-top:2px;font-size:10px}.seat-cell:hover{background:var(--border-light)}.seat-cell.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.seat-cell.selected .seat-cap{color:#ffffffd9}.seat-cell.full{background:var(--bg-danger);color:var(--text-danger);border-color:var(--border-danger)}.seat-cell.full .seat-cap{color:var(--text-danger-sub)}.seat-summary{background:var(--bg-warning);border:1px solid var(--border-warning);border-radius:var(--radius-sm);color:var(--text-warning);text-align:center;margin-top:8px;padding:8px 10px;font-size:11px;font-weight:600}.form-actions{gap:8px;margin-top:10px;display:flex}.form-actions button{padding:12px;font-size:14px}.form-actions button:first-child{flex:1}.form-actions button:last-child{flex:2}.keypad-sheet{background:var(--bg-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--border);border-bottom:none;width:100%;max-width:560px;padding:14px 16px 16px;box-shadow:0 -4px 16px #141e3c1a}.keypad-sheet.narrow{max-width:420px}.keypad-sheet-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.kana-expand-row{grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:4px;display:grid}.kana-expand-cell{text-align:center;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;padding:8px 0;font-size:13px}.kana-expand-cell.selected{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700}.kana-expand-hint{color:var(--text-tertiary);text-align:center;margin-bottom:10px;font-size:10px}.kana-grid{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.kana-cell{text-align:center;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);padding:12px 0;font-size:16px;font-weight:500}.kana-cell:hover{background:var(--border-light)}.kana-cell.selected{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700}.kana-cell.control{color:var(--text-secondary);font-size:14px}.tel-input{font-family:var(--mono);letter-spacing:2px;margin-bottom:8px;background:var(--bg-warning)!important;border-color:var(--border-warning)!important;font-size:16px!important}.tel-grid{grid-template-columns:repeat(3,1fr);gap:6px;max-width:320px;margin:0 auto;display:grid}.tel-cell{text-align:center;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;font-size:18px;font-family:var(--mono);color:var(--text-primary);padding:14px 0;font-weight:600}.tel-cell.control{font-family:var(--font);color:var(--text-secondary);font-weight:500}.tel-cell:hover{background:var(--border-light)}.master-section{margin-bottom:14px}.master-section-title{background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-light);border-left:3px solid var(--primary);margin-bottom:10px;padding:10px 14px;font-size:13px;font-weight:700}.master-section-title i{vertical-align:-2px;color:var(--primary);margin-right:6px}.customer-list{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:12px}.search-bar{align-items:center;gap:8px;margin-bottom:10px;display:flex}.search-bar input{flex:1}.customer-card{border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;margin-bottom:8px;padding:12px 14px;transition:background .12s}.customer-card:last-child{margin-bottom:0}.customer-card:hover{background:var(--bg-secondary);border-color:var(--border)}.cc-row1{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.cc-name{font-size:15px;font-weight:700}.cc-name .kana{color:var(--text-secondary);margin-left:8px;font-size:11px;font-weight:400}.cc-attrs{color:var(--text-secondary);font-size:11px;font-weight:500}.cc-edit-btn{color:inherit;cursor:pointer;vertical-align:middle;background:0 0;border:none;margin-left:8px;padding:0;line-height:1}.cc-edit-btn:hover{color:var(--primary)}.cc-row2{color:var(--text-secondary);gap:12px;margin-bottom:4px;font-size:12px;display:flex}.cc-row2 i{vertical-align:-2px;color:var(--text-tertiary);margin-right:4px}.cc-row3{color:var(--text-secondary);margin-bottom:6px;font-size:12px}.cc-row3 i{color:var(--text-tertiary)}.cc-stats{border-top:1px solid var(--border-light);color:var(--text-secondary);gap:14px;padding-top:6px;font-size:11px;display:flex}.cc-stats strong{color:var(--text-primary);font-size:12px;font-weight:700}.confirm-section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:11px;font-weight:700}.confirm-section-label i{vertical-align:-2px;color:var(--primary);margin-right:4px}.confirm-grid{grid-template-columns:90px 1fr;gap:8px 12px;font-size:13px;display:grid}.confirm-grid .key{color:var(--text-secondary);font-size:12px;font-weight:600}.cust-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px;display:grid}.stat-box{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:10px}.stat-box .stat-key{color:var(--text-secondary);font-size:10px;font-weight:600}.stat-box .stat-val{color:var(--primary-dark);font-size:20px;font-weight:700}.stat-box .stat-val .unit{color:var(--text-secondary);font-size:11px;font-weight:500}.cust-note{background:var(--bg-warning);border:1px solid var(--border-warning);border-radius:var(--radius-md);color:var(--text-warning);padding:8px 10px;font-size:12px}.cust-note .key{color:var(--text-warning);font-size:11px;font-weight:700}.tag-inline{border-radius:var(--radius-sm);padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.tag-inline.info{background:var(--bg-info);color:var(--text-info);border:1px solid var(--border-info)}.tag-inline.muted{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-light)}.required-mark{color:var(--text-danger-sub);font-weight:700}.pill-tag{border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:3px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.pill-tag.info{background:var(--bg-info);color:var(--text-info);border:1px solid var(--border-info)}.pill-tag.muted{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-light)}.nc-grid{grid-template-columns:90px 1fr;align-items:center;gap:10px 12px;display:grid}.detail-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.detail-toggle i{color:var(--text-secondary);font-size:16px;transition:transform .2s}.detail-content.collapsed{display:none}.detail-toggle.collapsed i{transform:rotate(-90deg)}.opt-pills{flex-wrap:wrap;gap:4px;display:flex}.opt-pills button{padding:5px 12px;font-size:12px;font-weight:600}.opt-pills button.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700}.notif-summary{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.notif-mark-all-read{color:var(--text-info-sub);border-color:var(--border-info);background:var(--bg-info);white-space:nowrap;padding:4px 10px;font-size:11px;font-weight:600}.notif-mark-all-read:hover{background:#d8e8f5}.notif-mark-all-read:disabled{opacity:.45;cursor:not-allowed}.notif-mark-all-read:disabled:hover{background:var(--bg-info)}.notif-store{color:var(--text-info-sub);margin-bottom:2px;font-size:10px;font-weight:700}.notification-card{border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:8px;margin-bottom:8px;padding:12px 14px;transition:background .12s;display:grid}.notification-card:hover{background:var(--bg-secondary);border-color:var(--border)}.notification-card.unread{border-left:3px solid var(--primary);background:var(--bg-info);padding-left:11px}.notification-card.unread:hover{background:#d8e8f5}.notif-time{color:var(--text-secondary);font-size:11px;font-weight:600;font-family:var(--mono)}.notif-name{margin-top:2px;font-size:14px;font-weight:700}.notif-meta{color:var(--text-secondary);margin-top:2px;font-size:11px}.notif-status{border-radius:var(--radius-sm);padding:3px 8px;font-size:10px;font-weight:700}.notif-status.new{background:var(--primary);color:#fff}.notif-status.read{background:var(--bg-secondary);color:var(--text-tertiary);border:1px solid var(--border-light)}@media (orientation:landscape) and (min-width:768px) and (min-height:500px){body{font-size:15px}.reservation-app{padding:max(6px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left))}.tablet-frame{border-radius:var(--radius-lg);padding:8px 10px}.bar{flex-shrink:0;margin-bottom:8px;padding:10px 14px}.logo{font-size:17px}.sidebar{width:84px}.menu-item i{font-size:22px}.menu-item .label{font-size:11px}button{min-height:38px;font-size:14px}button.primary{padding:8px 16px}.timeline{grid-template-columns:96px repeat(var(--timeline-slot-count), var(--timeline-slot-width));--timeline-slot-width:92px;--timeline-header-height:30px}.timeline .th,.timeline .row-label{font-size:12px}.res-block{padding:6px 8px;font-size:13px}.res-block .meta{font-size:11px}.form-grid{gap:8px}.card{padding:10px 12px}.hm-cell{padding:10px 0;font-size:14px}.count-row button{width:40px;height:40px}.seat-cell{padding:12px 4px}.keypad-sheet{max-width:min(560px,70vw)}.keypad-sheet.narrow{max-width:min(420px,55vw)}.kana-cell{padding:14px 0;font-size:18px}.tel-cell{padding:16px 0;font-size:20px}.master-section{margin-bottom:0}.master-section .customer-list{overflow:visible}.toast{bottom:max(16px, env(safe-area-inset-bottom))}}@media not ((orientation:landscape) and (min-width:768px) and (min-height:500px)){body{overscroll-behavior:none;overflow:auto}.reservation-app,.device-auth-app{height:auto;min-height:100dvh;overflow:auto visible}.device-auth-app--centered{overflow:auto}.screen.active{flex-direction:column;flex:none;min-height:auto;display:flex}.tablet-frame{-webkit-overflow-scrolling:touch;flex:none;min-height:auto;overflow-x:auto}.bar{flex-wrap:wrap;align-items:flex-start;gap:8px}.bar-left,.bar-right{flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}.bar-right{justify-content:flex-end}.logo{font-size:15px}.store-pill{max-width:100%;font-size:12px}.dashboard-body{flex:none;width:max-content;min-width:100%;min-height:auto;overflow-x:visible}.main{-webkit-overflow-scrolling:touch;min-width:280px;overflow:auto visible}.main-scroll{overflow:auto}.timeline-scroll{-webkit-overflow-scrolling:touch;overflow:auto}.timeline{grid-template-rows:var(--timeline-header-height) repeat(var(--timeline-seat-count,5), var(--timeline-row-height,40px));flex:none}.date-calendar{width:min(280px,100vw - 32px);max-width:calc(100vw - 32px);left:auto;right:0}.form-grid{grid-template-columns:1fr}.keypad-overlay{z-index:19;position:fixed;inset:0}.keypad-popup{top:auto;left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));z-index:20;width:auto;max-height:min(70vh,520px);position:fixed;overflow-y:auto}.confirm-two-col,.count-grid{grid-template-columns:1fr}.cust-stats{grid-template-columns:repeat(3,minmax(88px,1fr))}.form-actions{flex-wrap:wrap}.form-actions button:first-child,.form-actions button:last-child{flex:100%}.modal-actions{flex-wrap:wrap}.modal-actions button{flex:calc(50% - 3px);min-width:96px}.notif-summary{flex-wrap:wrap;align-items:flex-start}.cc-row1,.cc-row2{flex-wrap:wrap;gap:4px 10px}.customer-detail-grid{grid-template-columns:64px 1fr}.nc-grid,.confirm-grid{grid-template-columns:72px 1fr}.source-row,.page-title{flex-wrap:wrap}.login-frame{min-height:100dvh;padding:24px 12px;padding-top:max(24px, env(safe-area-inset-top));align-items:flex-start}.login-container{max-width:100%}.login-card{padding:20px 16px}.login-logo{font-size:26px}.device-auth-admin{max-width:100%;padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}}.login-frame{background:linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg) 100%);justify-content:center;align-items:center;min-height:100%;padding:40px 16px;display:flex}.login-container{flex-direction:column;align-items:center;gap:22px;width:100%;max-width:400px;display:flex}.login-brand{text-align:center}.login-logo{letter-spacing:.02em;font-size:30px;font-weight:700}.login-logo i{vertical-align:-3px;color:var(--primary);margin-right:8px}.login-subtitle{color:var(--text-secondary);margin-top:6px;font-size:12px;font-weight:500}.login-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);width:100%;padding:26px 24px;box-shadow:0 2px 12px #141e3c14}.login-field-label{color:var(--text-secondary);align-items:center;gap:4px;margin-bottom:5px;font-size:11px;font-weight:700;display:flex}.login-field-label i{color:var(--text-tertiary);font-size:13px}.login-field{margin-bottom:14px}.password-wrapper{position:relative}.password-wrapper input{padding-right:40px}.password-toggle{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;min-height:auto;padding:6px 10px;font-size:16px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text-primary);background:0 0}.login-error{background:var(--bg-danger);border:1px solid var(--border-danger);border-radius:var(--radius-md);color:var(--text-danger);align-items:flex-start;gap:6px;margin-bottom:14px;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.login-error i{flex-shrink:0;margin-top:1px;font-size:14px}.form-error-banner{background:var(--bg-danger);border:1px solid var(--border-danger);border-radius:var(--radius-md);color:var(--text-danger);align-items:flex-start;gap:10px;margin:10px 0 0;padding:10px 12px;font-size:13px;display:flex}.form-error-banner i{flex-shrink:0;margin-top:1px;font-size:16px}.form-error-banner ul{margin:0;padding-left:18px;line-height:1.5}.form-error-banner li+li{margin-top:2px}.login-submit{justify-content:center;align-items:center;gap:6px;width:100%;padding:13px;font-size:14px;font-weight:700;display:flex}.login-footer{color:var(--text-tertiary);align-items:center;gap:8px;font-size:11px;font-weight:500;display:flex}.login-footer a{color:var(--text-secondary);text-decoration:none}.login-footer a:hover{color:var(--text-primary)}
