/* Card "Frequência da semana" na aba Treino (painel planejamentos), no lugar do título.
   Componente só de apresentação: lê o histórico de treinos existente e guarda marcações/meta no aparelho. */
.freq-card{--accent:#8d918c;--glow:transparent;--edge:rgba(241,239,233,.14);--bg1:#171a17;--bg2:#101211;
 position:relative;overflow:hidden;margin:6px 0 18px;padding:18px 18px 16px;border-radius:22px;border:1px solid var(--edge);
 background:radial-gradient(120% 90% at 100% 0%,var(--glow),transparent 60%),linear-gradient(160deg,var(--bg1),var(--bg2));
 color:#f1efe9;font-family:Manrope,Arial,sans-serif;text-align:left;transition:box-shadow .6s,border-color .6s,background .6s}
.freq-card[data-level="bronze"]{--accent:#d18a52;--glow:rgba(209,138,82,.22);--edge:rgba(209,138,82,.55);--bg1:#1d1712;--bg2:#121010;box-shadow:0 0 22px -6px rgba(209,138,82,.5)}
.freq-card[data-level="ouro"]{--accent:#ffc93c;--glow:rgba(255,201,60,.26);--edge:rgba(255,201,60,.75);--bg1:#1f1b0e;--bg2:#12110b;box-shadow:0 0 30px -4px rgba(255,201,60,.55)}
.freq-card[data-level="diamante"]{--accent:#9ff3ff;--glow:rgba(140,235,255,.30);--edge:rgba(170,245,255,.85);--bg1:#0e1c22;--bg2:#0b1114;box-shadow:0 0 36px -2px rgba(130,230,255,.6)}
.freq-card[data-level="diamante"]::after{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.18) 50%,transparent 58%);animation:freq-shine 3.2s ease-in-out infinite;pointer-events:none}
@keyframes freq-shine{0%{transform:translateX(-60%)}60%,100%{transform:translateX(60%)}}

.freq-lyp{position:absolute;right:-14px;top:-6px;width:118px;height:150px;pointer-events:none;
 background:url("lyp-frequency-card-v1.jpg") 50% 0/cover no-repeat;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 35%);mask-image:linear-gradient(90deg,transparent,#000 35%);
 opacity:.28;filter:grayscale(.9) brightness(.7);transition:opacity .6s,filter .6s}
.freq-lyp::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 62%,var(--bg2))}
.freq-card[data-level="bronze"] .freq-lyp{opacity:.5;filter:grayscale(.35) brightness(.85)}
.freq-card[data-level="ouro"] .freq-lyp{opacity:.85;filter:drop-shadow(0 0 10px rgba(255,201,60,.6)) brightness(1.05)}
.freq-card[data-level="diamante"] .freq-lyp{opacity:1;filter:drop-shadow(0 0 14px rgba(140,235,255,.8)) brightness(1.15) saturate(1.1)}

.freq-head{position:relative;display:flex;align-items:center;gap:8px;margin-bottom:10px}
.freq-head small{font:500 10px/1 'DM Mono',monospace;letter-spacing:.12em;color:#b59b61}
.freq-badge{padding:4px 8px;border-radius:20px;border:1px solid var(--accent);color:var(--accent);font:700 10px/1 'DM Mono',monospace;letter-spacing:.1em;background:rgba(0,0,0,.25)}
.freq-count{position:relative;display:flex;align-items:baseline;gap:6px;margin:0}
.freq-count b{font-size:44px;line-height:1;letter-spacing:-.06em;color:var(--accent);text-shadow:0 0 18px var(--glow)}
.freq-count span{font-size:15px;color:#cbc8c0;font-weight:600}
.freq-msg{position:relative;margin:6px 0 14px;max-width:72%;font-size:13.5px;line-height:1.4;color:#e7e3d8;font-weight:600}

.freq-days{position:relative;display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:12px}
.freq-day{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0;border:0;background:none;cursor:pointer;font:500 10px/1 'DM Mono',monospace;color:#8d918c;-webkit-tap-highlight-color:transparent}
.freq-day i{width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(241,239,233,.18);display:grid;place-items:center;font-style:normal;font-size:13px;color:transparent;transition:background .35s,border-color .35s,transform .15s}
.freq-day.done i{background:var(--accent);border-color:var(--accent);color:#101112;box-shadow:0 0 12px var(--glow)}
.freq-day.today span{color:#f1efe9}
.freq-day.today i{outline:2px dashed rgba(241,239,233,.45);outline-offset:2px}
.freq-day.future{cursor:default}
.freq-day.future i{opacity:.45}
.freq-day:active i{transform:scale(.88)}
.freq-day:focus-visible i{outline:3px solid #fff;outline-offset:2px}
.freq-note{position:relative;max-height:0;overflow:hidden;margin:-4px 0 8px;font-size:12px;color:#d9c28d;transition:max-height .25s}
.freq-note.on{max-height:34px}

.freq-bar{position:relative;height:8px;border-radius:8px;background:rgba(241,239,233,.1);overflow:hidden}
.freq-bar u{position:absolute;inset:0 auto 0 0;border-radius:8px;background:linear-gradient(90deg,var(--accent),#fff7d6);box-shadow:0 0 12px var(--glow);text-decoration:none;transition:width .6s cubic-bezier(.2,.9,.3,1)}

.freq-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;font-size:12px;color:#b8bdb4}
.freq-foot button{padding:4px 0;border:0;background:none;color:#d9c28d;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}
.freq-streak{font-weight:700;color:#e7e3d8}
.freq-share{position:relative;width:100%;margin-top:12px;padding:12px;border:0;border-radius:14px;background:var(--accent);color:#101112;font:800 13px/1 Manrope,Arial,sans-serif;box-shadow:0 0 18px var(--glow);cursor:pointer}
.freq-share[hidden]{display:none}
.freq-share:focus-visible,.freq-foot button:focus-visible{outline:3px solid #fff;outline-offset:2px}

.freq-goal-pop{position:absolute;inset:0;z-index:3;display:none;flex-direction:column;justify-content:center;gap:10px;padding:18px;border-radius:22px;background:rgba(12,13,12,.95)}
.freq-goal-pop.open{display:flex}
.freq-goal-pop p{margin:0;font-weight:700;color:#f1efe9}
.freq-goal-pop div{display:flex;gap:8px}
.freq-goal-pop button{flex:1;padding:10px 0;border-radius:12px;border:1px solid rgba(241,239,233,.25);background:#1b1d1b;color:#f1efe9;font:700 15px Manrope,Arial,sans-serif;cursor:pointer}
.freq-goal-pop button.on{background:#d9c28d;color:#101112;border-color:#d9c28d}

/* Pré-visualização da imagem para stories */
.freq-modal{position:fixed;inset:0;z-index:2147483000;display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;background:rgba(0,0,0,.84)}
.freq-modal.open{display:flex}
.freq-modal img{max-width:100%;max-height:70vh;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.freq-modal-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.freq-modal-actions a,.freq-modal-actions button{padding:11px 18px;border:0;border-radius:12px;font:700 13px Manrope,Arial,sans-serif;text-decoration:none;cursor:pointer}
.freq-modal-actions .primary{background:#d9c28d;color:#101112}
.freq-modal-actions .ghost{background:#1d1e20;color:#f1efe9}
@media (prefers-reduced-motion:reduce){.freq-card::after{animation:none!important}.freq-bar u,.freq-day i{transition:none}}
