@charset "UTF-8";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, #003737);--mat-sys-on-tertiary-container: light-dark(#004f4f, #00fbfb);--mat-sys-on-tertiary-fixed: light-dark(#002020, #002020);--mat-sys-on-tertiary-fixed-variant: light-dark(#004f4f, #004f4f);--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(#006a6a, #00dddd);--mat-sys-tertiary-container: light-dark(#00fbfb, #004f4f);--mat-sys-tertiary-fixed: light-dark(#00fbfb, #00fbfb);--mat-sys-tertiary-fixed-dim: light-dark(#00dddd, #00dddd);--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 Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--mat-sys-body-large-font: Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--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 Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--mat-sys-body-medium-font: Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--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 Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--mat-sys-body-small-font: Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--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 Sarabun, "Noto Sans Thai", sans-serif;--mat-sys-display-large-font: Sarabun, "Noto Sans Thai", sans-serif;--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 Sarabun, "Noto Sans Thai", sans-serif;--mat-sys-display-medium-font: Sarabun, "Noto Sans Thai", sans-serif;--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 Sarabun, "Noto Sans Thai", sans-serif;--mat-sys-display-small-font: Sarabun, "Noto Sans Thai", sans-serif;--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 Sarabun, "Noto Sans Thai", sans-serif;--mat-sys-headline-large-font: Sarabun, "Noto Sans Thai", sans-serif;--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 Sarabun, "Noto Sans Thai", sans-serif;--mat-sys-headline-medium-font: Sarabun, "Noto Sans Thai", sans-serif;--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 Sarabun, "Noto Sans Thai", sans-serif;--mat-sys-headline-small-font: Sarabun, "Noto Sans Thai", sans-serif;--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 Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--mat-sys-label-large-font: Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--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 Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--mat-sys-label-medium-font: Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--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 Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--mat-sys-label-small-font: Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--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 Sarabun, "Noto Sans Thai", sans-serif;--mat-sys-title-large-font: Sarabun, "Noto Sans Thai", sans-serif;--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 Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--mat-sys-title-medium-font: Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--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 Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--mat-sys-title-small-font: Sarabun, "Noto Sans Thai", "Segoe UI", -apple-system, sans-serif;--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-checkbox-touch-target-display: none;--mat-checkbox-state-layer-size: 32px;--mat-chip-container-height: 24px;--mat-expansion-header-collapsed-state-height: 40px;--mat-expansion-header-expanded-state-height: 56px;--mat-fab-small-touch-target-display: ;--mat-fab-touch-target-display: none;--mat-button-filled-touch-target-display: none;--mat-button-filled-container-height: 32px;--mat-button-outlined-container-height: 32px;--mat-button-outlined-touch-target-display: none;--mat-button-protected-touch-target-display: none;--mat-button-protected-container-height: 32px;--mat-button-text-touch-target-display: none;--mat-button-text-container-height: 32px;--mat-button-tonal-container-height: 32px;--mat-button-tonal-touch-target-display: none;--mat-form-field-container-height: 48px;--mat-form-field-filled-label-display: none;--mat-form-field-container-vertical-padding: 12px;--mat-form-field-filled-with-label-container-padding-top: 12px;--mat-form-field-filled-with-label-container-padding-bottom: 12px;--mat-icon-button-touch-target-display: none;--mat-icon-button-state-layer-size: 32px;--mat-list-list-item-leading-icon-start-space: 8px;--mat-list-list-item-leading-icon-end-space: 8px;--mat-list-list-item-one-line-container-height: 40px;--mat-list-list-item-two-line-container-height: 56px;--mat-list-list-item-three-line-container-height: 80px;--mat-paginator-container-size: 48px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px;--mat-paginator-touch-target-display: none;--mat-radio-touch-target-display: none;--mat-radio-state-layer-size: 32px;--mat-tab-container-height: 40px;--mat-select-arrow-transform: none;--mat-button-toggle-height: 40px;--mat-stepper-header-height: 64px;--mat-table-header-container-height: 48px;--mat-table-footer-container-height: 44px;--mat-table-row-item-container-height: 44px;--mat-toolbar-standard-height: 56px;--mat-toolbar-mobile-height: 48px;--mat-tree-node-min-height: 40px;--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{--bca-blue: #0CC0DF;--bca-primary: #1082FF;--bca-cyan: #1DC3FF;--bca-navy: #171851;--bca-gradient: linear-gradient(135deg, #171851 0%, #4A63D9 50%, #0CC0DF 100%);--bca-button-gradient: linear-gradient(90deg, #4A63D9 0%, #1082FF 100%);--ui-page-bg: #F5F8FF;--ui-surface: #FFFFFF;--ui-soft: #F1F5F9;--ui-border: #E2E8F0;--ui-border-strong: #CBD5E1;--ui-text: #0F172A;--ui-muted: #64748B;--ui-text-soft: #475569;--accent-cyan-50: #ECFEFF;--accent-cyan-100: #CFFAFE;--accent-cyan-700: #0E7490;--accent-rose-500: #F43F5E;--accent-emerald-100: #D1FAE5;--accent-emerald-800: #065F46;--shadow-card: 0 18px 48px rgba(23, 24, 81, .08);--shadow-soft: 0 12px 38px rgba(23, 24, 81, .06);--shadow-rail: 0 28px 80px rgba(23, 24, 81, .12);--shadow-button: 0 12px 26px rgba(23, 24, 81, .18);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 14px;--radius-2xl: 18px;--rail-width: 64px;--submenu-width: 240px;--topbar-height: 58px}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;background:var(--ui-page-bg);color:var(--ui-text);font-family:Sarabun,Noto Sans Thai,Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:13px;line-height:1.5}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border-radius:10px;font-size:12px;font-weight:600;border:1px solid transparent;transition:transform .15s ease,background .15s ease,opacity .15s ease;gap:6px}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--ghost{background:#fff;color:var(--ui-text-soft);border-color:var(--ui-border);box-shadow:0 1px 2px #0f172a0a}.btn--ghost:hover:not(:disabled){background:var(--ui-soft)}.btn--primary{background:var(--bca-navy);color:#fff;box-shadow:var(--shadow-button)}.btn--primary:hover:not(:disabled){opacity:.9}.btn--danger{background:#fff;color:var(--accent-rose-500);border-color:#fecdd3}.btn--danger:hover:not(:disabled){background:#fff1f2}.btn--sm{height:28px;padding:0 10px;font-size:11px;border-radius:8px}.btn--icon-only{width:32px;padding:0}.btn--icon-only.btn--sm{width:28px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.erp-table-wrapper{position:relative;overflow-x:auto;border:1px solid var(--ui-border);border-radius:var(--radius-lg);margin-top:12px}.erp-table{width:100%;border-collapse:collapse;font-size:13px}.erp-table thead tr{background:var(--ui-soft)}.erp-table th{padding:10px 12px;text-align:left;font-size:11px;font-weight:700;color:var(--ui-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--ui-border);white-space:nowrap}.erp-table td{padding:11px 12px;border-bottom:1px solid var(--ui-border);vertical-align:middle}.erp-table th:last-child,.erp-table td:last-child{white-space:nowrap}.erp-table td:last-child .btn--icon-only,.erp-table td:last-child .it-btn-save,.erp-table td:last-child .it-btn-cancel{display:inline-flex;vertical-align:middle}.erp-table tbody tr:last-child td{border-bottom:none}.erp-table tbody tr{transition:background .12s ease}.erp-table tbody tr:hover{background:var(--ui-soft)}.erp-table tbody tr.is-selected{background:var(--accent-cyan-50)}.erp-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.erp-table th.sortable:hover{color:var(--bca-navy);background:#1718510a}.erp-table th.col-center,.erp-table td.col-center{text-align:center}.sort-icon{display:inline-flex;margin-left:4px;font-size:11px;color:var(--ui-border);transition:color .15s}.sort-icon.is-active{color:var(--bca-primary)}.td-empty{text-align:center;color:var(--ui-muted);padding:32px}.status-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700}.status-badge.is-active{color:var(--accent-emerald-800);background:var(--accent-emerald-100)}.status-badge.is-inactive{color:var(--accent-rose-500);background:#fee2e2}.tag-list{display:flex;flex-wrap:wrap;gap:4px}.tag-chip{background:var(--ui-soft);color:var(--ui-text-soft);padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.table-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;background:#ffffffb8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--radius-lg);z-index:5;font-size:12px;color:var(--ui-muted)}.table-spinner{width:18px;height:18px;border:2px solid var(--ui-border);border-top-color:var(--bca-primary);border-radius:50%;animation:erp-spin .7s linear infinite}@keyframes erp-spin{to{transform:rotate(360deg)}}.pagination-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 4px 4px;margin-top:4px}.pagination-info{font-size:12px;color:var(--ui-muted)}.pagination-controls{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.page-btn{min-width:32px;background:#fff;border:1px solid var(--ui-border);color:var(--ui-text-soft)}.page-btn.is-active{background:var(--bca-navy);border-color:var(--bca-navy);color:#fff;box-shadow:var(--shadow-button)}.erp-empty-placeholder{min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff6;border:2px dashed var(--ui-border);border-radius:var(--radius-xl);color:var(--ui-muted);text-align:center;padding:40px}.erp-empty-placeholder p{margin:0;font-size:13px;line-height:1.7}.erp-toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:360px;width:100%}.erp-toast{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:var(--radius-lg);background:#fff;box-shadow:0 8px 32px #0f172a24,0 2px 8px #0f172a0f;border-left:4px solid transparent;pointer-events:all;animation:toast-slide-in .28s cubic-bezier(.22,1,.36,1)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.erp-toast--success{border-left-color:#10b981}.erp-toast--error{border-left-color:#ef4444}.erp-toast--warning{border-left-color:#f59e0b}.erp-toast--info{border-left-color:#3b82f6}.erp-toast-icon{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px}.erp-toast--success .erp-toast-icon{background:#d1fae5;color:#065f46}.erp-toast--error .erp-toast-icon{background:#fee2e2;color:#991b1b}.erp-toast--warning .erp-toast-icon{background:#fef3c7;color:#92400e}.erp-toast--info .erp-toast-icon{background:#dbeafe;color:#1e40af}.erp-toast-body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.erp-toast-title{font-size:13px;font-weight:700;color:var(--ui-text);line-height:1.4}.erp-toast-message{font-size:12px;color:var(--ui-muted);line-height:1.5;word-break:break-word}.erp-toast-close{flex-shrink:0;width:20px;height:20px;border:none;background:none;color:var(--ui-muted);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:0;margin-top:1px;transition:background .12s,color .12s}.erp-toast-close:hover{background:var(--ui-soft);color:var(--ui-text)}.erp-confirm-backdrop{position:fixed;inset:0;z-index:10000;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px;animation:erp-confirm-fade .16s ease-out}@keyframes erp-confirm-fade{0%{opacity:0}to{opacity:1}}.erp-confirm-card{position:relative;background:#fff;border-radius:var(--radius-lg);box-shadow:0 20px 60px #0f172a40,0 4px 16px #0f172a1a;width:100%;max-width:440px;overflow:hidden;padding:28px 28px 22px;text-align:center;animation:erp-confirm-pop .2s cubic-bezier(.22,1,.36,1)}@keyframes erp-confirm-pop{0%{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.erp-confirm-bar{position:absolute;top:0;left:0;right:0;height:6px}.erp-confirm--danger .erp-confirm-bar{background:#ef4444}.erp-confirm--warning .erp-confirm-bar{background:#f59e0b}.erp-confirm--info .erp-confirm-bar{background:#3b82f6}.erp-confirm--success .erp-confirm-bar{background:#10b981}.erp-confirm-close{position:absolute;top:12px;right:12px;width:26px;height:26px;border:none;background:transparent;color:var(--ui-muted);font-size:14px;cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.erp-confirm-close:hover{background:var(--ui-soft);color:var(--ui-text)}.erp-confirm-title{margin:6px 0 10px;font-size:18px;font-weight:700;line-height:1.35;word-break:break-word}.erp-confirm--danger .erp-confirm-title{color:#dc2626}.erp-confirm--warning .erp-confirm-title{color:#b45309}.erp-confirm--info .erp-confirm-title{color:var(--bca-navy)}.erp-confirm--success .erp-confirm-title{color:#065f46}.erp-confirm-message{margin:0 0 22px;font-size:14px;color:var(--ui-text-soft);line-height:1.55;white-space:pre-line;word-break:break-word}.erp-confirm-actions{display:flex;gap:10px;justify-content:center;border-top:1px solid #E5E7EB;padding-top:18px}.erp-confirm-btn{min-width:110px;padding:9px 22px;border-radius:8px;border:1px solid transparent;font-size:14px;font-weight:600;cursor:pointer;transition:background .12s,color .12s,border-color .12s,box-shadow .12s}.erp-confirm-btn--ghost{background:#fff;color:var(--ui-text-soft);border-color:#d1d5db}.erp-confirm-btn--ghost:hover{background:var(--ui-soft);color:var(--ui-text)}.erp-confirm-btn--danger{background:#dc2626;color:#fff}.erp-confirm-btn--danger:hover{background:#b91c1c}.erp-confirm-btn--warning{background:#f59e0b;color:#fff}.erp-confirm-btn--warning:hover{background:#d97706}.erp-confirm-btn--info{background:var(--bca-navy);color:#fff}.erp-confirm-btn--info:hover{background:#0f1140}.erp-confirm-btn--success{background:#10b981;color:#fff}.erp-confirm-btn--success:hover{background:#059669}.erp-page-grid{display:grid;gap:20px;padding:20px;align-items:start}.erp-page-grid{grid-template-columns:1fr}@media(min-width:1200px){.erp-page-grid--user{grid-template-columns:1fr 400px}.erp-page-grid--group{grid-template-columns:1fr 520px}}@media(min-width:1200px){.erp-sticky-sidebar{position:sticky;top:calc(var(--topbar-height) + 12px)}}.erp-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:600px){.erp-page-grid{gap:12px;padding:12px}}.erp-form-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:600px){.erp-form-grid-2col{grid-template-columns:1fr}}@media(max-width:1199px){.erp-sticky-sidebar{position:static;width:100%}}.erp-empty-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 16px;color:var(--ui-muted);font-size:13px;background:var(--ui-surface);border:1px dashed var(--ui-border);border-radius:var(--radius-lg)}@media(max-width:600px){.erp-empty-placeholder{padding:24px 12px}}@media(max-width:600px){.mat-mdc-cell .btn--sm{padding:4px 8px;font-size:11px}.mat-mdc-cell .btn--icon-only{padding:4px 6px}}html{--mat-table-background-color: #ffffff;--mat-table-header-container-height: 40px;--mat-table-row-item-container-height: 42px;--mat-table-footer-container-height: 40px;--mat-table-header-headline-color: var(--ui-muted);--mat-table-header-headline-size: 11px;--mat-table-header-headline-weight: 700;--mat-table-header-headline-tracking: .04em;--mat-table-header-headline-line-height: 1.4;--mat-table-row-item-label-text-color: var(--ui-text);--mat-table-row-item-label-text-size: 13px;--mat-table-row-item-label-text-weight: 400;--mat-table-row-item-outline-color: var(--ui-border);--mat-table-footer-supporting-text-color: var(--ui-text-soft);--mat-table-footer-supporting-text-size: 12px;--mat-table-footer-supporting-text-weight: 600;--mat-paginator-container-background-color: #ffffff;--mat-paginator-container-text-color: var(--ui-muted);--mat-paginator-container-text-size: 12px;--mat-paginator-container-size: 44px;--mat-paginator-select-trigger-text-size: 12px;--mat-paginator-enabled-icon-color: var(--ui-text-soft);--mat-paginator-disabled-icon-color: var(--ui-border-strong);--mat-sort-arrow-color: var(--bca-primary);--mat-select-trigger-text-size: 12px;--mat-form-field-container-text-size: 12px}.erp-mat-table-shell{position:relative;border:1px solid var(--ui-border);border-radius:var(--radius-lg);background:#fff;overflow:hidden;margin-top:12px}.erp-mat-table-shell .mat-mdc-table{background:#fff!important}.erp-mat-table-shell .mat-mdc-table .mat-mdc-header-row{background:var(--ui-soft)}.erp-mat-table-shell .mat-mdc-table .mat-mdc-header-row .mat-mdc-header-cell{color:var(--ui-muted);text-transform:uppercase;letter-spacing:.04em;padding:8px 12px;border-bottom:1px solid var(--ui-border);white-space:nowrap}.erp-mat-table-shell .mat-mdc-table .mat-mdc-header-row .mat-mdc-header-cell.text-center .mat-sort-header-container{justify-content:center}.erp-mat-table-shell .mat-mdc-table .mat-mdc-header-row .mat-mdc-header-cell.text-end .mat-sort-header-container,.erp-mat-table-shell .mat-mdc-table .mat-mdc-header-row .mat-mdc-header-cell.text-right .mat-sort-header-container{justify-content:flex-end}.erp-mat-table-shell .mat-mdc-table .mat-mdc-cell{padding:10px 12px;border-bottom:1px solid var(--ui-border);vertical-align:middle}.erp-mat-table-shell .mat-mdc-table .mat-mdc-row{transition:background .12s ease;cursor:default}.erp-mat-table-shell .mat-mdc-table .mat-mdc-row.is-clickable{cursor:pointer}.erp-mat-table-shell .mat-mdc-table .mat-mdc-row:hover:not(.example-detail-row){background:var(--ui-soft)}.erp-mat-table-shell .mat-mdc-table .mat-mdc-row.odd:not(.example-detail-row){background:#0f172a05}.erp-mat-table-shell .mat-mdc-table .mat-mdc-row.odd:not(.example-detail-row):hover{background:var(--ui-soft)}.erp-mat-table-shell .mat-mdc-table .mat-mdc-row.is-selected,.erp-mat-table-shell .mat-mdc-table .mat-mdc-row.highlight{background:var(--accent-cyan-50)!important}.erp-mat-table-shell .mat-mdc-table .mat-mdc-row.example-detail-row{min-height:0}.erp-mat-table-shell .mat-mdc-table .mat-mdc-row.example-detail-row .mat-mdc-cell{padding:0;border-bottom-width:0}.erp-mat-table-shell .mat-mdc-table .mat-mdc-row.example-detail-row.expanded .mat-mdc-cell{border-bottom:1px solid var(--ui-border)}.erp-mat-table-shell .mat-mdc-table .mat-mdc-row:last-of-type .mat-mdc-cell{border-bottom:none}.erp-mat-table-shell .mat-mdc-table .mat-mdc-footer-row{background:var(--ui-soft)}.erp-mat-table-shell .mat-mdc-table .mat-mdc-footer-row .mat-mdc-footer-cell{padding:10px 12px;border-top:1px solid var(--ui-border);border-bottom:none}.erp-mat-table-shell .mat-mdc-table .mat-mdc-no-data-row .mat-mdc-cell{text-align:center;color:var(--ui-muted);padding:32px 12px}.erp-mat-table-shell .mat-mdc-paginator{background:#fff!important;border-top:1px solid var(--ui-border)}.erp-mat-table-shell .mat-mdc-paginator .mat-mdc-paginator-page-size-label,.erp-mat-table-shell .mat-mdc-paginator .mat-mdc-paginator-range-label{color:var(--ui-muted);font-size:12px}.erp-expanded-detail{overflow:hidden;display:block;background:var(--ui-soft);border-top:1px dashed var(--ui-border);padding:12px 16px;font-size:13px;color:var(--ui-text-soft)}input.is-invalid,select.is-invalid,textarea.is-invalid,input.ng-invalid.ng-touched,select.ng-invalid.ng-touched,textarea.ng-invalid.ng-touched{border-color:#f87171!important;box-shadow:0 0 0 3px #fee2e2e6!important}
