
/* ===== ui-architecture-v012089.css (ordered source) ===== */
/*
 * MeteoSensor Local v0.12.089 — ARQUITECTURA VISUAL MESTRA
 * Base exacta: v0.12.087.
 *
 * Objectiu: una única jerarquia visual i una única gramàtica de components
 * per a Configuració, Previsió, Gràfiques, Ajuda, diàlegs i controls comuns.
 * La pantalla «Ara» conserva expressament la seva identitat visual pròpia:
 * no es redissenyen les sis targetes, els dibuixos ni la seva geometria.
 *
 * Regla: mateixa funció = mateixa mida, pes, color, radi, fons i espaiat.
 */

:root{
  /* Família única de lectura. No s'introdueix cap font nova. */
  --arch-font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;

  /* Jerarquia tipogràfica canònica. */
  --arch-fs-screen:clamp(30px,7.5vw,34px);   /* nivell 1: pantalla */
  --arch-fs-screen-sub:clamp(19px,4.8vw,22px);
  --arch-fs-section:clamp(22px,5.45vw,25px);/* nivell 2: secció */
  --arch-fs-item:19px;                       /* nivell 3: element */
  --arch-fs-control:17px;                    /* nivell d'acció/control */
  --arch-fs-body:15.5px;                     /* nivell 4: lectura explicativa */
  --arch-fs-label:16.5px;                    /* nivell 3: etiqueta/subtítol intern */
  --arch-fs-meta:15.5px;                     /* nivell 4: ajuda/font/metadada */
  --arch-fs-axis:13px;                     /* excepció tècnica: eixos */
  --arch-fs-config-label:17px;               /* referència validada: etiqueta */
  --arch-fs-config-control:18px;             /* referència validada: acció */
  --arch-config-action-h:52px;               /* alçada validada dels botons */
  --arch-fs-data:19px;                       /* dada en camp */

  --arch-fw-regular:400;
  --arch-fw-medium:400;
  --arch-fw-label:600;
  --arch-fw-strong:700;
  --arch-fw-data:700;

  --arch-lh-tight:1.08;
  --arch-lh-title:1.12;
  --arch-lh-body:1.48;
  --arch-lh-meta:1.36;

  /* Ritme únic 4 / 8 / 12 / 16 / 24. */
  --arch-s1:4px;
  --arch-s2:8px;
  --arch-s3:12px;
  --arch-s4:16px;
  --arch-s5:24px;

  --arch-radius-panel:20px;
  --arch-radius-control:16px;
  --arch-control-h:50px;

  /* El verd funcional és únic i hereta el verd vigent del tema. */
  --arch-accent:var(--green);
  --arch-link:#3a5273;
  --arch-primary:#8fc3a2;
  --arch-primary-border:#5f9e79;
}

:root[data-theme="light"]{
  --arch-text:#13201b;
  --arch-text-2:#596a62;
  --arch-text-3:#77847e;
  --arch-panel:#fbfcfb;
  --arch-panel-soft:#f4f7f5;
  --arch-readout:#ffffff;
  --arch-control:var(--ms-light-page,#bed0c7);
  --arch-control-hover:#b5d0c1;
  --arch-selected:#a6cdb6;
  --arch-primary:#8fc3a2;
  --arch-primary-border:#5f9e79;
  --arch-border:#a8b8b0;
  --arch-divider:#d5ddd9;
  --arch-shadow:0 1px 2px rgba(23,56,43,.08);
  --arch-link:#3a5273;
  --arch-success-small:#0a8531;
}

:root[data-theme="dark"]{
  --arch-text:#f4f7f5;
  --arch-text-2:#b8c7c0;
  --arch-text-3:#91a59b;
  --arch-panel:#10271f;
  --arch-panel-soft:#153027;
  --arch-readout:#19372d;
  --arch-control:var(--ms-dark-page-deep,#17372d);
  --arch-control-hover:#244a3c;
  --arch-selected:#315b49;
  --arch-primary:#4c7a5e;
  --arch-primary-border:#68957a;
  --arch-border:#5b766a;
  --arch-divider:#355247;
  --arch-shadow:0 1px 2px rgba(0,0,0,.22);
  --arch-link:#a9c0dc;
  --arch-success-small:#7fd89a;
}

html,body,button,input,select,textarea,optgroup{
  font-family:var(--arch-font)!important;
}

/* ========================================================================
   1. CAPÇALERA DE PANTALLA — NIVELL 1, IDÈNTIC A TOTA L'APP
   ======================================================================== */
.v19-screen-heading,
.charts-v012005 .v19-screen-heading,
.forecast-v012005 .v19-screen-heading,
.help-v012003 .v19-screen-heading,
.config-page .v19-screen-heading{
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  margin:0 0 var(--arch-s4)!important;
}
.v19-screen-heading h1,
.charts-v012005 .v19-screen-heading h1,
.forecast-v012005 .v19-screen-heading h1,
.help-v012003 .v19-screen-heading h1,
.config-page .v19-screen-heading h1{
  margin:0!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-screen)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:var(--arch-lh-tight)!important;
  letter-spacing:-.015em!important;
}
.v19-screen-heading p,
.charts-v012005 .v19-screen-heading p,
.forecast-v012005 .v19-screen-heading p,
.help-v012003 .v19-screen-heading p{
  margin:4px 0 0!important;
  color:var(--arch-accent)!important;
  font-size:var(--arch-fs-screen-sub)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:var(--arch-lh-title)!important;
}
.v19-screen-icon,
.charts-v012005 .v19-screen-icon,
.forecast-v012005 .v19-screen-icon,
.help-v012003 .v19-screen-icon{
  width:34px!important;
  height:34px!important;
  color:var(--arch-text)!important;
}
.v19-help-icon{color:var(--arch-accent)!important;font-weight:var(--arch-fw-strong)!important;}

/* ========================================================================
   2. NIVELL 2 — TÍTOLS DE SECCIÓ: SEMPRE VERD, MATEIXA MIDA I PES
   ======================================================================== */
.config-page.ui-system-master .config-section h2,
.forecast-v012005.ui-system-master .v4-section-title h2,
.charts-v012005.ui-system-master>.v4-group-title>strong,
.environment-guide-title,
.version-title{
  margin:0!important;
  color:var(--arch-accent)!important;
  font-size:var(--arch-fs-section)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:var(--arch-lh-title)!important;
  letter-spacing:-.01em!important;
}

/* Els títols de la font/grup de Gràfiques són seccions, no un nivell especial. */
.charts-v012005.ui-system-master>.ui-source-group strong{
  color:var(--arch-accent)!important;
  font-size:var(--arch-fs-section)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:var(--arch-lh-title)!important;
}
.charts-v012005.ui-system-master>.ui-source-group span{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:var(--arch-lh-meta)!important;
}

/* ========================================================================
   3. NIVELL 3 — TÍTOL D'ELEMENT: NEGRE/BLANC, 18 PX, 700
   L'accent de magnitud viu a la icona/traç, no canvia la jerarquia del text.
   ======================================================================== */
.config-page.ui-system-master .saved-copy strong,
.config-page.ui-system-master .install-preview strong,
.config-page.ui-system-master .widget-name,
.forecast-v012005.ui-system-master .v4-hero-grid>h3,
.forecast-v012005.ui-system-master .v4-aqi>div:first-child>strong,
.forecast-v012005.ui-system-master .v67-compare-row>h3,
.forecast-v012005.ui-system-master .v4-air>h3,
.charts-v012005.ui-system-master .v4-chart-title h2,
.charts-v012005.ui-system-master .v3-chart-title h2,
.help-v012003 .help-section summary,
.environment-topic-label,
.environment-now-notes>summary,
.forecast-help-body h3,
.modal-head strong{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.22!important;
  letter-spacing:0!important;
}

/* ========================================================================
   4. COS, ETIQUETES I METADADES — UNA SOLA ESCALA
   ======================================================================== */
.config-page.ui-system-master .field label,
.config-page.ui-system-master .version-row span,
.forecast-v012005.ui-system-master .v4-field>label,
.forecast-v012005.ui-system-master .v4-pollen label,
.forecast-v012005.ui-system-master .v4-celestial-times b,
.charts-v012005.ui-system-master .v3-datebox label,
.charts-v012005.ui-system-master .v4-stats>div>span:first-child{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-label)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1.25!important;
}

.help-v012003 .help-section-body>p,
.help-v012003 .help-section-body li,
.forecast-help-body p,
.environment-reading p,
.install-instructions p{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-body)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:var(--arch-lh-body)!important;
}

.config-page.ui-system-master .field-help,
.config-page.ui-system-master .field-note,
.config-page.ui-system-master .saved-copy span,
.config-page.ui-system-master .install-preview span,
.config-page.ui-system-master .release-notes,
.config-page.ui-system-master .config-footer,
.forecast-v012005.ui-system-master .v4-card>footer,
.forecast-v012005.ui-system-master .v4-celestial>footer,
.forecast-v012005.ui-system-master .v4-astro-source,
.forecast-v012005.ui-system-master .v4-location small,
.charts-v012005.ui-system-master .v4-chart-card>footer,
.charts-v012005.ui-system-master .v3-noise-empty>footer,
.charts-v012005.ui-system-master .v4-chart-meta,
.charts-v012005.ui-system-master .v4-multi-legend,
.help-v012003 .v3-help-intro,
.help-v012003 .help-search p,
.help-v012003 .help-links a,
.forecast-help-source,
.modal-head span,
.map-toolbar span,
.map-selection span,
.source-note{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-medium)!important;
  line-height:var(--arch-lh-meta)!important;
}

/* ========================================================================
   5. SUPERFÍCIES — UNA SOLA TARGETA/PANELL
   ======================================================================== */
.config-page.ui-system-master>.config-section,
.forecast-v012005.ui-system-master>.v4-card,
.forecast-v012005.ui-system-master .v4-astro>.v4-celestial,
.forecast-v012005.ui-system-master .v4-astro>.v4-phase,
.charts-v012005.ui-system-master>.v3-period-panel,
.charts-v012005.ui-system-master>.history-status-card,
.charts-v012005.ui-system-master>.v4-chart-card,
.charts-v012005.ui-system-master>.v3-noise-empty,
.help-v012003 .help-search,
.help-v012003 .help-card,
.detail,
.config-modal-panel,
.version-card{
  background:var(--arch-panel)!important;
  background-image:none!important;
  border:1px solid var(--arch-border)!important;
  border-radius:var(--arch-radius-panel)!important;
  box-shadow:var(--arch-shadow)!important;
}

.config-page.ui-system-master>.config-section,
.help-v012003 .help-search{
  padding:var(--arch-s4)!important;
}
.config-page.ui-system-master>.config-section,
.forecast-v012005.ui-system-master>.v4-card,
.charts-v012005.ui-system-master>.v3-period-panel,
.charts-v012005.ui-system-master>.history-status-card,
.charts-v012005.ui-system-master>.v4-chart-card,
.charts-v012005.ui-system-master>.v3-noise-empty{
  margin-bottom:var(--arch-s3)!important;
}

/* ========================================================================
   6. CAMPS DE DADA/LECTURA — SEMPRE EL MATEIX COMPONENT
   ======================================================================== */
.config-page.ui-system-master .field input,
.config-page.ui-system-master .field select,
.forecast-v012005.ui-system-master .v4-value-box,
.forecast-v012005.ui-system-master .v4-celestial-times strong,
.forecast-v012005.ui-system-master .v4-phase-line,
.charts-v012005.ui-system-master .v3-datebox input,
.charts-v012005.ui-system-master .v4-stats .v4-measure,
.help-v012003 .help-search input{
  min-height:var(--arch-control-h)!important;
  height:var(--arch-control-h)!important;
  box-sizing:border-box!important;
  border:1px solid var(--arch-border)!important;
  border-radius:var(--arch-radius-control)!important;
  background:var(--arch-readout)!important;
  background-image:none!important;
  color:var(--arch-text)!important;
  box-shadow:none!important;
}

.config-page.ui-system-master .field input,
.config-page.ui-system-master .field select,
.help-v012003 .help-search input{
  padding:0 14px!important;
  font-size:var(--arch-fs-data)!important;
  font-weight:var(--arch-fw-data)!important;
  line-height:1.15!important;
}

.forecast-v012005.ui-system-master .v4-value-box>.v4-measure,
.forecast-v012005.ui-system-master .v4-celestial-times .v4-time-line,
.forecast-v012005.ui-system-master .v4-secondary-data,
.forecast-v012005.ui-system-master .v69-compare-value,
.charts-v012005.ui-system-master .v4-stats .v4-measure,
.charts-v012005.ui-system-master .v3-period-panel .v54-period-value{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-data)!important;
  font-weight:var(--arch-fw-data)!important;
  line-height:1!important;
}

/* ========================================================================
   7. BOTONS I DESPLEGABLES — TRES ESTATS I CAP MÉS
   primari / secundari / seleccionat
   ======================================================================== */
.config-page.ui-system-master .save-station-top,
.config-page.ui-system-master .share-main,
.config-page.ui-system-master .mini-button,
.config-page.ui-system-master .config-secondary,
.config-page.ui-system-master .input-action button,
.config-page.ui-system-master .saved-actions button,
.config-page.ui-system-master .language-buttons button,
.config-page.ui-system-master .theme-buttons button,
.config-page.ui-system-master .advanced-sensors summary,
.charts-v012005.ui-system-master .v3-period-panel .period,
.charts-v012005.ui-system-master .v3-datebox .btn,
.btn,
.config-modal .map-toolbar button,
.config-modal .map-selection button{
  min-height:var(--arch-control-h)!important;
  height:var(--arch-control-h)!important;
  box-sizing:border-box!important;
  padding:0 14px!important;
  border:1px solid var(--arch-border)!important;
  border-radius:var(--arch-radius-control)!important;
  background:var(--arch-control)!important;
  background-image:none!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-control)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1.15!important;
  box-shadow:none!important;
}

.config-page.ui-system-master .save-station-top,
.config-page.ui-system-master .share-main,
.charts-v012005.ui-system-master .v3-datebox .btn,
.config-modal .map-selection button,
.btn{
  background:var(--arch-primary)!important;
  border-color:var(--arch-primary-border)!important;
  color:#07140e!important;
  font-weight:var(--arch-fw-strong)!important;
}

.config-page.ui-system-master .language-buttons button.active,
.config-page.ui-system-master .theme-buttons button.active,
.charts-v012005.ui-system-master .v3-period-panel .period.active{
  background:var(--arch-selected)!important;
  border-color:var(--arch-primary-border)!important;
  color:var(--arch-text)!important;
  font-weight:var(--arch-fw-strong)!important;
}

@media(hover:hover){
  .config-page.ui-system-master .config-secondary:hover,
  .config-page.ui-system-master .language-buttons button:hover,
  .config-page.ui-system-master .theme-buttons button:hover,
  .charts-v012005.ui-system-master .v3-period-panel .period:hover,
  .config-modal .map-toolbar button:hover{
    background:var(--arch-control-hover)!important;
  }
}

/* ========================================================================
   8. CONFIGURACIÓ — RITME ÚNIC
   ======================================================================== */
.config-page.ui-system-master .config-grid,
.config-page.ui-system-master .saved-list{
  gap:var(--arch-s3)!important;
}
.config-page.ui-system-master .config-section h2{
  margin-bottom:var(--arch-s3)!important;
}
.config-page.ui-system-master .field label{margin:0 0 6px!important;}
.config-page.ui-system-master .field-help{margin:6px 0 0!important;}
.config-page.ui-system-master .version-row{
  min-height:42px!important;
  padding:10px 0!important;
  border-bottom:1px solid var(--arch-divider)!important;
}
.config-page.ui-system-master .saved-row,
.config-page.ui-system-master .widget-sample{
  border:1px solid var(--arch-divider)!important;
  border-radius:var(--arch-radius-control)!important;
  background:var(--arch-panel-soft)!important;
  box-shadow:none!important;
}
.config-page.ui-system-master .advanced-sensors{
  border-color:var(--arch-border)!important;
  border-radius:var(--arch-radius-control)!important;
  background:transparent!important;
}
.config-page.ui-system-master .release-notes-title{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-label)!important;
  font-weight:var(--arch-fw-label)!important;
  text-decoration:none!important;
}

/* ========================================================================
   9. PREVISIÓ — MATEIXA JERARQUIA, SENSE NIVELLS PARAL·LELS
   ======================================================================== */
.forecast-v012005.ui-system-master>.v4-section-title,
.forecast-v012005.ui-system-master .v4-astro>.v4-section-title{
  margin:var(--arch-s5) 4px var(--arch-s3)!important;
}
.forecast-v012005.ui-system-master .v4-card>.v4-section-title,
.forecast-v012005.ui-system-master>.v4-forecast-hero>.v46-card-title{
  margin:0 0 var(--arch-s3)!important;
}
.forecast-v012005.ui-system-master>.v4-forecast-hero,
.forecast-v012005.ui-system-master>.v4-details,
.forecast-v012005.ui-system-master>.v4-air,
.forecast-v012005.ui-system-master>.v4-compare{
  padding:var(--arch-s4)!important;
}
.forecast-v012005.ui-system-master>.v4-hourly,
.forecast-v012005.ui-system-master>.v4-daily-list{
  padding-top:var(--arch-s4)!important;
}
.forecast-v012005.ui-system-master .v4-fields,
.forecast-v012005.ui-system-master .v47-hero-summary,
.forecast-v012005.ui-system-master .v47-temperature-extremes{
  gap:var(--arch-s3)!important;
}
.forecast-v012005.ui-system-master .v4-field{gap:6px!important;}
.forecast-v012005.ui-system-master .v4-cape{
  border-top:1px solid var(--arch-divider)!important;
}
.forecast-v012005.ui-system-master .v4-cape summary{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
}
.forecast-v012005.ui-system-master a,
.forecast-help-source a,
.environment-source-links a{
  color:var(--arch-link)!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
}

