/* v214: actionable calendar alerts and all-stage day details. */
.calendar-status-dot.archived{background:#8b6f86}
.calendar-day.archived{border-color:#d9cbd7;background-color:#f8f3f7;background-image:radial-gradient(circle at 84% 19%,rgba(112,83,107,.11) 1.5px,transparent 1.7px)}
.calendar-day.archived .calendar-date{background:linear-gradient(145deg,#9b7c95,#71556c);color:#fff}
.calendar-day.archived small{color:#725a6e}

.calendar-alert-center{margin:16px 0 14px;padding:14px;border:1px solid #f0c0c8;border-radius:18px;background:linear-gradient(135deg,#fff8f9,#fff);box-shadow:0 8px 22px rgba(126,35,55,.08)}
.calendar-alert-center.is-clear{border-color:#bde4d2;background:linear-gradient(135deg,#f0fcf6,#fff)}
.calendar-alert-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.calendar-alert-head h3,.calendar-alert-head p{margin:0}
.calendar-alert-head h3{margin-top:3px;color:#8f2035;font-size:17px}
.calendar-alert-center.is-clear .calendar-alert-head h3{color:#087453}
.calendar-alert-head p{margin-top:4px;color:#64748b;font-size:11px;line-height:1.5}
.calendar-alert-head>strong{flex:none;padding:7px 10px;border-radius:999px;background:#d92f4d;color:#fff;font-size:11px;box-shadow:0 4px 12px rgba(173,30,58,.18)}
.calendar-alert-center.is-clear .calendar-alert-head>strong{background:#138660}
.calendar-alert-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:360px;margin-top:12px;padding-right:3px;overflow:auto;overscroll-behavior:contain}
.calendar-alert-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:11px;border:1px solid #f1ccd3;border-radius:14px;background:#fff;box-shadow:0 4px 12px rgba(96,30,45,.06)}
.calendar-alert-main{display:flex;align-items:center;gap:9px;min-width:0}
.calendar-alert-icon{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:9px;background:#d92f4d;color:#fff;font-size:15px;font-weight:1000}
.calendar-alert-main div{min-width:0}.calendar-alert-main b,.calendar-alert-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-alert-main b{color:#45131d;font-size:13px}.calendar-alert-main small{margin-top:2px;color:#7b6670;font-size:10px}
.calendar-alert-detail{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;color:#5f4a53;font-size:10px;line-height:1.45}
.calendar-alert-detail span{min-width:0}.calendar-alert-detail b{color:#39242c}.calendar-alert-overdue{color:#b4233b!important;font-weight:850}
.calendar-alert-item>button{grid-column:2;grid-row:1;align-self:center;padding:7px 9px;border-color:#d92f4d;background:#fff1f4;color:#9f1e37;font-size:10px;font-weight:1000}
.calendar-alert-item>button:hover{background:#d92f4d;color:#fff}
.calendar-history-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding:9px 11px;border:1px solid #e1e7ef;border-radius:12px;background:#f7f9fc;color:#637087;font-size:10px;line-height:1.45}
.calendar-history-note b{flex:none;color:#364257}.calendar-history-note span{text-align:right}

.calendar-day-modal{width:min(1060px,calc(100vw - 28px));max-height:min(90vh,920px);display:flex;flex-direction:column;overflow:hidden}
.calendar-day-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:2px 0 11px}
.calendar-day-kpis article{padding:10px 12px;border:1px solid #dbe4ef;border-radius:13px;background:#f8fafc}
.calendar-day-kpis span,.calendar-day-kpis b{display:block}.calendar-day-kpis span{color:#64748b;font-size:10px;font-weight:850}.calendar-day-kpis b{margin-top:2px;font-size:20px}
.calendar-day-kpis .progress{border-color:#efd08d;background:#fff9e9;color:#8b5400}.calendar-day-kpis .danger{border-color:#f1b9c3;background:#fff2f4;color:#b4233b}.calendar-day-kpis .success{border-color:#b8e3d0;background:#effbf5;color:#087453}
.calendar-day-stage-summary{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;padding:9px;border:1px solid #e3e9f1;border-radius:13px;background:#f8fafc}
.calendar-day-stage-summary span{padding:5px 8px;border-radius:999px;background:#fff;color:#5b6879;font-size:10px;box-shadow:0 2px 7px rgba(30,48,73,.06)}
.calendar-day-stage-summary b{color:#14243a}
.calendar-day-job-list{display:grid;gap:8px;min-height:0;padding:1px 5px 1px 1px;overflow:auto;overscroll-behavior:contain}
.calendar-day-job{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(310px,1.4fr) auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid #dfe6ef;border-left:5px solid #94a3b8;border-radius:14px;background:#fff}
.calendar-day-job.danger{border-color:#efbdc6;border-left-color:#d92f4d;background:#fff8f9}.calendar-day-job.progress{border-left-color:#e6a11c}.calendar-day-job.success{border-left-color:#16966c}.calendar-day-job.archived{border-left-color:#80657b;background:#faf7f9}.calendar-day-job.history-late{border-left-color:#718096;background:#fafbfc}
.calendar-day-job-main{display:flex;align-items:center;gap:9px;min-width:0}.calendar-day-job-main>div{min-width:0}.calendar-day-job-main b,.calendar-day-job-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-job-main b{font-size:13px}.calendar-day-job-main small{margin-top:3px;color:#718096;font-size:10px}
.calendar-stage{display:grid;place-items:center;flex:none;min-width:74px;max-width:96px;min-height:30px;padding:5px 7px;border-radius:9px;background:#edf2f7;color:#475569;font-size:9px;font-weight:1000;text-align:center}.calendar-stage.design{background:#edf4ff;color:#245aaa}.calendar-stage.production{background:#fff2d7;color:#8a5700}.calendar-stage.shipping{background:#eaf8ff;color:#11627b}.calendar-stage.partner{background:#f2edff;color:#6841a5}.calendar-stage.history{background:#e8f8f0;color:#087453}.calendar-stage.failed{background:#f4edf2;color:#76556d}
.calendar-day-job-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;color:#5e6a7b;font-size:10px;line-height:1.4}.calendar-day-job-meta b{color:#303b4c}.calendar-day-job-time{font-weight:850}.calendar-day-job.danger .calendar-day-job-time{color:#b4233b}.calendar-day-job.history-late .calendar-day-job-time{color:#5d6878}
.calendar-day-job>button{padding:8px 10px;border-color:#b9c9dc;background:#f7faff;color:#24456d;font-size:10px;font-weight:1000;white-space:nowrap}.calendar-day-job>button:hover{border-color:#244f82;background:#244f82;color:#fff}
.calendar-day-empty{display:grid;place-items:center;min-height:150px;color:#607087}.calendar-day-empty b,.calendar-day-empty span{display:block}
.calendar-day-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #e2e8f0;color:#64748b;font-size:10px}

@media(max-width:820px){
  .calendar-alert-list{grid-template-columns:1fr}
  .calendar-alert-detail{grid-template-columns:1fr}
  .calendar-day-job{grid-template-columns:1fr auto}.calendar-day-job-meta{grid-column:1/-1;grid-template-columns:1fr 1fr}.calendar-day-job>button{grid-column:2;grid-row:1}
}
@media(max-width:560px){
  .calendar-alert-head,.calendar-history-note{align-items:flex-start;flex-direction:column}.calendar-history-note span{text-align:left}.calendar-alert-item{grid-template-columns:1fr}.calendar-alert-item>button{grid-column:1;grid-row:auto;width:100%}
  .calendar-day-modal{width:calc(100vw - 16px);max-height:94vh;padding:15px}.calendar-day-kpis{grid-template-columns:1fr 1fr}.calendar-day-job{grid-template-columns:1fr}.calendar-day-job-meta{grid-template-columns:1fr}.calendar-day-job>button{grid-column:1;grid-row:auto;width:100%}.calendar-day-modal-foot{align-items:stretch;flex-direction:column}.calendar-day-modal-foot button{width:100%}
}
