:root{--scrollbar-track: linear-gradient(180deg, rgba(8, 14, 26, .94) 0%, rgba(12, 21, 38, .9) 100%);--scrollbar-thumb: linear-gradient(180deg, rgba(117, 176, 255, .68) 0%, rgba(74, 133, 224, .7) 100%);--scrollbar-thumb-hover: linear-gradient(180deg, rgba(141, 194, 255, .82) 0%, rgba(91, 151, 239, .82) 100%);--scrollbar-border: rgba(8, 14, 26, .62);--scrollbar-size: 10px}html,body,#root{height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:rgba(117,176,255,.7) rgba(8,14,26,.55)}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}*::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:2px solid var(--scrollbar-border);box-shadow:inset 0 1px 1px #ffffff1f}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.app-root{height:100vh;display:flex;flex-direction:column;overflow:hidden}.container{width:100%;max-width:1000px;margin:0 auto;padding:0 16px}.site-header{background:linear-gradient(90deg,#052a66,#083a9a 40%,#0b5cff);color:#fff;padding:10px 0;box-shadow:0 2px 8px #030f321f;border-bottom:1px solid rgba(255,255,255,.04)}.site-title{margin:0;font-size:1.05rem}.site-subtitle{margin:4px 0 0;opacity:.85;font-size:.9rem}.site-header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand-left{font-weight:700;color:#fff;font-size:1rem}.header-controls{display:flex;gap:10px;align-items:center}.header-controls .control-wrap select{background:#00000059;color:#fff;border:1px solid rgba(255,255,255,.08);padding:6px 8px;border-radius:4px;min-width:140px}.header-controls .control-wrap select:focus{outline:2px solid rgba(255,255,255,.12)}@media (max-width:700px){.header-controls .control-wrap select{min-width:100px}}.app{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 16px;flex-direction:column}.site-footer small{opacity:.8}.dashboard{height:100%;max-width:1360px;padding:12px 0;display:flex;flex-direction:column;gap:12px;color:#dbe4f0}.dashboard .card{background:linear-gradient(180deg,#111a2b,#0d1523);border:1px solid rgba(148,163,184,.2);border-radius:8px;box-shadow:inset 0 1px #ffffff05}.status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:none;margin:0;padding:0}.admin-contact-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.admin-contact-table thead th{text-align:left;padding:10px 12px;color:#9fb0c8;font-weight:600;border-bottom:1px solid rgba(255,255,255,.06)}.admin-contact-table thead th:first-child{width:calc(100% - 180px)}.admin-contact-table thead th:nth-child(2){width:180px}.admin-contact-table tbody td{padding:10px 12px;color:#dbe4f0;border-bottom:1px solid rgba(255,255,255,.03);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-contact-table tbody tr:hover{background:#ffffff05}.admin-contact-table .notes-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-contact-table tbody tr{height:48px}.admin-contact-table tbody td{line-height:1.2}.admin-contact-table td,.admin-contact-table .notes-cell{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.admin-contact-table-wrap{height:180px;overflow-y:auto;overflow-x:hidden;border-radius:8px}.admin-note-tooltip{position:absolute;transform:translate(-50%,-100%);pointer-events:none;z-index:1200;display:none}.admin-note-tooltip.visible{display:block}.admin-note-tooltip .admin-note-tooltip-text{background:linear-gradient(180deg,#111a2bfa,#0d1523fc);color:#e9f2ff;padding:12px 14px;border-radius:10px;box-shadow:0 12px 30px #02061699;font-size:15px;max-width:520px;white-space:normal;line-height:1.3;pointer-events:auto}.admin-note-tooltip .admin-note-tooltip-text:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:-8px;width:12px;height:8px;background:transparent;box-shadow:none}.stats-card input,.stats-card button{background:#111a2b;color:#dbe4f0;border:1px solid rgba(148,163,184,.28)}.grid-bottom{display:grid;grid-template-columns:1fr;flex:1;min-height:0;gap:0}.status-log{width:100%;max-width:none;margin:0;height:47%;padding:12px;box-sizing:border-box;display:flex;flex-direction:column}.status-log .row-list{flex:1;min-height:0;overflow:auto;padding-bottom:2px;border:1px solid rgba(148,163,184,.15);border-radius:6px;background:#0a111e}.status-log .row-list .row{border-bottom:1px solid rgba(148,163,184,.12)}.status-log .row-list .row.header{position:sticky;top:0;z-index:2;color:#9fb0c8;background:#111a2b;border-bottom:1px solid rgba(148,163,184,.25)}.status-log .row-list .row .doc,.status-log .row-list .row .val,.status-log .row-list .row .ts{color:#dbe4f0}.status-badge.ready,.status-badge.online,.status-badge.offline,.add-badge{font-size:12px}@media (max-width: 980px){html,body,#root{overflow:auto}.app-root{overflow:visible;height:auto;min-height:100vh}.app-main{overflow:visible}.dashboard{height:auto}.grid-top{grid-template-columns:1fr;flex:0 0 auto}.grid-bottom{min-height:280px}}.dashboard{padding:20px 0 60px}.dashbord-title{display:inline-flex;align-items:baseline;gap:12px;margin:0 0 0 10px;flex-wrap:wrap}.dashbord-title-alias{font-size:.8em;font-weight:600;color:#9fb0c8;letter-spacing:.01em}.topbar-row{display:flex;justify-content:flex-start;align-items:center;gap:12px;margin-bottom:8px}.brand .logo{font-weight:700;color:#0b5cff}.meta{display:none}.subheader{background:#ffffff08;color:#fffffff2;padding:8px 16px;margin-bottom:12px;border-radius:4px;font-size:.95rem;max-width:1000px;margin-left:auto;margin-right:auto}.status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1000px;margin:0 auto 6px;padding:0 16px}.status-contact{color:#333}.grid-top{display:flex;gap:16px;margin-bottom:16px}.card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:6px;padding:16px}.status-card{flex:0 0 180px;max-width:220px}.chart-card{flex:1 1 auto}.stats-card{flex:0 0 260px;min-width:220px}.status-badge.ready{display:inline-block;background:#dff4e1;color:#0a7b2f;padding:4px 8px;border-radius:4px;margin:4px 0}.status-badge.online{display:inline-flex;align-items:center;gap:8px;background:#dff4e1;color:#0a7b2f;padding:4px 8px;border-radius:4px;margin:4px 0;font-weight:600}.status-badge.offline{display:inline-flex;align-items:center;gap:8px;background:#ffe6e6;color:#9b1b1b;padding:4px 8px;border-radius:4px;margin:4px 0;font-weight:600}.status-badge svg{width:16px;height:16px;display:block}.add-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;margin:4px 0;font-weight:600}.add-badge.online{background:#dff4e1;color:#0a7b2f}.add-badge.offline{background:#ffe6e6;color:#9b1b1b}.add-badge svg{width:16px;height:16px;display:block}.chart-placeholder{height:160px;background:linear-gradient(90deg,#f7f9fc,#eef3ff);border-radius:4px;display:flex;align-items:center;justify-content:center;color:#7b7f88}.chart-placeholder svg{width:100%;height:100%;display:block}.snapshot-banner{background:linear-gradient(90deg,#0b5cff,#1c7bff);color:#fff;padding:14px 0;border-radius:6px;margin-bottom:16px}.snapshot-inner{max-width:1000px;margin:0 auto;padding:0 16px}.grid-bottom{display:grid;grid-template-columns:1fr;gap:16px}.events-card,.alerts-card,.reports-card{min-height:200px}.placeholder-list{color:#666;padding:8px 0}.status-log .row-list{width:100%}.status-log .row-list .row{display:grid;grid-template-columns:1fr 120px 200px;gap:12px;padding:6px 8px;align-items:center;border-bottom:1px solid rgba(0,0,0,.04)}.status-log .row-list .row.header{font-weight:700;color:#333;background:transparent;border-bottom:1px solid rgba(0,0,0,.06);padding:6px 8px;font-size:13px}.status-log .row-list .row .doc{color:#333}.status-log .row-list .row .val{text-align:center;color:#444;font-weight:600}.status-log .row-list .row .ts{color:#666;text-align:right}@media (max-width:900px){.status-log .row-list .row{grid-template-columns:1fr 100px 140px}}.status-log{width:100%;max-width:1100px;margin:0 auto;padding:6px 16px;box-sizing:border-box}.status-log .row-list{max-height:100px;overflow:auto;padding-bottom:2px}.status-log .row-list::-webkit-scrollbar{height:8px;width:8px}.status-log .row-list::-webkit-scrollbar-thumb{border-radius:999px}.status-log .row-list::-webkit-scrollbar-track{background:#080e1a5c}@media (max-width:900px){.grid-top{flex-direction:column}.status-card{width:100%}.grid-bottom{grid-template-columns:1fr}}@media (max-width:700px){.status-log{width:100%;margin-left:0;margin-right:0;padding:6px 12px;box-sizing:border-box}}@media (max-width:700px){.site-header .header-inner{align-items:flex-start}.header-controls{flex-direction:column;align-items:center;gap:8px}.header-controls .control-wrap{width:100%;display:flex;justify-content:center;align-items:center}.header-controls .control-wrap select,.header-controls .control-wrap:not(.park-input-wrap) input{width:65%;min-width:0;box-sizing:border-box}.park-go{display:inline-block;margin-left:8px;padding:6px 10px;border-radius:4px;border:1px solid rgba(0,0,0,.06);background:#fff}.park-go:active{transform:translateY(1px)}.header-controls .control-wrap.control-text{text-align:left}}.loader-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:9999}.loader-box{background:#ffffff08;padding:24px;border-radius:8px;display:flex;align-items:center;justify-content:center}.spinner{width:40px;height:40px;border-radius:50%;border:4px solid rgba(255,255,255,.2);border-top-color:#fff;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-reports-modal{position:relative;width:min(640px,calc(100vw - 24px));max-height:calc(100vh - 40px);overflow:auto;padding:18px;border-radius:14px;background:linear-gradient(180deg,#111a2b,#0d1523);border:1px solid rgba(148,163,184,.22);box-shadow:0 24px 64px #0000007a;color:#dbe4f0;pointer-events:auto}.dashboard-reports-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:#0206168c;z-index:12100;pointer-events:auto}.dashboard-reports-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.dashboard-reports-title{font-size:18px;font-weight:700}.dashboard-reports-subtitle{margin-top:4px;font-size:12px;color:#9fb0c8;line-height:1.5}.dashboard-reports-card{padding:14px;border-radius:12px;background:#09101d99;border:1px solid rgba(148,163,184,.12);margin-bottom:12px;display:flex;flex-direction:column;gap:12px}.dashboard-reports-toggle{display:inline-flex;align-items:center;gap:10px;font-weight:600}.dashboard-reports-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#c6d4e6}.dashboard-reports-field input{background:#111a2b;color:#dbe4f0;border:1px solid rgba(148,163,184,.28);border-radius:8px;padding:10px 12px;font:inherit}.dashboard-reports-field input:disabled{opacity:.55;cursor:not-allowed}.dashboard-reports-note{font-size:12px;color:#8ea0bb;line-height:1.5}.dashboard-reports-actions{display:flex;justify-content:flex-end}.dashboard-reports-button-primary{min-width:150px;padding:11px 18px;border:1px solid rgba(117,176,255,.32);border-radius:999px;background:linear-gradient(180deg,#223250fa,#152138fa);color:#f8fbff;font-size:14px;font-weight:700;letter-spacing:.01em;box-shadow:0 10px 24px #060c1857,inset 0 1px #ffffff14;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,opacity .18s ease}.dashboard-reports-button-primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08);border-color:#75b0ff75;box-shadow:0 14px 28px #060c186b,inset 0 1px #ffffff1f}.dashboard-reports-button-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 8px 18px #060c1847,inset 0 1px #ffffff14}.dashboard-reports-button-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.dashboard-reports-manual-title{font-size:14px;font-weight:700;color:#e6eef8}.dashboard-reports-result-backdrop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#02061685;z-index:2}.dashboard-reports-result{width:min(360px,100%);padding:18px;border-radius:12px;background:linear-gradient(180deg,#111a2b,#0b1322);border:1px solid rgba(148,163,184,.2);box-shadow:0 18px 44px #0000006b;display:flex;flex-direction:column;gap:12px}.dashboard-reports-result-success{border-color:#34d39961}.dashboard-reports-result-error{border-color:#f871716b}.dashboard-reports-result-title{font-size:16px;font-weight:800;color:#f8fbff}.dashboard-reports-result-message{font-size:13px;line-height:1.5;color:#c6d4e6}.control-text{color:#fffffff2;padding:6px 10px;border-radius:4px}html,body,#root{overflow:hidden}.app-root{height:100vh;overflow:hidden}.app-main{flex:1;min-height:0;overflow:hidden}.container.dashboard{max-width:1360px;height:100%;padding:12px 0;display:flex;flex-direction:column;gap:12px;color:#dbe4f0;overflow:hidden}.dashboard .card{background:linear-gradient(180deg,#111a2b,#0d1523);border:1px solid rgba(148,163,184,.2);border-radius:8px}.panel-title{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#8ea0bb;margin-bottom:8px}.dashboard .status-row{max-width:none;margin:0;padding:0}.dashboard .grid-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;flex:0 0 54%;min-height:0;margin:0;overflow:hidden}.dashboard .chart-card,.dashboard .stats-card{height:100%;min-height:0;padding:12px;overflow:hidden}.dashboard .chart-card{display:flex;flex-direction:column}.dashboard .chart-placeholder{height:100%;border:1px solid rgba(148,163,184,.15);border-radius:6px;background:#0a111e;color:#8ea0bb;overflow:hidden}.dashboard .stats-card{display:flex;flex-direction:column;align-items:center;overflow:hidden}.dashboard .stats-card input,.dashboard .stats-card button{background:#111a2b;color:#dbe4f0;border:1px solid rgba(148,163,184,.28)}.dashboard .grid-bottom{display:flex;flex-direction:column;flex:1 1 auto;height:auto;min-height:160px;margin:0;overflow:hidden}.dashboard .status-log{max-width:none;margin:0;flex:1 1 auto;min-height:0;padding:12px;display:flex;flex-direction:column;overflow:hidden;border-radius:10px}.dashboard .status-log .row-list{flex:1 1 auto;height:auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;border:1px solid rgba(148,163,184,.15);border-radius:10px;background:#0a111e}@supports (-moz-appearance: none){.dashboard .status-log{height:auto;flex:1 1 auto;min-height:0}.dashboard .status-log .row-list{height:auto;flex:1 1 auto;max-height:none}}.dashboard .status-log .row-list .row{display:grid;grid-template-columns:1fr 120px 200px;gap:12px;padding:6px 8px;align-items:center;border-bottom:1px solid rgba(148,163,184,.12)}.admin-log-timestamp{flex:0 0 25%;text-align:left;white-space:nowrap}.admin-log-ip{flex:0 0 50%;text-align:right;white-space:nowrap}.dashboard .status-log .row-list .row .doc,.dashboard .status-log .row-list .row .val,.dashboard .status-log .row-list .row .ts{color:#dbe4f0}.site-footer{background:#0b1220;color:#9aa7bd;padding:8px 0;border-top:1px solid rgba(148,163,184,.2)}.dashboard-nav-button,.admin-save-button,.admin-user-item{font:inherit}.dashboard-nav-button{border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .14s ease,transform .14s ease,border-color .14s ease}.dashboard-nav-button:hover{background:#ffffff29;border-color:#ffffff57}.dashboard-nav-button:active{transform:translateY(1px)}.header-controls .control-wrap:first-child .dashboard-nav-button{background:linear-gradient(135deg,#f7c948,#ef8f35);border-color:#f7c948bf;color:#10213d;font-weight:700}.header-controls .control-wrap:first-child .dashboard-nav-button:hover{background:linear-gradient(135deg,#ffd970,#f3a34f);border-color:#ffd970d9}.admin-page{max-width:1360px;height:100%;padding:20px 0 28px;box-sizing:border-box;overflow:hidden;position:relative;background:radial-gradient(circle at top right,rgba(76,163,255,.12),transparent 28%),radial-gradient(circle at bottom left,rgba(115,191,105,.08),transparent 24%)}.admin-shell{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;height:100%;min-height:0;align-items:stretch;transition:grid-template-columns .22s ease}.admin-shell--collapsed{grid-template-columns:48px minmax(0,1fr)}.admin-sidebar-toggle{display:flex;align-items:center;gap:8px;background:none;border:none;color:#94a3b8b3;cursor:pointer;padding:4px 2px;border-radius:8px;transition:color .14s ease;flex-shrink:0;font-size:13px}.admin-sidebar-toggle:hover{color:#7eb8ff}.admin-sidebar-toggle-icon{font-size:11px;line-height:1;flex-shrink:0}.admin-sidebar-toggle-label{font-size:13px;font-weight:600;letter-spacing:.03em;white-space:nowrap}.admin-sidebar--collapsed{padding:14px 8px;align-items:center;gap:0;overflow:hidden}.admin-sidebar,.admin-editor{background:linear-gradient(180deg,#111a2bf5,#0d1523fa);border:1px solid rgba(148,163,184,.16);border-radius:22px;padding:22px;min-height:0;overflow:hidden;box-shadow:0 28px 70px #0308145c,inset 0 1px #ffffff08;backdrop-filter:blur(10px)}.admin-sidebar{display:flex;flex-direction:column;gap:16px;position:relative}.admin-sidebar:after,.admin-editor:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,transparent 14%)}.admin-editor{position:relative;background:linear-gradient(180deg,#0e1727fa,#0a101dfa),radial-gradient(circle at top right,rgba(87,148,242,.08),transparent 26%)}.admin-sidebar-head,.admin-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-sidebar-actions,.admin-editor-actions{display:flex;align-items:center;gap:10px;width:100%}.admin-sidebar-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.admin-editor-actions{justify-content:flex-end;width:auto;margin-left:auto;padding:6px;border-radius:18px;background:linear-gradient(180deg,#0a111ef0,#080e1afa);border:1px solid rgba(148,163,184,.12);box-shadow:inset 0 1px #ffffff08}.admin-editor-head{align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(148,163,184,.12)}.admin-eyebrow{margin-bottom:8px;color:#73bf69;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.admin-title,.admin-section-title{margin:0;color:#f3f7ff;font-size:1.35rem;letter-spacing:-.02em}.admin-subtitle,.admin-section-copy{margin:6px 0 0;color:#8ea0bb;font-size:.95rem}.admin-search,.admin-field input,.admin-field select,.admin-field textarea{width:100%;box-sizing:border-box;background:linear-gradient(180deg,#0a111ef0,#080e1afa);color:#dbe4f0;border:1px solid rgba(148,163,184,.18);border-radius:12px;padding:11px 13px;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.admin-button-input{box-sizing:border-box;background:linear-gradient(180deg,#0a111ef0,#080e1afa);color:#dbe4f0;border:1px solid rgba(148,163,184,.18);border-radius:12px;padding:11px 13px;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease;width:100%}.admin-button-input::placeholder{color:#8ea0bbb8}.admin-button-input[type=date]::-webkit-calendar-picker-indicator,.admin-button-input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.4);cursor:pointer;opacity:.85}.admin-button-input[type=date]::-webkit-calendar-picker-indicator:hover,.admin-button-input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.admin-button-input[type=date][data-empty=true]::-webkit-datetime-edit{color:transparent}.admin-button-input[type=date][data-empty=true]{position:relative}.admin-button-input[type=date][data-empty=true]:before{content:attr(data-placeholder);position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8ea0bbb8;pointer-events:none}.admin-button-input:focus{outline:none;border-color:#5794f29e;box-shadow:0 0 0 4px #5794f21f;background:linear-gradient(180deg,#0c1423fa,#09101d)}.admin-alarm-codes-table td:nth-child(2),.admin-alarm-codes-table th:nth-child(2){word-break:break-word;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.admin-alarm-codes-table tbody td{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;height:auto;line-height:1.35;padding-top:12px;padding-bottom:12px}.admin-alarm-codes-table tbody tr{height:auto}.admin-alarm-codes-table td:nth-child(1),.admin-alarm-codes-table td:nth-child(3),.admin-alarm-codes-table td:nth-child(4){white-space:nowrap!important}.admin-alarm-codes-table th:nth-child(3),.admin-alarm-codes-table th:nth-child(4){white-space:nowrap}.admin-alarm-codes-table td:nth-child(5),.admin-alarm-codes-table td:nth-child(6){vertical-align:middle}.admin-alarm-translation-input,.admin-alarm-delay-input{width:100%;box-sizing:border-box;border-radius:14px;border:1px solid rgba(120,150,200,.18);background:linear-gradient(180deg,#0d182afa,#080f1c),radial-gradient(circle at top right,rgba(87,148,242,.12),transparent 48%);color:#eaf5ff;padding:10px 12px;font-size:12px;line-height:1.35;box-shadow:inset 0 1px #ffffff09;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.admin-alarm-translation-input::placeholder,.admin-alarm-delay-input::placeholder{color:#adc1db9e}.admin-alarm-translation-input:focus,.admin-alarm-delay-input:focus{outline:none;border-color:#60a5faad;box-shadow:0 0 0 4px #3b82f61f,0 10px 20px #0208183d;transform:translateY(-1px)}.admin-alarm-delay-input{text-align:center;font-variant-numeric:tabular-nums;padding-left:10px;padding-right:10px}.admin-field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:42px;background-image:linear-gradient(180deg,#0a111ef0,#080e1afa),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.25 4.5 6 8.25 9.75 4.5' stroke='%23a9bdd9' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat;background-position:0 0,calc(100% - 14px) 50%;background-size:auto,14px 14px;cursor:pointer}.admin-field select option{background:#0b1422;color:#dbe4f0}.admin-search::placeholder,.admin-field input::placeholder,.admin-field textarea::placeholder{color:#8ea0bbb8}.admin-search:focus,.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{outline:none;border-color:#5794f29e;box-shadow:0 0 0 4px #5794f21f;background:linear-gradient(180deg,#0c1423fa,#09101d)}.admin-search{max-width:220px;min-width:0}.admin-sidebar-actions .admin-search{flex:1;max-width:none;min-width:0}.admin-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-stat-card{padding:14px;border-radius:14px;background:linear-gradient(180deg,#0d1523f0,#080e1a);border:1px solid rgba(148,163,184,.16);display:flex;flex-direction:column;gap:4px}.admin-stat-value{color:#f8fbff;font-size:1.35rem;font-weight:800;line-height:1}.admin-stat-label{color:#8ea0bb;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.admin-readonly-input{background:linear-gradient(180deg,#94a3b814,#78869e0f);color:#94a3b8;border-color:#94a3b838;cursor:not-allowed}.admin-readonly-input:focus{outline:none;box-shadow:none}.admin-user-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px;padding-right:8px;padding-top:2px;scrollbar-width:thin;scrollbar-color:rgba(117,176,255,.78) rgba(8,14,26,.5)}.admin-user-list::-webkit-scrollbar{width:10px}.admin-user-list::-webkit-scrollbar-track{background:linear-gradient(180deg,#080e1aeb,#0d1523e6);border-radius:999px;border:1px solid rgba(148,163,184,.08)}.admin-user-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#78b6ffd9,#4b85e0d1);border-radius:999px;border:2px solid rgba(8,14,26,.72);box-shadow:inset 0 1px 1px #ffffff29}.admin-user-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#90c6fff0,#609ef5eb)}.admin-user-item{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:0;padding:10px 14px;min-height:64px;flex:0 0 64px;border-radius:16px;border:1px solid rgba(148,163,184,.1);background:linear-gradient(180deg,#0a101dfa,#080d18);color:#dbe4f0;cursor:pointer;text-align:left;transition:border-color .14s ease,transform .14s ease,background .14s ease,box-shadow .14s ease;position:relative;overflow:hidden}.admin-user-item:before{content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:6px;height:24px;border-radius:999px;background:linear-gradient(180deg,#5794f22e,#5794f20a);transition:background .14s ease,box-shadow .14s ease}.dashboard .grid-bottom{max-height:235px!important}.status-log,.dashboard .status-log{height:100%!important;min-height:0!important;max-height:none!important}.status-log .row-list,.dashboard .status-log .row-list{height:100%!important;max-height:none!important;flex:1 1 auto!important;overflow:auto!important}.status-log .row-list .row.header,.dashboard .status-log .row-list .row.header{display:none!important;height:0!important;padding:0!important;margin:0!important;border:none!important}.grid-bottom,.dashboard .grid-bottom{height:20%!important;min-height:0!important;flex:0 0 20%!important;overflow:hidden!important}.grid-bottom>.card,.dashboard .grid-bottom>.card{height:20%!important;min-height:0!important}.admin-user-item:hover{border-color:#5794f28c;background:linear-gradient(180deg,#0f1828fa,#0a101e);box-shadow:0 14px 28px #0208143d;transform:translateY(-1px)}.admin-user-item.active{border-color:#5794f2f2;background:linear-gradient(180deg,#5794f22e,#10192afa);box-shadow:0 16px 30px #050e204d}.admin-user-item.active:before,.admin-user-item:hover:before{background:linear-gradient(180deg,#5794f2f2,#4ca3ff61);box-shadow:0 0 16px #5794f247}.admin-user-topline{width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px}.admin-user-name{font-weight:700;font-size:.96rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:18px;flex:1;letter-spacing:-.01em}.admin-user-username{font-size:.76rem;line-height:1.15;color:#aabad2d1;padding-left:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.admin-user-id{position:absolute;right:14px;bottom:12px;font-size:.76rem;color:#aabad2d1;white-space:nowrap}.admin-user-pill{padding:4px 8px;border-radius:999px;background:linear-gradient(180deg,#73bf692e,#73bf691a);border:1px solid rgba(115,191,105,.24);color:#b9e3b3;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.admin-user-badges{display:flex;flex-wrap:wrap;gap:6px;padding-left:18px;width:100%;overflow:visible}.admin-permission-badge{padding:4px 8px;border-radius:999px;background:linear-gradient(180deg,#94a3b81f,#7988a214);border:1px solid rgba(148,163,184,.12);color:#d0daea;font-size:.72rem;font-weight:600;line-height:1;white-space:nowrap;flex:0 0 auto}.admin-user-meta,.admin-empty{color:#8ea0bb;font-size:.92rem}.admin-editor{display:flex;flex-direction:column;gap:18px;overflow:auto;scrollbar-width:thin}.admin-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:-2px;margin-bottom:2px}.admin-form-stack{display:flex;flex-direction:column;gap:18px}.admin-panel-section{padding:20px;border-radius:18px;background:linear-gradient(180deg,#0a111ef0,#080e1afa),radial-gradient(circle at top right,rgba(87,148,242,.05),transparent 28%);border:1px solid rgba(148,163,184,.12);box-shadow:inset 0 1px #ffffff06,0 14px 28px #0308142e}.admin-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-panel-title{margin:0;color:#f3f7ff;font-size:1rem;font-weight:700}.admin-panel-copy{margin:6px 0 0;color:#8ea0bb;font-size:.9rem}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-field{display:flex;flex-direction:column;gap:8px;color:#c8d4e6;font-size:.92rem}.admin-field>span{font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#8ea0bb}.admin-field-hint{color:#7f92ad;font-size:.82rem;line-height:1.4}.admin-field-wide{grid-column:1 / -1}.admin-toggle-row{display:flex;flex-wrap:wrap;gap:14px;padding:4px 0}.admin-toggle{display:inline-flex;align-items:center;gap:10px;color:#dbe4f0;padding:13px 15px;border-radius:14px;background:linear-gradient(180deg,#0a111ef5,#080e1a);border:1px solid rgba(148,163,184,.14);box-shadow:inset 0 1px #ffffff06;transition:border-color .14s ease,transform .14s ease,background .14s ease}.admin-toggle:hover{border-color:#5794f25c;background:linear-gradient(180deg,#0c1423fa,#09101d);transform:translateY(-1px)}.admin-toggle input{width:16px;height:16px;accent-color:#4ca3ff;flex:0 0 auto}.admin-toggle span{font-weight:600;letter-spacing:-.01em}.admin-save-button{min-width:86px;height:34px;padding:6px 12px;border:1px solid rgba(103,168,255,.28);background:linear-gradient(180deg,#2d7cf3,#1b5fc8);color:#fff;border-radius:8px;cursor:pointer;font-weight:700;font-size:.86rem;letter-spacing:-.01em;white-space:nowrap;box-shadow:inset 0 1px #ffffff1f,0 6px 12px #1454b72e;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,border-color .12s ease}.admin-save-button-compact{min-width:82px;height:36px;padding:0 14px;border-radius:12px;font-size:.84rem;box-shadow:inset 0 1px #ffffff24,0 8px 18px #1454b738}.admin-save-button:hover:not(:disabled){filter:brightness(1.03);border-color:#8bc0ff94;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff2e,0 14px 28px #1454b757;background:linear-gradient(180deg,#3687ff,#236cd8)}.admin-save-button:active:not(:disabled){transform:translateY(0);box-shadow:inset 0 1px #ffffff1f,0 8px 18px #1454b73d}.admin-secondary-button{border:1px solid rgba(148,163,184,.24);background:linear-gradient(180deg,#0c1422f5,#0a101c);color:#dbe4f0;padding:11px 14px;border-radius:14px;cursor:pointer;font-weight:600;white-space:nowrap;flex:0 0 auto;transition:transform .14s ease,border-color .14s ease,background .14s ease}.admin-secondary-button-compact{padding:8px 12px;border-radius:12px;font-size:.84rem}.admin-secondary-button:hover{border-color:#5794f259;background:linear-gradient(180deg,#10192afa,#0c1321);transform:translateY(-1px)}.admin-secondary-button:disabled{opacity:.6;cursor:default}.admin-save-button:disabled{opacity:.6;cursor:default}.admin-error-banner{padding:13px 15px;border-radius:14px;background:#9b1b1b33;border:1px solid rgba(155,27,27,.35);color:#ffd8d8;box-shadow:inset 0 1px #ffffff08}.admin-log-list{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow:auto;padding-right:6px}.admin-log-item{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:16px;border:1px solid rgba(148,163,184,.12);background:linear-gradient(180deg,#0b1220fa,#080d18);box-shadow:inset 0 1px #ffffff06}.admin-log-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#8ea0bb;font-size:.82rem;flex-wrap:wrap}.admin-log-timestamp,.admin-log-ip{white-space:nowrap}.admin-log-platform{flex:1 0 0;text-align:center;color:#8ea0bb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-log-action{color:#e5eefc;font-size:.94rem;line-height:1.45;word-break:break-word}@media (max-width: 1366px) and (max-height: 800px){.admin-page{padding:12px 0 16px}.admin-shell{grid-template-columns:300px minmax(0,1fr);gap:14px}.admin-shell--collapsed{grid-template-columns:48px minmax(0,1fr)}.admin-sidebar,.admin-editor{padding:16px;border-radius:18px}.admin-sidebar{gap:12px}.admin-editor,.admin-form-stack{gap:14px}.admin-sidebar-head,.admin-editor-head{gap:12px}.admin-search,.admin-field input,.admin-field select,.admin-field textarea,.admin-save-button,.admin-secondary-button,.admin-toggle{padding-top:10px;padding-bottom:10px}.admin-user-item{padding:9px 12px;min-height:58px;flex-basis:58px}.admin-user-name,.admin-user-username,.admin-user-badges{padding-left:14px}.admin-user-item:before{left:8px;height:20px}.admin-panel-section{padding:16px;border-radius:16px}.admin-form-grid{gap:14px}.admin-toggle-row{gap:10px}.admin-form-actions{gap:8px}}@media (max-width: 980px){.admin-page{height:auto;overflow:visible}.admin-shell{grid-template-columns:1fr;height:auto}.admin-sidebar,.admin-editor{overflow:visible}.admin-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-form-grid{grid-template-columns:1fr}}@media (max-width: 700px){.admin-sidebar-head,.admin-editor-head,.admin-user-topline{flex-direction:column;align-items:flex-start}.admin-sidebar-actions,.admin-editor-actions{flex-direction:column;align-items:stretch}.admin-search{max-width:none;min-width:0}.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 980px){html,body,#root{overflow:auto}.app-root{height:auto;min-height:100vh;overflow:visible}.app-main{overflow:visible}.container.dashboard{height:auto;overflow:visible}.dashboard .status-row{justify-content:flex-start;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.dashboard .status-row::-webkit-scrollbar{display:none}.dashboard .status-row>div{min-width:max-content}.dashboard .grid-top{grid-template-columns:1fr;flex:0 0 auto;overflow:visible}.dashboard .chart-card{height:auto!important;min-height:300px}.dashboard .chart-placeholder{height:100%;min-height:240px}.dashboard .stats-card{height:auto}.dashboard .grid-bottom{height:auto;min-height:220px;overflow:visible}}html,body{background:#070d18;color:#dbe4f0}#root,.app-root,.app-main{background:#070d18}.site-header{background:linear-gradient(180deg,#111a2b,#0d1523);border-bottom:1px solid rgba(148,163,184,.2);box-shadow:inset 0 -1px #ffffff05}.site-header .brand-left,.site-header .control-text{color:#dbe4f0}.site-header .container.header-inner,.site-footer .container{max-width:1360px;width:100%;margin:0 auto;padding:0 16px;box-sizing:border-box}.site-header .brand-left{display:flex;align-items:center;gap:12px;white-space:nowrap;min-width:0}.site-header .brand-mobile-user{display:none}.site-header .desktop-header-user{display:block;min-width:0}.site-header .header-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.site-header .brand-left-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.site-header .header-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex-wrap:wrap}.site-header .header-controls .control-wrap{min-width:0;max-width:100%}.site-header .header-controls .control-wrap.control-text{flex:1 1 280px;text-align:right}.site-header .control-text{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.site-header .header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.site-header .header-actions-login{margin-left:auto}.site-header .header-demo-button{background:#0a7b2f;border-color:#ffffff2e;color:#fff}.site-header .header-demo-button:hover{background:#0e8f37}.site-header .header-demo-exit-button{background:#b3261e;border-color:#ffffff2e;color:#fff}.site-header .header-demo-exit-button:hover{background:#cc2d24}.site-header .header-actions .control-wrap,.site-header .desktop-header-user .control-wrap{min-width:0;max-width:100%}.site-header .desktop-header-user select{min-width:220px;max-width:100%}.site-header .brand-logo-image{display:block;height:44px;width:auto}.site-header .mass-action-button{padding:0 12px;font-size:13px;line-height:1;text-transform:none}.admin-tabs-bar{display:flex;gap:8px;padding:6px;background:linear-gradient(180deg,#ffffff03,#fff0);border-radius:10px;margin-bottom:8px;align-items:center}.admin-tab{background:transparent;border:1px solid rgba(255,255,255,.04);color:#cfe3ff;padding:6px 10px;border-radius:8px;cursor:pointer;font-weight:700;min-width:84px;text-align:center;flex:1}.admin-tab:hover{transform:translateY(-1px);box-shadow:0 8px 18px #02081847}.admin-tab.active{background:linear-gradient(90deg,#0b5cff,#1b7bff);color:#fff;border:none;box-shadow:0 12px 30px #0b5cff29}.admin-field-wide textarea{background:linear-gradient(180deg,#0a111ef5,#080e1afa);color:#eaf5ff;border:1px solid rgba(120,150,200,.12);padding:12px;border-radius:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Courier New,monospace;font-size:13px;line-height:1.45}.admin-field-wide textarea:focus{box-shadow:0 10px 30px #0b5cff14;border-color:#1b7bff4d}.admin-template-editor-shell{position:relative;border-radius:12px;overflow:hidden;min-height:760px}.admin-template-editor-highlight,.admin-template-editor-input{width:100%;height:100%;min-height:760px;min-height:0;box-sizing:border-box;padding:12px;border-radius:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Courier New,monospace;font-size:13px;line-height:1.45;white-space:pre-wrap;word-break:break-word;tab-size:2}.admin-template-editor-highlight{position:absolute;inset:0;overflow:auto;pointer-events:none;color:#d8e6f7;background:linear-gradient(180deg,#0a111ef5,#080e1afa);border:1px solid rgba(120,150,200,.12)}.admin-template-editor-input{position:relative;z-index:1;resize:vertical;background:transparent!important;color:transparent!important;caret-color:#f8fbff}.admin-template-editor-input::selection{background:#2779ff52}.admin-template-editor-input:focus{box-shadow:0 10px 30px #0b5cff14;border-color:#1b7bff4d}.admin-template-editor-token{color:#7bc6ff;background:#1359a542;border-radius:6px;box-shadow:inset 0 0 0 1px #6fc4ff33}.admin-form-actions{display:flex;justify-content:flex-end;gap:12px}.admin-save-button{background:linear-gradient(90deg,#0b5cff,#1b7bff);color:#fff;border:none;padding:6px 12px;border-radius:8px;box-shadow:0 6px 12px #0b5cff1f;font-weight:700}.admin-save-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.03)}.admin-user-actions-field{display:flex;align-items:stretch;justify-content:stretch}.admin-user-actions{width:100%;display:flex;justify-content:flex-start;align-items:stretch;gap:10px;flex-wrap:wrap}.admin-user-actions .admin-save-button{margin-left:auto}.admin-dashboard-as-button{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:8px 14px;border:1px solid rgba(101,185,255,.18);border-radius:12px;background:linear-gradient(135deg,#0c192af0,#103663e0);box-shadow:inset 0 1px #ffffff14,0 8px 18px #061f4229;color:#e8f0fae0;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,filter .14s ease}.admin-dashboard-as-button:hover{transform:translateY(-1px);filter:brightness(1.015);border-color:#7dccff4d;box-shadow:inset 0 1px #ffffff1f,0 10px 22px #061f4233}.admin-dashboard-as-button-label{font-size:.77rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#e1eeffc7;white-space:nowrap}.admin-dashboard-as-button-user{font-size:.82rem;font-weight:600;letter-spacing:0;color:#e8f0fae6;white-space:nowrap}@media (max-width: 900px){.admin-user-actions{justify-content:stretch}.admin-dashboard-as-button,.admin-user-actions .admin-save-button{width:100%;justify-content:center}.admin-dashboard-as-button{flex-direction:column;gap:4px}.admin-dashboard-as-button-label,.admin-dashboard-as-button-user{text-align:center}}.admin-panel-section{padding:18px;border-radius:16px}@media (max-width:900px){.admin-tabs-bar{flex-wrap:wrap}.admin-form-grid{grid-template-columns:1fr}}.site-header .dashboard-nav-button,.site-header .admin-brand-button{font-size:13px;line-height:1;font-weight:600;text-transform:none}.site-header .mass-action-button:disabled{opacity:.65;cursor:wait}.mass-action-popup-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#070c1675;z-index:12060}.mass-action-popup-card{width:min(680px,calc(100vw - 32px));max-height:min(78vh,720px);display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:14px;border:1px solid rgba(148,163,184,.24);background:linear-gradient(180deg,#111a2bfa,#0d1523fc);box-shadow:0 24px 64px #04091261;color:#dbe4f0;overflow:hidden}.mass-action-popup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.mass-action-popup-subtitle{margin-top:6px;font-size:13px;color:#9fb0c8}.mass-action-popup-close{border:1px solid rgba(148,163,184,.28);background:linear-gradient(180deg,#1a2a45,#122036);color:#dbe4f0;border-radius:8px;padding:8px 12px;font-weight:600;cursor:pointer;white-space:nowrap}.mass-action-confirm-card{width:min(434px,calc(100vw - 32px));max-height:none}.mass-action-confirm-message{max-width:520px;line-height:1.5;color:#dbe4f0}.mass-action-confirm-actions{display:flex;justify-content:flex-end;gap:10px}.mass-action-confirm-continue{border-color:#5794f280;background:linear-gradient(180deg,#214684,#183567)}.mass-action-popup-results{display:flex;flex-direction:column;gap:10px;overflow:auto;padding-right:4px}.mass-action-popup-row{display:grid;grid-template-columns:136px minmax(0,1fr);align-items:start;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid rgba(148,163,184,.16);background:#0a111ead}.mass-action-popup-row.pending{border-color:#78b6ff3d;background:#122645c2}.mass-action-popup-row.success{border-color:#0a7b2f4d;background:#0f472138}.mass-action-popup-row.error{border-color:#9b1b1b4d;background:#54151838}.admin-editor{position:relative;padding-bottom:96px}.admin-save-floating{position:fixed;right:24px;bottom:24px;z-index:12020;display:flex;align-items:center;justify-content:center}.admin-save-floating .admin-save-button{min-width:72px;height:36px;padding:0 12px;border-radius:12px;font-weight:700;font-size:.88rem;box-shadow:0 8px 18px #0b5cff1f}@media (max-width: 980px){.admin-save-floating{position:static;margin-top:12px;text-align:right}.admin-editor{padding-bottom:18px}}.mass-action-popup-park{font-weight:700;color:#dbe4f0}.mass-action-popup-message{line-height:1.4;color:#c8d5e6;word-break:break-word}.admin-confirm-button{background:linear-gradient(180deg,#0b1220,#07101a);color:#eaf5ff;border:1px solid rgba(148,163,184,.12);padding:10px 18px;border-radius:8px;min-width:96px;font-weight:700;cursor:pointer}.admin-confirm-button:hover:not(:disabled){filter:brightness(1.05)}.admin-confirm-button:active:not(:disabled){transform:translateY(0)}@media (max-width: 760px){.mass-action-popup-header{flex-direction:column;align-items:stretch}.mass-action-popup-close{align-self:flex-end}.mass-action-confirm-actions{justify-content:stretch}.mass-action-confirm-actions .mass-action-popup-close{flex:1 1 0}.mass-action-popup-row{grid-template-columns:1fr;gap:6px}.site-header .brand-left-actions{flex-wrap:wrap}}.site-header .admin-brand-button{margin-left:0;text-transform:none;align-self:center}.site-header .dashboard-nav-button,.site-header .header-actions select,.site-header .brand-mobile-user select,.site-header .park-go{height:34px;box-sizing:border-box}.site-header .dashboard-nav-button,.site-header .park-go{display:inline-flex;align-items:center;justify-content:center;padding-top:0;padding-bottom:0}.site-header .header-controls .control-wrap select,.site-header .header-actions select,.site-header .brand-mobile-user select,.site-header .header-controls .control-wrap input,.site-header .park-go{background:linear-gradient(180deg,#111a2bfa,#0d1523fa);color:#dbe4f0;border:1px solid rgba(148,163,184,.28);border-radius:8px;box-shadow:inset 0 1px #ffffff08}.site-header .header-controls .control-wrap select,.site-header .header-actions select,.site-header .brand-mobile-user select{padding:0 36px 0 12px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#9fb0c8 50%),linear-gradient(135deg,#9fb0c8 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 10px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.site-header .header-controls .control-wrap select option,.site-header .header-actions select option,.site-header .brand-mobile-user select option{background:#111a2b;color:#dbe4f0}.site-header .header-controls .control-wrap.park-input-wrap{width:auto;display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}.site-header .header-controls .control-wrap .park-input-field{width:96px;min-width:96px;box-sizing:border-box;padding:6px 8px;border-radius:4px}.site-header .park-go{margin-left:0;white-space:nowrap}.site-header .header-controls .control-wrap select:focus,.site-header .header-actions select:focus,.site-header .brand-mobile-user select:focus,.site-header .header-controls .control-wrap input:focus{outline:2px solid rgba(115,191,105,.25);border-color:#73bf6966}@media (max-width: 760px){.site-header .header-inner{grid-template-columns:1fr;align-items:stretch;gap:8px}.site-header .brand-left{justify-content:space-between;gap:8px}.site-header .brand-mobile-user{display:block;flex:1 1 auto;min-width:0;max-width:220px}.site-header .brand-mobile-user .control-wrap,.site-header .brand-mobile-user select{width:100%;min-width:0}.site-header .desktop-user-control,.site-header .desktop-header-user{display:none}.site-header .header-controls,.site-header .header-actions,.site-header .brand-left-actions{width:100%;justify-content:stretch}.site-header .header-controls{flex-direction:column;align-items:stretch;gap:6px}.site-header .header-controls .control-wrap,.site-header .header-controls .control-wrap.control-text,.site-header .header-controls .control-wrap.park-input-wrap{width:100%;max-width:100%;flex:0 0 auto}.site-header .header-controls .control-wrap.control-text{text-align:left;padding:2px 0;line-height:1.3;min-height:0}.site-header .header-controls .control-wrap select,.site-header .header-controls .control-wrap input,.site-header .header-controls .control-wrap .park-input-field{width:100%;min-width:0}.site-header .header-controls .control-wrap.park-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.site-header .header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}.site-header .brand-left-actions{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}.site-header .header-actions .dashboard-nav-button,.site-header .brand-left-actions .dashboard-nav-button,.site-header .park-go{width:100%;box-sizing:border-box;text-align:center}.site-header .admin-brand-button{align-self:stretch}}.dashboard .status-row{gap:10px}.dashboard .status-chip-row{display:flex;align-items:center;gap:8px;min-width:0;width:100%}.dashboard .status-badge,.dashboard .add-badge,.dashboard .status-flag-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;height:40px;border-radius:10px;border:1px solid rgba(148,163,184,.25);background:linear-gradient(180deg,#111a2bf2,#0d1523f2);box-shadow:inset 0 1px #ffffff0a;margin:0;box-sizing:border-box}.dashboard .status-badge.online,.dashboard .add-badge.online,.dashboard .status-flag-badge{border-color:#5794f273;background:linear-gradient(180deg,#10203af2,#0c182cf2);color:#cfe0ff}.dashboard .status-badge.offline,.dashboard .add-badge.offline{border-color:#ef444473;background:linear-gradient(180deg,#34141df2,#220e15f2);color:#ffd5d5}.dashboard .status-badge.ready{color:#b8c6da}.dashboard .status-badge svg,.dashboard .add-badge svg{width:18px;height:18px;flex:0 0 auto}.dashboard .add-badge,.dashboard .add-badge:link,.dashboard .add-badge:visited{color:#fff}.dashboard .add-badge .badge-label{color:inherit;font-weight:700}.dashboard .status-flag-dot{width:12px;height:12px;border-radius:9999px;border:1px solid rgba(148,163,184,.55);flex:0 0 auto}.dashboard .status-flag-dot.green{background:#22c55e;border-color:#22c55e}.dashboard .status-flag-dot.white{background:#fff;border-color:#94a3b8a6}.dashboard .badge-copy{display:flex;flex-direction:column;line-height:1.15;gap:2px}.dashboard .add-badge .badge-copy{flex-direction:row;align-items:center;gap:6px}.dashboard .badge-label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;opacity:.82}.dashboard .badge-value{font-size:13px;font-weight:600;white-space:nowrap}.dashboard .add-badge .badge-label{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;opacity:1}@media (min-width: 761px){.dashboard .status-chip-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:8px}.dashboard .status-badge,.dashboard .add-badge,.dashboard .status-flag-badge{width:100%;min-width:0;height:42px;justify-content:flex-start}.dashboard .badge-copy{flex-direction:row;align-items:center;gap:6px;min-width:0}.dashboard .badge-value,.dashboard .badge-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard .add-badge .badge-copy{flex-direction:row;align-items:center;justify-content:flex-start}}.dashboard .stats-date-wrap{margin-bottom:10px;width:100%;display:flex;justify-content:center}.dashboard .stats-date-input{padding:6px 8px;border-radius:6px;border:1px solid rgba(148,163,184,.28);background:#111a2b;color:#dbe4f0;font-size:12px}.dashboard .stats-energy-main{font-size:26px;line-height:1;font-weight:700;letter-spacing:-.02em;text-align:center;margin-top:2px}.dashboard .stats-energy-meta{margin-top:10px;width:100%;text-align:center;color:#9fb0c8;font-size:12px;line-height:1.35}.dashboard .stats-meta-row+.stats-meta-row{margin-top:2px}.dashboard .stats-meta-empty{opacity:.78}.dashboard .stats-column{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(180px,.34fr) minmax(0,.66fr);gap:12px;overflow:hidden}.dashboard .stats-column .stats-card{height:100%;min-height:0}.dashboard .stats-card-top{justify-content:flex-start}.dashboard .stats-card-bottom{justify-content:flex-start;margin-top:1%}.dashboard .stats-section-title{margin-top:24px;font-size:13px;font-weight:600;letter-spacing:.03em;color:#8ea0bb;text-align:center}.dashboard .stats-card-bottom .stats-section-title{margin-top:1%}.dashboard .stats-power-block{margin-top:6px;text-align:center}.dashboard .stats-current-power{font-size:26px;line-height:1;font-weight:700;letter-spacing:-.02em}.dashboard .stats-reactive-power{margin-top:6px;font-size:12px;color:#9fb0c8;min-height:18px}.dashboard .stats-phases-wrap{margin-top:10px;width:100%;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:8px}.dashboard .stats-phase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dashboard .stats-phase-item{padding:8px 6px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:linear-gradient(180deg,#0d1523eb,#090f1aeb);text-align:center}.dashboard .stats-phase-label{font-size:11px;color:#8ea0bb;text-transform:uppercase;letter-spacing:.05em}.dashboard .stats-phase-value{margin-top:3px;font-size:16px;font-weight:600;color:#dbe4f0}.dashboard .stats-phase-subvalue{margin-top:3px;font-size:12px;font-weight:600;color:#9fb0c8}.dashboard .stats-frequency-row{display:flex;justify-content:center;align-items:baseline;gap:8px;color:#9fb0c8}.dashboard .stats-frequency-label{font-size:12px;letter-spacing:.04em}.dashboard .stats-frequency-value{font-size:16px;font-weight:600;color:#dbe4f0}.dashboard .stats-setpoint-row{display:flex;justify-content:flex-start;gap:1px;align-items:center;width:auto;margin-right:0;flex-wrap:nowrap}.dashboard .stats-setpoint-label{font-size:12px;color:#9fb0c8;white-space:nowrap}.dashboard .stats-setpoint-input{min-width:0;width:88px;flex:0 0 88px;min-inline-size:88px;height:34px;padding:6px 8px;border-radius:6px;border:1px solid rgba(148,163,184,.28);background:#111a2b;color:#dbe4f0;text-align:center;box-sizing:border-box}.dashboard .stats-setpoint-input::placeholder{color:#8ea0bb;opacity:.85}.dashboard .stats-setpoint-button{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:6px 10px;border-radius:6px;border:1px solid rgba(148,163,184,.28);background:linear-gradient(180deg,#1a2a45,#122036);color:#dbe4f0;font-weight:600;cursor:pointer;white-space:nowrap;box-sizing:border-box}.dashboard .stats-setpoint-button:hover{filter:brightness(1.08)}@media (min-width: 761px){.dashboard .stats-column{grid-template-rows:minmax(150px,auto) minmax(0,auto);gap:8px}.dashboard .stats-card-top,.dashboard .stats-card-bottom{margin-top:0;padding-top:10px;padding-bottom:10px}.dashboard .stats-date-wrap,.dashboard .stats-energy-meta,.dashboard .stats-phases-wrap{margin-top:8px}.dashboard .stats-section-title,.dashboard .stats-card-bottom .stats-section-title{margin-top:0;line-height:1.2}.dashboard .stats-power-block{margin-top:4px}.dashboard .stats-reactive-power{margin-top:4px;min-height:0}.dashboard .stats-phases-wrap{flex:0 0 auto;justify-content:flex-start;gap:6px}.dashboard .stats-frequency-row{min-height:32px;margin-top:2px}.dashboard .stats-setpoint-row{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;column-gap:12px;row-gap:0;gap:1px;flex-wrap:nowrap}.dashboard .stats-card-bottom .stats-setpoint-row{width:calc(100% + 32px);margin-right:-16px;padding-right:16px}.dashboard .stats-setpoint-label,.dashboard .stats-setpoint-input,.dashboard .stats-setpoint-button{height:32px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0}.dashboard .stats-setpoint-label{padding:0}.dashboard .stats-setpoint-input{width:104px;flex:0 0 104px;min-inline-size:104px;padding:0 8px}.dashboard .stats-setpoint-button{padding:0 12px;flex:0 0 auto;width:auto;max-width:220px}}.setpoint-popup-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:12050}.setpoint-popup-card{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;border:1px solid rgba(148,163,184,.28);background:linear-gradient(180deg,#111a2b,#0d1523);color:#dbe4f0;font-weight:600;box-shadow:inset 0 1px #ffffff08}.setpoint-popup-card.success{background:#dff4e1;color:#0a7b2f;border:1px solid rgba(10,123,47,.3)}.setpoint-popup-card.error{background:#ffe6e6;color:#9b1b1b;border:1px solid rgba(155,27,27,.3)}.setpoint-popup-card svg{width:18px;height:18px;flex:0 0 auto}.alarms-popup-overlay{position:fixed;inset:0;background:#0206168c;display:flex;align-items:center;justify-content:center;z-index:12100;padding:16px}.alarms-popup-card{background:linear-gradient(180deg,#111a2b,#0d1523);border:1px solid rgba(217,119,6,.45);border-radius:12px;box-shadow:0 16px 48px #020616b3;width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;color:#dbe4f0}.alarms-popup-card-event{border-color:#2563eb73;box-shadow:0 16px 48px #020616b3,0 0 0 1px #2563eb1f}.alarms-popup-header{display:flex;align-items:center;gap:10px;padding:16px 18px 12px;border-bottom:1px solid rgba(148,163,184,.12);flex-shrink:0}.alarms-popup-header svg{width:22px;height:22px;flex-shrink:0}.alarms-popup-header strong{flex:1;font-size:15px;color:#e9f2ff;letter-spacing:.01em}.alarms-popup-close{background:none;border:none;cursor:pointer;padding:4px;color:#8ea0bb;display:flex;align-items:center;justify-content:center;border-radius:4px}.alarms-popup-close:hover{color:#dbe4f0;background:#ffffff0f}.alarms-popup-close svg{width:16px;height:16px}.alarms-popup-list{list-style:none;margin:0;padding:8px 0;overflow-y:auto;flex:1;min-height:0}.alarms-popup-item{display:flex;flex-direction:column;gap:2px;padding:10px 18px;border-bottom:1px solid rgba(148,163,184,.08)}.alarms-popup-item-event{background:#2563eb14}.alarms-popup-item:last-child{border-bottom:none}.alarms-popup-ts{font-size:11px;color:#8ea0bb;letter-spacing:.02em}.alarms-popup-desc{font-size:14px;color:#e9f2ff;line-height:1.4}.alarms-popup-actions{padding:12px 18px;border-top:1px solid rgba(148,163,184,.12);display:flex;justify-content:flex-end;flex-shrink:0}.alarms-popup-dismiss-btn{background:#c0392b;color:#fff;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:600;cursor:pointer;letter-spacing:.01em;transition:background .15s}.alarms-popup-card-event .alarms-popup-dismiss-btn{background:#2563eb}.alarms-popup-card-event .alarms-popup-dismiss-btn:hover{background:#1d4ed8}.alarms-popup-dismiss-btn:hover{background:#a93226}@media (min-width: 981px) and (max-height: 800px){.app-main{overflow-y:auto;overflow-x:hidden}.container.dashboard,.dashboard{height:auto;min-height:100%;overflow:visible}.container.dashboard{padding-top:8px;padding-bottom:16px}.dashboard .grid-top,.dashboard .grid-bottom{flex:0 0 auto;overflow:visible}.dashboard .chart-card{min-height:280px}.dashboard .chart-placeholder{min-height:240px}.dashboard .status-log{height:47%!important;min-height:0}.dashboard .status-log .row-list{flex:1 1 auto;height:auto;max-height:100px}.dashboard .stats-column{height:auto;grid-template-rows:auto auto;overflow:visible}.dashboard .stats-column .stats-card,.dashboard .chart-card,.dashboard .stats-card{height:auto!important}}@media (max-width: 980px){.dashboard .stats-column{height:auto!important;grid-template-rows:auto auto;overflow:visible}}@media (max-width: 760px){.dashboard .stats-column{grid-template-rows:auto auto;gap:12px}.dashboard .stats-card-top,.dashboard .stats-card-bottom{margin-top:0;height:auto;min-height:0;padding-bottom:14px}.dashboard .stats-section-title,.dashboard .stats-card-bottom .stats-section-title{margin-top:0}.dashboard .stats-phases-wrap{flex:0 0 auto;justify-content:flex-start;gap:12px}.dashboard .stats-frequency-row{flex-wrap:wrap;justify-content:center;row-gap:4px}.dashboard .stats-setpoint-row{display:grid;grid-template-columns:repeat(2,auto);justify-content:center;align-items:center;gap:1px}.dashboard .stats-setpoint-label,.dashboard .stats-setpoint-input{grid-column:1 / -1}.dashboard .stats-setpoint-input{width:100%;flex:0 0 auto;min-inline-size:0}.dashboard .stats-setpoint-button{width:auto;max-width:180px;white-space:nowrap}.dashboard .status-log{min-height:0}}@media (min-width: 1440px) and (min-height: 900px){html,body,#root{overflow:hidden}.container.dashboard{max-width:min(1680px,calc(100vw - 48px));gap:10px}.dashboard .grid-top{grid-template-columns:minmax(0,2.2fr) minmax(340px,380px);align-items:start;flex:0 0 auto}.dashboard .chart-card{min-height:430px}.dashboard .chart-placeholder{min-height:406px}.dashboard .stats-column{align-self:start;height:auto;grid-template-rows:auto auto;gap:10px;overflow:visible}.dashboard .stats-column .stats-card,.dashboard .stats-card{height:auto;min-height:0}.dashboard .stats-card-top{padding-bottom:16px}.dashboard .stats-card-bottom{margin-top:0;padding-bottom:16px}.dashboard .stats-section-title,.dashboard .stats-card-bottom .stats-section-title{margin-top:0}.dashboard .stats-phases-wrap{flex:0 0 auto}.dashboard .grid-bottom{min-height:0}.dashboard .status-log{height:auto}.dashboard .status-log .row-list{flex:1 1 auto;height:auto;max-height:none}}.login-page{height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px;box-sizing:border-box}.login-card{width:100%;max-width:420px;margin:0 auto;padding:20px;background:linear-gradient(180deg,#111a2b,#0d1523);border:1px solid rgba(148,163,184,.22);border-radius:10px;box-shadow:inset 0 1px #ffffff08;color:#dbe4f0}.login-title{margin:0 0 14px;font-size:22px;font-weight:700;color:#dbe4f0}.dashbord{height:auto;max-width:1360px;padding:14px 0;display:flex;flex-direction:column;gap:12px;color:#dbe4f0;overflow:visible}.dashbord-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashbord-head h2{margin:0;font-size:18px;font-weight:700;letter-spacing:.01em}.dashbord-reports-button{padding:9px 16px;border-radius:10px;border:1px solid rgba(117,176,255,.36);background:linear-gradient(180deg,#223250f5,#17243cf5);color:#eef5ff;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.dashbord-reports-button:hover{border-color:#75b0ff94;background:linear-gradient(180deg,#2c4066fa,#1c2c4afa)}.dashbord-table{border:1px solid rgba(148,163,184,.2);border-radius:12px;background:linear-gradient(180deg,#121c30,#0d1523);overflow-y:auto;overflow-x:auto;flex:0 0 auto;min-height:auto;max-height:calc(70vh + 20px);scrollbar-width:thin;scrollbar-color:rgba(117,176,255,.7) rgba(8,14,26,.55);box-shadow:0 10px 22px #02081852,inset 0 1px #ffffff0a}.dashbord-table::-webkit-scrollbar{width:var(--scrollbar-size)}.dashbord-table::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.dashbord-table::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:2px solid var(--scrollbar-border)}.dashbord-table::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.dashbord-row{display:grid;grid-template-columns:minmax(266px,1.52fr) minmax(47px,.27fr) minmax(87px,.41fr) minmax(71px,.33fr) minmax(106px,.49fr) minmax(170px,.8fr) minmax(190px,.89fr) minmax(92px,.43fr) minmax(37px,.22fr) minmax(37px,.22fr) minmax(51px,.3fr) minmax(85px,.43fr);gap:10px;padding:12px 28px 12px 14px;align-items:center;border-bottom:1px solid rgba(148,163,184,.12);font-size:12px}.dashbord-row>div:not(:first-child){text-align:center;justify-self:center}.dashbord-row>div:first-child{text-align:left;justify-self:stretch}.dashbord-row-clickable{cursor:pointer;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}.dashbord-row-clickable:hover{background:linear-gradient(90deg,#5794f224,#5794f20f);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0d}.dashbord-row-clickable:focus-visible{outline:2px solid rgba(115,191,105,.45);outline-offset:-2px}.dashbord-row:last-child{border-bottom:none}.dashbord-header{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,#1b2a45,#15233a);color:#b9c8dc;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:10px;border-bottom:1px solid rgba(148,163,184,.24)}.dashbord-header>div{opacity:.92}.dashbord-empty{padding:18px 14px;color:#9fb0c8}.dashbord-weather-cell{display:flex;flex-direction:column;align-items:center;gap:0}.dashbord-weather-clickable{display:flex;flex-direction:column;align-items:center;gap:1px;background:none;border:none;padding:2px 4px;border-radius:6px;cursor:pointer;transition:background .15s}.dashbord-weather-clickable:hover{background:#ffffff12}.dashbord-weather-icon{font-size:20px;line-height:1;text-decoration:none;cursor:pointer;transition:opacity .15s;background:none;border:none;padding:0}.dashbord-weather-icon:hover{opacity:.75}.windy-modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#070c16b3;z-index:12100}.windy-modal-card{display:flex;flex-direction:column;width:min(1100px,calc(100vw - 32px));height:min(700px,calc(100vh - 64px));border-radius:14px;border:1px solid rgba(148,163,184,.22);background:#0d1523;box-shadow:0 24px 64px #04091280;overflow:hidden}.windy-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(148,163,184,.14);flex-shrink:0}.windy-modal-title{display:flex;flex-direction:column;gap:2px}.windy-modal-parkid{color:#dbe4f0;font-size:12px;font-weight:600}.windy-modal-coords{color:#8ab0d0;font-size:11px;font-weight:400;text-decoration:none;padding:2px 6px;border-radius:4px;transition:background .15s,color .15s}.windy-modal-coords:hover{background:#ffffff14;color:#c8ddf0;text-decoration:underline}.windy-modal-close{background:none;border:none;color:#9fb0c8;font-size:18px;cursor:pointer;line-height:1;padding:2px 6px;border-radius:6px}.windy-modal-close:hover{color:#fff;background:#ffffff14}.windy-modal-iframe{flex:1;width:100%;border:none}.windy-modal-tabs{display:flex;gap:2px;padding:6px 14px 0;border-bottom:1px solid rgba(148,163,184,.14);background:#0d1523;flex-shrink:0}.windy-modal-tab{background:none;border:none;border-bottom:2px solid transparent;color:#9fb0c8;font-size:12px;font-weight:600;padding:6px 14px 8px;cursor:pointer;border-radius:6px 6px 0 0;transition:color .15s,background .15s;letter-spacing:.02em}.windy-modal-tab:hover{color:#cfe7ff;background:#ffffff0d}.windy-modal-tab.active{color:#f5a623;border-bottom-color:#f5a623;background:#f5a6230f}.solar-panel{flex:1;display:flex;flex-direction:column;gap:12px;padding:16px 20px;overflow-y:auto;background:#0d1523}.solar-panel-controls{display:flex;align-items:center;gap:10px}.solar-date-label{font-size:12px;color:#9fb0c8;font-weight:600}.solar-date-input{background:#ffffff12;border:1px solid rgba(148,163,184,.22);border-radius:6px;color:#cfe7ff;font-size:13px;padding:5px 10px;outline:none;cursor:pointer;color-scheme:dark}.solar-date-input:focus{border-color:#f5a62380}.solar-loading{color:#9fb0c8;font-size:13px;padding:24px 0;text-align:center}.solar-error{color:#f87171;font-size:13px;padding:12px 0}.solar-chart-wrap{display:flex;flex-direction:column;gap:10px}.solar-current-badge{display:flex;align-items:center;gap:8px;font-size:13px;color:#9fb0c8;padding:6px 12px;background:#f5a62314;border:1px solid rgba(245,166,35,.2);border-radius:8px}.solar-current-badge span:first-child{font-weight:600;color:#cfe7ff}.solar-current-ghi{color:#f5a623;font-weight:700}.solar-current-sep{color:#94a3b866}.solar-current-direct{color:#e07020;font-weight:600}.solar-chart-svg{width:100%;height:auto;border-radius:8px;background:#ffffff08;border:1px solid rgba(148,163,184,.1)}.solar-chart-legend{display:flex;gap:20px;font-size:11px;padding-left:4px}.solar-legend-ghi{color:#f5a623;font-weight:600}.solar-legend-direct{color:#e07020;font-weight:600}.solar-chart-summary{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#9fb0c8;padding:8px 12px;background:#ffffff0a;border-radius:8px;border:1px solid rgba(148,163,184,.1)}.solar-chart-summary b{color:#cfe7ff}.dashbord-weather-info{font-size:9px;color:#9fb0c8;white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.05}.dashbord-weather-extra{font-size:9px;color:#7a90a8;white-space:nowrap;line-height:1}.dashbord-park-cell{display:flex;flex-direction:column;gap:2px}.dashbord-park-id{font-size:11px;color:#a7b9d1;font-weight:600}.dashbord-park-name{font-size:13px;font-weight:600;color:#ecf3ff}.dashbord-active-power{font-size:14px;font-weight:600;color:#ecf3ff}.dashbord-energy-cell{font-size:13px}.dashbord-park-owner{font-size:11px;color:#a7b7cd}.dashbord-metric{padding:6px 8px;border-radius:8px;background:linear-gradient(180deg,#131e31eb,#0e1726eb);border:1px solid rgba(148,163,184,.16);box-shadow:inset 0 1px #ffffff08;min-height:32px;display:flex;align-items:center}.dashbord-power-cell{flex-direction:column;align-items:center;justify-content:center;gap:2px}.dashbord-inline-metric,.dashbord-frequency-cell{font-variant-numeric:tabular-nums;color:#e4edfb;font-weight:600}.dashbord-frequency-cell{justify-content:center}.dashbord-status-cell{justify-content:center;padding:0;background:transparent;border:none;box-shadow:none;min-height:auto}.status-indicator{display:flex;align-items:center;justify-content:center;width:28px;height:28px}.status-indicator svg{width:100%;height:100%;display:block}.status-indicator.unknown{color:#9fb0c8;font-size:18px}.dashbord-flag-cell{justify-content:center;padding:0;background:transparent;border:none;box-shadow:none;min-height:auto}.status-bulb{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#d0d5dd;transition:color .2s ease}.dashboard .weather-column{min-width:0;min-height:0;height:100%}.dashboard .weather-card{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.weather-card-inner{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 4px}.weather-icon{font-size:36px;line-height:1}.weather-icon-placeholder{opacity:.3}.weather-temp-val{font-size:22px;font-weight:700;letter-spacing:-.02em;color:#e8f0fe;line-height:1}.weather-wind-val{font-size:14px;font-weight:600;color:#9fb0c8}.weather-label{font-size:11px;color:#7b8fa8;text-align:center;line-height:1.3}.status-bulb.green{color:#10b981}.status-bulb svg{width:100%;height:100%;display:block}.dashbord-sub{margin-top:1px;font-size:10px;color:#a7b7cd}.dashbord-error{margin-top:4px;font-size:12px;color:#fca5a5}.dashbord-alarms-cell{justify-content:center;cursor:default;position:relative}.alarm-count-unknown{color:#64748b;font-size:16px}.alarms-bubble{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#7f1d1d,#b91c1c);border:1px solid rgba(248,113,113,.45);border-radius:20px;padding:4px 10px 4px 8px;font-size:12px;font-weight:700;color:#fecaca;box-shadow:0 0 8px #ef444459,inset 0 1px #ffffff14;min-width:36px;justify-content:center;white-space:nowrap}.alarms-bubble-zero{background:linear-gradient(135deg,#0f2035,#1a3050);border-color:#94a3b833;color:#475569;box-shadow:none}.alarms-bubble-event{background:linear-gradient(135deg,#163a73,#2563eb);border-color:#60a5fa73;color:#dbeafe;box-shadow:0 0 8px #2563eb47,inset 0 1px #ffffff14}.alarm-tooltip-fixed{position:fixed;min-width:220px;max-width:340px;background:#0b1627;border:1px solid rgba(148,163,184,.28);border-radius:10px;padding:10px 12px;z-index:9999;pointer-events:auto;box-shadow:0 10px 28px #0000008c,0 0 0 1px #ffffff0a}.alarm-tooltip-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.alarm-tooltip-close{background:none;border:none;color:#94a3b8;font-size:14px;cursor:pointer;padding:0 2px;line-height:1;margin-left:8px}.alarm-tooltip-close:hover{color:#f1f5f9}.alarm-tooltip-title{font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.07em;margin-bottom:0}.alarm-tooltip-list{display:flex;flex-direction:column;gap:6px}.alarm-tooltip-item{display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:#ef44441a;border:1px solid rgba(239,68,68,.22);border-radius:6px}.alarm-tooltip-item-event{background:#2563eb1f;border-color:#60a5fa3d}.alarm-tooltip-desc{font-size:11px;font-weight:600;color:#fca5a5}.alarm-tooltip-item-event .alarm-tooltip-desc{color:#bfdbfe}.status-log .row.row-alarm{background:#7f1d1d1f}.status-log .row.row-event{background:#2563eb14}.alarm-tooltip-ts{font-size:10px;color:#94a3b8}@media (max-width: 980px){html,body,#root{overflow:auto}.app-root{height:auto;min-height:100vh;overflow:visible}.app-main{overflow:visible}.dashbord{height:auto;overflow:visible}.dashbord-table{overflow:auto}.dashbord-row{min-width:1380px}}.dashboard-nav-button{padding:6px 12px;border-radius:6px;border:1px solid rgba(148,163,184,.28);background:linear-gradient(180deg,#1a2a45,#122036);color:#dbe4f0;font-weight:600;cursor:pointer;text-transform:lowercase}.dashboard-nav-button:hover{filter:brightness(1.08)}.login-field{margin-bottom:12px}.login-label{display:block;margin-bottom:6px;font-size:12px;font-weight:600;letter-spacing:.03em;color:#9fb0c8}.login-input{width:100%;padding:9px 10px;border-radius:6px;border:1px solid rgba(148,163,184,.28);background:#0a111e;color:#dbe4f0;box-sizing:border-box}.login-input:focus{outline:2px solid rgba(87,148,242,.3);border-color:#5794f28c}.login-error{margin-bottom:10px;padding:8px 10px;border-radius:6px;background:#7f1d1d4d;border:1px solid rgba(239,68,68,.45);color:#fecaca;font-size:12px}.login-actions{display:flex;justify-content:flex-end;align-items:center}.login-submit{padding:8px 14px;border-radius:6px;border:1px solid rgba(148,163,184,.28);background:linear-gradient(180deg,#1a2a45,#122036);color:#dbe4f0;font-weight:600;cursor:pointer}.login-submit:hover{filter:brightness(1.08)}.login-card form{width:100%}.login-card form label{display:block;margin-bottom:6px;font-size:12px;font-weight:600;letter-spacing:.03em;color:#9fb0c8}.login-card form input{box-sizing:border-box;max-width:100%;border-radius:6px;border:1px solid rgba(148,163,184,.28);background:#0a111e;color:#dbe4f0}.login-card form input:focus{outline:2px solid rgba(87,148,242,.3);border-color:#5794f28c}.login-card form button{padding:8px 14px;border-radius:6px;border:1px solid rgba(148,163,184,.28);background:linear-gradient(180deg,#1a2a45,#122036);color:#dbe4f0;font-weight:600;cursor:pointer}@media (min-width: 981px){html,body,#root{min-height:100%;height:auto;overflow-x:hidden;overflow-y:auto}.app-root{min-height:100vh;height:auto;overflow:visible}.app-main{flex:1 1 auto;min-height:0;overflow:visible}.container.dashboard,.dashbord,.admin-page{max-width:min(1360px,calc(100vw - 32px))}.container.dashboard,.dashboard,.dashbord,.admin-page,.admin-shell{height:auto;min-height:0;overflow:visible}.container.dashboard{padding-top:16px;padding-bottom:24px;gap:16px}.dashboard .status-row{justify-content:flex-start;align-items:stretch;flex-wrap:wrap;row-gap:10px;column-gap:10px}.dashboard .status-chip-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:8px;min-width:0;width:100%}.dashboard .status-badge,.dashboard .add-badge,.dashboard .status-flag-badge{width:100%;min-width:0;height:44px;min-height:44px;align-items:center}.dashboard .badge-copy{display:flex;flex-direction:row;align-items:center;gap:6px;min-width:0}.dashboard .badge-value,.dashboard .badge-label,.dashboard .add-badge .badge-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard .add-badge .badge-copy{flex-direction:row;align-items:center;gap:6px}.dashboard .grid-top{grid-template-columns:minmax(0,1.7fr) minmax(320px,380px);align-items:stretch;flex:0 0 auto;gap:16px}.dashboard .chart-card,.dashboard .stats-card,.dashboard .stats-column .stats-card{height:auto}.dashboard .chart-card{min-height:420px}.dashboard .chart-placeholder{min-height:380px}.dashboard .stats-column{align-self:stretch;height:auto;grid-template-rows:minmax(190px,auto) minmax(0,1fr);gap:16px;overflow:visible}.dashboard .stats-card-top,.dashboard .stats-card-bottom{margin-top:0}.dashboard .grid-bottom{flex:0 0 auto;min-height:0}.dashboard .status-log{height:47%!important;min-height:0!important}.dashboard .status-log .row-list{flex:1 1 auto;height:auto;max-height:100px;overflow:auto}.dashboard .status-log .row{grid-template-columns:minmax(0,1fr) 120px minmax(160px,200px)}.admin-page{padding-top:20px;padding-bottom:28px}.admin-shell{grid-template-columns:minmax(280px,320px) minmax(0,1fr);align-items:stretch;gap:18px}.admin-shell--collapsed{grid-template-columns:48px minmax(0,1fr)}.admin-sidebar,.admin-editor{max-height:none;min-height:0}.admin-editor{overflow:auto}.admin-user-list{max-height:min(70vh,720px)}.dashbord{padding-top:16px;padding-bottom:24px;gap:16px}.dashbord-table{max-height:none;overflow:auto}}@media (max-width: 760px){.dashboard .status-chip-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard .status-badge,.dashboard .add-badge,.dashboard .status-flag-badge{height:auto;min-height:44px;align-items:flex-start}.dashboard .badge-copy{flex-direction:column;align-items:flex-start;gap:2px}.dashboard .badge-value,.dashboard .badge-label,.dashboard .add-badge .badge-label{white-space:normal;overflow:visible;text-overflow:clip}.dashboard .add-badge .badge-copy{flex-direction:column;align-items:flex-start;gap:2px}}.admin-alarms-dashboard{display:flex;flex-direction:column;gap:12px}.admin-alarms-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-alarms-summary{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:12px;color:#9fb0c8;align-items:center}.admin-alarms-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;align-items:stretch}.admin-alarms-table-wrap{background:#0f18268c;border:1px solid rgba(120,140,170,.18);border-radius:8px;overflow:auto;max-height:70vh}.admin-alarms-table{width:100%;border-collapse:collapse}.admin-alarms-table thead th{position:sticky;top:0;background:#11192a;z-index:1}.admin-alarms-table tbody tr:hover{background:#5078c81f}.admin-alarms-table tbody tr.admin-alarm-row-selected{background:#508ce638}.admin-alarm-active-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#5a6478}.admin-alarm-active-dot.on{background:#ff5a5f;box-shadow:0 0 6px #ff5a5f99}.admin-alarm-status{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid transparent;background:#2a3346;color:#d4ddec}select.admin-alarm-status{padding:3px 6px;cursor:pointer}.admin-alarm-status-open{background:#4b5366;color:#fff}.admin-alarm-status-in_progress{background:#2c5fa3;color:#fff}.admin-alarm-status-communication_made{background:#6a4ca0;color:#fff}.admin-alarm-status-pending_our_actions{background:#b8851b;color:#fff}.admin-alarm-status-pending_customer_actions{background:#a05c1c;color:#fff}.admin-alarm-status-resolved{background:#2e8b57;color:#fff}.admin-alarms-sidebar{background:#0f18268c;border:1px solid rgba(120,140,170,.18);border-radius:8px;padding:12px;overflow:auto;max-height:70vh}.admin-alarms-sidebar-section{padding:10px 0;border-bottom:1px solid rgba(120,140,170,.15)}.admin-alarms-sidebar-section:last-child{border-bottom:none}.admin-alarms-sidebar-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#8da0c0;margin-bottom:6px}.admin-alarms-owners{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.admin-alarms-owner{background:#1e2a3c99;border-radius:6px;padding:8px}.admin-alarms-owner-link{background:none;border:none;color:#7fbcff;cursor:pointer;padding:0;font-size:14px;font-weight:600;text-align:left}.admin-alarms-owner-link:hover{text-decoration:underline}.admin-alarms-owner-meta{font-size:11px;color:#b3c1d8;display:grid;gap:2px;margin-top:4px}.admin-alarms-owner-meta span{color:#7d8aa4}.admin-alarms-notes{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px;max-height:240px;overflow:auto}.admin-alarms-note{background:#1e2a3c99;border-left:3px solid #4a78c2;border-radius:4px;padding:6px 8px}.admin-alarms-note-meta{font-size:10px;color:#8da0c0;display:flex;gap:4px}.admin-alarms-note-text{font-size:13px;color:#e3e8f1;white-space:pre-wrap;word-break:break-word;margin-top:2px}.admin-alarms-note-form{display:flex;flex-direction:column;gap:6px}.admin-alarms-note-form textarea{width:100%;box-sizing:border-box;resize:vertical;background:#0f1726;color:#e3e8f1;border:1px solid rgba(120,140,170,.25);border-radius:4px;padding:6px 8px;font:inherit}.admin-alarms-table{table-layout:fixed}.admin-alarms-col-date{width:150px}.admin-alarms-col-park{width:130px}.admin-alarms-col-code{width:60px}.admin-alarms-col-active{width:60px}.admin-alarms-col-status{width:180px}.admin-alarms-col-notes{width:60px}.admin-alarms-cell-date{white-space:nowrap;font-variant-numeric:tabular-nums}.admin-alarms-cell-park{word-break:break-word}.admin-alarms-cell-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;cursor:default}.admin-alarms-table select.admin-alarm-status{width:100%;box-sizing:border-box}.admin-alarms-toolbar select.admin-button-input,select.admin-alarm-status,.admin-alarms-toolbar select.admin-button-input option,select.admin-alarm-status option,select.admin-button-input,select.admin-button-input option{background-color:#11192a;color:#e3e8f1}.admin-alarms-layout{grid-template-columns:minmax(0,1fr) 280px}.admin-alarms-col-date{width:145px}.admin-alarms-col-park{width:70px}.admin-alarms-col-code{width:55px}.admin-alarms-col-desc{width:auto}.admin-alarms-col-active{width:55px}.admin-alarms-col-status{width:160px}.admin-alarms-col-notes{width:50px}.admin-alarms-layout{grid-template-columns:minmax(0,1fr) 240px}.admin-alarms-col-park{width:55px}.admin-alarms-cell-park{font-weight:500;white-space:nowrap}.admin-alarms-layout{grid-template-columns:minmax(0,1fr) 420px}@media (max-width: 1100px){.admin-alarms-layout{grid-template-columns:1fr}}.admin-alarms-col-date{width:134px}.admin-alarms-col-desc{width:220px;max-width:220px}.admin-alarms-cell-desc{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-alarms-toolbar{flex-wrap:nowrap}.admin-alarms-toolbar-search{flex:1 1 auto;min-width:0}.admin-alarms-toolbar-status{flex:0 0 auto;width:220px}@media (max-width: 900px){.admin-alarms-toolbar{flex-wrap:wrap}.admin-alarms-toolbar-status{width:auto}}.admin-alarms-toolbar-code{flex:0 0 auto;width:140px}@media (max-width: 900px){.admin-alarms-toolbar-code{width:auto}}.admin-alarms-email-button{background:#2c5fa3;color:#fff;border:none;border-radius:4px;padding:2px 8px;font-size:11px;cursor:pointer}.admin-alarms-email-button:hover{background:#3a73c4}.admin-alarms-modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.admin-alarms-modal{background:#11192a;border:1px solid rgba(120,140,170,.3);border-radius:8px;width:min(640px,92vw);max-height:90vh;display:flex;flex-direction:column}.admin-alarms-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(120,140,170,.18);font-weight:600;color:#e3e8f1}.admin-alarms-modal-close{background:none;border:none;color:#9fb0c8;font-size:22px;cursor:pointer;line-height:1;padding:0 4px}.admin-alarms-modal-body{padding:14px 16px;overflow:auto;display:flex;flex-direction:column;gap:12px}.admin-alarms-modal-field{display:flex;flex-direction:column;gap:4px}.admin-alarms-modal-field label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#8da0c0}.admin-alarms-modal-field input[type=text],.admin-alarms-modal-field textarea{background:#0f1726;color:#e3e8f1;border:1px solid rgba(120,140,170,.25);border-radius:4px;padding:6px 8px;font:inherit;box-sizing:border-box;resize:vertical}.admin-alarms-modal-recipients{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow:auto;background:#0f1726;border:1px solid rgba(120,140,170,.2);border-radius:4px;padding:6px 8px}.admin-alarms-modal-recipient{display:flex;align-items:center;gap:6px;font-size:13px;color:#d4ddec;cursor:pointer}.admin-alarms-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid rgba(120,140,170,.18)}.admin-alarms-table select.admin-alarm-status-open{background-color:#4b5366!important;color:#fff}.admin-alarms-table select.admin-alarm-status-in_progress{background-color:#2c5fa3!important;color:#fff}.admin-alarms-table select.admin-alarm-status-communication_made{background-color:#6a4ca0!important;color:#fff}.admin-alarms-table select.admin-alarm-status-pending_our_actions{background-color:#b8851b!important;color:#fff}.admin-alarms-table select.admin-alarm-status-pending_customer_actions{background-color:#a05c1c!important;color:#fff}.admin-alarms-table select.admin-alarm-status-resolved{background-color:#2e8b57!important;color:#fff}.admin-alarms-table select.admin-alarm-status option{background-color:#11192a!important;color:#e3e8f1}.admin-alarms-modal-recipient-custom{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(120,140,170,.25)}.admin-alarms-modal-recipient-custom input{width:100%;box-sizing:border-box;padding:6px 10px;font-size:13px;background:#0b1220;color:#e3e8f1;border:1px solid rgba(120,140,170,.3);border-radius:4px;outline:none;transition:border-color .15s,box-shadow .15s}.admin-alarms-modal-recipient-custom input::placeholder{color:#6b7a91;font-style:italic}.admin-alarms-modal-recipient-custom input:focus{border-color:#2c5fa3;box-shadow:0 0 0 2px #2c5fa340}.admin-alarms-table{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-size:12px;color:#d4ddec}.admin-alarms-table thead th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#8da0c0;padding:8px;text-align:left;border-bottom:1px solid rgba(120,140,170,.25);background:#0f1726}.admin-alarms-table tbody td{padding:6px 8px;border-bottom:1px solid rgba(120,140,170,.08);vertical-align:middle;font-size:12px;line-height:1.35}.admin-alarms-table tbody tr{transition:background .1s}.admin-alarms-cell-date{font-size:11.5px;color:#b3c1d8;font-variant-numeric:tabular-nums;white-space:nowrap}.admin-alarms-cell-park{font-size:12px;font-weight:600;color:#e3e8f1;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;padding-right:12px}.admin-alarms-cell-desc{font-size:12px;color:#c8d2e4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.admin-alarms-table td.admin-alarms-cell-code{font-size:11.5px;color:#9fb0c8;font-variant-numeric:tabular-nums;text-align:right;padding-right:12px}.admin-alarms-table td.admin-alarms-cell-active,.admin-alarms-table td.admin-alarms-cell-notes{text-align:center;font-size:11.5px;color:#9fb0c8}.admin-alarms-table select.admin-alarm-status{font-family:inherit;font-size:11px;font-weight:600;padding:3px 6px;border-radius:4px;border:none}.admin-alarms-summary{font-size:11.5px}.admin-alarms-toolbar input,.admin-alarms-toolbar select,.admin-alarms-toolbar label{font-size:12.5px}.admin-alarms-sidebar{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}.admin-alarms-selected-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;font-size:12.5px;line-height:1.45;color:#d4ddec}.admin-alarms-selected-grid>div{display:contents}.admin-alarms-selected-grid strong{color:#8da0c0;font-weight:500;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;align-self:center}.admin-alarms-selected-grid .admin-alarms-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.admin-alarms-sidebar-title{font-weight:600}