/* Estat d'actualització: mateix component a Previsió i Gràfiques. */
.forecast-v012005.ui-system-master>.v5-forecast-status,
.charts-v012005.ui-system-master>.history-status-card{
  padding:12px 14px!important;
  gap:4px!important;
  border-radius:var(--arch-radius-panel)!important;
  background:var(--arch-panel)!important;
  box-shadow:var(--arch-shadow)!important;
}
.forecast-v012005.ui-system-master>.v5-forecast-status .connection-state,
.charts-v012005.ui-system-master>.history-status-card .connection-state{
  font-size:var(--arch-fs-control)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.18!important;
}
.forecast-v012005.ui-system-master>.v5-forecast-status .connection-label,
.forecast-v012005.ui-system-master>.v5-forecast-status .connection-stamp strong,
.forecast-v012005.ui-system-master>.v5-forecast-status .connection-hint-line,
.charts-v012005.ui-system-master>.history-status-card .connection-label,
.charts-v012005.ui-system-master>.history-status-card .connection-stamp strong{
  font-size:var(--arch-fs-meta)!important;
  line-height:1.25!important;
}

/* ========================================================================
   10. GRÀFIQUES — TÍTOLS NEUTRES, ACCENT NOMÉS A LA DADA/ICONA/TRAÇ
   ======================================================================== */
.charts-v012005.ui-system-master>.v4-group-title{
  margin:var(--arch-s5) 4px var(--arch-s3)!important;
  gap:4px!important;
}
.charts-v012005.ui-system-master>.v4-chart-card,
.charts-v012005.ui-system-master>.v3-noise-empty{
  padding:var(--arch-s4) var(--arch-s4) 0!important;
}
.charts-v012005.ui-system-master .v4-chart-title h2,
.charts-v012005.ui-system-master .v3-chart-title h2{
  color:var(--arch-text)!important;
}
.charts-v012005.ui-system-master .v4-chart-title .title-icon,
.charts-v012005.ui-system-master .v3-chart-title .title-icon{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
}
.charts-v012005.ui-system-master .v4-chart-svg .v4-ytext,
.charts-v012005.ui-system-master .v4-chart-svg .v4-xtext,
.charts-v012005.ui-system-master .v4-chart-svg .v4-axis-unit{
  fill:var(--arch-text-2)!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-axis)!important;
  font-weight:var(--arch-fw-medium)!important;
}
.charts-v012005.ui-system-master .v4-chart-svg .v4-grid-x,
.charts-v012005.ui-system-master .v4-chart-svg .v4-grid-y{
  stroke:var(--arch-divider)!important;
}

/* ========================================================================
   11. AJUDA — LECTURA EDITORIAL, MATEIXA JERARQUIA
   ======================================================================== */
.help-v012003 .v3-help-intro{
  margin:0 2px var(--arch-s3)!important;
}
.help-v012003 .help-search{
  margin:0 0 var(--arch-s3)!important;
}
.help-v012003 .help-search label{
  display:block!important;
  margin:0 0 7px!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.2!important;
}
.help-v012003 .help-card{
  padding:0 var(--arch-s4)!important;
  overflow:hidden!important;
}
.help-v012003 .help-section{
  margin:0!important;
  border-bottom:1px solid var(--arch-divider)!important;
}
.help-v012003 .help-section:last-child{border-bottom:0!important;}
.help-v012003 .help-section summary{
  padding:15px 0!important;
  cursor:pointer!important;
}
.help-v012003 .help-section-body{
  padding:0 0 var(--arch-s4)!important;
}
.help-v012003 .help-section-body>p{margin:0 0 var(--arch-s3)!important;}
.help-v012003 .help-section-body li{margin:5px 0!important;}
.help-v012003 .help-links a,
.environment-source-links a{
  color:var(--arch-link)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-label)!important;
}

/* ========================================================================
   12. MENÚS CONTEXTUALS / HISTORIALS — MATEIX PATRÓ QUE AJUDA
   ======================================================================== */
.detail{
  padding:var(--arch-s4)!important;
}
.detail-title{
  color:var(--arch-accent)!important;
  font-size:var(--arch-fs-section)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:var(--arch-lh-title)!important;
}
.detail-meta{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-medium)!important;
  line-height:var(--arch-lh-meta)!important;
}
.detail-current{
  border-top:1px solid var(--arch-divider)!important;
  border-bottom:1px solid var(--arch-divider)!important;
  color:var(--arch-text)!important;
  font-weight:var(--arch-fw-data)!important;
}
.history-row{
  border:1px solid var(--arch-divider)!important;
  border-radius:var(--arch-radius-control)!important;
  background:var(--arch-panel-soft)!important;
  box-shadow:none!important;
}
.history-time{font-weight:var(--arch-fw-medium)!important;}
.history-ago{color:var(--arch-text-2)!important;font-weight:var(--arch-fw-medium)!important;}
.history-val{color:var(--arch-text)!important;font-weight:var(--arch-fw-data)!important;}
.forecast-help-icon{
  border:1px solid var(--arch-border)!important;
  background:var(--arch-control)!important;
  color:var(--arch-accent)!important;
  box-shadow:none!important;
}
.forecast-help-body{gap:var(--arch-s2)!important;}
.forecast-help-body h3{margin:var(--arch-s3) 0 0!important;}
.forecast-help-source{
  border-top:1px solid var(--arch-divider)!important;
  padding-top:var(--arch-s3)!important;
}
.forecast-help-source strong{color:var(--arch-text)!important;font-weight:var(--arch-fw-strong)!important;}

/* ========================================================================
   13. MODALS DE CONFIGURACIÓ / MAPA / INSTAL·LACIÓ
   ======================================================================== */
.config-modal-panel{padding:var(--arch-s4)!important;}
.modal-head{margin-bottom:var(--arch-s3)!important;}
.modal-head button,
.close{
  border:1px solid var(--arch-border)!important;
  background:var(--arch-control)!important;
  color:var(--arch-text)!important;
  box-shadow:none!important;
}
.map-toolbar{margin-bottom:var(--arch-s2)!important;}
.map-selection{margin-top:var(--arch-s3)!important;}
.install-step{
  border:1px solid var(--arch-divider)!important;
  border-radius:var(--arch-radius-control)!important;
  background:var(--arch-panel-soft)!important;
  box-shadow:none!important;
}
.install-step>strong{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-body)!important;
  font-weight:var(--arch-fw-label)!important;
}

/* ========================================================================
   14. NAVEGACIÓ INFERIOR — UNA SOLA JERARQUIA I PES
   ======================================================================== */
.bottomnav{
  border-top:1px solid var(--arch-border)!important;
  box-shadow:0 -2px 8px rgba(0,0,0,.05)!important;
}
.bottomnav .navlabel{
  color:var(--arch-accent)!important;
  font-size:clamp(14px,3.7vw,17px)!important;
  font-weight:var(--arch-fw-label)!important;
}
.bottomnav .navbtn.active .navlabel{font-weight:var(--arch-fw-strong)!important;}

/* ========================================================================
   15. ENLLAÇOS I FOCUS — COMPORTAMENT ÚNIC
   ======================================================================== */
.help-v012003 a,
.config-page.ui-system-master a,
.forecast-v012005.ui-system-master a,
.charts-v012005.ui-system-master a,
.detail a{
  color:var(--arch-link)!important;
}
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible,
a:focus-visible{
  outline:2px solid color-mix(in srgb,var(--arch-accent) 65%,transparent)!important;
  outline-offset:2px!important;
}

/* ========================================================================
   16. ARA — EXCEPCIÓ DELIBERADA
   Les sis targetes, els seus colors, dibuixos, màscares, proporcions i
   geometria queden fora d'aquesta arquitectura. Només comparteixen la
   capçalera comuna i la navegació, perquè tenen la mateixa funció global.
   ======================================================================== */

@media(max-width:390px){
  :root{
    --arch-fs-screen:29px;
    --arch-fs-screen-sub:19px;
    --arch-fs-section:22px;
    --arch-fs-item:18px;
    --arch-fs-control:17px;
    --arch-fs-body:15.5px;
    --arch-fs-label:16.5px;
    --arch-fs-meta:15.5px;
    --arch-fs-data:18.5px;
  }
  .v19-screen-heading,
  .charts-v012005 .v19-screen-heading,
  .forecast-v012005 .v19-screen-heading,
  .help-v012003 .v19-screen-heading,
  .config-page .v19-screen-heading{
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:10px!important;
  }
  .v19-screen-icon,
  .charts-v012005 .v19-screen-icon,
  .forecast-v012005 .v19-screen-icon,
  .help-v012003 .v19-screen-icon{
    width:32px!important;
    height:32px!important;
  }
}

/* ========================================================================
   17. ENFORCEMENT CANÒNIC
   El full històric conté regles !important amb especificitat elevada. Aquest
   bloc final fixa els tokens del sistema antic als tokens mestres nous i
   repeteix amb la mateixa especificitat els nivells que no poden divergir.
   ======================================================================== */
:root{
  --ui-section-title-size:var(--arch-fs-section);
  --ui-item-title-size:var(--arch-fs-item);
  --ui-field-size:var(--arch-fs-control);
  --ui-readout-size:var(--arch-fs-data);
  --ui-data-field-size:var(--arch-fs-data);
  --ui-readout-weight:var(--arch-fw-data);
  --ui-control-size:var(--arch-fs-control);
  --ui-body-size:var(--arch-fs-meta);
  --ui-control-height:var(--arch-control-h);
  --ui-readout-height:var(--arch-control-h);
}
:root[data-theme="light"]{
  --ui-control-bg:var(--arch-control);
  --ui-control-border:var(--arch-border);
  --ui-readout-bg:var(--arch-readout);
  --ui-readout-text:var(--arch-text);
  --ui-primary-bg:var(--arch-primary);
  --ui-primary-border:var(--arch-primary-border);
  --ui-primary-text:#07140e;
  --ui-selected-bg:var(--arch-selected);
  --ui-selected-border:var(--arch-primary-border);
  --ui-selected-text:var(--arch-text);
  --ui-context-bg:var(--arch-control);
  --ui-helper:var(--arch-text-2);
}
:root[data-theme="dark"]{
  --ui-control-bg:var(--arch-control);
  --ui-control-border:var(--arch-border);
  --ui-readout-bg:var(--arch-readout);
  --ui-readout-text:var(--arch-text);
  --ui-primary-bg:var(--arch-primary);
  --ui-primary-border:var(--arch-primary-border);
  --ui-primary-text:#07140e;
  --ui-selected-bg:var(--arch-selected);
  --ui-selected-border:var(--arch-primary-border);
  --ui-selected-text:var(--arch-text);
  --ui-context-bg:var(--arch-control);
  --ui-helper:var(--arch-text-2);
}

/* Nivell 2: secció. */
:root[data-theme] .config-page.ui-system-master .config-section h2,
:root[data-theme] .forecast-v012005.ui-system-master .v4-section-title h2,
:root[data-theme] .charts-v012005.ui-system-master>.v4-group-title strong,
:root[data-theme] .environment-guide-title{
  color:var(--arch-accent)!important;
  font-size:var(--arch-fs-section)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:var(--arch-lh-title)!important;
}
:root[data-theme] .charts-v012005.ui-system-master>.ui-source-group strong{
  color:var(--arch-accent)!important;
  font-size:var(--arch-fs-section)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:var(--arch-lh-title)!important;
}
:root[data-theme] .charts-v012005.ui-system-master>.ui-source-group span{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:var(--arch-lh-meta)!important;
}

/* Nivell 3: element. */
:root[data-theme] .config-page.ui-system-master .saved-copy strong,
:root[data-theme] .config-page.ui-system-master .install-preview strong,
:root[data-theme] .config-page.ui-system-master .widget-name,
:root[data-theme] .forecast-v012005.ui-system-master .v4-hero-grid>h3,
:root[data-theme] .forecast-v012005.ui-system-master .v4-aqi>div:first-child>strong,
:root[data-theme] .forecast-v012005.ui-system-master .v67-compare-row>h3,
:root[data-theme] .charts-v012005.ui-system-master .v4-chart-title h2,
:root[data-theme] .charts-v012005.ui-system-master .v3-chart-title h2{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.22!important;
}

/* Etiquetes i metadades. */
:root[data-theme] .config-page.ui-system-master .field label,
:root[data-theme] .config-page.ui-system-master .version-row span,
:root[data-theme] .forecast-v012005.ui-system-master .v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v4-pollen label,
:root[data-theme] .charts-v012005.ui-system-master .v3-datebox label,
:root[data-theme] .charts-v012005.ui-system-master .v4-stats>div>span:first-child{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-label)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1.25!important;
}
:root[data-theme] .config-page.ui-system-master .field-help,
:root[data-theme] .config-page.ui-system-master .field-note,
:root[data-theme] .config-page.ui-system-master .saved-copy span,
:root[data-theme] .config-page.ui-system-master .install-preview span,
:root[data-theme] .config-page.ui-system-master .release-notes,
:root[data-theme] .config-page.ui-system-master .config-footer,
:root[data-theme] .forecast-v012005.ui-system-master .v4-card>footer,
:root[data-theme] .forecast-v012005.ui-system-master .v4-celestial>footer,
:root[data-theme] .forecast-v012005.ui-system-master .v4-astro-source,
:root[data-theme] .charts-v012005.ui-system-master .v4-chart-card>footer,
:root[data-theme] .charts-v012005.ui-system-master .v3-noise-empty>footer,
:root[data-theme] .charts-v012005.ui-system-master .v4-chart-meta,
:root[data-theme] .charts-v012005.ui-system-master .v4-multi-legend{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-medium)!important;
  line-height:var(--arch-lh-meta)!important;
}

/* Controls i dades. */
:root[data-theme] .config-page.ui-system-master .field input,
:root[data-theme] .config-page.ui-system-master .field select,
:root[data-theme] .charts-v012005.ui-system-master .v3-datebox input{
  height:var(--arch-control-h)!important;
  min-height:var(--arch-control-h)!important;
  border-color:var(--arch-border)!important;
  background:var(--arch-readout)!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-data)!important;
  font-weight:var(--arch-fw-data)!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v4-value-box,
:root[data-theme] .forecast-v012005.ui-system-master .v4-celestial-times strong,
:root[data-theme] .forecast-v012005.ui-system-master .v4-phase-line,
:root[data-theme] .charts-v012005.ui-system-master .v4-stats .v4-measure{
  height:var(--arch-control-h)!important;
  min-height:var(--arch-control-h)!important;
  border-color:var(--arch-border)!important;
  background:var(--arch-readout)!important;
  color:var(--arch-text)!important;
  box-shadow:none!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v4-value-box>.v4-measure,
:root[data-theme] .forecast-v012005.ui-system-master .v5-range .v4-value-box .v4-measure,
:root[data-theme] .charts-v012005.ui-system-master .v4-stats .v4-measure{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-data)!important;
  font-weight:var(--arch-fw-data)!important;
}

/* Família única de botons. */
:root[data-theme] .config-page.ui-system-master .save-station-top,
:root[data-theme] .config-page.ui-system-master .share-main,
:root[data-theme] .config-page.ui-system-master .mini-button,
:root[data-theme] .config-page.ui-system-master .config-secondary,
:root[data-theme] .config-page.ui-system-master .input-action button,
:root[data-theme] .config-page.ui-system-master .saved-actions button,
:root[data-theme] .config-page.ui-system-master .language-buttons button,
:root[data-theme] .config-page.ui-system-master .theme-buttons button,
:root[data-theme] .config-page.ui-system-master .advanced-sensors summary,
:root[data-theme] .charts-v012005.ui-system-master .v3-period-panel .period,
:root[data-theme] .charts-v012005.ui-system-master .v3-datebox .btn,
:root[data-theme] .config-modal .map-toolbar button,
:root[data-theme] .config-modal .map-selection button{
  height:var(--arch-control-h)!important;
  min-height:var(--arch-control-h)!important;
  border-color:var(--arch-border)!important;
  border-radius:var(--arch-radius-control)!important;
  background:var(--arch-control)!important;
  background-image:none!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-control)!important;
  font-weight:var(--arch-fw-label)!important;
  box-shadow:none!important;
}
:root[data-theme] .config-page.ui-system-master .save-station-top,
:root[data-theme] .config-page.ui-system-master .share-main,
:root[data-theme] .charts-v012005.ui-system-master .v3-datebox .btn,
:root[data-theme] .config-modal .map-selection button{
  background:var(--arch-primary)!important;
  border-color:var(--arch-primary-border)!important;
  color:#07140e!important;
  font-weight:var(--arch-fw-strong)!important;
}
:root[data-theme] .config-page.ui-system-master .language-buttons button.active,
:root[data-theme] .config-page.ui-system-master .theme-buttons button.active,
:root[data-theme] .charts-v012005.ui-system-master .v3-period-panel .period.active{
  background:var(--arch-selected)!important;
  border-color:var(--arch-primary-border)!important;
  color:var(--arch-text)!important;
  font-weight:var(--arch-fw-strong)!important;
}

/* Superfícies amb la mateixa especificitat que el sistema històric. */
:root[data-theme] .config-page.ui-system-master>.config-section,
:root[data-theme] .forecast-v012005.ui-system-master>.v4-forecast-hero,
:root[data-theme] .forecast-v012005.ui-system-master>.v4-hourly,
:root[data-theme] .forecast-v012005.ui-system-master>.v4-daily-list,
:root[data-theme] .forecast-v012005.ui-system-master>.v4-details,
:root[data-theme] .forecast-v012005.ui-system-master>.v4-air,
:root[data-theme] .forecast-v012005.ui-system-master>.v4-compare,
:root[data-theme] .forecast-v012005.ui-system-master .v4-astro>.v4-celestial,
:root[data-theme] .forecast-v012005.ui-system-master .v4-astro>.v4-phase,
:root[data-theme] .charts-v012005.ui-system-master>.v3-period-panel,
:root[data-theme] .charts-v012005.ui-system-master>.history-status-card,
:root[data-theme] .charts-v012005.ui-system-master>.v4-chart-card,
:root[data-theme] .charts-v012005.ui-system-master>.v3-noise-empty{
  background:var(--arch-panel)!important;
  background-image:none!important;
  border-color:var(--arch-border)!important;
  box-shadow:var(--arch-shadow)!important;
}

/* Valors textuals estructurals: sempre contrast correcte en tots dos temes. */
:root[data-theme] .config-page.ui-system-master .version-row strong,
:root[data-theme] .config-page.ui-system-master .config-footer strong,
:root[data-theme] .forecast-v012005.ui-system-master footer strong,
:root[data-theme] .charts-v012005.ui-system-master footer strong,
:root[data-theme] .help-v012003 strong,
:root[data-theme] .detail strong{
  color:var(--arch-text)!important;
}


