html{--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #0001ac);--mat-sys-on-tertiary-container: light-dark(#0000ef, #e0e0ff);--mat-sys-on-tertiary-fixed: light-dark(#00006e, #00006e);--mat-sys-on-tertiary-fixed-variant: light-dark(#0000ef, #0000ef);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#343dff, #bec2ff);--mat-sys-tertiary-container: light-dark(#e0e0ff, #0000ef);--mat-sys-tertiary-fixed: light-dark(#e0e0ff, #e0e0ff);--mat-sys-tertiary-fixed-dim: light-dark(#bec2ff, #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}body{color-scheme:light;background-color:var(--mat-sys-surface);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);margin:0}.main.centered{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;width:100%;max-width:960px;margin:0 auto;padding:32px;background-color:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;border:1px solid #E2E8F0}@media (max-width: 768px){.main.centered{max-width:768px;padding:24px;max-width:90%;margin:16px auto}}@media (max-width: 480px){.main.centered{max-width:480px;padding:16px;box-shadow:none;border:none;background-color:transparent}}.form-header{text-align:center;margin-bottom:24px;width:100%}.form-header h2{color:#1e3a8a;font-size:28px;font-weight:700;margin-bottom:8px;line-height:1.2}@media (max-width: 768px){.form-header h2{font-size:24px}}.form-header p{color:#64748b;font-size:14px;font-weight:400;margin:0}form{width:100%;display:flex;flex-direction:column;gap:16px}.mat-mdc-form-field,.form-field{width:100%}.form-field ::ng-deep .mat-form-field-wrapper{padding-bottom:0}.form-field ::ng-deep .mat-form-field-flex{background-color:#fff;border:2px solid #E2E8F0;border-radius:4px;padding:0 12px;transition:border-color .2s ease,box-shadow .2s ease}.form-field ::ng-deep .mat-form-field-flex:hover{border-color:#3b82f6}.form-field ::ng-deep .mat-form-field-underline{display:none}.form-field ::ng-deep .mat-form-field-subscript-wrapper{display:none}.form-field ::ng-deep .mat-form-field-flex.mat-focused{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-field ::ng-deep .mat-form-field-flex.mat-form-field-invalid{border-color:#dc2626}.form-field ::ng-deep .mat-form-field-flex.mat-form-field-invalid.mat-focused{box-shadow:0 0 0 3px #dc26261a}.form-field ::ng-deep .mat-form-field-label{color:#64748b;font-weight:500}.form-field ::ng-deep .mat-form-field-label.mat-form-field-empty{color:#64748b}.form-field ::ng-deep .mat-focused .mat-form-field-label{color:#2563eb}.form-field ::ng-deep .mat-input-element{color:#0f172a;font-size:14px;padding:12px 0;height:auto;line-height:1.5}.form-field ::ng-deep .mat-input-element::placeholder{color:#64748b;opacity:.7}.form-field ::ng-deep .mat-icon-button{width:24px;height:24px;line-height:24px}.form-field ::ng-deep .mat-icon-button .mat-icon{font-size:20px;width:20px;height:20px;color:#64748b;transition:color .2s ease}.form-field ::ng-deep .mat-icon-button .mat-icon:hover{color:#2563eb}.form-field ::ng-deep .mat-hint,.form-field ::ng-deep .mat-error{font-size:12px;margin-top:4px}.form-field ::ng-deep .mat-error{color:#dc2626}.error{background-color:#fef2f2;color:#dc2626;padding:12px;border-radius:2px;border-left:4px solid #DC2626;font-size:14px;font-weight:500;margin:8px 0;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background-color:#2563eb;color:#fff;border:none;padding:12px 24px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px}.btn:hover:not(:disabled){background-color:#1d4ed8;color:#fff;box-shadow:0 1px 3px #0000001a}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{background-color:#e2e8f0;color:#64748b;cursor:not-allowed;opacity:.7}.btn mat-icon{font-size:20px;width:20px;height:20px}.btn span{font-size:14px}.btn.btn-secondary{background-color:transparent;color:#2563eb;border:2px solid #2563EB}.btn.btn-secondary:hover:not(:disabled){background-color:#dbeafe;color:#1d4ed8;border-color:#1d4ed8}.btn.btn-outline{background-color:transparent;color:#64748b;border:2px solid #E2E8F0}.btn.btn-outline:hover:not(:disabled){background-color:#f8fafc;border-color:#64748b;color:#0f172a}.btn-group{display:flex;gap:12px;width:100%}.btn-group .btn{flex:1}@media (max-width: 480px){.btn-group{flex-direction:column}}.form-links{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:12px;font-size:12px}.form-links a{color:#2563eb;text-decoration:none;font-weight:500;transition:color .2s ease}.form-links a:hover{color:#1d4ed8;text-decoration:underline}@media (max-width: 480px){.form-links{flex-direction:column;gap:8px;align-items:flex-start}}.custom-checkbox,.custom-radio{display:flex;align-items:center;gap:8px;margin:12px 0;cursor:pointer}.custom-checkbox input[type=checkbox],.custom-radio input[type=checkbox],.custom-checkbox input[type=radio],.custom-radio input[type=radio]{width:18px;height:18px;accent-color:#2563EB;cursor:pointer}.custom-checkbox label,.custom-radio label{color:#64748b;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-checkbox:hover label,.custom-radio:hover label{color:#0f172a}.custom-select{width:100%;position:relative}.custom-select select{width:100%;padding:12px;border:2px solid #E2E8F0;border-radius:4px;background-color:#fff;color:#0f172a;font-size:14px;font-family:Inter,Segoe UI,system-ui,sans-serif;cursor:pointer;appearance:none;transition:all .2s ease}.custom-select select:hover{border-color:#3b82f6}.custom-select select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.custom-select select:disabled{background-color:#f8fafc;color:#64748b;cursor:not-allowed}.custom-select:after{content:"\25bc";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none;font-size:12px}.custom-textarea{width:100%}.custom-textarea textarea{width:100%;padding:12px;border:2px solid #E2E8F0;border-radius:4px;background-color:#fff;color:#0f172a;font-size:14px;font-family:Inter,Segoe UI,system-ui,sans-serif;resize:vertical;min-height:120px;transition:all .2s ease}.custom-textarea textarea:hover{border-color:#3b82f6}.custom-textarea textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.custom-textarea textarea::placeholder{color:#64748b;opacity:.7}.field-group{display:flex;gap:12px;width:100%}.field-group .form-field{flex:1}@media (max-width: 768px){.field-group{flex-direction:column;gap:16px}}.validation-message{font-size:12px;margin-top:4px;display:flex;align-items:center;gap:4px}.validation-message.valid{color:#059669}.validation-message.invalid{color:#dc2626}.validation-message mat-icon{font-size:16px;width:16px;height:16px}.loading{position:relative;opacity:.7;pointer-events:none}.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;border:3px solid #E2E8F0;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}}.success-message{background-color:#f0fdf4;color:#059669;padding:12px;border-radius:2px;border-left:4px solid #059669;font-size:14px;font-weight:500;margin:16px 0;text-align:center;animation:fadeIn .3s ease}form .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:transparent}input:autofill{background:#fff}input{filter:none}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #E2E8F0}@media (max-width: 768px){.page-header{flex-direction:column;gap:12px}}.page-header .header-content .page-title{display:flex;align-items:center;gap:8px;color:#0f172a;font-size:24px;font-weight:600;margin-bottom:4px}.page-header .header-content .page-title .title-icon{font-size:24px;width:24px;height:24px;color:#2563eb}.page-header .header-content .page-subtitle{color:#64748b;font-size:14px;margin:0;font-weight:400}.page-header .header-actions .btn{padding:8px 16px;font-weight:500;font-size:14px;background-color:#2563eb;color:#fff;border:1px solid #2563EB}.page-header .header-actions .btn:hover{background-color:#1d4ed8;border-color:#1d4ed8}.page-header .header-actions .btn mat-icon{margin-right:8px;font-size:18px;width:18px;height:18px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}}.stats-grid .stat-card{background:#fff;border-radius:4px;padding:16px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 2px #0000000d;border:1px solid #E2E8F0;transition:transform .2s ease}.stats-grid .stat-card:hover{transform:translateY(-1px)}.stats-grid .stat-card .stat-icon{width:48px;height:48px;border-radius:4px;display:flex;align-items:center;justify-content:center;background-color:#f8fafc;border:1px solid #E2E8F0}.stats-grid .stat-card .stat-icon.admin{color:#1e3a8a}.stats-grid .stat-card .stat-icon.manager{color:#059669}.stats-grid .stat-card .stat-icon.user{color:#7c3aed}.stats-grid .stat-card .stat-icon.total{color:#64748b}.stats-grid .stat-card .stat-icon mat-icon{font-size:24px;width:24px;height:24px}.stats-grid .stat-card .stat-content .stat-value{font-size:24px;font-weight:600;color:#0f172a;margin-bottom:4px;line-height:1}.stats-grid .stat-card .stat-content .stat-label{color:#64748b;font-size:12px;font-weight:400;margin:0;text-transform:uppercase;letter-spacing:.5px}.filter-card{margin-bottom:24px;background:#fff;border-radius:4px;padding:16px;border:1px solid #E2E8F0;box-shadow:0 1px 2px #0000000d}.filter-card .filter-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #E2E8F0}.filter-card .filter-header .filter-icon{color:#64748b;font-size:20px;width:20px;height:20px}.filter-card .filter-header h3{color:#0f172a;font-size:16px;font-weight:600;margin:0;text-transform:uppercase;letter-spacing:.5px}.filter-card .filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:end}@media (max-width: 1024px){.filter-card .filter-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.filter-card .filter-grid{grid-template-columns:1fr}}.filter-card .filter-grid .form-field{position:relative}.filter-card .filter-grid .form-field .filter-input{width:100%;padding:8px 16px 8px 32px;border:1px solid #E2E8F0;border-radius:4px;font-size:14px;font-family:Inter,Segoe UI,system-ui,sans-serif;color:#0f172a;background-color:#fff;transition:all .2s ease}.filter-card .filter-grid .form-field .filter-input:hover{border-color:#3b82f6}.filter-card .filter-grid .form-field .filter-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.filter-card .filter-grid .form-field .filter-input::placeholder{color:#64748b;opacity:.7}.filter-card .filter-grid .form-field .input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#64748b;font-size:18px;width:18px;height:18px;pointer-events:none}.filter-card .filter-grid .roles-filter .filter-label{font-size:12px;color:#64748b;font-weight:500;margin-bottom:8px}.filter-card .filter-grid .roles-filter .roles-checkboxes{display:flex;gap:12px;flex-wrap:wrap}.filter-card .filter-grid .roles-filter .roles-checkboxes .custom-checkbox{display:flex;align-items:center;gap:4px;margin:0;cursor:pointer}.filter-card .filter-grid .roles-filter .roles-checkboxes .custom-checkbox .role-badge{padding:4px 12px;border-radius:2px;font-size:12px;font-weight:500;white-space:nowrap;border:1px solid #E2E8F0}.filter-card .filter-grid .roles-filter .roles-checkboxes .custom-checkbox .role-badge.admin{background-color:#fff;color:#1e3a8a}.filter-card .filter-grid .roles-filter .roles-checkboxes .custom-checkbox .role-badge.manager{background-color:#fff;color:#059669}.filter-card .filter-grid .roles-filter .roles-checkboxes .custom-checkbox .role-badge.user{background-color:#fff;color:#7c3aed}.filter-card .filter-grid .btn-small{padding:8px 12px;font-size:12px;height:auto;background-color:#fff;color:#64748b;border:1px solid #E2E8F0}.filter-card .filter-grid .btn-small:hover{background-color:#f8fafc;color:#0f172a;border-color:#64748b}.filter-card .filter-grid .btn-small mat-icon{font-size:16px;width:16px;height:16px;margin-right:4px}.table-card{margin-bottom:24px;background:#fff;border-radius:4px;padding:16px;border:1px solid #E2E8F0;box-shadow:0 1px 2px #0000000d}.table-card .table-container .table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #E2E8F0}.table-card .table-container .table-header .table-title{display:flex;align-items:center;gap:8px}.table-card .table-container .table-header .table-title .table-icon{color:#64748b;font-size:20px;width:20px;height:20px}.table-card .table-container .table-header .table-title h3{color:#0f172a;font-size:16px;font-weight:600;margin:0;text-transform:uppercase;letter-spacing:.5px}.table-card .table-container .table-header .table-title .table-subtitle{color:#64748b;font-size:12px;margin-left:12px;font-weight:400}.table-card .table-container .table-header .table-actions .btn-outline{background-color:#fff;color:#64748b;border:1px solid #E2E8F0;padding:4px 12px}.table-card .table-container .table-header .table-actions .btn-outline:hover{background-color:#f8fafc;border-color:#64748b;color:#0f172a}.table-card .table-container .table-header .table-actions .btn-outline mat-icon{font-size:16px;width:16px;height:16px;margin-right:4px}.table-card .table-container .responsive-table{overflow-x:auto;border-radius:4px;border:1px solid #E2E8F0}.table-card .table-container .responsive-table .data-table{width:100%;border-collapse:collapse;min-width:1000px}.table-card .table-container .responsive-table .data-table thead{background-color:#f8fafc}.table-card .table-container .responsive-table .data-table thead tr th{padding:12px 16px;text-align:left;font-weight:600;color:#0f172a;font-size:12px;border-bottom:2px solid #E2E8F0;text-transform:uppercase;letter-spacing:.5px}.table-card .table-container .responsive-table .data-table thead tr th.column-id{width:80px}.table-card .table-container .responsive-table .data-table thead tr th.column-name{width:250px}.table-card .table-container .responsive-table .data-table thead tr th.column-email{min-width:200px}.table-card .table-container .responsive-table .data-table thead tr th.column-roles{width:200px}.table-card .table-container .responsive-table .data-table thead tr th.column-status{width:100px}.table-card .table-container .responsive-table .data-table thead tr th.column-actions{width:150px}.table-card .table-container .responsive-table .data-table tbody tr{transition:background-color .2s ease}.table-card .table-container .responsive-table .data-table tbody tr:hover{background-color:#dbeafe33}.table-card .table-container .responsive-table .data-table tbody tr.row-even{background-color:#f8fafc}.table-card .table-container .responsive-table .data-table tbody tr.row-even:hover{background-color:#dbeafe4d}.table-card .table-container .responsive-table .data-table tbody tr td{padding:12px 16px;border-bottom:1px solid #E2E8F0;vertical-align:middle}.table-card .table-container .responsive-table .data-table tbody tr td .id-badge{background-color:#f8fafc;color:#64748b;padding:4px 12px;border-radius:2px;font-size:12px;font-weight:600;border:1px solid #E2E8F0}.table-card .table-container .responsive-table .data-table tbody tr td .user-info{display:flex;align-items:center;gap:12px}.table-card .table-container .responsive-table .data-table tbody tr td .user-info .user-avatar{width:36px;height:36px;border-radius:50%;background-color:#f8fafc;display:flex;align-items:center;justify-content:center;color:#64748b;border:1px solid #E2E8F0}.table-card .table-container .responsive-table .data-table tbody tr td .user-info .user-avatar mat-icon{font-size:20px;width:20px;height:20px}.table-card .table-container .responsive-table .data-table tbody tr td .user-info .user-details strong{display:block;color:#0f172a;font-weight:600;margin-bottom:4px;font-size:14px}.table-card .table-container .responsive-table .data-table tbody tr td .user-info .user-details .user-date{font-size:12px;color:#64748b;font-weight:400}.table-card .table-container .responsive-table .data-table tbody tr td .email-link{display:flex;align-items:center;gap:4px;color:#2563eb;text-decoration:none;font-weight:500}.table-card .table-container .responsive-table .data-table tbody tr td .email-link:hover{color:#1d4ed8;text-decoration:underline}.table-card .table-container .responsive-table .data-table tbody tr td .email-link mat-icon{font-size:16px;width:16px;height:16px;color:#64748b}.table-card .table-container .responsive-table .data-table tbody tr td .roles-container{display:flex;gap:4px;flex-wrap:wrap}.table-card .table-container .responsive-table .data-table tbody tr td .roles-container .role-badge{padding:4px 12px;border-radius:2px;font-size:12px;font-weight:500;white-space:nowrap;border:1px solid #E2E8F0}.table-card .table-container .responsive-table .data-table tbody tr td .roles-container .role-badge.admin{background-color:#fff;color:#1e3a8a}.table-card .table-container .responsive-table .data-table tbody tr td .roles-container .role-badge.manager{background-color:#fff;color:#059669}.table-card .table-container .responsive-table .data-table tbody tr td .roles-container .role-badge.user{background-color:#fff;color:#7c3aed}.table-card .table-container .responsive-table .data-table tbody tr td .status-badge{padding:4px 12px;border-radius:2px;font-size:12px;font-weight:500;border:1px solid #E2E8F0}.table-card .table-container .responsive-table .data-table tbody tr td .status-badge.active{background-color:#fff;color:#059669}.table-card .table-container .responsive-table .data-table tbody tr td .status-badge.inactive{background-color:#fff;color:#64748b}.table-card .table-container .responsive-table .data-table tbody tr td .action-buttons{display:flex;gap:4px;justify-content:flex-start}.table-card .table-container .responsive-table .data-table tbody tr td .action-buttons .btn-icon{width:32px;height:32px;min-width:32px;padding:0;border-radius:2px;background-color:#fff;border:1px solid #E2E8F0;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.table-card .table-container .responsive-table .data-table tbody tr td .action-buttons .btn-icon:hover{background-color:#f8fafc;border-color:#64748b;color:#0f172a}.table-card .table-container .responsive-table .data-table tbody tr td .action-buttons .btn-icon.btn-danger{color:#dc2626;border-color:#dc26264d}.table-card .table-container .responsive-table .data-table tbody tr td .action-buttons .btn-icon.btn-danger:hover{background-color:#fef2f2;border-color:#dc2626}.table-card .table-container .responsive-table .data-table tbody tr td .action-buttons .btn-icon mat-icon{font-size:16px;width:16px;height:16px;margin:0}.table-card .table-container .responsive-table .empty-state{padding:32px 24px;text-align:center;background-color:#fff}.table-card .table-container .responsive-table .empty-state .empty-icon{font-size:48px;width:48px;height:48px;color:#e2e8f0;margin-bottom:16px}.table-card .table-container .responsive-table .empty-state h3{color:#64748b;font-size:18px;font-weight:600;margin-bottom:8px}.table-card .table-container .responsive-table .empty-state p{color:#64748b;font-size:14px;margin-bottom:16px;font-weight:400}.table-card .table-container .responsive-table .empty-state .btn{display:inline-flex;padding:8px 16px;background-color:#2563eb;color:#fff;border:1px solid #2563EB}.table-card .table-container .responsive-table .empty-state .btn:hover{background-color:#1d4ed8}.table-card .table-container .table-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-top:16px;border-top:1px solid #E2E8F0}.table-card .table-container .table-footer .table-info{color:#64748b;font-size:12px;font-weight:400}.table-card .table-container .table-footer .pagination{display:flex;align-items:center;gap:12px}.table-card .table-container .table-footer .pagination .page-info{color:#64748b;font-size:12px;font-weight:500}.table-card .table-container .table-footer .pagination .btn-icon{width:32px;height:32px;min-width:32px;padding:0;border-radius:2px;background-color:#fff;border:1px solid #E2E8F0;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.table-card .table-container .table-footer .pagination .btn-icon:hover:not(:disabled){background-color:#f8fafc;border-color:#2563eb;color:#2563eb}.table-card .table-container .table-footer .pagination .btn-icon:disabled{opacity:.5;cursor:not-allowed}.table-card .table-container .table-footer .pagination .btn-icon mat-icon{font-size:18px;width:18px;height:18px}.quick-actions{background:#fff;border-radius:4px;padding:16px;border:1px solid #E2E8F0;box-shadow:0 1px 2px #0000000d}.quick-actions h3{color:#0f172a;font-size:16px;font-weight:600;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}.quick-actions .actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 768px){.quick-actions .actions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.quick-actions .actions-grid{grid-template-columns:1fr}}.quick-actions .actions-grid .btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;text-align:center;background-color:#fff;color:#64748b;border:1px solid #E2E8F0;font-weight:500}.quick-actions .actions-grid .btn:hover{background-color:#f8fafc;border-color:#64748b;color:#0f172a}.quick-actions .actions-grid .btn mat-icon{font-size:18px;width:18px;height:18px;color:#64748b}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.5;color:#0f172a;background-color:#f8fafc}body{display:flex;flex-direction:column;min-height:100vh}.main-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background-color:#fff;color:#0f172a;border-bottom:1px solid #E2E8F0;position:sticky;top:0;z-index:1000;box-shadow:0 1px 2px #0000000d}.main-header nav a{color:#64748b;text-decoration:none;font-weight:500;padding:8px 12px;border-radius:2px;transition:background-color .2s ease;font-size:14px}.main-header nav a:hover{background-color:#f8fafc;color:#0f172a}.main-header nav a.active{background-color:#2563eb;color:#fff}.main-header .user-menu button{display:flex;align-items:center;gap:8px;background-color:#fff;color:#0f172a;border:1px solid #E2E8F0;padding:8px 12px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:14px}.main-header .user-menu button:hover{background-color:#f8fafc;border-color:#64748b}.main-header .user-menu button mat-icon{font-size:18px;width:18px;height:18px;color:#64748b}.main-header .user-menu button span{font-size:14px}.container{flex:1 0 auto;width:100%;max-width:1200px;margin:0 auto;padding:24px;display:flex;flex-direction:column;min-height:calc(100vh - 140px)}.container>*{width:100%}.main-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 24px;background-color:#fff;color:#64748b;margin-top:auto;border-top:1px solid #E2E8F0;font-size:12px}.main-footer div{display:flex;align-items:center}.main-footer div a{color:#2563eb;text-decoration:none;transition:color .2s ease;font-weight:500}.main-footer div a:hover{color:#1d4ed8;text-decoration:underline}.main-footer .grow-space{flex-grow:1}@media (max-width: 768px){.main-footer{flex-direction:column;text-align:center;gap:8px;padding:12px}.main-footer .grow-space{display:none}}a{color:#2563eb;text-decoration:none;font-weight:500}a:hover{text-decoration:underline;color:#1d4ed8}button{font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:14px}button.primary{background-color:#2563eb;color:#fff;border:1px solid #2563EB}button.primary:hover{background-color:#1d4ed8;border-color:#1d4ed8}button.secondary{background-color:#fff;color:#2563eb;border:1px solid #2563EB}button.secondary:hover{background-color:#dbeafe;border-color:#1d4ed8}.card{background:#fff;border-radius:4px;padding:16px;box-shadow:0 1px 2px #0000000d;border:1px solid #E2E8F0}@media (max-width: 768px){.container{padding:16px 12px;min-height:calc(100vh - 160px)}.main-header{padding:12px}.main-header .user-menu button span{display:none}}@media (max-width: 480px){.main-footer{font-size:12px;padding:12px}.container{padding:12px 8px}}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:8px}.mt-2{margin-top:12px}.mt-3{margin-top:16px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:12px}.mb-3{margin-bottom:16px}
