:root{--bg:#f4f7fb;--panel:#fff;--text:#172033;--muted:#6b7587;--line:#e5eaf1;--primary:#1967d2;--primary2:#0f4fae;--success:#14855f;--warning:#b76e00;--danger:#c9363e;--nav:#111a2b;--shadow:0 10px 30px rgba(16,33,60,.08);--radius:16px}*{box-sizing:border-box}html,body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}a{text-decoration:none;color:inherit}.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#101a2c,#17243b);color:#dce5f4;padding:24px 16px;position:sticky;top:0;height:100vh}.logo{display:flex;align-items:center;gap:11px;padding:0 10px 22px}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#2d7df0,#1451aa);color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 7px 20px rgba(25,103,210,.28)}.logo strong{display:block;color:#fff}.logo small{color:#91a3bf}.nav{display:grid;gap:5px}.nav a{padding:11px 13px;border-radius:10px;color:#b9c7da;font-size:14px}.nav a:hover,.nav a.active{background:rgba(255,255,255,.08);color:#fff}.nav .sep{height:1px;background:rgba(255,255,255,.08);margin:12px}.main{min-width:0}.topbar{height:72px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.content{padding:26px;max-width:1500px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.page-title h1{font-size:26px;margin:0}.page-title p{margin:5px 0 0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:18px}.card .label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.card .value{font-size:29px;font-weight:750;margin-top:8px}.card .hint{font-size:12px;color:var(--muted);margin-top:4px}.panel{padding:20px;margin-top:16px}.panel h2{font-size:16px;margin:0 0 16px}.grid-2{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}.grid-equal{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chart-wrap{height:330px;position:relative}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:11px 10px;white-space:nowrap}.table td{padding:12px 10px;border-bottom:1px solid #eef2f6;vertical-align:top}.table tr:hover td{background:#fafcff}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.badge.normal{background:#e9f7f1;color:#0d7651}.badge.warning{background:#fff4df;color:#9b5c00}.badge.critical{background:#fde9eb;color:#ad2530}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--primary);color:white}.btn.primary:hover{background:var(--primary2)}.btn.secondary{background:#edf3fc;color:#1a5bb4}.full{width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-size:12px;font-weight:700;color:#4f5c70;display:grid;gap:7px}.span-2{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #dce3ed;border-radius:10px;padding:11px 12px;background:#fff;color:var(--text);font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#73a6e8;box-shadow:0 0 0 3px rgba(25,103,210,.1)}textarea{min-height:90px;resize:vertical}.muted{color:var(--muted)}.alert{padding:12px 14px;border-radius:10px;margin:10px 0 16px;font-size:13px}.alert.success{background:#e9f7f1;color:#0d7651}.alert.danger{background:#fde9eb;color:#ad2530}.alert.warning{background:#fff4df;color:#9b5c00}.setup-body{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at top left,#eaf2ff,#f7f9fc 40%,#eef2f8)}.setup-card{width:min(760px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 20px 60px rgba(16,33,60,.13)}.setup-card h1{margin:14px 0 4px}.hidden{display:none!important}hr{border:0;border-top:1px solid var(--line);width:100%;margin:4px 0}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr}.login-visual{background:linear-gradient(145deg,#0e1b31,#153b70);color:white;padding:8vw;display:flex;flex-direction:column;justify-content:center}.login-visual h1{font-size:44px;max-width:600px;margin:20px 0 10px}.login-visual p{color:#c0cde0;max-width:580px;line-height:1.6}.login-form{display:grid;place-items:center;padding:30px}.login-card{width:min(420px,100%)}.login-card h2{font-size:26px;margin-bottom:5px}.heatmap{display:grid;grid-template-columns:90px repeat(12,minmax(42px,1fr));gap:5px;overflow:auto}.heat-cell{height:34px;border-radius:6px;display:grid;place-items:center;font-size:10px;font-weight:700;background:#eef2f7}.heat-1{background:#dcecff}.heat-2{background:#b9d7ff}.heat-3{background:#f9df9d}.heat-4{background:#f4b6a8}.heat-5{background:#e8767d;color:#fff}.kpi-filter{display:flex;gap:10px;flex-wrap:wrap}.filter-chip{background:#f2f5fa;padding:7px 10px;border-radius:8px;font-size:12px}.mobile-menu{display:none}@media(max-width:1000px){.app{grid-template-columns:1fr}.sidebar{display:none}.cards{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-equal{grid-template-columns:1fr}.mobile-menu{display:block}.login-shell{grid-template-columns:1fr}.login-visual{display:none}}@media(max-width:620px){.content{padding:16px}.topbar{padding:0 16px}.cards{grid-template-columns:1fr 1fr;gap:10px}.card{padding:14px}.card .value{font-size:22px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.page-title{align-items:start;flex-direction:column}.heatmap{grid-template-columns:70px repeat(12,42px)}}

[hidden],.conditional-hidden{display:none!important}

/* Menu lateral responsivo — v1.3.0 */
.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}
.mobile-sidebar-close{display:none}
.sidebar-overlay{display:none}
body.mobile-nav-open{overflow:hidden}

