/* Club Recrear · interfaz móvil 18 */
.featured-section{margin-top:20px;background:#e7f2ef;border-block:1px solid #c7dfd7}
#featuredAlerts{display:grid;gap:16px}
.featured-section article{box-shadow:0 8px 24px #163b3010;border:1px solid #b7d4cb;border-left:5px solid #087e67}
.featured-reason{font-size:.65em;font-weight:800;color:#087e67;letter-spacing:.08em;margin-bottom:12px}
.validity-label{display:block;margin-top:12px;font-size:.7em;color:#587080}
:root{color-scheme:light;--navy:#142c3f;--ink:#173448;--muted:#587080;--line:#dce7eb;--green:#087e67;--red:#b92e3b;--space:clamp(16px,4vw,32px)}
*{box-sizing:border-box}
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.mobile-body{margin:0;background:#f2f6f7;color:var(--ink);font:clamp(18px,3.6vw,32px)/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.6;cursor:default}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #1a80c6;outline-offset:4px}
[hidden]{display:none!important}
.phone{width:100%;min-width:0;min-height:100vh;min-height:100dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.user-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:calc(var(--space) + env(safe-area-inset-top)) var(--space) 32px;background:linear-gradient(135deg,#142c3f,#1a4656);color:#fff;border-radius:0 0 28px 28px}
.brand{display:flex;align-items:center;gap:12px;min-width:0;font-weight:800;font-size:1.05em;letter-spacing:-.035em}
.club-logo{display:block;width:clamp(48px,9vw,80px);height:auto;aspect-ratio:1;object-fit:contain}
.settings-button{align-self:center;display:grid;place-items:center;width:2.7em;min-width:48px;height:2.7em;min-height:48px;border:1px solid #ffffff40;border-radius:50%;background:#ffffff14;color:white;font-size:1em}
.settings-button svg{width:1.35em;height:1.35em}
.user-head>p{grid-column:1/-1;margin:12px 0 -10px;color:#aed6d3;text-transform:uppercase;font-size:.7em;font-weight:750;letter-spacing:.13em}
.user-head h1{grid-column:1/-1;font-size:clamp(30px,6vw,52px);line-height:1.12;letter-spacing:-.045em;margin:0;max-width:18ch}
.hero-caption{grid-column:1/-1;color:#d3e4e8;font-size:.9em;max-width:40ch}
.install-card{margin:var(--space);padding:16px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #cfe2df;border-radius:18px;background:#e5f2ed}
.install-icon{font-size:1.5em;color:var(--green)}
.install-card h2{font-size:.95em;line-height:1.25;margin:0 0 4px}
.install-card p{font-size:.8em;color:var(--muted);margin:0}
.install-card button{min-height:48px;border:0;background:var(--green);color:white;font-size:.8em;font-weight:750;padding:10px 14px;border-radius:12px}
.recent{padding:24px var(--space)}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.section-title h3{margin:0;font-size:1.2em;letter-spacing:-.025em}
.section-title span{font-size:.72em;color:var(--green)}
#recentAlerts{display:grid;gap:16px}
.recent article{min-width:0;position:relative;padding:1em;background:white;border:1px solid var(--line);border-left:4px solid #308597;border-radius:18px;box-shadow:0 5px 18px #18354405;overflow-wrap:anywhere;animation:appear .25s ease-out}
.recent article[data-severity="critica"]{border-left-color:var(--red)}
.recent article[data-severity="urgente"]{border-left-color:#bf7a13}
.recent i{display:inline-block;font-size:.65em;font-style:normal;font-weight:800;letter-spacing:.035em;padding:5px 9px;border-radius:7px;background:#fff1d8;color:#89530a}
.recent i.critical{background:#ffe8ea;color:#a32635}.recent i.info{background:#e8f3f8;color:#256679}
.recent time{display:block;color:var(--muted);font-size:.7em;margin-top:10px}
.recent h4{font-size:1.16em;line-height:1.3;letter-spacing:-.025em;margin:14px 0 8px}
.recent article>p{margin:0 0 16px;color:var(--muted);font-size:.95em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.recent b{display:block;font-size:.72em;color:var(--muted);font-weight:600}
.view-alert{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;margin-top:16px;padding:12px 0 0;border:0;border-top:1px solid #edf2f4;background:white;color:var(--green);font-size:.85em;font-weight:750}
.view-alert::after{content:"↗";font-size:1.2em}
.empty-feed{border:1px dashed #c8d9df;padding:24px;border-radius:18px;color:var(--muted)}
.install-dialog{position:fixed;width:calc(100% - 20px);max-width:760px;max-height:90vh;max-height:90dvh;margin:auto auto 0;padding:64px var(--space) calc(24px + env(safe-area-inset-bottom));border:0;border-radius:26px 26px 0 0;background:#fff;color:var(--ink);font:inherit;overflow:auto;overscroll-behavior:contain}
.install-dialog[open]{animation:slide-in .2s ease-out}
.install-dialog::backdrop{background:#071e32a6;backdrop-filter:blur(4px)}
.dialog-close{position:absolute;right:16px;top:12px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#eef3f5;color:var(--ink);font-size:28px}
.install-dialog h2{font-size:1.35em;line-height:1.2;letter-spacing:-.035em;margin:0 0 14px}
.club-dialog-logo{width:72px;height:72px;object-fit:contain;margin-bottom:20px}
#deviceState{display:inline-block;font-size:.75em;color:var(--green);background:#eaf6f0;padding:6px 12px;border-radius:30px}
.permission-card{display:grid;gap:20px;margin-top:24px}.bell{display:none}
.permission-card h2{font-size:1.1em}
.permission-card p{margin:0;color:var(--muted);font-size:.9em}
.club-select{display:block;font-size:.9em;font-weight:700;min-width:0}
.club-select select{display:block;min-height:54px;width:100%;margin-top:10px;padding:12px;border:1px solid #c5d7de;border-radius:12px;background:#f7fafb;color:var(--ink)}
.consent-card{display:flex;gap:14px;padding:16px;border:2px solid #a9cdc2;border-radius:16px;background:#f1f8f4;cursor:pointer;font-weight:400}
#consentCheck{flex:none;width:30px;height:30px;margin:3px 0 0;accent-color:var(--green)}
.consent-card>span{min-width:0}.consent-card strong{display:block;margin-bottom:6px;font-size:1em}
.consent-card>span>span{display:block;font-size:.9em;color:var(--muted)}
.consent-card:focus-within{outline:3px solid #1a80c6;outline-offset:3px}
.danger{width:100%;min-height:54px;padding:14px 18px;border:0;border-radius:14px;background:var(--green);color:#fff;font-size:.95em;font-weight:750}
#unsubscribeButton{background:#fff0f1;color:#a32635}
.permission-card small{font-size:.75em;color:var(--muted);text-align:center}
#alertMeta{font-size:.75em;color:var(--green);margin:0 0 16px}
#alertBody{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1em;line-height:1.7}
#alertTitle,#alertClub{overflow-wrap:anywhere}
#alertClub{border-top:1px solid var(--line);padding-top:16px;font-size:.85em;color:var(--muted)}
#understoodInstall{margin-top:24px}
@media(max-width:380px){.install-card{grid-template-columns:30px minmax(0,1fr)}.install-card button{grid-column:1/-1}.brand{gap:8px}}
@media(min-width:768px){.install-dialog{margin:auto;border-radius:24px}.recent time{display:inline;float:right;margin:4px 0 0 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes slide-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
