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{--ah-primary: #2563eb;--ah-primary-dark: #1d4ed8;--ah-accent: #f97316;--ah-accent-light: #fb923c;--ah-text: #0f172a;--ah-text-soft: #64748b;--ah-text-muted: #94a3b8;--ah-bg: #f5f7fb;--ah-surface: #ffffff;--ah-surface-soft: #f8fafc;--ah-border: #e5e7eb;--ah-border-soft: #eef2f7;--ah-success: #10b981;--ah-success-bg: #ecfdf3;--ah-danger: #ef4444;--ah-danger-bg: #fef2f2;--ah-warning: #f59e0b;--ah-warning-bg: #fff7ed;--ah-info: #2563eb;--ah-info-bg: #eff6ff;--ah-radius-sm: 8px;--ah-radius-md: 12px;--ah-radius-lg: 14px;--ah-radius-xl: 16px;--ah-shadow-sm: 0 4px 14px rgba(15, 23, 42, .03);--ah-shadow-md: 0 8px 24px rgba(15, 23, 42, .06);--ah-shadow-lg: 0 12px 32px rgba(15, 23, 42, .08);--ah-sidebar-width: 260px}html,body{margin:0;padding:0;min-height:100%;font-family:Inter,Arial,sans-serif;background:var(--ah-bg);color:var(--ah-text)}body{overflow-x:hidden}*{box-sizing:border-box}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.mat-mdc-snack-bar-container.toast-error .mdc-snackbar__surface{background:#dc2626}.mat-mdc-snack-bar-container.toast-error .mdc-snackbar__label{color:#fff;font-weight:600}.mat-mdc-snack-bar-container.toast-error .mat-mdc-button{color:#fff}.mat-mdc-snack-bar-container.toast-success .mdc-snackbar__surface{background:#16a34a}.mat-mdc-snack-bar-container.toast-success .mdc-snackbar__label{color:#fff;font-weight:600}.mat-mdc-snack-bar-container.toast-success .mat-mdc-button{color:#fff}.mat-mdc-snack-bar-container.toast-warning .mdc-snackbar__surface{background:#d97706}.mat-mdc-snack-bar-container.toast-warning .mdc-snackbar__label{color:#fff;font-weight:600}.mat-mdc-snack-bar-container.toast-warning .mat-mdc-button{color:#fff}.mat-mdc-snack-bar-container.toast-info .mdc-snackbar__surface{background:#2563eb}.mat-mdc-snack-bar-container.toast-info .mdc-snackbar__label{color:#fff;font-weight:600}.mat-mdc-snack-bar-container.toast-info .mat-mdc-button{color:#fff}.page-shell{padding:8px 6px 6px}.page-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.page-topbar-left,.page-topbar-right{display:flex;align-items:center;gap:10px}.page-title{margin:0 0 4px;font-size:26px;font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--ah-text)}.page-subtitle{margin:0;font-size:14px;color:var(--ah-text-soft)}.section-gap{margin-bottom:18px}.page-breadcrumb{margin-bottom:6px;font-size:12px;font-weight:700;color:var(--ah-text-muted);letter-spacing:.02em}.page-topbar-left.stack{flex-direction:column;align-items:flex-start;gap:0}@media(max-width:991px){.page-topbar{flex-direction:column;align-items:flex-start}}.primary-btn,.secondary-btn,.ghost-btn,.row-btn,.toolbar-btn{height:36px;border-radius:9px;padding:0 14px;font-size:13px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .18s ease}.primary-btn{background:var(--ah-primary);border-color:var(--ah-primary);color:#fff;box-shadow:0 8px 20px #2563eb2e}.primary-btn:hover{background:var(--ah-primary-dark);border-color:var(--ah-primary-dark)}.secondary-btn{background:#fff;border-color:#cbd5e1;color:var(--ah-text)}.secondary-btn:hover{background:#f8fafc}.ghost-btn{background:var(--ah-surface-soft);border-color:#e2e8f0;color:#475569}.ghost-btn:hover{background:#f1f5f9}.row-btn,.toolbar-btn{background:#fff;border-color:#cbd5e1;color:var(--ah-text)}.row-btn:hover,.toolbar-btn:hover{background:#f8fafc}.toolbar-btn.primary{background:var(--ah-primary);border-color:var(--ah-primary);color:#fff}.toolbar-btn.primary:hover{background:var(--ah-primary-dark);border-color:var(--ah-primary-dark)}.icon-btn{width:34px;height:34px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:var(--ah-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s ease}.icon-btn:hover{background:#f8fafc}.icon-btn.danger:hover{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:18px}.stat-card{background:var(--ah-surface);border:1px solid var(--ah-border);border-radius:var(--ah-radius-lg);padding:16px;box-shadow:var(--ah-shadow-sm)}.stat-title{font-size:13px;font-weight:600;color:var(--ah-text-soft);margin-bottom:4px}.stat-value{font-size:28px;font-weight:800;line-height:1.1;color:var(--ah-text)}.stat-sub{margin-top:4px;font-size:12px;color:var(--ah-text-muted)}.content-card{background:var(--ah-surface);border:1px solid var(--ah-border);border-radius:var(--ah-radius-lg);padding:16px;box-shadow:var(--ah-shadow-sm)}.card-title{margin:0 0 4px;font-size:15px;font-weight:700;color:var(--ah-text)}.card-subtitle{margin:0;font-size:12px;color:var(--ah-text-soft)}.filter-card{background:var(--ah-surface);border:1px solid var(--ah-border);border-radius:var(--ah-radius-xl);padding:16px;box-shadow:var(--ah-shadow-sm);margin-bottom:18px}.filter-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:220px;flex:1 1 260px}.filter-group.small{flex:0 0 180px;min-width:180px}.filter-group label{font-size:12px;font-weight:700;color:#475569}.filter-group input,.filter-group select,.filter-group textarea{width:100%;min-height:38px;border-radius:9px;border:1px solid #dbe2ea;padding:0 12px;font-size:13px;color:var(--ah-text);background:#fff;outline:none}.filter-group textarea{min-height:96px;padding:10px 12px;resize:vertical}.filter-group input:focus,.filter-group select:focus,.filter-group textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #93c5fd2e}.filter-actions{display:flex;align-items:center;gap:8px}@media(max-width:991px){.filter-row{flex-direction:column;align-items:stretch}.filter-group,.filter-group.small{min-width:100%;flex:1 1 100%}.filter-actions{width:100%;flex-wrap:wrap}}.table-card{background:var(--ah-surface);border:1px solid var(--ah-border);border-radius:var(--ah-radius-lg);overflow:hidden;box-shadow:var(--ah-shadow-sm)}.table-toolbar{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border-bottom:1px solid var(--ah-border-soft);background:#fff}.table-title{font-size:14px;font-weight:700;color:var(--ah-text)}.table-meta{font-size:12px;color:var(--ah-text-soft)}.table-actions{display:flex;align-items:center;gap:8px}.table-search{height:34px;min-width:220px;border:1px solid #dbe2ea;border-radius:8px;padding:0 12px;font-size:13px;color:var(--ah-text);background:#fff;outline:none}.table-search:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #93c5fd2e}.table-wrap{width:100%;overflow-x:auto}.erp-table{width:100%;border-collapse:collapse}.erp-table thead{background:var(--ah-surface-soft)}.erp-table th{text-align:left;padding:10px 14px;font-size:12.5px;font-weight:700;color:#475569;border-bottom:1px solid var(--ah-border);white-space:nowrap}.erp-table td{padding:10px 14px;font-size:13px;color:var(--ah-text);border-bottom:1px solid #f1f5f9;vertical-align:middle}.erp-table tbody tr:hover{background:#fafcff}.erp-table tbody tr:last-child td{border-bottom:none}.erp-table .empty-row td{text-align:center;color:var(--ah-text-muted);padding:26px 14px}.cell-title{font-size:13px;font-weight:700;color:var(--ah-text);margin-bottom:2px}.cell-subtitle{font-size:12px;color:var(--ah-text-soft)}.cell-stack{display:flex;flex-direction:column;gap:2px}.code-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:var(--ah-surface-soft);border:1px solid var(--ah-border);font-size:12px;font-weight:700;color:#334155}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.empty-state{padding:28px 16px;text-align:center}.empty-state-title{font-size:15px;font-weight:700;color:var(--ah-text);margin-bottom:4px}.empty-state-text{font-size:13px;color:var(--ah-text-soft)}@media(max-width:991px){.table-actions{width:100%;flex-wrap:wrap}.table-search{min-width:100%}}.status-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap}.status-badge.active,.status-badge.success{background:var(--ah-success-bg);color:#047857}.status-badge.inactive,.status-badge.danger{background:var(--ah-danger-bg);color:#b91c1c}.status-badge.warning{background:var(--ah-warning-bg);color:#b45309}.status-badge.info{background:var(--ah-info-bg);color:#1d4ed8}.status-badge.neutral{background:#f1f5f9;color:#475569}.text-center{text-align:center}.text-right{text-align:right}.w-100{width:100%}.d-flex{display:flex}.align-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.mb-0{margin-bottom:0}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-18{margin-bottom:18px}.form-section{background:#fff;border:1px solid var(--border-color);border-radius:18px;padding:22px;box-shadow:var(--card-shadow);margin-bottom:20px}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.section-header h2{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.section-header p{font-size:13px;color:var(--text-muted);margin:5px 0 0;line-height:1.5}.section-header.with-icon{justify-content:flex-start}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.single{grid-template-columns:1fr}.form-field{display:flex;flex-direction:column;gap:7px}.form-field label{font-size:13px;font-weight:600;color:var(--text-secondary)}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--border-color);background:#fff;border-radius:12px;padding:11px 13px;font-size:14px;color:var(--text-primary);outline:none;transition:all .2s ease}.form-field textarea{min-height:96px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px #2563eb1f}.form-field input[readonly],.form-field textarea[readonly]{background:#f8fafc;color:#64748b}.form-hint{font-size:12px;color:var(--text-muted)}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:24px}.editor-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:flex-start}.editor-panel{min-width:0}@media(max-width:1100px){.form-grid,.form-grid.three,.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-shell{grid-template-columns:1fr}}@media(max-width:640px){.form-grid,.form-grid.three,.form-grid.four{grid-template-columns:1fr}.form-section{padding:18px}}.section-icon{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px;font-weight:700}.section-icon.blue{background:#eff6ff;color:#2563eb}.section-icon.green{background:#ecfdf5;color:#059669}.section-icon.orange{background:#fff7ed;color:#ea580c}.section-icon.red{background:#fef2f2;color:#dc2626}.section-icon.purple{background:#f5f3ff;color:#7c3aed}.section-icon.dark{background:#f1f5f9;color:#0f172a}.config-menu{background:#fff;border:1px solid var(--border-color);border-radius:18px;padding:12px;box-shadow:var(--card-shadow);position:sticky;top:88px}.config-menu-title{padding:10px 12px 14px;border-bottom:1px solid var(--border-color);margin-bottom:8px}.config-menu-title h3{margin:0;font-size:15px;font-weight:700;color:var(--text-primary)}.config-menu-title p{margin:4px 0 0;font-size:12px;color:var(--text-muted)}.config-menu-item{width:100%;border:0;background:transparent;border-radius:13px;padding:12px;display:flex;align-items:center;gap:11px;cursor:pointer;text-align:left;transition:all .2s ease;color:var(--text-secondary)}.config-menu-item:hover{background:#f8fafc;color:var(--text-primary)}.config-menu-item.active{background:linear-gradient(135deg,#eff6ff,#f8fafc);color:#1d4ed8;box-shadow:inset 0 0 0 1px #2563eb29}.config-menu-icon{width:34px;height:34px;border-radius:11px;background:#f1f5f9;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:17px}.config-menu-text{display:flex;flex-direction:column;min-width:0}.config-menu-text strong{font-size:13px;font-weight:700}.config-menu-text span{font-size:11px;color:var(--text-muted);margin-top:2px}.saas-stepper{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border-color);border-radius:18px;padding:14px 18px;box-shadow:var(--card-shadow);margin-bottom:20px;overflow-x:auto}.stepper-item{display:flex;align-items:center;gap:9px;color:var(--text-muted);white-space:nowrap;font-size:13px;font-weight:600}.stepper-dot{width:28px;height:28px;border-radius:50%;background:#f1f5f9;color:#64748b;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.stepper-item.active{color:var(--primary-color)}.stepper-item.active .stepper-dot{background:var(--primary-color);color:#fff}.stepper-line{width:36px;height:1px;background:var(--border-color);flex-shrink:0}
