:root{--fh-font: "Rubik", system-ui, -apple-system, "Segoe UI", sans-serif;--fh-text: #1f262d;--fh-text-2: #4b5560;--fh-muted: #737d87;--fh-bg: #ffffff;--fh-surface: #ffffff;--fh-surface-2: #f3f4f5;--fh-surface-3: #e9ebed;--fh-border: #e4e7ea;--fh-border-strong: #cfd4d9;--fh-dark: #2a333c;--fh-brand: #41862f;--fh-brand-dark: #286c18;--fh-brand-tint: #edf7e6;--fh-lime: #8ec640;--fh-yellow: #e5e027;--fh-yellow-tint: #fbf9d6;--fh-yellow-text: #6d6800;--fh-danger: #c62828;--fh-danger-tint: #fdecec;--fh-warning: #a15c00;--fh-warning-tint: #fff3e0;--fh-info: #1f5fbf;--fh-info-tint: #e8f0fd;--fh-radius: 12px;--fh-radius-sm: 8px;--fh-shadow: 0 8px 28px rgba(31, 38, 45, .14);--fh-page-width: 1280px;color-scheme:light}html{--mat-sys-background: #f7fbef;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #eef2e7;--mat-sys-inverse-primary: #8fd977;--mat-sys-inverse-surface: #2d322a;--mat-sys-on-background: #181d16;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #0d5300;--mat-sys-on-primary-fixed: #022100;--mat-sys-on-primary-fixed-variant: #0d5300;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #334d2a;--mat-sys-on-secondary-fixed: #082103;--mat-sys-on-secondary-fixed-variant: #334d2a;--mat-sys-on-surface: #181d16;--mat-sys-on-surface-variant: #41493c;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #4b4900;--mat-sys-on-tertiary-fixed: #1e1d00;--mat-sys-on-tertiary-fixed-variant: #4b4900;--mat-sys-outline: #717a6b;--mat-sys-outline-variant: #c0c9b8;--mat-sys-primary: #286c18;--mat-sys-primary-container: #aaf690;--mat-sys-primary-fixed: #aaf690;--mat-sys-primary-fixed-dim: #8fd977;--mat-sys-scrim: #000000;--mat-sys-secondary: #4a663f;--mat-sys-secondary-container: #cbecbb;--mat-sys-secondary-fixed: #cbecbb;--mat-sys-secondary-fixed-dim: #b0d0a1;--mat-sys-shadow: #000000;--mat-sys-surface: #f7fbef;--mat-sys-surface-bright: #f7fbef;--mat-sys-surface-container: #ebefe4;--mat-sys-surface-container-high: #e6eade;--mat-sys-surface-container-highest: #e0e4d9;--mat-sys-surface-container-low: #f1f5ea;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #d8dbd0;--mat-sys-surface-tint: #286c18;--mat-sys-surface-variant: #dce5d3;--mat-sys-tertiary: #646100;--mat-sys-tertiary-container: #eee845;--mat-sys-tertiary-fixed: #eee845;--mat-sys-tertiary-fixed-dim: #d1cc28;--mat-sys-neutral-variant20: #2b3326;--mat-sys-neutral10: #181d16;--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 Rubik;--mat-sys-body-large-font: Rubik;--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 Rubik;--mat-sys-body-medium-font: Rubik;--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 Rubik;--mat-sys-body-small-font: Rubik;--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 Rubik;--mat-sys-display-large-font: Rubik;--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 Rubik;--mat-sys-display-medium-font: Rubik;--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 Rubik;--mat-sys-display-small-font: Rubik;--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 Rubik;--mat-sys-headline-large-font: Rubik;--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 Rubik;--mat-sys-headline-medium-font: Rubik;--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 Rubik;--mat-sys-headline-small-font: Rubik;--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 Rubik;--mat-sys-label-large-font: Rubik;--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 Rubik;--mat-sys-label-medium-font: Rubik;--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 Rubik;--mat-sys-label-small-font: Rubik;--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 Rubik;--mat-sys-title-large-font: Rubik;--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 Rubik;--mat-sys-title-medium-font: Rubik;--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 Rubik;--mat-sys-title-small-font: Rubik;--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-surface: #ffffff;--mat-sys-on-surface: #1f262d;--mat-sys-surface-container: #ffffff;--mat-sys-surface-container-high: #ffffff;--mat-sys-surface-container-highest: #f3f4f5;--mat-sys-outline: #cfd4d9;--mat-sys-outline-variant: #e4e7ea;--mat-form-field-container-height: 48px;--mat-form-field-filled-label-display: none;--mat-form-field-container-vertical-padding: 12px;--mat-form-field-filled-with-label-container-padding-top: 12px;--mat-form-field-filled-with-label-container-padding-bottom: 12px}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--fh-font);font-size:15px;line-height:1.45;color:var(--fh-text);background:var(--fh-bg);-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:inherit}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}.material-symbols-outlined{font-size:20px;line-height:1;vertical-align:middle;-webkit-user-select:none;user-select:none}.page{max-width:var(--fh-page-width);margin:0 auto;padding:28px 32px 64px}@media(max-width:720px){.page{padding:20px 16px 48px}}.page--narrow{max-width:880px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 28px;flex-wrap:wrap}.page-title{font-size:28px;font-weight:600}.section-title{font-size:20px;font-weight:600;margin:0 0 16px}.muted{color:var(--fh-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border-radius:999px;border:0;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color .15s ease,opacity .15s ease}.btn:disabled{opacity:.45;cursor:default}.btn--primary{background:var(--fh-brand);color:#fff}.btn--primary:hover:not(:disabled){background:var(--fh-brand-dark)}.btn--dark{background:var(--fh-dark);color:#fff}.btn--dark:hover:not(:disabled){background:#161c22}.btn--secondary{background:var(--fh-surface-2);color:var(--fh-text)}.btn--secondary:hover:not(:disabled){background:var(--fh-surface-3)}.btn--ghost{background:transparent;color:var(--fh-text)}.btn--ghost:hover:not(:disabled){background:var(--fh-surface-2)}.btn--danger{background:var(--fh-danger-tint);color:var(--fh-danger)}.btn--danger:hover:not(:disabled){background:#f9d9d9}.btn--sm{height:32px;padding:0 14px;font-size:13px}.btn--block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:0;background:transparent;color:var(--fh-text);cursor:pointer}.icon-btn:hover,.icon-btn--filled{background:var(--fh-surface-2)}.icon-btn--filled:hover{background:var(--fh-surface-3)}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}.toolbar__spacer{flex:1}.chip{display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 14px;border-radius:999px;border:0;background:var(--fh-surface-2);color:var(--fh-text);font-size:14px;font-weight:500;cursor:pointer}.chip:hover{background:var(--fh-surface-3)}.chip--active{background:var(--fh-dark);color:#fff}.chip--active:hover{background:var(--fh-dark)}.chip .material-symbols-outlined{font-size:18px}.search{position:relative;display:flex;align-items:center;min-width:260px}.search .material-symbols-outlined{position:absolute;left:14px;color:var(--fh-text);pointer-events:none}.search input{width:100%;height:44px;padding:0 16px 0 44px;border-radius:var(--fh-radius-sm);border:1px solid var(--fh-border-strong);background:var(--fh-surface-2);font:inherit;color:var(--fh-text);outline:none}.search input:focus{border-color:var(--fh-dark);background:#fff}.search input::placeholder{color:var(--fh-muted)}@media(max-width:720px){.search{min-width:0;width:100%}}.table-card{border:1px solid var(--fh-border);border-radius:var(--fh-radius-sm);overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-weight:500;padding:14px 20px;background:var(--fh-surface-3);white-space:nowrap}.table td{padding:16px 20px;border-top:1px solid var(--fh-border);vertical-align:middle}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover{background:#fafbfa}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .actions{width:56px;text-align:right}.person{display:flex;align-items:center;gap:12px;min-width:0}.person__name{font-weight:500}.person__sub{font-size:13px;color:var(--fh-muted)}.avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--fh-brand-tint);color:var(--fh-brand-dark);font-weight:600;font-size:14px;text-transform:uppercase}.avatar--lg{width:80px;height:80px;font-size:28px}.car-thumb{flex:none;display:inline-flex;align-items:center;justify-content:center;width:56px;height:40px;border-radius:var(--fh-radius-sm);background:var(--fh-surface-2);color:var(--fh-muted)}.car-thumb .material-symbols-outlined{font-size:26px}.car-thumb--lg{width:160px;height:110px;border-radius:var(--fh-radius)}.car-thumb--lg .material-symbols-outlined{font-size:64px}.pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:6px;font-size:13px;font-weight:500;white-space:nowrap}.pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.pill--success{background:var(--fh-brand-tint);color:var(--fh-brand-dark)}.pill--warning{background:var(--fh-yellow-tint);color:var(--fh-yellow-text)}.pill--danger{background:var(--fh-danger-tint);color:var(--fh-danger)}.pill--info{background:var(--fh-info-tint);color:var(--fh-info)}.pill--neutral{background:var(--fh-surface-2);color:var(--fh-text-2)}.pill--plain{background:transparent;padding:0}.count-badge{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border-radius:999px;font-size:13px;font-weight:500;background:var(--fh-danger-tint);color:var(--fh-danger)}.count-badge--ok{background:var(--fh-brand-tint);color:var(--fh-brand-dark)}.count-badge--warn{background:var(--fh-warning-tint);color:var(--fh-warning)}.count-badge .material-symbols-outlined{font-size:17px}.mat-mdc-menu-panel.fh-wide-menu{max-width:none}.tabs{display:flex;box-shadow:inset 0 -4px 0 var(--fh-surface-3);margin-bottom:24px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tabs a,.tabs button{flex:1;min-width:140px;padding:14px 16px;border:0;border-bottom:4px solid transparent;background:none;text-align:center;text-decoration:none;font-size:14px;font-weight:500;color:var(--fh-text);cursor:pointer;white-space:nowrap}.tabs a.active,.tabs button.active{border-bottom-color:var(--fh-brand)}.tabs--compact{box-shadow:inset 0 -1px 0 var(--fh-border)}.tabs--compact a,.tabs--compact button{flex:none;min-width:0;padding:10px 14px;border-bottom-width:3px}.row-list{list-style:none;margin:0;padding:0}.row-item{display:flex;align-items:center;gap:16px;padding:16px;border-bottom:1px solid var(--fh-border);cursor:pointer;border-radius:var(--fh-radius-sm)}.row-item:hover{background:#fafbfa}.row-item__body{flex:1;min-width:0}.row-item__title{font-weight:500}.row-item__state{font-size:13px;margin-top:2px}.row-item--done .row-item__title{color:var(--fh-text-2)}.state-text{display:inline-flex;align-items:center;gap:4px}.state-text .material-symbols-outlined{font-size:16px}.state-text--success{color:var(--fh-brand)}.state-text--danger{color:var(--fh-danger)}.state-text--warning{color:var(--fh-warning)}.state-text--muted{color:var(--fh-muted)}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;flex-wrap:wrap}.empty{padding:48px 16px;text-align:center}.empty__title{font-size:22px;font-weight:600}.empty__text{color:var(--fh-muted);margin-top:6px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media(max-width:1000px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.stat-grid{grid-template-columns:1fr}}.stat-card{border:2px solid var(--fh-border);border-radius:var(--fh-radius);padding:18px}.stat-card__head{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:500;margin-bottom:14px}.stat-card__value{font-size:18px;font-variant-numeric:tabular-nums}.stat-card__label{font-size:13px;color:var(--fh-muted)}.stat-card__divider{height:1px;background:var(--fh-border);margin:14px 0}.notice{display:flex;align-items:flex-start;gap:10px;padding:14px 18px;border-radius:var(--fh-radius);background:var(--fh-brand-tint);color:var(--fh-text);font-size:14px;margin-bottom:20px}.notice--info{background:var(--fh-info-tint)}.loading-bar{height:3px;background:linear-gradient(90deg,var(--fh-lime),var(--fh-brand),var(--fh-yellow));background-size:200% 100%;animation:fh-loading 1.1s linear infinite;border-radius:3px}@keyframes fh-loading{0%{background-position:200% 0}to{background-position:0 0}}.popover-panel{background:#fff;border-radius:var(--fh-radius-sm);box-shadow:var(--fh-shadow);border:1px solid var(--fh-border)}.fh-dialog .mat-mdc-dialog-surface{border-radius:16px}.mat-mdc-snack-bar-container.fh-snack-error .mdc-snackbar__surface{background:var(--fh-danger)}.mat-mdc-form-field{width:100%}
