:root, [data-theme="azevi"] {
    --bg: #0a0a0a; --bg2: #111111; --bg3: #1a1a1a; --card: #141414;
    --border: #2a2a2a; --text: #f5f5f5; --text2: #8a8a8a;
    --accent: #c4a06a; --accent2: #a6844e; --danger: #ef4444; --warning: #d4b45a;
    --link: #e0c48a; --tech: #c4a06a; --toast-text: #1a140c;
    --badge-bg: #2a2318; --badge-text: #e0c48a;
    --pain-bg: #7f1d1d; --pain-border: #b91c1c; --pain-text: #fecaca;
    --warn-bg: #1c1917; --warn-border: #78350f; --warn-text: #fbbe24;
    --grad1: #141414; --grad2: #0a0a0a;
    --radius: 16px;
  }
  [data-theme="ocean"] {
    --bg: #0b1220; --bg2: #141c2e; --bg3: #1e293b; --card: #141c2e;
    --border: #243047; --text: #f1f5f9; --text2: #94a3b8;
    --accent: #3b82f6; --accent2: #22c55e; --danger: #ef4444; --warning: #f59e0b;
    --link: #93c5fd; --tech: #fbbf24; --toast-text: #052e16;
    --badge-bg: #1e3a5f; --badge-text: #93c5fd;
    --pain-bg: #7f1d1d; --pain-border: #b91c1c; --pain-text: #fecaca;
    --warn-bg: #1c1917; --warn-border: #78350f; --warn-text: #fbbe24;
    --grad1: #141c2e; --grad2: #0b1220;
  }
  /* Masculinos */
  [data-theme="graphite"] {
    --bg: #111113; --bg2: #1c1c1f; --bg3: #2a2a2e; --card: #1c1c1f;
    --border: #3f3f46; --text: #fafafa; --text2: #a1a1aa;
    --accent: #60a5fa; --accent2: #4ade80; --danger: #f87171; --warning: #fbbf24;
    --link: #93c5fd; --tech: #fde68a; --toast-text: #052e16;
    --badge-bg: #1e293b; --badge-text: #bfdbfe;
    --pain-bg: #7f1d1d; --pain-border: #ef4444; --pain-text: #fecaca;
    --warn-bg: #1c1917; --warn-border: #a16207; --warn-text: #fde68a;
    --grad1: #1c1c1f; --grad2: #111113;
  }
  [data-theme="forest"] {
    --bg: #0c1410; --bg2: #14201a; --bg3: #1e2e26; --card: #14201a;
    --border: #2d4036; --text: #f0fdf4; --text2: #86a899;
    --accent: #34d399; --accent2: #4ade80; --danger: #f87171; --warning: #fbbf24;
    --link: #6ee7b7; --tech: #fde68a; --toast-text: #052e16;
    --badge-bg: #14532d; --badge-text: #bbf7d0;
    --pain-bg: #7f1d1d; --pain-border: #ef4444; --pain-text: #fecaca;
    --warn-bg: #1a1508; --warn-border: #a16207; --warn-text: #fde68a;
    --grad1: #14201a; --grad2: #0c1410;
  }
  /* Femininos */
  [data-theme="rose"] {
    --bg: #1a1014; --bg2: #261820; --bg3: #3a2430; --card: #261820;
    --border: #4a3040; --text: #fff1f2; --text2: #d4a5b0;
    --accent: #f472b6; --accent2: #fb7185; --danger: #fb7185; --warning: #fbbf24;
    --link: #f9a8d4; --tech: #fde68a; --toast-text: #4c0519;
    --badge-bg: #4a1942; --badge-text: #fbcfe8;
    --pain-bg: #7f1d1d; --pain-border: #e11d48; --pain-text: #fecdd3;
    --warn-bg: #1c1410; --warn-border: #a16207; --warn-text: #fde68a;
    --grad1: #261820; --grad2: #1a1014;
  }
  [data-theme="lilac"] {
    --bg: #130f1c; --bg2: #1c1628; --bg3: #2c2240; --card: #1c1628;
    --border: #3d3258; --text: #f5f3ff; --text2: #c4b5fd;
    --accent: #a78bfa; --accent2: #c084fc; --danger: #f472b6; --warning: #fbbf24;
    --link: #ddd6fe; --tech: #fde68a; --toast-text: #2e1065;
    --badge-bg: #2e1065; --badge-text: #ddd6fe;
    --pain-bg: #7f1d1d; --pain-border: #e11d48; --pain-text: #fecdd3;
    --warn-bg: #1c1410; --warn-border: #a16207; --warn-text: #fde68a;
    --grad1: #1c1628; --grad2: #130f1c;
  }
  [data-theme="peach"] {
    --bg: #1a120e; --bg2: #261a14; --bg3: #3a2820; --card: #261a14;
    --border: #4a3528; --text: #fff7ed; --text2: #d4b5a0;
    --accent: #fb923c; --accent2: #f472b6; --danger: #f87171; --warning: #fbbf24;
    --link: #fdba74; --tech: #fde68a; --toast-text: #7c2d12;
    --badge-bg: #7c2d12; --badge-text: #fed7aa;
    --pain-bg: #7f1d1d; --pain-border: #ef4444; --pain-text: #fecaca;
    --warn-bg: #1c1410; --warn-border: #a16207; --warn-text: #fde68a;
    --grad1: #261a14; --grad2: #1a120e;
  }
  * { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
  body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--bg); color: var(--text); min-height: 100vh; min-height: 100dvh;
    padding-bottom: 100px; line-height: 1.45;
    -webkit-font-smoothing: antialiased;
  }
  header {
    background: linear-gradient(180deg, var(--grad1) 0%, var(--grad2) 100%);
    padding: calc(16px + env(safe-area-inset-top)) 16px 14px; position: sticky; top: 0; z-index: 50;
    border-bottom: 1px solid var(--border);
    backdrop-filter: blur(12px);
  }
  .hdr-row{display:flex;align-items:center;gap:12px;}
  .hdr-mark{width:44px;height:44px;object-fit:contain;flex:0 0 44px;background:transparent;}
  .hdr-brand{flex:1;min-width:0;}
  .hdr-meta{text-align:right;flex:0 0 auto;max-width:46%;min-width:0;}
  .hdr-userline{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
  .hdr-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:center;flex:0 0 52px;border:2px solid var(--accent);background:var(--bg3);}
  .hdr-avatar.lg{width:88px;height:88px;flex-basis:88px;}
  .avatar-edit{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:8px;}
  .avatar-edit .btn{width:auto;min-height:42px;padding:8px 12px;}
  header h1 { font-size: 1.55rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; line-height:1; margin:0; }
  header h1 span{color:var(--accent);}
  header .app-tag {
    font-size: 0.72rem; color: var(--text2); letter-spacing: 0.12em;
    text-transform: uppercase; margin-top: 6px; font-weight: 600;
  }
  header .app-user {
    font-size: 0.92rem; color: var(--accent); font-weight: 700; line-height:1.2;
  }
  header .app-date { font-size: 0.75rem; color: var(--text2); margin-top: 4px; line-height:1.3; }
  header .app-motto {
    font-size: 0.88rem; color: var(--text); margin-top: 12px;
    font-weight: 500; line-height: 1.4; font-style: normal;
    background: var(--card); border: 1px solid var(--border);
    border-radius: 12px; padding: 10px 12px;
  }
  .container { padding: 16px; max-width: 480px; margin: 0 auto; }
  .card {
    background: var(--card); border-radius: var(--radius); padding: 16px;
    margin-bottom: 12px; border: 1px solid var(--border);
    box-shadow: 0 1px 0 rgba(255,255,255,0.04), 0 8px 24px rgba(0,0,0,0.28);
  }
  .card-title {
    font-size: 0.68rem; font-weight: 700; color: var(--text2);
    text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 12px;
  }
  .btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    padding: 14px 18px; border-radius: 14px; border: none;
    font-size: 0.92rem; font-weight: 700; cursor: pointer; transition: 0.15s;
    min-height: 48px;
  }
  .btn-primary {
    background: var(--accent); color: var(--toast-text); width: 100%;
    box-shadow: 0 6px 16px color-mix(in srgb, var(--accent) 35%, transparent);
  }
  .btn-primary:active { transform: scale(0.98); opacity: 0.92; }
  .btn-ghost {
    background: var(--bg3); color: var(--text); border: 1px solid var(--border); width: 100%;
  }
  .btn-sm { padding: 8px 12px; font-size: 0.78rem; border-radius: 10px; width: auto; }
  .btn-timer {
    background: var(--bg3); color: var(--text); border: 1px solid var(--border);
    padding: 12px 14px; border-radius: 10px; font-weight: 600; font-size: 0.8rem; cursor: pointer;
    min-height: 44px; min-width: 44px;
  }
  .btn-timer.active, .btn-timer.on { background: var(--accent); color: white; border-color: var(--accent); }
  .check-item {
    display: flex; align-items: center; gap: 12px; padding: 12px 0;
    border-bottom: 1px solid var(--border);
  }
  .check-item:last-child { border-bottom: none; }
  .check-item label { flex: 1; font-size: 0.92rem; }
  .check-box {
    width: 26px; height: 26px; border-radius: 8px; border: 2px solid var(--border);
    background: var(--bg); display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; cursor: pointer;
  }
  .check-box.done { background: var(--accent2); border-color: var(--accent2); }
  .check-box.done::after { content: "✓"; color: var(--toast-text); font-weight: 700; font-size: 14px; }
  input[type="number"], input[type="text"], select, textarea {
    background: var(--bg); border: 1px solid var(--border); border-radius: 12px;
    padding: 13px 14px; color: var(--text); font-size: 16px; width: 100%;
    min-height: 46px;
  }
  select { appearance: none; background-image: none; }
  input:focus, select:focus, textarea:focus { outline: 2px solid var(--accent); border-color: transparent; }
  textarea { min-height: 68px; resize: vertical; }
  .row { display: flex; gap: 8px; }
  .row > * { flex: 1; }
  .exercise {
    background: var(--bg); border-radius: 12px; padding: 12px;
    margin-bottom: 9px; border: 1px solid var(--border);
  }
  .exercise-name { font-weight: 700; font-size: 0.98rem; margin-bottom: 4px; letter-spacing: -0.01em; }
  .exercise-meta { font-size: 0.7rem; color: var(--text2); margin-bottom: 7px; }
  .last-load { font-size: 0.7rem; color: var(--accent); margin-bottom: 7px; font-weight: 600; }
  .yt-link {
    display: inline-block; font-size: 0.72rem; color: var(--link);
    text-decoration: none; margin: 2px 0 8px; font-weight: 600;
  }
  .yt-link:active { opacity: 0.7; }
  .tech-line {
    font-size: 0.72rem;
    color: var(--tech);
    margin: 2px 0 6px;
    font-weight: 600;
    line-height: 1.35;
  }
  .tech-line.no-tech { color: var(--text2); font-weight: 500; }
  .nav {
    position: fixed; bottom: 0; left: 0; right: 0;
    background: color-mix(in srgb, var(--bg2) 92%, transparent);
    backdrop-filter: blur(16px);
    border-top: 1px solid var(--border); display: flex; justify-content: space-around;
    padding: 10px 6px calc(14px + env(safe-area-inset-bottom)); z-index: 100;
    box-shadow: 0 -8px 28px rgba(0,0,0,0.25);
  }
  .nav button {
    background: none; border: none; color: var(--text2); font-size: 0.62rem;
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    padding: 8px 10px; cursor: pointer; min-width: 56px; min-height: 48px;
    border-radius: 12px; font-weight: 600;
  }
  .nav button.active {
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 12%, transparent);
  }
  .nav .icon {
    width: 22px; height: 22px; display: flex; align-items: center; justify-content: center;
  }
  .nav .icon svg {
    width: 22px; height: 22px; stroke: currentColor; fill: none;
    stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
  }
  .ui-ico {
    width: 18px; height: 18px; display: inline-flex; vertical-align: -3px; margin-right: 6px;
  }
  .ui-ico svg {
    width: 18px; height: 18px; stroke: currentColor; fill: none;
    stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
  }
  .page { display: none; }
  .page.active { display: block; animation: fade 0.2s ease; }
  @keyframes fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
  .progress-bar { height: 8px; background: var(--bg3); border-radius: 99px; overflow: hidden; margin-top: 12px; }
  .progress-bar span {
    display: block; height: 100%; background: linear-gradient(90deg, var(--accent2), var(--accent));
    border-radius: 4px; transition: width 0.35s;
  }
  .stat-grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
  .stat {
    background: var(--bg); border-radius: 14px; padding: 14px 6px;
    text-align: center; border: 1px solid var(--border);
  }
  .stat .value { font-size: 1.45rem; font-weight: 800; color: var(--accent); letter-spacing: -0.03em; }
  .stat .label { font-size: 0.68rem; color: var(--text2); margin-top: 4px; font-weight: 600; }
  h2 { font-size: 1.05rem; margin-bottom: 12px; font-weight: 700; }
  .section-label {
    font-size: 0.7rem; color: var(--text2); margin: 12px 0 5px;
    text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600;
  }
  .toast {
    position: fixed; bottom: 96px; left: 50%; transform: translateX(-50%);
    background: var(--accent2); color: var(--toast-text); padding: 11px 18px;
    border-radius: 12px; font-weight: 700; font-size: 0.82rem;
    opacity: 0; transition: 0.3s; pointer-events: none; z-index: 200;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
  }
  .toast.show { opacity: 1; }
  .day-selector { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 8px; margin-bottom: 6px; }
  .day-btn {
    flex-shrink: 0; padding: 8px 12px; border-radius: 20px; background: var(--bg3);
    border: none; color: var(--text2); font-size: 0.78rem; font-weight: 600; cursor: pointer;
  }
  .day-btn.active { background: var(--accent); color: white; }
  .hist-item {
    display: flex; justify-content: space-between; align-items: flex-start; gap: 10px;
    padding: 9px 0; border-bottom: 1px solid var(--border); font-size: 0.84rem;
  }
  .hist-item:last-child { border-bottom: none; }
  .hist-value { font-weight: 600; color: var(--accent2); text-align: right; max-width: 58%; word-break: break-word; }
  .hist-ex-block { padding: 10px 0; border-bottom: 1px solid var(--border); }
  .hist-ex-block:last-child { border-bottom: none; }
  .hist-ex-name { font-weight: 600; font-size: 0.86rem; margin-bottom: 4px; }
  .hist-ex-load { font-size: 0.82rem; color: var(--accent2); font-weight: 600; line-height: 1.35; word-break: break-word; }
  .hist-ex-obs { font-size: 0.75rem; color: var(--text2); margin-top: 3px; line-height: 1.35; }
  .empty { color: var(--text2); font-size: 0.84rem; text-align: center; padding: 22px 0; }
  .tabs { display: flex; gap: 5px; margin-bottom: 11px; flex-wrap: wrap; }
  .tab {
    flex: 1; min-width: 64px; text-align: center; padding: 9px 6px; background: var(--bg3);
    border: none; border-radius: 10px; color: var(--text2); font-weight: 600;
    font-size: 0.75rem; cursor: pointer;
  }
  .tab.active { background: var(--accent); color: white; }
  .delta-up { color: var(--accent2); }
  .delta-down { color: var(--danger); }
  .alert {
    background: var(--warn-bg); border: 1px solid var(--warn-border); color: var(--warn-text);
    border-radius: 12px; padding: 11px 13px; font-size: 0.82rem; margin-bottom: 11px;
  }
  .today-badge {
    display: inline-block; background: var(--badge-bg); color: var(--badge-text);
    font-size: 0.72rem; font-weight: 700; padding: 4px 10px; border-radius: 20px; margin-bottom: 9px;
  }
  .timer-box { text-align: center; padding: 6px 0 2px; }
  .timer-display {
    font-size: 2.2rem; font-weight: 700; font-variant-numeric: tabular-nums;
    letter-spacing: 0.04em; margin: 6px 0; color: var(--text);
  }
  .timer-display.running { color: var(--accent); }
  .timer-display.done { color: var(--accent2); }
  .timer-btns { display: flex; gap: 7px; justify-content: center; flex-wrap: wrap; margin-top: 7px; }
  .preset {
    background: var(--bg); border: 1px solid var(--border); border-radius: 12px;
    padding: 11px; margin-bottom: 8px; cursor: pointer;
  }
  .preset:active { border-color: var(--accent); }
  .preset b { display: flex; align-items: center; font-size: 0.88rem; margin-bottom: 3px; }
  .preset span { font-size: 0.72rem; color: var(--text2); }
  .chip-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 4px; }
  .chip {
    padding: 7px 11px; border-radius: 20px; background: var(--bg3); border: 1px solid var(--border);
    color: var(--text2); font-size: 0.75rem; font-weight: 600; cursor: pointer;
  }
  .chip.on { background: var(--accent); color: white; border-color: var(--accent); }
  .hint { font-size: 0.72rem; color: var(--text2); margin-top: 6px; line-height: 1.4; }
  body.gym-mode .nav { display: none !important; }
  body.gym-mode header { display: none !important; }
  body.gym-mode { padding-bottom: 28px; }
  body.gym-mode #page-treino h2 { display: none; }
  body.gym-mode #day-selector,
  body.gym-mode #today-indicator { display: none; }
  body.gym-mode .gym-hide { display: none !important; }
  body.gym-mode .treino-extra-toggle { display: none !important; }
  .rest-timer-card{
    position:sticky; top:58px; z-index:45;
    background:var(--card); margin-bottom:10px;
    box-shadow:0 8px 18px rgba(0,0,0,.35);
  }
  body.gym-mode .rest-timer-card{ top:0; }
  .session-clock{
    font-size:.8rem; color:var(--accent); font-weight:700;
    margin:0 0 10px; letter-spacing:.04em;
  }
  #btn-session.on{ border-color:var(--accent); color:var(--accent); }
  body.gym-mode .exercise { padding: 16px; margin-bottom: 12px; }
  body.gym-mode .exercise-name { font-size: 1.05rem; }
  body.gym-mode input[type="text"] { min-height: 48px; font-size: 1rem; }
  .gym-bar {
    display: flex; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; align-items: center;
  }
  .btn-use-last {
    background: var(--badge-bg); color: var(--badge-text); border: 1px solid var(--accent);
    padding: 6px 10px; border-radius: 8px; font-size: 0.72rem; font-weight: 700;
    cursor: pointer; margin-top: 6px; margin-bottom: 8px;
  }
  .pain-row { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
  .pain-chip {
    padding: 10px 12px; border-radius: 14px; font-size: 0.75rem; font-weight: 600;
    background: var(--bg3); border: 1px solid var(--border); color: var(--text2); cursor: pointer;
    min-height: 44px;
  }
  .pain-chip.on { background: var(--pain-bg); border-color: var(--pain-border); color: var(--pain-text); }
  .deload-box {
    background: #0f172a; border: 1px solid var(--border); border-radius: 12px;
    padding: 10px 12px; margin-bottom: 11px; font-size: 0.82rem;
  }
  .deload-box strong { color: var(--accent); }
  .deload-box.warn { border-color: var(--warn-border); background: var(--warn-bg); color: var(--warn-text); }
  .deload-active {
    background: var(--warn-bg); border: 1px solid var(--warning); color: var(--warn-text);
    border-radius: 12px; padding: 10px 12px; margin-bottom: 10px; font-size: 0.82rem; line-height: 1.4;
  }
  #btn-deload-mode.on {
    background: #b45309; color: #fff7ed; border-color: #b45309;
  }
  .tech-line.deload-tech { color: var(--tech); }
  .theme-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
  }
  .theme-btn {
    border: 2px solid var(--border); border-radius: 12px; padding: 10px 6px;
    background: var(--bg); color: var(--text); cursor: pointer; text-align: center;
    font-size: 0.7rem; font-weight: 600; line-height: 1.25;
  }
  .theme-btn .swatch {
    width: 100%; height: 18px; border-radius: 8px; margin-bottom: 6px;
    border: 1px solid rgba(255,255,255,0.15);
  }
  .theme-btn.active {
    border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent);
  }
  .theme-group-label {
    font-size: 0.7rem; color: var(--text2); text-transform: uppercase;
    letter-spacing: 0.05em; margin: 8px 0 6px; font-weight: 700;
  }
  .train-now {
    display: none; width: 100%; margin-bottom: 12px; min-height: 56px;
    font-size: 1.05rem; font-weight: 800; letter-spacing: -0.02em;
  }
  .hero-topline {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    margin-bottom: 10px;
  }
  .hero-icon-btn {
    width: 42px; height: 42px; min-width: 42px; border-radius: 12px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--border); background: var(--bg3); color: var(--accent);
    cursor: pointer; padding: 0; transition: transform .15s ease, border-color .15s ease, background .15s ease;
  }
  .hero-icon-btn svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8;
    stroke-linecap: round; stroke-linejoin: round; }
  .hero-icon-btn:active { transform: scale(.96); }
  .hero-icon-btn:hover { border-color: var(--accent); background: var(--badge-bg); }
  .train-now.show { display: inline-flex; }
  .chart-row {
    display: flex; align-items: flex-end; gap: 6px; height: 90px;
    margin-top: 8px; padding-top: 6px;
  }
  .chart-bar-wrap { flex: 1; display: flex; flex-direction: column; align-items: center; height: 100%; justify-content: flex-end; }
  .chart-bar {
    width: 100%; max-width: 36px; border-radius: 6px 6px 2px 2px;
    background: linear-gradient(180deg, var(--accent), var(--accent2));
    min-height: 4px; transition: height 0.3s;
  }
  .chart-label { font-size: 0.62rem; color: var(--text2); margin-top: 4px; text-align: center; line-height: 1.2; }
  .chart-val { font-size: 0.65rem; color: var(--accent); font-weight: 700; margin-bottom: 3px; }
  .meta-input { margin-bottom: 8px; }
  .modal-overlay {
    display: none; position: fixed; inset: 0; z-index: 300;
    background: rgba(0,0,0,0.65); align-items: center; justify-content: center;
    padding: 18px; backdrop-filter: blur(4px);
  }
  .modal-overlay.show { display: flex; }
  .modal-box {
    background: var(--card); border: 1px solid var(--border); border-radius: 18px;
    padding: 18px; width: 100%; max-width: 360px;
    box-shadow: 0 16px 40px rgba(0,0,0,0.45);
  }
  .modal-box h3 { font-size: 1.05rem; margin-bottom: 8px; }
  .modal-box p { font-size: 0.86rem; color: var(--text2); line-height: 1.45; margin-bottom: 14px; }
  .modal-actions { display: flex; flex-direction: column; gap: 8px; }
  .modal-actions .btn { min-height: 46px; }
  .modal-snooze { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
  .modal-snooze .btn-timer { flex: 1; min-width: 70px; }

/* ===== AZEVI+ 2.7 ===== */
.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.kpi{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px}.kpi b{font-size:1.05rem;color:var(--accent);display:block}.kpi span{font-size:.68rem;color:var(--text2)}
.insight{border-left:3px solid var(--accent);background:var(--bg);padding:11px 12px;border-radius:10px;margin:7px 0;font-size:.82rem;line-height:1.4}.insight.good{border-color:var(--accent2)}.insight.warn{border-color:var(--warning)}.insight.bad{border-color:var(--danger)}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.report-item{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:10px}.report-item .v{font-weight:800;font-size:1rem;color:var(--accent)}.report-item .l{font-size:.68rem;color:var(--text2)}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.photo-card{position:relative;background:var(--bg);border:1px solid var(--border);border-radius:10px;overflow:hidden}.photo-card img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.photo-card small{display:block;padding:5px;font-size:.62rem;color:var(--text2)}
.health-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.health-grid label{font-size:.68rem;color:var(--text2);display:block;margin-bottom:4px}.health-grid input{min-width:0}
.section-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mini-note{font-size:.7rem;color:var(--text2);line-height:1.4}.recommend{font-size:.78rem;color:var(--text);line-height:1.45}.progress-row{margin:9px 0}.progress-row>div:first-child{display:flex;justify-content:space-between;font-size:.72rem;margin-bottom:4px}.progress-track{height:7px;border-radius:99px;background:var(--bg3);overflow:hidden}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:99px}.photo-input{display:none}.nav button{min-width:48px}.nav button .nav-label{font-size:.62rem}
@media(max-width:380px){.nav button{padding-left:5px;padding-right:5px;min-width:42px}.nav .icon{width:20px}.nav .icon svg{width:20px;height:20px}}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:8px}.cal-head{font-size:.62rem;color:var(--text2);text-align:center}.cal-day{min-height:34px;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.68rem;position:relative;background:var(--bg2)}.cal-day.train{border-color:var(--accent2);box-shadow:inset 0 -3px 0 var(--accent2)}.cal-day.cardio{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}.cal-day.both{border-color:var(--accent);box-shadow:inset 0 -5px 0 var(--accent2)}.cal-day.today{outline:2px solid var(--text);outline-offset:1px}.cal-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:.68rem;color:var(--text2);margin-top:9px}.pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pr-card{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg2)}.pr-card b{font-size:.9rem}.pr-card small{display:block;color:var(--text2);margin-top:3px}.quick-row{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 8px}.quick-row button{font-size:.68rem;padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--bg2);color:var(--text)}