@media(max-width:1000px){
  .sidebar{
    display:block!important;
    position:fixed;
    top:0;
    left:0;
    width:min(82vw,300px);
    height:100dvh;
    z-index:40;
    transform:translateX(-105%);
    transition:transform .24s ease;
    box-shadow:18px 0 45px rgba(8,18,35,.22);
    overflow-y:auto;
  }
  .sidebar.mobile-open{transform:translateX(0)}
  .mobile-menu{
    display:inline-flex!important;
    width:40px;
    height:40px;
    flex:0 0 40px;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:10px;
    background:#edf3fc;
    color:#172033;
    font-size:24px;
    line-height:1;
    cursor:pointer;
  }
  .mobile-menu:focus-visible,.mobile-sidebar-close:focus-visible{outline:3px solid rgba(25,103,210,.28);outline-offset:2px}
  .mobile-sidebar-close{
    display:inline-flex;
    position:absolute;
    top:15px;
    right:14px;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:10px;
    background:rgba(255,255,255,.09);
    color:#fff;
    font-size:27px;
    line-height:1;
    cursor:pointer;
    z-index:2;
  }
  .sidebar .logo{padding-right:48px}
  .sidebar-overlay{
    display:block;
    position:fixed;
    inset:0;
    z-index:35;
    background:rgba(8,18,35,.46);
    backdrop-filter:blur(2px);
  }
  .sidebar-overlay[hidden]{display:none!important}
  .topbar{z-index:20}
}

@media(max-width:620px){
  .topbar{height:auto;min-height:72px;padding:10px 16px;gap:10px}
  .topbar-left{flex:1;align-items:flex-start}
  .topbar-left strong{line-height:1.25}
  .topbar>.muted{text-align:right;font-size:12px;line-height:1.35;max-width:46%}
}

