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, #0001ac);--mat-sys-on-tertiary-container: light-dark(#0000ef, #e0e0ff);--mat-sys-on-tertiary-fixed: light-dark(#00006e, #00006e);--mat-sys-on-tertiary-fixed-variant: light-dark(#0000ef, #0000ef);--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(#343dff, #bec2ff);--mat-sys-tertiary-container: light-dark(#e0e0ff, #0000ef);--mat-sys-tertiary-fixed: light-dark(#e0e0ff, #e0e0ff);--mat-sys-tertiary-fixed-dim: light-dark(#bec2ff, #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}body{color-scheme:light;background-color:var(--mat-sys-surface);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);margin:0}html,body{height:100%}body{margin:0;font-family:Roboto,Helvetica Neue,sans-serif;overflow-x:hidden;background:#f1f5f9}*{box-sizing:border-box}#root,app-root{display:block;width:100%;min-height:100vh}.loading-indicator{position:fixed;z-index:10001;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.page-container{max-width:100%;width:100%;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px;padding:16px 20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d}.page-header h1{font-size:24px;font-weight:600;color:#1e293b;margin:0 0 4px}.page-header h1 .material-icons{font-size:28px;color:#3b82f6;vertical-align:middle;margin-right:8px}.subtitle{font-size:13px;color:#64748b;margin:0}.search-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:12px 20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;flex-wrap:nowrap}.search-input-wrapper{position:relative;flex:1;min-width:250px;max-width:400px;display:flex;align-items:center}.search-input-wrapper .search-icon{position:absolute;left:12px;color:#64748b;font-size:18px;pointer-events:none}.search-input{width:100%;padding:10px 12px 10px 42px;border:2px solid #e2e8f0;border-radius:8px;font-size:13px;color:#1e293b;transition:all .2s ease}.search-input:hover{border-color:#cbd5e1}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:#94a3b8}.clear-search-btn{position:absolute;right:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.clear-search-btn:hover{background:#e2e8f0}.clear-search-btn .material-icons{font-size:18px;color:#64748b}.filter-options{display:flex;align-items:center;gap:8px;color:#64748b;font-size:13px;flex-shrink:0}.filter-options label{font-weight:500}.items-per-page-select{padding:6px 28px 6px 10px;border:2px solid #e2e8f0;border-radius:6px;font-size:13px;color:#1e293b;background:#fff;cursor:pointer;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.items-per-page-select:hover{border-color:#cbd5e1}.items-per-page-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.table-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;margin-bottom:16px}.table-wrapper{width:100%;overflow-x:auto;background:#fff}.custom-table{width:100%;border-collapse:collapse;min-width:800px}.custom-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0}.custom-table th{padding:10px 12px;text-align:left;font-weight:600;color:#1e293b;font-size:13px;white-space:nowrap}.custom-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;color:#475569;font-size:13px}.custom-table tbody tr:hover{background:#f8fafc;transform:scale(1.001);box-shadow:0 2px 8px #0000000d}.table-row{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.sortable:hover{background:#f8fafc}.th-content{display:flex;align-items:center;justify-content:space-between;gap:6px}.sort-icon{font-size:16px;color:#cbd5e1;transition:all .2s ease}.sortable:hover .sort-icon{color:#94a3b8}.sortable.sorting .sort-icon{color:#3b82f6}.actions-column{text-align:center;width:auto;min-width:100px}.table-footer{padding:12px 20px;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.footer-info{display:flex;align-items:center;gap:8px;color:#64748b;font-size:13px}.footer-info .material-icons{font-size:16px}.search-info{color:#94a3b8;font-size:12px;font-style:italic}.pagination{display:flex;align-items:center;gap:4px}.pagination-btn{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:500;color:#475569}.pagination-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.page-number{padding:0 12px}.pagination-btn.page-number.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.pagination-btn .material-icons{font-size:18px}.pagination-ellipsis{padding:0 8px;color:#94a3b8}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}.badge-icon{font-size:14px}.badge-success{background:#dcfce7;color:#15803d}.badge-neutral{background:#f1f5f9;color:#64748b}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}.badge-id{background:#f1f5f9;color:#475569;padding:3px 8px;font-size:12px;font-weight:600}.btn-add{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #3b82f64d}.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.btn-add:active{transform:translateY(0)}.btn-add .material-icons{font-size:18px}.btn-add-small{display:inline-flex;align-items:center;gap:8px;background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:12px}.btn-add-small:hover{background:#2563eb}.btn-action{padding:5px 10px;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s;margin:0 3px;font-weight:500;display:inline-flex;align-items:center;gap:4px;width:auto;min-width:90px}.btn-action .material-icons{font-size:16px}.btn-view{background:#3b82f6;color:#fff;border:none;padding:8px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-view:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-view .material-icons{font-size:20px}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.btn-icon .material-icons{font-size:20px}.btn-icon.btn-primary{width:36px;height:36px;padding:0;background:#3b82f6;color:#fff}.btn-icon.btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-text{font-size:12px}.btn-edit{background:#3b82f6;color:#fff}.btn-edit:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-green{background:#03a154;color:#fff}.btn-green:hover{background:#04904c;transform:translateY(-1px);box-shadow:0 4px 12px #03a1544d}.btn-yellow{background:#f1d501;color:#000}.btn-yellow:hover{background:#dac102;transform:translateY(-1px);box-shadow:0 4px 12px #03a1544d}.btn-delete{background:#ef4444;color:#fff}.btn-delete:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-cancel{background:#f1f5f9;color:#64748b}.btn-cancel:hover{background:#e2e8f0;color:#475569}.action-buttons{display:flex;justify-content:left;gap:6px;flex-wrap:nowrap}.actions-cell{text-align:center}.empty-state{text-align:center;padding:40px 20px}.empty-content{display:flex;flex-direction:column;align-items:center;gap:12px}.empty-icon{font-size:48px;color:#cbd5e1}.empty-content p{color:#64748b;font-size:14px;margin:0}.editing-row{background:#f0f9ff!important;border-left:3px solid #3b82f6;box-shadow:0 2px 8px #3b82f626;position:relative;z-index:10!important}.editing-row:hover{background:#f0f9ff!important}.editing-row td{position:relative;z-index:10}.inline-input{width:100%;padding:6px 10px;border:2px solid #3b82f6;border-radius:6px;font-size:13px;color:#1e293b;background:#fff;transition:all .2s ease;font-family:inherit}.inline-input:hover{border-color:#2563eb}.inline-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.inline-input::placeholder{color:#94a3b8}.inline-select{width:100%;padding:6px 28px 6px 10px;border:2px solid #3b82f6;border-radius:6px;font-size:13px;color:#1e293b;background:#fff;cursor:pointer;transition:all .2s ease;font-family:inherit;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%233b82f6' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.inline-select:hover{border-color:#2563eb}.inline-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.inline-select-wrapper{position:relative;width:100%;z-index:1000}.inline-filter-input{width:100%;padding:6px 10px;border:2px solid #3b82f6;border-radius:6px;font-size:13px;color:#1e293b;background:#fff;font-family:inherit;position:relative;z-index:1001}.inline-filter-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #3b82f61a}.inline-dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:#fff;border:2px solid #3b82f6;border-top:none;border-radius:0 0 6px 6px;box-shadow:0 8px 24px #0003;z-index:10002!important}.inline-dropdown-item{padding:8px 10px;cursor:pointer;transition:background .2s;font-size:13px}.inline-dropdown-item:hover{background:#f0f9ff}.inline-dropdown-item.selected{background:#dbeafe;color:#1e40af;font-weight:600}.inline-dropdown-empty{padding:8px 10px;color:#94a3b8;text-align:center;font-style:italic;font-size:13px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}.modal-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease;overflow:visible}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#fff)}.header-content{display:flex;flex-direction:row!important;align-items:center!important;gap:16px!important;flex:1}.header-icon{width:56px!important;height:56px!important;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:12px;font-size:32px!important;margin-bottom:0!important;box-shadow:0 4px 12px #3b82f64d;flex-shrink:0}.header-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.modal-header h2{margin:0;font-size:24px;font-weight:600;color:#1e293b;line-height:1.2}.modal-subtitle{margin:0;font-size:14px;color:#64748b;line-height:1.4}.btn-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#64748b;border-radius:8px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.btn-close:hover{background:#f1f5f9;color:#1e293b}.btn-close .material-icons{font-size:28px}.modal-body{padding:20px 24px;overflow-y:auto;flex:1}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e2e8f0;background:#f8fafc}.btn-secondary,.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-secondary{background:#fff;color:#64748b;border:2px solid #e2e8f0}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f64d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.btn-primary:active,.btn-secondary:active{transform:translateY(0)}.btn-primary:disabled{background:#cbd5e1;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary .material-icons,.btn-secondary .material-icons{font-size:18px}.form-group{margin-bottom:14px}.form-row{display:flex;gap:16px;align-items:flex-start}.form-row>*{flex:1}.form-label{min-height:24px;gap:6px;font-weight:600;font-size:13px;color:#475569;display:flex;align-items:center;margin-bottom:6px}.label-icon{font-size:18px;color:#3b82f6}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;color:#94a3b8;font-size:20px;pointer-events:none;transition:color .2s ease}.form-control{width:100%;padding:10px 12px 10px 42px;border:2px solid #e2e8f0;border-radius:8px;font-size:13px;color:#1e293b;transition:all .2s ease;font-family:inherit}.form-control::placeholder{color:#94a3b8}.form-control:hover{border-color:#cbd5e1}.form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-control:focus+.input-icon,.input-wrapper:focus-within .input-icon{color:#3b82f6}.radio-group{display:flex;gap:12px;padding:6px 0}.radio-option{flex:1;display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative}.radio-option:hover{border-color:#3b82f6;background:#f0f9ff}.radio-option input[type=radio]{position:absolute;opacity:0;cursor:pointer}.radio-custom{width:18px;height:18px;border:2px solid #cbd5e1;border-radius:50%;position:relative;transition:all .2s ease;flex-shrink:0}.radio-custom:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:8px;height:8px;border-radius:50%;background:#3b82f6;transition:transform .2s ease}.radio-option input[type=radio]:checked~.radio-custom{border-color:#3b82f6}.radio-option input[type=radio]:checked~.radio-custom:after{transform:translate(-50%,-50%) scale(1)}.radio-option input[type=radio]:checked~.radio-label{color:#3b82f6;font-weight:600}.radio-label{display:flex;align-items:center;gap:4px;font-size:13px;color:#475569;transition:all .2s ease}.radio-icon{font-size:16px}.info-box{display:flex;gap:8px;padding:10px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-top:16px;font-size:12px}.info-icon{color:#3b82f6;font-size:18px;flex-shrink:0}.info-content{font-size:12px;color:#1e40af;line-height:1.4}.info-content strong{font-weight:600}.dropdown-panel{position:fixed!important;z-index:999999!important;width:var(--dropdown-width)}.select-trigger{position:relative}.searchable-select{--dropdown-width: 100%}.period-container{display:flex;align-items:center;gap:8px;flex:0 0 auto}.period-label{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap;flex-shrink:0}.search-input-wrapper.period-wrapper{position:relative;flex:0 0 auto;min-width:150px;max-width:150px}.period-select{width:100%;padding:10px 12px 10px 42px;border:2px solid #e2e8f0;border-radius:8px;font-size:13px;color:#1e293b;background:#fff;cursor:pointer;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.period-select:hover{border-color:#cbd5e1}.period-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-back{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.btn-back .material-icons{font-size:18px}@media (max-width: 1200px){.search-bar{flex-wrap:wrap}.search-bar>.search-input-wrapper:first-child{flex:1 1 100%;min-width:100%;max-width:100%}}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;padding:14px 16px}.page-header h1{font-size:20px}.btn-add,.btn-back{width:100%;justify-content:center}.search-bar{padding:12px 16px;flex-direction:column;align-items:stretch;gap:16px}.search-bar>.search-input-wrapper:first-child{width:100%;min-width:100%}.period-container{width:100%}.search-input-wrapper.period-wrapper{flex:1;min-width:0;max-width:100%}.filter-options{width:100%;justify-content:flex-start}.custom-table{min-width:800px}.th-content{flex-direction:column;align-items:flex-start;gap:4px}.pagination{flex-wrap:wrap;justify-content:center}.table-footer{flex-direction:column;gap:16px;align-items:center}.footer-info{width:100%;justify-content:center}.action-buttons{flex-direction:row!important;gap:4px}.btn-text{display:none}.modal-overlay{padding:0}.modal-container{max-width:100%;max-height:100vh;border-radius:0;height:100%}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#fff);gap:16px}.modal-body{padding:16px 20px}.form-row{flex-direction:column;gap:12px}.radio-group{flex-direction:column;gap:8px}.modal-footer{padding:14px 20px;flex-direction:column-reverse}.btn-secondary,.btn-primary{width:100%;justify-content:center}.modal-header{padding:18px 24px}.header-content{gap:12px!important}.header-icon{width:48px!important;height:48px!important;font-size:28px!important}.modal-header h2{font-size:20px}.modal-subtitle{font-size:13px}.btn-close{width:40px;height:40px}.btn-close .material-icons{font-size:24px}}@media (max-width: 480px){.search-bar{padding:12px 16px}.period-container{flex-direction:row;gap:12px}.filter-options{flex-direction:row;align-items:center;gap:8px}.pagination-btn.page-number{padding:0 8px;min-width:32px}.inline-input,.inline-select{padding:10px}.header-content{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.header-icon{width:44px!important;height:44px!important;font-size:26px!important}}.results-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:16px}.results-info{display:flex;flex-direction:column;gap:4px}.results-header h3{margin:0;font-size:18px;font-weight:600;color:#1e293b}.results-count{font-size:13px;color:#64748b}.export-buttons{display:flex;gap:12px}.btn-export{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;color:#fff}.btn-export .material-icons{font-size:20px}.btn-excel{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.btn-excel:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.btn-pdf{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d}.btn-pdf:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.btn-export:active{transform:translateY(0)}.report-table{width:100%;border-collapse:collapse}.report-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0}.report-table th{padding:12px 16px;text-align:left;font-weight:600;color:#1e293b;font-size:13px;white-space:nowrap}.report-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;color:#475569;font-size:13px}.report-table tbody tr:hover{background:#f8fafc}.text-right{text-align:right}.total-cell{font-weight:600;color:#1e293b;background:#f8fafc}@media (max-width: 768px){.results-header{flex-direction:column;align-items:flex-start}.export-buttons{width:100%;flex-direction:column}.btn-export{width:100%;justify-content:center}.report-table{display:block;overflow-x:auto;white-space:nowrap}}.filter-action-center .btn-search{width:auto!important;min-width:200px;max-width:300px;padding:12px 32px}@media (max-width: 768px){.filter-action-center .btn-search{width:100%!important;max-width:100%}}
