@charset "UTF-8";html{height:100%;color-scheme:light dark;--mat-sys-background: light-dark(#f8f9ff, #091421);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#eaf1ff, #27313f);--mat-sys-inverse-primary: light-dark(#ffb77d, #904d00);--mat-sys-inverse-surface: light-dark(#27313f, #d9e3f6);--mat-sys-on-background: light-dark(#121c2a, #d9e3f6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #4d2600);--mat-sys-on-primary-container: light-dark(#6e3900, #ffdcc3);--mat-sys-on-primary-fixed: light-dark(#2f1500, #2f1500);--mat-sys-on-primary-fixed-variant: light-dark(#6e3900, #6e3900);--mat-sys-on-secondary: light-dark(#ffffff, #561f00);--mat-sys-on-secondary-container: light-dark(#7a3000, #ffdbcc);--mat-sys-on-secondary-fixed: light-dark(#351000, #351000);--mat-sys-on-secondary-fixed-variant: light-dark(#7a3000, #7a3000);--mat-sys-on-surface: light-dark(#121c2a, #d9e3f6);--mat-sys-on-surface-variant: light-dark(#564334, #faddc9);--mat-sys-on-tertiary: light-dark(#ffffff, #003914);--mat-sys-on-tertiary-container: light-dark(#005320, #7ffc97);--mat-sys-on-tertiary-fixed: light-dark(#002109, #002109);--mat-sys-on-tertiary-fixed-variant: light-dark(#005320, #005320);--mat-sys-outline: light-dark(#897362, #a48c7a);--mat-sys-outline-variant: light-dark(#ddc1ae, #564334);--mat-sys-primary: light-dark(#904d00, #ffb77d);--mat-sys-primary-container: light-dark(#ffdcc3, #6e3900);--mat-sys-primary-fixed: light-dark(#ffdcc3, #ffdcc3);--mat-sys-primary-fixed-dim: light-dark(#ffb77d, #ffb77d);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#a04100, #ffb693);--mat-sys-secondary-container: light-dark(#ffdbcc, #7a3000);--mat-sys-secondary-fixed: light-dark(#ffdbcc, #ffdbcc);--mat-sys-secondary-fixed-dim: light-dark(#ffb693, #ffb693);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#f8f9ff, #091421);--mat-sys-surface-bright: light-dark(#f8f9ff, #303a48);--mat-sys-surface-container: light-dark(#e6eeff, #16202e);--mat-sys-surface-container-high: light-dark(#dee9fc, #212b39);--mat-sys-surface-container-highest: light-dark(#d9e3f6, #2b3544);--mat-sys-surface-container-low: light-dark(#eff4ff, #121c2a);--mat-sys-surface-container-lowest: light-dark(#ffffff, #050f1c);--mat-sys-surface-dim: light-dark(#d0dbed, #091421);--mat-sys-surface-tint: light-dark(#904d00, #ffb77d);--mat-sys-surface-variant: light-dark(#faddc9, #564334);--mat-sys-tertiary: light-dark(#006e2d, #62df7d);--mat-sys-tertiary-container: light-dark(#7ffc97, #005320);--mat-sys-tertiary-fixed: light-dark(#7ffc97, #7ffc97);--mat-sys-tertiary-fixed-dim: light-dark(#62df7d, #62df7d);--mat-sys-neutral-variant20: #3e2d1f;--mat-sys-neutral10: #121c2a;--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 Inter, Roboto, sans-serif;--mat-sys-body-large-font: Inter, Roboto, sans-serif;--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, Roboto, sans-serif;--mat-sys-body-medium-font: Inter, Roboto, sans-serif;--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, Roboto, sans-serif;--mat-sys-body-small-font: Inter, Roboto, sans-serif;--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 "Plus Jakarta Sans", Inter, sans-serif;--mat-sys-display-large-font: "Plus Jakarta Sans", Inter, sans-serif;--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 "Plus Jakarta Sans", Inter, sans-serif;--mat-sys-display-medium-font: "Plus Jakarta Sans", Inter, sans-serif;--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 "Plus Jakarta Sans", Inter, sans-serif;--mat-sys-display-small-font: "Plus Jakarta Sans", Inter, sans-serif;--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 "Plus Jakarta Sans", Inter, sans-serif;--mat-sys-headline-large-font: "Plus Jakarta Sans", Inter, sans-serif;--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 "Plus Jakarta Sans", Inter, sans-serif;--mat-sys-headline-medium-font: "Plus Jakarta Sans", Inter, sans-serif;--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 "Plus Jakarta Sans", Inter, sans-serif;--mat-sys-headline-small-font: "Plus Jakarta Sans", Inter, sans-serif;--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, Roboto, sans-serif;--mat-sys-label-large-font: Inter, Roboto, sans-serif;--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, Roboto, sans-serif;--mat-sys-label-medium-font: Inter, Roboto, sans-serif;--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, Roboto, sans-serif;--mat-sys-label-small-font: Inter, Roboto, sans-serif;--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 "Plus Jakarta Sans", Inter, sans-serif;--mat-sys-title-large-font: "Plus Jakarta Sans", Inter, sans-serif;--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, Roboto, sans-serif;--mat-sys-title-medium-font: Inter, Roboto, sans-serif;--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, Roboto, sans-serif;--mat-sys-title-small-font: Inter, Roboto, sans-serif;--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;--mat-sys-primary: #ff8c00;--mat-sys-on-primary: #111827;--mat-sys-primary-container: light-dark(#ffedd5, #4d2600);--mat-sys-on-primary-container: light-dark(#7c2d00, #ffdcc3);--sg-orange: #ff8c00;--sg-orange-2: #ff6b00;--sg-ink: #111827;--sg-ink-2: #1f2937;--sg-navy: #111827;--sg-text-strong: light-dark(#111827, #ffffff);--sg-radius: 16px;--sg-radius-sm: 10px;--sg-shadow-1: light-dark(0 1px 2px rgb(17 24 39 / 6%), 0 1px 2px rgb(0 0 0 / 40%)), light-dark(0 2px 8px rgb(17 24 39 / 6%), 0 2px 8px rgb(0 0 0 / 30%));--sg-shadow-2: light-dark(0 8px 24px rgb(17 24 39 / 12%), 0 8px 24px rgb(0 0 0 / 45%));--sg-glow: 0 8px 22px rgb(255 140 0 / 35%);--sg-gradient-hero: linear-gradient(135deg, #ff8c00 0%, #ff6b00 100%);--sg-gradient-dark: linear-gradient(160deg, #111827 0%, #1f2937 100%);--sg-gradient-navy: var(--sg-gradient-dark);--sg-gradient-spot: radial-gradient(circle at 88% 0%, rgb(255 140 0 / 55%) 0, transparent 50%), radial-gradient(circle at 0% 100%, rgb(255 107 0 / 25%) 0, transparent 45%), linear-gradient(160deg, #111827 0%, #1f2937 100%);--sg-bg: light-dark(#f5f6f8, #111827);--sg-card: light-dark(#ffffff, #1f2937);--sg-border: light-dark(#e5e7eb, #374151);--sg-ok: light-dark(#dcfce7, #14532d);--sg-on-ok: light-dark(#14532d, #bbf7d0);--sg-warn: light-dark(#ffedd5, #4d2600);--sg-on-warn: light-dark(#7c2d00, #fed7aa);--sg-danger: light-dark(#fee2e2, #5f1414);--sg-on-danger: light-dark(#991b1b, #fecaca);--sg-info: light-dark(#e5e7eb, #374151);--sg-on-info: light-dark(#1f2937, #e5e7eb);--mat-card-elevated-container-shape: var(--sg-radius);--mat-dialog-container-shape: 20px;--mdc-dialog-container-shape: 20px;--mat-table-background-color: var(--sg-card);--mat-paginator-container-background-color: var(--sg-card);--mat-sidenav-content-background-color: var(--sg-bg);--mat-button-filled-container-shape: 12px;--mat-button-outlined-container-shape: 12px;--mat-button-text-container-shape: 12px;--mat-button-tonal-container-shape: 12px}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{background-color:var(--sg-bg);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);font-family:Inter,Roboto,sans-serif;margin:0;height:100%;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3,.mat-mdc-dialog-title{font-family:Plus Jakarta Sans,Inter,sans-serif!important;letter-spacing:-.01em}h1{font:var(--mat-sys-headline-small);font-weight:800;color:var(--sg-text-strong);margin:0 0 4px}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;margin-bottom:16px}.page-header .subtitle{display:block;color:var(--mat-sys-on-surface-variant);font:var(--mat-sys-body-medium)}.page-header>div:last-child:not(:first-child){display:flex;flex-wrap:wrap;gap:8px}.sg-card{background:var(--sg-card);border:1px solid var(--sg-border);border-radius:var(--sg-radius);box-shadow:var(--sg-shadow-1);padding:16px}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.filters .search{flex:1;min-width:220px;max-width:480px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;padding-top:8px}.form-grid .full{grid-column:1/-1}@media(max-width:640px){.form-grid{grid-template-columns:1fr}}.mat-mdc-table{width:100%;background:var(--sg-card)}.mat-mdc-table small{color:var(--mat-sys-on-surface-variant)}.mat-mdc-table .mat-mdc-header-cell{font:var(--mat-sys-label-medium);font-weight:600;color:var(--mat-sys-on-surface-variant);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.mat-mdc-table .mat-mdc-row:hover{background:light-dark(#fafbfe,#1d222c)}.table-wrap,.mat-mdc-table-container{overflow-x:auto;border-radius:var(--sg-radius);border:1px solid var(--sg-border);background:var(--sg-card);box-shadow:var(--sg-shadow-1)}.page-table{overflow-x:auto;border-radius:var(--sg-radius);border:1px solid var(--sg-border);box-shadow:var(--sg-shadow-1)}td.empty{padding:32px;text-align:center;color:var(--mat-sys-on-surface-variant)}.status{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font:var(--mat-sys-label-medium);font-weight:600;white-space:nowrap;background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface-variant)}.status.ACTIVE,.status.PAID,.status.BOOKED,.status.ATTENDED,.status.SCHEDULED,.status.GRANTED,.status.IN_SERVICE,.status.OPEN{background:var(--sg-ok);color:var(--sg-on-ok)}.status.LOCKED,.status.DISABLED,.status.SUSPENDED,.status.EXPIRED,.status.NO_SHOW,.status.UNPAID,.status.DENIED,.status.OUT_OF_ORDER,.status.CANCELLED{background:var(--sg-danger);color:var(--sg-on-danger)}.status.EXPIRING_SOON,.status.IN_MAINTENANCE,.status.PARTIAL{background:var(--sg-warn);color:var(--sg-on-warn)}.status.FROZEN,.status.WAITLISTED,.status.PENDING{background:var(--sg-info);color:var(--sg-on-info)}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:8px 0 16px}.kpis .kpi{padding:16px;border-radius:var(--sg-radius);background:var(--sg-card);border:1px solid var(--sg-border);box-shadow:var(--sg-shadow-1)}.kpis .kpi .value{display:block;font:var(--mat-sys-title-large);font-family:Plus Jakarta Sans,Inter,sans-serif;font-weight:700;font-variant-numeric:tabular-nums}.kpis .kpi .label{color:var(--mat-sys-on-surface-variant);font:var(--mat-sys-label-medium)}mat-icon.app{vertical-align:middle;margin-left:6px;font-size:18px;color:var(--mat-sys-primary)}.error{color:var(--mat-sys-error)}.snack-error{--mat-snack-bar-container-color: var(--mat-sys-error);--mat-snack-bar-supporting-text-color: var(--mat-sys-on-error)}a.person{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none}a.person:hover{color:var(--mat-sys-primary)}.mat-mdc-tab-group{--mat-tab-active-indicator-height: 3px;--mat-tab-active-indicator-shape: 3px}*{scrollbar-width:thin;scrollbar-color:light-dark(#c9cdd8,#3a404d) transparent}@keyframes sg-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.sg-skeleton{display:block;border-radius:8px;background:light-dark(#eceef4,#232833) linear-gradient(90deg,transparent,light-dark(rgba(255,255,255,.7),rgba(255,255,255,.06)),transparent) no-repeat;background-size:200px 100%;animation:sg-shimmer 1.2s ease-in-out infinite}@media(max-width:959.98px){table.mat-mdc-table{display:block;overflow-x:auto;border-radius:var(--sg-radius)}.page-header h1{font-size:22px}}.scan-result-panel .mat-mdc-dialog-surface,.scan-result-panel .mat-mdc-dialog-container{border-radius:0!important;background:transparent!important;box-shadow:none!important}@keyframes sg-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes sg-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes sg-glow{0%,to{box-shadow:0 6px 16px #ff8c004d}50%{box-shadow:0 8px 28px #ff8c0099}}@keyframes sg-spin{to{transform:rotate(360deg)}}main router-outlet+*{animation:sg-fade-up .32s cubic-bezier(.2,.8,.2,1) backwards}.stats>*,.tiles>*,.kpis>*,.list>*,.grid>*{animation:sg-fade-up .4s cubic-bezier(.2,.8,.2,1) backwards}.stats>*:nth-child(1),.tiles>*:nth-child(1),.kpis>*:nth-child(1),.list>*:nth-child(1),.grid>*:nth-child(1){animation-delay:35ms}.stats>*:nth-child(2),.tiles>*:nth-child(2),.kpis>*:nth-child(2),.list>*:nth-child(2),.grid>*:nth-child(2){animation-delay:70ms}.stats>*:nth-child(3),.tiles>*:nth-child(3),.kpis>*:nth-child(3),.list>*:nth-child(3),.grid>*:nth-child(3){animation-delay:105ms}.stats>*:nth-child(4),.tiles>*:nth-child(4),.kpis>*:nth-child(4),.list>*:nth-child(4),.grid>*:nth-child(4){animation-delay:.14s}.stats>*:nth-child(5),.tiles>*:nth-child(5),.kpis>*:nth-child(5),.list>*:nth-child(5),.grid>*:nth-child(5){animation-delay:175ms}.stats>*:nth-child(6),.tiles>*:nth-child(6),.kpis>*:nth-child(6),.list>*:nth-child(6),.grid>*:nth-child(6){animation-delay:.21s}.stats>*:nth-child(7),.tiles>*:nth-child(7),.kpis>*:nth-child(7),.list>*:nth-child(7),.grid>*:nth-child(7){animation-delay:245ms}.stats>*:nth-child(8),.tiles>*:nth-child(8),.kpis>*:nth-child(8),.list>*:nth-child(8),.grid>*:nth-child(8){animation-delay:.28s}.stats>*:nth-child(9),.tiles>*:nth-child(9),.kpis>*:nth-child(9),.list>*:nth-child(9),.grid>*:nth-child(9){animation-delay:315ms}.stats>*:nth-child(10),.tiles>*:nth-child(10),.kpis>*:nth-child(10),.list>*:nth-child(10),.grid>*:nth-child(10){animation-delay:.35s}.stats>*:nth-child(11),.tiles>*:nth-child(11),.kpis>*:nth-child(11),.list>*:nth-child(11),.grid>*:nth-child(11){animation-delay:385ms}.stats>*:nth-child(12),.tiles>*:nth-child(12),.kpis>*:nth-child(12),.list>*:nth-child(12),.grid>*:nth-child(12){animation-delay:.42s}.mat-mdc-button-base:not([disabled]):active{transform:scale(.97)}.mat-mdc-button-base{transition:transform .08s ease}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:959.98px){table.mat-mdc-table .mat-mdc-cell,table.mat-mdc-table .mat-mdc-header-cell,.table-scroll td,.table-scroll th,td.num,th.num,.amount{white-space:nowrap}table.simple{display:block;overflow-x:auto}.mat-button-toggle-group{max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.mat-button-toggle-group .mat-button-toggle{flex:none}.mat-mdc-tab-header .mat-mdc-tab{min-width:0;padding:0 14px}.mat-mdc-dialog-panel{max-width:calc(100vw - 24px)!important}}@media(max-width:600px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpis .kpi{padding:12px}.page-header>div:last-child:not(:first-child),.page-header .actions{width:100%}.filters{gap:8px}.filters>*{flex:1 1 140px;min-width:0}.filters .search{flex-basis:100%;max-width:none}.form-grid{gap:8px}}
