@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{--ink: #1a3550;--ink-soft: #1e4060;--navy-950: #122f4e;--navy-900: #1a3a5c;--navy-800: #234a6e;--navy-700: #2d5a7a;--navy-600: #3a6b8a;--app-bg: #eef2f6;--app-surface: rgba(255, 255, 255, .94);--app-surface-strong: #ffffff;--app-line: rgba(26, 58, 92, .1);--app-text: #1a3550;--app-muted: #64748b;--app-primary: #1a3a5c;--app-primary-bright: #f5c400;--app-primary-dark: #122f4e;--app-accent: #f5c400;--app-accent-soft: #ffe14a;--app-success: #0f766e;--app-warn: #c2410c;--app-radius: 16px;--app-radius-sm: 12px;--font-display: "Outfit", "Segoe UI", sans-serif;--font-body: "Plus Jakarta Sans", "Segoe UI", sans-serif;--hero-gradient: linear-gradient(135deg, #1a3a5c 0%, #234a6e 48%, #2d5a7a 100%);--shadow-soft: 0 1px 2px rgba(26, 58, 92, .04), 0 10px 28px rgba(26, 58, 92, .06);--shadow-lift: 0 8px 24px rgba(26, 58, 92, .1);--mat-sys-on-surface: var(--app-text);--brand-yellow: #f5c400;--brand-yellow-bright: #ffe14a;--brand-ink: #1a3550}*{box-sizing:border-box}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.mat-icon,.material-icons{font-family:Material Icons,sans-serif!important;font-weight:400;font-style:normal;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;overflow:visible}html,body{margin:0;min-height:100%;font-family:var(--font-body);background:var(--app-bg);color:var(--app-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;background:radial-gradient(1000px 420px at 6% -6%,rgba(245,196,0,.1),transparent 52%),radial-gradient(900px 400px at 100% 0%,rgba(45,90,122,.08),transparent 50%),linear-gradient(180deg,#f4f7fa,#e8eef4);background-attachment:fixed}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:linear-gradient(rgba(26,58,92,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(26,58,92,.035) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at center,black 18%,transparent 72%);mask-image:radial-gradient(ellipse at center,black 18%,transparent 72%);z-index:0}app-root,.shell-layout,.login-page{position:relative;z-index:1}.page-shell{display:grid;gap:1.35rem;animation:pageEnter .45s ease both}@keyframes pageEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes heroShine{0%{transform:translate(-120%) skew(-12deg)}to{transform:translate(220%) skew(-12deg)}}@keyframes floatSoft{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.kpi-grid>.kpi-card{animation:pageEnter .5s ease both}.kpi-grid>.kpi-card:nth-child(1){animation-delay:.04s}.kpi-grid>.kpi-card:nth-child(2){animation-delay:.08s}.kpi-grid>.kpi-card:nth-child(3){animation-delay:.12s}.kpi-grid>.kpi-card:nth-child(4){animation-delay:.16s}.kpi-grid>.kpi-card:nth-child(5){animation-delay:.2s}.kpi-grid>.kpi-card:nth-child(6){animation-delay:.24s}@media(prefers-reduced-motion:reduce){.page-shell,.kpi-grid>.kpi-card,.page-hero:after{animation:none!important}}.page-shell>*,.page-hero>*,.content-grid>*{min-width:0}.page-hero,.page-hero.dashboard-hero,header.page-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.55rem 1.75rem;border-radius:calc(var(--app-radius) + 2px);background:var(--hero-gradient)!important;color:#f8fbff!important;box-shadow:0 12px 32px #1a3a5c29!important;border:1px solid rgba(255,255,255,.1)}.page-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(560px 220px at 90% 12%,rgba(255,210,120,.22),transparent 58%),radial-gradient(420px 200px at 6% 110%,rgba(94,184,180,.14),transparent 55%);pointer-events:none}.page-hero:after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(105deg,transparent 0,transparent 20px,rgba(255,255,255,.03) 20px,rgba(255,255,255,.03) 21px);opacity:.55;animation:routeSweep 12s linear infinite;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,black 28%,black 72%,transparent);mask-image:linear-gradient(90deg,transparent,black 28%,black 72%,transparent)}@keyframes routeSweep{0%{transform:translate(-8%)}to{transform:translate(8%)}}.page-hero>*{position:relative;z-index:1}.page-hero h1,.page-hero h2,.page-hero h3,.directory-toolbar h2,.kpi-value,.stat-value,.toolbar-copy strong,.brand-info strong{font-family:var(--font-display)}.page-hero h1{margin:0;font-size:clamp(1.55rem,2.4vw,2.05rem);font-weight:750;letter-spacing:-.02em;line-height:1.15}.page-hero p{margin:.4rem 0 0;color:#f8fbffc7!important;max-width:42rem;font-size:.95rem;line-height:1.45}.content-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:1.25rem}.content-grid.content-grid--directory{grid-template-columns:minmax(0,1.02fr) minmax(480px,.98fr);align-items:start}.content-grid.content-grid--table-heavy{grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);align-items:start}.content-grid.content-grid--ledger{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);align-items:start}.card-surface{border-radius:var(--app-radius)!important;background:var(--app-surface-strong)!important;border:1px solid var(--app-line)!important;box-shadow:var(--shadow-soft)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .25s ease,box-shadow .25s ease}.card-surface:hover{box-shadow:var(--shadow-lift)!important}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .85rem;align-items:start}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center;margin-top:.25rem}.table-card{overflow:hidden}.table-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.15rem .35rem}.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%;max-height:min(62vh,560px)}.table-wrap table{width:max-content;min-width:100%;background:transparent;border-collapse:separate;border-spacing:0}.table-wrap .mat-mdc-header-row{height:40px}.table-wrap .mat-mdc-header-cell{position:sticky;top:0;z-index:2;white-space:nowrap;word-break:normal;color:var(--app-muted)!important;font-size:.68rem!important;font-weight:750!important;letter-spacing:.08em;text-transform:uppercase;background:#f3f6f9!important;border-bottom:1px solid rgba(26,58,92,.1)!important;padding-top:.45rem!important;padding-bottom:.45rem!important;box-shadow:0 1px #1a3a5c0f}.table-wrap .mat-mdc-row{height:44px;transition:background .15s ease}.table-wrap .mat-mdc-cell{vertical-align:middle;word-break:normal;overflow-wrap:anywhere;font-size:.875rem;padding-top:.4rem!important;padding-bottom:.4rem!important;border-bottom-color:#1a3a5c0f!important}.table-wrap .mat-column-actions{width:1%;text-align:center;white-space:nowrap}.table-wrap .mat-mdc-row:hover{background:#2d5a7a0d}@media(max-width:900px){.table-wrap{-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 24px),transparent 100%)}}.pill-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .58rem;border-radius:8px;font-size:.7rem;font-weight:750;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border:1px solid transparent;line-height:1.2}.pill-chip.pending{background:#f5c40029;color:#9a6b00;border-color:#f5c40059}.pill-chip.unpaid{background:#c2410c1a;color:#c2410c;border-color:#c2410c38}.pill-chip.running,.pill-chip.ontrip{background:#2d5a7a1f;color:#1a3a5c;border-color:#2d5a7a38}.pill-chip.completed,.pill-chip.available,.pill-chip.paid{background:#0f766e1f;color:#0f766e;border-color:#0f766e38}.pill-chip.partial,.pill-chip.maintenance,.pill-chip.unavailable{background:#d977061f;color:#b45309;border-color:#d9770638}.pill-chip.cancelled{background:#64748b1f;color:#475569;border-color:#64748b33}.muted-text{color:var(--app-muted);font-size:.88rem;margin:0}.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.stat-card{padding:1rem 1.15rem;border-radius:22px;background:#ffffffdb;border:1px solid var(--app-line)}.stat-label{margin:0;font-size:.85rem;color:var(--app-muted)}.stat-value{margin:.5rem 0 0;font-size:1.55rem;font-weight:800;font-family:var(--font-display)}.mat-mdc-form-field{width:100%}.mat-mdc-form-field .mat-mdc-text-field-wrapper{margin-bottom:0!important}.mat-mdc-form-field-subscript-wrapper{margin-top:.15rem!important;height:auto!important;min-height:1.1em}.form-grid .mat-mdc-form-field{--mat-form-field-container-height: 48px;--mat-form-field-container-vertical-padding: 10px}.mat-mdc-card-header{padding-bottom:.5rem}.mat-mdc-paginator-container{gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.mat-mdc-outlined-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-flat-button{border-radius:12px!important;font-family:var(--font-body)!important;font-weight:650!important;letter-spacing:.01em}.mat-mdc-unelevated-button.mat-primary,.mat-mdc-raised-button.mat-primary,button.mat-mdc-unelevated-button[mat-flat-button]:not(.logout-btn):not(.hero-btn){box-shadow:0 4px 14px #f5c40038;background:linear-gradient(135deg,#f5c400,#e8b400)!important;color:#1a3550!important}.mat-mdc-form-field.mat-focused .mdc-notched-outline__leading,.mat-mdc-form-field.mat-focused .mdc-notched-outline__notch,.mat-mdc-form-field.mat-focused .mdc-notched-outline__trailing{border-color:#2d5a7a!important}.mat-mdc-form-field.mat-focused .mdc-floating-label,.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay{color:#2d5a7a!important}.mat-mdc-checkbox.mat-accent,.mat-mdc-checkbox.mat-primary{--mdc-checkbox-selected-checkmark-color: #ffffff;--mdc-checkbox-selected-focus-icon-color: #1a3a5c;--mdc-checkbox-selected-hover-icon-color: #1a3a5c;--mdc-checkbox-selected-icon-color: #1a3a5c;--mdc-checkbox-selected-pressed-icon-color: #1a3a5c}.mat-mdc-progress-bar{--mdc-linear-progress-active-indicator-color: #f5c400;--mdc-linear-progress-track-color: rgba(45, 90, 122, .12)}.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label,.mat-mdc-tab.mdc-tab--active .mat-icon{color:#1a3a5c!important}.mat-mdc-tab-header .mdc-tab-indicator__content--underline{border-color:#f5c400!important}.mat-mdc-slide-toggle.mat-accent,.mat-mdc-slide-toggle.mat-primary{--mdc-switch-selected-track-color: #2d5a7a;--mdc-switch-selected-handle-color: #f5c400;--mdc-switch-selected-hover-track-color: #1a3a5c;--mdc-switch-selected-focus-track-color: #1a3a5c;--mdc-switch-selected-pressed-track-color: #1a3a5c}.mat-mdc-paginator .mat-mdc-paginator-icon{fill:#2d5a7a}@media(max-width:1100px){.content-grid,.stat-grid{grid-template-columns:1fr}}@media(max-width:1400px){.content-grid.content-grid--directory{grid-template-columns:minmax(0,1fr) minmax(430px,.92fr)}.content-grid.content-grid--table-heavy{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr)}.content-grid.content-grid--ledger{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)}}@media(max-width:760px){.page-hero{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr;gap:.55rem}.directory-toolbar{padding:1.1rem 1rem .75rem}.table-toolbar{padding:.9rem 1rem .25rem;flex-direction:column;align-items:stretch}.shell-main .page-shell{gap:1rem}}@media(max-width:600px){.page-hero{padding:1.15rem 1.1rem!important;border-radius:14px!important}.page-hero h1{font-size:1.35rem!important}.kpi-grid{grid-template-columns:1fr 1fr;gap:.75rem}.kpi-card{padding:1rem!important}.kpi-value{font-size:1.35rem!important}.mat-mdc-paginator-container{justify-content:center}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.15rem;margin-bottom:1.75rem}.kpi-card{display:flex;justify-content:space-between;align-items:center;padding:1.3rem 1.4rem;background:#fff;border-radius:var(--app-radius);border:1px solid var(--app-line);box-shadow:var(--shadow-soft);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#f5c400,#2d5a7a);opacity:0;transition:opacity .2s ease}.kpi-card:after{content:"";position:absolute;right:-18%;top:-36%;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(45,90,122,.07),transparent 70%);pointer-events:none}.kpi-card.clickable{cursor:pointer}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:#2d5a7a29}.kpi-card:hover:before{opacity:1}.highlight-card{background:linear-gradient(145deg,#fff,#fffbeb);border:1px solid rgba(245,196,0,.28)}.kpi-content{display:flex;flex-direction:column;position:relative;z-index:1}.kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:750;color:var(--app-muted);margin:0 0 .4rem}.kpi-value{font-size:1.75rem;font-weight:800;color:var(--ink-soft);margin:0;font-family:var(--font-display);line-height:1.1;letter-spacing:-.02em}.kpi-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;color:#fff;box-shadow:0 4px 12px #1a3a5c1f;flex-shrink:0;position:relative;z-index:1}.kpi-icon mat-icon{font-size:24px;width:24px;height:24px}.blue-grad{background:linear-gradient(135deg,#3a6b8a,#1a3a5c)}.indigo-grad{background:linear-gradient(135deg,#3d8a82,#1f5c66)}.green-grad{background:linear-gradient(135deg,#2f9e8f,#0f766e)}.amber-grad{background:linear-gradient(135deg,#f5c400,#d4a000);color:#1a3550!important}.emerald-grad{background:linear-gradient(135deg,#4aa89a,#1f6b72)}.rose-grad{background:linear-gradient(135deg,#e08a4a,#c2410c)}.section-tag{margin:0 0 .25rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--navy-700)}.text-warn{color:#dc2626}.directory-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem 1.5rem 1rem;flex-wrap:wrap}.directory-toolbar h2{margin:0 0 .25rem;font-family:var(--font-display);letter-spacing:-.02em}.toolbar-actions{display:flex;gap:.75rem;flex-wrap:wrap}.row-actions{display:flex;gap:.25rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:2.75rem 1.5rem;color:var(--app-muted);text-align:center;min-height:180px}.empty-state mat-icon{font-size:42px;width:42px;height:42px;margin-bottom:.5rem;color:#2d5a7a;opacity:.55}.empty-state p,.empty-state .empty-title{margin:0;max-width:28ch;color:#1a3550;font-weight:650;font-size:.95rem}.empty-state .empty-hint,.empty-state .muted-text{max-width:36ch;margin:.15rem 0 0;font-size:.84rem;font-weight:500;color:var(--app-muted)}.empty-state button,.empty-state .mat-mdc-button-base{margin-top:.85rem}.empty-state-full,.empty-state-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:2.75rem 1.5rem;text-align:center;min-height:200px}.empty-state-full button,.empty-state-panel button{margin-top:.85rem}.empty-hint{padding:1.25rem 1rem;text-align:center}.skeleton-block,.skeleton-line,.skeleton-card{position:relative;overflow:hidden;background:#e8eef4;border-radius:10px}.skeleton-block:after,.skeleton-line:after,.skeleton-card:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.55) 45%,transparent 100%);animation:skeletonShimmer 1.35s ease-in-out infinite}.skeleton-line{height:12px;margin:.45rem 0;border-radius:6px}.skeleton-line.lg{height:18px;width:55%}.skeleton-line.sm{width:35%}.skeleton-card{height:88px;border-radius:14px}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:1.25rem}.skeleton-table{display:grid;gap:.55rem;padding:1rem 1.15rem 1.25rem}@keyframes skeletonShimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skeleton-block:after,.skeleton-line:after,.skeleton-card:after{animation:none}}.quick-link-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important}.quick-link-card:hover{transform:translateY(-3px)}.page-hero h1{display:inline-flex;align-items:center;gap:.35rem}.kpi-label,.section-tag{align-items:center}.kpi-label app-info-tip,.section-tag app-info-tip,.page-hero h1 app-info-tip,.directory-toolbar h2 app-info-tip,.label-with-info app-info-tip{flex-shrink:0}.info-tip-panel{max-width:min(320px,86vw)!important;white-space:normal!important;font-size:.8rem!important;line-height:1.4!important;padding:.55rem .75rem!important;border-radius:10px!important;background:#1a3550!important}.mat-mdc-progress-bar{height:3px!important;border-radius:99px;overflow:hidden}
