.quick-action-dock{position:fixed;left:50%;bottom:24px;z-index:80;transform:translate(-50%);width:min(920px,calc(100vw - 180px));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid rgba(148,163,184,.28);border-radius:24px;background:linear-gradient(135deg,#0f172af5,#020617f0);box-shadow:0 24px 80px #00000073;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.quick-action-copy{min-width:220px}.quick-action-copy strong{display:block;margin-top:4px;color:#f8fafcf5;font-size:14px}.quick-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.quick-scan-label{position:relative;overflow:hidden;cursor:pointer}.quick-scan-label input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}@media(max-width:860px){.quick-action-dock{left:12px;right:12px;bottom:14px;width:auto;transform:none;align-items:stretch;flex-direction:column}.quick-action-buttons{display:grid;grid-template-columns:1fr 1fr}}.quick-action-dock{position:fixed;left:50%;bottom:24px;z-index:80;transform:translate(-50%);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:24px;background:linear-gradient(135deg,#1f2937,#111417);box-shadow:0 12px 40px #00000073}.quick-action-copy.is-fasting{color:#f4f6f7}.quick-action-status{display:block;margin-top:4px;color:#3e6b6a}.quick-fast-ring circle{stroke:#2e3f54;stroke-width:8;fill:none}.quick-fast-ring-progress{stroke:#7dbf9e}@media(max-width:860px){.quick-action-dock{flex-direction:column;left:12px;right:12px;bottom:14px;width:auto}.quick-fast-ring{width:88px;height:88px}}.calendar-day-cell.active-fast-day{border-color:#7dbf9e8c;background:radial-gradient(circle at 84% 18%,rgba(125,191,158,.2),transparent 24%),linear-gradient(135deg,#2e3f546b,#111417f0)}.calendar-day-cell.active-fast-day .consistency-ring{border-color:#7dbf9ed9;box-shadow:0 0 0 4px #3e6b6a2e,0 0 22px #7dbf9e3d}.calendar-day-cell.active-fast-day .day-number{color:#f4f6f7fa}.calendar-day-cell.active-fast-day .consistency-ring i.fasting{background:#8fa3b8f2}.calendar-day-labels{position:absolute;left:6px;right:6px;bottom:5px;display:grid;gap:3px;z-index:3;pointer-events:auto}.calendar-day-label{display:block;width:100%;max-width:100%;padding:2px 5px;border-radius:999px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:850;letter-spacing:-.01em;line-height:1.1;color:#f4f6f7f5;background:#2e3f54b8;border:1px solid rgba(148,163,184,.18)}.calendar-day-label.fasting{background:#3e6b6ad1;border-color:#7dbf9e5c}.calendar-day-label.training{background:#2e3f54db}.calendar-day-label.recovery{background:#5f6f60c7}.calendar-day-label.travel{background:#415569d1}.calendar-day-label.event{background:#81644dd1}.calendar-day-label.challenge{background:#5e5474d1}.calendar-day-cell{position:relative;overflow:hidden}
