@charset "UTF-8";html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{color-scheme:light dark;--status-free: #2e7d46;--status-playing: #2f6db0;--status-wait: #c98a2b;--status-maint: #8a8a8a;--color-primary: #2f6db0;--color-error: #c0492f;--color-warning: #c98a2b;--color-success: #2e7d46;--bg: #f6f4ec;--surface: #fbfaf6;--surface-variant: #f1ede2;--outline: #d4cdbf;--text: #1a1c1e;--muted: #5a5e62;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-display: 30px;--font-h1: 24px;--font-h2: 20px;--font-title: 17px;--font-body: 15px;--font-small: 13px;--font-timer: 28px;--font-timer-lg: 34px;--lh-display: 1.1;--lh-h1: 1.2;--lh-h2: 1.25;--lh-title: 1.3;--lh-body: 1.45;--lh-small: 1.4;--control-height: 40px;--control-radius: var(--radius-md);--control-font-size: var(--font-small);--shell-sidebar-width: 240px;--shell-bottom-nav-height: 56px;--pos-panel-width: 400px;--pos-panel-width-tablet: 340px;--elevation-1: 0 1px 3px rgba(26, 28, 30, .08);--elevation-2: 0 4px 12px rgba(26, 28, 30, .12);--elevation-3: 0 8px 24px rgba(26, 28, 30, .16);--status-free-bg: rgba(46, 125, 70, .12);--status-playing-bg: rgba(47, 109, 176, .12);--status-wait-bg: rgba(201, 138, 43, .14);--status-maint-bg: rgba(138, 138, 138, .12);--mat-sys-primary: #2f6db0;--mat-sys-on-primary: #ffffff;--mat-sys-primary-container: #d8e6f5;--mat-sys-on-primary-container: #1a3d66;--mat-sys-error: #c0492f;--mat-sys-on-error: #ffffff;--mat-sys-surface: #fbfaf6;--mat-sys-on-surface: #1a1c1e;--mat-sys-surface-variant: #f1ede2;--mat-sys-on-surface-variant: #5a5e62;--mat-sys-outline: #d4cdbf;--mat-sys-outline-variant: #e9e2d4;--mat-sys-background: #f6f4ec;--mat-sys-on-background: #1a1c1e;--mat-sys-corner-extra-small: 8px;--mat-sys-corner-small: 8px;--mat-sys-corner-medium: 12px;--mat-sys-corner-large: 16px;--mat-sys-corner-extra-large: 16px}@media(prefers-color-scheme:dark){:root{--status-free: #4caf6e;--status-playing: #8fb7e8;--status-wait: #e0a84b;--status-maint: #7c8085;--bg: #121316;--surface: #1b1c1e;--surface-variant: #25282b;--outline: #3a3e41;--text: #e3e2e6;--muted: #a9adb1;--status-free-bg: rgba(76, 175, 110, .15);--status-playing-bg: rgba(143, 183, 232, .15);--status-wait-bg: rgba(224, 168, 75, .15);--status-maint-bg: rgba(124, 128, 133, .15);--mat-sys-primary: #8fb7e8;--mat-sys-on-primary: #0d2847;--mat-sys-primary-container: #2a4a73;--mat-sys-on-primary-container: #d8e6f5;--mat-sys-error: #f0a090;--mat-sys-on-error: #4a1508;--mat-sys-surface: #1b1c1e;--mat-sys-on-surface: #e3e2e6;--mat-sys-surface-variant: #25282b;--mat-sys-on-surface-variant: #a9adb1;--mat-sys-outline: #3a3e41;--mat-sys-outline-variant: #2e3134;--mat-sys-background: #121316;--mat-sys-on-background: #e3e2e6}}.mat-mdc-form-field.mat-form-field-appearance-outline{--mat-form-field-container-height: var(--control-height);--mat-form-field-container-vertical-padding: 6px;font-size:var(--control-font-size)}.mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__leading{border-radius:var(--control-radius) 0 0 var(--control-radius)!important}.mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__trailing{border-radius:0 var(--control-radius) var(--control-radius) 0!important}.mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-infix{min-height:calc(var(--control-height) - 12px);padding-top:6px;padding-bottom:6px}.mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-floating-label,.mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-input-element,.mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-select-value{font-size:var(--control-font-size)}.mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-select-trigger{min-height:calc(var(--control-height) - 12px)}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button,.mat-mdc-stroked-button{min-height:var(--control-height)!important;height:var(--control-height)!important;--mdc-filled-button-container-height: var(--control-height);--mdc-outlined-button-container-height: var(--control-height);--mdc-text-button-container-height: var(--control-height);border-radius:var(--control-radius)!important;font-size:var(--control-font-size)!important;padding-inline:var(--space-3)!important}.mat-mdc-button mat-icon,.mat-mdc-unelevated-button mat-icon,.mat-mdc-raised-button mat-icon,.mat-mdc-outlined-button mat-icon,.mat-mdc-stroked-button mat-icon{font-size:18px;width:18px;height:18px}.mat-mdc-icon-button{width:var(--control-height)!important;height:var(--control-height)!important;padding:8px!important;border-radius:var(--control-radius)!important}.mat-mdc-icon-button mat-icon{font-size:20px;width:20px;height:20px}.toolbar-row .toolbar-actions .touch-btn,.toolbar-row .toolbar-actions .mat-mdc-button-base{height:var(--control-height);min-height:var(--control-height)}.btn{min-height:var(--control-height);font-size:var(--control-font-size);border-radius:var(--control-radius)}:root{--mdc-typography-font-family: "Be Vietnam Pro", system-ui, -apple-system, sans-serif;--mdc-typography-button-font-family: "Be Vietnam Pro", system-ui, -apple-system, sans-serif}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button,.mat-mdc-fab,.mat-mdc-icon-button,.mat-mdc-select,.mat-mdc-form-field,.mat-mdc-input-element,input,textarea,select{font-family:var(--mdc-typography-font-family)!important}.mat-mdc-card{border-radius:var(--radius-lg)!important;box-shadow:var(--elevation-1)!important;border:1px solid var(--outline);background:var(--surface)!important;color:var(--text)}.mat-mdc-card-title{font-size:var(--font-title)!important;font-weight:600!important;line-height:var(--lh-title)!important}.mat-mdc-dialog-container .mdc-dialog__surface{border-radius:var(--radius-lg)!important;box-shadow:var(--elevation-3)!important;background:var(--surface)!important}.mat-mdc-form-field{font-size:var(--font-body)}.mdc-text-field--outlined .mdc-notched-outline__leading{border-radius:var(--control-radius) 0 0 var(--control-radius)!important}.mdc-text-field--outlined .mdc-notched-outline__trailing{border-radius:0 var(--control-radius) var(--control-radius) 0!important}.mat-mdc-unelevated-button.mat-primary,.mat-mdc-raised-button.mat-primary,.mat-mdc-fab.mat-primary{--mdc-filled-button-container-color: var(--color-primary);--mdc-filled-button-label-text-color: #fff;border-radius:var(--control-radius)!important}.mat-mdc-outlined-button,.mat-mdc-stroked-button{border-radius:var(--control-radius)!important}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{font-size:var(--font-body);font-weight:500;letter-spacing:0}.mat-toolbar{font-size:var(--font-body)}.mat-mdc-table{font-size:var(--font-body);background:var(--surface)!important}.mat-mdc-header-row{background:var(--surface-variant)!important;font-size:var(--font-small);font-weight:600;color:var(--muted)}.mat-mdc-row:hover{background:color-mix(in srgb,var(--color-primary) 4%,var(--surface))!important}.mat-mdc-snack-bar-container{border-radius:var(--radius-md)!important}.scrim{position:fixed;inset:0;z-index:100;background:color-mix(in srgb,var(--text) 35%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.gate-card{width:min(440px,100%);background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-lg);box-shadow:var(--elevation-3);padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.gate-card h2{margin:0;font-size:var(--font-h2);font-weight:600;line-height:var(--lh-h2);color:var(--text)}.gate-card .gate-subtitle{margin:0;color:var(--muted);font-size:var(--font-body);line-height:var(--lh-body)}.gate-card .gate-footer{margin:0;font-size:var(--font-small);color:var(--muted);line-height:var(--lh-small)}.gate-lock{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--surface-variant);color:var(--muted);border:1px solid var(--outline)}.gate-lock mat-icon{font-size:28px;width:28px;height:28px}.gate-form{width:100%;display:flex;flex-direction:column;gap:var(--space-3);text-align:left}.inline-error{color:var(--color-error);font-size:var(--font-small);margin:0;line-height:var(--lh-small)}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.filter-chip{height:34px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--outline);background:var(--surface);color:var(--muted);font-size:var(--font-small);font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.filter-chip.active{border-color:var(--color-primary);color:var(--color-primary);background:var(--status-playing-bg);font-weight:500}.type-badge{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;border:1px solid var(--outline)}.type-badge.food{color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 50%,transparent);background:color-mix(in srgb,var(--color-warning) 12%,var(--surface))}.type-badge.drink{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 50%,transparent);background:var(--status-playing-bg)}.type-badge.service{color:var(--status-free);border-color:color-mix(in srgb,var(--status-free) 50%,transparent);background:var(--status-free-bg)}.type-badge.owner{color:var(--status-free);border-color:var(--status-free);background:var(--status-free-bg)}.type-badge.cashier{color:var(--color-primary);border-color:var(--color-primary);background:var(--status-playing-bg)}.data-panel{border:1px solid var(--outline);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--elevation-1);overflow:hidden}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{width:100%;border-collapse:collapse;font-size:var(--font-body)}.admin-table th{text-align:left;padding:var(--space-3) var(--space-4);background:var(--surface-variant);color:var(--muted);font-size:var(--font-small);font-weight:600;white-space:nowrap;position:sticky;top:0;z-index:1}.admin-table td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--outline);vertical-align:middle}.admin-table tr.low-stock td{background:color-mix(in srgb,var(--color-error) 8%,var(--surface))}.admin-table .num,.admin-table .tright{text-align:right;font-variant-numeric:tabular-nums;font-family:Roboto Mono,ui-monospace,monospace}.admin-table .mono{font-family:Roboto Mono,ui-monospace,monospace;font-size:var(--font-small)}.warn-note{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-warning) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--color-warning) 35%,transparent);color:var(--text);font-size:var(--font-small);line-height:var(--lh-small);margin-top:var(--space-4)}.tab-bar{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4);border-bottom:1px solid var(--outline);padding-bottom:var(--space-2)}.tab-btn{padding:var(--space-2) var(--space-4);border:none;background:none;font-family:inherit;font-size:var(--font-body);color:var(--muted);cursor:pointer;border-radius:var(--radius-sm) var(--radius-sm) 0 0;min-height:var(--control-height)}.tab-btn.active{color:var(--color-primary);font-weight:600;box-shadow:inset 0 -2px 0 var(--color-primary)}.feed-list{display:flex;flex-direction:column;max-width:720px}.feed-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px dashed var(--outline);font-size:var(--font-body)}.feed-item:last-child{border-bottom:none}.feed-item .feed-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--surface-variant);display:grid;place-items:center;flex:none;font-size:14px}.feed-item .feed-body{flex:1;min-width:0}.feed-item .feed-body strong{display:block;font-weight:600}.feed-item .feed-body .event-type{font-family:Roboto Mono,ui-monospace,monospace;font-size:12px;color:var(--muted)}.feed-item .feed-time{font-size:var(--font-small);color:var(--muted);white-space:nowrap}.toolbar-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.toolbar-row>.mat-mdc-form-field,.toolbar-row>.toolbar-field{flex:0 1 auto;margin:0;min-width:10rem}.toolbar-row .toolbar-field--wide{flex:1 1 12rem;max-width:22rem;min-width:11rem}.toolbar-row .toolbar-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);flex:0 0 auto}.sell-pkg-block{margin-bottom:var(--space-4)}.sell-pkg-block .sell-pkg{margin-bottom:0}.preset-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);margin:var(--space-4) 0 0;padding-top:var(--space-1);font-size:var(--font-small);color:var(--muted)}.preset-row .preset-link{border:none;background:none;padding:0;font:inherit;font-size:inherit;color:var(--color-primary);cursor:pointer;text-decoration:underline}@media(max-width:767px){.admin-table th,.admin-table td{padding:var(--space-3)}.toolbar-row{flex-direction:column;align-items:stretch}.toolbar-row .toolbar-actions{width:100%;justify-content:flex-end}}.stack{display:flex;flex-direction:column}.muted{color:var(--muted)}.small{font-size:var(--font-small)}.panel{border:2px solid var(--outline);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-4);box-shadow:var(--elevation-1)}.btn{min-height:var(--control-height);padding:0 var(--space-4);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:2px solid var(--outline);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-family:Be Vietnam Pro,system-ui,-apple-system,sans-serif;font-size:var(--font-body);font-weight:500;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:var(--elevation-1)}.btn.ghost{background:transparent}.btn.block{width:100%}.chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 var(--space-3);border:1px solid var(--outline);border-radius:var(--radius-pill);font-size:var(--font-body);color:var(--muted);background:var(--surface);cursor:pointer}.chip.active,.chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.seg{display:inline-flex;border:1px solid var(--outline);border-radius:var(--radius-sm);overflow:hidden}.seg>*{min-height:40px;padding:0 var(--space-4);display:inline-flex;align-items:center;border:none;background:var(--surface);color:var(--text);cursor:pointer;font:inherit}.seg>*.on{background:var(--color-primary);color:#fff}.seg>*+*{border-left:1px solid var(--outline)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi{border:2px solid var(--outline);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.kpi .k{font-size:var(--font-small);color:var(--muted)}.kpi .v{font-size:var(--font-display);line-height:1.1}.kpi .sub{font-size:var(--font-small);color:var(--muted)}.listrow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px dashed var(--outline)}.listrow:last-child{border-bottom:none}@media(max-width:1023px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.kpi-grid{grid-template-columns:1fr}}.app-header-trigger,.branch-chip,.profile-btn{height:var(--control-height);min-height:var(--control-height);max-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--font-body);font-weight:500;line-height:1.2;cursor:pointer;box-shadow:var(--elevation-1);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease}.app-header-trigger mat-icon,.branch-chip mat-icon,.profile-btn mat-icon{font-size:20px;width:20px;height:20px;color:var(--muted)}.app-header-trigger:hover:not(:disabled),.branch-chip:hover:not(:disabled),.profile-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 45%,var(--outline));background:color-mix(in srgb,var(--color-primary) 6%,var(--surface));box-shadow:var(--elevation-2);transform:translateY(-1px)}.app-header-trigger:active:not(:disabled),.branch-chip:active:not(:disabled),.profile-btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--elevation-1)}.app-header-trigger:focus-visible,.branch-chip:focus-visible,.profile-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-header-trigger:disabled,.branch-chip:disabled,.profile-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.branch-chip-text,.profile-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-trigger--compact{height:40px;min-height:40px;max-height:40px;padding:0 var(--space-3);font-size:var(--font-small);flex:1 1 8rem}.app-header-trigger--compact .branch-chip-text{max-width:none;flex:1 1 auto;min-width:0}.shift-pill--compact{height:40px;min-height:40px;padding:0 var(--space-3);font-size:var(--font-small);flex:1 1 8rem;display:inline-flex;align-items:center;gap:var(--space-2)}.shift-pill--compact .shift-pill__state{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.shift-pill--compact .shift-pill__action{flex-shrink:0;font-weight:600}.profile-btn.mat-mdc-button{--mdc-text-button-label-text-color: var(--text);--mat-text-button-horizontal-padding: var(--space-4);text-transform:none;letter-spacing:0}.shift-pill{height:var(--control-height);min-height:var(--control-height);display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border:2px solid color-mix(in srgb,var(--color-primary) 55%,var(--outline));border-radius:var(--radius-pill);background:var(--status-playing-bg);color:var(--color-primary);font-size:var(--font-body);font-weight:500;cursor:pointer;white-space:nowrap;box-shadow:var(--elevation-1);transition:background .15s ease,transform .12s ease,box-shadow .15s ease}.shift-pill:hover{transform:translateY(-1px);box-shadow:var(--elevation-2)}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button,.mat-mdc-stroked-button{min-height:var(--control-height)!important;border-radius:var(--control-radius)!important;font-size:var(--control-font-size)!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;padding-inline:var(--space-4)!important;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease!important}.mat-mdc-button:not(:disabled):hover,.mat-mdc-outlined-button:not(:disabled):hover,.mat-mdc-stroked-button:not(:disabled):hover{transform:translateY(-1px)}.mat-mdc-unelevated-button.mat-primary:not(:disabled),.mat-mdc-raised-button.mat-primary:not(:disabled){--mdc-filled-button-container-color: var(--color-primary);--mdc-filled-button-label-text-color: #fff;--mdc-filled-button-container-shape: var(--radius-md);box-shadow:var(--elevation-1)!important}.mat-mdc-unelevated-button.mat-primary:not(:disabled):hover,.mat-mdc-raised-button.mat-primary:not(:disabled):hover{box-shadow:var(--elevation-2)!important;filter:brightness(1.05)}.mat-mdc-outlined-button,.mat-mdc-stroked-button{--mdc-outlined-button-outline-color: var(--outline);--mdc-outlined-button-label-text-color: var(--text);--mdc-outlined-button-container-shape: var(--radius-md);background:var(--surface)!important}.mat-mdc-outlined-button:hover:not(:disabled),.mat-mdc-stroked-button:hover:not(:disabled){--mdc-outlined-button-outline-color: color-mix(in srgb, var(--color-primary) 50%, var(--outline));background:color-mix(in srgb,var(--color-primary) 5%,var(--surface))!important}.mat-mdc-button.mat-mdc-button-base:not(.mat-primary){color:var(--text)}.mat-mdc-icon-button{width:var(--control-height)!important;height:var(--control-height)!important;padding:8px!important;border-radius:var(--control-radius)!important;color:var(--text)}.mat-mdc-icon-button:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 10%,transparent)!important}.touch-btn.mat-mdc-button,.touch-btn.mat-mdc-unelevated-button,.touch-btn.mat-mdc-outlined-button,.touch-btn.mat-mdc-stroked-button,button.touch-btn:not(.mat-mdc-button):not(.mat-mdc-icon-button){min-height:var(--control-height);min-width:var(--control-height)}.mat-mdc-menu-panel.app-menu{min-width:240px;max-width:min(360px,92vw);margin-top:var(--space-2);border:2px solid var(--outline);border-radius:var(--radius-lg)!important;background:var(--surface)!important;box-shadow:var(--elevation-3)!important;overflow:hidden}.mat-mdc-menu-panel.app-menu .mat-mdc-menu-content{padding:var(--space-2)!important}.mat-mdc-menu-panel.app-menu .mat-mdc-menu-item,.mat-mdc-menu-panel.app-menu .mat-mdc-menu-item .mdc-list-item__primary-text{min-height:44px!important;border-radius:var(--radius-sm);font-size:var(--font-body)!important;font-weight:500;color:var(--text)!important;line-height:var(--lh-body)!important}.mat-mdc-menu-panel.app-menu .mat-mdc-menu-item{margin:2px 0;padding-inline:var(--space-3)!important}.mat-mdc-menu-panel.app-menu .mat-mdc-menu-item mat-icon{margin-right:var(--space-3);color:var(--muted);font-size:20px;width:20px;height:20px}.mat-mdc-menu-panel.app-menu .mat-mdc-menu-item:hover:not([disabled]){background:color-mix(in srgb,var(--color-primary) 8%,var(--surface))!important}.mat-mdc-menu-panel.app-menu .mat-mdc-menu-item.app-menu-item--selected,.mat-mdc-menu-panel.app-menu .mat-mdc-menu-item.app-menu-item--selected:hover{background:var(--status-playing-bg)!important;color:var(--color-primary)!important}.mat-mdc-menu-panel.app-menu .mat-mdc-menu-item.app-menu-item--selected mat-icon,.mat-mdc-menu-panel.app-menu .mat-mdc-menu-item.app-menu-item--selected:hover mat-icon{color:var(--color-primary)}.mat-mdc-menu-panel.app-menu--compact{min-width:180px}.mat-mdc-menu-panel.app-menu .app-menu-heading{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--font-small);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.app-status-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:4px;min-width:0;height:28px;min-height:28px;padding:0 10px;border:1px solid var(--outline);border-radius:var(--radius-sm);background:var(--surface);font-family:inherit;font-size:var(--font-small);font-weight:500;line-height:1.2;cursor:pointer;box-shadow:none;transition:background .15s ease,border-color .15s ease}.app-status-trigger mat-icon{font-size:16px;width:16px;height:16px;color:inherit;opacity:.85}.app-status-trigger:hover:not(:disabled){box-shadow:var(--elevation-1)}.app-status-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.app-status-trigger.app-status-trigger--active{border-color:var(--status-free);background:var(--status-free-bg);color:var(--status-free)}.app-status-trigger.app-status-trigger--suspended{border-color:var(--color-warning);background:var(--status-wait-bg);color:var(--color-warning)}.app-status-trigger.app-status-trigger--inactive{border-color:var(--color-error);background:color-mix(in srgb,var(--color-error) 12%,var(--surface));color:var(--color-error)}.app-status-option--active{color:var(--status-free);font-weight:600}.app-status-option--suspended{color:var(--color-warning);font-weight:600}.app-status-option--inactive{color:var(--color-error);font-weight:600}.mat-mdc-form-field.app-select-field{width:100%}.mat-mdc-form-field.app-select-field .mat-mdc-text-field-wrapper{border-radius:var(--radius-md);background:var(--surface)}.mat-mdc-form-field.app-select-field .mat-mdc-form-field-flex{min-height:var(--control-height);align-items:center}.mat-mdc-form-field.app-select-field .mdc-notched-outline .mdc-notched-outline__leading,.mat-mdc-form-field.app-select-field .mdc-notched-outline .mdc-notched-outline__notch,.mat-mdc-form-field.app-select-field .mdc-notched-outline .mdc-notched-outline__trailing{border-color:var(--outline)!important;border-width:2px!important}.mat-mdc-form-field.app-select-field.mat-focused .mdc-notched-outline .mdc-notched-outline__leading,.mat-mdc-form-field.app-select-field.mat-focused .mdc-notched-outline .mdc-notched-outline__notch,.mat-mdc-form-field.app-select-field.mat-focused .mdc-notched-outline .mdc-notched-outline__trailing{border-color:var(--color-primary)!important}.mat-mdc-form-field.app-select-field .mat-mdc-select-trigger{min-height:var(--control-height);font-size:var(--control-font-size);font-weight:500}.mat-mdc-select-panel.app-select-panel,.cdk-overlay-pane .mat-mdc-select-panel.app-select-panel,.mat-mdc-autocomplete-panel{border:2px solid var(--outline)!important;border-radius:var(--radius-lg)!important;background:var(--surface)!important;box-shadow:var(--elevation-3)!important;padding:var(--space-2)!important}.mat-mdc-option{min-height:var(--control-height)!important;border-radius:var(--radius-sm)!important;font-size:var(--font-body)!important}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled){background:var(--status-playing-bg)!important;color:var(--color-primary)!important}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background:color-mix(in srgb,var(--color-primary) 6%,var(--surface))!important}app-root{display:block;height:100%}:root{--shell-toolbar-z: 100;--shell-safe-top: env(safe-area-inset-top, 0px);--shell-safe-bottom: env(safe-area-inset-bottom, 0px)}.shell-container{height:100%;height:100dvh}.shell-container .mat-drawer-content,.shell-container mat-sidenav-content.shell-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.shell-content{display:flex;flex-direction:column;min-height:0}.shell-toolbar{flex-shrink:0;z-index:var(--shell-toolbar-z);background:var(--surface);padding-top:var(--shell-safe-top);box-shadow:0 1px 0 var(--outline)}.shell-main{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.shell-main.with-bottom-nav{padding-bottom:calc(var(--shell-bottom-nav-height) + var(--shell-safe-bottom) + var(--space-4))}.bottom-nav{padding-bottom:var(--shell-safe-bottom)}@media(max-width:767px){.shell-toolbar.shell-toolbar--mobile.mat-toolbar,.shell-toolbar.shell-toolbar--mobile.mat-toolbar-single-row{height:auto;min-height:0}.toolbar-mobile .toolbar-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}*{box-sizing:border-box}html,body{height:100%;margin:0;font-family:Be Vietnam Pro,system-ui,-apple-system,sans-serif;font-size:var(--font-body);font-weight:400;line-height:var(--lh-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(44,42,38,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(44,42,38,.028) 1px,transparent 1px);background-size:30px 30px;z-index:-1}a{color:var(--color-primary)}h1{font-size:var(--font-h1);font-weight:600;line-height:var(--lh-h1)}h2{font-size:var(--font-h2);font-weight:600;line-height:var(--lh-h2)}.mono-timer,.num{font-family:Roboto Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.page-header,.board-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.page-header h1,.board-header h1{margin:0}.page-header .subtitle,.board-header .subtitle{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--font-body);line-height:var(--lh-body)}.header-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.error-banner{background:color-mix(in srgb,var(--color-error) 12%,var(--surface));color:var(--color-error);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-error) 40%,transparent);margin:0 0 var(--space-4);font-size:var(--font-body);line-height:var(--lh-body)}.ws-banner{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);height:var(--control-height);min-height:var(--control-height);border-radius:var(--radius-pill);font-size:var(--font-small);background:color-mix(in srgb,var(--color-warning) 14%,var(--surface));color:var(--color-warning);border:1px solid color-mix(in srgb,var(--color-warning) 35%,transparent)}.touch-btn{min-height:var(--control-height);min-width:var(--control-height)}.chart-placeholder{min-height:200px;border:1px dashed var(--outline);border-radius:var(--radius-md);display:grid;place-items:center;color:var(--muted);font-size:var(--font-small);background:var(--surface-variant);font-family:Roboto Mono,ui-monospace,monospace}.panel-card{border:1px solid var(--outline);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-4);box-shadow:var(--elevation-1)}.panel-card h3{margin:0 0 var(--space-3);font-size:var(--font-title);font-weight:600;line-height:var(--lh-title)}#bida-onboarding-host{position:fixed;inset:0;z-index:1200;pointer-events:none}#bida-onboarding-host .onboarding-tooltip{pointer-events:auto}.onboarding-overlay{position:fixed;inset:0;background:#00000073;z-index:1200;pointer-events:none}.onboarding-spotlight{position:fixed;z-index:1201;border-radius:var(--radius-md);box-shadow:0 0 0 9999px #00000073;pointer-events:none}.onboarding-tooltip{position:fixed;z-index:1202;max-width:min(320px,100vw - 24px);padding:var(--space-4);box-shadow:var(--elevation-2)}.onboarding-tooltip p{margin:var(--space-2) 0 var(--space-3);font-size:var(--font-small);color:var(--muted)}.onboarding-tooltip .onboarding-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}
