.period-wrapper .period-stat{padding:.75rem .5rem;border:1px solid var(--bi-border);border-radius:10px;background:var(--bi-surface-2);display:flex;flex-direction:column;gap:.25rem}.period-wrapper .stat-value{font-size:1.35rem;font-weight:700;color:var(--brand)}.period-wrapper .stat-label{font-size:.78rem;color:var(--bi-text-muted)}.period-wrapper .period-ovulation{padding:.65rem .9rem;border-radius:10px;background:rgba(var(--brand-rgb),.08);color:var(--bi-text);font-size:.9rem}.period-wrapper .period-note{font-size:.8rem;color:var(--bi-text-muted)}.period-wrapper .period-records{display:flex;flex-direction:column;gap:.4rem}.period-wrapper .period-record{display:flex;align-items:center;gap:.75rem;padding:.45rem .75rem;border:1px solid var(--bi-border);border-radius:8px;background:var(--bi-surface);font-size:.88rem}.period-wrapper .period-record .rec-days{margin-left:auto;color:var(--bi-text-muted);font-size:.8rem}.period-wrapper .period-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.period-wrapper .period-calendar .cal-head{text-align:center;font-size:.78rem;color:var(--bi-text-muted);padding:.25rem 0}.period-wrapper .period-calendar .cal-day{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;font-size:.85rem;color:var(--bi-text);border:1px solid transparent;background:var(--bi-surface-2)}.period-wrapper .cal-day .dot{width:5px;height:5px;border-radius:50%;position:absolute;bottom:4px}.period-wrapper .cal-day.empty{background:transparent}.period-wrapper .cal-day.d-actual{background:rgba(var(--brand-rgb),.22);color:var(--brand-strong);font-weight:600}.period-wrapper .cal-day.d-forecast{border:1.5px dashed var(--brand);color:var(--brand-strong)}.period-wrapper .cal-day.d-ovul{background:#dc354526}.period-wrapper .cal-day.d-ovul .dot{background:#d63369}.period-wrapper .cal-day.d-window{background:#fd7e141f}.period-wrapper .cal-day.d-window .dot{background:#fd7e14}.period-wrapper .cal-day.d-today{outline:2px solid var(--brand);outline-offset:-2px}.period-wrapper .period-legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:var(--bi-text-muted)}.period-wrapper .period-legend i{font-size:.65rem;vertical-align:1px}.period-wrapper .period-lg-actual,.period-wrapper .period-lg-forecast{color:var(--brand)}.period-wrapper .period-lg-ovul{color:#d63369}.period-wrapper .period-lg-window{color:#fd7e14}.period-wrapper .period-lg-today{color:var(--bi-text-muted)}