/* Portal do Cliente — pontos de entrada no módulo de gestão — v1.4.0 */
.client-access-entry{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.client-access-entry span{color:var(--muted)}.client-access-entry a{color:var(--primary);font-weight:750}.client-access-entry a:hover{color:var(--primary2)}
.portal-admin-callout{display:flex;align-items:center;justify-content:space-between;gap:22px}.portal-admin-callout>div{min-width:0}.portal-admin-callout h2{margin-bottom:6px}.portal-admin-callout p{margin:0}
.client-admin-shell{width:min(1450px,100%);margin:0 auto;padding:28px}.client-admin-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.client-admin-head>div{display:flex;align-items:center;gap:12px}.client-admin-head>div>div:last-child{display:grid;gap:3px}.client-admin-head>div>div:last-child span{font-size:12px;color:var(--muted)}
@media(max-width:720px){.client-access-entry{align-items:flex-start;flex-direction:column;gap:7px}.portal-admin-callout{align-items:stretch;flex-direction:column}.portal-admin-callout .btn{width:100%}.client-admin-shell{padding:16px}.client-admin-head{align-items:stretch;flex-direction:column}.client-admin-head>a{width:100%}}


/* Tipografia unificada com o Portal do Cliente — v1.4.2 */
:root{--font-ui:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
html,body,button,input,select,textarea{font-family:var(--font-ui)}
.page-title h1,.login-visual h1,.login-card h2,.setup-card h1{letter-spacing:-.035em;line-height:1.06}
.page-title h1{font-weight:750}
.login-visual h1{font-weight:750}
.login-card h2{font-weight:750}
.panel h2{font-weight:750;letter-spacing:-.015em}
.card .value{letter-spacing:-.025em}
.logo strong,.topbar strong,.nav a,.btn,.table th,.form-grid label{font-family:var(--font-ui)}
@media(max-width:620px){.page-title h1{letter-spacing:-.03em}}


/* Login de gestão padronizado com o Portal do Cliente — v1.4.3
   Somente apresentação/responsividade da tela de acesso. */
.login-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(420px,.78fr);
}
.login-visual{
  padding:clamp(42px,8vw,130px);
  background:radial-gradient(circle at 18% 20%,#1b477b 0,transparent 34%),linear-gradient(145deg,#0b1a2e,#153b70);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.login-visual:after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border:1px solid rgba(255,255,255,.05);
  border-radius:50%;
  right:-180px;
  bottom:-180px;
  box-shadow:0 0 0 70px rgba(255,255,255,.018),0 0 0 140px rgba(255,255,255,.012);
  pointer-events:none;
}
.login-visual .brand-mark,
.login-visual h1,
.login-visual p{position:relative;z-index:1}
.login-visual h1{
  font-size:clamp(36px,4.2vw,68px);
  line-height:1.06;
  max-width:700px;
  margin:28px 0 22px;
  letter-spacing:-.035em;
  font-weight:700;
}
.login-visual p{
  max-width:620px;
  margin:0;
  color:#bed0e5;
  line-height:1.65;
  font-size:clamp(14px,1.05vw,18px);
}
.login-form{
  display:grid;
  place-items:center;
  padding:34px;
  background:#f4f7fb;
}
.login-card{width:min(430px,100%)}
.login-card h2{
  font-size:30px;
  line-height:1.06;
  letter-spacing:-.035em;
  margin:7px 0 6px;
  font-weight:700;
}
.login-card>p{margin:0 0 24px;font-size:13px}
.login-card .logo{padding:0 0 22px}
.login-card .brand-mark{width:40px;height:40px;border-radius:11px;font-size:13px}
.login-card .logo strong{font-size:15px}
.login-card .logo small{font-size:11px}

/* O Portal do Cliente mantém a faixa azul até 720 px; a gestão segue a mesma regra. */
@media(max-width:1000px) and (min-width:721px){
  .login-shell{grid-template-columns:minmax(0,1.22fr) minmax(420px,.78fr)}
  .login-visual{display:flex}
}
@media(max-width:720px){
  .login-shell{grid-template-columns:1fr}
  .login-visual{display:none}
  .login-form{min-height:100dvh;padding:24px}
  .login-card{width:min(430px,100%)}
}


/* Identificação do módulo e crédito global — v1.4.4 */
.login-eyebrow{
  position:relative;
  z-index:1;
  display:block;
  width:max-content;
  margin-top:38px;
  color:#69aefc;
  font-size:12px;
  line-height:1;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.login-visual .login-eyebrow + h1{margin-top:28px}

.site-credit{
  font-family:var(--font-ui);
  font-size:10px;
  line-height:1.4;
  letter-spacing:.015em;
  color:#8a98aa;
}
.site-credit-login{
  position:fixed;
  z-index:20;
  right:26px;
  bottom:16px;
  text-align:right;
  pointer-events:none;
}
.main{
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
.content{
  width:100%;
  flex:1 0 auto;
}
.site-credit-app{
  flex:0 0 auto;
  width:min(1500px,calc(100% - 52px));
  margin:4px auto 0;
  padding:14px 0 18px;
  border-top:1px solid var(--line);
  text-align:right;
}

@media(max-width:720px){
  .site-credit-login{
    right:0;
    left:0;
    bottom:12px;
    padding:0 20px;
    text-align:center;
    font-size:9px;
  }
}
@media(max-width:620px){
  .site-credit-app{
    width:calc(100% - 32px);
    padding:12px 0 15px;
    text-align:center;
    font-size:9px;
  }
}

/* Meteorologia multi-fonte — v1.5.0 */
.weather-field{align-content:start}
.weather-source-box{
  margin-top:2px;
  padding:10px 11px;
  border:1px solid #e0e7f0;
  border-radius:10px;
  background:#f8fafc;
  display:grid;
  gap:6px;
}
.weather-source-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.weather-source-badge{
  display:inline-flex;
  width:max-content;
  align-items:center;
  border-radius:999px;
  padding:4px 8px;
  font-size:10px;
  line-height:1;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.weather-source-badge.pending{background:#edf2f8;color:#607086}
.weather-source-badge.station{background:#e9f0f8;color:#315a83;border:1px solid #d6e1ec}
.weather-source-badge.model{background:#eaf2ff;color:#185cae}
.weather-source-badge.error{background:#fde9eb;color:#ad2530}
.weather-refresh{
  border:0;
  background:transparent;
  color:var(--primary);
  font:inherit;
  font-size:11px;
  font-weight:750;
  cursor:pointer;
  padding:3px 0;
}
.weather-refresh:hover{text-decoration:underline}
.weather-refresh:disabled{opacity:.55;cursor:default;text-decoration:none}
.weather-status{
  color:#435166;
  font-size:11px;
  line-height:1.45;
  font-weight:650;
}
.weather-meta{
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
  font-weight:500;
}

@media(max-width:620px){
  .weather-source-box{padding:10px}
  .weather-source-head{align-items:flex-start}
  .weather-source-badge{font-size:9px}
  .weather-status{font-size:10.5px}
  .weather-meta{font-size:9.5px}
}



/* Explorador de Correlação de Pearson — v1.6.0 */
.correlation-panel{overflow:hidden}
.correlation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.correlation-head h2{margin-bottom:5px}
.correlation-head p{margin:0;max-width:760px}
.corr-minimum{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid #dce5ef;background:#f7f9fc;color:#526176;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:750}
.correlation-selector{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.correlation-selector label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#4f5c70;min-width:0}
.correlation-selector select{background:#fff}
.correlation-submit{min-height:43px;white-space:nowrap}
.correlation-current{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 8px;padding:10px 12px;border-left:3px solid var(--primary);background:#f7f9fc;border-radius:0 9px 9px 0}
.correlation-current span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:750}
.correlation-current strong{font-size:13px}
.correlation-table .corr-value{display:inline-flex;min-width:64px;justify-content:center;padding:5px 8px;border-radius:8px;font-weight:800;font-variant-numeric:tabular-nums}
.correlation-table .corr-value.positive{background:#e9f7f1;color:#0d7651}
.correlation-table .corr-value.negative{background:#eef3fb;color:#315a83}
.correlation-table .corr-value.neutral,.corr-neutral{color:#68758a;font-weight:700}
.corr-wait{color:var(--muted);font-weight:650;white-space:nowrap}
.correlation-note{margin-top:14px;padding:11px 12px;border:1px solid #e4eaf1;border-radius:10px;background:#fbfcfe;color:#667489;font-size:11px;line-height:1.55}
.correlation-note strong{color:#435166}
@media(max-width:900px){
  .correlation-selector{grid-template-columns:1fr 1fr}
  .correlation-submit{grid-column:1/-1;width:100%}
}
@media(max-width:620px){
  .correlation-head{flex-direction:column;gap:10px}
  .corr-minimum{white-space:normal}
  .correlation-selector{grid-template-columns:1fr;padding:12px}
  .correlation-submit{grid-column:auto}
  .correlation-current{align-items:flex-start;flex-direction:column;gap:3px}
  .correlation-table td{min-width:110px}
  .correlation-note{font-size:10px}
}


/* Estado operacional da coleta — v1.7.0 */
.badge.stopped{
  background:#eef1f5;
  color:#596575;
  border:1px solid #d9dfe7;
}
.alert.stopped{
  background:#f0f3f7;
  color:#526071;
  border:1px solid #dfe5ec;
}
.stopped-state-notice{
  padding:13px 14px;
  border:1px solid #dce3eb;
  border-radius:11px;
  background:#f7f9fb;
  color:#536174;
  display:grid;
  gap:4px;
}
.stopped-state-notice strong{
  color:#27364a;
  font-size:13px;
}
.stopped-state-notice span{
  font-size:11px;
  line-height:1.5;
}
.last-state{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin:0 0 12px;
  padding:9px 10px;
  border-radius:9px;
  background:#f7f9fb;
  border:1px solid #e2e7ed;
  color:#687486;
  font-size:11px;
}
[data-running-only][hidden]{
  display:none!important;
}

@media(max-width:620px){
  .stopped-state-notice{padding:11px 12px}
  .stopped-state-notice span{font-size:10.5px}
}


/* Correção de alinhamento dos formulários — v1.7.3
   Impede que um campo simples seja esticado verticalmente quando o componente
   da coluna vizinha (ex.: fonte meteorológica) possui conteúdo mais alto. */
.form-grid{
  align-items:start;
}
.form-grid > label{
  align-self:start;
  align-content:start;
}
.form-grid > label > input,
.form-grid > label > select,
.form-grid > label > textarea{
  align-self:start;
}

/* Formulário de coleta reconstruído — v1.7.8
   Escopo deliberadamente restrito à .collection-form. */
.collection-form{
  --collection-control-height:50px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:18px;
  row-gap:16px;
  align-items:start;
}
.collection-form > label,
.collection-form .collection-weather-value,
.collection-form .collection-weather-source{
  min-width:0;
  margin:0;
}
.collection-form > label:not(.collection-notes),
.collection-form .collection-weather-value,
.collection-form .collection-weather-source{
  display:grid;
  grid-template-rows:auto var(--collection-control-height);
  gap:7px;
  align-content:start;
}
.collection-form > label > input,
.collection-form > label > select,
.collection-form .collection-weather-value > input{
  height:var(--collection-control-height);
  min-height:var(--collection-control-height);
  max-height:var(--collection-control-height);
  margin:0;
}
.collection-form .collection-control-label{
  display:block;
  font-size:12px;
  line-height:1.35;
  font-weight:700;
  color:#4f5c70;
}
.collection-weather{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.collection-weather-value{
  font-size:12px;
  font-weight:700;
  color:#4f5c70;
}
.collection-weather-control{
  width:100%;
  height:var(--collection-control-height);
  min-height:var(--collection-control-height);
  max-height:var(--collection-control-height);
  border:1px solid #dce3ed;
  border-radius:10px;
  background:#fff;
  padding:0 12px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  overflow:hidden;
}
.collection-weather-control .weather-source-badge{
  padding:3px 7px;
  font-size:9px;
  line-height:1;
  white-space:nowrap;
}
.collection-weather-control .weather-status{
  min-width:0;
  font-size:10px;
  line-height:1.2;
  font-weight:650;
  color:#435166;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.collection-weather-control .weather-refresh{
  padding:0;
  font-size:10px;
  line-height:1;
  white-space:nowrap;
}
.collection-weather-control .weather-meta{
  display:none!important;
}
.collection-form .collection-notes{
  display:grid;
  grid-template-rows:auto auto;
  gap:7px;
}
.collection-form .collection-notes textarea{
  min-height:110px;
  margin:0;
}
.collection-form .collection-submit{
  min-height:46px;
  margin-top:0;
}
.collection-form .stopped-state-notice{
  margin:0;
}

@media(max-width:760px){
  .collection-form{
    grid-template-columns:1fr;
    column-gap:0;
    row-gap:14px;
  }
  .collection-form .span-2{
    grid-column:1;
  }
  .collection-weather{
    grid-template-columns:1fr;
    gap:14px;
  }
  .collection-weather-control{
    grid-template-columns:auto minmax(0,1fr) auto;
  }
}

@media(max-width:430px){
  .collection-form{
    --collection-control-height:48px;
  }
  .collection-weather-control{
    padding:0 10px;
    gap:7px;
  }
  .collection-weather-control .weather-source-badge{
    max-width:118px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .collection-weather-control .weather-status{
    font-size:9.5px;
  }
  .collection-weather-control .weather-refresh{
    font-size:9.5px;
  }
}


/* Dashboard — correlação umidade, utilização e desempenho — v1.9.0 */
.humidity-correlation-panel{padding:22px}
.humidity-correlation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.humidity-correlation-head h2{font-size:19px;margin:0 0 5px;color:var(--text)}
.humidity-correlation-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;max-width:820px}
.humidity-period-control{display:grid;gap:5px;min-width:180px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.humidity-period-control select{height:40px;padding:8px 34px 8px 11px;font-size:12px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--text);background:#f8fafc}

.humidity-correlation-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(380px,1fr);gap:18px;align-items:start}
.humidity-chart-column{min-width:0}
.humidity-scatter-wrap{height:510px;position:relative;border:1px solid #e4eaf2;border-radius:14px;padding:12px 10px 8px;background:linear-gradient(180deg,#fff,#fbfcfe)}

.humidity-r-card{
  position:absolute;
  top:18px;
  right:20px;
  z-index:2;
  min-width:205px;
  padding:10px 12px;
  border:1px solid #dce5f0;
  border-radius:11px;
  background:rgba(248,250,253,.95);
  box-shadow:0 6px 18px rgba(16,33,60,.06);
  pointer-events:none;
}
.humidity-r-metric{display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:end}
.humidity-r-metric>span{grid-column:1/-1;color:#6f7d90;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.humidity-r-metric>strong{font-size:18px;line-height:1;color:#24334a}
.humidity-r-metric>small{font-size:9px;line-height:1.2;color:var(--muted);text-align:right}
.humidity-r-divider{height:1px;background:#e5eaf1;margin:8px 0}

.humidity-chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:10px;color:#59677a}
.humidity-chart-legend span{display:inline-flex;align-items:center;gap:6px}
.humidity-chart-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto}
.humidity-chart-legend i.dry{background:#1967d2}
.humidity-chart-legend i.wet{background:#d84b58;transform:rotate(45deg);border-radius:2px}
.humidity-chart-legend i.unknown{background:#9aa6b5}
.humidity-chart-legend i.hours{width:14px;height:14px;background:rgba(99,122,155,.22);border:2px solid #637a9b}
.humidity-chart-legend i.limit{width:14px;height:0;border-radius:0;border-top:2px dashed #c17c00;background:transparent}

.humidity-chart-note{margin:9px 0 0;color:#7a8697;font-size:10px;line-height:1.5}
.humidity-data-footer{display:flex;justify-content:space-between;gap:12px;margin-top:8px;padding-top:8px;border-top:1px solid #edf1f6;color:#8591a1;font-size:9px}

.humidity-correlation-summary{display:grid;gap:12px;min-width:0}
.humidity-correlation-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.humidity-mini-kpi{
  min-height:92px;
  padding:12px;
  border:1px solid #e1e7ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 16px rgba(16,33,60,.045);
}
.humidity-mini-kpi>span{display:block;color:#5d697b;font-size:9.5px;font-weight:750;line-height:1.25}
.humidity-mini-kpi>strong{display:block;margin-top:7px;font-size:23px;line-height:1;color:#1f2f46}
.humidity-mini-kpi>small{display:block;margin-top:7px;color:#7a8697;font-size:8.7px;line-height:1.35}

.humidity-insights-card,.humidity-details-card{border:1px solid #e1e7ef;border-radius:12px;background:#fbfcfe;padding:14px}
.humidity-section-title{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.humidity-section-title h3{font-size:13px;margin:0;color:#26364d}
.humidity-section-icon{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:#edf3fc;color:#1967d2;font-size:10px;font-weight:900}

.humidity-insights-card ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.humidity-insights-card li{position:relative;padding-left:17px;color:#4d5c70;font-size:10.5px;line-height:1.48}
.humidity-insights-card li:before{content:'•';position:absolute;left:2px;top:-1px;color:#1b8b64;font-size:17px;line-height:1}

.humidity-correlation-table{font-size:9.5px}
.humidity-correlation-table th{font-size:8.5px;padding:7px 6px}
.humidity-correlation-table td{padding:7px 6px}
.humidity-correlation-table td:first-child{min-width:175px}
.humidity-correlation-table td:nth-child(2),.humidity-correlation-table td:nth-child(3){text-align:center;white-space:nowrap;font-weight:750}

.humidity-r-positive{color:#14855f!important}
.humidity-r-negative{color:#c9363e!important}
.humidity-r-neutral{color:#667489!important}

@media(max-width:1260px){
  .humidity-correlation-layout{grid-template-columns:1fr}
  .humidity-correlation-summary{grid-template-columns:1fr 1fr}
  .humidity-correlation-kpis{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}
  .humidity-details-card{min-width:0}
  .humidity-scatter-wrap{height:460px}
}

@media(max-width:760px){
  .humidity-correlation-panel{padding:16px}
  .humidity-correlation-head{flex-direction:column;align-items:stretch;gap:12px}
  .humidity-period-control{min-width:0;width:100%}
  .humidity-scatter-wrap{height:355px;padding:8px 5px 5px}
  .humidity-r-card{top:10px;right:10px;min-width:170px;padding:8px 9px}
  .humidity-r-metric>strong{font-size:14px}
  .humidity-r-metric>small{font-size:8px}
  .humidity-r-metric>span{font-size:7.5px}
  .humidity-correlation-summary{grid-template-columns:1fr}
  .humidity-correlation-kpis{grid-template-columns:1fr 1fr}
  .humidity-chart-legend{display:grid;grid-template-columns:1fr;gap:7px}
  .humidity-correlation-table td:first-child{min-width:150px}
}

@media(max-width:430px){
  .humidity-correlation-kpis{grid-template-columns:1fr}
  .humidity-scatter-wrap{height:325px}
  .humidity-r-card{position:static;margin:8px 8px 0;min-width:0}
}
