*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{line-height:1.5;min-height:100vh}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}table{border-collapse:collapse;width:100%}a{color:inherit;text-decoration:none}ul,ol{list-style:none}:root{--palette-primary: #10243A;--palette-accent: #1F4063;--palette-tint-strong: #CFDDEC;--palette-tint-mid: #E9EFF6;--palette-tint-subtle: #F2F6FA;--palette-tint-page: #F1F4F8;--palette-tint-header: #F7F9FB;--palette-border: #D5DEE8;--palette-text-dark: #10243A;--palette-text-mid: #47586B;--palette-text-light: #7B8A9A;--palette-error: #dc2626;--palette-warning: #d97706;--palette-info: #2563eb;--palette-white: #FFFFFF;--palette-primary-deep: #0B1A2B;--palette-amber: #9a6700;--palette-nav-active: #E8772E;--palette-nav-hover: #E8EEF5;--palette-brand-accent: #E8772E;--palette-area-red: #C0392B;--palette-area-red-tint: #FBEAE8;--palette-area-blue: #2563EB;--palette-area-blue-tint: #E6EEFD;--palette-area-green: #2E7D32;--palette-area-green-tint: #E7F3E8;--palette-area-orange: #D97706;--palette-area-orange-tint: #FCF0DF;--palette-area-purple: #7C3AED;--palette-area-purple-tint: #F0E9FD;--palette-area-teal: #0F766E;--palette-area-teal-tint: #E0F2F1;--palette-area-pink: #BE185D;--palette-area-pink-tint: #FBE7F0;--palette-area-grey: #5B6B7C;--palette-area-grey-tint: #EDF0F3}:root{--color-primary: var(--palette-primary);--color-primary-hover: var(--palette-accent);--color-bg-page: var(--palette-tint-page);--color-bg-header: var(--palette-tint-header);--color-bg-surface: var(--palette-white);--color-bg-form: var(--palette-tint-mid);--color-bg-table: var(--palette-tint-mid);--color-bg-row-odd: var(--palette-tint-header);--color-bg-row-even: var(--palette-tint-mid);--color-bg-row-hover: var(--palette-tint-strong);--color-bg-table-header: var(--palette-tint-page);--color-bg-tab-inactive: var(--palette-tint-subtle);--color-bg-tab-active: var(--palette-white);--color-bg-input: var(--palette-white);--color-bg-input-disabled: transparent;--color-bg-input-readonly: transparent;--color-bg-modal: var(--palette-white);--color-border: var(--palette-border);--color-border-focus: var(--palette-primary);--color-focus-ring: rgba(16, 36, 58, .15);--color-overlay: rgba(16, 36, 58, .35);--color-nav-active: var(--palette-nav-active);--color-nav-hover: var(--palette-nav-hover);--color-bg-header-nav: var(--palette-primary-deep);--color-bg-nav-active: rgba(255, 255, 255, .18);--color-bg-nav-hover: rgba(255, 255, 255, .1);--color-bg-count: var(--palette-accent);--color-btn-header-bg: rgba(255, 255, 255, .14);--color-btn-header-hover: rgba(255, 255, 255, .26);--color-btn-header-text: var(--palette-white);--color-text-primary: var(--palette-text-dark);--color-text-secondary: var(--palette-text-mid);--color-text-muted: var(--palette-text-light);--color-text-inverse: var(--palette-white);--color-text-disabled: var(--palette-text-light);--color-text-link: var(--palette-primary);--color-text-amber: var(--palette-amber);--color-btn-primary-bg: var(--palette-primary);--color-btn-primary-hover: var(--palette-accent);--color-btn-primary-text: var(--palette-white);--color-btn-secondary-bg: #e5e7eb;--color-btn-secondary-hover: #d1d5db;--color-btn-secondary-text: var(--palette-text-dark);--color-btn-danger-bg: var(--palette-error);--color-btn-danger-hover: #b91c1c;--color-btn-danger-text: var(--palette-white);--color-btn-ghost-bg: transparent;--color-btn-ghost-border: var(--palette-primary);--color-btn-ghost-text: var(--palette-primary);--color-btn-ghost-hover: var(--palette-tint-mid);--color-error: var(--palette-error);--color-warning: var(--palette-warning);--color-info: var(--palette-info);--color-success: #166534;--color-badge-success-bg: #dcfce7;--color-badge-success-text: #166534;--color-badge-warning-bg: #fef3c7;--color-badge-warning-text: #92400e;--color-badge-error-bg: #fef2f2;--color-badge-error-text: #991b1b;--color-badge-neutral-bg: #f3f4f6;--color-badge-neutral-text: #4b5563;--color-badge-info-bg: #dbeafe;--color-badge-info-text: #1e40af;--color-msg-error-bg: #fef2f2;--color-msg-error-border: #fecaca;--color-msg-error-text: var(--palette-error);--color-msg-success-bg: #f0fdf4;--color-msg-success-border: #bbf7d0;--color-msg-success-text: #166534;--color-brand-accent: var(--palette-brand-accent);--color-msg-info-bg: #eff6ff;--color-msg-info-border: #bfdbfe;--color-msg-info-text: #1e40af;--color-msg-warning-bg: #fffbeb;--color-msg-warning-border: #fde68a;--color-msg-warning-text: #92400e;--color-scheduler-grid: var(--palette-border);--color-scheduler-today: var(--palette-primary);--color-scheduler-bg: var(--palette-white);--font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .85rem;--font-size-base: 1rem;--font-size-md: 1.2rem;--font-size-lg: 1.5rem;--font-size-xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--line-height-base: 1.5;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--border-width-sm: 1px;--border-width-md: 2px;--border-width-lg: 3px;--border-radius-sm: 4px;--border-radius-md: 6px;--border-radius-lg: 8px;--input-height: 30px;--control-height-touch: 44px;--header-height: 60px;--logo-height: 38px;--label-width: 160px;--page-width: 960px}html,body,#root{height:100%}body{margin:0;font-family:var(--font-family);font-size:18px;background:var(--color-bg-page);color:var(--color-text-primary);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}button{font:inherit;touch-action:manipulation}.brand-word{font-weight:var(--font-weight-bold);letter-spacing:.02em;color:var(--color-text-inverse);font-size:1.6rem;line-height:1.2}.brand-macron{position:relative;display:inline-block}.brand-macron:before{content:"";position:absolute;left:8%;right:8%;top:.14em;height:.09em;border-radius:var(--border-radius-sm);background:var(--color-brand-accent)}.kiosk-wait{height:100%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--color-text-secondary)}.kiosk{height:100%;display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1fr);grid-template-rows:auto 1fr auto}.kiosk-bar{grid-column:1 / -1;display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:var(--color-text-inverse)}.kiosk-where{font-weight:var(--font-weight-medium)}.kiosk-time{margin-left:auto;font-size:1.5rem;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.kiosk-list{overflow-y:auto;padding:var(--space-md);border-right:var(--border-width-sm) solid var(--color-border);background:var(--color-bg-surface)}.kiosk-list h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:var(--space-md) 0 var(--space-sm)}.kiosk-list h2:first-child{margin-top:0}.kiosk-empty{color:var(--color-text-muted);margin:0 0 var(--space-md)}.staff-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);width:100%;min-height:56px;margin-bottom:var(--space-xs);padding:var(--space-sm) var(--space-md);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-bg-row-odd);color:var(--color-text-primary);text-align:left;cursor:pointer}.staff-row.picked{border-color:var(--color-primary);box-shadow:inset 0 0 0 var(--border-width-md) var(--color-primary)}.staff-name{font-size:1.15rem;font-weight:var(--font-weight-medium)}.badge{padding:2px var(--space-sm);border-radius:var(--border-radius-lg);font-size:.85rem;font-weight:var(--font-weight-bold);white-space:nowrap}.badge-due{background:var(--color-badge-neutral-bg);color:var(--color-badge-neutral-text)}.badge-working{background:var(--color-badge-success-bg);color:var(--color-badge-success-text)}.badge-break{background:var(--color-badge-warning-bg);color:var(--color-badge-warning-text)}.kiosk-side{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-lg);overflow-y:auto}.kiosk-prompt{font-size:1.8rem;color:var(--color-text-muted)}.kiosk-who{font-size:2rem;font-weight:var(--font-weight-bold);text-align:center}.kiosk-question{font-size:1.4rem;text-align:center;margin:0}.kiosk-done{font-size:1.8rem;font-weight:var(--font-weight-bold);color:var(--color-success);text-align:center}.kiosk-error{padding:var(--space-sm) var(--space-md);border:var(--border-width-sm) solid var(--color-msg-error-border);border-radius:var(--border-radius-md);background:var(--color-msg-error-bg);color:var(--color-msg-error-text);text-align:center}.kiosk-note{color:var(--color-text-secondary);text-align:center}.pin-dots{display:flex;gap:var(--space-md);min-height:28px;align-items:center}.pin-dot{width:22px;height:22px;border-radius:50%;border:var(--border-width-md) solid var(--color-primary)}.pin-dot.filled{background:var(--color-primary)}.pin-digit{width:44px;height:56px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:var(--font-weight-bold);background:var(--color-bg-surface)}.pin-digit.filled{background:var(--color-bg-surface)}.pin-pad{display:grid;grid-template-columns:repeat(3,88px);gap:var(--space-sm)}.pin-key{height:76px;border:var(--border-width-sm) solid var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:1.7rem;font-weight:var(--font-weight-medium);cursor:pointer}.pin-key:active{background:var(--color-bg-row-hover)}.pin-key-quiet{font-size:1rem;color:var(--color-text-secondary)}.pin-key-go{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);font-size:1.1rem}.pin-key-go:disabled{opacity:.4}.kiosk-photo{width:240px;height:180px;object-fit:cover;border-radius:var(--border-radius-lg);border:var(--border-width-sm) solid var(--color-border);background:var(--color-bg-form)}.kiosk-photo-none{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.kiosk-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md)}.action{min-width:200px;min-height:84px;padding:var(--space-md) var(--space-lg);border:0;border-radius:var(--border-radius-lg);font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--color-text-inverse);cursor:pointer}.action-in,.action-break_end{background:var(--color-success)}.action-break_start{background:var(--color-warning)}.action-out{background:var(--color-btn-primary-bg)}.kiosk-field{display:flex;flex-direction:column;gap:var(--space-xs);width:min(100%,420px);color:var(--color-text-secondary);font-size:.95rem}.kiosk-field input{height:48px;padding:0 var(--space-md);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--border-radius-md);font:inherit;font-size:1.1rem;background:var(--color-bg-input);color:var(--color-text-primary);-webkit-user-select:text;user-select:text}.kiosk-back{min-height:48px;padding:0 var(--space-lg);border:var(--border-width-sm) solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary);cursor:pointer}.kiosk-status{grid-column:1 / -1;padding:var(--space-xs) var(--space-lg);font-size:.85rem;color:var(--color-text-muted);background:var(--color-bg-surface);border-top:var(--border-width-sm) solid var(--color-border);text-align:right}.kiosk-status-alert{color:var(--color-msg-warning-text);background:var(--color-msg-warning-bg);font-weight:var(--font-weight-bold)}.kiosk-pair{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-lg);text-align:center}.kiosk-pair .brand-word{color:var(--color-primary);font-size:2.6rem}.kiosk-pair h1{margin:0;font-size:1.6rem}.kiosk-pair p{margin:0;max-width:46ch;line-height:1.5;color:var(--color-text-secondary)}@media(max-width:700px){.kiosk{grid-template-columns:1fr;grid-template-rows:auto minmax(30%,1fr) auto auto}.kiosk-list{border-right:0;border-bottom:var(--border-width-sm) solid var(--color-border)}}
