.gc{position:relative;width:100%}.gc-label{display:block}.gc-field{position:relative;display:flex;align-items:stretch;gap:6px}.gc .gc-input{flex:1;min-width:0}.gc-input-invalid{border-color:var(--danger, var(--st-danger, #dc2626))!important}.gc-toggle{flex:none;width:42px;margin-top:4px;border:1px solid var(--border, #e3e5ea);border-radius:7px;background:var(--surface-muted, #f8f9fb);font-size:14px}.gc-dropdown{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;padding:8px;background:var(--surface, #fff);border:1px solid var(--border, #e3e5ea);border-radius:10px;box-shadow:0 10px 30px #1018282e}.gc-quick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.gc-option{min-height:38px;border:1px solid var(--border, #e3e5ea);border-radius:8px;background:var(--surface, #fff);font-size:15px;font-weight:600}.gc-option-selected{background:var(--accent, var(--st-brand, #4f46e5));border-color:var(--accent, var(--st-brand, #4f46e5));color:#fff}.gc-error{color:var(--danger, var(--st-danger, #dc2626));font-size:13px;margin-top:6px}.gc-inline .gc-label{font-size:21px;font-weight:700;margin:4px 0 12px}.gc-inline .gc-quick{gap:10px;margin-bottom:12px}.gc-inline .gc-option{min-height:56px;border:2px solid var(--st-line, #e2ded5);border-radius:14px;font-size:22px;font-weight:700}.gc-inline .gc-option-selected{border-color:var(--st-brand, #0e5e57)}.gc-inline .gc-input{min-height:56px;padding:0 16px;border:2px solid var(--st-line, #e2ded5);border-radius:14px;background:var(--st-surface, #fff);font-size:20px}.gc-inline .gc-error{font-size:16px;font-weight:600}:root{--bg-primary: #050505;--bg-secondary: #151515;--surface-primary: #2a2a2a;--surface-card: #4a4a4a;--surface-card-hover: #545454;--surface-raised: #333333;--surface-raised-hover: #3d3d3d;--bg-elevated: #1b1b1b;--accent-primary: #c52658;--accent-dark: #97173f;--accent-pressed: #a91d49;--accent-bar: #a01c48;--accent-soft: rgba(197, 38, 88, .18);--accent-text: #ff6b98;--text-primary: #f7f7f7;--text-secondary: #b7b7b7;--text-muted: #777777;--text-on-accent: #ffffff;--border-subtle: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--status-free: #63ff79;--status-free-deep: #1fa047;--status-busy: #f0445d;--status-reserved: #e5a62b;--status-info: #4c8fd9;--status-busy-text: #ff7a8c;--status-pending: #f59e0b;--status-pending-soft: rgba(245, 158, 11, .16);--status-confirmed: #4da3ff;--status-confirmed-soft: rgba(77, 163, 255, .16);--status-seated: #f0445d;--status-seated-soft: rgba(240, 68, 93, .18);--selection: #f7f7f7;--status-free-soft: rgba(99, 255, 121, .12);--status-busy-soft: rgba(240, 68, 93, .16);--status-reserved-soft: rgba(229, 166, 43, .16);--status-info-soft: rgba(76, 143, 217, .16);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-sheet: 22px;--radius-pill: 999px;--touch-min: 44px;--control-h: 44px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", sans-serif;--text-xs: 11px;--text-sm: 13px;--text-md: 15px;--text-lg: 17px;--text-xl: 22px;--text-display: 40px;--ease: cubic-bezier(.2, .8, .2, 1);--focus-ring: 0 0 0 3px rgba(197, 38, 88, .55)}.gp-dark{--bg: var(--bg-primary);--surface: var(--bg-secondary);--surface-muted: var(--surface-primary);--border: var(--border-subtle);--text: var(--text-primary);--text-soft: var(--text-secondary);--accent: var(--accent-primary);--accent-hover: var(--accent-pressed);--danger: var(--status-busy-text);--danger-bg: var(--status-busy-soft);--free: var(--status-free);--free-bg: var(--status-free-soft);--occupied: var(--status-busy-text);--occupied-bg: var(--status-busy-soft);--hall: var(--status-info);--hall-bg: var(--status-info-soft);--radius: var(--radius-md);--shadow: none;color-scheme:dark;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}body:has(.gp-dark){background:var(--bg-primary)}.gp-dark button,.gp-dark input,.gp-dark select,.gp-dark textarea{font-family:inherit}.gp-dark :focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.gp-icon{flex:none;display:block}.gp-dark .btn-primary,.gp-dark .btn-secondary,.gp-dark .btn-success,.gp-dark .btn-danger,.gp-dark .btn-danger-subtle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-h);padding:0 18px;border:none;border-radius:var(--radius-md);font-size:var(--text-md);font-weight:600;letter-spacing:-.01em;line-height:1.2;text-align:center;transition:background-color .15s var(--ease),transform .1s var(--ease),opacity .15s}.gp-dark .btn-primary{background:var(--accent-primary);color:var(--text-on-accent)}.gp-dark .btn-secondary{background:var(--surface-primary);color:var(--text-primary)}.gp-dark .btn-success{background:var(--status-free-deep);color:var(--bg-primary)}.gp-dark .btn-danger{background:var(--status-busy-soft);color:var(--status-busy-text)}.gp-dark .btn-danger-subtle{background:transparent;color:var(--text-secondary);box-shadow:inset 0 0 0 1px var(--border-subtle);font-weight:500}@media(hover:hover){.gp-dark .btn-primary:hover:not(:disabled){background:var(--accent-pressed)}.gp-dark .btn-secondary:hover:not(:disabled){background:var(--surface-card)}.gp-dark .btn-success:hover:not(:disabled){filter:brightness(1.08)}.gp-dark .btn-danger:hover:not(:disabled){background:#f0445d3d}.gp-dark .btn-danger-subtle:hover:not(:disabled){color:var(--status-busy-text)}}.gp-dark .btn-primary:active:not(:disabled){background:var(--accent-dark);transform:scale(.98)}.gp-dark .btn-secondary:active:not(:disabled),.gp-dark .btn-success:active:not(:disabled),.gp-dark .btn-danger:active:not(:disabled){transform:scale(.98)}.gp-dark .btn-primary:disabled,.gp-dark .btn-secondary:disabled,.gp-dark .btn-success:disabled,.gp-dark .btn-danger:disabled,.gp-dark .btn-danger-subtle:disabled{opacity:.4;cursor:not-allowed}.gp-dark .link-btn{background:none;border:none;padding:6px 4px;color:var(--accent-text);font-size:var(--text-sm);font-weight:600;text-decoration:none}@media(hover:hover){.gp-dark .link-btn:hover{text-decoration:underline}}.gp-dark .chip-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border:none;border-radius:var(--radius-pill);background:var(--surface-primary);color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}@media(hover:hover){.gp-dark .chip-btn:hover{background:var(--surface-card);color:var(--text-primary)}}.gp-dark .chip-btn.active{background:var(--accent-primary);color:var(--text-on-accent);font-weight:600}.gp-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--touch-min);height:var(--touch-min);padding:0;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);transition:background-color .15s var(--ease)}.gp-icon-btn-filled{background:var(--surface-primary);color:var(--text-primary)}.gp-icon-btn-on-accent{background:#ffffff29;color:var(--text-on-accent)}@media(hover:hover){.gp-icon-btn:hover{background:var(--surface-primary);color:var(--text-primary)}.gp-icon-btn-filled:hover{background:var(--surface-card)}.gp-icon-btn-on-accent:hover{background:#ffffff3d}}.gp-icon-btn:active{transform:scale(.96)}.gp-segmented{display:inline-flex;align-items:stretch;gap:2px;padding:2px;border-radius:10px;background:var(--surface-primary)}.gp-segmented>button{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:36px;padding:0 14px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;white-space:nowrap;transition:background-color .15s var(--ease),color .15s var(--ease)}.gp-segmented>button.active{background:var(--surface-card);color:var(--text-primary);font-weight:600;box-shadow:0 1px 3px #00000059}@media(hover:hover){.gp-segmented>button:not(.active):hover{color:var(--text-primary)}}.tone-free{--tone: var(--status-free);--tone-soft: var(--status-free-soft);--tone-text: var(--status-free)}.tone-pending{--tone: var(--status-pending);--tone-soft: var(--status-pending-soft);--tone-text: var(--status-pending)}.tone-confirmed{--tone: var(--status-confirmed);--tone-soft: var(--status-confirmed-soft);--tone-text: var(--status-confirmed)}.tone-seated{--tone: var(--status-seated);--tone-soft: var(--status-seated-soft);--tone-text: var(--status-busy-text)}.gp-status-dot{--dot: var(--status-free);flex:none;display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--dot);box-shadow:0 0 6px 1px color-mix(in srgb,var(--dot) 70%,transparent),0 0 14px 2px color-mix(in srgb,var(--dot) 30%,transparent)}.gp-status-dot.tone-pending{--dot: var(--status-pending)}.gp-status-dot.tone-confirmed{--dot: var(--status-confirmed)}.gp-status-dot.tone-seated{--dot: var(--status-seated)}.gp-status-dot.tone-info{--dot: var(--status-info)}.gp-status-dot.pulse{animation:gp-pulse 2.4s ease-in-out infinite}@keyframes gp-pulse{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.gp-status-dot.pulse{animation:none}}.gp-card{background:var(--surface-raised);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--border-subtle)}.gp-dark input:not([type=checkbox],[type=radio],.gp-bare),.gp-dark select:not(.gp-bare),.gp-dark textarea{min-height:var(--control-h);padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-primary);color:var(--text-primary);font-size:16px;font-variant-numeric:tabular-nums}.gp-dark textarea{min-height:88px;resize:vertical}.gp-dark input::placeholder,.gp-dark textarea::placeholder{color:var(--text-muted)}.gp-dark input:focus,.gp-dark select:focus,.gp-dark textarea:focus{outline:none;border-color:var(--accent-text);box-shadow:var(--focus-ring)}.gp-dark input:disabled,.gp-dark select:disabled,.gp-dark textarea:disabled{opacity:.5}.gp-dark input[type=checkbox],.gp-dark input[type=radio]{accent-color:var(--accent-primary)}.gp-dark .modal-backdrop{background:#0000009e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gp-dark .modal-card{background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-sheet);box-shadow:0 24px 64px #0009,inset 0 0 0 1px var(--border-subtle);padding:24px;width:480px}.gp-dark .modal-card h2{font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;margin:0 0 8px}.gp-dark .modal-card label{color:var(--text-secondary);font-size:var(--text-sm);margin-top:14px}.gp-dark .modal-card input:not([type=checkbox],[type=radio]),.gp-dark .modal-card select,.gp-dark .modal-card textarea{margin-top:6px}.gp-dark .modal-actions{gap:10px;margin-top:24px}.gp-dark .group-summary{background:var(--surface-primary);border-radius:var(--radius-md);padding:12px 14px}.gp-dark .warning-text{background:var(--status-reserved-soft);color:var(--status-reserved);border-radius:var(--radius-sm)}.gp-dark .confirm-box{border:1px solid rgba(240,68,93,.45);border-radius:var(--radius-md);background:var(--status-busy-soft);color:var(--status-busy-text)}.gp-dark .error-text{color:var(--status-busy-text)}.guest-fields{display:grid;grid-template-columns:minmax(0,1fr);column-gap:12px}@media(min-width:768px){.guest-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-field-birth{grid-column:1}}.guest-field{display:flex;flex-direction:column;min-width:0}.guest-field input{width:100%;min-width:0;box-sizing:border-box}.field-error{margin-top:6px;font-size:13px;line-height:1.35;color:var(--status-busy-text, #ff8a9a)}.crm-status{margin-top:5px;font-size:13px;line-height:1.35;color:var(--text-muted, #777);overflow-wrap:anywhere}.crm-status.crm-found{color:var(--status-free-deep, #1fa047)}.gp-dark .crm-status.crm-found{color:var(--status-free, #63ff79)}.crm-status.crm-archived,.crm-status.crm-unavailable,.crm-status.crm-note{color:var(--status-reserved, #8a5300)}.gp-dark .guest-field.has-error input{box-shadow:inset 0 0 0 1.5px var(--status-busy)}.gp-dark .next-day-badge{color:var(--accent-text)}.gp-dark .gc-toggle,.gp-dark .gc-option{border-color:var(--border-subtle);background:var(--surface-primary);color:var(--text-primary);border-radius:var(--radius-sm);min-height:var(--control-h)}.gp-dark .gc-toggle{margin-top:6px;width:48px}.gp-dark .gc-option-selected{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-on-accent)}.gp-dark .gc-dropdown{background:var(--bg-secondary);border-color:var(--border-strong);border-radius:var(--radius-md);box-shadow:0 16px 40px #0009}@media(max-width:767px){.gp-dark .modal-backdrop{align-items:flex-end;padding:0}.gp-dark .modal-card{width:100%;max-width:100%;max-height:92vh;max-height:92dvh;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding:12px 16px 0;animation:gp-sheet-in .28s var(--ease)}.gp-dark .modal-card:before{content:"";display:block;width:36px;height:5px;margin:0 auto 14px;border-radius:3px;background:var(--surface-card)}.gp-dark .modal-card .form-row{gap:10px}.gp-dark .modal-card>.modal-actions{position:sticky;bottom:0;z-index:2;margin:20px -16px 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg-secondary);border-top:1px solid var(--border-subtle)}.gp-dark .modal-card>.modal-actions>button{flex:1;min-height:50px}}@keyframes gp-sheet-in{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.gp-dark .modal-card{animation:none}}.form-section-label{margin-top:16px;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500}.status-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.status-button{position:relative;display:flex;align-items:center;gap:6px;min-height:52px;padding:8px 12px 8px 8px;border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-primary);color:var(--text-primary);font-size:14.5px;font-weight:500;line-height:1.25;text-align:left;transition:background-color .15s var(--ease),border-color .15s var(--ease),transform .1s var(--ease)}.status-button-cancelled{grid-column:1 / -1}.status-button-check{display:inline-flex;flex:none;width:20px;justify-content:center}.status-button-label{flex:1;min-width:0}@media(hover:hover){.status-button:not(.selected):hover{background:var(--surface-card)}}.status-button:active{transform:scale(.98)}.status-button.selected{border-color:var(--tone, var(--text-secondary));background:var(--tone-soft, var(--surface-card));color:var(--tone-text, var(--text-primary));font-weight:700;box-shadow:inset 0 0 0 1px var(--tone, var(--text-secondary))}.status-button-cancelled{color:var(--status-busy-text)}.status-button-cancelled.selected{border-color:var(--status-busy-text);box-shadow:inset 0 0 0 1px var(--status-busy-text);color:var(--status-busy-text)}.cancellation-summary{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:inset 0 0 0 1px var(--border-subtle);color:var(--text-secondary);font-size:var(--text-sm)}.cancellation-summary strong{color:var(--text-primary)}.cancellation-comment{color:var(--text-primary);white-space:pre-wrap}.cancel-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000008c}.cancel-dialog{display:flex;flex-direction:column;width:440px;max-width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;padding:20px;border-radius:var(--radius-sheet);background:var(--bg-secondary);box-shadow:0 24px 64px #000000a6,inset 0 0 0 1px var(--border-strong);color:var(--text-primary);outline:none}.cancel-dialog>*{flex-shrink:0}.cancel-dialog h3{margin:0;font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em}.cancel-dialog-subtitle{margin:14px 0 8px;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500}.cancel-reasons{display:flex;flex-direction:column;border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:inset 0 0 0 1px var(--border-subtle);overflow:hidden}.cancel-reason{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border:none;background:transparent;color:var(--text-primary);font-size:var(--text-md);text-align:left}.cancel-reason+.cancel-reason{background:linear-gradient(var(--border-subtle),var(--border-subtle)) 46px 0 / calc(100% - 46px) 1px no-repeat}.cancel-reason-emoji{flex:none;width:22px;font-size:18px;text-align:center}.cancel-reason-label{flex:1;min-width:0}.cancel-reason-check{display:inline-flex;flex:none;width:20px;color:var(--accent-text)}@media(hover:hover){.cancel-reason:hover{background-color:var(--surface-primary)}}.cancel-reason.selected{background-color:var(--surface-primary);font-weight:600}.cancel-reason:focus-visible{outline-offset:-2px}.cancel-dialog-comment{margin-top:12px}.cancel-dialog-comment label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:var(--text-sm)}.cancel-dialog-comment textarea{width:100%}.cancel-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.gp-dark .cancel-dialog-actions>button{min-height:48px}@media(max-width:767px){.cancel-dialog-backdrop{align-items:flex-end;padding:0}.cancel-dialog{width:100%;max-height:94vh;max-height:94dvh;padding:12px 16px calc(16px + env(safe-area-inset-bottom));border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;animation:gp-sheet-in .28s var(--ease)}.cancel-dialog:before{content:"";display:block;flex:none;width:36px;height:5px;margin:0 auto 12px;border-radius:3px;background:var(--surface-card)}.cancel-reason{min-height:50px}.cancel-dialog-actions{position:sticky;bottom:calc(-16px - env(safe-area-inset-bottom));margin:12px -16px calc(-16px - env(safe-area-inset-bottom));padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg-secondary);border-top:1px solid var(--border-subtle)}.gp-dark .cancel-dialog-actions>button{min-height:50px}}.archive-reason{margin-top:4px;color:var(--text-secondary);font-size:12.5px}.archive-reason-comment{color:var(--text-primary)}.keypad-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;background:#00000059}.keypad-sheet{width:100%;max-width:420px;padding:14px 16px calc(16px + env(safe-area-inset-bottom));border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--bg-secondary);box-shadow:0 -12px 40px #00000080,inset 0 1px 0 var(--border-subtle);color:var(--text-primary)}@media(min-width:768px){.keypad-backdrop{align-items:flex-end;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.keypad-sheet{border-radius:var(--radius-sheet);padding-bottom:16px}}.keypad-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;margin-bottom:12px}.keypad-value{grid-column:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:28px;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums}.keypad-placeholder{color:var(--text-muted);font-size:20px;font-weight:500}.keypad-status{grid-column:1;min-height:18px;color:var(--text-secondary);font-size:13px}.keypad-status.is-notice{color:var(--status-busy-text, #ff8a9a)}.keypad-plus{grid-column:2;grid-row:1 / span 2;width:56px;height:56px;border:none;border-radius:14px;background:var(--surface-primary);color:var(--text-primary);font-size:28px;font-weight:500}.keypad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.keypad-key{min-height:60px;border:none;border-radius:14px;background:var(--surface-primary);color:var(--text-primary);font-size:28px;font-weight:500;font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}.keypad-key:active,.keypad-plus:active{background:var(--surface-raised);transform:scale(.97)}.keypad-fn{display:flex;align-items:center;justify-content:center;background:transparent;color:var(--text-secondary)}.keypad-ok{background:var(--accent-primary);color:var(--text-on-accent, #fff);font-size:20px;font-weight:700}.keypad-ok:active{background:var(--accent-pressed)}@media(min-width:768px){.keypad-key{min-height:66px}}@media(max-height:700px){.keypad-key{min-height:52px}.keypad-value{font-size:24px}}
