@charset "UTF-8";:root{--color-action: #46CE92;--color-action-text: #08301F;--color-action-dim: rgba(70, 206, 146, .18);--color-ink: #0B5C41;--color-ink-light: #EAF7F1;--color-text-primary: #101A16;--color-text-secondary: #3A4A43;--color-text-muted: #6B7C74;--color-text-faint: #9AA8A1;--color-surface-page: #F5F7F5;--color-surface-card: #FFFFFF;--color-surface-tint: #EAF7F1;--color-surface-dark: #0F1A16;--color-surface-elevated: #14201B;--color-border: #E2E8E4;--color-border-dark: #26332D;--color-divider: #EEF2F0;--color-header-bg: #F7F9F8;--color-success: #EAF7F1;--color-success-text: #0B5C41;--color-warning: #FDF4E3;--color-warning-text: #8A5A12;--color-error: #FBEBE8;--color-error-text: #96291D;--color-info: #EDF1F7;--color-info-text: #274B7A;--color-neutral: #F0F2F0;--color-neutral-text: #4E5C56;--color-bg-dark: #0D1512;--color-card-dark: #14201B;--color-text-dark: #F2F7F4;--color-text-muted-dark: #8CA096;--color-text-secondary-dark: #B6C6BE;--sidebar-bg: #0F1A16;--sidebar-text: #D6E2DC;--sidebar-hover: #1B2A23;--sidebar-active: #46CE92;--sidebar-active-text: #08301F;--sidebar-section: #6B8078;--sidebar-faint: #7E948A;--color-action-wash: rgba(70, 206, 146, .04);--color-action-wash-soft: rgba(70, 206, 146, .03);--color-ink-wash: rgba(11, 92, 65, .08)}[data-theme=dark]{--color-text-primary: #F2F7F4;--color-text-secondary: #B6C6BE;--color-text-muted: #8CA096;--color-text-faint: #6F8279;--color-surface-page: #0D1512;--color-surface-card: #14201B;--color-surface-tint: #1B2A23;--color-border: #26332D;--color-divider: #202C26;--color-header-bg: #18251F;--color-ink: #46CE92;--color-ink-light: #1B2A23;--color-success: #172C22;--color-success-text: #7FD8AC;--color-warning: #2C2317;--color-warning-text: #E0B972;--color-error: #2E1B18;--color-error-text: #E79A8D;--color-info: #1D2B3A;--color-info-text: #9CC2EB;--color-neutral: #232F29;--color-neutral-text: #B6C6BE;--color-action-wash: rgba(70, 206, 146, .08);--color-action-wash-soft: rgba(70, 206, 146, .06);--color-ink-wash: rgba(70, 206, 146, .12)}@media (prefers-color-scheme: dark){[data-theme=auto]{--color-text-primary: #F2F7F4;--color-text-secondary: #B6C6BE;--color-text-muted: #8CA096;--color-text-faint: #6F8279;--color-surface-page: #0D1512;--color-surface-card: #14201B;--color-surface-tint: #1B2A23;--color-border: #26332D;--color-divider: #202C26;--color-header-bg: #18251F;--color-ink: #46CE92;--color-ink-light: #1B2A23;--color-success: #172C22;--color-success-text: #7FD8AC;--color-warning: #2C2317;--color-warning-text: #E0B972;--color-error: #2E1B18;--color-error-text: #E79A8D;--color-info: #1D2B3A;--color-info-text: #9CC2EB;--color-neutral: #232F29;--color-neutral-text: #B6C6BE;--color-action-wash: rgba(70, 206, 146, .08);--color-action-wash-soft: rgba(70, 206, 146, .06);--color-ink-wash: rgba(70, 206, 146, .12)}}html,body{height:100%}body{margin:0;font-family:Instrument Sans,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.55;color:var(--color-text-primary);background:var(--color-surface-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-family:Sora,system-ui,-apple-system,sans-serif;font-weight:600;color:var(--color-text-primary);line-height:1.15;margin:0 0 12px;letter-spacing:-.02em}h1{font-size:clamp(1.75rem,4vw,2.5rem)}h2{font-size:clamp(1.5rem,3vw,2rem)}h3{font-size:1.25rem}h4{font-size:1.1rem}a{color:var(--color-ink);text-decoration:none;transition:color all .15s ease}a:hover{color:var(--color-action);text-decoration:underline}table{border-collapse:collapse;width:100%}.mat-icon{font-size:inherit;line-height:inherit;vertical-align:middle}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:none;border-radius:8px;font-family:Instrument Sans,system-ui,-apple-system,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;line-height:1;gap:8px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.btn-primary{background:var(--color-action);color:var(--color-action-text);box-shadow:0 18px 40px -26px #101a1647}.btn.btn-primary:hover:not(:disabled){background:#3dbf82;transform:translateY(-1px)}.btn.btn-secondary{background:var(--color-surface-card);color:var(--color-ink);border:1px solid var(--color-ink)}.btn.btn-secondary:hover:not(:disabled){background:var(--color-ink-light)}.btn.btn-outline{background:transparent;color:var(--color-ink);border:1px solid var(--color-ink)}.btn.btn-outline:hover:not(:disabled){background:var(--color-ink-light)}.btn.btn-quiet{background:var(--color-surface-tint);color:var(--color-ink);border:1px solid transparent}.btn.btn-quiet:hover:not(:disabled){background:var(--color-ink-wash)}.btn.btn-disabled{background:var(--color-surface-tint);color:var(--color-text-faint);border:1px dashed #D5DCD8;cursor:not-allowed}.btn.btn-sm{padding:8px 12px;font-size:13px}.btn.btn-lg{padding:12px 20px;font-size:15px}.btn.full-width{width:100%}.form-control{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--color-border);border-radius:8px;font-family:inherit;font-size:14px;color:var(--color-text-primary);background:var(--color-surface-card);transition:border-color .15s,box-shadow .15s}.form-control:focus{outline:none;border-color:var(--color-ink);box-shadow:0 0 0 3px var(--color-action-dim)}.form-control:disabled{background:var(--color-surface-tint);cursor:not-allowed}.form-control.invalid{border-color:var(--color-error-text)}.form-control.invalid:focus{box-shadow:0 0 0 3px #96291d26}.form-field{display:flex;flex-direction:column;gap:4px;width:100%;min-width:0}.form-field label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.form-field label.required:after{content:" *";color:var(--color-error-text)}.error-message{display:flex;align-items:center;gap:4px;color:var(--color-error-text);font-size:12.5px;margin-top:4px}.modal-shell-overlay{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;background:#101a1673}.modal-shell-panel{display:flex;flex-direction:column;width:620px;max-width:100%;max-height:90vh;background:var(--color-surface-card);border-radius:14px;box-shadow:0 30px 60px -20px #101a1659;overflow:hidden}.modal-shell-header{display:flex;align-items:flex-start;gap:16px;padding:22px 26px 18px;border-bottom:1px solid var(--color-border)}.modal-shell-header .modal-shell-heading{flex:1;min-width:0}.modal-shell-header .modal-shell-title{margin:0;font-family:Sora,system-ui,-apple-system,sans-serif;font-size:20px;font-weight:600;color:var(--color-text-primary)}.modal-shell-header .modal-shell-subtitle{margin:5px 0 0;font-size:13.5px;line-height:1.55;color:var(--color-text-secondary)}.modal-shell-header .modal-shell-close{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);cursor:pointer}.modal-shell-header .modal-shell-close:hover{background:var(--color-neutral);color:var(--color-text-primary)}.modal-shell-header .modal-shell-close mat-icon{font-size:20px;width:20px;height:20px}.modal-shell-body{display:flex;flex-direction:column;gap:18px;padding:22px 26px;overflow-y:auto}.modal-shell-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 26px;border-top:1px solid var(--color-border);background:#fbfcfb}.radio-card-group{display:flex;gap:12px}.radio-card{flex:1;display:block;padding:12px 14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-card);cursor:pointer;transition:border-color .15s,background-color .15s}.radio-card input{position:absolute;opacity:0;pointer-events:none}.radio-card .radio-card-head{display:flex;align-items:center;gap:8px}.radio-card .radio-card-label{font-size:14px;font-weight:600;color:var(--color-text-primary)}.radio-card .radio-card-hint{margin:5px 0 0;font-size:12.5px;line-height:1.45;color:var(--color-text-secondary)}.radio-card mat-icon{flex-shrink:0;font-size:18px;width:18px;height:18px;color:var(--color-text-faint)}.radio-card.is-selected{border-color:var(--color-ink);background:var(--color-surface-tint)}.radio-card.is-selected mat-icon{color:var(--color-ink)}.loading-spinner{width:2rem;height:2rem;border:3px solid var(--color-divider);border-top-color:var(--color-ink);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state p{color:var(--color-text-muted);margin:0}.scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-none::-webkit-scrollbar{display:none}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px;flex-wrap:wrap}.page-header h2{margin:0;font-family:Sora,system-ui,-apple-system,sans-serif;font-size:28px;font-weight:600;line-height:1.15;letter-spacing:-.02em;color:var(--color-text-primary)}.page-header .page-header-left{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.page-header .page-header-title{font-family:Sora,system-ui,-apple-system,sans-serif;font-size:28px;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.15;letter-spacing:-.02em}.page-header .page-header-subtitle{margin:0;max-width:640px;font-size:14px;line-height:1.55;color:var(--color-text-secondary)}.page-header .page-header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0;flex-wrap:wrap}.page-header--compact{margin-bottom:16px;padding-bottom:12px}.entity-list-title{font-family:Sora,system-ui,-apple-system,sans-serif;font-size:28px;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.15;letter-spacing:-.02em}.entity-list-subtitle{color:var(--color-text-secondary);font-size:14px;margin:0}.entity-list-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-page-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.admin-page-header h1{margin:0 0 4px;font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.admin-page-header p{margin:0;color:var(--color-text-muted);font-size:.9rem}.page-container{padding:24px clamp(12px,2.2vw,20px);width:100%;max-width:none;margin:0;box-sizing:border-box}.filters-bar{background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:12px;padding:20px;margin-bottom:16px}.filters-bar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.filters-bar-head .filters-bar-title{font-size:16px;font-weight:600;color:var(--color-text-primary)}.filters-bar-head .filters-bar-reset{border:none;background:none;padding:0;font-family:inherit;font-size:13px;font-weight:600;color:var(--color-text-muted);cursor:pointer}.filters-bar-head .filters-bar-reset:hover{color:var(--color-text-primary)}.filters-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width: 1100px){.filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.filters-grid{grid-template-columns:minmax(0,1fr)}}.filters-grid .filter-group--wide{grid-column:span 2}@media (max-width: 640px){.filters-grid .filter-group--wide{grid-column:span 1}}.filters-grid .filter-group--action{display:flex;flex-direction:column;justify-content:flex-end}.filters-active{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--color-divider)}.filters-active-label{margin-right:2px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.filter-pill{display:inline-flex;align-items:center;gap:6px;border:none;background:var(--color-surface-tint);color:var(--color-ink);border-radius:6px;padding:5px 10px;font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.filter-pill mat-icon{font-size:15px;width:15px;height:15px}.filter-pill:hover{background:#dcf0e6}.filters-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.filters-row+.filters-row{margin-top:12px}.filter-group{display:flex;flex-direction:column;gap:4px;min-width:160px}.filter-group--tenant{min-width:220px}.filter-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.filter-input{min-height:42px;padding:0 12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;color:var(--color-text-primary);background:var(--color-surface-card);font-family:inherit;transition:border-color .15s,box-shadow .15s}.filter-input:focus{outline:none;border-color:var(--color-ink);box-shadow:0 0 0 3px var(--color-action-dim)}.filter-actions{display:flex;gap:8px;padding-bottom:1px}.results-section{min-height:200px}.results-header{margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.results-count{font-size:14px;color:var(--color-text-muted);font-weight:500}.empty-state{text-align:center;padding:40px 16px;background:var(--color-surface-card);border:1px dashed var(--color-border);border-radius:12px}.empty-state p{color:var(--color-text-muted);margin:0;font-size:14px}.empty-state--rich{display:flex;flex-direction:column;align-items:center;padding:56px 32px;border-style:solid}.empty-state--rich .empty-state-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:16px;border-radius:14px;background:var(--color-surface-tint);color:var(--color-ink)}.empty-state--rich .empty-state-icon mat-icon{font-size:26px;width:26px;height:26px}.empty-state--rich .empty-state-title{margin:0;font-family:Sora,system-ui,-apple-system,sans-serif;font-size:19px;font-weight:600;color:var(--color-text-primary)}.empty-state--rich .empty-state-hint{margin:8px 0 0;max-width:420px;font-size:14px;line-height:1.55;color:var(--color-text-secondary)}.empty-state--rich .empty-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px}.loading{text-align:center;padding:40px;color:var(--color-text-muted);font-size:14px}.table-wrap{background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;box-shadow:0 18px 40px -26px #101a1647}.table{width:100%;border-collapse:collapse;font-size:14px}.table thead{background:var(--color-header-bg);border-bottom:1px solid var(--color-border)}.table thead th{padding:8px 12px;text-align:left;font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.table tbody tr{border-bottom:1px solid var(--color-divider);transition:background-color all .15s ease}.table tbody tr:hover{background-color:var(--color-action-wash-soft)}.table tbody tr:last-child{border-bottom:none}.table tbody tr td{padding:8px 12px;color:var(--color-text-secondary);vertical-align:middle}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:20px}.pagination button{padding:8px 12px;background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all all .15s ease;font-size:14px;font-weight:600;color:var(--color-text-secondary)}.pagination button:hover:not(:disabled){background:var(--color-surface-tint);border-color:var(--color-ink)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{color:var(--color-text-muted);font-size:14px;font-family:IBM Plex Mono,ui-monospace,monospace}.entity-list-page{box-sizing:border-box;width:100%;padding:24px 24px 40px}.entity-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.entity-list-header h2{margin:0;font-family:Sora,system-ui,-apple-system,sans-serif;font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--color-text-primary)}.entity-list-table{width:100%;border-collapse:collapse;background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;font-size:14px}.entity-list-table th,.entity-list-table td{text-align:left;padding:14px 20px;border-bottom:1px solid var(--color-divider)}.entity-list-table th{padding:11px 20px;background:var(--color-header-bg);border-bottom:1px solid var(--color-border);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.entity-list-table td{color:var(--color-text-primary);line-height:1.45}.entity-list-table tbody tr:last-child td{border-bottom:none}.entity-list-table tr.clickable{cursor:pointer}.entity-list-table tr.clickable:hover{background:var(--color-surface-tint)}.entity-list-table .cell-code,.entity-list-table .cell-numeric{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12.5px;color:var(--color-text-muted)}.entity-list-table .cell-numeric{color:var(--color-text-secondary)}.entity-list-table .actions{text-align:right;white-space:nowrap}.entity-list-table .actions:has(.actions-cell){white-space:normal}.entity-list-table .actions app-button+app-button{margin-left:.35rem}.entity-list-table .actions .actions-cell{display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}.row-icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-card);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.row-icon-button mat-icon{font-size:18px;width:18px;height:18px}.row-icon-button:hover:not(:disabled){border-color:var(--color-error-text);color:var(--color-error-text);background:var(--color-error)}.row-icon-button:disabled{border-style:dashed;color:#bfc9c4;cursor:not-allowed}.entity-list-muted{color:var(--color-text-muted)}.detail-split{display:flex;align-items:stretch;gap:0;min-height:0;width:100%}.detail-split__main{flex:1;min-width:0;padding-right:.25rem}.detail-split__panel{border-left:1px solid #e2e7ec;background:#fff;padding:1.1rem 1.35rem 1.5rem;overflow:auto;min-height:0;display:flex;flex-direction:column;box-shadow:-2px 0 8px #0f172a0a}.detail-split.detail-split--with-panel{align-items:stretch;min-height:min(72vh,720px)}.detail-split.detail-split--with-panel>.detail-split__main,.detail-split.detail-split--with-panel>.detail-split__panel{flex:0 0 50%;width:50%;max-width:50%;min-width:0}@media (max-width: 1023px){.detail-split.detail-split--with-panel{flex-direction:column;min-height:0}.detail-split.detail-split--with-panel>.detail-split__main,.detail-split.detail-split--with-panel>.detail-split__panel{flex:1 1 auto;width:100%;max-width:100%}.detail-split.detail-split--with-panel>.detail-split__panel{border-left:none;border-top:1px solid #e2e2e2;max-height:min(60vh,560px)}}.detail-split-panel-head{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin:-.15rem 0 1.1rem;padding-bottom:.65rem;border-bottom:1px solid #eef2f6;flex-wrap:nowrap}.detail-split-panel-head h4{margin:0;font-size:1.02rem;font-weight:600;color:#1f2937}.detail-split-panel-head--session-style{align-items:flex-start}.detail-split-panel-head--session-style .detail-split-panel-head-titles{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.detail-split-panel-head--session-style .detail-split-panel-head-titles h4{line-height:1.25}.detail-split-panel-head--session-style .detail-split-panel-close{flex:0 0 auto;align-self:flex-start}.detail-split-panel-close{border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:#666;padding:0 .25rem}.detail-view-section{margin-top:1.25rem;padding:1.25rem 1.5rem 1.5rem;border-radius:8px;border:1px solid #e2e7ec;background:#f9fafb;box-shadow:0 1px 2px #0f172a0a}.detail-split__main>.detail-view-section:first-child,.detail-split__main>.trainee-summary.detail-view-section:first-child{margin-top:0}.edit-content>.detail-view-section:first-child{margin-top:0}.detail-view-section>.section-title:first-child,.detail-view-section>h3.section-title:first-child{margin-top:0}.detail-view-section .section-title{margin:0 0 .85rem;font-size:1.1rem;font-weight:600;color:#1f2937}.admin-layout.admin-theme-dark .ngx-charts .tick text{fill:var(--admin-text-muted)!important}.admin-layout.admin-theme-dark .ngx-charts .tick line{stroke:var(--admin-border-strong)}.admin-layout.admin-theme-dark .ngx-charts .gridline-path{stroke:var(--admin-border)!important}.admin-layout.admin-theme-dark .ngx-charts .grid-panel.odd rect{fill:#ffffff08!important}.admin-layout.admin-theme-dark .ngx-charts .refline-label{fill:var(--admin-text-muted)!important}.admin-layout.admin-theme-light .ngx-charts .tick text{fill:var(--admin-text-muted)!important}.admin-layout.admin-theme-light .ngx-charts .gridline-path{stroke:var(--admin-border)!important}.custom-tooltip{white-space:normal!important;max-width:none!important;background:#fff!important;border:1px solid #ddd!important;color:#333!important;padding:10px!important;box-shadow:0 2px 4px #0000001a!important;line-height:1.4!important;word-break:normal!important;z-index:9999!important;position:fixed!important;pointer-events:none!important;transform:none!important}table tbody tr:nth-child(odd){background-color:transparent}table tbody tr:nth-child(2n){background-color:transparent}table tbody tr:hover{background-color:var(--color-action-wash)!important}.sidebar li{font-weight:400}