/* ========================================================================
   18. V0.12.086 — AJUST MESTRE DES DE CONFIGURACIÓ
   Tota correcció de jerarquia feta aquí s'aplica als mateixos rols de
   Previsió, Gràfiques, Ajuda, historials i modals. «Ara» continua essent
   l'excepció visual de les sis targetes.
   ======================================================================== */

/* Tots els botons rectangulars: text realment centrat als dos eixos. */
:root[data-theme] .config-page.ui-system-master .save-station-top,
:root[data-theme] .config-page.ui-system-master .share-main,
:root[data-theme] .config-page.ui-system-master .mini-button,
:root[data-theme] .config-page.ui-system-master .config-secondary,
:root[data-theme] .config-page.ui-system-master .input-action button,
:root[data-theme] .config-page.ui-system-master .saved-actions button,
:root[data-theme] .config-page.ui-system-master .language-buttons button,
:root[data-theme] .config-page.ui-system-master .theme-buttons button,
:root[data-theme] .config-page.ui-system-master .advanced-sensors summary,
:root[data-theme] .charts-v012005.ui-system-master .v3-period-panel .period,
:root[data-theme] .charts-v012005.ui-system-master .v3-datebox .btn,
:root[data-theme] .config-modal .map-toolbar button,
:root[data-theme] .config-modal .map-selection button,
:root[data-theme] .btn,
:root[data-theme] .v3-expand{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.15!important;
}

/* Jerarquia cromàtica única dels botons: secundari -> seleccionat -> primari. */
:root[data-theme] .config-page.ui-system-master .config-secondary,
:root[data-theme] .config-page.ui-system-master .mini-button,
:root[data-theme] .config-page.ui-system-master .input-action button,
:root[data-theme] .config-page.ui-system-master .saved-actions button,
:root[data-theme] .config-page.ui-system-master .language-buttons button,
:root[data-theme] .config-page.ui-system-master .theme-buttons button,
:root[data-theme] .config-page.ui-system-master .advanced-sensors summary,
:root[data-theme] .config-modal .map-toolbar button{
  background:var(--arch-control)!important;
  background-image:none!important;
  border-color:var(--arch-border)!important;
  color:var(--arch-text)!important;
}
:root[data-theme] .config-page.ui-system-master .language-buttons button.active,
:root[data-theme] .config-page.ui-system-master .theme-buttons button.active,
:root[data-theme] .charts-v012005.ui-system-master .v3-period-panel .period.active{
  background:var(--arch-selected)!important;
  border-color:var(--arch-primary-border)!important;
  color:var(--arch-text)!important;
}
:root[data-theme] .config-page.ui-system-master .save-station-top,
:root[data-theme] .config-page.ui-system-master .share-main,
:root[data-theme] .config-modal .map-selection button,
:root[data-theme] .charts-v012005.ui-system-master .v3-datebox .btn,
:root[data-theme] .btn{
  background:var(--arch-primary)!important;
  background-image:none!important;
  border-color:var(--arch-primary-border)!important;
  color:var(--arch-text)!important;
}

/* «Esborrar» manté exactament la caixa secundària; només el text és d'avís. */
:root[data-theme] .config-page.ui-system-master .saved-actions .danger{
  background:var(--arch-control)!important;
  border-color:var(--arch-border)!important;
}

/* Textos de lectura: regular per defecte. La negreta queda reservada a
   títols, dades i <strong>/<b> realment significatius. */
:root[data-theme] .config-page.ui-system-master .field-help,
:root[data-theme] .config-page.ui-system-master .field-note,
:root[data-theme] .config-page.ui-system-master .release-notes,
:root[data-theme] .config-page.ui-system-master .release-notes li,
:root[data-theme] .config-page.ui-system-master .config-footer,
:root[data-theme] .forecast-v012005.ui-system-master .v4-card>footer,
:root[data-theme] .forecast-v012005.ui-system-master .v4-celestial>footer,
:root[data-theme] .forecast-v012005.ui-system-master .v4-astro-source,
:root[data-theme] .charts-v012005.ui-system-master .v4-chart-card>footer,
:root[data-theme] .charts-v012005.ui-system-master .v3-noise-empty>footer,
:root[data-theme] .help-v012003 .help-section-body>p,
:root[data-theme] .help-v012003 .help-section-body li,
:root[data-theme] .forecast-help-body p,
:root[data-theme] .environment-reading p,
:root[data-theme] .source-note{
  font-weight:var(--arch-fw-regular)!important;
}

/* Títol de bloc de notes d'actualització: etiqueta, no paràgraf en negreta. */
:root[data-theme] .config-page.ui-system-master .release-notes-title{
  font-size:var(--arch-fs-label)!important;
  font-weight:var(--arch-fw-label)!important;
  color:var(--arch-text-2)!important;
}

/* Capçalera: icona d'app i botons quadrats tornen a compartir mida exacta. */
:root{--arch-header-square:58px;}
:root[data-theme] .topbar .appicon,
:root[data-theme] .topbar .iconbtn{
  width:var(--arch-header-square)!important;
  height:var(--arch-header-square)!important;
  min-width:var(--arch-header-square)!important;
  min-height:var(--arch-header-square)!important;
  border-radius:16px!important;
  box-sizing:border-box!important;
}
:root[data-theme] .topbar .iconbtn{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
}

/* Mapa: més amplada útil a l'acció llarga i centratge inequívoc. */
:root[data-theme] .config-modal .map-panel{
  --map-main-action-width:min(63%,390px)!important;
}
:root[data-theme] .config-modal .map-toolbar button,
:root[data-theme] .config-modal .map-selection button{
  padding-inline:12px!important;
}
:root[data-theme] .config-modal .map-toolbar #mapStatus{
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-regular)!important;
  color:var(--arch-text-2)!important;
}

/* Desplegable avançat: quan és obert, la part inferior arrodonida és blanca
   com el contingut i no queda cap falca del gris del títol. */
:root[data-theme] .config-page.ui-system-master details.advanced-sensors{
  overflow:hidden!important;
  background:var(--arch-control)!important;
  border:1px solid var(--arch-border)!important;
  padding:0!important;
}
:root[data-theme] .config-page.ui-system-master details.advanced-sensors[open]{
  background:var(--arch-readout)!important;
}
:root[data-theme] .config-page.ui-system-master details.advanced-sensors[open] summary{
  border-radius:calc(var(--arch-radius-control) - 1px) calc(var(--arch-radius-control) - 1px) 0 0!important;
  border:0!important;
  border-bottom:1px solid var(--arch-divider)!important;
}
:root[data-theme] .config-page.ui-system-master details.advanced-sensors .inner{
  margin:0!important;
  padding:var(--arch-s3)!important;
  background:var(--arch-readout)!important;
  border-radius:0 0 calc(var(--arch-radius-control) - 1px) calc(var(--arch-radius-control) - 1px)!important;
}

/* Valors de versió i dades: un pas per sobre de l'etiqueta, sense exagerar. */
:root[data-theme] .config-page.ui-system-master .version-row strong{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-control)!important;
  font-weight:var(--arch-fw-strong)!important;
}

@media(max-width:520px){
  :root{--arch-header-square:48px;}
}


/* ========================================================================
   19. V0.12.086 — CONFIGURACIÓ COM A PATRÓ MESTRE VALIDABLE
   Correccions de Configuració que defineixen rols reutilitzables a tota l'app.
   No es modifica la família tipogràfica: continua essent system-ui amb fallbacks.
   ======================================================================== */

/* Estat de càrrega/validació: mateix nivell d'etiqueta a tota Configuració. */
:root[data-theme] .config-page.ui-system-master .chip-status{
  margin:7px 0 0!important;
  font-size:var(--arch-fs-label)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1.28!important;
}

/* Notes d'actualització: lectura real de cos, no metadada petita. */
:root[data-theme] .config-page.ui-system-master .release-notes,
:root[data-theme] .config-page.ui-system-master .release-notes li{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-body)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:1.48!important;
}
:root[data-theme] .config-page.ui-system-master .release-notes-title{
  font-size:var(--arch-fs-label)!important;
  font-weight:var(--arch-fw-label)!important;
  color:var(--arch-text-2)!important;
}

/* Patró editorial: paraula/etiqueta clau destacada amb pes, però sense pujar
   al negre dels títols i dades principals. */
:root[data-theme] .editorial-key{
  color:var(--arch-text-2)!important;
  font-weight:var(--arch-fw-label)!important;
}

/* Peu de Configuració: metadada llegible; copyright un nivell per sobre. */
:root[data-theme] .config-page.ui-system-master>.config-footer{
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:1.44!important;
}
:root[data-theme] .config-page.ui-system-master>.config-footer strong.config-copyright{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-control)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.25!important;
}
:root[data-theme] .config-page.ui-system-master>.config-footer .config-footer-label{
  color:var(--arch-text-2)!important;
  font-weight:var(--arch-fw-label)!important;
}

/* ------------------------------------------------------------------------
   MAPA SENSOR.COMMUNITY
   Mateixa amplada per a les dues accions. A dalt creix des de l'esquerra;
   a baix creix des de la dreta. Les dues vores coincideixen amb el mapa.
   ------------------------------------------------------------------------ */
:root[data-theme] .config-modal .map-panel{
  --map-main-action-width:min(63%,390px)!important;
}
:root[data-theme] .config-modal .map-toolbar{
  display:grid!important;
  grid-template-columns:var(--map-main-action-width) minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  width:100%!important;
}
:root[data-theme] .config-modal .map-toolbar button{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  justify-self:stretch!important;
  white-space:nowrap!important;
}
:root[data-theme] .config-modal .map-toolbar #mapStatus{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:1.22!important;
  color:var(--arch-text-2)!important;
}
:root[data-theme] .config-modal .map-selection{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) var(--map-main-action-width)!important;
  gap:12px!important;
  align-items:center!important;
  width:100%!important;
}
:root[data-theme] .config-modal .map-selection>.map-selection-info{
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
  align-content:center!important;
}
:root[data-theme] .config-modal .map-selection>.map-selection-info>strong{
  display:block!important;
  min-width:0!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-control)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.18!important;
  white-space:nowrap!important;
}
:root[data-theme] .config-modal .map-selection>.map-selection-info>.sensor-line{
  display:block!important;
  min-width:0!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
:root[data-theme] .config-modal .map-selection button{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  justify-self:stretch!important;
  white-space:nowrap!important;
}

/* Títols de qualsevol modal de Configuració: mateix rol verd que la resta
   de menús/contextuals. */
:root[data-theme] .config-modal .modal-head>strong,
:root[data-theme] .config-modal .modal-head>div>strong{
  color:var(--arch-accent)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.2!important;
}
:root[data-theme] .config-modal .modal-head span{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:1.3!important;
}

/* ------------------------------------------------------------------------
   MODAL «CREAR UNA ICONA COM SI FOS UNA APP»
   Adopta la mateixa jerarquia i ritme que Configuració i la resta de modals.
   ------------------------------------------------------------------------ */
:root[data-theme] .config-modal .install-instructions{
  text-align:left!important;
}
:root[data-theme] .config-modal .install-instructions>img{
  display:block!important;
  margin:4px auto 12px!important;
}
:root[data-theme] .config-modal .install-instructions>h2{
  margin:0 0 12px!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.2!important;
  text-align:left!important;
}
:root[data-theme] .config-modal .install-steps{
  gap:8px!important;
  margin:12px 0!important;
}
:root[data-theme] .config-modal .install-step{
  height:var(--arch-control-h)!important;
  min-height:var(--arch-control-h)!important;
  padding:0 14px!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  background:var(--arch-panel-soft)!important;
  border-color:var(--arch-divider)!important;
}
:root[data-theme] .config-modal .install-step>span{
  width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:var(--arch-selected)!important;
  border:1px solid var(--arch-primary-border)!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-label)!important;
  font-weight:var(--arch-fw-strong)!important;
}
:root[data-theme] .config-modal .install-step>strong{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-body)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1.2!important;
}
:root[data-theme] .config-modal .install-note{
  margin:12px 0 0!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-body)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:1.42!important;
  text-align:left!important;
}

/* ------------------------------------------------------------------------
   BARRA INFERIOR
   «Ara» havia heretat un desplaçament històric específic; s'anul·la perquè
   icona i etiqueta comparteixin els mateixos eixos de la resta.
   ------------------------------------------------------------------------ */
.bottomnav .navbtn.nav-now .navicon{
  transform:translateY(0)!important;
}
.bottomnav .navbtn.nav-now .navlabel{
  transform:translateY(0)!important;
}


/* ========================================================================
   20. V0.12.087 — ESCALA JERÀRQUICA TANCADA I GLOBAL
   La v0.12.086 havia fet créixer alguns textos de lectura fins a competir amb
   etiquetes i controls. Es corregeix el sistema per ROL, no per pantalla.

   Ordre canònic al mòbil:
   pantalla 29 > secció 22 > element 18 > control 17 > etiqueta 16,5
   > lectura/metadada 15,5. Les dades dels camps són 18,5 com a excepció
   funcional perquè són informació carregada, no un nivell editorial.
   ======================================================================== */

/* NIVELL 3 — etiquetes/subtítols interns: mateix rol a tota l'app. */
:root[data-theme] .config-page.ui-system-master .field label,
:root[data-theme] .config-page.ui-system-master .version-row span,
:root[data-theme] .config-page.ui-system-master .release-notes-title,
:root[data-theme] .forecast-v012005.ui-system-master .v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v4-pollen label,
:root[data-theme] .forecast-v012005.ui-system-master .v4-celestial-times b,
:root[data-theme] .charts-v012005.ui-system-master .v3-datebox label,
:root[data-theme] .charts-v012005.ui-system-master .v4-stats>div>span:first-child{
  font-size:var(--arch-fs-label)!important;
  font-weight:var(--arch-fw-label)!important;
  color:var(--arch-text-2)!important;
  line-height:1.25!important;
}

/* NIVELL 4 — lectura i metadada: sempre per sota d'etiquetes i controls. */
:root[data-theme] .config-page.ui-system-master .field-help,
:root[data-theme] .config-page.ui-system-master .field-note,
:root[data-theme] .config-page.ui-system-master .release-notes,
:root[data-theme] .config-page.ui-system-master .release-notes li,
:root[data-theme] .config-page.ui-system-master .saved-copy span,
:root[data-theme] .config-page.ui-system-master .install-preview span,
:root[data-theme] .config-page.ui-system-master>.config-footer,
:root[data-theme] .forecast-v012005.ui-system-master .v4-card>footer,
:root[data-theme] .forecast-v012005.ui-system-master .v4-celestial>footer,
:root[data-theme] .forecast-v012005.ui-system-master .v4-astro-source,
:root[data-theme] .forecast-v012005.ui-system-master .v4-location small,
:root[data-theme] .charts-v012005.ui-system-master .v4-chart-card>footer,
:root[data-theme] .charts-v012005.ui-system-master .v3-noise-empty>footer,
:root[data-theme] .charts-v012005.ui-system-master .v4-chart-meta,
:root[data-theme] .charts-v012005.ui-system-master .v4-multi-legend,
:root[data-theme] .help-v012003 .v3-help-intro,
:root[data-theme] .help-v012003 .help-search p,
:root[data-theme] .forecast-help-source,
:root[data-theme] .source-note,
:root[data-theme] .detail-meta,
:root[data-theme] .install-note{
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-regular)!important;
  color:var(--arch-text-2)!important;
  line-height:var(--arch-lh-meta)!important;
}

/* Cos editorial de lectura: la mateixa mida de nivell 4 i pes regular. */
:root[data-theme] .help-v012003 .help-section-body>p,
:root[data-theme] .help-v012003 .help-section-body li,
:root[data-theme] .forecast-help-body p,
:root[data-theme] .environment-reading p,
:root[data-theme] .install-instructions p{
  font-size:var(--arch-fs-body)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:var(--arch-lh-body)!important;
}

/* Controls: un nivell per sobre d'etiquetes. */
:root[data-theme] .config-page.ui-system-master .save-station-top,
:root[data-theme] .config-page.ui-system-master .share-main,
:root[data-theme] .config-page.ui-system-master .mini-button,
:root[data-theme] .config-page.ui-system-master .config-secondary,
:root[data-theme] .config-page.ui-system-master .input-action button,
:root[data-theme] .config-page.ui-system-master .saved-actions button,
:root[data-theme] .config-page.ui-system-master .language-buttons button,
:root[data-theme] .config-page.ui-system-master .theme-buttons button,
:root[data-theme] .config-page.ui-system-master .advanced-sensors summary,
:root[data-theme] .charts-v012005.ui-system-master .v3-period-panel .period,
:root[data-theme] .charts-v012005.ui-system-master .v3-datebox .btn,
:root[data-theme] .btn,
:root[data-theme] .v3-expand{
  font-size:var(--arch-fs-control)!important;
  font-weight:var(--arch-fw-label)!important;
}

/* Dades carregades: rol propi, més visibles que l'etiqueta que les descriu. */
:root[data-theme] .config-page.ui-system-master .field input,
:root[data-theme] .config-page.ui-system-master .field select,
:root[data-theme] .charts-v012005.ui-system-master .v3-datebox input{
  font-size:var(--arch-fs-data)!important;
  font-weight:var(--arch-fw-data)!important;
  text-align:center!important;
}

/* Missatges d'estat: etiqueta semàntica, no títol ni cos gran. */
:root[data-theme] .config-page.ui-system-master .chip-status{
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1.25!important;
}

/* Copyright per sobre del nivell de metadades, però per sota d'un títol d'element. */
:root[data-theme] .config-page.ui-system-master>.config-footer strong.config-copyright{
  font-size:var(--arch-fs-control)!important;
  font-weight:var(--arch-fw-strong)!important;
}

/* CAMP SENSOR.COMMUNITY: conserva el component i els marges; el valor llarg
   pot ajustar òpticament la mida mitjançant JS sense retallar-se. */
:root[data-theme] .config-page.ui-system-master #cfgSC{
  min-width:0!important;
  width:100%!important;
  padding-inline:12px!important;
  white-space:nowrap!important;
}

/* MAPA SENSOR.COMMUNITY: geometria validada i tipografia connectada als rols
   mestres. Mateixa funció = mateixa mida també dins del modal. */
