:root{--color-primary:#e31e24;--color-secondary:#212121;--color-black:#000;--color-white:#fff;--color-gray-50:#f5f5f5;--color-gray-100:#e0e0e0;--color-gray-200:#bdbdbd;--color-gray-300:#9e9e9e;--color-gray-400:#757575;--color-gray-500:#616161;--color-gray-600:#424242;--color-gray-700:#303030;--color-gray-800:#212121;--color-gray-900:#121212;--color-text-primary:#212121;--color-text-secondary:#757575;--color-text-light:#fff;--color-success:#4caf50;--color-warning:#ff9800;--color-error:#f44336;--color-info:#2196f3;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:50%;--shadow-sm:0 1px 3px #0000001f;--shadow-md:0 2px 8px #0000001a;--shadow-lg:0 4px 16px #00000026;--shadow-xl:0 8px 24px #0003;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,Courier,monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:36px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--breakpoint-mobile:768px;--breakpoint-tablet:1024px;--transition-fast:150ms ease-in-out;--transition-normal:250ms ease-in-out;--transition-slow:350ms ease-in-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:var(--color-gray-50);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);overflow-x:hidden}code{font-family:var(--font-mono)}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:#b01419;text-decoration:underline}button{border:none;cursor:pointer;font-family:inherit;font-size:inherit;transition:all var(--transition-fast)}button:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-family:inherit;font-size:inherit;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #e31e241a;outline:none}img{display:block;height:auto;max-width:100%}ol,ul{list-style:none}.container{margin:0 auto;max-width:1280px;padding:0 var(--spacing-md)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.hidden{display:none!important}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (max-width:767px){.container{padding:0 var(--spacing-sm)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}.hide-mobile{display:none!important}.show-mobile{display:block!important}a,button,input[type=button],input[type=submit]{min-height:44px;min-width:44px}}@media (min-width:768px) and (max-width:1023px){.grid-cols-3{grid-template-columns:repeat(2,1fr)}.hide-tablet{display:none!important}}@media (min-width:1024px){.hide-desktop{display:none!important}.show-desktop{display:block!important}}@media print{.no-print{display:none!important}}@media (max-width:767px){.text-center-mobile{text-align:center}header .flex-between{flex-wrap:wrap;gap:var(--spacing-sm)}header nav{font-size:var(--font-size-sm);gap:var(--spacing-sm)!important}header .badge{font-size:var(--font-size-xs)}.p-md{padding:var(--spacing-sm)}.p-lg{padding:var(--spacing-md)}.gap-lg{gap:var(--spacing-md)}}.btn{align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all var(--transition-fast)}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:#b01419;box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-gray-200);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-300)}.btn-outline{background-color:initial;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white)}.btn-success{background-color:var(--color-success);color:var(--color-white)}.btn-warning{background-color:#ffe066}.btn-error,.btn-warning{color:var(--color-white)}.btn-error{background-color:var(--color-error)}.btn-sm{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md)}.btn-lg{font-size:var(--font-size-lg);padding:var(--spacing-md) var(--spacing-xl)}.btn-block{width:100%}.card{background-color:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card-compact{padding:var(--spacing-md)}.card-header{border-bottom:1px solid var(--color-gray-100);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding-bottom:var(--spacing-sm)}.card-header,.form-group{margin-bottom:var(--spacing-md)}.form-label{color:var(--color-text-primary);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.form-input{border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast);width:100%}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #e31e241a;outline:none}.form-select{-webkit-appearance:none;appearance:none;background-color:var(--color-white);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23666' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right var(--spacing-sm) center;background-repeat:no-repeat;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);padding-right:var(--spacing-xl);transition:border-color var(--transition-fast);width:100%}.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #e31e241a;outline:none}.form-select:disabled{background-color:var(--color-gray-50);cursor:not-allowed;opacity:.6}.form-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.badge{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.5px;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.badge-pending{background-color:#e0e0e0;color:#212121}.badge-approved{background-color:#e8f5e9;color:#2e7d32}.badge-rejected{background-color:#ffebee;color:#c62828}.badge-primary{background-color:#ffe066;color:var(--color-primary)}.badge-secondary{background-color:var(--color-secondary);color:var(--color-text-primary)}.spinner{animation:spin 1s linear infinite;border-top:3px solid var(--color-gray-200);border:3px solid var(--color-gray-200);border-radius:50%;border-top-color:var(--color-primary);height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinner-sm{border-width:2px;height:20px;width:20px}.alert{align-items:center;border-radius:var(--radius-sm);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.alert-success{background-color:#e8f5e9;border-left:4px solid var(--color-success);color:#2e7d32}.alert-error{background-color:#ffebee;border-left:4px solid var(--color-error);color:#c62828}.alert-warning{background-color:#fff3e0;border-left:4px solid var(--color-warning);color:#e65100}.alert-info{background-color:#e3f2fd;border-left:4px solid var(--color-info);color:#1565c0}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-md);position:fixed;right:0;top:0;z-index:var(--z-modal-backdrop)}.modal{background-color:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);max-height:90vh;max-width:600px;overflow-y:auto;padding:var(--spacing-xl);width:100%;z-index:var(--z-modal)}.modal-large{max-width:1200px}@media (max-width:767px){.modal{border-radius:0;height:100vh;max-height:100vh;max-width:100%;padding:var(--spacing-md);width:100%}}.divider{background-color:var(--color-gray-200);height:1px;margin:var(--spacing-md) 0}.empty-state{color:var(--color-text-secondary);padding:var(--spacing-3xl) var(--spacing-md);text-align:center}.empty-state-icon{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-md);opacity:.3}.empty-state-text{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.month-chip{background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-fast)}.month-chip:hover{background-color:#e31e240d;border-color:var(--color-primary);color:var(--color-primary)}.month-chip-active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.month-chip-active:hover{background-color:#b01419;border-color:#b01419;color:var(--color-white)}.dashboard-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;padding:var(--spacing-lg)}.invoice-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:var(--spacing-lg)}@media (max-width:767px){.main-content{padding:var(--spacing-md)}.invoice-grid{grid-template-columns:1fr}}@media (min-width:768px) and (max-width:1023px){.invoice-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.invoice-grid{grid-template-columns:repeat(3,1fr)}}
/*# sourceMappingURL=main.e66c2348.css.map*/