*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-container{display:flex;min-height:100vh}.sidebar{width:250px;background-color:#2c3e50;color:#fff;padding:20px 20px 80px;position:fixed;height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar-header{font-size:24px;font-weight:700;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid #34495e}.nav-menu{list-style:none}.nav-item{margin-bottom:10px}.nav-link{display:block;padding:12px 15px;color:#fff;text-decoration:none;border-radius:5px;transition:background-color .3s}.nav-link:hover,.nav-link.active{background-color:#34495e}.main-content{margin-left:250px;flex:1;padding:20px}.mobile-menu-toggle{display:none}.page-header{background-color:#fff;padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.page-title{font-size:28px;font-weight:700;color:#2c3e50;margin-bottom:5px}.card{background-color:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.card-title{font-size:18px;font-weight:600;margin-bottom:15px;color:#2c3e50}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:5px;font-weight:500;color:#2c3e50}.form-input,.form-select,.form-textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3498db}.form-textarea{resize:vertical;min-height:100px}.btn{padding:10px 20px;border:none;border-radius:5px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover{background-color:#2980b9}.btn-success{background-color:#27ae60;color:#fff}.btn-success:hover{background-color:#229954}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover{background-color:#c0392b}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover{background-color:#7f8c8d}.table-container{overflow-x:auto;position:relative}.table-container:after{content:"";position:absolute;top:0;right:0;bottom:0;width:30px;background:linear-gradient(to left,rgba(255,255,255,.8),transparent);pointer-events:none;opacity:0;transition:opacity .3s}@media (max-width: 768px){.table-container:after{opacity:1}}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.table th{background-color:#f8f9fa;font-weight:600;color:#2c3e50}.table tr:hover{background-color:#f8f9fa}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.stat-card{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.stat-label{font-size:14px;color:#7f8c8d;margin-bottom:5px}.stat-value{font-size:28px;font-weight:700;color:#2c3e50}.stat-value.positive{color:#27ae60}.stat-value.negative{color:#e74c3c}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background-color:#fff;border-radius:8px;padding:30px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{font-size:24px;font-weight:700;margin-bottom:20px;color:#2c3e50}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-success{background-color:#d4edda;color:#155724}.badge-warning{background-color:#fff3cd;color:#856404}.badge-danger{background-color:#f8d7da;color:#721c24}.badge-info{background-color:#d1ecf1;color:#0c5460}.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:#7f8c8d}.error{background-color:#f8d7da;color:#721c24;padding:15px;border-radius:5px;margin-bottom:20px}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-box{background-color:#fff;padding:40px;border-radius:10px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}.login-title{font-size:28px;font-weight:700;text-align:center;margin-bottom:30px;color:#2c3e50}@media screen and (max-width: 768px){.app-container{flex-direction:column}.sidebar{position:fixed;top:0;left:-250px;width:250px;height:100vh;max-height:100vh;overflow-y:auto;overflow-x:hidden;z-index:1000;transition:left .3s ease;-webkit-overflow-scrolling:touch}.sidebar.open{left:0}.main-content{margin-left:0;width:100%;padding:15px}.mobile-menu-toggle{display:block!important;position:fixed;top:11px;left:11px;z-index:1001;background-color:#2c3e50;color:#fff;border:none;padding:7px 12px;border-radius:10px;cursor:pointer;font-size:20px;box-shadow:0 1px 4px #0000004d}.page-header{margin-bottom:20px;padding-top:60px;padding-left:15px;padding-right:15px}.page-header{padding:15px;margin-bottom:15px}.page-title{font-size:24px}.page-header p{font-size:13px}.card{padding:15px;margin-bottom:15px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -15px;padding:0 15px}table{font-size:13px;min-width:800px}table th,table td{padding:8px;white-space:nowrap}.btn-secondary{padding:6px 10px;font-size:12px}.form-group{margin-bottom:15px}.modal{width:95%;max-width:95%;margin:20px auto;max-height:90vh;overflow-y:auto}.modal-header{font-size:20px}.btn{padding:10px 16px;font-size:14px}.btn-sm{padding:6px 10px;font-size:12px}.form-input,.form-select,input,select,textarea{font-size:16px!important}.stats-grid{grid-template-columns:1fr;gap:15px}.stat-card{padding:15px}.stat-value{font-size:22px}.stat-label{font-size:12px}canvas{max-height:300px!important;width:100%!important}.card canvas{margin:0 auto}.card h2{font-size:18px}.card ol,.card ul{font-size:13px;padding-left:15px}.card ol li,.card ul li{margin-bottom:8px}.login-box{padding:30px 20px}.login-title{font-size:24px}.about-grid{grid-template-columns:1fr!important}}@media screen and (max-width: 480px){.page-title{font-size:20px}div[style*="display: grid"],div[style*=gridTemplateColumns]{display:block!important}.card>div[style*="display: grid"],.card>div>div[style*="display: flex"]{display:block!important}div[style*="display: flex"][style*=alignItems]{display:block!important}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:600px;font-size:11px}table th,table td{padding:8px 6px;white-space:nowrap}table .btn{font-size:10px;padding:4px 8px}.card{padding:12px}table{font-size:11px}table th,table td{padding:6px 4px}.btn{padding:8px 12px;font-size:13px}.form-input,.form-select,.form-textarea{font-size:14px}.modal{padding:15px}.modal-footer{flex-direction:column;gap:10px}.modal-footer .btn{width:100%}.report-filters-grid{grid-template-columns:1fr!important;gap:10px!important}.report-tabs{flex-wrap:wrap!important;gap:6px!important}.report-tabs button{padding:8px 10px!important;font-size:12px!important;flex:1 1 48%!important;min-width:48%!important}.card .report-charts-grid{grid-template-columns:1fr!important;gap:30px!important}.report-chart-card{height:auto!important}.report-chart-card h3{margin:0 0 10px!important;font-size:14px!important}.report-chart-card canvas{max-height:260px!important;width:100%!important}.allocation-header{flex-direction:column;align-items:flex-start!important;gap:10px!important}.allocation-actions{width:100%;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px!important}.allocation-actions .btn{width:100%;justify-content:center}.allocation-grid{grid-template-columns:1fr!important;gap:20px!important}.allocation-chart{height:320px!important}.allocation-table-wrap h3{margin-bottom:10px!important;font-size:15px!important}}@media screen and (max-height: 500px) and (orientation: landscape){.sidebar{height:100vh;overflow-y:auto}.modal{max-height:85vh}}@media print{.sidebar,.mobile-menu-toggle,.btn,.modal-overlay{display:none!important}.main-content{margin-left:0;width:100%}.page-header{margin-bottom:20px}table{font-size:10px}}