:root[data-theme] .config-modal .map-panel .modal-head strong{
  font-size:var(--arch-fs-item)!important;
}
:root[data-theme] .config-modal .map-panel .modal-head span,
:root[data-theme] .config-modal .map-panel .map-toolbar #mapStatus,
:root[data-theme] .config-modal .map-panel .map-selection .sensor-line{
  font-size:var(--arch-fs-meta)!important;
}
:root[data-theme] .config-modal .map-panel .map-toolbar button,
:root[data-theme] .config-modal .map-panel .map-selection button,
:root[data-theme] .config-modal .map-panel .map-selection-info>strong{
  font-size:var(--arch-fs-control)!important;
}


/* ========================================================================
   21. V0.12.088 — TANCAMENT DE CONFIGURACIÓ
   Auditoria final sobre v0.12.087. No es redissenya cap component: s'eliminen
   les últimes excepcions que contradeien els rols mestres.
   ======================================================================== */

/* Estat positiu petit: manté la família cromàtica verda però amb contrast
   suficient per a text funcional de mida reduïda. */
:root[data-theme] .config-page.ui-system-master .chip-status.ok{
  color:var(--arch-success-small)!important;
}

/* Leaflet/OpenStreetMap és una excepció tècnica/legal; només se n'eleva
   lleugerament la llegibilitat sense tocar el contingut ni la geometria. */
:root[data-theme] .config-modal .map-panel .leaflet-control-attribution{
  font-size:12px!important;
  line-height:1.2!important;
}

/* ========================================================================
   22. V0.12.089 — MICROJERARQUIA DE CONFIGURACIÓ I BARRA INFERIOR
   Base exacta: v0.12.088. Només s'apliquen els ajustos aprovats a l'auditoria
   visual de Configuració; la resta de l'arquitectura i la lògica es preserven.
   ======================================================================== */

/* Etiquetes de camp i capçaleres de dades: +0,5 px per separar-les del text
   explicatiu sense alterar-ne el color ni el pes. */
:root[data-theme] .config-page.ui-system-master .field label,
:root[data-theme] .config-page.ui-system-master .version-row span,
:root[data-theme] .config-page.ui-system-master .release-notes-title{
  font-size:var(--arch-fs-config-label)!important;
}

/* Controls de Configuració: +1 px. L'alçada creix 2 px perquè el text nou
   mantingui el mateix centrat vertical i el mateix aire interior. */
:root[data-theme] .config-page.ui-system-master .save-station-top,
:root[data-theme] .config-page.ui-system-master .share-main,
:root[data-theme] .config-page.ui-system-master .mini-button,
:root[data-theme] .config-page.ui-system-master .config-secondary,
:root[data-theme] .config-page.ui-system-master .input-action button,
:root[data-theme] .config-page.ui-system-master .saved-actions button,
:root[data-theme] .config-page.ui-system-master .language-buttons button,
:root[data-theme] .config-page.ui-system-master .theme-buttons button,
:root[data-theme] .config-page.ui-system-master .advanced-sensors summary,
:root[data-theme] .config-modal .map-toolbar button,
:root[data-theme] .config-modal .map-selection button{
  font-size:var(--arch-fs-config-control)!important;
  min-height:var(--arch-config-action-h)!important;
  height:var(--arch-config-action-h)!important;
}

/* Les tres opcions del modal d'instal·lació són accions/passos, no text
   explicatiu: pugen al mateix nivell de control. */
:root[data-theme] .config-modal .install-step{
  min-height:var(--arch-config-action-h)!important;
  height:var(--arch-config-action-h)!important;
}
:root[data-theme] .config-modal .install-step>strong{
  font-size:var(--arch-fs-config-control)!important;
  line-height:1.18!important;
}

/* Títols dels modals: mateixa jerarquia visual que un títol de quadre/secció
   (p. ex. «Estació actual»), tal com es va acordar a l'auditoria. */
:root[data-theme] .config-modal .modal-head>strong,
:root[data-theme] .config-modal .modal-head>div>strong,
:root[data-theme] .config-modal .map-panel .modal-head strong{
  font-size:var(--arch-fs-section)!important;
  line-height:var(--arch-lh-title)!important;
}

/* Dades de versió: mateix tractament tipogràfic que les dades variables dels
   camps blancs, no el d'un botó. */
:root[data-theme] .config-page.ui-system-master .version-row strong{
  font-size:var(--arch-fs-data)!important;
  font-weight:var(--arch-fw-data)!important;
}

/* Peu: «Dades:» conserva exactament família, mida i color de la resta de la
   línia; l'única diferència és la negreta. */
:root[data-theme] .config-page.ui-system-master>.config-footer .editorial-key{
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  color:inherit!important;
  font-weight:var(--arch-fw-strong)!important;
}

/* Botó amb icona: el conjunt icona + text continua centrat amb la mida nova. */
:root[data-theme] .config-page.ui-system-master .install-button-with-icon{
  min-height:var(--arch-config-action-h)!important;
  height:var(--arch-config-action-h)!important;
  padding-inline:14px!important;
}
:root[data-theme] .config-page.ui-system-master .install-button-with-icon span{
  font-size:var(--arch-fs-config-control)!important;
  line-height:1.15!important;
}

/* Barra inferior: les etiquetes queden intactes. Ajust exclusivament òptic
   de les dues icones detectades a l'auditoria. */
.bottomnav .navbtn.nav-now .navicon{
  transform:translateY(-7px)!important;
}
.bottomnav .navbtn.nav-now .signal-icon{
  width:32px!important;
  height:32px!important;
}
.bottomnav .navbtn.nav-forecast .weather-emoji{
  font-size:25px!important;
}

/* ========================================================================
   23. v0.12.097 — EQUIVALÈNCIES DES DE CONFIGURACIÓ VALIDADA
   Els valors de referència són els de Configuració a la v0.12.096.
   Àmbit: Gràfiques, Previsió, estat compartit i el missatge d'estacions buit.
   Ni la navegació inferior ni la capçalera comuna ni les targetes d'Ara
   formen part d'aquesta intervenció.
   ======================================================================== */

/* Consumeixen els mateixos valors que els controls i les etiquetes de
   Configuració; els valors legacy de l'Ajuda i dels altres modals no canvien. */
:root[data-theme] .charts-v012005.ui-system-master,
:root[data-theme] .forecast-v012005.ui-system-master{
  --arch-fs-control:var(--arch-fs-config-control);
  --arch-fs-label:var(--arch-fs-config-label);
}

/* NIVELL 2: títols de quadre i subtítol de pantalla.
   «Meteorologia de l'estació» ja consumia el mateix rol de Configuració. */
:root[data-theme] .charts-v012005.ui-system-master .v19-screen-heading p,
:root[data-theme] .forecast-v012005.ui-system-master .v19-screen-heading p,
:root[data-theme] .charts-v012005.ui-system-master .v4-chart-title h2,
:root[data-theme] .charts-v012005.ui-system-master .v3-chart-title h2,
:root[data-theme] .forecast-v012005.ui-system-master .v4-celestial>h3,
:root[data-theme] .forecast-v012005.ui-system-master .v46-phase-title{
  font-size:var(--arch-fs-section)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:var(--arch-lh-title)!important;
  color:var(--arch-accent)!important;
  letter-spacing:-.01em!important;
}

/* NIVELL 3: subtítols interiors; no s'han de confondre amb la capçalera
   verda d'un quadre. No es toca la semàntica dels estats de qualitat. */
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid>h3,
:root[data-theme] .forecast-v012005.ui-system-master .v64-forecast-details>h3,
:root[data-theme] .forecast-v012005.ui-system-master .v4-air>h3,
:root[data-theme] .forecast-v012005.ui-system-master .v67-compare-row>h3{
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.22!important;
  color:var(--arch-text)!important;
  letter-spacing:0!important;
}

/* NOM DE L'ESTACIÓ: dada variable; el nom del proveïdor, en canvi, continua
   essent una metadada. Només la classe notranslate identifica l'estació. */
:root[data-theme] .charts-v012005.ui-system-master>.ui-source-group>span.notranslate{
  font-size:var(--arch-fs-data)!important;
  font-weight:var(--arch-fw-data)!important;
  line-height:1.22!important;
  color:var(--arch-text)!important;
}

/* ETIQUETES: el selector només apunta a l'etiqueta, mai als spans de dades. */
:root[data-theme] .charts-v012005.ui-system-master .v4-stats>div>span:first-child,
:root[data-theme] .charts-v012005.ui-system-master .v3-datebox label,
:root[data-theme] .forecast-v012005.ui-system-master .v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v47-temperature-extremes .v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-summary .v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v64-detail-fields .v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v67-compare-fields>.v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v4-pollen label,
:root[data-theme] .forecast-v012005.ui-system-master .v4-celestial-times>span>b,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row>span:first-child,
:root[data-theme] .forecast-v012005.ui-system-master .v4-daily-list>header,
:root[data-theme] .forecast-v012005.ui-system-master .v4-hour-grid time,
:root[data-theme] .forecast-v012005.ui-system-master .v4-day-name strong,
:root[data-theme] .forecast-v012005.ui-system-master .v4-day-temps>span>small{
  font-size:var(--arch-fs-label)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1.25!important;
  color:var(--arch-text-2)!important;
}

/* CONTROLS: número del període i text «Període» són una acció, no una dada.
   Les unitats h/d/m/any conserven el 70% i la línia base comuna. */
:root[data-theme] .charts-v012005.ui-system-master .v3-period-panel .period,
:root[data-theme] .charts-v012005.ui-system-master .v3-period-panel .period[data-period="range"],
:root[data-theme] .charts-v012005.ui-system-master .v3-period-panel .v54-period-value,
:root[data-theme] .charts-v012005.ui-system-master .v3-datebox .btn,
:root[data-theme] .forecast-v012005.ui-system-master .v4-daily-list>.v3-expand,
:root[data-theme] .forecast-v012005.ui-system-master .v4-compare>.v3-expand{
  font-size:var(--arch-fs-control)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1.15!important;
  color:var(--arch-text)!important;
}
:root[data-theme] .charts-v012005.ui-system-master .v3-period-panel .period,
:root[data-theme] .charts-v012005.ui-system-master .v3-datebox .btn,
:root[data-theme] .forecast-v012005.ui-system-master .v4-daily-list>.v3-expand,
:root[data-theme] .forecast-v012005.ui-system-master .v4-compare>.v3-expand{
  min-height:var(--arch-config-action-h)!important;
  height:var(--arch-config-action-h)!important;
}
:root[data-theme] .charts-v012005.ui-system-master .v3-period-panel .period.active,
:root[data-theme] .charts-v012005.ui-system-master .v3-period-panel .period.active .v54-period-value{
  font-weight:var(--arch-fw-strong)!important;
}
:root[data-theme] .charts-v012005.ui-system-master .v3-period-panel .v54-period-value>b{
  font-size:1em!important;
  font-weight:inherit!important;
}

/* DADES: el tipus s'aplica també al span interior que abans retenia 16,5 px.
   No es modifica la mida destacada del valor principal de la previsió fora
   de les caselles; aquesta regla cobreix camps i dades de les taules. */
:root[data-theme] .charts-v012005.ui-system-master .v4-stats .v4-measure,
:root[data-theme] .charts-v012005.ui-system-master .v4-stats .v4-measure-line,
:root[data-theme] .forecast-v012005.ui-system-master .v4-value-box .v4-measure,
:root[data-theme] .forecast-v012005.ui-system-master .v4-value-box .v4-measure-line,
:root[data-theme] .forecast-v012005.ui-system-master .v4-pollen .v4-measure,
:root[data-theme] .forecast-v012005.ui-system-master .v4-pollen .v4-measure-line,
:root[data-theme] .forecast-v012005.ui-system-master .v69-compare-value,
:root[data-theme] .forecast-v012005.ui-system-master .v4-hour-grid article>.v4-measure,
:root[data-theme] .forecast-v012005.ui-system-master .v4-hour-rain .v4-measure,
:root[data-theme] .forecast-v012005.ui-system-master .v4-hour-hum .v4-measure,
:root[data-theme] .forecast-v012005.ui-system-master .v4-hourly .v4-measure-line,
:root[data-theme] .forecast-v012005.ui-system-master .v4-day-temps .v4-measure,
:root[data-theme] .forecast-v012005.ui-system-master .v4-day-rain .v4-measure,
:root[data-theme] .forecast-v012005.ui-system-master .v4-daily-list .v4-measure-line,
:root[data-theme] .forecast-v012005.ui-system-master .v4-aqi>div:first-child .v4-measure,
:root[data-theme] .forecast-v012005.ui-system-master .v4-aqi .v4-measure-line,
:root[data-theme] .forecast-v012005.ui-system-master .v4-celestial-times .v4-time-line,
:root[data-theme] .forecast-v012005.ui-system-master .v4-phase-line,
:root[data-theme] .forecast-v012005.ui-system-master .v4-secondary-data,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row>.v4-measure{
  font-size:var(--arch-fs-data)!important;
  font-weight:var(--arch-fw-data)!important;
  line-height:1!important;
  color:var(--arch-text)!important;
}
:root[data-theme] .charts-v012005.ui-system-master .v4-stats .v4-measure-line>b,
:root[data-theme] .forecast-v012005.ui-system-master .v4-measure-line>b,
:root[data-theme] .forecast-v012005.ui-system-master .v69-compare-value>b,
:root[data-theme] .forecast-v012005.ui-system-master .v4-secondary-data>b,
:root[data-theme] .forecast-v012005.ui-system-master .v4-time-value{
  font-size:1em!important;
  font-weight:inherit!important;
  line-height:1!important;
  color:inherit!important;
}

/* UNITAT: 70% del valor, no 70% d'una etiqueta ni d'un avantpassat diferent. */
:root[data-theme] .charts-v012005.ui-system-master .v4-stats .v4-measure-line>small,
:root[data-theme] .charts-v012005.ui-system-master .v3-period-panel .v54-period-value>small,
:root[data-theme] .forecast-v012005.ui-system-master .v4-measure-line>small,
:root[data-theme] .forecast-v012005.ui-system-master .v69-compare-value>small,
:root[data-theme] .forecast-v012005.ui-system-master .v4-secondary-data>i,
:root[data-theme] .forecast-v012005.ui-system-master .v4-celestial-times .v4-unit,
:root[data-theme] .forecast-v012005.ui-system-master .v4-hour-grid time small{
  font-size:.7em!important;
  font-weight:inherit!important;
  line-height:1!important;
  color:inherit!important;
  align-self:baseline!important;
  transform:none!important;
}


/* La taula de dies reserva amplada a la nova mida de dades (sense reduir-la).
   La columna meteorològica també reserva lloc per al rètol traduït.
   Mateixes quatre columnes i mateix ordre. A amplades insuficients, el
   desplaçament queda dins d'aquest quadre, no eixampla tota la pàgina. */
:root[data-theme] .forecast-v012005.ui-system-master .v4-daily-list{
  overflow-x:auto!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v4-daily-list>header,
:root[data-theme] .forecast-v012005.ui-system-master .v4-day-row{
  grid-template-columns:minmax(96px,1fr) 72px 100px 96px!important;
  column-gap:4px!important;
  min-width:388px!important;
  box-sizing:border-box!important;
  padding-inline:6px!important;
}

/* El camp de fase conté dues línies reals. L'alçada mínima de camp es
   conserva, però no es força un sostre que faci travessar el text la vora. */
:root[data-theme] .forecast-v012005.ui-system-master .v4-phase-line{
  height:auto!important;
  min-height:var(--arch-control-h)!important;
}

/* ACLARIMENTS: mateixa lectura regular que les notes de Configuració. */
:root[data-theme] .config-page.ui-system-master .saved-empty,
:root[data-theme] .charts-v012005.ui-system-master .v5-period-notes p,
:root[data-theme] .charts-v012005.ui-system-master .v3-noise-empty>p,
:root[data-theme] .charts-v012005.ui-system-master .v4-stat-empty,
:root[data-theme] .charts-v012005.ui-system-master .v3-range-error,
:root[data-theme] .forecast-v012005.ui-system-master .v4-compare>p,
:root[data-theme] .forecast-v012005.ui-system-master .v46-loading-card>p,
:root[data-theme] .forecast-v012005.ui-system-master .v4-day-name small{
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-regular)!important;
  color:var(--arch-text-2)!important;
  line-height:var(--arch-lh-meta)!important;
}
:root[data-theme] .charts-v012005.ui-system-master .v5-period-notes p,
:root[data-theme] .forecast-v012005.ui-system-master .v4-compare>p{
  line-height:var(--arch-lh-body)!important;
}
:root[data-theme] .charts-v012005.ui-system-master footer strong,
:root[data-theme] .forecast-v012005.ui-system-master footer strong,
:root[data-theme] .forecast-v012005.ui-system-master footer .v66-footer-block strong,
:root[data-theme] .forecast-v012005.ui-system-master footer .v31-model-point strong,
:root[data-theme] .forecast-v012005.ui-system-master .v4-celestial>footer strong,
:root[data-theme] .forecast-v012005.ui-system-master .v4-phase>footer strong{
  font-size:inherit!important;
  color:inherit!important;
  font-weight:var(--arch-fw-strong)!important;
}
:root[data-theme] .forecast-v012005.ui-system-master footer .v66-footer-block,
:root[data-theme] .forecast-v012005.ui-system-master footer .v66-footer-detail,
:root[data-theme] .forecast-v012005.ui-system-master footer .v31-model-point{
  font-weight:var(--arch-fw-regular)!important;
  line-height:var(--arch-lh-meta)!important;
}

/* Missatge buit del gràfic: text explicatiu, no una dada ni un títol. */
:root[data-theme] .charts-v012005.ui-system-master .v4-chart-svg .v4-empty{
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-regular)!important;
  fill:var(--arch-text-2)!important;
}

/* EIXOS: les unitats Y/X reals tenien classes diferents d'axis-unit.
   Només color: no es toquen escales, graduacions, traços ni les seves mides. */
:root[data-theme] .charts-v012005.ui-system-master .v4-chart-svg .v4-yunit,
:root[data-theme] .charts-v012005.ui-system-master .v4-chart-svg .v4-xunit{
  fill:var(--arch-text-2)!important;
  color:var(--arch-text-2)!important;
}

/* ESTAT COMPARTIT: mateixa tipografia a Ara, Gràfiques i Previsió.
   Mantenim diferenciats el títol d'estat, la data i l'explicació. */
