/* 4green overlay: Bootstrap 2 and the monitoring libraries remain unchanged. */
body.ui-app { --ink:#0f1d40; --muted:#5b6785; --action:#036399; --border:#bdc7d5; background:#fff; color:var(--ink); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; padding:84px 24px 24px 272px; font-size:14px; line-height:1.5; }
.ui-app *, .ui-app *:before, .ui-app *:after { box-sizing:border-box; }
.ui-app a { color:var(--action); }
.ui-app a:hover { color:#024f7a; }
.ui-app :focus-visible { outline:3px solid #036399; outline-offset:3px; }
.ui-app [hidden] { display:none !important; }
.ui-app .ui-skip { position:fixed; left:16px; top:-100px; z-index:3000; background:#fff; padding:12px; border:2px solid #036399; }
.ui-app .ui-skip:focus { top:8px; }
.ui-app .navbar { position:fixed; top:0; left:0; right:0; margin:0; z-index:1040; }
.ui-app .navbar-inner { height:64px; min-height:64px; border:0; border-bottom:1px solid var(--border); border-radius:0; background:#fff; box-shadow:0 2px 12px #0f1d400d; padding:0 24px; }
.ui-app .navbar .container-fluid { padding:0; height:100%; display:flex; gap:20px; align-items:center; }
.ui-app .navbar .brand { margin:0; padding:0; color:var(--ink); font-size:19px; font-weight:700; letter-spacing:.04em; text-shadow:none; white-space:nowrap; }
.ui-app .navbar .nav { margin:0; }
.ui-app .navbar .nav>li>a { color:var(--ink); text-shadow:none; padding:21px 12px; }
.ui-app .ui-top-nav .nav>.active>a { background:#eef1f5; box-shadow:none; }
.ui-app .ui-top-nav .dropdown-menu>.active>a { color:var(--ink); background:#ffd647; }
.ui-app .ui-section-picker { display:none; min-width:0; max-width:240px; flex:1; }
.ui-app .ui-section-picker select { width:100%; height:38px; margin:0; }
.ui-app .ui-profile { margin-left:auto; order:3; min-width:0; flex-shrink:1; }
.ui-app .ui-profile>.dropdown-toggle { display:block; max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.ui-app .ui-selected { font-size:12px; color:var(--muted); max-width:180px; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; }
.ui-app .ui-sidebar { position:fixed; top:64px; bottom:0; left:0; width:248px; padding:12px 10px; overflow-x:hidden; overflow-y:auto; overscroll-behavior-y:contain; scrollbar-gutter:stable; background:linear-gradient(160deg,#000333 0%,#000016 100%); z-index:1035; scrollbar-width:thin; scrollbar-color:#66799f #000224; }
.ui-app .ui-sidebar::-webkit-scrollbar { width:6px; }
.ui-app .ui-sidebar::-webkit-scrollbar-track { background:#000224; }
.ui-app .ui-sidebar::-webkit-scrollbar-thumb { background:#66799f; border-radius:6px; }
.ui-sidebar .ui-nav-title { margin:4px 0 12px; padding:10px; color:#fff; background:linear-gradient(100deg,#233a6e,#036399); border-radius:6px; font-size:14px; line-height:20px; font-weight:600; }
.ui-sidebar .nav-list { margin:0; padding:0; }
.ui-sidebar .nav-list>li>a { margin:1px 0; padding:5px 8px; color:#e6edf9; text-shadow:none; border-radius:4px; font-size:13px; line-height:18px; overflow-wrap:anywhere; }
.ui-sidebar .nav-list>li>a:hover { background:#233a6e; color:#fff; }
.ui-sidebar .nav-list>.active>a,.ui-sidebar .nav-list>.active>a:hover { background:#ffd647; color:#0f1d40; }
.ui-app .ui-toggle { display:none; }
.ui-app .ui-backdrop { display:none; }
.ui-app .ui-shell,.ui-app .ui-shell>.row-fluid { padding:0; width:100%; }
.ui-app .ui-main { float:none; margin:0; width:100%; min-width:0; padding:24px; border:1px solid var(--border); border-radius:10px; background:#eef1f5; box-shadow:0 4px 16px #0f1d4009; }
.ui-app .ui-main:after { content:''; display:table; clear:both; }
.ui-app h1 { font-size:26px; line-height:1.25; margin:0 0 24px; font-weight:650; }
.ui-app h2 { font-size:22px; line-height:1.3; }
.ui-app h3 { font-size:19px; line-height:1.35; }
.ui-app h4 { font-size:17px; }
.ui-app .well { background:#eef1f5; border:1px solid var(--border); border-radius:6px; box-shadow:none; }
.ui-app .well .well { background:#fff; }
.ui-app .page-header { padding:0 0 16px; margin:0 0 24px; border-color:var(--border); }
.ui-app input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=file]),.ui-app select,.ui-app textarea { max-width:100%; min-height:36px; height:auto; background:#fff; border:1px solid #525d6d; border-radius:4px; color:var(--ink); padding:7px 10px; font-family:inherit; box-shadow:none; }
.ui-app input[readonly],.ui-app input:disabled,.ui-app select:disabled { background:#dde4ed!important; color:#465369!important; }
.ui-app input:focus,.ui-app select:focus,.ui-app textarea:focus { border-color:#036399; box-shadow:0 0 0 3px #03639922; }
.ui-app input[type=checkbox],.ui-app input[type=radio] { accent-color:#036399; width:16px; height:16px; }
.ui-app label { font-size:13px; font-weight:600; }
.ui-app .help-block,.ui-app .muted { color:var(--muted); }
.ui-app .btn { border:1px solid #bdc7d5; border-radius:4px; padding:7px 12px; background:#fff; color:var(--ink); text-shadow:none; box-shadow:none; font-family:inherit; line-height:1.4; }
.ui-app .btn:hover { background:#dde4ed; }
.ui-app .btn-primary,.ui-app .btn-info { background:#036399; border-color:#036399; color:#fff; }
.ui-app .btn-primary:hover,.ui-app .btn-info:hover { background:#024f7a; color:#fff; }
.ui-app .btn-success { background:#287149; border-color:#287149; color:#fff; }
.ui-app .btn-danger { background:#a52c3b; border-color:#a52c3b; color:#fff; }
.ui-app .btn-warning { background:#ffe3a0; color:#654600; }
.ui-app .btn-mini { padding:3px 7px; font-size:12px; }
.ui-app .btn-small { padding:5px 9px; font-size:12px; }
.ui-app .input-append,.ui-app .input-prepend { max-width:100%; white-space:normal; }
.ui-app .input-append .add-on,.ui-app .input-prepend .add-on { min-height:36px; height:auto; padding:7px 10px; border-color:#525d6d; background:#dde4ed; }
.ui-app .table { background:#fff; border-radius:4px; margin-bottom:16px; }
.ui-app .table th { background:#dde4ed; color:#0f1d40; border-color:#bdc7d5; padding:11px 10px; }
.ui-app .table td { border-color:#d3dae3; padding:9px 10px; vertical-align:middle; }
.ui-app .table-striped tbody>tr:nth-child(odd)>td { background:#f4f6f9; }
.ui-app .ui-table-scroll { overflow-x:auto; max-width:100%; }
.ui-app .ui-table-scroll>table { min-width:640px; }
.ui-app .dash_campo.ui-table-scroll>table { min-width:0; }
.ui-app .ui-dashboard-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:2.127659574%; align-items:stretch; }
.ui-app .ui-dashboard-row:before,.ui-app .ui-dashboard-row:after { display:none; }
.ui-app .ui-dashboard-row>.dash_campo { display:flex; flex-direction:column; float:none; width:auto; min-width:0; margin-left:0; }
.ui-app .ui-dashboard-row>.dash_campo>table { flex-shrink:0; }
.ui-app .ui-dashboard-row>.dash_campo h4 { overflow-wrap:anywhere; }
.ui-app .ui-dashboard-footer { margin-top:auto; }
.ui-app .ui-dashboard-row>.dash_campo>a.ui-dashboard-footer { align-self:center; }
@media(max-width:767px) { .ui-app .ui-dashboard-row { grid-template-columns:minmax(0,1fr); } }
.ui-app .ui-table-scroll .dropdown-menu { position:relative; float:none; }
.ui-app .modal { border:1px solid #bdc7d5; border-radius:10px; background:#fff; }
.ui-app .modal-header { background:#dde4ed; border-radius:10px 10px 0 0; }
.ui-app .modal-footer { background:#eef1f5; }
.ui-app .alert { border-radius:4px; text-shadow:none; }
.ui-app .alert-error,.ui-app .alert-danger { color:#842331; background:#fce9ec; border-color:#d9a8b0; }
.ui-app .alert-success { color:#205a39; background:#e8f3ec; border-color:#abcbb7; }
.ui-app .alert-info { color:#12496b; background:#e3f0f8; border-color:#a9cadf; }
.ui-app .ui-footer { color:var(--muted); padding:24px 0 0; font-size:12px; }
.ui-app .ui-section { margin:0 0 24px; padding:20px; background:#fff; border:1px solid #bdc7d5; border-radius:6px; min-width:0; }
.ui-app .ui-section legend { width:auto; padding:0 8px; margin:0; border:0; font-size:18px; font-weight:600; }
.ui-app .ui-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; }
.ui-app .ui-fields input,.ui-app .ui-fields select { width:100%; }
.ui-app .ui-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:20px; }
.ui-app .plant-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:360px; overflow:auto; padding:4px; }
.ui-app .plant-options label { display:flex; align-items:center; gap:10px; padding:10px; border:1px solid #bdc7d5; border-radius:4px; font-weight:400; }
.ui-app .plant-options small { display:block; color:#5b6785; }
.ui-app .plant-options label>span { min-width:0; overflow-wrap:anywhere; }
.ui-app .ui-chart-container { height:auto!important; min-height:500px; clear:both; }
.ui-app .ui-chart-caption { margin:0 0 12px; font-size:16px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.ui-app .ui-chart-empty { margin:12px 0; color:var(--muted); }
.ui-app.ui-login { padding:36px 16px; min-height:100vh; display:grid; place-items:center; background:#eef1f5; }
.ui-login #login-form { width:min(420px,100%); padding:32px; margin:0; border:1px solid #bdc7d5; background:#fff; border-radius:10px; box-shadow:0 12px 40px #0f1d4012; }
.ui-login #brand { text-align:center; margin-bottom:24px; }
.ui-login #brand img { max-width:230px; height:auto; }
.ui-login input { width:100%; margin-bottom:18px; }
.ui-login input[type=submit] { margin:8px 0 0; }
@media(max-width:1190px) { .ui-app .ui-top-nav,.ui-app .ui-selected { display:none; } .ui-app .ui-section-picker { display:block; } }
@media(max-width:991px) {
 body.ui-app { padding:84px 16px 16px; }
 .ui-app .navbar-inner { padding:0 16px; }
 .ui-app .navbar .container-fluid { gap:12px; }
 .ui-app .navbar .brand { font-size:16px; }
 .ui-app .ui-toggle { display:block; width:38px; height:38px; padding:4px; font-size:22px; }
 .ui-app .ui-sidebar { visibility:hidden; transform:translateX(-100%); transition:transform .18s ease; width:280px; max-width:85vw; z-index:1050; }
 .ui-app .ui-sidebar .nav-list>li>a { min-height:40px; padding:11px 8px; }
 .ui-app.ui-menu-open .ui-sidebar { visibility:visible; transform:none; }
 .ui-app.ui-menu-open { overflow:hidden; }
 .ui-app.ui-menu-open .ui-backdrop { display:block; position:fixed; inset:64px 0 0; background:#0f1d4080; z-index:1045; border:0; }
 .ui-app .ui-main { padding:20px; }
 .ui-app .ui-selected { display:none; }
}
@media(max-width:600px) {
 .ui-app .navbar .brand { display:none; }
 .ui-app .ui-profile { max-width:110px; }
 .ui-app .ui-main { padding:16px; }
 .ui-app .row-fluid [class*=span] { float:none!important; width:100%; margin-left:0; }
 .ui-app .search-bar { display:flex; flex-direction:column; gap:12px; }
 .ui-app .search-bar>[class*=span]:after { content:''; display:table; clear:both; }
 .ui-app .search-bar input:not([type=checkbox]):not([type=radio]) { width:100%; }
 .ui-app .ui-fields,.ui-app .plant-options { grid-template-columns:minmax(0,1fr); }
 .ui-app .ui-section { padding:14px; }
 .ui-app h1 { font-size:23px; }
 .ui-app .modal { width:calc(100% - 24px); margin:0; left:12px; top:24px; }
}
@media(prefers-reduced-motion:reduce) { .ui-app * { transition:none!important; scroll-behavior:auto!important; } }
@media print { body.ui-app { padding:0; color:#000; } .ui-app .navbar,.ui-app .ui-sidebar,.ui-app .ui-backdrop,.ui-app .ui-skip { display:none; } .ui-app .ui-main { padding:0; border:0; box-shadow:none; } .ui-app .ui-table-scroll { overflow:visible; } }
.ui-app .ui-table-scroll>table.ui-owner-table { min-width: 0; width: 100%; }
.ui-app .ui-owner-table td, .ui-app .ui-owner-table th { overflow-wrap: anywhere; }
.ui-app .ui-owner-table .btn { white-space: nowrap; }
.ui-app .ui-analysis-status { clear: both; margin: 12px 0; padding: 12px 16px; border-radius: 6px; background: #fff; border: 1px solid #ccd5df; color: #45576b; }
.ui-app .ui-analysis-status.alert-error { background: #fbe9eb; border-color: #e8b2b8; color: #8d2836; }
.ui-app .ui-analysis-status button { margin-left: 12px; }
.ui-app #export-feedback ~ #print-me .search_btn { height: auto !important; margin: 0 8px 8px 0; }
.ui-app .ui-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ui-app .ui-missing { color:var(--muted); }
.ui-app .ui-pvgis-scroll { scroll-padding:80px 110px 16px 16px; }
.ui-app .ui-pvgis-scroll>table { min-width:760px; margin-bottom:0; }
.ui-app .ui-pvgis-table small,.ui-app .ui-gse-table small { display:block; font-weight:400; }
.ui-app .ui-pvgis-table input { width:100%; min-width:96px; margin:0; }
.ui-app .ui-pvgis-table td,.ui-app .ui-gse-table td { position:relative; }
.ui-app .ui-pvgis-table th:first-child { position:sticky; left:0; z-index:2; min-width:110px; }
.ui-app .ui-pvgis-table thead th { position:sticky; top:0; z-index:3; }
.ui-app .ui-pvgis-table thead th:first-child { z-index:4; }
.ui-app .ui-gse-table input { max-width:240px; margin:0; }
.ui-app .ui-gse-table .ui-date-cell { white-space:nowrap; }