/* AZEVI+ */
.planner-grid{display:grid;grid-template-columns:repeat(7,minmax(72px,1fr));gap:6px;overflow-x:auto}.plan-day{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:8px 6px;text-align:center;min-height:86px}.plan-day .dow{font-size:.68rem;color:var(--text2);font-weight:700}.plan-day .ptype{font-size:.72rem;margin:7px 0;line-height:1.25}.plan-day button{font-size:.65rem;padding:5px 6px;border-radius:8px}.photo-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-compare .compare-box{min-width:0}.photo-compare img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;background:var(--bg3)}.compare-label{font-size:.68rem;color:var(--text2);margin-bottom:5px}.library-panel{margin-top:8px;padding-top:2px;border-top:1px solid var(--border)}.library-grid{display:grid;gap:7px}.library-item{padding:9px;border:1px solid var(--border);border-radius:10px;background:var(--bg2)}.library-item b{display:block;line-height:1.25}.library-item small{font-size:.68rem}.exercise-library-card .btn{margin-top:2px}.photo-compare-empty{padding:12px}.library-item b{font-size:.8rem}.library-item small{display:block;color:var(--text2);margin-top:3px}.coach-score{display:flex;align-items:center;gap:10px;margin-bottom:9px}.coach-score .num{font-size:1.5rem;font-weight:800}.coach-chip{padding:4px 8px;border-radius:999px;background:var(--bg3);font-size:.68rem}.export-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:520px){.planner-grid{grid-template-columns:repeat(7,86px)}.photo-compare{grid-template-columns:1fr 1fr}}