:root[data-theme] :is(.now-page .connection-card,.charts-v012005.ui-system-master>.history-status-card,.forecast-v012005.ui-system-master>.v5-forecast-status) .connection-state{
  font-size:var(--arch-fs-config-label)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.25!important;
}
:root[data-theme] :is(.now-page .connection-card,.charts-v012005.ui-system-master>.history-status-card,.forecast-v012005.ui-system-master>.v5-forecast-status) .connection-state>span:not(.state-dot){
  font-size:inherit!important;
  font-weight:inherit!important;
  color:inherit!important;
}
:root[data-theme] :is(.now-page .connection-card,.charts-v012005.ui-system-master>.history-status-card,.forecast-v012005.ui-system-master>.v5-forecast-status) :is(.connection-label,.connection-stamp strong,.connection-hint-line){
  font-size:var(--arch-fs-meta)!important;
  line-height:var(--arch-lh-meta)!important;
}
:root[data-theme] :is(.now-page .connection-card,.charts-v012005.ui-system-master>.history-status-card,.forecast-v012005.ui-system-master>.v5-forecast-status) .connection-label{
  color:var(--arch-text-2)!important;
  font-weight:var(--arch-fw-label)!important;
}
:root[data-theme] :is(.now-page .connection-card,.charts-v012005.ui-system-master>.history-status-card,.forecast-v012005.ui-system-master>.v5-forecast-status) .connection-stamp strong{
  color:var(--arch-text)!important;
  font-weight:var(--arch-fw-strong)!important;
}
:root[data-theme] :is(.now-page .connection-card,.charts-v012005.ui-system-master>.history-status-card,.forecast-v012005.ui-system-master>.v5-forecast-status) .connection-hint-line{
  color:var(--arch-text-2)!important;
  font-weight:var(--arch-fw-regular)!important;
}
:root[data-theme] :is(.now-page .connection-card,.charts-v012005.ui-system-master>.history-status-card,.forecast-v012005.ui-system-master>.v5-forecast-status) .connection-stamp{
  flex-wrap:wrap!important;
  row-gap:0!important;
}
:root[data-theme] :is(.now-page .connection-card:not(.warn):not(.error),.charts-v012005.ui-system-master>.history-status-card.ok,.forecast-v012005.ui-system-master>.v5-forecast-status.ok) .connection-state{
  color:var(--arch-accent)!important;
}


/* ===== ui-architecture-v013001.css (ordered source) ===== */
/* MeteoSensor Local v0.13.001 — ajustos quirúrgics de Previsió.
   Base exacta v0.12.098. No redefineix l'arquitectura global ni les icones. */

/* Més aire real sobre la barra inferior fixa, especialment al final dels 15 dies. */
:root[data-theme] .forecast-v012005.ui-system-master{
  padding-bottom:calc(var(--app-bar-height) + 32px + env(safe-area-inset-bottom))!important;
}

/* Jerarquia: etiquetes secundàries menys pesades; mides, dades i títols no canvien. */
:root[data-theme] .forecast-v012005.ui-system-master .v47-temperature-extremes .v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v64-detail-fields .v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v67-compare-fields>.v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v4-pollen label,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row>span:first-child,
:root[data-theme] .forecast-v012005.ui-system-master .v4-day-temps>span>small{
  font-weight:500!important;
}

/* Les columnes i files guanyen affordance de segon nivell sense canviar geometria. */
:root[data-theme] .forecast-v012005.ui-system-master .v13001-hour-hit,
:root[data-theme] .forecast-v012005.ui-system-master .v13001-day-hit{
  cursor:pointer!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13001-hour-hit:focus-visible,
:root[data-theme] .forecast-v012005.ui-system-master .v13001-day-hit:focus-visible{
  outline:2px solid color-mix(in srgb,var(--arch-accent) 65%,transparent)!important;
  outline-offset:-2px!important;
}
@media(hover:hover){
  :root[data-theme] .forecast-v012005.ui-system-master .v13001-hour-hit:hover,
  :root[data-theme] .forecast-v012005.ui-system-master .v13001-day-hit:hover{
    background:color-mix(in srgb,var(--arch-accent) 5%,transparent)!important;
  }
}

/* La barra EU AQI continua tenint la mateixa escala/farciment; el punt marca el valor. */
:root[data-theme] .forecast-v012005.ui-system-master .v13001-aqi-track{
  position:relative!important;
  overflow:hidden!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13001-aqi-marker{
  position:absolute!important;
  top:50%!important;
  width:13px!important;
  height:13px!important;
  box-sizing:border-box!important;
  border:2px solid var(--arch-text)!important;
  border-radius:50%!important;
  background:var(--arch-panel)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--arch-panel) 70%,transparent)!important;
  transform:translate(-50%,-50%)!important;
  pointer-events:none!important;
}

/* Diferència sensor-model: informació de tercer nivell, sense competir amb els camps. */
:root[data-theme] .forecast-v012005.ui-system-master .v13001-compare-delta{
  margin-top:7px!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:var(--arch-lh-meta)!important;
  text-align:center!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13001-compare-delta strong{
  color:var(--arch-text)!important;
  font-size:inherit!important;
  font-weight:var(--arch-fw-label)!important;
}

/* Detalls d'hora i dia: mateixa modal i mateix vocabulari visual de l'app. */
.detail .v13001-title-symbol{
  display:inline-grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  font-size:34px!important;
  line-height:1!important;
}
.detail .v13001-detail-hero,
.detail .v13001-day-hero{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:10px 0 12px!important;
  padding:12px 14px!important;
  border:1px solid var(--arch-divider)!important;
  border-radius:var(--arch-radius-control)!important;
  background:var(--arch-panel-soft)!important;
}
.detail .v13001-detail-symbol{
  flex:0 0 auto!important;
  font-size:48px!important;
  line-height:1!important;
}
.detail .v13001-detail-hero>div,
.detail .v13001-day-hero>div{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
}
.detail .v13001-detail-hero strong,
.detail .v13001-day-hero strong{
  color:var(--arch-text)!important;
  font-size:26px!important;
  font-weight:var(--arch-fw-data)!important;
  line-height:1.05!important;
}
.detail .v13001-detail-hero strong small,
.detail .v13001-day-hero strong small,
.detail .v13001-detail-field strong small,
.detail .v13001-period-main strong small{
  font-size:.7em!important;
  font-weight:inherit!important;
}
.detail .v13001-detail-hero>div>span,
.detail .v13001-day-hero>div>span{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-body)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:1.3!important;
}
.detail .v13001-range-sep{margin:0 5px!important;color:var(--arch-text-2)!important;}
.detail .v13001-model-note{
  margin:0 2px 12px!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:var(--arch-lh-meta)!important;
}
.detail .v13001-detail-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.detail .v13001-detail-field{
  display:grid!important;
  gap:5px!important;
  min-width:0!important;
}
.detail .v13001-detail-field>span{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:500!important;
  line-height:1.22!important;
}
.detail .v13001-detail-field>strong{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  padding:9px 8px!important;
  border:1px solid var(--arch-border)!important;
  border-radius:var(--arch-radius-control)!important;
  background:var(--arch-control)!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-data)!important;
  font-weight:var(--arch-fw-data)!important;
  line-height:1.05!important;
  text-align:center!important;
}
.detail .v13001-detail-source{
  display:grid!important;
  gap:4px!important;
  margin-top:14px!important;
  padding-top:12px!important;
  border-top:1px solid var(--arch-divider)!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:var(--arch-lh-meta)!important;
}
.detail .v13001-detail-source strong{color:var(--arch-text)!important;font-weight:var(--arch-fw-strong)!important;}

.detail .v13001-day-summary{
  margin:0 0 12px!important;
  padding:10px 12px!important;
  border-left:3px solid var(--arch-accent)!important;
  background:var(--arch-panel-soft)!important;
}
.detail .v13001-day-summary>strong{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-label)!important;
  font-weight:var(--arch-fw-label)!important;
}
.detail .v13001-day-summary>p{
  margin:4px 0 0!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-body)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:var(--arch-lh-body)!important;
}
.detail .v13001-period-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin:0 0 12px!important;
}
.detail .v13001-period-card{
  min-width:0!important;
  padding:10px 8px!important;
  border:1px solid var(--arch-divider)!important;
  border-radius:var(--arch-radius-control)!important;
  background:var(--arch-panel-soft)!important;
  text-align:center!important;
}
.detail .v13001-period-card>h3{
  margin:0 0 7px!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-label)!important;
  font-weight:var(--arch-fw-label)!important;
}
.detail .v13001-period-main{
  display:grid!important;
  justify-items:center!important;
  gap:5px!important;
}
.detail .v13001-period-main>span{font-size:34px!important;line-height:1!important;}
.detail .v13001-period-main>div{display:grid!important;gap:3px!important;}
.detail .v13001-period-main strong{font-size:var(--arch-fs-data)!important;font-weight:var(--arch-fw-data)!important;}
.detail .v13001-period-main p{
  margin:0!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:1.2!important;
}
.detail .v13001-period-meta{
  display:grid!important;
  gap:3px!important;
  margin-top:8px!important;
  padding-top:7px!important;
  border-top:1px solid var(--arch-divider)!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:1.2!important;
}
.detail .v13001-day-metrics{margin-top:0!important;}

@media(max-width:430px){
  .detail .v13001-period-grid{grid-template-columns:1fr!important;}
  .detail .v13001-period-card{display:grid!important;grid-template-columns:72px 1fr!important;column-gap:8px!important;align-items:center!important;text-align:left!important;}
  .detail .v13001-period-card>h3{grid-column:1/-1!important;text-align:left!important;}
  .detail .v13001-period-main{grid-template-columns:44px 1fr!important;justify-items:start!important;text-align:left!important;}
  .detail .v13001-period-main>span{font-size:32px!important;}
  .detail .v13001-period-meta{margin:0!important;padding:0!important;border-top:0!important;text-align:right!important;}
}


/* ===== ui-architecture-v013002.css (ordered source) ===== */
/* MeteoSensor Local v0.13.002 — coherència de jerarquia i camps de dades.
   Base exacta: v0.13.001.
   Configuració continua essent la referència mestra: etiqueta 17/600,
   dada 19/700, camp 50 px i superfície de lectura del tema.
   No es canvien dades, fórmules, llindars, fonts ni estructura funcional. */

/* ========================================================================
   1. ETIQUETES DE DADA — PATRÓ ÚNIC DE CONFIGURACIÓ
   La v0.13.001 havia baixat alguns pesos a 500. Es recupera 600, sense
   canviar mida, contingut ni posició dels components.
   ======================================================================== */
:root[data-theme] .forecast-v012005.ui-system-master .v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v47-temperature-extremes .v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-summary .v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v64-detail-fields .v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v67-compare-fields>.v4-field>label,
:root[data-theme] .forecast-v012005.ui-system-master .v4-pollen label,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row>span:first-child,
:root[data-theme] .forecast-v012005.ui-system-master .v4-day-temps>span>small{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-config-label)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1.25!important;
}

/* ========================================================================
   2. SUBFINESTRES DE 48 H I 15 DIES — ETIQUETA + CAMP CANÒNICS
   ======================================================================== */
.detail .v13001-detail-field{
  gap:6px!important;
}
.detail .v13001-detail-field>span{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-config-label)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1.25!important;
}
.detail .v13001-detail-field>strong{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  width:100%!important;
  height:var(--arch-control-h)!important;
  min-height:var(--arch-control-h)!important;
  box-sizing:border-box!important;
  padding:0 10px!important;
  border:1px solid var(--arch-border)!important;
  border-radius:var(--arch-radius-control)!important;
  background:var(--arch-readout)!important;
  background-image:none!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-data)!important;
  font-weight:var(--arch-fw-data)!important;
  line-height:1!important;
  text-align:center!important;
  box-shadow:none!important;
}

/* La dada principal de l'hora/dia també és una lectura: mateix camp blanc
   que Configuració, sense conservar una segona escala de 26 px. */
.detail .v13001-detail-hero>div,
.detail .v13001-day-hero>div{
  flex:1 1 auto!important;
  min-width:0!important;
}
.detail .v13001-detail-hero>div>strong,
.detail .v13001-day-hero>div>strong{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  width:100%!important;
  height:var(--arch-control-h)!important;
  min-height:var(--arch-control-h)!important;
  box-sizing:border-box!important;
  padding:0 10px!important;
  border:1px solid var(--arch-border)!important;
  border-radius:var(--arch-radius-control)!important;
  background:var(--arch-readout)!important;
  background-image:none!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-data)!important;
  font-weight:var(--arch-fw-data)!important;
  line-height:1!important;
  text-align:center!important;
  box-shadow:none!important;
}

/* ========================================================================
   3. JERARQUIA INTERIOR — NIVELL 3 ÚNIC
   ======================================================================== */
.detail .v13001-day-summary>strong,
.detail .v13001-period-card>h3{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.22!important;
  letter-spacing:0!important;
}

/* Temperatura de Matí/Tarda/Nit: camp de dada, no text solt. */
.detail .v13001-period-main>div{
  width:100%!important;
  min-width:0!important;
}
.detail .v13001-period-main>div>strong{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  width:100%!important;
  height:var(--arch-control-h)!important;
  min-height:var(--arch-control-h)!important;
  box-sizing:border-box!important;
  padding:0 8px!important;
  border:1px solid var(--arch-border)!important;
  border-radius:var(--arch-radius-control)!important;
  background:var(--arch-readout)!important;
  background-image:none!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-data)!important;
  font-weight:var(--arch-fw-data)!important;
  line-height:1!important;
  text-align:center!important;
  box-shadow:none!important;
}

/* ========================================================================
   4. MENÚS CONTEXTUALS EXISTENTS — SUPERFÍCIE DE LECTURA
   No es canvia la mida destacada històrica; només s'evita una superfície
   diferent quan el valor funciona com una lectura dins d'un detall.
   ======================================================================== */
