/* Portal (/) y Ajustes del club (/club/). Lo común está en /shared/base.css. */
.portal { max-width: 900px; margin: 0 auto; padding: 32px clamp(16px, 4vw, 40px) 16px; display: grid; gap: 28px; }
.portal-intro { display: grid; gap: 10px; justify-items: center; text-align: center; }
.portal-intro h1 { font-size: clamp(24px, 4vw, 34px); }
.portal-logo { width: 140px; height: auto; background: #fff; border-radius: 12px; padding: 8px; }
.portal-title { font-size: 15px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin-bottom: 12px; }
.portal-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.portal-card { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; text-decoration: none; transition: border-color .15s, transform .15s; }
.portal-card:hover { border-color: var(--accent); transform: translateY(-1px); }
.portal-card strong { display: block; font-size: 16px; margin-bottom: 2px; }
.portal-card small { display: block; color: var(--muted); font-size: 13.5px; }
.portal-icon { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 10px; background: var(--accent-soft); color: var(--accent-strong); }

.club-wrap { max-width: 760px; margin: 0 auto; padding: 24px clamp(16px, 4vw, 40px); display: grid; gap: 20px; }
.logo-box { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.logo-box img { max-width: 160px; max-height: 90px; background: #fff; border-radius: 8px; padding: 6px; border: 1px solid var(--line); }
.color-row { display: flex; gap: 10px; align-items: center; }
.color-row input[type="color"] { width: 48px; height: 38px; padding: 2px; }
