/* ── MISSION CALENDAR ── */
.cal-wrap{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;}
.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.cal-title{font-family:'Cinzel',serif;font-size:0.82rem;font-weight:700;color:var(--gold);}
.cal-nav{background:var(--bg3);border:1px solid var(--border2);border-radius:6px;padding:3px 9px;cursor:pointer;font-family:'Nunito',sans-serif;font-weight:800;font-size:0.78rem;color:var(--muted2);transition:color 0.12s;}
.cal-nav:hover{color:var(--text);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.cal-dow{text-align:center;font-size:0.6rem;font-weight:800;color:var(--muted);padding:3px 0;text-transform:uppercase;letter-spacing:0.4px;}
.cal-day{min-height:40px;border-radius:6px;padding:3px 4px;position:relative;cursor:default;}
.cal-day.other-month .cal-dn{color:var(--muted);}
.cal-day.today{background:var(--bg3);border:1px solid var(--border2);}
.cal-day.has-missions{cursor:pointer;}
.cal-day.has-missions:hover{background:rgba(245,200,66,0.06);}
.cal-dn{font-size:0.65rem;font-weight:800;color:var(--text);line-height:1;}
.cal-dots{display:flex;flex-wrap:wrap;gap:2px;margin-top:3px;}
.cal-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.cal-mission-list{margin-top:10px;display:flex;flex-direction:column;gap:5px;}
.cal-m-item{display:flex;align-items:center;gap:8px;padding:6px 9px;background:var(--card2);border:1px solid var(--border);border-radius:7px;font-size:0.76rem;}
.cal-m-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.cal-m-name{font-weight:800;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cal-m-date{font-size:0.62rem;color:var(--muted2);white-space:nowrap;}
