/* activity-today.css — role-aware "Today on Site" dashboard (Phase 12) */
.at-load { padding:40px; text-align:center; color:var(--ink-soft,#616E7C); }
.at-title { font-size:18px; font-weight:800; margin:0; display:inline-flex; align-items:center; gap:7px; }
.at-title i { color:#F59E0B; }
.at-lens { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; color:#4F46E5; background:#EEF2FF; border:1px solid #C7D2FE; border-radius:999px; padding:2px 10px; margin-left:10px; }
.at-datein { border:1px solid var(--line,#E5E7EB); border-radius:7px; padding:4px 8px; font-size:13px; }

.at-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:14px 0 8px; }
.at-stat { background:var(--surface,#fff); border:1px solid var(--line,#E5E7EB); border-radius:12px; padding:12px 14px; }
.at-stat-h { font-size:12px; color:var(--ink-soft,#616E7C); font-weight:600; display:flex; align-items:center; gap:6px; }
.at-stat-h i { color:#4F46E5; font-size:15px; }
.at-stat-v { font-size:26px; font-weight:800; line-height:1.2; margin-top:3px; }
.at-stat-s { font-size:11.5px; color:var(--ink-soft,#616E7C); }
.at-stat.at-warn { border-color:#FCD34D; background:#FFFBEB; } .at-stat.at-warn .at-stat-v { color:#B45309; }
.at-stat.at-bad  { border-color:#FCA5A5; background:#FEF2F2; } .at-stat.at-bad .at-stat-v { color:#B91C1C; }

.at-sec-h { font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft,#616E7C); margin:20px 0 10px; }
.at-sec-h .at-n { background:var(--surface-soft,#F1F5F9); border-radius:999px; padding:1px 9px; font-size:12px; margin-left:6px; }

.at-projlist { display:flex; flex-direction:column; gap:10px; }
.at-proj { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; background:var(--surface,#fff); border:1px solid var(--line,#E5E7EB); border-radius:12px; padding:13px 15px; }
.at-p-name { font-weight:700; font-size:15px; color:var(--ink,#1F2933); text-decoration:none; }
.at-p-name:hover { color:#4F46E5; text-decoration:underline; }
.at-p-meta { display:flex; flex-wrap:wrap; gap:12px; font-size:12.5px; color:var(--ink-soft,#616E7C); margin-top:4px; }
.at-p-meta i { font-size:14px; vertical-align:-2px; }
.at-p-meta .soft { opacity:.7; }
.at-p-bill { color:#047857; font-weight:700; }
.at-crew { display:flex; flex-wrap:wrap; gap:4px; margin-top:8px; }
.at-cchip { font-size:11px; background:var(--surface-soft,#F1F5F9); border-radius:999px; padding:1px 8px; color:var(--ink,#334155); }
.at-cchip.more { background:transparent; color:var(--ink-soft,#616E7C); }
.at-p-badges { display:flex; flex-direction:column; align-items:flex-end; gap:5px; flex:0 0 auto; }
.at-badge { font-size:11.5px; font-weight:700; border-radius:999px; padding:2px 10px; text-decoration:none; white-space:nowrap; background:var(--surface-soft,#F1F5F9); color:var(--ink,#334155); border:1px solid var(--line,#E5E7EB); }
a.at-badge:hover { filter:brightness(.97); }
.at-badge.ok   { background:#ECFDF5; color:#047857; border-color:#A7F3D0; }
.at-badge.warn { background:#FFFBEB; color:#B45309; border-color:#FCD34D; }
.at-badge.bad  { background:#FEF2F2; color:#B91C1C; border-color:#FCA5A5; }

@media (max-width:640px){ .at-proj { flex-direction:column; } .at-p-badges { flex-direction:row; flex-wrap:wrap; align-items:flex-start; } }
