.sidebar{width:250px;background-color:#162451;border-right:3px solid #dcae25;display:flex;flex-direction:column;height:100vh;max-height:100vh;position:fixed;left:-250px;top:0;z-index:1000;transition:left .3s ease-in-out;box-shadow:2px 0 10px #0000004d;overflow:hidden}.sidebar.open{left:0}.sidebar-header{padding:20px;border-bottom:1px solid rgba(220,174,37,.3);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.sidebar-close-btn{background-color:transparent;border:none;color:#dcae25;font-size:32px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .3s ease;border-radius:4px}.sidebar-close-btn:hover{background-color:#dcae251a;transform:scale(1.1)}.sidebar-header h2{color:#dcae25;font-size:24px;font-weight:700;margin:0}.sidebar-nav{flex:1;padding:20px 0;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(220,174,37,.5) transparent}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background-color:#dcae2580;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background-color:#dcae25b3}.sidebar-item{display:flex;align-items:center;padding:12px 20px;color:#fff;text-decoration:none;transition:all .3s ease;border-left:3px solid transparent}.sidebar-item:hover{background-color:#dcae251a;border-left-color:#dcae25}.sidebar-item.active{background-color:#dcae2533;border-left-color:#dcae25;font-weight:700}.sidebar-icon{margin-right:12px;font-size:20px}.sidebar-label{font-size:16px}.sidebar-item-with-submenu{display:flex;flex-direction:column}.sidebar-item-main{display:flex;align-items:center;justify-content:space-between;width:100%}.sidebar-submenu-toggle{background:none;border:none;color:#dcae25;font-size:18px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.sidebar-submenu-toggle.open{transform:rotate(90deg)}.sidebar-submenu{max-height:0;overflow:hidden;transition:max-height .3s ease;background-color:#0003;display:flex;flex-direction:column}.sidebar-submenu.open{max-height:300px}.sidebar-submenu-item{display:flex;align-items:center;padding:10px 20px 10px 52px;color:#fff;text-decoration:none;transition:all .3s ease;border-left:3px solid transparent;font-size:14px}.sidebar-submenu-item:hover{background-color:#dcae251a;border-left-color:#dcae25}.sidebar-submenu-item.active{background-color:#dcae2533;border-left-color:#dcae25;font-weight:700}.sidebar-divider{height:1px;background-color:#dcae254d;margin:10px 20px}.sidebar-footer{padding:20px;border-top:1px solid rgba(220,174,37,.3);flex-shrink:0;overflow-y:auto;overflow-x:hidden;max-height:50vh;scrollbar-width:thin;scrollbar-color:rgba(220,174,37,.5) transparent}.sidebar-footer::-webkit-scrollbar{width:6px}.sidebar-footer::-webkit-scrollbar-track{background:transparent}.sidebar-footer::-webkit-scrollbar-thumb{background-color:#dcae2580;border-radius:3px}.sidebar-footer::-webkit-scrollbar-thumb:hover{background-color:#dcae25b3}.user-info{display:flex;flex-direction:column;color:#fff;font-size:14px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(220,174,37,.2)}.user-name{color:#fff;font-size:15px;font-weight:600;margin-bottom:4px}.user-profile{color:#dcae25;font-size:12px;text-transform:capitalize}.sidebar-footer-actions{display:flex;flex-direction:column;gap:10px}.sidebar-theme-toggle-btn,.sidebar-logout-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background-color:transparent;border:1px solid rgba(220,174,37,.3);color:#dcae25;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s ease;text-align:left}.sidebar-theme-toggle-btn:hover,.sidebar-logout-btn:hover{background-color:#dcae251a;border-color:#dcae25;transform:translate(4px)}.sidebar-logout-btn:hover{background-color:#dcae2526;color:#fff}.sidebar-theme-icon,.sidebar-logout-icon{font-size:18px;line-height:1}.sidebar-theme-label,.sidebar-logout-label{font-weight:500}.sidebar-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.sidebar{width:200px;left:-200px}.sidebar.open{left:0}.sidebar-label{font-size:14px}.sidebar-theme-toggle-btn,.sidebar-logout-btn{padding:10px 12px;font-size:13px}.sidebar-theme-icon,.sidebar-logout-icon{font-size:16px}}.custom-period-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:99999!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;padding:20px;isolation:isolate}.custom-period-modal{background-color:#fff;border-radius:16px;width:90%;max-width:550px;box-shadow:0 12px 48px #00000080;overflow:hidden;animation:modalSlideIn .3s ease-out;border:2px solid rgba(220,174,37,.3);position:relative;z-index:100000!important;margin:auto;max-height:90vh;display:flex;flex-direction:column}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.custom-period-modal-header{background:linear-gradient(135deg,#dcae25,#c99e1f);padding:24px 28px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.custom-period-modal-title{color:#fff;font-size:20px;font-weight:700;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.1)}.custom-period-modal-close{background-color:transparent;border:none;color:#fff;font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease;line-height:1}.custom-period-modal-close:hover{background-color:#fff3}.custom-period-modal-content{padding:28px;background-color:#fafafa;flex:1;overflow-y:auto}.custom-period-modal-description{color:#666;font-size:15px;margin:0 0 28px;line-height:1.6;font-weight:400}.custom-period-modal-fields{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;justify-content:center}.custom-period-field{flex:1;min-width:200px;max-width:220px}.custom-period-label{display:flex;align-items:center;gap:10px;color:#162451;font-size:15px;font-weight:600;margin-bottom:10px}.custom-period-icon{font-size:18px;color:#dcae25}.custom-period-input-wrapper{display:flex;align-items:center}.custom-period-input{width:100%;padding:14px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:15px;color:#162451;background-color:#fff;transition:all .3s ease;font-weight:500;box-shadow:0 2px 4px #0000000d}.custom-period-input:focus{outline:none;border-color:#dcae25;box-shadow:0 0 0 4px #dcae2526,0 4px 8px #0000001a;transform:translateY(-1px)}.custom-period-arrow{color:#dcae25;margin-bottom:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:8px;background-color:#dcae251a;border-radius:50%;width:40px;height:40px}.custom-period-modal-footer{padding:24px 28px;border-top:2px solid #f0f0f0;display:flex;justify-content:flex-end;gap:16px;background-color:#fff;flex-shrink:0}.custom-period-btn{display:flex;align-items:center;gap:10px;padding:12px 24px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px;justify-content:center;box-shadow:0 2px 4px #0000001a}.custom-period-btn.cancel{background-color:#f5f5f5;color:#666;border:1px solid #e0e0e0}.custom-period-btn.cancel:hover{background-color:#e8e8e8;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.custom-period-btn.apply{background:linear-gradient(135deg,#dcae25,#c99e1f);color:#fff;border:2px solid #dcae25}.custom-period-btn.apply:hover:not(:disabled){background:linear-gradient(135deg,#c99e1f,#b88e1b);transform:translateY(-2px);box-shadow:0 6px 12px #dcae2566}.custom-period-btn.apply:disabled{opacity:.5;cursor:not-allowed;transform:none}.custom-period-btn-icon{font-size:20px;font-weight:700;line-height:1}@media (max-width: 768px){.custom-period-modal{width:95%;margin:20px}.custom-period-modal-fields{flex-direction:column}.custom-period-arrow{transform:rotate(90deg);margin:8px 0}.custom-period-field{width:100%}.custom-period-modal-footer{flex-direction:column-reverse}.custom-period-btn{width:100%;justify-content:center}}.period-filter{display:flex;align-items:center;gap:12px}.period-label{color:#dcae25;font-size:14px;font-weight:600;white-space:nowrap}.period-buttons-group{display:flex;gap:0;background-color:transparent;border-radius:8px;overflow:hidden;border:1px solid rgba(220,174,37,.3)}.period-btn{background-color:transparent;border:none;color:#fff;padding:10px 16px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;white-space:nowrap;position:relative;border-right:1px solid rgba(220,174,37,.2)}.period-btn:last-child{border-right:none}.period-btn:hover:not(.active){background-color:#dcae250d}.period-btn.active{background-color:#dcae25;color:#fff;font-weight:600}.period-custom-icon{font-size:8px;margin-right:4px;display:inline-block;vertical-align:middle;opacity:.8}@media (max-width: 768px){.period-filter{flex-wrap:wrap;gap:8px}.period-label{font-size:12px}.period-buttons-group{flex-wrap:wrap;border-radius:6px}.period-btn{font-size:12px;padding:8px 12px;border-right:none;border-bottom:1px solid rgba(220,174,37,.2)}.period-btn:last-child{border-bottom:none}}.header{display:flex;justify-content:space-between;align-items:center;padding:15px 30px;min-height:110px;background-color:#162451!important;border:2px solid #dcae25;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;margin:20px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.header.menu-open{margin-left:270px}body[data-theme=dark] .header,body[data-theme=light] .header{background-color:#162451!important}.header-left{display:flex;align-items:center;gap:30px}.header-right{display:flex;align-items:center;gap:15px}.menu-toggle-btn{background-color:transparent;border:1px solid rgba(220,174,37,.3);color:#dcae25!important;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:20px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:40px;height:40px}.menu-toggle-btn:hover{background-color:#dcae251a;border-color:#dcae25}.hamburger-icon{font-size:24px;line-height:1}.logo-container{display:flex;align-items:flex-start;gap:15px}.header-logo{height:95px;width:auto;object-fit:contain}.header-energy-icon{height:105px;width:auto;object-fit:contain}@media (max-width: 768px){.header{padding:10px 15px;margin:10px;border-radius:8px;min-height:80px}.header.menu-open{margin-left:0}.header-left{gap:20px}.logo-container{gap:10px}.header-logo{height:45px}.header-energy-icon{height:50px}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#000}.login-box{background-color:#162451e6;border:2px solid #dcae25;border-radius:8px;padding:40px;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:30px}.login-header h1{color:#dcae25;font-size:32px;margin-bottom:10px}.login-header p{color:#fff;font-size:16px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#dcae25;font-size:14px;font-weight:700}.form-group input{background-color:#0000004d;border:1px solid #dcae25;color:#fff;padding:12px;border-radius:4px;font-size:16px}.form-group input:focus{outline:none;border-color:#dcae25;box-shadow:0 0 0 2px #dcae2533}.login-button{background-color:#dcae25;color:#162451;border:none;padding:12px;border-radius:4px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease}.login-button:hover:not(:disabled){background-color:#c99e1f}.login-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:#f003;border:1px solid #ff0000;color:#ff6b6b;padding:12px;border-radius:4px;font-size:14px}*{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:#000;color:#fff}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}
