:root{--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--gray-0: #ffffff;--gray-50: #f7f8fa;--gray-100: #f0f2f5;--gray-200: #e4e7ec;--gray-300: #d0d5dd;--gray-400: #98a1b0;--gray-500: #677184;--gray-600: #4a5263;--gray-700: #353b48;--gray-800: #232833;--gray-900: #151921;--gray-950: #0c0f14;--accent-50: #f1f4fd;--accent-100: #e2e8fb;--accent-200: #c5d1f5;--accent-300: #9cb0ec;--accent-400: #6f89e0;--accent-500: #4a68d4;--accent-600: #3352c2;--accent-700: #2a43a0;--accent-800: #23377f;--accent-900: #1d2c63;--success-50: #effaf4;--success-100: #d9f2e4;--success-200: #b3e4c9;--success-500: #22a061;--success-600: #178a51;--success-700: #136f42;--success-800: #0f5534;--warning-50: #fef8ec;--warning-100: #fcefd0;--warning-200: #f8dc9c;--warning-500: #e09a16;--warning-600: #c2800c;--warning-700: #9a630c;--warning-800: #744a0e;--danger-50: #fdf2f2;--danger-100: #fbe2e2;--danger-200: #f5c2c2;--danger-500: #e04848;--danger-600: #c93636;--danger-700: #a72a2a;--danger-800: #822424;--bg-app: var(--gray-50);--bg-surface: #ffffff;--bg-primary: #ffffff;--bg-secondary: var(--gray-50);--border: var(--gray-200);--border-strong: var(--gray-300);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-muted: var(--gray-500);--accent-primary: var(--accent-600);--primary-50: var(--accent-50);--primary-100: var(--accent-100);--primary-200: var(--accent-200);--primary-500: var(--accent-500);--primary-600: var(--accent-600);--primary-700: var(--accent-700);--blue-50: var(--accent-50);--blue-100: var(--accent-100);--blue-500: var(--accent-500);--blue-600: var(--accent-600);--blue-700: var(--accent-700);--slate-50: var(--gray-50);--slate-100: var(--gray-100);--slate-200: var(--gray-200);--slate-300: var(--gray-300);--slate-400: var(--gray-400);--slate-500: var(--gray-500);--slate-600: var(--gray-600);--slate-700: var(--gray-700);--slate-800: var(--gray-800);--slate-900: var(--gray-900);--slate-950: var(--gray-950);--emerald-50: var(--success-50);--emerald-500: var(--success-500);--emerald-600: var(--success-600);--emerald-700: var(--success-700);--amber-50: var(--warning-50);--amber-500: var(--warning-500);--amber-600: var(--warning-600);--amber-700: var(--warning-700);--rose-50: var(--danger-50);--rose-500: var(--danger-500);--rose-600: var(--danger-600);--rose-700: var(--danger-700);--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--shadow-xs: 0 1px 1px rgba(16, 24, 40, .04);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 2px 6px -1px rgba(16, 24, 40, .07), 0 1px 2px rgba(16, 24, 40, .04);--shadow-lg: 0 10px 24px -6px rgba(16, 24, 40, .12), 0 2px 6px rgba(16, 24, 40, .05);--shadow-xl: 0 24px 48px -12px rgba(16, 24, 40, .22);--shadow-card: 0 1px 2px rgba(16, 24, 40, .05);--ring: 0 0 0 3px rgba(51, 82, 194, .18);--sidebar-width: 248px;--topbar-height: 56px}*,*:before,*:after{box-sizing:border-box}html{height:100%;-webkit-text-size-adjust:100%}body{margin:0;min-height:100%;font-family:var(--font-sans);font-size:14px;line-height:1.5;background:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01"}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--text-primary);letter-spacing:-.015em;line-height:1.25}a{color:var(--accent-600)}button,input,select,textarea{font-family:inherit}code,kbd,pre,.font-mono{font-family:var(--font-mono);font-feature-settings:"zero"}:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}::selection{background:var(--accent-100);color:var(--accent-900)}.stat-num,.kpi-value,.metric-value,.amount-cell,.num-cell,.inv-kpi-val,.stat-value,td.text-right,.text-right{font-variant-numeric:tabular-nums}.mat-icon{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;letter-spacing:normal;text-transform:none;white-space:nowrap;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20}.mat-icon.xs{font-size:14px}.mat-icon.sm{font-size:16px}.mat-icon.md{font-size:19px}.mat-icon.lg{font-size:24px}.mat-icon.xl{font-size:32px}.mat-icon.filled{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:36px;padding:0 .9rem;font-family:var(--font-sans);font-size:.8125rem;font-weight:500;line-height:1;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.btn .mat-icon{font-size:17px}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed}.btn.btn-primary{background:var(--accent-600);border-color:var(--accent-600);color:#fff}.btn.btn-primary:hover:not(:disabled){background:var(--accent-700);border-color:var(--accent-700)}.btn.btn-secondary,.btn.btn-outline{background:var(--bg-surface);border-color:var(--gray-300);color:var(--gray-800);box-shadow:var(--shadow-xs)}.btn.btn-secondary:hover:not(:disabled),.btn.btn-outline:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.btn.btn-ghost{background:transparent;color:var(--gray-700)}.btn.btn-ghost:hover:not(:disabled){background:var(--gray-100)}.btn.btn-success{background:var(--success-600);border-color:var(--success-600);color:#fff}.btn.btn-success:hover:not(:disabled){background:var(--success-700);border-color:var(--success-700)}.btn.btn-danger{background:var(--danger-600);border-color:var(--danger-600);color:#fff}.btn.btn-danger:hover:not(:disabled){background:var(--danger-700);border-color:var(--danger-700)}.btn.btn-sm{height:30px;padding:0 .65rem;font-size:.78rem}.btn.btn-lg{height:42px;padding:0 1.15rem;font-size:.9rem}.btn.btn-block{width:100%}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group>label{font-size:.8rem;font-weight:500;color:var(--gray-700)}.form-control,.form-input,.input-control{width:100%;min-height:36px;padding:.45rem .7rem;font-family:var(--font-sans);font-size:.85rem;color:var(--gray-900);background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius);box-shadow:var(--shadow-xs);transition:border-color .12s ease,box-shadow .12s ease}.form-control::placeholder,.form-input::placeholder,.input-control::placeholder{color:var(--gray-400)}.form-control:hover:not(:disabled),.form-input:hover:not(:disabled),.input-control:hover:not(:disabled){border-color:var(--gray-400)}.form-control:focus,.form-input:focus,.input-control:focus{outline:none;border-color:var(--accent-500);box-shadow:var(--ring)}.form-control:disabled,.form-input:disabled,.input-control:disabled{background:var(--gray-50);color:var(--gray-500)}select.form-control,select.form-input,select.input-control{cursor:pointer}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent-600)}.modal-overlay,.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0c0f1473;backdrop-filter:blur(2px);animation:overlay-in .15s ease}.modal-dialog{width:100%;max-width:560px;max-height:calc(100vh - 3rem);display:flex;flex-direction:column;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;animation:dialog-in .18s cubic-bezier(.2,.8,.2,1)}.modal-dialog.modal-dialog-wide{max-width:880px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.35rem;border-bottom:1px solid var(--gray-200)}.modal-header h3{margin:0;font-size:1.02rem;font-weight:600}.modal-body{padding:1.25rem 1.35rem;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:.6rem;padding:.9rem 1.35rem;border-top:1px solid var(--gray-200);background:var(--gray-50)}.close-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border:none;background:transparent;color:var(--gray-500);font-size:1.3rem;line-height:1;border-radius:var(--radius-sm);cursor:pointer}.close-btn:hover{background:var(--gray-100);color:var(--gray-900)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}.table-container,.table-responsive{width:100%;overflow-x:auto;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg)}.data-table{width:100%;border-collapse:collapse;border-spacing:0;font-size:.83rem;text-align:left}.data-table thead tr th{position:sticky;top:0;z-index:1;background:var(--gray-50);padding:.6rem 1rem;font-size:.74rem;font-weight:500;color:var(--gray-500);text-transform:none;letter-spacing:0;white-space:nowrap;border-bottom:1px solid var(--gray-200)}.data-table tbody tr{border-bottom:1px solid var(--gray-100);transition:background-color .1s ease}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background:var(--gray-50)}.data-table tbody tr td{padding:.7rem 1rem;vertical-align:middle;color:var(--gray-800);white-space:nowrap}.text-muted{color:var(--gray-500)!important}.text-success{color:var(--success-700)!important}.text-danger{color:var(--danger-600)!important}.text-primary{color:var(--accent-600)!important}.text-center{text-align:center}.text-right{text-align:right}.font-bold{font-weight:600}.flex-1{flex:1}.animate-fade{animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:999px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--gray-400);background-clip:content-box;border:3px solid transparent}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}:root{--page-max: 1440px;--page-pad-x: 32px;--page-pad-y: 28px;--fs-title: 22px;--fs-section: 16px;--fs-body: 14px;--fs-small: 13px;--fs-caption: 12px;--fs-metric: 24px}.app-content>router-outlet+*>:first-child:not(.pos-container){width:100%;max-width:var(--page-max)!important;margin-left:auto!important;margin-right:auto!important;padding:var(--page-pad-y) var(--page-pad-x) 48px!important;box-sizing:border-box}.app-content .page-header h1,.app-content .page-header h2,.app-content .header-title-row h1,.app-content .header-title-row h2{font-size:var(--fs-title)!important;font-weight:600!important;line-height:1.25!important;letter-spacing:-.02em!important;color:var(--gray-900)!important;margin:0 0 4px!important}.app-content .page-header .subtitle,.app-content .page-header h1+p,.app-content .page-header h2+p,.app-content .header-title-row .subtitle,.app-content .header-title-row h1+p,.app-content .header-title-row h2+p{font-size:var(--fs-body)!important;font-weight:400!important;color:var(--gray-500)!important;margin:0!important}.app-content h2:not(.page-header h2):not(.header-title-row h2),.app-content h3{font-size:var(--fs-section)!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.35!important}.app-content h4{font-size:var(--fs-body)!important;font-weight:600!important}.app-content .tab-btn{font-size:var(--fs-small)!important;font-weight:500!important}.app-content .btn{font-size:var(--fs-small)!important;font-weight:500!important;min-height:36px;height:auto!important;padding-top:0!important;padding-bottom:0!important}.app-content .btn.btn-sm{font-size:var(--fs-caption)!important;min-height:30px}.app-content table th{font-size:var(--fs-caption)!important;font-weight:500!important;color:var(--gray-500)!important;text-transform:none!important;letter-spacing:0!important}.app-content table td{font-size:var(--fs-body)!important}.app-content input:not([type=checkbox]):not([type=radio]):not([type=range]),.app-content select,.app-content textarea{font-size:var(--fs-body)!important}.app-content .form-group>label,.app-content label.form-label{font-size:var(--fs-small)!important;font-weight:500!important;color:var(--gray-700)!important}.app-content .stat-label,.app-content .kpi-label,.app-content .metric-label,.app-content .inv-kpi-label,.app-content .stat-title{font-size:var(--fs-caption)!important;font-weight:500!important;color:var(--gray-500)!important;text-transform:none!important;letter-spacing:0!important}.app-content .stat-num,.app-content .kpi-value,.app-content .metric-value,.app-content .inv-kpi-val,.app-content .stat-value{font-size:var(--fs-metric)!important;font-weight:600!important;letter-spacing:-.02em!important;line-height:1.2!important}.app-content .stat-sub,.app-content .kpi-sub,.app-content .metric-hint,.app-content .inv-kpi-hint,.app-content .kpi-hint{font-size:var(--fs-caption)!important;color:var(--gray-500)!important}@media (max-width: 760px){:root{--page-pad-x: 16px;--page-pad-y: 20px;--fs-title: 20px;--fs-metric: 20px}}.app-content>app-pos{display:block;height:100%}
