/* calendar.css */ .cal-section { padding: 1.5rem 2rem 3rem; } .cal-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; gap: 1rem; } .cal-month-title { margin: 0; font-size: 1.4rem; font-weight: 700; color: #1e293b; } .cal-nav-btn { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem 1.1rem; border-radius: 7px; background: #2563eb; color: #fff; font-size: .9rem; font-weight: 600; text-decoration: none; transition: background .15s; white-space: nowrap; } .cal-nav-btn:hover { background: #1d4ed8; } .cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; } .cal-dow { text-align: center; font-size: .75rem; font-weight: 700; color: #64748b; padding: .35rem 0; text-transform: uppercase; letter-spacing: .06em; } .cal-day { min-height: 82px; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: .4rem .5rem .5rem; display: flex; flex-direction: column; gap: .3rem; transition: box-shadow .15s; } .cal-day:hover { box-shadow: 0 2px 10px rgba(0,0,0,.09); } .cal-day-empty { background: #f8fafc; border-color: #f1f5f9; pointer-events: none; } .cal-day-today { border-color: #2563eb; background: #eff6ff; } .cal-day-num { font-size: .76rem; font-weight: 700; color: #94a3b8; line-height: 1; } .cal-day-today .cal-day-num { color: #2563eb; } .cal-runs { display: flex; flex-wrap: wrap; gap: 3px; align-content: flex-start; } .cal-run { display: inline-flex; align-items: center; gap: .25rem; padding: .15rem .45rem .15rem .3rem; border-radius: 999px; font-size: .72rem; font-weight: 600; text-decoration: none; line-height: 1.3; transition: transform .12s, box-shadow .12s; flex-shrink: 0; max-width: 100%; } .cal-run:hover { transform: scale(1.05); box-shadow: 0 2px 8px rgba(0,0,0,.18); z-index: 1; } .cal-run-icon { font-size: .78rem; font-weight: 700; flex-shrink: 0; } .cal-run-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 80px; } .cal-run-ok { background: #dcfce7; color: #16a34a; border: 1.5px solid #86efac; } .cal-run-ok:hover { background: #bbf7d0; } .cal-run-err { background: #fee2e2; color: #dc2626; border: 1.5px solid #fca5a5; } .cal-run-err:hover { background: #fecaca; } .cal-runs-extra { display: none; } .cal-runs-extra.open { display: flex; } .cal-more { align-self: flex-start; background: none; border: 1px solid #cbd5e1; border-radius: 999px; color: #64748b; cursor: pointer; font-size: .7rem; font-weight: 600; line-height: 1; padding: .15rem .5rem; transition: background .12s, color .12s; } .cal-more:hover { background: #f1f5f9; color: #1e293b; }