/* ════════════════════════════════════════════════
   METEO RESSÒ — CSS v1.4 — Simple i ergonòmic
   ════════════════════════════════════════════════ */

:root {
    --mr-vermell:   #C0392B;
    --mr-rosa-fosc: #E8857A;
    --mr-rosa:      #FADBD8;
    --mr-rosa-clar: #FEF5F4;
    --mr-verd:      #27ae60;
    --mr-gris:      #444;
    --mr-gris-clar: #ccc;
    --mr-radius:    10px;
    --mr-shadow:    0 2px 10px rgba(0,0,0,0.10);
}

* { box-sizing: border-box; }

/* ── Login ──────────────────────────────────── */
.mr-login {
    max-width: 400px; margin: 40px auto;
    background: #fff; border-radius: 16px;
    box-shadow: var(--mr-shadow); padding: 40px;
    text-align: center; font-family: sans-serif;
}
.mr-login h2 { color: var(--mr-vermell); margin-bottom: 24px; font-size: 26px; }
.mr-login-form label { display:block; text-align:left; margin-bottom:8px; color:var(--mr-gris); font-size:18px; font-weight:600; }
.mr-login-form input[type=password] {
    width:100%; padding:16px 20px; font-size:26px;
    border:3px solid var(--mr-gris-clar); border-radius:10px;
    margin-bottom:20px; letter-spacing:6px;
}
.mr-login-form input[type=password]:focus { border-color:var(--mr-vermell); outline:none; }
.mr-login-form button {
    width:100%; padding:16px; background:var(--mr-vermell);
    color:#fff; border:none; border-radius:10px;
    font-size:20px; cursor:pointer; font-weight:700;
}
.mr-error { color:var(--mr-vermell); font-size:16px; margin-bottom:14px; font-weight:600; }

/* ── App ─────────────────────────────────────── */
.mr-app {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    max-width: 1000px; margin: 0 auto; color: #222; font-size: 17px;
}

