.l-sidebar-overlay{position:fixed;inset:0;background-color:#00000080;z-index:950;opacity:0;visibility:hidden;transition:opacity .3s ease}.l-sidebar-overlay.is-visible{opacity:1;visibility:visible}@media(min-width:768px){.l-sidebar-overlay{display:none}}.l-sidebar{background-color:#2c3e50;color:#fff;padding:24px;display:flex;flex-direction:column;box-shadow:2px 0 10px #0000001a;position:fixed;left:0;top:0;bottom:0;width:280px;z-index:1000;transform:translate(-100%);transition:transform .3s ease}.l-sidebar.is-open{transform:translate(0)}@media(min-width:768px){.l-sidebar{position:static;width:250px;transform:translate(0)}}.l-sidebar__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.l-sidebar__logo{display:flex;align-items:center;gap:8px}.l-sidebar__logo img{width:40px}.l-sidebar__logo span{font-size:1.2rem;font-weight:700;color:#f6a623}.l-sidebar__close-btn{background:none;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:8px}@media(min-width:768px){.l-sidebar__close-btn{display:none}}.l-sidebar__nav{flex:1}.l-sidebar__nav ul{list-style:none;padding:0}.l-sidebar__nav li{margin-bottom:8px}.l-sidebar__nav li a{display:flex;align-items:center;gap:16px;padding:16px;border-radius:8px;color:#fffc;text-decoration:none;transition:background-color .3s,color .3s}.l-sidebar__nav li a:hover,.l-sidebar__nav li a.is-active{background-color:#ffffff1a;color:#fff}.l-sidebar__nav li a.is-active{border-left:4px solid #f6a623}.l-sidebar__user{padding:16px 0;border-top:1px solid rgba(255,255,255,.1);margin-top:16px;display:flex;align-items:center;gap:16px}.l-sidebar__user-avatar{width:40px;height:40px;background-color:#ffffff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#f6a623}.l-sidebar__user-avatar svg{color:#f6a623}.l-sidebar__user-info{overflow:hidden;flex:1}.l-sidebar__user-info p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.l-sidebar__user-info-name{font-weight:600;font-size:.9rem;color:#fff}.l-sidebar__user-info-role{font-size:.75rem;color:#fff9}.l-sidebar__logout{width:100%;display:flex;align-items:center;gap:16px;padding:16px;border:none;background-color:transparent;cursor:pointer;color:#fffc;font-size:.9rem;text-align:left;border-radius:8px;transition:all .3s ease;margin-top:4px}.l-sidebar__logout:hover{background-color:#ffffff0d;color:#fff}.l-sidebar__footer{padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem;color:#ffffff80}.l-container{display:flex;flex-direction:column;min-height:100vh;width:100%}@media(min-width:768px){.l-container{flex-direction:row;height:100vh;overflow:hidden}}.l-header{display:flex;align-items:center;justify-content:space-between;padding:16px;background-color:#2c3e50;color:#fff;height:60px;position:sticky;top:0;z-index:900}.l-header__logo{display:flex;align-items:center;gap:8px;color:#f6a623;font-weight:700}.l-header__menu-btn{background:none;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}@media(min-width:768px){.l-header{display:none}}.l-main{flex:1;padding:16px;background-color:#f4f7f6;width:100%}@media(min-width:768px){.l-main{padding:32px;overflow-y:auto}}.c-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:24px;border-top:4px solid transparent;transition:transform .3s,border-color .3s}.c-card:hover{transform:translateY(-2px)}.c-card.c-card--solar{border-top-color:#f6a623}.c-card.c-card--consumption{border-top-color:#3498db}.c-card.c-card--alert{border-top-color:#e74c3c}.c-card .c-card__title{font-size:.9rem;color:#7f8c8d;text-transform:uppercase;font-weight:600;margin-bottom:8px}.c-card .c-card__value{font-size:1.8rem;font-weight:700;color:#333}.c-card .c-card__unit{font-size:.9rem;color:#7f8c8d;margin-left:4px}.c-power-chart{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:24px;margin-top:24px}.c-power-chart__title{margin-bottom:24px;color:#7f8c8d;font-size:1rem;text-transform:uppercase}.c-power-chart__content{width:100%}.c-button{all:unset;border-radius:8px;border:1px solid #e0e0e0;background-color:#fff;padding:8px;box-shadow:0 4px 6px #0000001a;cursor:pointer;font-weight:500;transition:background-color .3s}.c-button:hover{background-color:#0000000d}.c-table{width:100%;border:1px solid #e0e0e0;border-radius:8px;border-collapse:separate;border-spacing:0;background:#fff;box-shadow:0 2px 8px #00000008;overflow:hidden;font-size:1rem}.c-table th,.c-table td{padding:.75rem 1rem;text-align:left}.c-table thead th{background:#f5f7fa;font-weight:700;border-bottom:2px solid #e0e0e0}.c-table tbody tr{transition:background .2s}.c-table tbody tr:nth-child(2n){background:#fafbfc}.c-table tbody tr:hover{background:#f0f4f8}.c-table td,.c-table th{border-bottom:1px solid #e0e0e0}.c-table tr:last-child td{border-bottom:none}.c-icon-btn,.c-icon-btn__negative,.c-icon-btn__positive{all:unset;padding:8px;cursor:pointer;font-weight:500;display:flex;transition:color .3s}.c-icon-btn__positive:hover{color:#3498db}.c-icon-btn__negative:hover{color:#e74c3c}.c-icon-btn .icon,.c-icon-btn__positive .icon,.c-icon-btn__negative .icon{padding:0;margin:0}.c-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.c-modal-overlay .modal{background:#fff;border-radius:8px;max-width:90vw;padding:2rem;box-shadow:0 4px 24px #0000001f;position:relative}.c-modal-overlay .modal__close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:#888;transition:color .2s}.c-modal-overlay .modal__close:hover{color:#222}.c-modal-overlay .modal__subtitle{margin-top:-1rem;margin-bottom:1.5rem;font-size:1rem;color:#666;font-weight:400}.c-modal-overlay .modal__title{margin-top:0;margin-bottom:1.5rem;font-size:1.4rem;font-weight:600;color:#222;letter-spacing:.01em}.c-modal-overlay .modal__content tr:last-child td{border-bottom:none}.c-modal-overlay .modal__actions{width:100%;margin-top:8px;gap:8px;color:#fff;display:flex;justify-content:center}.c-modal-overlay .modal__actions__save{background-color:#2ecc71}.c-modal-overlay .modal__actions__save:hover{background-color:#2ecc7140}.c-modal-overlay .modal__actions__cancel{background-color:#e74c3c}.c-modal-overlay .modal__actions__cancel:hover{background-color:#e74c3c40}.p-dashboard{display:flex;flex-direction:column;padding:16px}@media(min-width:768px){.p-dashboard{padding:24px}}.p-dashboard__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:16px}.p-dashboard__header h1{font-size:1.5rem;font-weight:700;color:#333}@media(min-width:768px){.p-dashboard__header h1{font-size:1.8rem}}.p-dashboard__timestamp{color:#7f8c8d;font-size:.9rem}.p-dashboard__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.p-dashboard__range-selector{display:flex;align-items:center;background-color:#fff;border-radius:8px;padding:4px;gap:4px;color:#7f8c8d;border:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d}.p-dashboard__range-selector svg{margin:0 8px}.p-dashboard__range-btn{background:none;border:none;padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;color:#7f8c8d;transition:all .3s}.p-dashboard__range-btn:hover{background-color:#0000000d;color:#333}.p-dashboard__range-btn--active{background-color:#f6a623;color:#fff}.p-dashboard__range-btn--active:hover{background-color:#f59c0b;color:#fff}.p-dashboard__status-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e0e0e0}.p-dashboard__status-item:last-child{border-bottom:none}.p-dashboard__status-item span:first-child{color:#7f8c8d;font-size:.9rem}.p-dashboard__status-item .status-badge{background-color:#2ecc711a;color:#2ecc71;padding:2px 8px;border-radius:4px;font-size:.8rem;font-weight:600;text-transform:uppercase}.p-dashboard__refresh-btn{background:none;border:none;color:#7f8c8d;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .3s,color .3s}.p-dashboard__refresh-btn:hover{background-color:#0000000d;color:#f6a623}.p-dashboard__refresh-btn:disabled{cursor:not-allowed;opacity:.5}.p-dashboard__refresh-btn--spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.p-inverters{padding:16px}@media(min-width:768px){.p-inverters{padding:24px}}.p-inverters__header{margin-bottom:24px}.p-inverters__header h1{font-size:1.5rem;color:#333;margin-bottom:4px}.p-inverters__header p{color:#7f8c8d}.p-inverters__grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:768px){.p-inverters__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.p-inverters__grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.p-inverters__grid{grid-template-columns:repeat(4,1fr)}}.c-inverter-card{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.c-inverter-card:hover{box-shadow:0 8px 12px #00000026}.c-inverter-card{text-decoration:none;color:inherit;display:flex;flex-direction:column}.c-inverter-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.c-inverter-card__title{font-size:1.125rem;font-weight:600}.c-inverter-card__status-dot{width:10px;height:10px;border-radius:50%}.c-inverter-card__status-dot.is-online{background-color:#2ecc71;box-shadow:0 0 8px #2ecc7180}.c-inverter-card__status-dot.is-offline{background-color:#e74c3c}.c-inverter-card__body{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.c-inverter-card__metric{display:flex;align-items:center;gap:8px;color:#333;font-size:.875rem}.c-inverter-card__metric svg{color:#f6a623}.c-inverter-card__footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid #e0e0e0}.c-inverter-card__label{font-size:.75rem;color:#7f8c8d}.c-inverter-card__badge{background-color:#f6a6231a;color:#f6a623;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.p-notFound{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.p-notFound__dashboard-btn{margin-top:25px}.p-user-management__open-btn{background-color:#3498db;color:#fff}.p-user-management__open-btn:hover{background-color:#3498db40}.p-user-management .devices-modal .add-device-header{margin-top:8px}.p-login{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:100vh;width:100%;background-color:#f4f7f6;padding:16px}.p-login__card{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.p-login__card:hover{box-shadow:0 8px 12px #00000026}.p-login__card{width:100%;max-width:400px;padding:32px;border-top:4px solid #f6a623}.p-login__card:hover{transform:none}.p-login__logo{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:32px;color:#f6a623}.p-login__logo h1{font-size:1.5rem;font-weight:700;color:#333;margin:0}.p-login__title{font-size:1.125rem;font-weight:600;color:#7f8c8d;text-align:center;margin-bottom:32px}.p-login__error{background-color:#e74c3c1a;color:#e74c3c;padding:8px 16px;border-radius:4px;margin-bottom:16px;font-size:.875rem;border-left:3px solid #e74c3c}.p-login__btn-ms{width:100%;padding:16px;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:16px;cursor:pointer;margin-bottom:32px;font-weight:600;font-size:.9rem;color:#333;transition:all .3s}.p-login__btn-ms:hover:not(:disabled){background-color:#f9fafb;border-color:#c7c7c7;box-shadow:0 2px 4px #0000000d}.p-login__btn-ms:focus{outline:none;border-color:#f6a623;box-shadow:0 0 0 2px #f6a6231a}.p-login__btn-ms:disabled{opacity:.7;cursor:not-allowed}.p-login__divider{position:relative;text-align:center;margin-bottom:32px}.p-login__divider hr{border:0;border-top:1px solid #e0e0e0}.p-login__divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;padding:0 8px;color:#7f8c8d;font-size:.875rem}.p-login__form-group{margin-bottom:16px}.p-login__form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:4px;color:#333}.p-login__form-group input{width:100%;padding:8px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}.p-login__form-group input:focus{outline:none;border-color:#f6a623}.p-login__btn-submit{width:100%;padding:16px;background-color:#f6a623;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;transition:all .3s}.p-login__btn-submit:hover:not(:disabled){background-color:#f59c0b;box-shadow:0 4px 6px #f6a62333}.p-login__btn-submit:focus{outline:none;box-shadow:0 0 0 3px #f6a62333}.p-login__btn-submit:disabled{opacity:.7;cursor:not-allowed}.p-login__footer{margin-top:32px;font-size:.875rem;color:#7f8c8d}*{box-sizing:border-box;margin:0;padding:0}input,button,textarea,select{font-family:inherit}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:#f4f7f6;color:#333;line-height:1.6}#root{display:flex;min-height:100vh}.grid{display:grid;gap:24px}.c-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:4px;border:none;background-color:transparent;color:inherit;cursor:pointer;transition:all .2s ease}.c-btn--icon{padding:8px;border-radius:50%}.c-btn--icon:hover{background-color:#0000000d}.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)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}
