.calendar-month{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;font-family:sans-serif}.calendar-header{font-weight:700;text-align:center;padding:5px 0;border-bottom:1px solid #ccc}.calendar-month-title{font-size:32px;font-weight:600;color:#f47c7c;display:flex;align-items:center;height:48px;line-height:1}.calendar-cell{background:#fff;border:1px solid #eee;min-height:120px;padding:6px;box-sizing:border-box;position:relative;font-size:12px;overflow:hidden}.calendar-cell.faded{background:#fafafa;color:#aaa}.day-number{font-weight:700;font-size:13px;margin-bottom:4px}.release-entry{display:flex;align-items:center;margin-bottom:4px;gap:6px;cursor:pointer;max-width:100%;overflow:hidden;white-space:nowrap}.dot-row{display:inline-flex;gap:2px;flex-shrink:0}.tier-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.tier-label{display:flex;align-items:center;gap:6px;min-width:120px;white-space:nowrap}.release-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;flex:1 1 auto;min-width:0}.calendar-popup{position:absolute;z-index:9999;background:#fff;border:1px solid #ccc;padding:12px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15);max-width:420px;min-width:260px;font-size:13px;pointer-events:none;display:none;word-wrap:break-word}@media (min-width:481px){.calendar-popup.with-image{transform:translateX(-80px)}.calendar-popup.with-image .popup-body{transform:none !important}.calendar-popup:not(.with-image) .popup-tier{margin-left:32px}}.popup-content.with-image{display:flex;flex-direction:column}.popup-title{font-weight:600;font-size:14px;margin-bottom:8px;text-align:center}.popup-body{display:flex;flex-direction:row;gap:-5px;align-items:flex-start;justify-content:flex-start}.popup-tiers{flex:0 0 auto;min-width:180px}.popup-tier{display:grid;grid-template-columns:12px minmax(0,65px) minmax(0,10px);align-items:center;gap:8px;font-size:13px;text-transform:capitalize}.popup-name{white-space:nowrap}.popup-time{font-size:12px;color:#666;text-align:right;white-space:nowrap}.popup-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.popup-image{width:180px;height:auto;max-height:180px;object-fit:cover;border-radius:8px;display:block}@media (max-width:480px){.calendar-popup{max-width:90vw;min-width:auto}.calendar-popup.with-image .popup-body{flex-direction:column;align-items:flex-start !important}.calendar-popup.with-image .popup-image{width:100%;max-width:100%;height:auto;margin-top:8px}.calendar-popup.with-image .popup-tiers{align-items:flex-start;padding-left:85px;width:100%}.calendar-popup.with-image .popup-tier{justify-content:flex-start;width:100%}.calendar-popup.with-image .popup-tier .popup-time{margin-left:8px}.calendar-popup:not(.with-image) .popup-body{padding-left:4px;padding-right:4px}.calendar-popup:not(.with-image) .popup-tier{justify-content:flex-start}.calendar-popup:not(.with-image) .popup-tiers{align-items:flex-start;padding-left:10px}}.calendar-controls{display:flex;align-items:center;justify-content:center;gap:24px;padding:10px 0}.calendar-controls button{background-color:#fafafa;border:none;border-radius:10px;padding:12px;font-size:20px;cursor:pointer;color:#aaa;display:flex;align-items:center;justify-content:center;height:48px;width:48px;margin-top:-22px}.calendar-controls button:hover:not(:disabled){background-color:#ddd}.calendar-controls button:disabled{opacity:.4;cursor:default}