/* AZEVI+ UX */
.evo-collapse{cursor:pointer;user-select:none;display:flex;align-items:center;gap:8px}
.evo-collapse::after{content:"⌄";font-size:1rem;color:var(--text2);transition:transform .18s ease}
.card.evo-closed .evo-collapse::after{transform:rotate(-90deg)}
.card.evo-closed > :not(.evo-collapse){display:none!important}
.goal-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.goal-grid label{display:block;font-size:.68rem;color:var(--text2);margin-bottom:4px}
.next-exercise-btn{width:100%;margin-top:10px;border:0;background:transparent;color:var(--text2);font-size:.72rem;padding:8px;border-top:1px solid var(--border);cursor:pointer}
@media(max-width:520px){.goal-grid{grid-template-columns:1fr 1fr}.goal-grid>div:first-child{grid-column:1/-1}}

  header.compact { padding: 10px 16px 10px; }
  header.compact .app-tag,
  header.compact .app-motto { display: none; }
  header.compact .hdr-mark { width:28px;height:28px;flex-basis:28px; }
  header.compact h1 { font-size: 1.12rem; letter-spacing: 0.08em; }
  header.compact .app-user { font-size:.8rem; }
  header.compact .app-date { margin-top: 2px; font-size: 0.7rem; }
  .mais-list { display: flex; flex-direction: column; gap: 8px; }
  .mais-item {
    display: flex; align-items: center; gap: 12px;
    background: var(--bg); border: 1px solid var(--border);
    border-radius: 14px; padding: 14px 14px; cursor: pointer;
  }
  .mais-item b { display: block; font-size: 0.95rem; }
  .mais-item span { font-size: 0.72rem; color: var(--text2); }
  .treino-extra-toggle { margin-bottom: 10px; }

