.login-container{align-items:center;background:linear-gradient(135deg,#72aa6b,#627a5e);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:10px;box-shadow:0 10px 25px #0000001a;max-width:400px;padding:2rem;width:100%}.login-title{color:#333;font-size:1.8rem;margin-bottom:.5rem;text-align:center}.login-subtitle{color:#666;font-size:.9rem;margin-bottom:2rem;text-align:center}.login-form{display:flex;flex-direction:column}.form-group{margin-bottom:1.5rem}.form-label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-input{border:2px solid #e1e5e9;border-radius:5px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.form-input:focus{border-color:#72aa6b;outline:none}.form-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:5px;color:#c33;margin-bottom:1rem;padding:.75rem}.login-button{background:linear-gradient(135deg,#72aa6b,#627a5e);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem;transition:opacity .3s ease}.login-button:hover:not(:disabled){opacity:.9}.login-button:disabled{cursor:not-allowed;opacity:.6}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{flex-direction:column;height:100%;padding:10px}.container,.content{display:flex;overflow:hidden}.content{flex:1 1;flex-direction:column}.title{color:#72aa6b;flex-shrink:0;font-size:30px;font-weight:700;margin-bottom:16px}.card{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:12px;padding:16px}.label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.select{border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;outline:none;padding:8px 12px;width:300px}.select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.loading-container{padding:32px 0;text-align:center}.loading-text{color:#6b7280}.subtitle{color:#1f2937;font-size:20px;font-weight:600;margin-bottom:16px}.chart-data-container{display:flex;flex:1 1;gap:10px;min-height:0;overflow:hidden}.chart-container{display:flex;flex:5 1;flex-direction:column;min-width:0;overflow:hidden}.chart-container .card{display:flex;flex:1 1;flex-direction:column;margin-bottom:0;overflow:hidden;padding:16px}.chart-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:16px;padding:0 8px}.chart-area{flex:1 1;min-height:0;position:relative;width:100%}.dygraph-chart{height:100%!important;width:100%!important}.data-table-container{max-width:500px;min-width:300px}.data-table-container,.data-table-container .card{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.data-table-container .card{margin-bottom:0}.table-container{border:1px solid #e5e7eb;border-radius:6px;flex:1 1;min-height:0;overflow-x:auto;overflow-y:auto}.table{border-collapse:collapse;width:100%}.table thead{position:-webkit-sticky;position:sticky;top:0;z-index:1}.table thead,.table-header-row{background-color:#f9fafb}.table-header{color:#6b7280;font-size:12px;font-weight:500;letter-spacing:.05em;padding:4px 8px;text-align:left;text-transform:uppercase}.table-header,.table-row{border-bottom:1px solid #e5e7eb}.table-row:hover{background-color:#f9fafb}.table-cell{color:#1f2937;font-size:12px;padding:4px 8px;white-space:nowrap}.export-button{background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s}.export-button:hover{background-color:#2563eb}.export-button:active{background-color:#1d4ed8}@media (max-width:1024px){.chart-data-container{flex-direction:column}.data-table-container{max-width:100%;min-height:300px}.chart-container{min-height:400px}}.dygraph-legend{background:#fff;font-size:14px;line-height:normal;overflow:hidden;position:absolute;text-align:left;width:250px;z-index:10}.dygraph-legend[dir=rtl]{text-align:right}.dygraph-legend-line{padding-left:1em}.dygraph-legend-dash,.dygraph-legend-line{border-bottom-style:solid;border-bottom-width:2px;bottom:.5ex;display:inline-block;height:1px;position:relative}.dygraph-annotation,.dygraph-roller{position:absolute;z-index:10}.dygraph-annotation{overflow:hidden}.dygraph-default-annotation{background-color:#fff;border:1px solid #000;text-align:center}.dygraph-axis-label{color:#000;line-height:normal;overflow:hidden;z-index:10}.dygraph-title{font-weight:700;z-index:10}.dygraph-title,.dygraph-xlabel{text-align:center}.dygraph-label-rotate-left{text-align:center;transform:rotate(90deg);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg)}.dygraph-label-rotate-right{text-align:center;transform:rotate(-90deg);-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg)}.dygraph-ylabel{font-size:10px}*{box-sizing:border-box}*,body,html{margin:0;padding:0}body,html{height:100%;overflow:hidden;width:100%}.loading-screen{align-items:center;background:linear-gradient(135deg,#72aa6b,#627a5e);display:flex;height:100vh;justify-content:center}.loading-spinner{color:#fff;font-size:1.2rem}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100vw}.app-header{background:#72aa6b;box-shadow:0 2px 4px #0000001a;color:#fff;flex-shrink:0;padding:.5rem 0}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.header-content h1{font-size:1.5rem;margin:0}.user-info{align-items:center;display:flex;gap:1rem}.logout-button{background:#e74c3c;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.logout-button:hover{background:#c0392b}.app-main{background:linear-gradient(135deg,#f4e2aa,#73b34f);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.logo-container{align-items:center;display:flex;margin-right:16px}.app-logo{height:48px;width:auto}
/*# sourceMappingURL=main.b69f1d95.css.map*/