.calendar-toolbar{display:flex;gap:6px;width:max-content;margin-bottom:18px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}
.calendar-tab{padding:10px 16px;border-radius:9px;color:var(--muted);font-size:11px;font-weight:600}.calendar-tab:hover{background:#f2f7f5;color:var(--ink)}.calendar-tab.active{background:var(--navy);color:#fff}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px;align-items:start}.calendar-stream{display:grid;gap:20px}.calendar-month-section{scroll-margin-top:22px;overflow:hidden}.calendar-month-section>.panel-head small{color:var(--muted);font-size:10px}
.calendar-timeline{padding-bottom:12px}.calendar-entry{scroll-margin-top:28px;position:relative}.calendar-entry:target,.calendar-entry.calendar-flash{background:#f1faf7;box-shadow:inset 4px 0 var(--lime)}.calendar-detail-link{display:inline-flex;margin-top:9px;color:var(--teal);font-size:10px;font-weight:700}.calendar-detail-link:hover{text-decoration:underline}
.open-slot{margin:10px 22px;padding:20px 4px;border:1px dashed #b9c8c6!important;border-radius:14px;background:linear-gradient(135deg,#fbfcfc,#f4f7f6)}.open-slot+ .open-slot{border-top:1px dashed #b9c8c6}.open-slot time{padding-left:18px}.open-slot>div{padding-right:18px}.open-slot h3{color:#63717e}.slot-status{display:inline-flex;width:max-content;padding:5px 9px;border:1px dashed #8aa19d;border-radius:99px;color:#637c77;font-size:8px;font-weight:700;letter-spacing:.08em}
.mini-calendar-sticky{position:sticky;top:18px;z-index:4}.mini-month{background:var(--navy);color:#fff;border-radius:18px;padding:20px;box-shadow:0 20px 50px rgba(19,38,62,.2)}.mini-calendar-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.mini-calendar-head span{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:#9fb0c1}.mini-calendar-head strong{font-size:13px}.mini-weekdays,.mini-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mini-weekdays{margin-bottom:7px}.mini-weekdays span{text-align:center;font-size:8px;color:#90a3b6}.mini-day{position:relative;aspect-ratio:1;display:grid;place-items:center;border-radius:8px;font-size:10px;color:#c7d2dc;text-decoration:none}.mini-day[href]{cursor:pointer}.mini-day[href]:hover,.mini-day[href]:focus-visible{z-index:5;transform:translateY(-2px);outline:2px solid #fff;outline-offset:1px}.mini-day.has-post{background:#304660;color:#fff;font-weight:600}.mini-day.ready{background:var(--lime);color:var(--navy)}.mini-day.has-published{box-shadow:inset 0 0 0 2px var(--teal);color:#fff;font-weight:600}.mini-day.has-published:not(.has-post){background:#173d50}.mini-day.has-open-slot:not(.has-post):not(.has-published){border:1px dashed #8fa5b8;background:transparent;color:#d0dbe4}.mini-day i{position:absolute;right:2px;top:1px;min-width:12px;height:12px;padding:0 2px;border-radius:6px;background:var(--teal);color:#fff;font:normal 7px/12px Poppins,sans-serif;text-align:center}.mini-day.ready i{background:var(--teal)}.mini-day .open-count{background:transparent;color:#a9bac8;font-size:10px}.mini-day .published-count{background:var(--teal);font-size:8px}
.mini-day[data-tooltip]::after{content:attr(data-tooltip);position:absolute;right:-8px;bottom:calc(100% + 9px);display:none;width:230px;padding:10px 12px;border-radius:9px;background:#fff;color:var(--ink);box-shadow:0 12px 32px rgba(4,17,31,.28);font:500 10px/1.55 Poppins,sans-serif;text-align:left;white-space:pre-line;pointer-events:none}.mini-day[data-tooltip]::before{content:"";position:absolute;right:8px;bottom:calc(100% + 3px);display:none;border:6px solid transparent;border-top-color:#fff}.mini-day[data-tooltip]:hover::after,.mini-day[data-tooltip]:hover::before,.mini-day[data-tooltip]:focus-visible::after,.mini-day[data-tooltip]:focus-visible::before{display:block}
.mini-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:15px;color:#9fb0c1;font-size:8px}.mini-legend span{display:flex;align-items:center;gap:5px}.mini-legend i{width:8px;height:8px;border-radius:50%}.mini-legend .scheduled-dot{background:var(--lime)}.mini-legend .published-dot{background:var(--teal)}.mini-legend .open-dot{border:1px dashed #9fb0c1;background:transparent}
@media(max-width:1100px){.calendar-layout{grid-template-columns:minmax(0,1fr) 250px}}
@media(max-width:820px){.calendar-layout{grid-template-columns:1fr}.mini-calendar-sticky{position:sticky;top:8px;grid-row:1;z-index:6}.mini-month{padding:14px 18px}.mini-calendar-head{margin-bottom:10px}.mini-days,.mini-weekdays{gap:3px}.mini-day{aspect-ratio:auto;height:25px}.mini-legend{display:none}.calendar-entry{scroll-margin-top:300px}}
@media(max-width:520px){.calendar-toolbar{width:100%}.calendar-tab{flex:1;text-align:center;padding:9px 8px}.mini-month{border-radius:14px}.mini-calendar-head span{display:none}.mini-day{height:22px}.mini-day i{display:none}.mini-day[data-tooltip]::after,.mini-day[data-tooltip]::before{display:none!important}.open-slot{margin:8px 10px}.open-slot time{padding-left:8px}}