/* Auth */
.auth-overlay{
  position:fixed;inset:0;z-index:400;
  background:#070707 url("login-bg.jpg") center center / cover no-repeat;
  display:flex;align-items:flex-end;justify-content:center;
  padding:0;
}
.auth-overlay::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,8,8,.08) 0%,rgba(8,8,8,.2) 38%,rgba(8,8,8,.82) 78%);
}
.auth-overlay.hidden,.auth-overlay[hidden],#onboard-overlay.hidden,#onboard-overlay[hidden]{display:none !important;}
.auth-card{
  position:relative;z-index:1;width:100%;max-width:480px;
  padding:22px 22px 28px;background:rgba(8,8,8,.62);
  backdrop-filter:blur(10px);
}
.auth-brand{text-align:center;margin-bottom:16px;}
.auth-logo{width:72px;height:auto;margin:0 auto 10px;display:block;background:transparent;border:0;border-radius:0;filter:drop-shadow(0 8px 18px rgba(0,0,0,.45));}
.auth-word{
  font-size:1.55rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:#f5f5f5;line-height:1;
}
.auth-word span{color:#c4a06a;}
.auth-tag{
  margin-top:8px;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  color:#8a8a8a;font-weight:600;
}
.auth-line{
  width:42px;height:2px;background:#c4a06a;margin:16px auto 0;border:0;
}
.auth-card .hint{margin:14px 0 0;text-align:center;color:#9a9a9a;font-size:.82rem;line-height:1.45;}
.auth-card label{display:block;font-size:.68rem;color:#8a8a8a;margin:12px 0 5px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;}
.auth-card input{
  width:100%;background:#111;border:1px solid #2a2a2a;color:#f5f5f5;
  border-radius:12px;padding:12px 12px;font-size:1rem;
}
#auth-google{
  width:100%;margin-top:18px;display:flex;align-items:center;justify-content:center;gap:10px;
  background:#c4a06a;color:#14140a;font-weight:800;
}
.auth-google-ico{width:18px;height:18px;flex:0 0 18px;}
.auth-or{display:flex;align-items:center;gap:10px;margin:16px 0 4px;color:#5c5c5c;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;}
.auth-or::before,.auth-or::after{content:"";flex:1;height:1px;background:#2a2a2a;}
.auth-adv{margin-top:16px;border-top:1px solid #1f1f1f;padding-top:12px;}
.auth-adv summary{cursor:pointer;color:#6a6a6a;font-size:.75rem;font-weight:600;text-align:center;list-style:none;}
.auth-adv summary::-webkit-details-marker{display:none;}
.auth-foot{margin-top:18px;text-align:center;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#4a4a4a;}
body.locked .container, body.locked header, body.locked .nav { visibility:hidden; }

.page-back{
  display:inline-flex;align-items:center;gap:6px;
  border:1px solid var(--border);background:var(--bg2);color:var(--text);
  border-radius:999px;padding:10px 14px;font-size:.78rem;font-weight:600;
  margin:0 0 12px;cursor:pointer;min-height:44px;
}
.page-back svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.preset b{display:flex;align-items:center;gap:10px;}
.preset-ico{width:40px;height:40px;flex:0 0 40px;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:color-mix(in srgb,var(--accent) 16%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);}
.preset-ico svg,.title-ico svg,.page-back svg,.nav .icon svg,.hero-icon-btn svg{stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.preset-ico svg{width:20px;height:20px;}
.title-ico{width:28px;height:28px;flex:0 0 28px;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,transparent);}
.title-ico svg{width:16px;height:16px;}
.cal-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:.75rem;color:var(--text2);}
.cal-legend .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:middle;}
.cal-legend .d-train{background:#3d8b5a;}
.cal-legend .d-cardio{background:#3b6fd4;}
.cal-legend .d-both{background:#8b5cf6;}

.supp-row{display:grid;grid-template-columns:28px 1fr 1fr auto;gap:8px;align-items:center;margin-bottom:8px;}
.supp-row input{margin:0;min-height:42px;}
.supp-del{border:0;background:transparent;color:var(--text2);font-size:1.1rem;cursor:pointer;padding:6px;}
.supp-add{display:grid;gap:8px;margin-top:10px;}
@media(max-width:520px){.supp-row{grid-template-columns:28px 1fr auto;}.supp-row input:nth-of-type(2){grid-column:2/-2;}}

body.auth-local-only #auth-google,
body.auth-local-only .auth-or,
body.auth-local-only #auth-send,
body.auth-local-only label[for="auth-email"],
body.auth-local-only #auth-email{display:none;}
.auth-local-note{display:block;text-align:center;margin-top:10px;}
.exercise.is-done{opacity:.62;border-color:var(--accent);}
.ex-done{float:right;border:1px solid var(--border);background:var(--bg2);color:var(--text2);border-radius:999px;font-size:.72rem;font-weight:700;padding:10px 12px;cursor:pointer;min-height:44px;}
.exercise.is-done .ex-done{color:var(--toast-text);background:var(--accent);border-color:var(--accent);}
@media (min-width: 720px){
  header{
    max-width:480px;margin:0 auto;width:100%;
    border-left:1px solid var(--border);border-right:1px solid var(--border);
  }
  .container{max-width:480px;}
  .nav{
    left:50%;right:auto;transform:translateX(-50%);
    width:min(480px,100%);
    border-left:1px solid var(--border);border-right:1px solid var(--border);
    border-radius:18px 18px 0 0;
    padding-bottom:14px;
  }
  .auth-overlay{align-items:center;}
  .auth-card{background:rgba(8,8,8,.88);border-radius:20px;padding:32px 28px;}
}

.hist-del{float:right;border:1px solid var(--border);background:var(--bg2);color:var(--text2);font-size:.72rem;font-weight:700;cursor:pointer;padding:10px 12px;min-height:44px;border-radius:10px;}
.hist-del:active{color:var(--danger);}

.home-today-name{font-size:1.05rem;font-weight:700;margin-top:10px;}





body.catalog-open{overflow:hidden;}
.catalog-overlay{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.82);display:flex;align-items:flex-end;justify-content:center;padding:env(safe-area-inset-top) 10px calc(12px + env(safe-area-inset-bottom));}
.catalog-overlay[hidden]{display:none !important;}
.catalog-sheet{width:min(560px,100%);max-height:88vh;background:#161616;border:1px solid #c4a06a;border-radius:18px 18px 12px 12px;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 16px 40px rgba(0,0,0,.55);}
.catalog-sheet-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.catalog-sheet-bar strong{font-size:1.05rem;color:#f4f0e8;}
.catalog-sheet input[type="search"]{width:100%;min-height:48px;font-size:16px;background:#0e0e0e;border:1px solid #c4a06a;color:#f4f0e8;}
.catalog-list{display:flex;flex-direction:column;gap:8px;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:200px;max-height:52vh;}
.catalog-item{text-align:left;border:1px solid #8a734c;background:#1c1c1c;color:#f7f3ea;border-radius:12px;padding:14px 14px;min-height:48px;font-size:1rem;font-weight:650;touch-action:manipulation;}
.catalog-item:active{background:#c4a06a;color:#1a140c;border-color:#c4a06a;}
.prog-row .prog-nome{font-size:16px;font-weight:700;border-color:#8a734c;}

.onboard-overlay{z-index:90;}
body.onboard-open{overflow:hidden;}
.onboard-card{max-height:92vh;overflow:auto;-webkit-overflow-scrolling:touch;}
.onboard-card .hint{margin:6px 0 10px;}

#crop-overlay{z-index:140;align-items:center;padding-bottom:calc(18px + env(safe-area-inset-bottom));}
body.crop-open .nav{display:none !important;}
.crop-sheet{max-height:92vh;width:min(560px,100%);}
.crop-stage{position:relative;width:100%;height:300px;overflow:hidden;background:#0a0a0a;border-radius:16px;touch-action:none;}
.crop-stage img{position:absolute;left:0;top:0;transform-origin:0 0;max-width:none !important;max-height:none !important;width:auto;height:auto;user-select:none;-webkit-user-drag:none;pointer-events:none;}
.crop-hole{position:absolute;left:50%;top:50%;width:200px;height:200px;margin-left:-100px;margin-top:-100px;border-radius:50%;pointer-events:none;box-shadow:0 0 0 999px rgba(0,0,0,.58);border:2px solid #c4a06a;}
#crop-zoom{width:100%;accent-color:var(--accent);}

.home-poster{min-height:58vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px 8px 24px;}
.home-poster-mark{font-size:1.4rem;font-weight:800;letter-spacing:.12em;color:var(--accent);margin-bottom:18px;}
.home-poster-label{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text2);font-weight:700;}
.home-poster-title{font-size:2.15rem;font-weight:800;line-height:1.1;margin:8px 0 10px;color:var(--text);}
.home-poster-meta{font-size:.92rem;color:var(--text2);margin-bottom:28px;}
.home-poster #btn-train-now{max-width:280px;width:100%;}
.home-swap-link{background:none;border:0;color:var(--accent);font-size:.9rem;font-weight:650;margin-top:14px;min-height:44px;padding:10px 12px;cursor:pointer;}
.page#page-home .card{display:none;}

.home-a{padding:28px 8px 8px;text-align:left;}
.home-a .home-poster-title{text-align:left;margin:6px 0 22px;}
.home-a #btn-train-now{width:100%;}
.week-dots{display:flex;justify-content:space-between;gap:6px;margin-top:28px;}
.week-dot{flex:1;text-align:center;color:var(--text2);font-size:.68rem;font-weight:700;}
.week-dot i{display:block;width:14px;height:14px;border-radius:50%;border:2px solid #3a3a3a;margin:8px auto 0;background:transparent;}
.week-dot.is-today i{border-color:var(--accent);background:var(--accent);}
.week-dot.is-done:not(.is-today) i{background:#3d8b5a;border-color:#3d8b5a;}

.hdr-zoom{display:inline-flex;align-items:center;gap:4px;margin-top:6px;min-height:44px;min-width:44px;padding:6px 8px;border-radius:10px;border:1px solid var(--border);background:var(--bg2);color:var(--accent);font-size:.68rem;font-weight:800;cursor:pointer;}
.hdr-zoom svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;}

.zoom-row{display:flex;gap:8px;flex-wrap:wrap;}
.zoom-row .btn-timer{flex:1;min-width:88px;}

.home-pills{display:flex;gap:8px;margin-top:18px;}
.home-pills button{flex:1;min-height:44px;border-radius:12px;border:1px solid var(--border);background:var(--bg2);color:var(--text);font-weight:700;font-size:.78rem;cursor:pointer;}
.week-dot{background:none;border:0;padding:6px 0;cursor:pointer;}
.home-a .home-poster-meta{text-align:left;margin:0 0 18px;}