/* ── Header ─────────────────────────────────── */
.mr-header {
    display: flex; align-items: center; gap: 12px;
    padding: 14px 16px; background: var(--mr-rosa-clar);
    border-radius: var(--mr-radius); margin-bottom: 16px;
    flex-wrap: wrap; border: 2px solid var(--mr-rosa);
}
.mr-logo { font-size: 30px; }
.mr-header h1 { margin:0; font-size:22px; color:var(--mr-vermell); flex:1; }
.mr-nav-tabs { display:flex; gap:8px; }
.mr-tab {
    padding: 10px 16px; border:2px solid var(--mr-rosa-fosc);
    border-radius: 24px; background:#fff; cursor:pointer;
    font-size: 16px; font-weight:700; color:var(--mr-gris);
    transition: all 0.15s; white-space:nowrap;
}
.mr-tab-active, .mr-tab:hover { background:var(--mr-vermell); border-color:var(--mr-vermell); color:#fff; }
.mr-actions { display:flex; gap:8px; margin-left:auto; }

@media (max-width: 640px) {
    .mr-header { flex-direction:column; align-items:stretch; text-align:center; }
    .mr-nav-tabs { justify-content:center; }
    .mr-actions { justify-content:center; }
}

/* ── Botons ─────────────────────────────────── */
.mr-btn {
    padding: 10px 20px; border:none; border-radius:8px;
    font-size: 16px; font-weight:700; cursor:pointer;
    transition: opacity 0.15s;
}
.mr-btn:hover { opacity:0.85; }
.mr-btn:disabled { opacity:0.5; cursor:not-allowed; }
.mr-btn-save   { background:var(--mr-verd); color:#fff; }
.mr-btn-mail   { background:var(--mr-vermell); color:#fff; }
.mr-btn-cancel { background:#7f8c8d; color:#fff; }
.mr-btn-lg     { padding:14px 32px; font-size:20px; border-radius:10px; }

@media (max-width:640px) {
    .mr-btn-lg { width:100%; padding:18px; font-size:22px; }
}

.mr-btn-preview {
    padding:10px 16px; background:#2980b9; color:#fff;
    border-radius:8px; text-decoration:none; font-size:16px; font-weight:700;
    display:inline-block;
}
.mr-btn-preview:hover { background:#1f6fa0; color:#fff; }
.mr-btn-small {
    display:inline-block; padding:8px 14px; background:#ecf0f1;
    border-radius:6px; font-size:16px; text-decoration:none;
    color:#333; font-weight:700;
}
.mr-btn-small:hover { background:var(--mr-rosa); }
.mr-btn-edit { background:var(--mr-rosa-clar); }
.mr-btn-back {
    padding:10px 16px; background:#ecf0f1; border-radius:8px;
    text-decoration:none; color:#333; font-weight:700; font-size:16px;
    display:inline-block;
}
.mr-btn-back:hover { background:var(--mr-rosa); }
.mr-btn-print {
    padding:10px 16px; background:var(--mr-vermell); color:#fff;
    border:none; border-radius:8px; cursor:pointer; font-size:16px; font-weight:700;
}

/* ── Feedback ───────────────────────────────── */
.mr-msg {
    padding: 18px 24px; border-radius: 10px; margin-bottom: 16px;
    font-size: 19px; font-weight: 700; border-width:2px; border-style:solid;
}
.mr-msg.ok    { background:#d5f5e3; color:#1a6e3a; border-color:var(--mr-verd); }
.mr-msg.error { background:#fadbd8; color:#922b21; border-color:var(--mr-vermell); }

/* ── Modal ──────────────────────────────────── */
.mr-modal {
    position:fixed; inset:0; background:rgba(0,0,0,0.6);
    z-index:9999; display:flex; align-items:center; justify-content:center; padding:16px;
}
.mr-modal-box {
    background:#fff; border-radius:16px; padding:32px;
    max-width:480px; width:100%;
    box-shadow:0 10px 40px rgba(0,0,0,0.25); border-top:6px solid #e67e22;
}
.mr-modal-box h3 { margin:0 0 14px; color:#c27a00; font-size:22px; }
.mr-modal-manquen {
    background:#fef9e7; border:2px solid #e67e22; border-radius:8px;
    padding:14px 18px; margin-bottom:16px; font-size:18px; color:#7d6608; line-height:1.7;
}
.mr-modal-manquen ul { margin:8px 0 0 20px; padding:0; }
.mr-modal-manquen li { margin-bottom:4px; }
.mr-modal-box p { color:#444; margin-bottom:10px; font-size:18px; font-weight:600; }
.mr-modal-btns { display:flex; gap:12px; margin-top:24px; flex-wrap:wrap; }
.mr-modal-btns .mr-btn { font-size:18px; padding:14px 24px; flex:1; }

/* ── Mes bar ─────────────────────────────────── */
.mr-mes-bar { display:flex; align-items:center; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.mr-mes-bar label { font-weight:700; color:var(--mr-gris); font-size:18px; }
.mr-mes-bar select {
    padding:10px 14px; font-size:18px;
    border:2px solid var(--mr-rosa-fosc); border-radius:8px; background:#fff;
}
@media(max-width:640px) {
    .mr-mes-bar { flex-direction:column; align-items:stretch; }
    .mr-mes-bar select { width:100%; }
}

/* ── Seccions ───────────────────────────────── */
.mr-section {
    background:#fff; border:1px solid var(--mr-gris-clar);
    border-radius:var(--mr-radius); padding:18px;
    margin-bottom:16px; box-shadow:var(--mr-shadow);
}
.mr-section h2 {
    margin:0 0 14px; font-size:20px; color:var(--mr-vermell);
    border-bottom:3px solid var(--mr-rosa); padding-bottom:8px;
}

/* ── Taula dies ─────────────────────────────── */
.mr-taula-wrap { overflow-x:auto; }
.mr-taula { width:100%; border-collapse:collapse; font-size:17px; }
.mr-taula thead th {
    background:var(--mr-rosa); padding:10px 6px;
    text-align:center; font-weight:700;
    border:1px solid var(--mr-rosa-fosc); font-size:15px;
}
.mr-taula tbody tr:nth-child(even) { background:var(--mr-rosa-clar); }
.mr-taula tbody tr:hover { background:#fde8e6; }
.mr-taula tbody td {
    padding:4px 4px; border:1px solid #e8e8e8;
    text-align:center; vertical-align:middle;
}
.mr-dia { font-weight:700; background:var(--mr-rosa)!important; width:38px; font-size:17px; }
.mr-pluja-cel { padding:4px!important; }

/* ── Grup pluja: pills + input natiu ──────── */
.mr-pluja-group {
    display:flex; align-items:center; gap:4px; justify-content:center;
}

/* Pills — i ip */
.mr-pill {
    min-width:44px; height:44px; font-size:15px; font-weight:700;
    border:2px solid var(--mr-gris-clar); border-radius:8px;
    background:#f0f0f0; cursor:pointer; color:#555;
    transition:all 0.15s;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
}
.mr-pill.active { background:var(--mr-vermell); border-color:var(--mr-vermell); color:#fff; }
.mr-pill:hover:not(.active) { border-color:var(--mr-rosa-fosc); background:var(--mr-rosa-clar); }

/* Input pluja: ample per 3 dígits + decimal, fletxes natives del navegador */
.mr-input-pluja {
    width: 90px;           /* suficient per "999.9" */
    height: 44px;
    padding: 0 2px 0 6px;
    font-size: 17px;
    font-weight: 600;
    border: 2px solid var(--mr-gris-clar);
    border-radius: 8px;
    text-align: center;
}
.mr-input-pluja.active { border-color:var(--mr-vermell); background:#fff; }
.mr-input-pluja:focus  { border-color:var(--mr-vermell); outline:none; }

/* Pill l/m² — una mica més ampla */
.mr-pill-num { min-width:52px; font-size:13px; }

/* Input pluja ocult fins que s'activa mode num */
.mr-input-pluja { display:none; }
.mr-input-pluja.active { display:block; }

/* Temperatures: ample per 2 dígits + signe */
.mr-input-temp {
    width: 72px;           /* suficient per "-99" */
    height: 44px;
    padding: 0 2px 0 6px;
    font-size: 17px;
    font-weight: 600;
    border: 2px solid var(--mr-gris-clar);
    border-radius: 8px;
    text-align: center;
}
.mr-input-temp:focus { border-color:var(--mr-vermell); outline:none; }

/* Mòbil: tot una mica més gran */
@media (max-width:640px) {
    .mr-taula { font-size:19px; }
    .mr-pill  { min-width:52px; height:52px; font-size:17px; }
    .mr-input-pluja { width:100px; height:52px; font-size:19px; }
    .mr-input-temp  { width: 80px; height:52px; font-size:19px; }
}

/* ── Resum ───────────────────────────────────── */
.mr-resum-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
@media (max-width:680px) { .mr-resum-grid { grid-template-columns:1fr; } }

.mr-col { display:flex; flex-direction:column; gap:14px; }
.mr-subsection {
    font-weight:700; font-size:16px; color:var(--mr-vermell);
    margin-top:8px; padding-bottom:5px; border-bottom:2px solid var(--mr-rosa);
}
.mr-field { display:flex; flex-direction:column; gap:5px; }
.mr-field label { font-size:16px; color:var(--mr-gris); font-weight:600; }
.mr-field input[type=number],
.mr-field input[type=text],
.mr-field select,
.mr-field textarea {
    padding:10px 14px; font-size:18px;
    border:2px solid var(--mr-gris-clar); border-radius:8px;
    background:#fff; width:100%;
}
.mr-field textarea { resize:vertical; font-family:inherit; }
.mr-field input:focus,.mr-field select:focus,.mr-field textarea:focus { border-color:var(--mr-vermell); outline:none; }

.mr-input-unit { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.mr-input-unit input[type=number] { width:110px; flex-shrink:0; }
.mr-input-unit span { font-size:16px; color:var(--mr-gris); white-space:nowrap; }
.mr-unit-sep { color:#bbb!important; }
.mr-input-unit select { width:auto; padding:10px 12px; font-size:16px; }
.mr-obs-extra { gap:5px; }
.mr-obs-nom { margin-bottom:3px; }

/* Comptadors +/- */
.mr-counter {
    display:flex; align-items:center;
    border:2px solid var(--mr-gris-clar); border-radius:10px;
    overflow:hidden; width:fit-content;
}
.mr-cnt-btn {
    width:54px; height:54px; font-size:28px; font-weight:300;
    border:none; background:var(--mr-rosa-clar); cursor:pointer;
    color:var(--mr-vermell); transition:background 0.15s; line-height:1;
    display:flex; align-items:center; justify-content:center;
}
.mr-cnt-btn:hover { background:var(--mr-rosa); }
.mr-cnt-val { min-width:60px; text-align:center; font-size:26px; font-weight:700; padding:0 8px; }

@media (max-width:640px) {
    .mr-cnt-btn { width:66px; height:66px; font-size:34px; }
    .mr-cnt-val { font-size:32px; min-width:70px; }
}

/* ── Footer ─────────────────────────────────── */
.mr-footer-actions {
    display:flex; gap:14px; justify-content:center;
    padding:20px 0 40px; flex-wrap:wrap;
}
@media (max-width:640px) {
    .mr-footer-actions { flex-direction:column; padding:16px; gap:12px; }
}

/* ── Historial ──────────────────────────────── */
.mr-historial-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px; }
@media (max-width:640px) { .mr-historial-grid { grid-template-columns:1fr 1fr; } }
.mr-historial-card {
    background:#fff; border:2px solid var(--mr-gris-clar);
    border-radius:var(--mr-radius); padding:16px; transition:border-color 0.2s;
}
.mr-historial-card:hover { border-color:var(--mr-rosa-fosc); }
.mr-card-inc { border-color:#e67e22; background:#fdfaf5; }
.mr-card-header { display:flex; flex-direction:column; gap:4px; margin-bottom:10px; }
.mr-card-header strong { font-size:18px; color:var(--mr-vermell); }
.mr-badge-ok  { font-size:15px; color:#27ae60; font-weight:700; }
.mr-badge-inc { font-size:15px; color:#e67e22; font-weight:700; }
.mr-card-dades { display:flex; flex-direction:column; gap:4px; font-size:16px; color:#555; margin-bottom:12px; }
.mr-card-actions { display:flex; gap:8px; }
.mr-buit { color:#999; font-style:italic; font-size:18px; }

/* ── Vista revista ──────────────────────────── */
.mr-consulta { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; max-width:720px; margin:0 auto; }
.mr-consulta-nav { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.mr-consulta-error { padding:40px; text-align:center; color:#999; font-size:18px; }
.mr-avis-inc {
    background:#fef9e7; border:2px solid #e67e22; border-radius:8px;
    padding:14px 18px; margin-bottom:16px; font-size:16px; color:#7d5a00; font-weight:600;
}
.mr-revista { background:#fff; border:1px solid var(--mr-gris-clar); border-radius:var(--mr-radius); padding:24px; box-shadow:var(--mr-shadow); }
.mr-rev-titol { font-size:26px; font-weight:900; color:var(--mr-vermell); margin-bottom:14px; }
.mr-rev-taules { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:14px; }
.mr-rev-taula { width:100%; border-collapse:collapse; font-size:13px; }
.mr-rev-taula thead th { background:var(--mr-rosa); padding:5px 4px; text-align:right; font-weight:700; border:1px solid var(--mr-rosa-fosc); }
.mr-rev-taula thead th:first-child { text-align:left; }
.mr-rev-taula tbody td { padding:3px 4px; border:1px solid #eee; text-align:right; }
.mr-rev-taula tbody tr:nth-child(even) { background:var(--mr-rosa-clar); }
.mr-rev-dia { font-weight:700; text-align:left!important; background:var(--mr-rosa)!important; }
.mr-rev-buida td:not(.mr-rev-dia) { color:#d5a09a; }
.mr-rev-resum { background:var(--mr-rosa-clar); border:1px solid var(--mr-rosa); border-radius:8px; padding:14px 18px; font-size:13.5px; }
.mr-rev-linia { display:flex; justify-content:space-between; padding:3px 0; border-bottom:1px dotted #dfc4c0; }
.mr-rev-linia:last-child { border-bottom:none; }
.mr-rev-label { font-weight:600; color:#444; }
.mr-rev-ind { padding-left:16px; }
.mr-rev-subtitol { font-weight:700; font-size:13px; color:var(--mr-vermell); margin:8px 0 3px; }
.mr-rev-notes { font-size:13px; color:#555; margin-top:4px; line-height:1.6; }

@media print {
    .mr-consulta-nav, .mr-avis-inc { display:none; }
    .mr-revista { box-shadow:none; border:none; padding:0; }
}

/* ════════════════════════════════════════════════
   PORTADA DE BENVINGUDA — estil revista rural
   ════════════════════════════════════════════════ */

/* La portada es mou al body via JS — ocupa tota la pantalla */
#mr-portada {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 2147483647 !important; /* màxim possible */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mr-portada {
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.mr-portada-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transform: scale(1.05);
    transition: transform 8s ease;
    animation: mr-zoom 8s ease forwards;
}

@keyframes mr-zoom {
    from { transform: scale(1.08); }
    to   { transform: scale(1.0); }
}

.mr-portada-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.15) 0%,
        rgba(0,0,0,0.55) 50%,
        rgba(0,0,0,0.75) 100%
    );
}

.mr-portada-content {
    position: relative;
    z-index: 1;
    text-align: center;
    color: #fff;
    padding: 40px 32px;
    max-width: 680px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    animation: mr-fadein 1.2s ease forwards;
}

@keyframes mr-fadein {
    from { opacity:0; transform: translateY(20px); }
    to   { opacity:1; transform: translateY(0); }
}

/* Capçalera */
.mr-portada-cap { display:flex; flex-direction:column; align-items:center; gap:6px; }
.mr-portada-icon { font-size: 52px; filter: drop-shadow(0 2px 8px rgba(0,0,0,0.4)); }
.mr-portada-cap h1 {
    margin: 0;
    font-size: 38px;
    font-weight: 900;
    letter-spacing: 1px;
    text-shadow: 0 2px 12px rgba(0,0,0,0.6);
}
.mr-portada-data {
    margin: 0;
    font-size: 18px;
    font-weight: 400;
    opacity: 0.85;
    text-transform: uppercase;
    letter-spacing: 3px;
    text-shadow: 0 1px 6px rgba(0,0,0,0.5);
}

/* Refrany */
.mr-portada-refrany {
    position: relative;
    background: rgba(0,0,0,0.35);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 16px;
    padding: 28px 36px;
    max-width: 560px;
}
.mr-portada-refrany p {
    margin: 0;
    font-size: 22px;
    line-height: 1.55;
    font-style: italic;
    font-weight: 400;
    text-shadow: 0 1px 6px rgba(0,0,0,0.5);
}
.mr-portada-cometes {
    font-size: 52px;
    line-height: 0;
    vertical-align: -0.35em;
    color: rgba(255,255,255,0.4);
    font-style: normal;
    display: inline-block;
}
.mr-portada-cometes-fi {
    float: right;
    margin-top: -10px;
}

/* Botó entrar */
.mr-portada-btn {
    background: rgba(255,255,255,0.92);
    color: #222;
    border: none;
    border-radius: 50px;
    padding: 16px 48px;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
    letter-spacing: 0.5px;
    transition: all 0.2s;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.mr-portada-btn:hover {
    background: #fff;
    transform: scale(1.04);
    box-shadow: 0 6px 28px rgba(0,0,0,0.4);
}
.mr-portada-btn:active { transform: scale(0.98); }



/* Mòbil */
@media (max-width: 640px) {
    .mr-portada-cap h1    { font-size: 30px; }
    .mr-portada-refrany p { font-size: 19px; }
    .mr-portada-refrany   { padding: 22px 24px; }
    .mr-portada-btn       { font-size: 18px; padding: 15px 40px; }
    .mr-portada-content   { gap: 24px; padding: 32px 20px; }
}
