.daily-calendar-container{z-index:20;font-family:var(--type-body-family);max-width:480px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;transition:margin-bottom .3s;position:relative}.calendar-strip{background:#fff;border:1px solid #e89b9e33;border-radius:1rem;justify-content:space-between;align-items:center;padding:.75rem;transition:all .3s;display:flex;box-shadow:0 4px 12px #95897e14}.calendar-strip:hover{border-color:#e89b9e66;box-shadow:0 6px 16px #95897e1f}.strip-days{flex:1;justify-content:space-around;gap:.5rem;padding:0 .25rem;display:flex}.day-cell{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:44px;height:60px;transition:all .2s;display:flex;position:relative}.day-cell:hover:not(.future){background:#fff0f2}.day-cell.selected{color:#fff;background:#e89b9e;box-shadow:0 4px 10px #e89b9e66}.day-cell.today:not(.selected){color:#e89b9e;font-weight:var(--type-weight-strong);background:#fff0f2}.day-cell.future{opacity:.4;cursor:not-allowed}.day-label{text-transform:uppercase;color:#968f87;margin-bottom:2px;font-size:.7rem}.day-cell.selected .day-label{color:#ffffffe6}.day-number{font-size:1.1rem;font-weight:var(--type-weight-strong);color:#4a4238}.day-cell.selected .day-number{color:#fff}.status-dot{border-radius:50%;width:5px;height:5px;margin-top:4px;transition:all .3s}.status-dot.has-record{background-color:#e6cfa8}.day-cell.selected .status-dot.has-record{background-color:#fff}.status-dot.no-record{display:none}.expand-btn{color:#968f87;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-left:.5rem;transition:all .2s;display:flex}.expand-btn:hover{color:#e89b9e;background:#fff0f2}.month-view-overlay{transform-origin:top;z-index:50;background:#fff;border:1px solid #e89b9e33;border-radius:1rem;margin-top:.75rem;padding:1rem;animation:.3s cubic-bezier(.16,1,.3,1) slideDown;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 30px #95897e26}@keyframes slideDown{0%{opacity:0;transform:scaleY(.9)translateY(-10px)}to{opacity:1;transform:scaleY(1)translateY(0)}}.month-header{justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .5rem;display:flex}.month-title{font-size:1rem;font-weight:var(--type-weight-strong);color:#4a4238}.month-nav-btn{color:#968f87;cursor:pointer;background:0 0;border:1px solid #0000000d;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.month-nav-btn:hover:not(:disabled){color:#e89b9e;background:#fff0f2;border-color:#e89b9e}.month-nav-btn:disabled{opacity:.3;cursor:not-allowed}.week-days-header{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem;display:grid}.week-day-label{color:#968f87;font-size:.75rem;font-weight:var(--type-weight-medium);padding:.2rem}.month-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.month-day{aspect-ratio:1;cursor:pointer;color:#4a4238;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:.9rem;transition:all .2s;display:flex;position:relative}.month-day:hover:not(.empty):not(.future){background:#fff0f2}.month-day.selected{color:#fff;font-weight:var(--type-weight-strong);background:#e89b9e;box-shadow:0 2px 8px #e89b9e66}.month-day.today:not(.selected){color:#e89b9e;font-weight:var(--type-weight-strong);background:#e89b9e1a}.month-day.empty{cursor:default}.month-day.future{opacity:.3;cursor:not-allowed}.month-day .status-dot{width:4px;height:4px;position:absolute;bottom:15%}.month-day.selected .status-dot.has-record{background-color:#fff}.calendar-glow{display:none}@media (max-width:640px){.daily-calendar-container{margin-bottom:0;padding:0}.strip-days{gap:.25rem;padding:0}.day-cell{width:38px;height:54px}.day-label{margin-bottom:1px;font-size:.6rem}.day-number{font-size:.95rem}.status-dot{width:4px;height:4px;margin-top:3px}.expand-btn{width:32px;height:32px;margin-left:.25rem}.month-view-overlay{margin-top:.5rem;left:0;right:0}}
