@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.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;display:inline-flex;align-items:center;justify-content:center;gap:8px;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-icon-text-btn{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;display:flex;gap:8px;justify-content:space-between;align-items:center;transition:background-color .3s}.c-icon-text-btn:hover{background-color:#0000000d}.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}.c-toast{position:fixed;bottom:24px;right:24px;z-index:1000;color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:12px;max-width:380px;font-weight:500;font-size:.9rem;animation:c-toast-fade-in .3s ease-out}.c-toast--info{background-color:#3498db}.c-toast--success{background-color:#2ecc71}.c-toast--error{background-color:#e74c3c}.c-toast__close{all:unset;background:none;border:none;color:#fff;cursor:pointer;font-weight:700;font-size:1.1rem;margin-left:auto;opacity:.8;transition:opacity .2s}.c-toast__close:hover{opacity:1}@keyframes c-toast-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.p-dashboard{height:100%;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__sync-badge{display:inline-flex;align-items:center;gap:4px;background-color:#2ecc711f;color:#2ecc71;padding:2px 10px;border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.p-dashboard__sync-overdue-banner{display:flex;align-items:center;gap:8px;background-color:#f39c1226;border:1px solid rgba(243,156,18,.4);border-radius:8px;padding:8px 16px;margin-bottom:24px;color:#b06f09;font-size:.9rem;font-weight:500}.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}.p-dashboard__sync-btn{display:inline-flex;align-items:center;gap:8px;background-color:#fff;border:1px solid #e0e0e0;color:#333;padding:8px 16px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 2px 4px #0000000d;transition:all .3s}.p-dashboard__sync-btn svg{transition:transform .3s}.p-dashboard__sync-btn:hover:not(:disabled){background-color:#f6a6230d;border-color:#f6a623;color:#f6a623}.p-dashboard__sync-btn:disabled{cursor:not-allowed;opacity:.7}.p-dashboard__sync-btn--loading{background-color:#f6a6230d;border-color:#f6a623;color:#f6a623}.p-dashboard__sync-btn--success{background-color:#2ecc711a;border-color:#2ecc71;color:#2ecc71}.p-dashboard__sync-btn--error{background-color:#e74c3c1a;border-color:#e74c3c;color:#e74c3c}.p-dashboard__sync-btn--rate-limited{background-color:#7f8c8d1a;border-color:#e0e0e0;color:#7f8c8d}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.p-entity-list{height:100%;padding:16px}@media(min-width:768px){.p-entity-list{padding:24px}}.p-entity-list__header{margin-bottom:24px}.p-entity-list__header h1{font-size:1.5rem;color:#333;margin-bottom:4px}.p-entity-list__header p{color:#7f8c8d}.p-entity-list__section-title{font-size:1.125rem;font-weight:600;color:#333;margin-bottom:16px}.p-entity-list section{margin-bottom:32px}.p-entity-list__grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:768px){.p-entity-list__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.p-entity-list__grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.p-entity-list__grid{grid-template-columns:repeat(4,1fr)}}.c-entity-card{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.c-entity-card:hover{box-shadow:0 8px 12px #00000026}.c-entity-card{text-decoration:none;color:inherit;display:flex;flex-direction:column}.c-entity-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.c-entity-card__title{font-size:1.125rem;font-weight:600}.c-entity-card__status-dot{width:10px;height:10px;border-radius:50%}.c-entity-card__status-dot.is-online{background-color:#2ecc71;box-shadow:0 0 8px #2ecc7180}.c-entity-card__status-dot.is-offline{background-color:#e74c3c}.c-entity-card__body{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.c-entity-card__metric{display:flex;align-items:center;gap:8px;color:#333;font-size:.875rem}.c-entity-card__metric svg{color:#f6a623}.c-entity-card__footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid #e0e0e0}.c-entity-card__label{font-size:.75rem;color:#7f8c8d}.c-entity-card__badge{background-color:#f6a6231a;color:#f6a623;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.c-entity-card__device__body{cursor:pointer}@keyframes fleet-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.c-skeleton{display:inline-block;border-radius:4px;background:linear-gradient(90deg,#ebebeb 25%,#d6d6d6,#ebebeb 75%);background-size:800px 100%;animation:fleet-shimmer 1.4s infinite linear}.c-skeleton--sm{width:60px;height:20px}.c-skeleton--md{width:120px;height:14px}.c-skeleton--lg{width:160px;height:14px}.c-status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:.78rem;font-weight:600;white-space:nowrap}.c-status-badge.is-producing{background:#2ecc711f;color:#25a25a}.c-status-badge.is-offline{background:#7f8c8d26;color:#667273}.c-status-badge.is-error{background:#e74c3c1f;color:#df2e1b}.c-status-badge.is-pending{background:#f6a6231f;color:#dd8d09}.c-status-icon{display:inline-flex;align-items:center;justify-content:center}.c-status-icon.is-producing{color:#25a25a}.c-status-icon.is-offline{color:#667273}.c-status-icon.is-error{color:#df2e1b}.c-status-icon.is-pending{color:#7f8c8d}.c-view-switcher{display:flex;border:1px solid #e0e0e0;border-radius:6px;overflow:hidden;flex-shrink:0}.c-view-switcher__btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#fff;color:#7f8c8d;cursor:pointer;border:none;transition:background-color .15s,color .15s}.c-view-switcher__btn.is-active{background:#f6a623;color:#fff}.c-view-switcher__btn:hover:not(.is-active){background:#f6a62314;color:#333}.fleet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}@media(min-width:1280px){.fleet-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:767px){.fleet-grid{grid-template-columns:1fr}}.fleet-card{display:flex;flex-direction:column;gap:8px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;border:2px solid transparent;border-top:4px solid #e0e0e0;cursor:pointer;text-align:left;width:100%;font-family:inherit;transition:border-color .2s,box-shadow .2s,transform .15s}.fleet-card:hover:not(.fleet-card--skeleton){border-color:#f6a62380;box-shadow:0 8px 20px #0000001f;transform:translateY(-2px)}.fleet-card--skeleton{cursor:default}.fleet-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px}.fleet-card__device-name{font-weight:700;font-size:.95rem;color:#333;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-card__body{flex:1}.fleet-card__serial{font-size:.78rem;color:#7f8c8d;margin:0 0 4px}.fleet-card__wattage{font-size:1.6rem;font-weight:700;color:#333;font-variant-numeric:tabular-nums;line-height:1.1}.fleet-card__footer{display:flex;align-items:center;gap:4px;padding-top:8px;border-top:1px solid #e0e0e0;font-size:.82rem;color:#7f8c8d;margin-top:auto}.p-fleet-detail__breadcrumbs{display:flex;align-items:center;gap:4px;padding:16px 24px;font-size:.875rem;border-bottom:1px solid #e0e0e0;margin-bottom:16px;background:#fff}.p-fleet-detail__crumb{color:#3498db;text-decoration:none}.p-fleet-detail__crumb:hover{text-decoration:underline}.p-fleet-detail__crumb--current{color:#333;font-weight:500}.p-fleet-detail__sep{color:#7f8c8d;flex-shrink:0}.p-fleet{display:flex;flex-direction:column;gap:24px;padding:24px;max-width:1280px;margin:0 auto;width:100%}.p-fleet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.p-fleet__title{font-size:1.6rem;font-weight:700;color:#333;margin-bottom:4px}.p-fleet__subtitle{color:#7f8c8d;font-size:.9rem}.p-fleet__sync-label{display:flex;align-items:center;gap:4px;font-size:.78rem;color:#7f8c8d;white-space:nowrap;align-self:flex-start;padding-top:6px}.p-fleet__metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:1023px){.p-fleet__metric-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.p-fleet__metric-row{grid-template-columns:1fr}}.p-fleet__metric-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 24px;background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;border:2px solid transparent;text-align:left;width:100%;font-family:inherit;transition:border-color .15s,box-shadow .15s}.p-fleet__metric-card.is-interactive{cursor:pointer}.p-fleet__metric-card.is-interactive:hover:not(:disabled):not(.is-disabled){border-color:#f6a6234d;box-shadow:0 4px 12px #0000001f}.p-fleet__metric-card.is-active{border-color:#f6a623;box-shadow:0 0 0 3px #f6a62326,0 4px 6px #0000001a}.p-fleet__metric-card.is-disabled,.p-fleet__metric-card:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.p-fleet__metric-icon{margin-bottom:2px}.p-fleet__metric-icon--primary{color:#f6a623}.p-fleet__metric-icon--success{color:#2ecc71}.p-fleet__metric-icon--danger{color:#e74c3c}.p-fleet__metric-icon--muted{color:#7f8c8d}.p-fleet__metric-value{font-size:2rem;font-weight:700;color:#333;line-height:1.1;font-variant-numeric:tabular-nums}.p-fleet__metric-label{font-size:.82rem;color:#7f8c8d;font-weight:500}.p-fleet__metric-sub{font-size:.75rem;color:#7f8c8d;font-style:italic;margin-top:2px}.p-fleet__filters{display:flex;align-items:center;gap:16px;flex-wrap:wrap}@media(max-width:767px){.p-fleet__filters{flex-direction:column;align-items:stretch}}.p-fleet__search-wrap{position:relative;display:flex;align-items:center;flex:1;min-width:200px}.p-fleet__search-icon{position:absolute;left:10px;color:#7f8c8d;pointer-events:none}.p-fleet__search-input{width:100%;min-height:44px;padding:8px 12px 8px 34px;border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem;background:#fff;color:#333;box-sizing:border-box;-webkit-appearance:none;appearance:none;transition:border-color .3s}.p-fleet__search-input:focus{outline:none;border-color:#3498db}.p-fleet__search-input::placeholder{color:#7f8c8d}.p-fleet__status-select{min-width:200px;flex-shrink:0}@media(max-width:767px){.p-fleet__status-select{width:100%}}.p-fleet__sort-select{min-height:44px;padding:8px 30px 8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem;background-color:#fff;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%237f8c8d' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 10px center;color:#333;cursor:pointer;flex-shrink:0;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.p-fleet__sort-select:focus{outline:none;border-color:#3498db}@media(max-width:767px){.p-fleet__sort-select{width:100%}}.p-fleet__table-wrap{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;overflow-x:auto;-webkit-overflow-scrolling:touch;transition:opacity .2s}.p-fleet__table-wrap.is-refetching{opacity:.65}.p-fleet__table{width:100%;border-collapse:collapse;font-size:.875rem}.p-fleet__table th{padding:16px;text-align:left;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#7f8c8d;border-bottom:1px solid #e0e0e0;white-space:nowrap}@media(max-width:767px){.p-fleet__table th:nth-child(3),.p-fleet__table td:nth-child(3),.p-fleet__table th:nth-child(5),.p-fleet__table td:nth-child(5){display:none}}.p-fleet__view-wrap{transition:opacity .2s}.p-fleet__view-wrap.is-refetching{opacity:.65}.p-fleet__row{border-bottom:1px solid #e0e0e0;transition:background-color .15s}.p-fleet__row td{padding:8px 16px;vertical-align:middle;color:#333}.p-fleet__row:last-child{border-bottom:none}.p-fleet__row:hover{background:#3498db0a}.p-fleet__row--clickable{cursor:pointer}.p-fleet__row--clickable:focus-visible{outline:2px solid #3498db;outline-offset:-2px}.p-fleet__device-primary{display:block;font-weight:600;color:#333}.p-fleet__device-sub{display:block;font-size:.78rem;color:#7f8c8d;margin-top:2px}.p-fleet__action-cell{color:#7f8c8d;text-align:right;width:32px}.p-fleet__skeleton-row td{padding:16px}.p-fleet__wattage{font-variant-numeric:tabular-nums;font-weight:500}.p-fleet__timestamp{color:#7f8c8d;font-size:.82rem;white-space:nowrap}.p-fleet__state-msg{padding:32px;text-align:center;color:#7f8c8d;font-size:.9rem}.p-fleet__state-msg--error{color:#e74c3c}.p-fleet__pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}@media(max-width:767px){.p-fleet__pagination{flex-direction:column;align-items:stretch}}.p-fleet__pagination-limit{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#7f8c8d}.p-fleet__pagination-limit select{min-height:44px;padding:6px 28px 6px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:.875rem;background-color:#fff;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%237f8c8d' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 8px center;cursor:pointer;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.p-fleet__pagination-limit select:focus{outline:none;border-color:#3498db}.p-fleet__pagination-nav{display:flex;align-items:center;gap:8px}.p-fleet__page-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;cursor:pointer;transition:all .15s;color:#333}.p-fleet__page-btn:hover:not(:disabled){background:#3498db;color:#fff;border-color:#3498db}.p-fleet__page-btn:disabled{opacity:.4;cursor:not-allowed}.p-fleet__page-info{font-size:.875rem;color:#7f8c8d;padding:0 4px;white-space:nowrap}.fleet-select__control{border-color:#e0e0e0!important;border-radius:6px!important;min-height:38px!important;font-size:.9rem}.fleet-select__control--is-focused{border-color:#3498db!important;box-shadow:0 0 0 1px #3498db!important}.fleet-select__multi-value{background:#3498db1f!important;border-radius:4px!important}.fleet-select__multi-value__label{color:#3498db!important;font-size:.8rem!important}.fleet-select__multi-value__remove:hover{background:#3498db!important;color:#fff!important}.fleet-select__placeholder{color:#7f8c8d!important}.fleet-select__option--is-focused{background:#3498db14!important}.fleet-select__option--is-selected{background:#3498db!important}.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}.p-notFound{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.p-notFound__dashboard-btn{margin-top:25px}.p-settings{display:flex;flex-direction:column;gap:8px;padding:16px}@media(min-width:768px){.p-settings{padding:24px}}.p-settings__header{margin-bottom:24px}.p-settings__header h1{font-size:1.5rem;color:#333;margin-bottom:4px}.p-settings__header p{color:#7f8c8d}.p-settings__token-btn{transition:color .3s}.p-settings__copy-token:hover{background-color:#0000000d;color:#3498db}.p-settings__error-message{color:#e74c3c;font-size:.875rem;margin-top:4px}.p-device{height:100%;width:100%;padding:16px}.p-device__cards{display:grid;width:100%;grid-template-columns:1fr;gap:16px}@media(min-width:768px){.p-device__cards{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.p-device__cards{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.p-device__cards{grid-template-columns:repeat(4,1fr)}}.p-device__cards .c-card{height:100%;width:100%;min-width:0;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;display:flex;flex-direction:column}.p-device__cards .c-card__body{display:flex;flex-direction:column;gap:5px}.p-device__cards__actions{flex:1;display:flex;flex-direction:column;justify-content:center;text-align:center;gap:5px}.p-user-management__open-btn{background-color:#3498db;color:#fff}.p-user-management__open-btn:hover{background-color:#3498db40}.p-user-management__delete-btn{background-color:#e74c3c;color:#fff}.p-user-management__delete-btn:hover{background-color:#e74c3c40}.p-user-management__delete-btn:disabled{opacity:.7;cursor:not-allowed}.p-user-management__modal-error{color:#e74c3c;margin:8px 0}.p-user-management__modal-success{color:#2ecc71;margin:8px 0}.p-user-management__add-device-section{margin-bottom:16px}.p-user-management__select-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.p-user-management__select{flex:1 1 200px;min-width:180px;height:38px;padding:0 10px;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff}.p-user-management .devices-modal .add-device-header{margin:8px 0;font-size:1rem}.p-user-management .devices-modal .c-table{font-size:.9rem}*{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)}}.c-loader{display:flex;flex-grow:1;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:2rem}.c-loader svg{width:96px;height:96px}@keyframes react-loading-skeleton{to{transform:translate(100%)}}.react-loading-skeleton{--base-color: #ebebeb;--highlight-color: #f5f5f5;--animation-duration: 1.5s;--animation-direction: normal;--pseudo-element-display: block;background-color:var(--base-color);width:100%;border-radius:.25rem;display:inline-flex;line-height:1;position:relative;-webkit-user-select:none;user-select:none;overflow:hidden}.react-loading-skeleton:after{content:" ";display:var(--pseudo-element-display);position:absolute;top:0;left:0;right:0;height:100%;background-repeat:no-repeat;background-image:var( --custom-highlight-background, linear-gradient( 90deg, var(--base-color) 0%, var(--highlight-color) 50%, var(--base-color) 100% ) );transform:translate(-100%);animation-name:react-loading-skeleton;animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite}@media(prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display: none}}
