@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{--c-primary: #2d5be3;--c-primary-hover: #2449c4;--c-primary-active: #1d3ba3;--c-primary-soft: #eaf0ff;--c-primary-soft-2: #f3f6ff;--c-primary-border: #c7d5fb;--c-primary-grad: linear-gradient(135deg, #2d5be3 0%, #4f7dff 58%, #22b8d3 100%);--c-primary-glow: rgba(45, 91, 227, .28);--c-accent: #14b8c6;--c-accent-soft: #e4f8fa;--c-violet: #7a5cff;--c-violet-soft: #f0ecff;--c-amber: #f5a524;--c-amber-soft: #fff5e0;--c-secondary: #0a1633;--c-secondary-soft: #111f4d;--c-secondary-muted: #5b6478;--c-success: #16a34a;--c-success-soft: #e9f9ef;--c-warning: #e28a00;--c-warning-soft: #fff6e5;--c-danger: #e5484d;--c-danger-soft: #fdecec;--c-info: #0ea5e9;--c-info-soft: #e7f6fe;--c-bg: #f3f5fb;--app-canvas: radial-gradient(ellipse 70% 55% at 0% 0%, rgba(45, 91, 227, .1) 0%, transparent 60%), radial-gradient(ellipse 55% 50% at 100% 12%, rgba(20, 184, 198, .11) 0%, transparent 60%), radial-gradient(ellipse 60% 45% at 85% 100%, rgba(122, 92, 255, .08) 0%, transparent 62%), linear-gradient(180deg, #f5f7fc 0%, #f1f4fa 100%);--c-surface: #ffffff;--c-surface-alt: #f7f9fd;--c-surface-raised: #ffffff;--c-field-bg: #f7f9fd;--c-border: #e6eaf2;--c-border-strong: #cfd7e6;--c-overlay: rgba(10, 22, 51, .58);--c-text: #0f172a;--c-text-muted: #5b6478;--c-text-subtle: #94a0b8;--c-text-invert: #ffffff;--s-draft-fg: #475467;--s-draft-bg: #f1f3f7;--s-assigned-fg: #6b46e5;--s-assigned-bg: #f1ecff;--s-notstarted-fg: #475467;--s-notstarted-bg: #f1f3f7;--s-inprogress-fg: #1d5be0;--s-inprogress-bg: #e9f0ff;--s-pendingapproval-fg: #b26a00;--s-pendingapproval-bg: #fff4dd;--s-submitted-fg: #b26a00;--s-submitted-bg: #fff4dd;--s-approved-fg: #15803d;--s-approved-bg: #e6f8ec;--s-completed-fg: #15803d;--s-completed-bg: #e6f8ec;--s-blocked-fg: #c62f35;--s-blocked-bg: #fdeaea;--s-rejected-fg: #c62f35;--s-rejected-bg: #fdeaea;--s-overdue-fg: #c62f35;--s-overdue-bg: #fdeaea;--s-onhold-fg: #b26a00;--s-onhold-bg: #fff4dd;--s-changesrequested-fg: #b26a00;--s-changesrequested-bg: #fff4dd;--s-cancelled-fg: #475467;--s-cancelled-bg: #f1f3f7;--s-active-fg: #15803d;--s-active-bg: #e6f8ec;--s-inactive-fg: #475467;--s-inactive-bg: #f1f3f7;--font-sans: "Inter", "Segoe UI Variable", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Plus Jakarta Sans", "Inter", "Segoe UI Variable Display", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Cascadia Mono", Consolas, monospace;--fs-page-title: 28px;--lh-page-title: 36px;--fw-page-title: 800;--fs-section-title: 18px;--lh-section-title: 26px;--fw-section-title: 700;--fs-card-title: 15px;--lh-card-title: 22px;--fw-card-title: 700;--fs-body: 14px;--lh-body: 21px;--fs-table: 13.5px;--lh-table: 20px;--fs-label: 11.5px;--lh-label: 16px;--fw-label: 700;--fs-button: 13.5px;--fw-button: 650;--fs-caption: 12px;--lh-caption: 17px;--fs-metric: 30px;--lh-metric: 36px;--fw-metric: 800;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--r-xs: 8px;--r-sm: 12px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-pill: 999px;--e-1: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 14px rgba(15, 23, 42, .04);--e-2: 0 8px 24px rgba(15, 23, 42, .08), 0 2px 6px rgba(15, 23, 42, .04);--e-3: 0 24px 60px rgba(10, 22, 51, .22);--e-focus: 0 0 0 4px rgba(45, 91, 227, .16);--e-primary: 0 10px 24px rgba(45, 91, 227, .28);--header-h: 72px;--sidebar-w: 268px;--sidebar-w-collapsed: 84px;--content-max: 1560px;--t-fast: .15s ease;--t-base: .24s cubic-bezier(.4, 0, .2, 1)}@media(prefers-reduced-motion:reduce){:root{--t-fast: 1ms linear;--t-base: 1ms linear}}.grid-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:14px;box-shadow:var(--e-1);padding:0;overflow:hidden}.grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:nowrap;min-height:62px;padding:12px 18px;border-bottom:1px solid var(--c-border);background:var(--c-surface)}.grid-toolbar-left{display:flex;align-items:center;gap:11px;flex:0 0 auto}.grid-title-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:var(--c-primary-grad);color:#fff;box-shadow:0 6px 14px var(--c-primary-glow)}.grid-title-icon mat-icon{display:grid;place-items:center;width:19px;height:19px;font-size:19px;line-height:1}.grid-title{margin:0;font:700 16px/1.3 var(--font-display);letter-spacing:-.015em;color:var(--c-text);white-space:nowrap}.grid-toolbar-right{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end;flex:1 1 auto;min-width:0}.grid-actions,.grid-filters-slot:empty{display:contents}.grid-tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 9px;border:1px solid var(--c-border-strong);border-radius:8px;background:var(--c-surface);color:var(--c-text);font:400 13px/1 var(--font-sans);white-space:nowrap;cursor:pointer;text-decoration:none;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.grid-tool-btn mat-icon{width:16px;height:16px;font-size:16px;color:var(--c-text-muted)}.grid-tool-btn:hover:not(:disabled){background:var(--c-surface-alt);border-color:#a9b6d1}.grid-tool-btn:hover:not(:disabled) mat-icon{color:var(--c-text)}.grid-tool-btn:disabled{color:var(--c-text-subtle);cursor:default}.grid-tool-btn:disabled mat-icon{color:var(--c-text-subtle)}.grid-tool-btn--active{border-color:var(--c-primary-border);background:var(--c-primary-soft);color:var(--c-primary-active)}.grid-tool-btn--active mat-icon{color:var(--c-primary)}.grid-add-btn mat-icon{color:var(--c-primary)}.grid-add-btn--primary{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.grid-add-btn--primary mat-icon{color:#fff}.grid-add-btn--primary:hover:not(:disabled){background:var(--c-primary-hover);border-color:var(--c-primary-hover)}.grid-add-btn--primary:hover:not(:disabled) mat-icon{color:#fff}.grid-tool-btn .is-spinning{animation:grid-spin .9s linear infinite}@keyframes grid-spin{to{transform:rotate(360deg)}}.grid-btn-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--c-primary);color:#fff;font-size:11px;font-weight:700}mat-icon.table-search__icon,mat-icon.th-sort-icon,mat-icon.th-move,mat-icon.filter-icon{display:grid;place-items:center;line-height:1;box-sizing:border-box;padding:0;margin:0}mat-icon.table-search__icon{width:17px;height:17px;font-size:17px}mat-icon.th-sort-icon{width:15px;height:15px;font-size:15px}mat-icon.th-move{width:14px;height:14px;font-size:14px}mat-icon.filter-icon{width:14px;height:14px;font-size:14px}.table-search{position:relative;flex:1 1 160px;min-width:116px;max-width:220px}.table-search__icon{position:absolute;top:50%;left:11px;transform:translateY(-50%);color:var(--c-text-muted);pointer-events:none}.table-search input{width:100%;height:34px;padding:0 32px 0 34px;border:1px solid var(--c-border-strong);border-radius:8px;background:var(--c-surface);color:var(--c-text);font:400 13px var(--font-sans);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.table-search input::placeholder{color:var(--c-text-subtle)}.table-search input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #2d5be324}.search-clear{position:absolute;top:50%;right:5px;transform:translateY(-50%);display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--c-text-subtle);cursor:pointer}.search-clear mat-icon{width:15px;height:15px;font-size:15px}.search-clear:hover{background:var(--c-surface-alt);color:var(--c-text)}.grid-columns-wrap{position:relative}.grid-menu-backdrop{position:fixed;inset:0;z-index:140;background:transparent}.grid-columns-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:150;min-width:210px;max-height:320px;overflow-y:auto;padding:6px;border:1px solid var(--c-border);border-radius:10px;background:var(--c-surface);box-shadow:var(--e-3)}.grid-columns-menu label{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:6px;font-size:13px;font-weight:400;color:var(--c-text);cursor:pointer;white-space:nowrap}.grid-columns-menu label:hover{background:var(--c-primary-soft-2)}.grid-columns-menu input[type=checkbox]{width:15px;height:15px;accent-color:var(--c-primary);margin:0}.grid-columns-menu .menu-level{margin-left:auto;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--c-primary);color:#fff;font-size:10px;font-weight:700}.grid-toolbar .mat-mdc-form-field{flex:0 1 190px;min-width:132px;--mat-form-field-container-height: 34px;--mat-form-field-container-vertical-padding: 5px;--mdc-outlined-text-field-container-shape: 8px;font-size:13px}.grid-toolbar .mat-mdc-form-field .mat-mdc-form-field-infix{min-height:34px;padding-top:5px;padding-bottom:5px}.grid-toolbar .mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field--outlined{height:34px;background:var(--c-surface)}.grid-toolbar .mat-mdc-form-field .mat-mdc-select-value{font-size:13px;color:var(--c-text)}.grid-toolbar .mat-mdc-form-field .mat-mdc-select-placeholder{font-size:13px;color:var(--c-text)!important}.grid-toolbar .mat-mdc-form-field .mat-mdc-select-arrow{color:var(--c-text-muted)}.grid-card>.filters{border-top:0}.grid-scroll{width:100%;overflow-x:auto;scrollbar-width:thin}table.grid-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto;font-size:13.5px;line-height:20px;color:var(--c-text)}table.grid-table th,table.grid-table td{padding:0 7px;text-align:left;vertical-align:middle;white-space:nowrap}table.grid-table th:first-child,table.grid-table td:first-child{padding-left:16px}table.grid-table th:last-child,table.grid-table td:last-child{padding-right:16px}table.grid-table thead tr:first-child th{position:relative;height:42px;padding-top:0;padding-bottom:0;padding-right:26px;background:var(--c-surface);color:var(--c-text);font-size:13px;font-weight:700;white-space:nowrap;letter-spacing:0;text-transform:none;border-bottom:0;-webkit-user-select:none;user-select:none}table.grid-table thead tr:first-child th.sno-col{padding-right:12px}table.grid-table th.sortable{cursor:pointer}table.grid-table th.sortable:hover .th-label{color:var(--c-primary)}.th-label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;transition:color var(--t-fast)}.th-sort-icon{color:var(--c-text-subtle);transition:color var(--t-fast)}table.grid-table th.sortable:hover .th-sort-icon,table.grid-table th.sorted .th-label,table.grid-table th.sorted .th-sort-icon{color:var(--c-primary)}.th-move{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--c-text-subtle);opacity:.45;cursor:grab;transition:opacity var(--t-fast),color var(--t-fast)}table.grid-table th:last-child .th-move{right:16px}table.grid-table th.sortable:hover .th-move{color:var(--c-primary);opacity:1}table.grid-table th.drag-over{box-shadow:inset 3px 0 0 var(--c-primary);background:var(--c-primary-soft)!important}table.grid-table th.col-actions{padding-right:16px}table.grid-table th.col-actions .th-label{justify-content:flex-end;width:100%}.expand-col{width:40px;min-width:40px;padding-left:12px!important;padding-right:0!important}.grid-expand-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--c-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.grid-expand-btn mat-icon{width:20px;height:20px;font-size:20px;transition:transform .15s ease}.grid-expand-btn:hover{background:var(--c-primary-soft);color:var(--c-primary)}.grid-expand-btn.is-open{color:var(--c-primary)}.grid-expand-btn.is-open mat-icon{transform:rotate(90deg)}table.grid-table tr.is-expanded>td{background:var(--c-primary-soft)}table.grid-table tr.grid-detail-row>td{padding:0!important;height:auto;white-space:normal;background:var(--c-surface-alt);border-bottom:1px solid var(--c-border-strong)}table.grid-table tbody tr.grid-detail-row:hover>td{background:var(--c-surface-alt)}.sessions{padding:14px 16px 16px 56px}.sessions__head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--c-text-muted)}.sessions__head .text-subtle{text-transform:none;letter-spacing:0;font-weight:400}.sessions__table{width:100%;border-collapse:collapse;background:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;overflow:hidden}.sessions__table th,.sessions__table td{padding:7px 12px;text-align:left;font-size:13px;border-bottom:1px solid var(--c-border)}.sessions__table thead th{background:var(--c-surface-alt);color:var(--c-text-muted);font-weight:600;font-size:12px}.sessions__table tbody tr:last-child td{border-bottom:0}.sessions__table .numeric{text-align:right;font-variant-numeric:tabular-nums}.sessions__no{width:36px;color:var(--c-text-muted);font-variant-numeric:tabular-nums}.session-live{display:inline-flex;align-items:center;gap:6px;color:var(--c-primary);font-weight:500}.session-live__dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:session-pulse 1.6s ease-in-out infinite}@keyframes session-pulse{0%,to{opacity:1}50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.session-live__dot{animation:none}}.sno-col{width:48px;min-width:48px}.cell-sno{width:48px;color:var(--c-primary);font-weight:500;font-variant-numeric:tabular-nums}table.grid-table tr.filter-row th{height:38px;padding:0 4px 8px;background:var(--c-surface);border-bottom:1px solid var(--c-border-strong);vertical-align:top}table.grid-table tr.filter-row th:first-child{padding-left:16px}table.grid-table tr.filter-row th:last-child{padding-right:16px}.filter-text-wrap{position:relative;display:block;width:100%;min-width:64px}.filter-text-wrap input{display:block;width:100%;min-width:0;height:28px;margin:0;padding:0 28px 0 9px;border:1px solid var(--c-border-strong);border-radius:6px;background:var(--c-surface);color:var(--c-text);font:400 12.5px var(--font-sans);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.filter-text-wrap input::placeholder{color:var(--c-text-subtle)}.filter-text-wrap input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #2d5be324}.filter-icon{position:absolute;top:50%;right:8px;transform:translateY(-50%);color:var(--c-text-subtle);pointer-events:none}.filter-icon.active{color:var(--c-primary)}.filter-select-wrap{position:relative;display:block;width:100%;min-width:64px}.filter-select-wrap select{display:block;width:100%;height:28px;margin:0;padding:0 22px 0 8px;border:1px solid var(--c-border-strong);border-radius:6px;background:var(--c-surface);color:var(--c-text-muted);font:400 12.5px var(--font-sans);cursor:pointer;appearance:none;-webkit-appearance:none;transition:border-color var(--t-fast),box-shadow var(--t-fast),color var(--t-fast)}.filter-select-wrap:after{content:"";position:absolute;top:50%;right:8px;width:0;height:0;margin-top:-1px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--c-text-subtle);pointer-events:none}.filter-select-wrap select:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #2d5be324}.filter-select-wrap select.is-active{color:var(--c-primary);font-weight:600;border-color:var(--c-primary-border);background:var(--c-primary-soft-2)}.filter-date-wrap{position:relative;display:block;width:100%;min-width:92px}.filter-date-wrap .filter-date-text{display:block;width:100%;height:28px;margin:0;padding:0 26px 0 8px;border:1px solid var(--c-border-strong);border-radius:6px;background:var(--c-surface);color:var(--c-text);font:400 12.5px var(--font-sans);cursor:pointer;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.filter-date-wrap .filter-date-text::placeholder{color:var(--c-text-subtle)}.filter-date-wrap .filter-date-text:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #2d5be324}.filter-date-wrap .filter-date-native{position:absolute;right:4px;bottom:0;width:22px;height:1px;padding:0;margin:0;border:0;opacity:0;pointer-events:none}.filter-date-btn{position:absolute;top:50%;right:3px;transform:translateY(-50%);display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--c-text-subtle);cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.filter-date-btn:hover{color:var(--c-primary);background:var(--c-primary-soft)}.filter-date-btn mat-icon{display:grid;place-items:center;width:13px;height:13px;font-size:13px;line-height:1}table.grid-table tbody td{height:50px;padding-top:6px;padding-bottom:6px;border-bottom:1px solid var(--c-border);transition:background var(--t-fast)}table.grid-table td .cell-primary,table.grid-table td .cell-secondary,table.grid-table td .description{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.grid-table td .cell-with-icon>div{min-width:0}table.grid-table tbody tr:last-child td{border-bottom:0}table.grid-table tbody tr:hover td{background:var(--c-primary-soft-2)}table.grid-table .col-right{text-align:right;font-variant-numeric:tabular-nums}table.grid-table .col-center{text-align:center}table.grid-table .col-actions{width:1%;text-align:right;white-space:nowrap}table.grid-table .col-actions .mat-mdc-icon-button{--mdc-icon-button-state-layer-size: 30px;width:30px;height:30px;padding:3px;margin:0}table.grid-table .col-actions .mat-mdc-icon-button .mat-icon,table.grid-table .col-actions .mat-mdc-icon-button .edit-user-icon{width:18px;height:18px;font-size:18px}table.grid-table td .cell-primary{font-weight:500;color:var(--c-text)}table.grid-table td .cell-secondary{margin-top:1px;font-size:11.5px;line-height:15px;color:var(--c-text-muted)}table.grid-table td .mono{font-size:12px}table.grid-table td .avatar{width:28px;height:28px;flex-basis:28px}table.grid-table td .avatar--initials{font-size:10px;border-width:1px;box-shadow:none}table.grid-table td .priority,table.grid-table td .badge{vertical-align:middle}table.grid-table td .meter{width:54px;height:6px}table.grid-table td .progress-cell{display:flex;align-items:center;gap:6px;min-width:0;font-size:12px}table.grid-table td .progress-cell>span:first-child{min-width:32px;text-align:right}table.grid-table td .overdue-label{display:inline-block;margin:0 0 0 6px;padding:1px 6px;border-radius:999px;background:var(--c-danger-soft);font-size:9.5px;line-height:14px;vertical-align:1px}table.grid-table td .due--overdue{display:inline}.cell-with-icon{display:inline-flex;align-items:center;gap:10px}.cell-with-icon>div{display:flex;flex-direction:column}.row--overdue td,.row--blocked td{background:#fff8f7}tr.group-row td{background:var(--c-primary-soft)!important;color:var(--c-text);font-weight:600;font-size:13px;height:36px;padding:0 16px;white-space:normal;border-bottom:1px solid var(--c-border)}tr.group-row td mat-icon{width:18px;height:18px;font-size:18px;color:var(--c-primary);vertical-align:-4px;margin-right:4px}tr.group-row.group-sub td{background:var(--c-surface-alt)!important;font-weight:500}tr.group-row .group-field{color:var(--c-text-muted);font-weight:500;margin-right:4px}tr.group-row .group-count{margin-left:8px;padding:1px 8px;border-radius:999px;border:1px solid var(--c-border);background:var(--c-surface);font-size:11.5px;font-weight:500;color:var(--c-text-muted)}table.grid-table td.empty-cell{padding:0!important;white-space:normal;text-align:center;height:auto}table.grid-table tbody tr:hover td.empty-cell{background:var(--c-surface)}.grid-empty-default{display:grid;place-items:center;gap:4px;padding:48px 16px;color:var(--c-text-muted)}.grid-empty-default mat-icon{width:30px;height:30px;font-size:30px;color:var(--c-text-subtle);margin-bottom:4px}.grid-empty-default strong{color:var(--c-text);font-size:15px}.grid-empty-default span{font-size:13px}tr.grid-skeleton td{height:50px}tr.grid-skeleton:hover td{background:transparent}.sk{display:block;height:12px;width:70%;min-width:48px;border-radius:6px;background:linear-gradient(90deg,#eceff6 25%,#f8f9fc 37%,#eceff6 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}.sk--xs{width:20px;min-width:20px}.sk--sm{width:32px;min-width:32px;margin-left:auto}.table-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;min-height:54px;padding:10px 18px;border-top:1px solid var(--c-border);background:var(--c-surface)}.pg-info{font-size:13px;color:var(--c-text-muted)}.pg-filtered{color:var(--c-primary);font-weight:500}.pg-controls{display:flex;align-items:center;gap:6px}.pg-size{display:inline-flex;align-items:center;gap:8px;margin-right:8px;font-size:13px;color:var(--c-text-muted);white-space:nowrap}.pg-size select{height:30px;padding:0 8px;border:1px solid var(--c-border-strong);border-radius:8px;background:var(--c-surface);color:var(--c-text);font:400 13px var(--font-sans);cursor:pointer}.pg-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--c-border-strong);border-radius:8px;background:var(--c-surface);color:var(--c-text-muted);cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.pg-btn mat-icon{width:18px;height:18px;font-size:18px}.pg-btn:hover:not(:disabled){background:var(--c-primary-soft);border-color:var(--c-primary);color:var(--c-primary)}.pg-btn:disabled{opacity:.4;cursor:not-allowed}.pg-page{padding:0 8px;font-size:13px;color:var(--c-text-muted);white-space:nowrap}@media(max-width:1100px){.grid-toolbar{align-items:stretch;flex-direction:column}.grid-toolbar-right{justify-content:flex-start}.table-search{flex:1 1 200px;max-width:320px}}@media(max-width:900px){.table-search{flex:1 1 100%;max-width:none}.table-pagination{flex-direction:column;align-items:stretch}.pg-controls{justify-content:space-between;flex-wrap:wrap}}:root{--mat-sys-primary: var(--c-primary);--mat-sys-on-primary: #ffffff;--mat-sys-primary-container: var(--c-primary-soft);--mat-sys-on-primary-container: var(--c-primary-active);--mat-sys-secondary: var(--c-primary-hover);--mat-sys-secondary-container: var(--c-primary-soft);--mat-sys-on-secondary-container: var(--c-primary-active);--mat-sys-tertiary: var(--c-accent);--mat-sys-tertiary-container: var(--c-accent-soft);--mat-sys-error: var(--c-danger);--mat-sys-on-error: #ffffff;--mat-sys-error-container: var(--c-danger-soft);--mat-sys-on-error-container: #a12b30;--mat-sys-surface: var(--c-surface);--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-container-low: var(--c-surface-alt);--mat-sys-surface-container: #f1f4fa;--mat-sys-surface-container-high: #eaeef6;--mat-sys-surface-container-highest: #e3e8f1;--mat-sys-surface-variant: var(--c-surface-alt);--mat-sys-on-surface: var(--c-text);--mat-sys-on-surface-variant: var(--c-text-muted);--mat-sys-outline: var(--c-border-strong);--mat-sys-outline-variant: var(--c-border);--mat-sys-inverse-surface: var(--c-secondary);--mat-sys-inverse-on-surface: #ffffff;--mat-sys-corner-extra-small: 8px;--mat-sys-corner-small: 10px;--mat-sys-corner-medium: 14px;--mat-sys-corner-large: 20px;--mat-sys-corner-extra-large: 28px;--mat-sys-body-small-font: var(--font-sans);--mat-sys-body-medium-font: var(--font-sans);--mat-sys-body-large-font: var(--font-sans);--mat-sys-label-small-font: var(--font-sans);--mat-sys-label-medium-font: var(--font-sans);--mat-sys-label-large-font: var(--font-sans);--mat-sys-title-small-font: var(--font-sans);--mat-sys-title-medium-font: var(--font-display);--mat-sys-title-large-font: var(--font-display);--mat-sys-headline-small-font: var(--font-display);--mat-sys-headline-medium-font: var(--font-display);--mat-sys-headline-large-font: var(--font-display);--mat-sys-display-small-font: var(--font-display);--mat-sys-display-medium-font: var(--font-display);--mat-sys-display-large-font: var(--font-display)}*{box-sizing:border-box}html{height:100%;background:var(--c-bg)}body{min-height:100%;margin:0;background:var(--app-canvas);background-attachment:fixed;color:var(--c-text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}h1,h2,h3,h4{margin:0;color:var(--c-text);font-family:var(--font-display);letter-spacing:-.02em}p{margin-top:0}a{color:var(--c-primary);text-decoration:none;font-weight:600}a:hover{color:var(--c-primary-hover)}::selection{background:var(--c-primary-border);color:var(--c-secondary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#cbd3e3;border-radius:10px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#aeb9d0;background-clip:padding-box;border:2px solid transparent}::-webkit-scrollbar-track{background:transparent}.page-title{font-size:var(--fs-page-title);line-height:var(--lh-page-title);font-weight:var(--fw-page-title)}.section-title{font-size:var(--fs-section-title);line-height:var(--lh-section-title);font-weight:var(--fw-section-title)}.card-title{font-size:var(--fs-card-title);line-height:var(--lh-card-title);font-weight:var(--fw-card-title)}.text-muted{color:var(--c-text-muted)}.text-subtle{color:var(--c-text-subtle);font-size:var(--fs-caption)}.metric{font-size:var(--fs-metric);line-height:var(--lh-metric);font-weight:var(--fw-metric);font-variant-numeric:tabular-nums}.numeric{font-variant-numeric:tabular-nums}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--e-1);padding:var(--sp-6);position:relative}.card--flush{padding:0;overflow:hidden}.card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-height:66px;padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--c-border);background:linear-gradient(180deg,#fff,#fbfcfe)}.card__head a{font-size:12.5px;padding:6px 10px;border-radius:var(--r-pill);background:var(--c-primary-soft)}.card__head a:hover{background:var(--c-primary-border)}.card__head .text-subtle{padding:5px 10px;border-radius:var(--r-pill);background:var(--c-surface-alt);border:1px solid var(--c-border)}.grid{display:grid;gap:var(--sp-5)}.grid--summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.grid--form{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid--halves{grid-template-columns:repeat(2,minmax(0,1fr))}.row{display:flex;align-items:center;gap:var(--sp-3)}.row--end{justify-content:flex-end}.spacer{flex:1 1 auto}.mt-0{margin-top:0}.mt-2{margin-top:var(--sp-2)}.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.mb-4{margin-bottom:var(--sp-4)}.mb-6{margin-bottom:var(--sp-6)}@media(max-width:599px){.hide-mobile{display:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.data-table-wrap{width:100%;overflow-x:auto;scrollbar-width:thin}table.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-table);line-height:var(--lh-table)}table.data-table th{position:sticky;top:0;z-index:1;background:linear-gradient(180deg,#f7f9ff,#eff3fc);color:#4a5670;font-size:var(--fs-label);font-weight:var(--fw-label);text-align:left;letter-spacing:.06em;text-transform:uppercase;padding:13px var(--sp-5);border-bottom:1px solid var(--c-border-strong);white-space:nowrap}table.data-table th:first-child{padding-left:var(--sp-6)}table.data-table th:last-child{padding-right:var(--sp-6)}table.data-table td{padding:14px var(--sp-5);border-bottom:1px solid var(--c-border);vertical-align:middle;transition:background var(--t-fast)}table.data-table td:first-child{padding-left:var(--sp-6)}table.data-table td:last-child{padding-right:var(--sp-6)}table.data-table tbody tr:nth-child(2n) td{background:#fbfcfe}table.data-table tbody tr:hover td{background:var(--c-primary-soft-2)}table.data-table tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--c-primary)}table.data-table tbody tr:last-child td{border-bottom:none}table.data-table .col-actions{width:1%;white-space:nowrap;text-align:right}table.data-table .col-actions .mat-mdc-icon-button{opacity:.72;transition:opacity var(--t-fast),background var(--t-fast)}table.data-table tbody tr:hover .col-actions .mat-mdc-icon-button{opacity:1}table.data-table .col-numeric{text-align:right;font-variant-numeric:tabular-nums}.th-sort{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;transition:color var(--t-fast)}.th-sort mat-icon{width:15px;height:15px;font-size:15px;opacity:.55;transition:opacity var(--t-fast)}.th-sort:hover{color:var(--c-primary)}.th-sort:hover mat-icon{opacity:1}.col-icon,.col-avatar{width:1%;padding-right:0!important}.cell-primary{font-weight:600;color:var(--c-text)}.cell-secondary{margin-top:2px;font-size:11.5px;color:var(--c-text-muted)}.mono{font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:var(--c-primary);letter-spacing:.01em}.hours{font-weight:700;color:var(--c-text);font-variant-numeric:tabular-nums}.avatar{display:block;width:38px;height:38px;border-radius:var(--r-pill);object-fit:cover}.avatar--initials{display:grid;place-items:center;color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.02em;background:var(--c-primary-grad);box-shadow:0 4px 12px var(--c-primary-glow);border:2px solid #fff}.department-icon,.project-icon,.task-icon,.review-icon,.timesheet-icon,.update-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:var(--c-primary-soft);color:var(--c-primary);border:1px solid var(--c-primary-border);background:linear-gradient(145deg,#eef3ff,#f6f8ff)}.department-icon mat-icon,.project-icon mat-icon,.task-icon mat-icon,.review-icon mat-icon,.timesheet-icon mat-icon,.update-icon mat-icon{width:19px;height:19px;font-size:19px}.department-icon{background:linear-gradient(145deg,var(--c-violet-soft),#f7f4ff);color:var(--c-violet);border-color:#dcd2ff}.task-icon{background:linear-gradient(145deg,var(--c-success-soft),#f2fcf5);color:var(--c-success);border-color:#bde9cb}.review-icon,.timesheet-icon{background:linear-gradient(145deg,var(--c-accent-soft),#f2fbfc);color:#0e8f9b;border-color:#b6e8ee}.update-icon{background:linear-gradient(145deg,var(--c-amber-soft),#fffaf0);color:#c27a00;border-color:#f7dea6}.priority{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);font-size:11px;font-weight:700;background:var(--c-surface-alt);color:var(--c-text-muted);border:1px solid var(--c-border)}.priority:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.priority--low{background:var(--c-success-soft);color:#15803d;border-color:#bde9cb}.priority--medium{background:var(--c-primary-soft);color:var(--c-primary-active);border-color:var(--c-primary-border)}.priority--high{background:var(--c-warning-soft);color:#b26a00;border-color:#f7dea6}.priority--critical{background:var(--c-danger-soft);color:#c62f35;border-color:#f7c2c4}.progress-cell{display:grid;gap:5px;min-width:86px;font-size:11px;font-weight:700;color:var(--c-text-muted)}.meter{display:block;position:relative;width:84px;height:7px;overflow:hidden;border-radius:var(--r-pill);background:#e4e9f3}.meter__fill{display:block;position:absolute;inset:0 auto 0 0;height:100%;border-radius:inherit;background:var(--c-primary-grad)}.meter__fill--done{background:linear-gradient(90deg,var(--c-success),#3ecf74)}.row--overdue td,.row--blocked td{background:#fff8f7!important}.due--overdue{color:var(--c-danger);font-weight:700}.overdue-label{margin-top:2px;color:var(--c-danger);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.rows-skeleton{display:grid;gap:var(--sp-3);padding:var(--sp-5) var(--sp-6)}.rows-skeleton__row,.skeleton{height:52px;border-radius:var(--r-sm);background:linear-gradient(90deg,#eceff6 25%,#f8f9fc 37%,#eceff6 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.rows-skeleton__row,.skeleton{animation:none}}.toolbar{display:flex;align-items:center;gap:var(--sp-3);min-height:72px;padding:14px var(--sp-6);border-bottom:1px solid var(--c-border);background:linear-gradient(180deg,#fff,#fbfcfe)}.toolbar__search{width:100%;max-width:320px}.toolbar .text-subtle{padding:6px 12px;border-radius:var(--r-pill);background:var(--c-primary-soft);color:var(--c-primary-active);font-weight:600;white-space:nowrap}.toolbar .mat-mdc-form-field{width:auto}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;gap:var(--sp-3);padding:var(--sp-4) var(--sp-6);background:#f5f7fc;border-bottom:1px solid var(--c-border);animation:filters-in var(--t-base) both}.filters__actions{display:flex;gap:var(--sp-2);justify-content:flex-end}@keyframes filters-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4) var(--sp-5)}.form-field--full{grid-column:1/-1}.field-error{color:var(--c-danger);font-size:var(--fs-caption);margin-top:var(--sp-1)}.mat-mdc-form-field{width:100%;--mat-form-field-container-height: 48px;--mat-form-field-container-vertical-padding: 12px;--mdc-outlined-text-field-container-shape: 12px;--mdc-outlined-text-field-outline-color: var(--c-border-strong);--mdc-outlined-text-field-hover-outline-color: #a9b6d1;--mdc-outlined-text-field-focus-outline-color: var(--c-primary);--mdc-outlined-text-field-focus-outline-width: 1.5px;--mdc-outlined-text-field-label-text-color: var(--c-text-muted);--mdc-outlined-text-field-hover-label-text-color: var(--c-text-muted);--mdc-outlined-text-field-focus-label-text-color: var(--c-primary);--mdc-outlined-text-field-input-text-color: var(--c-text);--mdc-outlined-text-field-input-text-placeholder-color: var(--c-text-subtle);--mdc-outlined-text-field-error-outline-color: var(--c-danger);--mdc-outlined-text-field-error-focus-outline-color: var(--c-danger);--mdc-outlined-text-field-error-label-text-color: var(--c-danger);--mdc-outlined-text-field-caret-color: var(--c-primary);--mat-form-field-subscript-text-size: 11.5px;--mat-form-field-subscript-text-line-height: 16px;font-size:14px}.mat-mdc-form-field-subscript-wrapper{font-size:var(--fs-caption)}.mat-mdc-form-field-hint,.mat-mdc-form-field-error{font-size:11.5px;line-height:16px}.mat-mdc-form-field-error{font-weight:500}.mat-mdc-text-field-wrapper.mdc-text-field--outlined{background:var(--c-field-bg);border-radius:12px;transition:background var(--t-fast),box-shadow var(--t-fast)}.mat-mdc-text-field-wrapper.mdc-text-field--outlined:hover{background:#f3f6fc}.mat-mdc-form-field.mat-focused .mat-mdc-text-field-wrapper.mdc-text-field--outlined{background:#fff;box-shadow:var(--e-focus)}.mat-mdc-form-field.mat-form-field-invalid .mat-mdc-text-field-wrapper.mdc-text-field--outlined{background:snow}.mat-mdc-form-field.mat-form-field-invalid.mat-focused .mat-mdc-text-field-wrapper.mdc-text-field--outlined{box-shadow:0 0 0 4px #e5484d24}.mat-mdc-text-field-wrapper .mdc-notched-outline__leading,.mat-mdc-text-field-wrapper .mdc-notched-outline__notch,.mat-mdc-text-field-wrapper .mdc-notched-outline__trailing{transition:border-color var(--t-fast)}.mat-mdc-form-field .mat-mdc-form-field-infix{min-height:48px;padding-top:12px;padding-bottom:12px}.mat-mdc-form-field .mdc-floating-label{font-weight:500}.mat-mdc-form-field .mat-mdc-select-trigger{align-items:center}.mat-mdc-form-field .mat-mdc-select-arrow,.mat-mdc-form-field .mat-mdc-select-placeholder,.mat-mdc-form-field .mat-mdc-form-field-icon-suffix,.mat-mdc-form-field .mat-mdc-form-field-icon-prefix{color:var(--c-text-subtle)}.mat-mdc-form-field .mat-mdc-form-field-icon-suffix .mat-mdc-icon-button,.mat-mdc-form-field .mat-mdc-form-field-icon-suffix .mat-icon,.mat-mdc-form-field .mat-mdc-form-field-icon-prefix .mat-icon{color:var(--c-text-muted)}.mat-mdc-form-field .mat-mdc-form-field-icon-suffix .mat-mdc-icon-button{width:40px;height:40px;padding:8px;margin-right:4px}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow,.mat-mdc-form-field.mat-focused .mat-mdc-form-field-icon-suffix .mat-icon,.mat-mdc-form-field.mat-focused .mat-mdc-form-field-icon-suffix .mat-mdc-icon-button,.mat-mdc-form-field.mat-focused .mat-mdc-form-field-icon-prefix .mat-icon,.mat-mdc-form-field.mat-focused .mat-datepicker-toggle{color:var(--c-primary)}.mat-mdc-form-field textarea.mat-mdc-input-element{line-height:1.5}.mat-mdc-form-field input[readonly]{color:var(--c-text-muted)}.mat-mdc-form-field .mat-mdc-input-element::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.mat-mdc-select-panel,.mat-mdc-autocomplete-panel{margin-top:6px;padding:6px!important;border:1px solid var(--c-border);border-radius:14px!important;background:var(--c-surface)!important;box-shadow:var(--e-3)!important}.mat-mdc-option{min-height:42px!important;border-radius:10px;font-size:13.5px;font-weight:500;margin:1px 0}.mat-mdc-option .mdc-list-item__primary-text{color:var(--c-text)}.mat-mdc-option:hover:not(.mdc-list-item--disabled),.mat-mdc-option.mat-mdc-option-active{background:var(--c-primary-soft-2)!important}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled){background:var(--c-primary-soft)!important}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:var(--c-primary-active);font-weight:600}.mat-mdc-option.mdc-list-item--disabled{opacity:.5}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked{background:var(--c-primary)}.mat-mdc-checkbox{--mdc-checkbox-state-layer-size: 36px}.mat-mdc-checkbox .mdc-checkbox__background{border-radius:6px;border-width:1.5px}.mat-mdc-slide-toggle{--mdc-switch-track-shape: 999px}.mat-mdc-slide-toggle .mdc-label,.mat-mdc-checkbox label{font-weight:500;color:var(--c-text)}.mat-datepicker-content{border-radius:18px!important;border:1px solid var(--c-border);box-shadow:var(--e-3)!important}.mat-calendar-body-selected{background:var(--c-primary)!important;color:#fff!important}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:var(--c-primary)!important}.mat-mdc-button-base{--mdc-text-button-label-text-weight: 650;--mdc-filled-button-label-text-weight: 650;--mdc-outlined-button-label-text-weight: 650;--mdc-filled-button-container-height: 42px;--mdc-outlined-button-container-height: 42px;--mdc-text-button-container-height: 42px;--mdc-filled-button-container-shape: 12px;--mdc-outlined-button-container-shape: 12px;--mdc-text-button-container-shape: 12px;--mdc-protected-button-container-shape: 12px;letter-spacing:0!important}.mat-mdc-unelevated-button,.mat-mdc-outlined-button,.mat-mdc-button,.mat-mdc-raised-button{padding-inline:18px!important;font-size:var(--fs-button);transition:transform var(--t-fast),box-shadow var(--t-fast),background var(--t-fast),border-color var(--t-fast)!important}.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon,.mat-mdc-button>.mat-icon{width:18px;height:18px;font-size:18px;margin-right:6px}.mat-mdc-unelevated-button.mat-primary,.mat-mdc-raised-button.mat-primary,.mat-mdc-unelevated-button:not(.mat-warn):not(.mat-accent){background:var(--c-primary-grad)!important;color:#fff!important;box-shadow:0 6px 16px var(--c-primary-glow)}.mat-mdc-unelevated-button:not(.mat-warn):not(.mat-accent):hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--e-primary)}.mat-mdc-unelevated-button:not(.mat-warn):not(.mat-accent):active:not(:disabled){transform:translateY(0)}.mat-mdc-unelevated-button.mat-warn{background:linear-gradient(135deg,#e5484d,#f06a6e)!important;color:#fff!important;box-shadow:0 6px 16px #e5484d47}.mat-mdc-unelevated-button:disabled{background:#d8deea!important;color:#8b95ab!important;box-shadow:none!important}.mat-mdc-unelevated-button .mat-mdc-progress-spinner{--mdc-circular-progress-active-indicator-color: #fff;display:inline-block;margin-right:8px;vertical-align:middle}.mat-mdc-outlined-button{--mdc-outlined-button-outline-color: var(--c-border-strong);--mdc-outlined-button-label-text-color: var(--c-text);background:var(--c-surface)}.mat-mdc-outlined-button:hover:not(:disabled){background:var(--c-primary-soft-2);border-color:var(--c-primary-border)!important;color:var(--c-primary-active)}.mat-mdc-outlined-button.mat-primary{--mdc-outlined-button-label-text-color: var(--c-primary);--mdc-outlined-button-outline-color: var(--c-primary-border)}.mat-mdc-outlined-button:disabled{opacity:.55}.mat-mdc-icon-button{--mdc-icon-button-icon-color: var(--c-text-muted);--mdc-icon-button-state-layer-size: 40px;border-radius:12px!important}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:12px}.mat-mdc-icon-button:hover{--mdc-icon-button-icon-color: var(--c-primary);background:var(--c-primary-soft)}.mat-mdc-icon-button:disabled{opacity:.4}.edit-user-icon{font-size:20px;line-height:1;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.mat-mdc-menu-panel{border:1px solid var(--c-border);border-radius:14px!important;box-shadow:var(--e-3)!important;padding:6px!important;min-width:200px!important}.mat-mdc-menu-content{padding:0!important}.mat-mdc-menu-item{min-height:42px!important;border-radius:10px;font-weight:500}.mat-mdc-menu-item .mat-icon{color:var(--c-text-muted);margin-right:10px!important}.mat-mdc-menu-item:hover:not([disabled]){background:var(--c-primary-soft-2)!important}.mat-mdc-menu-item:hover:not([disabled]) .mat-icon{color:var(--c-primary)}.mat-divider{border-top-color:var(--c-border)!important}.mat-mdc-tooltip .mdc-tooltip__surface{background:var(--c-secondary)!important;color:#fff!important;border-radius:8px!important;font-size:11.5px!important;font-weight:500;padding:6px 10px!important}.mat-mdc-dialog-surface{border-radius:24px!important;box-shadow:var(--e-3)!important;overflow:hidden}.mat-mdc-dialog-container .mat-mdc-dialog-title{font-family:var(--font-display);letter-spacing:-.02em}.mat-mdc-dialog-content{padding:20px 26px 12px!important;max-height:72vh}.mat-mdc-dialog-container [mat-dialog-title] .mat-mdc-button-base{--mdc-outlined-button-container-height: 32px;--mdc-filled-button-container-height: 32px;--mdc-text-button-container-height: 32px;height:32px;min-height:32px;padding-inline:12px!important;font-size:12.5px}.mat-mdc-dialog-container [mat-dialog-title] .mat-mdc-button-base>.mat-icon{width:16px;height:16px;font-size:16px;margin-right:5px}.mat-mdc-dialog-actions{padding:14px 26px 20px!important;gap:var(--sp-2);border-top:1px solid var(--c-border);background:#fbfcfe}.mat-mdc-dialog-actions .mat-mdc-progress-spinner{display:inline-block;margin-right:8px}.mat-mdc-snack-bar-container .mdc-snackbar__surface{border-radius:14px!important;box-shadow:var(--e-3)!important}.mat-mdc-snack-bar-container.toast--success .mdc-snackbar__surface{background:var(--c-success)!important}.mat-mdc-snack-bar-container.toast--error .mdc-snackbar__surface{background:var(--c-danger)!important}.mat-mdc-snack-bar-container.toast--info .mdc-snackbar__surface{background:var(--c-secondary)!important}.mat-mdc-snack-bar-container .mdc-snackbar__label{font-weight:500}.mat-mdc-progress-bar{--mdc-linear-progress-active-indicator-color: var(--c-primary);--mdc-linear-progress-track-color: var(--c-primary-soft)}.mat-mdc-progress-spinner{--mdc-circular-progress-active-indicator-color: var(--c-primary)}.mat-badge-content{font-weight:700!important}.mat-mdc-paginator{border-top:1px solid var(--c-border);background:#fbfcfe!important;color:var(--c-text-muted);font-size:12.5px}.mat-mdc-paginator .mat-mdc-paginator-container{min-height:54px;padding:0 var(--sp-5)}.mat-mdc-paginator .mat-mdc-paginator-page-size,.mat-mdc-paginator .mat-mdc-paginator-range-actions{align-items:center}.mat-mdc-paginator .mat-mdc-paginator-page-size-label{font-size:13px}.mat-mdc-paginator .mat-mdc-form-field{--mat-form-field-container-height: 30px;--mat-form-field-container-vertical-padding: 4px;--mdc-outlined-text-field-container-shape: 8px;width:auto;font-size:13px}.mat-mdc-paginator .mat-mdc-form-field .mat-mdc-form-field-infix{width:34px;min-height:30px;padding-top:4px;padding-bottom:4px}.mat-mdc-paginator .mat-mdc-text-field-wrapper.mdc-text-field--outlined{height:30px;background:#fff}.mat-mdc-paginator .mat-mdc-icon-button{--mdc-icon-button-state-layer-size: 30px;width:30px;height:30px;padding:6px;border-radius:8px!important}.mat-mdc-paginator-range-label{margin:0 var(--sp-4);font-size:13px;font-weight:600;color:var(--c-text)}.ef__head,.df__head,.pf__head,.tf__head{display:flex!important;align-items:center;gap:14px;padding:22px 26px 18px!important;margin:0!important;border-bottom:1px solid var(--c-border);background:linear-gradient(180deg,#f8faff,#fff)}.ef__head:before,.df__head:before,.pf__head:before,.tf__head:before{display:none!important}.ef__head h2,.df__head h2,.pf__head h2,.tf__head h2{font:800 19px/24px var(--font-display);letter-spacing:-.025em;margin:0}.ef__head p,.df__head p,.pf__head p,.tf__head p{margin:2px 0 0;color:var(--c-text-muted);font-size:12.5px;line-height:17px}.ef__head-icon,.df__head-icon,.pf__head-icon,.tf__head-icon,.atc__head-icon,.tse__head-icon,.tsf__head-icon,.tsr__head-icon,.ud__head-icon,.du__head-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:13px;background:var(--c-primary-soft);color:var(--c-primary);background:var(--c-primary-grad);color:#fff;box-shadow:0 8px 18px var(--c-primary-glow)}.ef__head-icon mat-icon,.df__head-icon mat-icon,.pf__head-icon mat-icon,.tf__head-icon mat-icon,.atc__head-icon mat-icon,.tse__head-icon mat-icon,.tsf__head-icon mat-icon,.tsr__head-icon mat-icon,.ud__head-icon mat-icon,.du__head-icon mat-icon{width:22px;height:22px;font-size:22px}.ef__section-title,.pf__section-title,.tf__section-title{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--c-primary);font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ef__section-title:after,.pf__section-title:after,.tf__section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--c-primary-border),transparent)}.ef__divider,.pf__divider,.tf__divider{display:flex;align-items:center;gap:10px;margin:2px 0;color:var(--c-primary);font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ef__divider:after,.pf__divider:after,.tf__divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--c-primary-border),transparent)}.ef__errors,.df__errors,.pf__errors,.tf__errors,.du__errors,.atc__errors,.tse__error,.tsf__errors,.tsr__errors{display:flex;gap:var(--sp-3);align-items:flex-start;padding:12px 14px;margin-bottom:var(--sp-4);border:1px solid #f7c2c4;border-left:3px solid var(--c-danger);border-radius:var(--r-sm);background:var(--c-danger-soft);color:#a12b30;font-size:13px}.ef__errors mat-icon,.df__errors mat-icon,.pf__errors mat-icon,.tf__errors mat-icon,.du__errors mat-icon,.atc__errors mat-icon,.tse__error mat-icon,.tsf__errors mat-icon,.tsr__errors mat-icon{flex:0 0 19px;width:19px;height:19px;font-size:19px;color:var(--c-danger)}.ef__errors ul,.df__errors ul,.pf__errors ul,.tf__errors ul,.du__errors ul,.atc__errors ul,.tse__error ul,.tsf__errors ul,.tsr__errors ul{margin:0;padding-left:var(--sp-4)}.ef__loading,.pf__loading,.tf__loading,.tsf__loading,.du__state,.ud__state,.tsr__state,.loading-state{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-8);color:var(--c-text-muted);font-weight:500}.ef__status,.df__status{padding:14px var(--sp-4);border:1px solid var(--c-border);border-radius:var(--r-sm);background:linear-gradient(180deg,#f8faff,#f3f6fc)}.auth-page{display:grid;place-items:center;min-height:100vh;padding:var(--sp-6);background:var(--app-canvas);background-attachment:fixed}.auth-card{width:100%;max-width:470px;padding:clamp(26px,4vw,40px);border:1px solid var(--c-border);border-radius:24px;background:#fffffff5;box-shadow:0 30px 70px #0a16331f,0 2px 6px #0a16330a}.auth-card__icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:var(--sp-5);border-radius:16px;background:var(--c-primary-grad);color:#fff;box-shadow:0 10px 22px var(--c-primary-glow)}.auth-card__icon mat-icon{display:grid;place-items:center;width:26px;height:26px;font-size:26px;line-height:1}.auth-card__icon--success{background:linear-gradient(135deg,var(--c-success),#3ecf74);box-shadow:0 10px 22px #16a34a47}.auth-card__icon--warn{background:linear-gradient(135deg,#e5484d,#ff7a7e);box-shadow:0 10px 22px #e5484d47}.auth-card h1{font-size:clamp(22px,2vw,26px);line-height:1.2;font-weight:800;letter-spacing:-.03em}.auth-card__sub{margin:8px 0 24px;color:var(--c-text-muted);font-size:14px;line-height:1.55}.auth-card form{display:grid;gap:var(--sp-2)}.auth-card__submit{width:100%;margin-top:var(--sp-3)}button.auth-card__submit,a.auth-card__submit,.auth-card__submit>button{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:48px;border-radius:12px;font-size:14.5px;letter-spacing:0}.auth-card__submit mat-spinner{flex:0 0 18px}.auth-card__foot{margin:var(--sp-5) 0 0;text-align:center;font-size:13px;color:var(--c-text-muted)}.auth-card__note{display:flex;gap:10px;align-items:flex-start;margin-top:var(--sp-4);padding:12px 14px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface-alt);color:var(--c-text-muted);font-size:12.5px;line-height:1.5}.auth-card__note mat-icon{flex:0 0 18px;width:18px;height:18px;font-size:18px;color:var(--c-primary)}.auth-card__error{display:flex;gap:10px;align-items:flex-start;margin-bottom:var(--sp-4);padding:12px 14px;border:1px solid #f7c2c4;border-left:3px solid var(--c-danger);border-radius:var(--r-sm);background:var(--c-danger-soft);color:#a12b30;font-size:13px}.auth-card__error mat-icon{flex:0 0 18px;width:18px;height:18px;font-size:18px;color:var(--c-danger)}@media(max-width:1100px){.grid--halves{grid-template-columns:1fr}}@media(max-width:700px){:root{--fs-page-title: 24px;--lh-page-title: 32px}.grid{gap:var(--sp-4)}.grid--summary{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.card__head,table.data-table th,table.data-table td,.toolbar,.filters{padding-inline:var(--sp-4)}.toolbar{flex-wrap:wrap}.toolbar__search{max-width:none}.mat-mdc-dialog-content,.mat-mdc-dialog-actions,.ef__head,.df__head,.pf__head,.tf__head{padding-inline:18px!important}}@media(max-width:420px){.grid--summary{grid-template-columns:1fr}}
