@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--background:#fff;--foreground:#171717;--primary:#2563eb;--primary-foreground:#fff;--secondary:#f3f4f6;--secondary-foreground:#1f2937;--accent:#eff6ff;--accent-foreground:#1e40af;--destructive:#ef4444;--destructive-foreground:#fff;--border:#e5e7eb;--input:#e5e7eb;--ring:#2563eb;--radius:.5rem;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed;--primary:#3b82f6;--primary-foreground:#fff;--secondary:#1f2937;--secondary-foreground:#f9fafb;--accent:#1e3a8a;--accent-foreground:#dbeafe;--destructive:#7f1d1d;--destructive-foreground:#fef2f2;--border:#374151;--input:#374151;--ring:#3b82f6}}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--foreground);background:var(--background);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn{border-radius:var(--radius);touch-action:manipulation;justify-content:center;align-items:center;min-height:44px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--primary);color:var(--primary-foreground);box-shadow:0 1px 2px #0000001a}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000001a}.btn-secondary{background-color:var(--secondary);color:var(--secondary-foreground)}.btn-secondary:hover:not(:disabled){background-color:var(--border);transform:translateY(-1px)}.btn-outline{color:var(--foreground);border:1px solid var(--border);background-color:#0000}.btn-outline:hover:not(:disabled){background-color:var(--secondary);border-color:var(--primary);transform:translateY(-1px)}.card{background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:box-shadow .2s;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.card:hover{box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}.input{border-radius:var(--radius);border:1px solid var(--input);background-color:var(--background);width:100%;color:var(--foreground);min-height:44px;padding:.75rem;font-size:.875rem;transition:all .2s}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.input::placeholder{color:var(--secondary-foreground);opacity:.6}input[type=date]{width:100%;min-width:0;max-width:100%}.dropdown-item{color:var(--foreground);background-color:#0000;align-items:center;min-height:44px;padding:.5rem .75rem;transition:background-color .2s;display:flex}.dropdown-item:hover{background-color:var(--secondary)}@media (max-width:768px){.container{padding:0 .75rem}.btn{min-height:44px;padding:.75rem 1rem;font-size:.875rem}.card{border-radius:calc(var(--radius)*.9);padding:1rem}.input{padding:.875rem;font-size:16px}}@media (max-width:480px){.container{padding:0 .5rem}.card{padding:.875rem}}.header-responsive{flex-flow:row;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.header-title-section{flex:auto;min-width:0}.header-actions{flex-direction:row;flex-shrink:0;align-items:center;gap:.75rem;display:flex}.header-actions-row{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}@media (max-width:767px){.header-responsive{flex-wrap:nowrap;align-items:center;gap:.5rem}.header-title-section{flex:auto;min-width:0;overflow:hidden}.header-title-section h1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-bottom:0!important;font-size:1.25rem!important}.header-title-section p{display:none}.header-actions{flex-shrink:0}.header-actions-row{flex-wrap:nowrap;gap:.5rem}}.header-btn{white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.btn-icon{flex-shrink:0}.btn-text{margin-left:.5rem}@media (max-width:767px){.header-btn .btn-text{display:none!important}.header-btn .btn-icon{margin:0!important}.header-btn{justify-content:center!important;align-items:center!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:.5rem!important}}@media (min-width:640px){.header-actions-row{flex-direction:row}}.charts-container{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.chart-wrapper{width:100%;min-width:0;height:250px;min-height:0}.chart-placeholder{width:100%;height:250px}@media (min-width:768px){.charts-container{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.chart-wrapper,.chart-placeholder{height:300px}}@media (max-width:480px){.charts-container{grid-template-columns:1fr;gap:1rem}.chart-wrapper,.chart-placeholder{height:220px}}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:.75rem;display:grid}.filters-grid>div{min-width:0}@media (max-width:768px){.filters-grid{grid-template-columns:1fr;gap:1rem}}.table-card{position:relative;overflow:hidden;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.table-card:hover{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f!important}.table-scroll-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border)transparent;background-color:var(--background);position:relative;overflow-x:auto}.btn-delete{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .2s;display:inline-flex}.btn-delete:hover{background-color:#ef44441a}.btn-delete:active{background-color:#ef444433}.table-scroll-wrapper::-webkit-scrollbar{height:8px}.table-scroll-wrapper::-webkit-scrollbar-track{background:0 0}.table-scroll-wrapper::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}.table-scroll-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--secondary-foreground)}.records-table{border-collapse:collapse;text-align:left;width:100%;min-width:600px}.records-table th{white-space:nowrap;background-color:var(--secondary);border-bottom:1px solid var(--border);padding:1rem;font-weight:600}.records-table td{white-space:nowrap;border-bottom:1px solid var(--border);padding:1rem}@media (max-width:768px){.records-table th,.records-table td{padding:.75rem .5rem;font-size:.875rem}}.pagination-wrapper{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;display:flex}.pagination-info{text-align:center;flex-direction:column;align-items:center;gap:.25rem;min-width:120px;display:flex}.pagination-page{color:var(--foreground);font-weight:500}.pagination-total{color:var(--secondary-foreground);font-size:.875rem}@media (min-width:640px){.pagination-info{flex-direction:row;gap:.5rem}.pagination-total{margin-left:.5rem}}.form-grid-2{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem;display:grid}.form-grid-2>div{min-width:0}@media (min-width:640px){.form-grid-2{grid-template-columns:1fr 1fr}}select.input{cursor:pointer;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='%23171717' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}@media (prefers-color-scheme:dark){select.input{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='%23ededed' d='M6 9L1 4h10z'/%3E%3C/svg%3E")}}textarea.input{resize:vertical;min-height:100px;font-family:inherit}.modal-overlay{z-index:50;background-color:#0006;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{background-color:var(--background);border-radius:var(--radius);width:100%;max-width:600px;max-height:90vh;padding:1.5rem;overflow-y:auto;box-shadow:0 4px 12px #00000026}@media (max-width:768px){.modal-overlay{justify-content:center!important;align-items:center!important;padding:.5rem!important}.modal-card{border-radius:1rem!important;max-width:100%!important;max-height:85vh!important;margin:0!important;padding:1.25rem!important}}@media (max-height:600px){.modal-card{max-height:95vh!important}}.auth-page-container{background-color:var(--secondary);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{width:100%;max-width:400px;margin:0 auto}.error-message{color:var(--destructive);border-radius:var(--radius);border:1px solid var(--destructive);background-color:#ef44441a;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.5}@media (max-width:480px){.auth-page-container{align-items:flex-start;padding:2rem .5rem .5rem}.auth-card{max-width:100%}}.import-method-buttons{flex-wrap:wrap;gap:.75rem;display:flex}.import-method-btn{border-radius:var(--radius);border:2px solid var(--input);min-width:150px;color:var(--foreground);cursor:pointer;background-color:#0000;flex:1;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.75rem 1rem;font-weight:500;transition:all .2s;display:flex}.import-method-btn.active{border-color:var(--primary);background-color:var(--primary);color:#fff}.import-method-btn:hover{border-color:var(--primary);background-color:var(--primary);color:#fff;opacity:.9}.file-upload-area{border:2px dashed var(--input);border-radius:var(--radius);text-align:center;background-color:var(--background);cursor:pointer;padding:2rem;transition:all .2s}.file-upload-area:hover{border-color:var(--primary);background-color:var(--accent)}@media (max-width:768px){.import-method-buttons{flex-direction:column}.import-method-btn{width:100%;min-width:auto}.file-upload-area{padding:1.5rem 1rem}}
