@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{--form-field-radius: 10px;--form-field-bg: #f8fafc;--form-field-bg-hover: #f1f5f9;--form-field-bg-focus: #ffffff;--form-field-border: #c5ced9;--form-field-border-hover: #94a3b8;--form-field-border-focus: var(--color-primary);--form-field-label: #64748b;--form-field-text: #0f172a;--form-field-height: 48px;--form-control-gap: 12px;--btn-radius: 10px}html{--mat-sys-primary: #1e88e5;--mat-sys-on-primary: #ffffff;--mat-sys-primary-container: #d6ebff;--mat-sys-on-primary-container: #0d2137;--mat-sys-outline: #94a3b8;--mat-sys-outline-variant: #c5ced9;--mat-sys-corner-extra-small: var(--form-field-radius)}.form{display:flex;flex-direction:column;gap:var(--form-control-gap)}.form-grid{display:grid;gap:var(--form-control-gap) 14px;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.form-grid{grid-template-columns:1fr}}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px}.mat-mdc-form-field{--mat-form-field-outlined-container-shape: var(--form-field-radius);--mat-form-field-outlined-outline-width: 1px;--mat-form-field-outlined-focus-outline-width: 2px;--mat-form-field-outlined-outline-color: var(--form-field-border);--mat-form-field-outlined-hover-outline-color: var(--form-field-border-hover);--mat-form-field-outlined-focus-outline-color: var(--form-field-border-focus);--mat-form-field-outlined-label-text-color: var(--form-field-label);--mat-form-field-outlined-hover-label-text-color: #475569;--mat-form-field-outlined-focus-label-text-color: var(--color-primary);--mat-form-field-outlined-input-text-color: var(--form-field-text);--mat-form-field-outlined-input-text-placeholder-color: #94a3b8;--mat-form-field-outlined-caret-color: var(--color-primary);--mat-form-field-container-height: var(--form-field-height);--mat-form-field-container-vertical-padding: 12px;--mat-form-field-container-text-size: .9375rem;--mat-form-field-container-text-weight: 500;--mat-form-field-subscript-text-size: .75rem;--mat-form-field-leading-icon-color: #64748b;--mat-form-field-trailing-icon-color: #64748b;--mat-form-field-focus-select-arrow-color: var(--color-primary);--mat-form-field-enabled-select-arrow-color: #64748b;width:100%;font-family:inherit}.mat-mdc-form-field .mdc-text-field--outlined{background:var(--form-field-bg);border-radius:var(--form-field-radius);transition:background-color .16s ease,box-shadow .16s ease}.mat-mdc-form-field:hover .mdc-text-field--outlined:not(.mdc-text-field--disabled){background:var(--form-field-bg-hover)}.mat-mdc-form-field.mat-focused .mdc-text-field--outlined{background:var(--form-field-bg-focus);box-shadow:0 0 0 3px #1e88e524}.mat-mdc-form-field.mat-form-field-invalid.mat-focused .mdc-text-field--outlined{box-shadow:0 0 0 3px #e5393524}.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch,.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-color:inherit}.mat-mdc-form-field .mat-mdc-form-field-focus-overlay{border-radius:var(--form-field-radius)}.mat-mdc-form-field .mat-mdc-form-field-infix{min-height:var(--form-field-height);padding-top:14px;padding-bottom:14px}.mat-mdc-form-field .mdc-floating-label{font-weight:500;letter-spacing:.01em}.mat-mdc-form-field .mat-mdc-input-element,.mat-mdc-form-field textarea.mat-mdc-input-element{color:var(--form-field-text)}.mat-mdc-form-field .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field .mat-mdc-form-field-error-wrapper{padding:0 4px}.mat-mdc-form-field .mat-mdc-form-field-error{font-weight:500}.mat-mdc-form-field input[type=date],.mat-mdc-form-field input[type=time],.mat-mdc-form-field input[type=datetime-local],.mat-mdc-form-field input[type=number]{font-variant-numeric:tabular-nums;letter-spacing:.01em}.mat-mdc-form-field input[type=date]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer;transition:opacity .12s ease}.mat-mdc-form-field input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:.9}.mat-mdc-select-panel{border-radius:12px!important;padding:6px!important;box-shadow:0 10px 28px #0f172a1f,0 2px 8px #0f172a0f!important;border:1px solid #e2e8f0}.mat-mdc-option{border-radius:8px;min-height:40px;margin:2px 0;font-size:.9rem}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background:#1e88e51a}.mat-mdc-option:hover:not(.mdc-list-item--disabled),.mat-mdc-option:focus:not(.mdc-list-item--disabled),.mat-mdc-option.mat-mdc-option-active:not(.mdc-list-item--disabled){background:#0f172a0d}.mat-mdc-checkbox{--mdc-checkbox-selected-icon-color: var(--color-primary);--mdc-checkbox-selected-focus-icon-color: var(--color-primary);--mdc-checkbox-selected-hover-icon-color: var(--color-primary);--mdc-checkbox-selected-pressed-icon-color: var(--color-primary);--mdc-checkbox-selected-focus-state-layer-color: var(--color-primary);--mdc-checkbox-selected-hover-state-layer-color: var(--color-primary);--mat-checkbox-label-text-color: var(--form-field-text)}.mat-mdc-radio-button{--mat-radio-checked-ripple-color: var(--color-primary);--mdc-radio-selected-icon-color: var(--color-primary);--mdc-radio-selected-hover-icon-color: var(--color-primary);--mdc-radio-selected-focus-icon-color: var(--color-primary);--mdc-radio-selected-pressed-icon-color: var(--color-primary)}.mat-mdc-slide-toggle{--mdc-switch-selected-track-color: #90caf9;--mdc-switch-selected-handle-color: var(--color-primary);--mdc-switch-selected-hover-handle-color: #1565c0;--mdc-switch-selected-focus-handle-color: #1565c0;--mdc-switch-selected-pressed-handle-color: #1565c0}.mat-mdc-raised-button,.mat-mdc-unelevated-button,.mat-mdc-filled-button,.mat-mdc-outlined-button,.mat-mdc-button{--mdc-protected-button-container-shape: var(--btn-radius);--mdc-filled-button-container-shape: var(--btn-radius);--mdc-outlined-button-container-shape: var(--btn-radius);--mdc-text-button-container-shape: var(--btn-radius);--mat-text-button-container-shape: var(--btn-radius);letter-spacing:.01em;font-weight:600}.mat-mdc-raised-button.mat-primary,.mat-mdc-unelevated-button.mat-primary,.mat-mdc-filled-button.mat-primary{--mdc-protected-button-container-color: var(--color-primary);--mdc-filled-button-container-color: var(--color-primary);box-shadow:0 1px 2px #0f172a14,0 2px 8px #1e88e538}.mat-mdc-raised-button.mat-primary:hover,.mat-mdc-unelevated-button.mat-primary:hover,.mat-mdc-filled-button.mat-primary:hover{box-shadow:0 2px 4px #0f172a1a,0 4px 12px #1e88e547}.mat-mdc-outlined-button{--mdc-outlined-button-outline-color: #cbd5e1;border-color:#cbd5e1}.form .mat-mdc-raised-button,.form .mat-mdc-unelevated-button,.form .mat-mdc-filled-button,.form-actions .mat-mdc-raised-button,.form-actions .mat-mdc-unelevated-button,.form-actions .mat-mdc-filled-button,.auth__submit.mat-mdc-raised-button{min-height:44px;padding-inline:20px}input[type=file]{display:block;width:100%;padding:12px 14px;border:1px dashed #94a3b8;border-radius:var(--form-field-radius);background:var(--form-field-bg);color:var(--form-field-text);font:inherit;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}input[type=file]:hover{border-color:var(--color-primary);background:#eff6ff}input[type=file]:focus-visible{outline:none;box-shadow:0 0 0 3px #1e88e52e;border-color:var(--color-primary)}.filters .mat-mdc-form-field,.filter-bar .mat-mdc-form-field,.toolbar-filters .mat-mdc-form-field{--form-field-height: 44px;--mat-form-field-container-height: 44px;--mat-form-field-container-vertical-padding: 10px}:root{--color-nav: #0d2137;--color-primary: #1e88e5;--color-success: #43a047;--color-warning: #fb8c00;--color-danger: #e53935;--color-bg: #f4f6f8;--color-card: #ffffff;--color-text: #1f2933;--color-muted: #6b7280;--shadow-card: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--radius: 10px;--app-header-h: 48px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}html,body{height:100%;margin:0;font-family:Roboto,Helvetica Neue,sans-serif;background:var(--color-bg);color:var(--color-text);-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}.page{padding:24px;padding-left:max(24px,var(--safe-left));padding-right:max(24px,var(--safe-right));padding-bottom:max(24px,var(--safe-bottom))}.page__title{font-size:1.5rem;font-weight:500;margin:0 0 16px}.card{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px}.grid{display:grid;gap:16px}@media(min-width:900px){.grid--kpis{grid-template-columns:repeat(4,1fr)}}.text-muted{color:var(--color-muted)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.full-width{width:100%}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:500}.badge--ok{background:#e6f4ea;color:var(--color-success)}.badge--warn{background:#fff4e5;color:var(--color-warning)}.badge--danger{background:#fdecea;color:var(--color-danger)}.badge--muted{background:#eceff1;color:var(--color-muted)}.project-form-dialog-panel .mat-mdc-dialog-container{--mdc-dialog-container-shape: 16px}.project-form-dialog-panel .mat-mdc-dialog-container .mdc-dialog__surface{border-radius:16px;overflow:hidden;padding:0}@media(max-width:700px){.page{padding:12px;padding-left:max(12px,var(--safe-left));padding-right:max(12px,var(--safe-right));padding-bottom:max(16px,var(--safe-bottom))}.page__title{font-size:1.25rem;margin-bottom:12px}.card,.table-card{padding:14px;border-radius:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.mat-mdc-table,table.mat-mdc-table,table.full-width{min-width:560px}.mat-mdc-form-field{width:100%}.actions{flex-wrap:wrap;gap:8px}.form{max-width:none!important}}
