html,body{height:100%;margin:0;font-family:Inter,Segoe UI,system-ui,sans-serif;background:var(--gb-surface-muted);color:var(--gb-text)}:root{--gb-surface: #ffffff;--gb-surface-muted: #f3f4f7;--gb-surface-subtle: #f8f9fa;--gb-border: #d8dbe0;--gb-border-strong: #c4c9d0;--gb-text: #2f353a;--gb-text-secondary: #4f5d73;--gb-text-muted: #768192;--gb-primary: #5856d6;--gb-primary-hover: #4638c2;--gb-primary-soft: rgba(88, 86, 214, .1);--gb-accent: #3399ff;--gb-accent-soft: rgba(51, 153, 255, .1);--gb-success: #2eb85c;--gb-warning: #f9b115;--gb-danger: #e55353;--gb-info: #39f;--gb-attention-row: rgba(249, 177, 21, .08);--gb-radius-sm: 4px;--gb-radius: 6px;--gb-radius-lg: 8px;--gb-shadow-sm: 0 1px 2px rgba(60, 75, 100, .08);--gb-shadow-card: 0 1px 3px rgba(60, 75, 100, .12);--gb-sidebar-width: 248px;--gb-sidebar-folded: 64px;--gb-header-height: 58px;--mdc-checkbox-state-layer-size: 36px;--mdc-chip-container-height: 28px;--mdc-text-button-container-height: 36px;--mdc-protected-button-container-height: 36px;--mdc-filled-button-container-height: 36px;--mdc-outlined-button-container-height: 36px;--mdc-icon-button-state-layer-size: 36px;--mdc-list-list-item-one-line-container-height: 44px;--mdc-list-list-item-two-line-container-height: 60px;--mdc-list-list-item-three-line-container-height: 84px;--mdc-radio-state-layer-size: 36px;--mdc-secondary-navigation-tab-container-height: 44px;--mat-checkbox-touch-target-display: block;--mat-expansion-header-collapsed-state-height: 44px;--mat-expansion-header-expanded-state-height: 60px;--mat-fab-touch-target-display: block;--mat-form-field-container-height: 52px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 14px;--mat-form-field-filled-with-label-container-padding-top: 22px;--mat-form-field-filled-with-label-container-padding-bottom: 6px;--mat-icon-button-touch-target-display: block;--mat-list-list-item-leading-icon-start-space: 12px;--mat-list-list-item-leading-icon-end-space: 12px;--mat-text-button-touch-target-display: block;--mat-protected-button-touch-target-display: block;--mat-filled-button-touch-target-display: block;--mat-outlined-button-touch-target-display: block;--mat-paginator-container-size: 52px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px;--mat-paginator-touch-target-display: block;--mat-radio-touch-target-display: block;--mat-select-arrow-transform: translateY(-8px);--mat-standard-button-toggle-height: 40px;--mat-stepper-header-height: 68px;--mat-table-header-container-height: 52px;--mat-table-footer-container-height: 48px;--mat-table-row-item-container-height: 48px;--mat-toolbar-standard-height: 60px;--mat-toolbar-mobile-height: 52px;--mat-tree-node-min-height: 44px}:root{--mat-sys-background: #fef8fc;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f5eff4;--mat-sys-inverse-primary: #d5baff;--mat-sys-inverse-surface: #323033;--mat-sys-on-background: #1d1b1e;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #5f00c0;--mat-sys-on-primary-fixed: #270057;--mat-sys-on-primary-fixed-variant: #5f00c0;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #4b4357;--mat-sys-on-secondary-fixed: #1f182a;--mat-sys-on-secondary-fixed-variant: #4b4357;--mat-sys-on-surface: #1d1b1e;--mat-sys-on-surface-variant: #49454e;--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: #7b757f;--mat-sys-outline-variant: #cbc4cf;--mat-sys-primary: #7d00fa;--mat-sys-primary-container: #ecdcff;--mat-sys-primary-fixed: #ecdcff;--mat-sys-primary-fixed-dim: #d5baff;--mat-sys-scrim: #000000;--mat-sys-secondary: #645b70;--mat-sys-secondary-container: #eadef7;--mat-sys-secondary-fixed: #eadef7;--mat-sys-secondary-fixed-dim: #cec2db;--mat-sys-shadow: #000000;--mat-sys-surface: #fef8fc;--mat-sys-surface-bright: #fef8fc;--mat-sys-surface-container: #f2ecf1;--mat-sys-surface-container-high: #ede6eb;--mat-sys-surface-container-highest: #e6e1e6;--mat-sys-surface-container-low: #f8f2f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #ded8dd;--mat-sys-surface-tint: #7d00fa;--mat-sys-surface-variant: #e8e0eb;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #332f37;--mat-sys-neutral10: #1d1b1e}:root{--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)}:root{--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)}:root{--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)}:root{--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)}:root{--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)}:root{--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)}:root{--mat-sys-body-large: 400 1rem / 1.5rem Inter;--mat-sys-body-large-font: Inter;--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 Inter;--mat-sys-body-medium-font: Inter;--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 Inter;--mat-sys-body-small-font: Inter;--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 Inter;--mat-sys-display-large-font: Inter;--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 Inter;--mat-sys-display-medium-font: Inter;--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 Inter;--mat-sys-display-small-font: Inter;--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 Inter;--mat-sys-headline-large-font: Inter;--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 Inter;--mat-sys-headline-medium-font: Inter;--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 Inter;--mat-sys-headline-small-font: Inter;--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 Inter;--mat-sys-label-large-font: Inter;--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 Inter;--mat-sys-label-medium-font: Inter;--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 Inter;--mat-sys-label-small-font: Inter;--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 Inter;--mat-sys-title-large-font: Inter;--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 Inter;--mat-sys-title-medium-font: Inter;--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 Inter;--mat-sys-title-small-font: Inter;--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}:root{--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}:root{--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}.chip-version{font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:.72rem;font-weight:600}.list-chip{display:inline-block;max-width:100%;padding:3px 8px;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-scanner-code{font-size:.68rem;font-weight:500;padding:2px 7px;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.family-thales{background:#7c3aed24;color:#6d28d9;border:1px solid rgba(124,58,237,.25)}.family-plustek{background:#0ea5e924;color:#0369a1;border:1px solid rgba(14,165,233,.28)}.family-xcube{background:#ea580c1f;color:#c2410c;border:1px solid rgba(234,88,12,.28)}.family-kiosk{background:#16a34a24;color:#15803d;border:1px solid rgba(22,163,74,.28)}.chip-kiosk-mode{margin-left:6px;background:#16a34a14;color:#166534;border:1px solid rgba(22,163,74,.22);font-size:.72rem}.family-unknown{background:#64748b1f;color:#475569;border:1px solid rgba(100,116,139,.22)}.ver-52{background:#0d948824;color:#0f766e;border:1px solid rgba(13,148,136,.3)}.ver-51{background:#3b82f61f;color:#1d4ed8;border:1px solid rgba(59,130,246,.28)}.ver-5x{background:#4f46e51a;color:#4338ca;border:1px solid rgba(79,70,229,.25)}.ver-4x{background:#ca8a041f;color:#a16207;border:1px solid rgba(202,138,4,.28)}.ver-other{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.mat-mdc-button-base:not(:disabled){transition:transform .1s ease,box-shadow .15s ease,background-color .15s ease}.mat-mdc-button-base:not(:disabled):active{transform:scale(.97)}.mat-mdc-unelevated-button.mat-primary,.mat-mdc-raised-button.mat-primary{--mdc-filled-button-container-color: var(--gb-primary);--mdc-filled-button-label-text-color: #fff}.mat-mdc-unelevated-button.mat-primary:not(:disabled):hover,.mat-mdc-raised-button.mat-primary:not(:disabled):hover{--mdc-filled-button-container-color: var(--gb-primary-hover)}.mat-mdc-outlined-button:not(:disabled):hover{background:var(--gb-primary-soft)}.mat-button-toggle-checked{background:var(--gb-primary-soft)!important;color:var(--gb-primary)!important}.mono{font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:.82rem}.mat-mdc-row:hover{background:#0f172a0a;cursor:pointer}.health-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:8px;vertical-align:middle}.health-ok{background:#16a34a}.health-warn{background:#ca8a04}.health-error{background:#dc2626}.health-unknown{background:#64748b}.online-dot{background:#16a34a}.offline-dot{background:#94a3b8}.profile-editor,.code-panel{min-height:200px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.45;background:#fff;color:#0f172a;border:1px solid #cbd5e1;border-radius:8px;padding:12px;box-sizing:border-box}.profile-map-ref{max-height:420px;overflow:auto;font-size:11px;line-height:1.35;color:#334155}.stat-card{border-radius:12px;padding:16px 20px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0f172a0f}.page-content{padding:20px 24px 32px;max-width:1600px;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.stat-label{font-size:.75rem}.stat-value{font-size:1.75rem;font-weight:700}.stat-value.online{color:#16a34a}.stat-value.warn{color:#ca8a04}.stat-value.offline{color:#64748b}.filter-card,.table-card{margin-bottom:16px;padding:16px;background:#fff}.filter-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.clients-table{width:100%}.client-primary{font-weight:600;font-size:.95rem;color:var(--gb-text)}.client-secondary,.col-tenant .tenant-text{font-weight:500;font-size:.9rem;color:var(--gb-text-secondary)}.id-sub{font-size:.75rem}.client-row{cursor:pointer}.empty-msg{padding:24px}.filter-field{width:280px}.page-shell{min-height:100%}.subsection-title{margin:0 0 8px;font-size:1rem;font-weight:600}.deploy-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:20px}.deploy-field{min-width:200px;flex:1}.toolbar-brand{font-weight:700;letter-spacing:-.02em}.muted-text{color:#64748b}@media(max-width:960px){.filter-field{width:100%}}.health-tooltip{white-space:pre-wrap;max-width:360px!important;font-size:.85rem;line-height:1.45}*{box-sizing:border-box}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gb-primary);outline-offset:2px}.surface-card{background:var(--gb-surface);border:1px solid var(--gb-border);border-radius:var(--gb-radius);box-shadow:var(--gb-shadow-sm)}.page-content{padding:24px}.page-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-intro-copy{min-width:0}.page-heading{margin:0;color:var(--gb-text);font-size:1.35rem;font-weight:600;line-height:1.25}.page-description{max-width:760px;margin:6px 0 0;color:var(--gb-text-muted);font-size:.86rem;line-height:1.45}.page-actions,.toolbar-row,.action-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--gb-border)}.card-title{margin:0;font-size:1rem;font-weight:600}.card-subtitle{margin:4px 0 0;color:var(--gb-text-muted);font-size:.78rem}.card-body{padding:18px}.table-shell{overflow:hidden;background:var(--gb-surface);border:1px solid var(--gb-border);border-radius:var(--gb-radius);box-shadow:var(--gb-shadow-sm)}.table-scroll{overflow-x:auto}.mat-mdc-table{background:var(--gb-surface)!important}.mat-mdc-header-row{min-height:44px!important;background:var(--gb-surface-subtle)}.mat-mdc-header-cell{color:var(--gb-text-muted)!important;font-size:.7rem!important;font-weight:600!important;letter-spacing:.045em!important;text-transform:uppercase}.mat-mdc-cell{color:var(--gb-text-secondary);font-size:.84rem}.mat-mdc-row{min-height:52px!important}.mat-mdc-row:hover{background:#f7f8fa!important}.status-pill{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:3px 9px;border:1px solid transparent;border-radius:999px;font-size:.72rem;font-weight:600;line-height:1.2}.state-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;padding:28px;text-align:center}.state-panel mat-icon{width:36px;height:36px;margin-bottom:8px;color:var(--gb-text-muted);font-size:36px}.state-title{margin:0;font-size:.95rem;font-weight:600}.state-copy{max-width:440px;margin:5px 0 0;color:var(--gb-text-muted);font-size:.82rem}@media(max-width:720px){.page-content{padding:16px}.page-intro{flex-direction:column}.page-actions{width:100%}}.snack-error{--mdc-snackbar-container-color: #b91c1c;--mdc-snackbar-supporting-text-color: #fff;--mat-snack-bar-button-color: #fecaca}
