@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@font-face{font-family:Inter;src:url(/fonts/Inter-VariableFont_opsz,wght.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}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 Inter;--mat-sys-body-large-font: Inter;--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 Inter;--mat-sys-body-medium-font: Inter;--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 Inter;--mat-sys-body-small-font: Inter;--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 Inter;--mat-sys-display-large-font: Inter;--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 Inter;--mat-sys-display-medium-font: Inter;--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 Inter;--mat-sys-display-small-font: Inter;--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 Inter;--mat-sys-headline-large-font: Inter;--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 Inter;--mat-sys-headline-medium-font: Inter;--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 Inter;--mat-sys-headline-small-font: Inter;--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 Inter;--mat-sys-label-large-font: Inter;--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 Inter;--mat-sys-label-medium-font: Inter;--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 Inter;--mat-sys-label-small-font: Inter;--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 Inter;--mat-sys-title-large-font: Inter;--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 Inter;--mat-sys-title-medium-font: Inter;--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 Inter;--mat-sys-title-small-font: Inter;--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}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}html,body{height:100%;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.5;color:#111827;background:#f9fafb;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Poppins,Inter,sans-serif;font-weight:600;line-height:1.25;margin:0 0 1rem;color:#111827}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.125rem}h4{font-size:1rem}p{margin:0 0 1rem;color:#4b5563}a{color:#2196f3;text-decoration:none;transition:color .15s ease}a:hover{color:#1565a9}.mat-mdc-card{--mdc-elevated-card-container-color: #ffffff;--mdc-elevated-card-container-elevation: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);border-radius:12px!important;border:1px solid #f3f4f6;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a!important;transition:box-shadow .2s ease,transform .2s ease}.mat-mdc-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a!important}.mat-mdc-card-header{padding:1.5rem 1.5rem 1rem}.mat-mdc-card-content{padding:0 1.5rem 1.5rem}.mat-mdc-card-content:first-child{padding-top:1.5rem}.mat-mdc-card-actions{padding:1rem 1.5rem 1.5rem;gap:.5rem}.mat-mdc-card-title{font-family:Poppins,Inter,sans-serif!important;font-size:1.125rem!important;font-weight:600!important;color:#111827}.mat-mdc-card-subtitle{font-size:.875rem!important;color:#4b5563!important}.mat-mdc-button,.mat-mdc-raised-button,.mat-mdc-outlined-button,.mat-mdc-flat-button{border-radius:8px!important;font-weight:500!important;letter-spacing:.01em;transition:all .2s ease!important}.mat-mdc-raised-button.mat-primary,.mat-mdc-flat-button.mat-primary{--mdc-filled-button-container-color: #2196f3;--mdc-filled-button-label-text-color: #ffffff}.mat-mdc-raised-button.mat-primary:hover,.mat-mdc-flat-button.mat-primary:hover{--mdc-filled-button-container-color: #1565a9;box-shadow:0 4px 14px #2196f34d}.mat-mdc-raised-button.mat-accent,.mat-mdc-flat-button.mat-accent{--mdc-filled-button-container-color: #00bfa5;--mdc-filled-button-label-text-color: #ffffff}.mat-mdc-raised-button.mat-accent:hover,.mat-mdc-flat-button.mat-accent:hover{--mdc-filled-button-container-color: #00a08a}.mat-mdc-outlined-button{border-color:#e5e7eb!important}.mat-mdc-outlined-button:hover{background-color:#f9fafb!important}.mat-mdc-icon-button{--mdc-icon-button-state-layer-size: 40px;color:#4b5563}.mat-mdc-icon-button:hover{color:#111827;background-color:#f9fafb}.mat-mdc-form-field{width:100%}.mat-mdc-form-field .mdc-text-field--outlined{--mdc-outlined-text-field-outline-color: #e5e7eb;--mdc-outlined-text-field-hover-outline-color: #9ca3af;--mdc-outlined-text-field-focus-outline-color: #2196f3;--mdc-outlined-text-field-container-shape: 8px}.mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper{font-size:.75rem}.mat-mdc-input-element{font-size:1rem!important}.mat-mdc-input-element::placeholder{color:#9ca3af!important}.mat-mdc-select{font-size:1rem!important}.mat-mdc-table{background:transparent!important}.mat-mdc-table .mat-mdc-header-row{background:#f9fafb}.mat-mdc-table .mat-mdc-header-row .mat-mdc-header-cell{font-weight:600;font-size:.875rem;color:#4b5563;border-bottom:1px solid #e5e7eb;padding:1rem}.mat-mdc-table .mat-mdc-row{transition:background-color .15s ease}.mat-mdc-table .mat-mdc-row:hover{background-color:#f9fafb}.mat-mdc-table .mat-mdc-row .mat-mdc-cell{font-size:.875rem;color:#111827;border-bottom:1px solid #f3f4f6;padding:1rem}.table-container{background:#fff;border-radius:12px;border:1px solid #f3f4f6;overflow:hidden}.table-container .mat-mdc-table{width:100%}.mat-mdc-menu-panel{border-radius:12px!important;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a!important;border:1px solid #f3f4f6;min-width:180px}.mat-mdc-menu-item{font-size:.875rem!important}.mat-mdc-menu-item .mat-icon{color:#4b5563;margin-right:.5rem}.mat-mdc-menu-item:hover .mat-icon{color:#2196f3}.mat-mdc-dialog-container{--mdc-dialog-container-shape: 16px}.mat-mdc-dialog-container .mat-mdc-dialog-surface{padding:0}.mat-mdc-dialog-title{font-family:Poppins,Inter,sans-serif!important;font-size:1.125rem!important;font-weight:600!important;padding:1.5rem 1.5rem 1rem!important}.mat-mdc-dialog-content{padding:0 1.5rem 1.5rem!important;color:#4b5563}.mat-mdc-dialog-actions{padding:1rem 1.5rem 1.5rem!important;gap:.5rem}.mat-mdc-snack-bar-container{--mdc-snackbar-container-shape: 12px}.mat-mdc-snack-bar-container.snackbar-success{--mdc-snackbar-container-color: #10b981;--mdc-snackbar-supporting-text-color: #ffffff}.mat-mdc-snack-bar-container.snackbar-error{--mdc-snackbar-container-color: #ef4444;--mdc-snackbar-supporting-text-color: #ffffff}.mat-mdc-snack-bar-container.snackbar-warning{--mdc-snackbar-container-color: #00bfa5;--mdc-snackbar-supporting-text-color: #ffffff}.mat-mdc-chip{--mdc-chip-container-shape-radius: 9999px;font-size:.75rem!important;font-weight:500}.mat-mdc-tab-group .mat-mdc-tab{font-weight:500;letter-spacing:.01em}.mat-mdc-tab-group .mat-mdc-tab-header{border-bottom:1px solid #f3f4f6}.mat-mdc-progress-bar{--mdc-linear-progress-active-indicator-color: #2196f3;--mdc-linear-progress-track-color: rgba(33, 150, 243, .15);border-radius:9999px}.mat-mdc-progress-spinner{--mdc-circular-progress-active-indicator-color: #2196f3}.status-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px;text-transform:capitalize}.status-badge.status-draft{background:#f3f4f6;color:#4b5563}.status-badge.status-final,.status-badge.status-open{background:#e3f2fd;color:#2563eb}.status-badge.status-sent{background:#fef3c7;color:#d97706}.status-badge.status-paid{background:#e8f5e9;color:#059669}.status-badge.status-cancelled,.status-badge.status-overdue{background:#ffebee;color:#dc2626}.page-container{padding:1.5rem;max-width:1400px;margin:0 auto}@media(min-width:768px){.page-container{padding:2rem}}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.page-header h1{margin:0}.page-actions{display:flex;gap:.5rem;flex-wrap:wrap}.form-row{display:grid;gap:1rem}@media(min-width:768px){.form-row{grid-template-columns:repeat(2,1fr)}}.form-row-3{display:grid;gap:1rem}@media(min-width:768px){.form-row-3{grid-template-columns:repeat(3,1fr)}}.form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #f3f4f6}@media(max-width:767px){.hide-mobile{display:none!important}}@media(min-width:768px){.show-mobile-only{display:none!important}}.text-primary{color:#111827}.text-secondary{color:#4b5563}.text-muted{color:#9ca3af}.text-success{color:#10b981}.text-warning{color:#00bfa5}.text-error{color:#ef4444}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.mt-0{margin-top:0}.mt-sm{margin-top:.5rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:1.5rem}.mt-xl{margin-top:2rem}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:.5rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.5rem}.mb-xl{margin-bottom:2rem}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.empty-state{align-items:center;justify-content:center;display:flex;flex-direction:column;padding:48px;text-align:center;color:#9ca3af}.empty-state mat-icon{font-size:48px;width:48px;height:48px;margin-bottom:1rem;opacity:.5}.empty-state h3{margin:0 0 .5rem;color:#4b5563}.empty-state p{margin:0;max-width:300px}.loading-container{display:flex;align-items:center;justify-content:center;padding:48px}.skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:.375rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f3f4f6;border-radius:9999px}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}
