/* Solo layout My Account — colores 100% vía var() de cada marca (main.css + head_common) */
.acct-page { min-height: 100vh; background: var(--background); color: var(--foreground); }
.acct-shell { max-width: 980px; margin: 0 auto; padding: 1.5rem 1rem 3rem; }
.acct-shell-narrow { max-width: 28rem; }
.acct-header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: 1.25rem; }
.acct-kicker { margin: 0; color: var(--primary); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; }
.acct-tagline { margin: 0.25rem 0 0; color: var(--muted-foreground); font-size: 0.95rem; }
.acct-badge { border: 1px solid color-mix(in srgb, var(--primary) 35%, transparent); background: color-mix(in srgb, var(--primary) 10%, transparent); color: var(--primary); padding: 0.5rem 0.875rem; border-radius: 999px; font-weight: 700; font-size: 0.875rem; white-space: nowrap; }
.acct-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin-bottom: 0.75rem; }
@media (min-width: 720px) { .acct-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.acct-card { background: var(--card); border: 1px solid var(--border); border-radius: 16px; padding: 1rem; margin-bottom: 0.75rem; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06); }
.acct-stat p { margin: 0 0 0.25rem; color: var(--muted-foreground); font-size: 0.8125rem; }
.acct-stat strong { font-size: 1.375rem; font-weight: 700; color: var(--foreground); }
.acct-card h2 { margin: 0 0 0.75rem; font-size: 1.125rem; }
.acct-progress-label { display: flex; justify-content: space-between; font-size: 0.8125rem; color: var(--muted-foreground); margin-bottom: 0.375rem; }
.acct-progress { height: 10px; background: var(--muted, #f1f5f9); border-radius: 999px; overflow: hidden; margin-bottom: 0.875rem; }
.acct-progress-bar { height: 100%; width: 40%; background: var(--primary); border-radius: 999px; transition: width 0.35s ease; }
.acct-progress-bar--accent { background: var(--accent-green, var(--primary)); }
.acct-copy-row { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.acct-copy-row input { flex: 1; min-width: 12rem; }
.acct-share-row { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.75rem; }
.acct-share { display: inline-flex; align-items: center; padding: 0.5rem 0.875rem; border-radius: var(--radius, 0.75rem); border: 1px solid var(--border); background: var(--card); color: var(--foreground); font-size: 0.875rem; font-weight: 600; text-decoration: none; }
.acct-share:hover { border-color: var(--primary); color: var(--primary); }
.acct-locked { border: 1px dashed var(--border); border-radius: 12px; padding: 0.875rem; text-align: center; color: var(--muted-foreground); font-size: 0.9rem; }
.acct-hint { background: color-mix(in srgb, var(--primary) 8%, var(--card)); border: 1px solid color-mix(in srgb, var(--primary) 20%, var(--border)); border-radius: 12px; padding: 0.875rem; font-size: 0.9rem; }
.acct-no-min { color: var(--accent-green, #22c55e); font-weight: 600; font-size: 0.85rem; margin: 0 0 0.75rem; }
.acct-form label { display: block; font-size: 0.875rem; font-weight: 600; margin-bottom: 0.75rem; }
.acct-form label input { width: 100%; margin-top: 0.25rem; }
.acct-muted { color: var(--muted-foreground); font-size: 0.875rem; }
.acct-success { background: color-mix(in srgb, var(--accent-green, #22c55e) 12%, var(--card)); color: #047857; padding: 0.625rem 0.75rem; border-radius: 8px; font-size: 0.9rem; margin-bottom: 1rem; border: 1px solid color-mix(in srgb, var(--accent-green, #22c55e) 35%, transparent); }
.acct-report-note { text-align: center; color: var(--muted-foreground); font-size: 0.85rem; margin: -0.5rem 0 1rem; }
.acct-site-footer { margin-top: auto; padding: 1.25rem 1rem; text-align: center; font-size: 0.85rem; color: var(--muted-foreground); border-top: 1px solid var(--border); background: var(--card); }
.acct-site-footer a { color: var(--primary); text-decoration: none; margin: 0 0.5rem; }
.acct-login-wrap { min-height: 100vh; display: flex; flex-direction: column; background: var(--background); }
.acct-login-main { flex: 1; display: flex; align-items: center; justify-content: center; padding: 2rem 1rem; }
