:root{--bg: #000000;--card: #1C1C1E;--card-radius: 22px;--text-primary: #FFFFFF;--text-secondary: #8E8E93;--accent-water: #3B9EFF;--accent-streak: #FF9500;--pill-bg: #2C2C2E;--danger: #FF453A;--success: #34C759;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain}button,input,select,textarea{font-family:inherit;color:inherit}a{color:inherit;text-decoration:none}.pantalla{min-height:100%;padding:calc(20px + var(--safe-top)) 16px calc(90px + var(--safe-bottom));max-width:480px;margin:0 auto}.titulo-pantalla{font-size:28px;font-weight:700;margin:0 0 20px}.card{background:var(--card);border-radius:var(--card-radius);padding:18px;margin-bottom:14px}.card-titulo{font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin:0 0 10px}.btn-pill{background:var(--pill-bg);color:var(--text-primary);border:none;border-radius:999px;padding:10px 18px;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.btn-pill:active{opacity:.7}.btn-primario{background:var(--accent-streak);color:#000;border:none;border-radius:16px;padding:14px;font-size:16px;font-weight:700;width:100%;cursor:pointer}.btn-primario:disabled{opacity:.5}.btn-secundario{background:var(--pill-bg);color:var(--text-primary);border:none;border-radius:16px;padding:14px;font-size:16px;font-weight:600;width:100%;cursor:pointer}.input{width:100%;background:var(--pill-bg);border:none;border-radius:14px;padding:14px;font-size:16px;color:var(--text-primary);margin-bottom:12px}.input::placeholder{color:var(--text-secondary)}.label{font-size:13px;color:var(--text-secondary);margin:0 0 6px;display:block}.error-texto{color:var(--danger);font-size:14px;margin:-4px 0 12px}.barra-progreso{height:8px;background:var(--pill-bg);border-radius:999px;overflow:hidden}.barra-progreso-relleno{height:100%;border-radius:999px;transition:width .3s ease}.fila-entre{display:flex;align-items:center;justify-content:space-between}.texto-secundario{color:var(--text-secondary);font-size:14px}.numero-grande{font-size:32px;font-weight:700;color:var(--text-primary)}.nav-inferior{position:fixed;bottom:0;left:0;right:0;background:#000000eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid #2C2C2E;padding:10px 12px calc(10px + var(--safe-bottom));display:flex;justify-content:space-around;max-width:480px;margin:0 auto}.nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 14px;border-radius:999px;color:var(--text-secondary);font-size:11px;font-weight:600;background:transparent;border:none;cursor:pointer}.nav-item.activo{background:var(--accent-streak);color:#000}.semana{display:flex;justify-content:space-between;margin-bottom:18px}.dia-semana{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px}.dia-semana-circulo{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text-primary)}.dia-semana.seleccionado .dia-semana-circulo{background:#fff;color:#000}.dia-semana-punto{width:5px;height:5px;border-radius:50%;background:var(--accent-streak);visibility:hidden}.dia-semana.registrado .dia-semana-punto{visibility:visible}.spinner-texto{color:var(--text-secondary);text-align:center;padding:40px 0}.chip{display:inline-block;background:var(--pill-bg);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--text-secondary);margin:0 6px 6px 0;cursor:pointer;border:none}.chip.activo{background:var(--accent-streak);color:#000;font-weight:600}.modal-fondo{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:50}.modal-contenido{background:#1c1c1e;border-radius:24px 24px 0 0;padding:22px 18px calc(22px + var(--safe-bottom));width:100%;max-width:480px;max-height:85vh;overflow-y:auto}