:root[data-theme] .detail .detail-current{
  border:1px solid var(--arch-border)!important;
  border-radius:var(--arch-radius-control)!important;
  background:var(--arch-readout)!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* ========================================================================
   5. PARAIGÜES — RECUPERACIÓ DE L'ESCALA ÒPTICA VALIDADA
   Només el paraigua creix. No es toquen gotes d'humitat ni icones de pol·len.
   La caixa vertical és de 19 px, igual que la dada; el glif és de 22 px per
   compensar la seva menor alçada visual.
   ======================================================================== */
:root[data-theme] .forecast-v012005.ui-system-master .v67-rain-value>.v47-rain-icon,
:root[data-theme] .forecast-v012005.ui-system-master .v4-hour-rain>.v5-rain-glyph,
:root[data-theme] .forecast-v012005.ui-system-master .v4-day-rain .v5-rain-glyph,
:root[data-theme] .detail .v13001-period-meta .v5-rain-glyph{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  inline-size:22px!important;
  width:22px!important;
  height:19px!important;
  box-sizing:border-box!important;
  color:var(--ui-weather-glyph,var(--arch-text-2))!important;
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",sans-serif!important;
  font-size:22px!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:19px!important;
  vertical-align:middle!important;
  transform:none!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v4-hour-rain,
:root[data-theme] .forecast-v012005.ui-system-master .v4-day-rain>span,
:root[data-theme] .detail .v13001-period-meta>span{
  align-items:center!important;
}
:root[data-theme] .detail .v13001-period-meta>span{
  display:flex!important;
  justify-content:center!important;
  gap:6px!important;
}


/* ===== ui-architecture-v013003.css (ordered source) ===== */
/* MeteoSensor Local v0.13.003 — consolidació formal abans de continuar Previsió.
   Base exacta: v0.13.002.
   Intervenció limitada a: condició i temperatura principal, alineació de
   Sensació, geometria de Comparació i ritme editorial uniforme d'Ajuda.
   Configuració continua essent la referència mestra dels components equivalents. */

/* ========================================================================
   1. CONDICIÓ METEOROLÒGICA — TITULAR PROPI, NO SUBTÍTOL GENÈRIC
   Mateixa escala visual que el títol de secció, però en negre. El text llarg
   conserva la mida i s'ajusta horitzontalment per JS dins de cada línia.
   ======================================================================== */
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid>h3{
  width:100%!important;
  min-width:0!important;
  margin:0 0 2px!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-section)!important;
  font-weight:900!important;
  line-height:1.08!important;
  letter-spacing:0!important;
  text-align:center!important;
  overflow:visible!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13003-condition-line{
  display:inline-block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  transform-origin:50% 50%!important;
}

/* El color semàntic de desviació pertany a la temperatura, no a l'estat del cel. */
:root[data-theme] .forecast-v012005.ui-system-master .v55-current-row>.v4-measure.v13003-temp-tone,
:root[data-theme] .forecast-v012005.ui-system-master .v55-current-row>.v4-measure.v13003-temp-tone *{
  color:var(--v13003-temp-tone)!important;
}

/* Sensació: etiqueta i valor comparteixen una línia base real. */
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row{
  align-items:baseline!important;
  line-height:1!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row>span:first-child,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row>.v4-measure,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row .v4-measure-line{
  align-self:baseline!important;
  line-height:1!important;
}

/* La targeta de comparació reutilitza també el padding de 12 px que la
   targeta «Qualitat de l’aire prevista» té validat dins de Previsió. */
:root[data-theme] .forecast-v012005.ui-system-master>.v4-compare{
  padding:var(--arch-s3)!important;
}

/* ========================================================================
   2. COMPARACIÓ SENSOR–MODEL — MATEIXA GEOMETRIA QUE LA RESTA DE TARGETES
   S'elimina la segona sagnia històrica: la targeta ja aporta els 16 px
   canònics. Títol, explicació, camps i peu comparteixen el mateix eix esquerre.
   ======================================================================== */
:root[data-theme] .forecast-v012005.ui-system-master>.v4-compare>.v46-card-title{
  margin:0 0 var(--arch-s4)!important;
  padding:0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master>.v4-compare>p{
  margin:0 0 var(--arch-s4)!important;
  padding:0!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-body)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:var(--arch-lh-body)!important;
  text-align:left!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-compare-rows{
  display:grid!important;
  gap:var(--arch-s4)!important;
  margin:0!important;
  padding:0 0 var(--arch-s4)!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-compare-row{
  margin:0!important;
  padding:0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-compare-row>h3{
  margin:0 0 var(--arch-s3)!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.22!important;
  text-align:left!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-compare-fields{
  gap:var(--arch-s3)!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-compare-fields>.v4-field{
  gap:6px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-compare-fields>.v4-field>label{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-config-label)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1.25!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-compare-fields>.v4-field>.v4-value-box{
  height:var(--arch-control-h)!important;
  min-height:var(--arch-control-h)!important;
  padding:0 10px!important;
  border:1px solid var(--arch-border)!important;
  border-radius:var(--arch-radius-control)!important;
  background:var(--arch-readout)!important;
  background-image:none!important;
  box-shadow:none!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-compare-fields .v69-compare-value{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-data)!important;
  font-weight:var(--arch-fw-data)!important;
  line-height:1!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13001-compare-delta{
  margin:var(--arch-s2) 0 0!important;
  padding:0!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:var(--arch-lh-meta)!important;
  text-align:left!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13001-compare-delta strong{
  color:var(--arch-text)!important;
  font-size:inherit!important;
  font-weight:var(--arch-fw-label)!important;
}
:root[data-theme] .forecast-v012005.ui-system-master>.v4-compare>footer{
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}

/* ========================================================================
   3. AJUDA CONTEXTUAL — RITME EDITORIAL ÚNIC
   Títol principal verd (detail-title); subtítols negres 19/700;
   8 px exactes entre subtítol i text, 16 px entre blocs.
   ======================================================================== */
:root[data-theme] .detail .forecast-help-body{
  display:block!important;
  margin-top:var(--arch-s3)!important;
}
:root[data-theme] .detail .forecast-help-body>h3{
  margin:var(--arch-s4) 0 var(--arch-s2)!important;
  padding:0!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.22!important;
  letter-spacing:0!important;
  text-align:left!important;
}
:root[data-theme] .detail .forecast-help-body>h3:first-child{
  margin-top:0!important;
}
:root[data-theme] .detail .forecast-help-body p,
:root[data-theme] .detail .environment-reading p{
  margin:0 0 var(--arch-s2)!important;
  padding:0!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-body)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:var(--arch-lh-body)!important;
  text-align:left!important;
}
:root[data-theme] .detail .environment-reading{
  display:block!important;
  margin:0!important;
  padding:0!important;
}
:root[data-theme] .detail .environment-topic-label{
  margin:var(--arch-s3) 0 var(--arch-s2)!important;
}
:root[data-theme] .detail .environment-topic-label strong{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-config-label)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1.25!important;
}
:root[data-theme] .detail .forecast-help-source{
  margin:var(--arch-s4) 0 0!important;
  padding:var(--arch-s3) 0 0!important;
  border-top:1px solid var(--arch-divider)!important;
}
:root[data-theme] .detail .forecast-help-source>strong{
  display:block!important;
  margin:0 0 var(--arch-s2)!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.22!important;
}
:root[data-theme] .detail .environment-source-links{
  display:grid!important;
  gap:var(--arch-s2)!important;
  margin:0 0 var(--arch-s3)!important;
}

/* Enllaç extern: exactament el mateix tractament a contextual i Ajuda. */
:root[data-theme] .detail .environment-source-links a,
:root[data-theme] .help-v012003 .help-links a,
:root[data-theme] .help-v012003 .environment-source-links a{
  color:var(--arch-link)!important;
  font-size:var(--arch-fs-meta)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:var(--arch-lh-meta)!important;
  text-decoration-line:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:2px!important;
}

/* Paraules clau: subratllat editorial comú, sense canviar mida ni color. */
:root[data-theme] .v13003-help-keyword{
  color:inherit!important;
  font:inherit!important;
  text-decoration-line:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:2px!important;
  text-decoration-skip-ink:auto!important;
}

/* ========================================================================
   4. AJUDA COMPLETA — MATEIX RITME QUE ELS CONTEXTUALS
   ======================================================================== */
:root[data-theme] .help-v012003 .help-section summary{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.22!important;
}
:root[data-theme] .help-v012003 .help-section[open]>summary{
  padding-bottom:var(--arch-s2)!important;
}
:root[data-theme] .help-v012003 .help-section-body{
  padding-top:0!important;
}
:root[data-theme] .help-v012003 .help-section-body>p,
:root[data-theme] .help-v012003 .environment-help-body p,
:root[data-theme] .help-v012003 .environment-reading p{
  margin:0 0 var(--arch-s3)!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-body)!important;
  font-weight:var(--arch-fw-regular)!important;
  line-height:var(--arch-lh-body)!important;
  text-align:left!important;
}
:root[data-theme] .help-v012003 .environment-guide-topic{
  margin:0!important;
  padding:0!important;
}
:root[data-theme] .help-v012003 .environment-guide-topic+.environment-guide-topic{
  margin-top:var(--arch-s4)!important;
}
:root[data-theme] .help-v012003 .environment-guide-title{
  margin:0 0 var(--arch-s3)!important;
}
:root[data-theme] .help-v012003 .forecast-help-body{
  display:block!important;
  margin:0!important;
}
:root[data-theme] .help-v012003 .forecast-help-body>h3{
  margin:var(--arch-s4) 0 var(--arch-s2)!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.22!important;
  text-align:left!important;
}
:root[data-theme] .help-v012003 .forecast-help-body>h3:first-child{
  margin-top:0!important;
}
:root[data-theme] .help-v012003 .environment-topic-label{
  margin:var(--arch-s3) 0 var(--arch-s2)!important;
}
:root[data-theme] .help-v012003 .environment-topic-label strong{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-config-label)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1.25!important;
}
:root[data-theme] .help-v012003 .forecast-help-source{
  margin:var(--arch-s4) 0 0!important;
  padding:var(--arch-s3) 0 0!important;
}
:root[data-theme] .help-v012003 .forecast-help-source>strong{
  display:block!important;
  margin:0 0 var(--arch-s2)!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.22!important;
}
:root[data-theme] .help-v012003 .environment-source-links,
:root[data-theme] .help-v012003 .help-links{
  display:grid!important;
  gap:var(--arch-s2)!important;
  margin:0 0 var(--arch-s3)!important;
}

@media(max-width:390px){
  :root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid>h3{
    font-size:var(--arch-fs-section)!important;
  }
}

/* ========================================================================
   5. SUBFINESTRES 48 H / 15 DIES — CENTRAT VERTICAL I ESPAI D'UNITAT
   La v0.13.002 ja havia igualat alçada, tipografia i fons. L'auditoria visual
   de la v0.13.003 detecta que align-items:baseline deixava el contingut massa
   amunt dins dels 50 px. Es manté la línia base número/unitat però es centra
   el conjunt dins del camp, com als camps canònics de Configuració/Previsió.
   ======================================================================== */
:root[data-theme] .detail .v13001-detail-field>strong,
:root[data-theme] .detail .v13001-detail-hero>div>strong,
:root[data-theme] .detail .v13001-period-main>div>strong{
  padding-block:14px!important;
  column-gap:var(--ui-value-unit-gap,4px)!important;
}
:root[data-theme] .detail .v13001-day-hero>div>strong{
  padding-block:14px!important;
  column-gap:0!important;
}
:root[data-theme] .detail .v13001-day-hero>div>strong>small{
  margin-left:var(--ui-value-unit-gap,4px)!important;
}
:root[data-theme] .detail .v13001-day-hero .v13001-range-sep{
  margin-inline:8px!important;
}


/* ===== ui-architecture-v013004.css (ordered source) ===== */
/* MeteoSensor Local v0.13.004 — prova de compactació i lectura millorada.
   Base exacta: v0.13.003.
   Centrat en: Properes 48 hores, coherència de «Sensació», centratge de pluja
   i pas de paraules clau d'ajuda de subratllat a negreta. */

/* 1. Sensació: el conjunt torna a ser secundari també en color. */
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row>span:first-child,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row>.v4-measure,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row .v4-measure-line,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row .v4-measure b,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row .v4-measure small{
  color:var(--arch-text-2)!important;
}

/* 2. Probabilitat de pluja del resum: es centra el bloc complet icona+número+unitat. */
:root[data-theme] .forecast-v012005.ui-system-master .v47-rain-field .v4-value-box{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-rain-value{
  display:inline-grid!important;
  grid-template-columns:auto auto auto!important;
  align-items:baseline!important;
  justify-content:center!important;
  width:auto!important;
  margin:0 auto!important;
  column-gap:4px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-rain-value>.v47-rain-icon{
  justify-self:center!important;
  margin:0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-rain-value>.v4-measure{
  justify-self:center!important;
  margin:0!important;
}

/* 3. Paraules clau: passen de subratllat a negreta editorial. */
:root[data-theme] .v13003-help-keyword{
  color:inherit!important;
  font:inherit!important;
  font-weight:700!important;
  text-decoration:none!important;
}

/* 4. Bloc «Properes 48 hores»: prova compacta amb el valor de temperatura
   vinculat a la línia, menys soroll visual i files inferiors més ordenades. */
:root[data-theme] .forecast-v012005.ui-system-master>.v13004-hourly{
  padding:var(--arch-s3)!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hourly>.v46-card-title{
  margin:0 0 var(--arch-s4)!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hourly .v4-hour-scroll{
  padding:2px 0 10px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hourly .v4-hour-canvas{
  position:relative!important;
  min-width:100%!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hour-grid{
  display:grid!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hour-hit{
  display:grid!important;
  grid-template-rows:26px 42px 90px 28px 28px!important;
  justify-items:center!important;
  align-items:center!important;
  padding:0 4px!important;
  border-inline-end:1px solid color-mix(in srgb,var(--arch-border) 55%,transparent)!important;
  scroll-snap-align:start!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hour-hit:last-child{
  border-inline-end:none!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hour-hit>time{
  display:flex!important;
  align-items:baseline!important;
  gap:2px!important;
  color:var(--arch-text-2)!important;
  font-size:17px!important;
  font-weight:700!important;
  line-height:1!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hour-hit>time small{
  color:inherit!important;
  font-size:.72em!important;
  font-weight:inherit!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hour-symbol{
  font-size:40px!important;
  line-height:1!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-curve-space{
  display:block!important;
  width:100%!important;
  height:90px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-temp-curve{
  position:absolute!important;
  left:0!important;
  top:70px!important;
  width:100%!important;
  height:88px!important;
  pointer-events:none!important;
  overflow:visible!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-temp-line{
  fill:none!important;
  stroke:var(--temp)!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-temp-dot{
  fill:var(--surface)!important;
  stroke:var(--temp)!important;
  stroke-width:1.5!important;
  vector-effect:non-scaling-stroke!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-temp-label{
  fill:var(--arch-text)!important;
  font-size:16px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hour-meta{
  display:inline-grid!important;
  grid-template-columns:18px minmax(2ch,auto) auto!important;
  align-items:end!important;
  justify-content:center!important;
  column-gap:4px!important;
  width:max-content!important;
  margin:0 auto!important;
  color:var(--arch-text-2)!important;
  white-space:nowrap!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hour-icon{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  color:var(--ui-weather-glyph,var(--arch-text-2))!important;
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",sans-serif!important;
  font-size:17px!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:1!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hour-hum .v13004-hour-icon{
  font-size:16px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hour-number{
  min-width:2ch!important;
  text-align:right!important;
  color:var(--arch-text)!important;
  font-size:19px!important;
  font-weight:700!important;
  line-height:1!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hour-unit{
  color:var(--arch-text)!important;
  font-size:16px!important;
  font-weight:600!important;
  line-height:1!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13004-hourly>footer{
  margin-top:var(--arch-s3)!important;
}


/* ===== ui-architecture-v013005.css (ordered source) ===== */
/* MeteoSensor Local v0.13.005 — correcció visual de Previsió.
   Base exacta: v0.13.004. */

/* ========================================================================
   1. PROBABILITAT DE PLUJA — BLOC ÚNIC I BASE COMUNA
   ======================================================================== */
:root[data-theme] .forecast-v012005.ui-system-master .v47-rain-field .v4-value-box{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-rain-value{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  width:max-content!important;
  height:22px!important;
  margin:0 auto!important;
  gap:5px!important;
  transform:none!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-rain-value>.v47-rain-icon{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  align-self:flex-end!important;
  width:22px!important;
  height:19px!important;
  margin:0!important;
  color:var(--ui-weather-glyph,var(--arch-text-2))!important;
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",sans-serif!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:19px!important;
  transform:none!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-rain-value>.v4-measure,
:root[data-theme] .forecast-v012005.ui-system-master .v67-rain-value .v4-measure-line{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  align-self:flex-end!important;
  height:19px!important;
  margin:0!important;
  line-height:19px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-rain-value .v4-measure-line>small{
  align-self:flex-end!important;
  line-height:1!important;
  transform:none!important;
}

/* ========================================================================
   2. TÍTOLS DE TARGETA — MATEIX EIX LATERAL
   ======================================================================== */
:root[data-theme] .forecast-v012005.ui-system-master>.v13005-hourly{
  padding:var(--arch-s4) 0 0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master>.v13005-hourly>.v46-card-title,
:root[data-theme] .forecast-v012005.ui-system-master>.v4-daily-list>.v46-card-title{
  margin:0 0 var(--arch-s3)!important;
  padding:0 var(--arch-s4)!important;
}

/* ========================================================================
   3. PROPERES 48 HORES — JERARQUIA VALIDADA
      1) icona; 2) temperatura/pluja/humitat secundàries; 3) hora destacada.
   ======================================================================== */
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hourly .v4-hour-scroll{
  padding:0 0 10px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hourly .v4-hour-canvas{
  position:relative!important;
  min-width:100%!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hour-grid{
  display:grid!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hour-hit{
  display:grid!important;
  grid-template-rows:46px 84px 24px 24px 30px!important;
  justify-items:center!important;
  align-items:center!important;
  padding:0 4px!important;
  border-inline-end:1px solid color-mix(in srgb,var(--arch-border) 55%,transparent)!important;
  scroll-snap-align:start!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hour-hit:last-child{
  border-inline-end:none!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hour-symbol{
  font-size:40px!important;
  line-height:1!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-curve-space{
  display:block!important;
  width:100%!important;
  height:84px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hour-hit>time{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:2px!important;
  color:var(--arch-text)!important;
  font-size:19px!important;
  font-weight:700!important;
  line-height:1!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hour-hit>time small{
  color:inherit!important;
  font-size:.70em!important;
  font-weight:inherit!important;
  line-height:1!important;
}

/* Temperatura, pluja i humitat comparteixen jerarquia secundària. */
:root[data-theme] .forecast-v012005.ui-system-master .v13005-temp-label,
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hour-number,
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hour-unit{
  fill:var(--arch-text-2)!important;
  color:var(--arch-text-2)!important;
  font-size:16px!important;
  font-weight:600!important;
  line-height:1!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hour-meta{
  display:grid!important;
  grid-template-columns:19px 2.1ch 13px!important;
  align-items:end!important;
  justify-content:center!important;
  column-gap:4px!important;
  width:max-content!important;
  height:18px!important;
  margin:0 auto!important;
  color:var(--arch-text-2)!important;
  white-space:nowrap!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hour-icon{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  width:19px!important;
  height:18px!important;
  color:var(--ui-weather-glyph,var(--arch-text-2))!important;
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",sans-serif!important;
  font-size:19px!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:18px!important;
  transform:none!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hour-hum .v13005-hour-icon{
  font-size:14px!important;
  line-height:18px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hour-number{
  min-width:2.1ch!important;
  text-align:right!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hour-unit{
  text-align:left!important;
}

/* Corba horària principal i guia de mínima diària. */
:root[data-theme] .forecast-v012005.ui-system-master .v13005-temp-curve{
  position:absolute!important;
  left:0!important;
  top:46px!important;
  width:100%!important;
  height:82px!important;
  pointer-events:none!important;
  overflow:visible!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-temp-line,
:root[data-theme] .forecast-v012005.ui-system-master .v13005-temp-min-line{
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-temp-line{
  stroke:var(--temp)!important;
  stroke-width:1.45!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-temp-min-line{
  stroke:#2485c7!important;
  stroke-width:1.25!important;
  opacity:.78!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-temp-dot{
  fill:var(--surface)!important;
  stroke:var(--temp)!important;
  stroke-width:1.35!important;
  vector-effect:non-scaling-stroke!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-temp-label{
  letter-spacing:0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13005-hourly>footer{
  margin-top:var(--arch-s3)!important;
}


/* ===== ui-architecture-v013006.css (ordered source) ===== */
/* MeteoSensor Local v0.13.006 — ajustos de Previsió sobre v0.13.005. */

/* ========================================================================
   1. PROBABILITAT DE PLUJA PRINCIPAL
   El 0 validat queda immòbil; només s'eleven lleument paraigües i %.
   ======================================================================== */
:root[data-theme] .forecast-v012005.ui-system-master .v67-rain-value>.v47-rain-icon{
  position:relative!important;
  top:-2px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v67-rain-value .v4-measure-line>small{
  position:relative!important;
  top:-2px!important;
}

/* ========================================================================
   2. PROPERES 48 HORES
   Ordre: icona → humitat → pluja → temperatura horària → mínima diària → hora.
   ======================================================================== */
:root[data-theme] .forecast-v012005.ui-system-master>.v13006-hourly{
  padding:var(--arch-s4) 0 0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master>.v13006-hourly>.v46-card-title,
:root[data-theme] .forecast-v012005.ui-system-master>.v4-daily-list>.v46-card-title{
  margin:0 0 var(--arch-s3)!important;
  padding:0 var(--arch-s4)!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hourly .v4-hour-scroll{
  padding:0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hour-canvas{
  position:relative!important;
  min-width:100%!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hour-grid{
  display:grid!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hour-hit{
  display:grid!important;
  grid-template-rows:46px 24px 24px 44px 44px 30px!important;
  justify-items:center!important;
  align-items:center!important;
  padding:0 4px!important;
  border-inline-end:1px solid color-mix(in srgb,var(--arch-border) 55%,transparent)!important;
  scroll-snap-align:start!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hour-hit:last-child{
  border-inline-end:none!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hour-symbol{
  font-size:40px!important;
  line-height:1!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-max-space,
:root[data-theme] .forecast-v012005.ui-system-master .v13006-min-space{
  display:block!important;
  width:100%!important;
  height:44px!important;
}

/* Hora = segon nivell dins de cada columna. */
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hour-hit>time{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:2px!important;
  color:var(--arch-text)!important;
  font-size:19px!important;
  font-weight:700!important;
  line-height:1!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hour-hit>time small{
  color:inherit!important;
  font-size:.70em!important;
  font-weight:inherit!important;
  line-height:1!important;
}

/* Temperatura, humitat i pluja = mateix nivell secundari gris. */
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hour-number,
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hour-unit,
:root[data-theme] .forecast-v012005.ui-system-master .v13006-temp-max-label,
:root[data-theme] .forecast-v012005.ui-system-master .v13006-temp-min-label{
  color:var(--arch-text-2)!important;
  fill:var(--arch-text-2)!important;
  font-size:16px!important;
  font-weight:600!important;
  line-height:1!important;
}

/* Files d'humitat/pluja: mateix eix d'icona, números alineats a la dreta. */
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hour-meta{
  display:grid!important;
  grid-template-columns:19px 2.1ch 13px!important;
  align-items:baseline!important;
  justify-content:center!important;
  column-gap:4px!important;
  width:max-content!important;
  height:18px!important;
  margin:0 auto!important;
  color:var(--arch-text-2)!important;
  white-space:nowrap!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hour-icon{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  align-self:baseline!important;
  width:19px!important;
  height:18px!important;
  color:var(--ui-weather-glyph,var(--arch-text-2))!important;
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",sans-serif!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:18px!important;
  transform:none!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-rain-icon{
  font-size:19px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hum-icon{
  font-size:14px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hour-number{
  min-width:2.1ch!important;
  text-align:right!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hour-unit{
  text-align:left!important;
}

/* Gràfica superior: temperatura horària (taronja). */
:root[data-theme] .forecast-v012005.ui-system-master .v13006-temp-max-curve{
  position:absolute!important;
  left:0!important;
  top:94px!important;
  width:100%!important;
  height:44px!important;
  pointer-events:none!important;
  overflow:visible!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-temp-max-line{
  fill:none!important;
  stroke:var(--temp)!important;
  stroke-width:1.45!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-temp-max-dot{
  fill:var(--surface)!important;
  stroke:var(--temp)!important;
  stroke-width:1.35!important;
  vector-effect:non-scaling-stroke!important;
}

/* Gràfica inferior: mínima diària de la font (blau), amb punts i valors. */
:root[data-theme] .forecast-v012005.ui-system-master .v13006-temp-min-curve{
  position:absolute!important;
  left:0!important;
  top:138px!important;
  width:100%!important;
  height:44px!important;
  pointer-events:none!important;
  overflow:visible!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-temp-min-line{
  fill:none!important;
  stroke:#2485c7!important;
  stroke-width:1.25!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-temp-min-dot{
  fill:var(--surface)!important;
  stroke:#2485c7!important;
  stroke-width:1.25!important;
  vector-effect:non-scaling-stroke!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13006-temp-max-label,
:root[data-theme] .forecast-v012005.ui-system-master .v13006-temp-min-label{
  letter-spacing:0!important;
}

/* El peu recupera només el marge canònic; no se suma padding del scroll. */
:root[data-theme] .forecast-v012005.ui-system-master .v13006-hourly>footer{
  margin-top:13px!important;
}


/* ===== ui-architecture-v013007.css (ordered source) ===== */
/* MeteoSensor Local v0.13.007 — refinament visual de Previsió sobre v0.13.006. */

/* ========================================================================
   PROPERES 48 HORES
   Ordre definitiu d'aquesta iteració:
   icona → gràfica màxima → gràfica mínima → humitat → pluja → hora.
   ======================================================================== */
:root[data-theme] .forecast-v012005.ui-system-master>.v13007-hourly{
  padding:var(--arch-s4) 0 0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master>.v13007-hourly>.v46-card-title,
:root[data-theme] .forecast-v012005.ui-system-master>.v4-daily-list>.v46-card-title{
  margin:0 0 var(--arch-s3)!important;
  padding:0 var(--arch-s4)!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hourly .v4-hour-scroll{
  padding:0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-canvas{
  position:relative!important;
  min-width:100%!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-grid{
  display:grid!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-hit{
  display:grid!important;
  grid-template-rows:48px 46px 42px 20px 20px 38px!important;
  justify-items:center!important;
  align-items:center!important;
  padding:0 4px!important;
  border-inline-end:1px solid color-mix(in srgb,var(--arch-border) 55%,transparent)!important;
  scroll-snap-align:start!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-hit:last-child{
  border-inline-end:none!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-symbol{
  font-size:40px!important;
  line-height:1!important;
  align-self:end!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-max-space,
:root[data-theme] .forecast-v012005.ui-system-master .v13007-min-space{
  display:block!important;
  width:100%!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-max-space{height:46px!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-min-space{height:42px!important;}

/* Hora = nivell intern destacat i separat del bloc humitat/pluja. */
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-hit>time{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:2px!important;
  margin-top:8px!important;
  color:var(--arch-text)!important;
  font-size:19px!important;
  font-weight:700!important;
  line-height:1!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-hit>time small{
  color:inherit!important;
  font-size:.70em!important;
  font-weight:inherit!important;
  line-height:1!important;
}

/* Humitat, pluja i temperatures = mateix nivell secundari gris. */
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-number,
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-unit,
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-max-label,
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-min-label{
  color:var(--arch-text-2)!important;
  fill:var(--arch-text-2)!important;
  font-size:16px!important;
  font-weight:600!important;
  line-height:1!important;
}

/* Humitat i pluja ben agrupades i compactes. */
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-meta{
  display:grid!important;
  grid-template-columns:19px 2.1ch 13px!important;
  align-items:baseline!important;
  justify-content:center!important;
  column-gap:4px!important;
  width:max-content!important;
  height:18px!important;
  margin:0 auto!important;
  color:var(--arch-text-2)!important;
  white-space:nowrap!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-hum{
  margin-top:4px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-rain{
  margin-top:-1px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:19px!important;
  height:18px!important;
  color:var(--ui-weather-glyph,var(--arch-text-2))!important;
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",sans-serif!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:18px!important;
  transform:none!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-rain-icon{font-size:19px!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hum-icon{font-size:14px!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-number{
  min-width:2.1ch!important;
  text-align:right!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-unit{
  text-align:left!important;
}

/* Gràfica superior: temperatura horària (taronja). */
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-max-curve{
  position:absolute!important;
  left:0!important;
  top:50px!important;
  width:100%!important;
  height:42px!important;
  pointer-events:none!important;
  overflow:visible!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-max-line{
  fill:none!important;
  stroke:var(--temp)!important;
  stroke-width:1.45!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-max-dot{
  fill:var(--surface)!important;
  stroke:var(--temp)!important;
  stroke-width:1.35!important;
  vector-effect:non-scaling-stroke!important;
}

/* Gràfica inferior: mínima diària, també amb valors per sobre de la línia. */
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-min-curve{
  position:absolute!important;
  left:0!important;
  top:94px!important;
  width:100%!important;
  height:42px!important;
  pointer-events:none!important;
  overflow:visible!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-min-line{
  fill:none!important;
  stroke:#2485c7!important;
  stroke-width:1.25!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-min-dot{
  fill:var(--surface)!important;
  stroke:#2485c7!important;
  stroke-width:1.25!important;
  vector-effect:non-scaling-stroke!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-max-label,
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-min-label{
  letter-spacing:0!important;
}

/* Peu amb marge canònic coherent amb la resta de quadres. */
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hourly>footer{
  margin-top:12px!important;
}


/* ===== ui-architecture-v013008.css (ordered source) ===== */
/* MeteoSensor Local v0.13.008 — detall horari de Previsió unificat amb la resta de l'app. */

.detail .v13008-detail-top{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin:10px 0 12px!important;
}
.detail .v13008-detail-top .v13001-detail-field>span{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-label)!important;
  font-weight:500!important;
}
.detail .v13008-detail-top .v13001-detail-field>strong{
  min-height:44px!important;
}
/* Al detall horari, el peu segueix el mateix criteri visual que la resta de quadres: espai sí, ratlla no. */
.detail .v13001-detail-source{
  margin-top:12px!important;
  padding-top:0!important;
  border-top:none!important;
}


/* ===== ui-architecture-v013010.css (ordered source) ===== */
/* MeteoSensor Local v0.13.010 — refinament de Previsió sobre v0.13.009. */

:root[data-theme] .v13010-condition-block{
  display:inline-block!important;
  width:max-content!important;
  max-width:100%!important;
  text-align:left!important;
}
:root[data-theme] .v13010-condition-block .v13003-condition-line{
  transform-origin:left center!important;
  text-align:left!important;
}

/* Properes 48 hores: tres espais grans equivalents i humitat/pluja més juntes. */
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-hit{
  grid-template-rows:50px 50px 50px 20px 20px 46px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-symbol{
  align-self:end!important;
  padding-bottom:0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-max-curve{top:55px!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-min-curve{top:105px!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-hum{margin-top:0!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-rain{margin-top:-2px!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-hit>time{margin-top:12px!important;}

/* Detall horari: mateixa arquitectura que Previsió per ara. */
.detail .v13010-hour-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:var(--arch-s3)!important;
  align-items:stretch!important;
  margin:10px 0 0!important;
}
.detail .v13010-hour-condition{
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  align-content:center!important;
  justify-items:center!important;
  min-width:0!important;
}
.detail .v13010-hour-condition>h3{
  width:100%!important;
  min-width:0!important;
  margin:0 0 8px!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-section)!important;
  font-weight:900!important;
  line-height:1.08!important;
  text-align:center!important;
}
.detail .v13010-hour-condition .v13010-condition-block{margin-inline:auto!important;}
.detail .v13010-hour-weather{
  display:grid!important;
  place-items:center!important;
  min-height:62px!important;
  font-size:54px!important;
  line-height:1!important;
}
.detail .v13010-hour-readouts{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:var(--arch-s3)!important;
  align-content:center!important;
  min-width:0!important;
}
.detail .v13010-hour-readouts .v13001-detail-field{gap:6px!important;}
.detail .v13010-hour-readouts .v13001-detail-field>span{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-config-label)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1.25!important;
}
.detail .v13010-hour-readouts .v13001-detail-field>strong{
  height:var(--arch-control-h)!important;
  min-height:var(--arch-control-h)!important;
  background:var(--arch-readout)!important;
  font-size:var(--arch-fs-data)!important;
  font-weight:var(--arch-fw-data)!important;
}
.detail .v13010-hour-details{
  margin:var(--arch-s4) 0 0!important;
  padding:var(--arch-s4) 0 0!important;
  border-top:1px solid var(--arch-border)!important;
}
.detail .v13010-hour-details>h3{
  margin:0 0 var(--arch-s3)!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.22!important;
}
.detail .v13010-hour-details .v13001-detail-grid{gap:var(--arch-s3)!important;}
.detail .v13010-hour-details + .v13001-detail-source{
  margin-top:var(--arch-s4)!important;
  padding-top:0!important;
  border-top:none!important;
}

/* Probabilitat de pluja dins del detall horari: mateix component òptic que al resum. */
.detail .v13010-hour-details .v67-rain-value{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  width:max-content!important;
  height:22px!important;
  margin:0 auto!important;
  gap:5px!important;
}
.detail .v13010-hour-details .v67-rain-value>.v47-rain-icon{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  width:22px!important;
  height:19px!important;
  margin:0!important;
  color:#278ccb!important;
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",sans-serif!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:19px!important;
}
.detail .v13010-hour-details .v67-rain-value>.v4-measure,
.detail .v13010-hour-details .v67-rain-value .v4-measure-line{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  height:19px!important;
  margin:0!important;
  line-height:19px!important;
}


/* ===== ui-architecture-v013011.css (ordered source) ===== */
/* MeteoSensor Local v0.13.011 — ajustos finals de Previsió sobre v0.13.010. */

/* -------------------------------------------------------------------------
   Previsió per ara: el bloc esquerre conserva el rectangle imaginari.
   Estat del cel i Sensació tornen a tabular a l'esquerra; icona+temperatura
   principal romanen centrats.
   ------------------------------------------------------------------------- */
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid>h3{
  justify-self:start!important;
  text-align:left!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid>h3 .v13011-condition-block{
  display:inline-block!important;
  max-width:100%!important;
  text-align:left!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row{
  justify-self:start!important;
  justify-content:flex-start!important;
  width:100%!important;
  text-align:left!important;
}

/* -------------------------------------------------------------------------
   Properes 48 hores: tres espais grans equivalents i humitat/pluja més juntes.
   1) icona -> temperatura màxima
   2) mínima -> humitat
   3) pluja -> hora
   ------------------------------------------------------------------------- */
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-hit{
  grid-template-rows:56px 52px 52px 18px 18px 52px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-symbol{
  align-self:end!important;
  padding-bottom:0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-max-curve{top:62px!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-min-curve{top:116px!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-hum{margin-top:0!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-rain{margin-top:-1px!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-hit>time{margin-top:15px!important;}

/* -------------------------------------------------------------------------
   Bloc compacte del detall horari.
   - Esquerra: estat del cel, tabulat a l'esquerra.
   - Dreta: icona+temperatura centrats i línia de sensació sota seu.
   - Sense separador extra abans d'«Altres dades previstes».
   ------------------------------------------------------------------------- */
.detail .v13011-hour-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:var(--arch-s4)!important;
  align-items:start!important;
  margin:10px 0 0!important;
}
.detail .v13011-hour-condition{
  min-width:0!important;
}
.detail .v13011-hour-condition>h3{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-section)!important;
  font-weight:900!important;
  line-height:1.08!important;
  text-align:left!important;
}
.detail .v13011-hour-condition .v13011-condition-block{
  display:inline-block!important;
  max-width:100%!important;
  text-align:left!important;
}
.detail .v13011-hour-summary{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  row-gap:10px!important;
  align-content:start!important;
  min-width:0!important;
}
.detail .v13011-hour-current{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:center!important;
  gap:14px!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
}
.detail .v13011-hour-weather{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:50px!important;
  min-height:50px!important;
  font-size:46px!important;
  line-height:1!important;
}
.detail .v13011-hour-current>.v4-measure{
  color:var(--arch-text)!important;
  font-size:clamp(28px,7.2vw,38px)!important;
  font-weight:var(--arch-fw-data)!important;
}
.detail .v13011-hour-current .v4-measure-line,
.detail .v13011-hour-feels .v4-measure-line{
  gap:3px!important;
}
.detail .v13011-hour-feels{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:var(--arch-s2)!important;
  width:100%!important;
  min-width:0!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-config-label)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1!important;
}
.detail .v13011-hour-feels>.v4-measure{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
}
.detail .v13011-hour-details{
  margin:var(--arch-s4) 0 0!important;
  padding:0!important;
  border-top:none!important;
}
.detail .v13011-hour-details>h3{
  margin:0 0 var(--arch-s3)!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.22!important;
}
.detail .v13011-hour-details .v13001-detail-grid{gap:var(--arch-s3)!important;}
.detail .v13011-hour-details .v67-rain-value{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  width:max-content!important;
  height:22px!important;
  margin:0 auto!important;
  gap:5px!important;
}
.detail .v13011-hour-details .v67-rain-value>.v47-rain-icon{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  width:22px!important;
  height:19px!important;
  margin:0!important;
  color:#278ccb!important;
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",sans-serif!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:19px!important;
}
.detail .v13011-hour-details .v67-rain-value>.v4-measure,
.detail .v13011-hour-details .v67-rain-value .v4-measure-line{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  height:19px!important;
  margin:0!important;
  line-height:19px!important;
}
.detail .v13011-hour-details + .v13001-detail-source{
  margin-top:var(--arch-s4)!important;
  padding-top:0!important;
  border-top:none!important;
}


/* ===== ui-architecture-v013012.css (ordered source) ===== */
/* MeteoSensor Local v0.13.012 — retoc fi de Previsió sobre v0.13.011. */

/* -------------------------------------------------------------------------
   Previsió per ara: el tabulat de l'esquerra no és el marge del requadre,
   sinó l'eix visual dels camps de dades de l'esquerra.
   ------------------------------------------------------------------------- */
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid>h3{
  justify-self:stretch!important;
  padding-inline-start:var(--arch-s4)!important;
  box-sizing:border-box!important;
  text-align:left!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid>h3 .v13011-condition-block,
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid>h3 .v13010-condition-block,
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid>h3 .v13003-condition-line{
  text-align:left!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row{
  justify-self:stretch!important;
  width:100%!important;
  padding-inline-start:var(--arch-s4)!important;
  box-sizing:border-box!important;
  justify-content:flex-start!important;
  text-align:left!important;
}

/* -------------------------------------------------------------------------
   Properes 48 hores: es manté l'espai 2 i s'igualen 1 i 3.
   ------------------------------------------------------------------------- */
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-hit{
  grid-template-rows:56px 52px 52px 18px 18px 56px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-symbol{
  align-self:end!important;
  padding-bottom:6px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-max-curve{top:62px!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-temp-min-curve{top:116px!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-hum{margin-top:0!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-rain{margin-top:-1px!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-hit>time{margin-top:18px!important;}

/* -------------------------------------------------------------------------
   Detall horari: una sola línia d'estat a l'esquerra i bloc compacte a la
   dreta, amb «Sensació» alineada dins la columna dreta.
   ------------------------------------------------------------------------- */
.detail .v13012-hour-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:var(--arch-s4)!important;
  align-items:start!important;
  margin:10px 0 0!important;
}
.detail .v13012-hour-condition{
  display:flex!important;
  align-items:flex-start!important;
  min-width:0!important;
}
.detail .v13012-hour-condition>h3{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  color:var(--arch-text)!important;
  font-size:clamp(21px,5.7vw,32px)!important;
  font-weight:900!important;
  line-height:1.08!important;
  text-align:left!important;
  white-space:nowrap!important;
  letter-spacing:0!important;
}
.detail .v13012-hour-summary{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  row-gap:10px!important;
  align-content:start!important;
  min-width:0!important;
}
.detail .v13012-hour-current{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:center!important;
  gap:14px!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
}
.detail .v13012-hour-weather{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:50px!important;
  min-height:50px!important;
  font-size:46px!important;
  line-height:1!important;
}
.detail .v13012-hour-current>.v4-measure{
  color:var(--arch-text)!important;
  font-size:clamp(28px,7.2vw,38px)!important;
  font-weight:var(--arch-fw-data)!important;
}
.detail .v13012-hour-current .v4-measure-line,
.detail .v13012-hour-feels .v4-measure-line{
  gap:3px!important;
}
.detail .v13012-hour-feels{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  justify-self:stretch!important;
  gap:var(--arch-s2)!important;
  width:100%!important;
  min-width:0!important;
  padding-inline-start:8px!important;
  box-sizing:border-box!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-config-label)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1!important;
  text-align:left!important;
}
.detail .v13012-hour-feels>.v4-measure{
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
}
.detail .v13012-hour-details{
  margin:var(--arch-s4) 0 0!important;
  padding:0!important;
  border-top:none!important;
}
.detail .v13012-hour-details>h3{
  margin:0 0 var(--arch-s3)!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.22!important;
}
.detail .v13012-hour-details .v13001-detail-grid{gap:var(--arch-s3)!important;}
.detail .v13012-hour-details .v67-rain-value{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  width:max-content!important;
  height:22px!important;
  margin:0 auto!important;
  gap:5px!important;
}
.detail .v13012-hour-details .v67-rain-value>.v47-rain-icon{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  width:22px!important;
  height:19px!important;
  margin:0!important;
  color:#278ccb!important;
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",sans-serif!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:19px!important;
}
.detail .v13012-hour-details .v67-rain-value>.v4-measure,
.detail .v13012-hour-details .v67-rain-value .v4-measure-line{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  height:19px!important;
  margin:0!important;
  line-height:19px!important;
}
.detail .v13012-hour-details + .v13001-detail-source{
  margin-top:var(--arch-s4)!important;
  padding-top:0!important;
  border-top:none!important;
}


/* ===== ui-architecture-v013013.css (ordered source) ===== */
/* MeteoSensor Local v0.13.013 — refinament de coherència visual de Previsió. */

/* -------------------------------------------------------------------------
   Previsió per ara.
   El bloc esquerre equival exactament a la columna esquerra: mateix ample que
   Humitat/Pressió/Probabilitat. Condició a l'esquerra; icona+temperatura i
   «Sensació» centrades dins aquest mateix rectangle imaginari.
   ------------------------------------------------------------------------- */
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid{
  width:100%!important;
  margin-left:0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid>h3{
  justify-self:stretch!important;
  width:100%!important;
  padding-inline:0!important;
  box-sizing:border-box!important;
  text-align:left!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid>h3 .v13011-condition-block,
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid>h3 .v13010-condition-block,
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid>h3 .v13003-condition-line,
:root[data-theme] .forecast-v012005.ui-system-master .v47-hero-main>.v4-hero-grid>h3 .v13011-condition-line{
  text-align:left!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row{
  justify-self:center!important;
  width:max-content!important;
  max-width:100%!important;
  padding-inline:0!important;
  justify-content:center!important;
  text-align:center!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row>span:first-child,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row>.v4-measure,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row .v4-measure-line,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row .v4-measure b,
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row .v4-measure small{
  color:var(--ui-helper)!important;
}

/* -------------------------------------------------------------------------
   Detall horari.
   Esquerra: condició meteorològica, amb salt de línia si cal.
   Dreta: icona+temperatura i «Sensació» centrades dins la columna dreta.
   La línia de «Sensació» es manté en gris, com a dada secundària.
   ------------------------------------------------------------------------- */
.detail .v13013-hour-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:var(--arch-s4)!important;
  align-items:start!important;
  margin:10px 0 0!important;
}
.detail .v13013-hour-condition{
  min-width:0!important;
}
.detail .v13013-hour-condition>h3{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-section)!important;
  font-weight:900!important;
  line-height:1.08!important;
  text-align:left!important;
  letter-spacing:0!important;
}
.detail .v13013-hour-condition .v13011-condition-block,
.detail .v13013-hour-condition .v13010-condition-block{
  display:inline-block!important;
  max-width:100%!important;
  text-align:left!important;
}
.detail .v13013-hour-condition .v13011-condition-line,
.detail .v13013-hour-condition .v13003-condition-line{
  display:inline-block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  text-align:left!important;
}
.detail .v13013-hour-summary{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  row-gap:10px!important;
  align-content:start!important;
  justify-items:center!important;
  min-width:0!important;
}
.detail .v13013-hour-current{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:center!important;
  gap:14px!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
}
.detail .v13013-hour-weather{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:50px!important;
  min-height:50px!important;
  font-size:46px!important;
  line-height:1!important;
}
.detail .v13013-hour-current>.v4-measure{
  color:var(--arch-text)!important;
  font-size:clamp(28px,7.2vw,38px)!important;
  font-weight:var(--arch-fw-data)!important;
}
.detail .v13013-hour-current .v4-measure-line,
.detail .v13013-hour-feels .v4-measure-line{
  gap:3px!important;
}
.detail .v13013-hour-feels{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  justify-self:center!important;
  gap:var(--arch-s2)!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-config-label)!important;
  font-weight:var(--arch-fw-label)!important;
  line-height:1!important;
  text-align:center!important;
}
.detail .v13013-hour-feels>.v4-measure,
.detail .v13013-hour-feels .v4-measure-line,
.detail .v13013-hour-feels .v4-measure b,
.detail .v13013-hour-feels .v4-measure small{
  color:var(--arch-text-2)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
}
.detail .v13013-hour-details{
  margin:var(--arch-s4) 0 0!important;
  padding:0!important;
  border-top:none!important;
}
.detail .v13013-hour-details>h3{
  margin:0 0 var(--arch-s3)!important;
  color:var(--arch-text)!important;
  font-size:var(--arch-fs-item)!important;
  font-weight:var(--arch-fw-strong)!important;
  line-height:1.22!important;
}
.detail .v13013-hour-details .v13001-detail-grid{gap:var(--arch-s3)!important;}
.detail .v13013-hour-details .v67-rain-value{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  width:max-content!important;
  height:22px!important;
  margin:0 auto!important;
  gap:5px!important;
}
.detail .v13013-hour-details .v67-rain-value>.v47-rain-icon{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  width:22px!important;
  height:19px!important;
  margin:0!important;
  color:#278ccb!important;
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",sans-serif!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:19px!important;
}
.detail .v13013-hour-details .v67-rain-value>.v4-measure,
.detail .v13013-hour-details .v67-rain-value .v4-measure-line{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  height:19px!important;
  margin:0!important;
  line-height:19px!important;
}
.detail .v13013-hour-details + .v13001-detail-source{
  margin-top:var(--arch-s4)!important;
  padding-top:0!important;
  border-top:none!important;
}


/* ===== ui-architecture-v013014.css (ordered source) ===== */
/* MeteoSensor Local v0.13.014 — ajust fi de centrats a Previsió. */

/* -------------------------------------------------------------------------
   Previsió per ara: «Sensació» s'ha de centrar sota el bloc icona+temperatura,
   no quedar visualment desplaçada cap a la dreta.
   ------------------------------------------------------------------------- */
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row{
  justify-self:center!important;
  align-self:start!important;
  width:max-content!important;
  max-width:100%!important;
  margin-inline:auto!important;
  transform:translateX(-10px)!important;
}

/* -------------------------------------------------------------------------
   Properes 48 hores: tots els símbols comparteixen la mateixa caixa visual.
   Això evita que la lluna sola baixi massa o que alguns pictogrames quedin
   aparentment més grans que els altres.
   ------------------------------------------------------------------------- */
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-symbol{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:52px!important;
  min-height:52px!important;
  align-self:end!important;
  padding-bottom:4px!important;
  box-sizing:border-box!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-symbol .weather-emoji{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:1.22em!important;
  height:1.04em!important;
  line-height:1!important;
  text-align:center!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-symbol .weather-emoji:not(.weather-emoji-night){
  font-size:.92em!important;
  transform:translateY(-1px)!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13007-hour-symbol .weather-emoji-night{
  font-size:1em!important;
  transform:translateY(-1px)!important;
}

/* -------------------------------------------------------------------------
   Detall horari: el bloc de la dreta ja no es centra estrictament sobre la
   segona columna, sinó dins el rectangle imaginari que va del costat dret del
   camp esquerre al costat dret del camp dret.
   ------------------------------------------------------------------------- */
.detail .v13013-hour-summary{
  justify-self:stretch!important;
  width:calc(100% + var(--arch-s4))!important;
  margin-left:calc(-1 * var(--arch-s4))!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
.detail .v13013-hour-current,
.detail .v13013-hour-feels{
  justify-self:center!important;
  margin-inline:auto!important;
}
.detail .v13013-hour-current{
  transform:translateX(-6px)!important;
}
.detail .v13013-hour-feels{
  transform:translateX(-6px)!important;
}


/* ===== ui-architecture-v013015.css (ordered source) ===== */
/* v0.13.015 — scoped layout corrections. No data/threshold or theme changes. */
:root[data-theme] .forecast-v012005.ui-system-master .v55-feels-row{
 transform:translate(var(--v13015-x,0px),var(--v13015-y,0px))!important;
}
/* Retain the existing artwork; normalize its painted bounds, not transparent em padding. */
:root[data-theme] .forecast-v012005.ui-system-master .v13015-hourly .v13007-hour-canvas{height:var(--v13015-track-height,252px)!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13015-hourly .v13007-hour-hit{
 position:relative!important;display:block!important;height:var(--v13015-track-height,252px)!important;
 padding:0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13015-hourly .v13007-max-space,
:root[data-theme] .forecast-v012005.ui-system-master .v13015-hourly .v13007-min-space{display:none!important;}
:root[data-theme] .forecast-v012005.ui-system-master .v13015-hourly .v13007-hour-symbol{
 position:absolute!important;left:calc(50% - 40px)!important;top:0;
 display:block!important;width:80px!important;height:36px!important;min-height:0!important;
 padding:0!important;margin:0!important;box-sizing:border-box!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13015-hourly .v13007-hour-symbol>.weather-emoji{
 position:absolute!important;left:0!important;top:0!important;display:inline-block!important;
 width:auto!important;height:auto!important;font-size:40px!important;line-height:1!important;
 transform-origin:0 0!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13015-hourly .v13007-hour-symbol>.weather-emoji-night{
 width:1.18em!important;height:1em!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13015-hourly .v13007-hour-meta,
:root[data-theme] .forecast-v012005.ui-system-master .v13015-hourly .v13007-hour-hit>time{
 position:absolute!important;left:50%!important;transform:translateX(-50%)!important;
 margin:0!important;padding:0!important;
}
/* SVG data coordinates are preserved. Vertical track positions are calculated after layout. */
:root[data-theme] .forecast-v012005.ui-system-master .v13015-hourly .v13007-temp-max-curve,
:root[data-theme] .forecast-v012005.ui-system-master .v13015-hourly .v13007-temp-min-curve{top:var(--v13015-curve-top,0px);}

/* The virtual right-hand rectangle includes the gutter, starting at the LEFT
   readout's right edge. Its coordinates are measured, never guessed offsets. */
.detail .v13013-hour-hero{column-gap:var(--arch-s3)!important;align-items:center!important;}
.detail .v13013-hour-summary{
 width:var(--v13015-summary-width,100%)!important;
 margin-left:var(--v13015-summary-shift,0px)!important;margin-right:0!important;
}
.detail .v13013-hour-current,
.detail .v13013-hour-feels,
.detail .v13013-hour-condition,
.detail .v13015-rain-line,
.detail .v13015-rain-line>span{
 transform:translate(var(--v13015-x,0px),var(--v13015-y,0px))!important;
}
.detail .v13013-hour-feels{align-items:baseline!important;color:var(--arch-text-2)!important;}
.detail .v13013-hour-feels .v4-measure-line{align-items:baseline!important;}
.detail .v13013-hour-feels .v4-measure small{font-size:.70em!important;font-weight:inherit!important;}
.detail .v13013-hour-feels *{color:var(--arch-text-2)!important;}
/* Only the faulty hourly-detail rain readout is replaced, not its neighbours. */
.detail .v13001-detail-field>strong.v13015-rain-readout{align-items:center!important;}
.detail .v13015-rain-line{
 display:inline-flex!important;align-items:baseline!important;justify-content:center!important;
 width:max-content!important;gap:5px!important;white-space:nowrap!important;
 font-size:var(--arch-fs-data)!important;font-weight:var(--arch-fw-data)!important;line-height:1!important;
}
.detail .v13015-rain-number{font:inherit!important;}
.detail .v13015-rain-unit{font-size:.70em!important;font-weight:inherit!important;line-height:1!important;}
.detail .v13015-rain-icon{
 display:inline-block!important;font-family:'Segoe UI Symbol','Noto Sans Symbols 2','Apple Symbols',sans-serif!important;
 font-size:22px!important;font-weight:900!important;color:#278ccb!important;line-height:1!important;
}

/* Keep paired readouts level when the longer probability label wraps. */
.detail .v13013-hour-details .v13001-detail-field.v13015-rain-pair{
 grid-template-rows:minmax(0,1fr) var(--arch-control-h)!important;align-self:stretch!important;
}
.detail .v13013-hour-details .v13015-rain-pair>strong{align-self:end!important;}

/* v0.13.018 — same-scale air / feels-like comparison, no new outer cards. */
:root .v13018-hourly{--v13018-apparent:#7651a8;}
:root[data-theme="dark"] .v13018-hourly{--v13018-apparent:#c0a2ed;}
:root[data-theme] .forecast-v012005.ui-system-master .v13018-legend{
 display:flex;flex-wrap:wrap;gap:6px 18px;
 margin:0 0 var(--arch-s3);padding:0 var(--arch-s4);
 color:var(--arch-text-2);font-size:var(--arch-fs-body);font-weight:600;line-height:1.25;
}
.v13018-legend>span{display:inline-flex;align-items:center;gap:7px;max-width:100%;}
.v13018-legend svg{flex:0 0 36px;overflow:visible;}
:root[data-theme] .forecast-v012005.ui-system-master .v13018-temp-chart{
 position:absolute!important;left:0!important;top:0;width:100%!important;height:112px!important;
 pointer-events:none;overflow:visible;
}
.v13018-air-line,.v13018-feels-line{
 fill:none;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;
}
.v13018-air-line{stroke:var(--temp);}
.v13018-feels-line{stroke:var(--v13018-apparent);stroke-dasharray:5 4;}
.v13018-air-dot{fill:var(--surface);stroke:var(--temp);stroke-width:1.35;vector-effect:non-scaling-stroke;}
.v13018-feels-dot{fill:none;stroke:var(--v13018-apparent);stroke-width:1.25;vector-effect:non-scaling-stroke;}
.v13018-temp-label{
 fill:var(--arch-text-2);font-size:16px;font-weight:600;letter-spacing:0;
 paint-order:stroke fill;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round;
}
.v13018-label-leader{stroke:var(--arch-text-2);stroke-width:.6;fill:none;opacity:.65;}
:root[data-theme] .forecast-v012005.ui-system-master .v13018-chart-explanation{
 margin:0 0 var(--arch-s3);color:var(--arch-text-2);font-size:var(--arch-fs-body);line-height:var(--arch-lh-body);
}
.v13018-chart-explanation p{margin:0 0 8px!important;font:inherit;color:inherit;}
.v13018-explanation-link{
 appearance:none;border:0;background:none;padding:0;margin:0;box-shadow:none;
 color:var(--link,#126792);font:inherit;text-decoration:underline;text-underline-offset:3px;
 text-align:left;cursor:pointer;
}
:root[data-theme="dark"] .v13018-explanation-link{color:#87cafa;}


/* ===== ui-architecture-v013016.css (ordered source) ===== */
/* v0.13.016 — visual scope only. Existing surfaces, controls, palette and sizes
   remain owned by the v015 base. No new cards, lines or field ordering. */
:root[data-theme] .forecast-v012005.ui-system-master .v55-current-row{
 transform:translate(var(--v13015-x,0px),var(--v13015-y,0px))!important;
}
.v13016-condition-block{
 display:block!important;width:100%!important;max-width:100%!important;
 text-align:left!important;
}
.v13016-condition-block>.v13011-condition-line{
 display:inline-block!important;white-space:nowrap!important;
 transform-origin:left center!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13015-hourly .v13007-hour-meta{
 grid-template-columns:19px var(--v13016-number-width,2.1ch) 13px!important;
}
:root[data-theme] .forecast-v012005.ui-system-master .v13015-hourly .v13007-hour-number{
 min-width:0!important;
}
.detail .v13015-rain-line>.v13015-rain-icon{
 transform:translate(var(--v13015-x,0px),var(--v13015-y,0px)) scale(var(--v13016-icon-scale,1))!important;
 transform-origin:0 0!important;
}

/* Truncated hourly responses retain the same 92 px columns and unstretched art. */
:root[data-theme] .forecast-v012005.ui-system-master .v13015-hourly .v13007-hour-canvas.v13016-short-track{
 min-width:0!important;margin-inline:auto!important;
}


/* ===== ui-architecture-v013017.css (ordered source) ===== */
/* v0.13.017: only the umbrella inside the hourly-detail rain readout. */
.detail .v13015-rain-line>.v13015-rain-icon.v13017-normalised-umbrella{
 display:inline-block!important;
 flex:0 0 auto!important;
 padding:0!important;
 margin:0!important;
 border:0!important;
 vertical-align:baseline!important;
 transform:translate(var(--v13015-x,0px),var(--v13015-y,0px))!important;
}
.detail .v13017-normalised-umbrella>.v13017-umbrella-canvas{
 display:block!important;
 width:100%!important;
 height:100%!important;
 padding:0!important;
 margin:0!important;
 border:0!important;
}

/* v0.13.019 — footer key and compact hourly summary. */
:root[data-theme] .forecast-v012005.ui-system-master .v13019-footer-legend{
 display:flex;flex-direction:column;align-items:flex-start;
 padding:0;margin:0 0 12px;gap:6px;
}
.detail .v13013-hour-summary{row-gap:0!important;}
.detail .v13013-hour-feels{margin-top:var(--v13019-feels-gap,0px)!important;}


/* v0.13.020 — hourly-detail units share the digit's visible bottom.
   No change to the main forecast, 48-hour row positions or other dialogs. */
.detail .v13013-hour-details .v13001-detail-field>strong>.v13020-readout-value{
 font:inherit!important;color:inherit!important;
}
.detail .v13013-hour-details .v13001-detail-field>strong>.v13020-readout-value+small{
 font-size:.70em!important;font-weight:inherit!important;
 transform:translateY(var(--v13020-unit-y,0px))!important;
}
