/* ═══════════════════════════════════════════════════════
   TradeForge — Project Activity Timeline Styles
   ═══════════════════════════════════════════════════════ */

/* ── Summary Stats ── */
.at-stats{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:20px 0 0}
@media(max-width:900px){.at-stats{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.at-stats{grid-template-columns:repeat(2,1fr)}}

.at-stat{background:linear-gradient(180deg,rgba(46,49,54,.96),rgba(46,49,54,.82));border:1px solid rgba(181,183,185,.10);border-radius:12px;padding:14px 12px;text-align:center;cursor:pointer;transition:border-color .15s,transform .1s}
.at-stat:hover{border-color:rgba(140,106,62,.4);transform:translateY(-1px)}
.at-stat.active{border-color:var(--bronze);background:rgba(140,106,62,.08)}
.at-stat-icon{width:32px;height:32px;border-radius:8px;background:rgba(140,106,62,.12);display:flex;align-items:center;justify-content:center;margin:0 auto 6px}
.at-stat-icon svg{width:16px;height:16px;color:var(--bronze)}
.at-stat-icon--green{background:rgba(39,174,96,.12)}
.at-stat-icon--green svg{color:#27ae60}
.at-stat-icon--red{background:rgba(231,76,60,.12)}
.at-stat-icon--red svg{color:#e74c3c}
.at-stat-icon--blue{background:rgba(59,130,246,.12)}
.at-stat-icon--blue svg{color:#3b82f6}
.at-stat-icon--orange{background:rgba(230,126,34,.12)}
.at-stat-icon--orange svg{color:#e67e22}
.at-stat-icon--purple{background:rgba(155,89,182,.12)}
.at-stat-icon--purple svg{color:#9b59b6}
.at-stat-value{font-size:22px;font-weight:700;color:var(--bronze)}
.at-stat-label{font-size:11px;color:var(--muted);margin:2px 0 0;line-height:1.3}

/* ── Controls Bar ── */
.at-controls{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:20px 0 0;padding:16px 0;border-top:1px solid rgba(181,183,185,.08)}
.at-view-selector{display:flex;align-items:center;gap:8px}
.at-view-label{font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}
.at-view-select{background:rgba(46,49,54,.80);border:1px solid rgba(181,183,185,.14);border-radius:8px;padding:7px 12px;font-size:12px;color:var(--text);outline:none;appearance:auto}
.at-view-select:focus{border-color:var(--bronze)}
.at-filters{display:flex;gap:6px;flex-wrap:wrap;flex:1;justify-content:flex-end}

@media(max-width:900px){
  .at-controls{flex-direction:column}
  .at-filters{justify-content:flex-start}
}

/* ── Timeline Container ── */
.at-timeline{position:relative;padding:0 0 0 32px;margin:0 0 20px}
.at-timeline::before{content:"";position:absolute;left:11px;top:0;bottom:0;width:2px;background:rgba(181,183,185,.10);border-radius:1px}

/* ── Date Groups ── */
.at-date-group{margin-bottom:24px}
.at-date-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bronze);padding:8px 0;margin-bottom:10px;position:relative}
.at-date-label::before{content:"";position:absolute;left:-32px;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:var(--bronze);border:2px solid rgba(15,17,20,.9)}

/* ── Event Cards ── */
.at-event{position:relative;display:flex;gap:12px;padding:12px 14px;margin-bottom:8px;background:linear-gradient(180deg,rgba(46,49,54,.85),rgba(46,49,54,.65));border:1px solid rgba(181,183,185,.08);border-radius:10px;transition:border-color .15s,background .15s}
.at-event:hover{border-color:rgba(140,106,62,.25);background:rgba(46,49,54,.92)}
.at-event::before{content:"";position:absolute;left:-25px;top:18px;width:8px;height:8px;border-radius:50%;border:2px solid rgba(181,183,185,.2);background:var(--ink)}

/* Event type dot colors */
.at-event[data-type="worker-checkin"]::before{border-color:rgba(140,106,62,.5)}
.at-event[data-type="safety-confirmation"]::before{border-color:rgba(39,174,96,.5)}
.at-event[data-type="issue-report"]::before,.at-event[data-type="issue-logged"]::before{border-color:rgba(231,76,60,.5)}
.at-event[data-type="material-request"]::before{border-color:rgba(155,89,182,.5)}
.at-event[data-type="equipment-report"]::before{border-color:rgba(230,126,34,.5)}
.at-event[data-type="document-upload"]::before,.at-event[data-type="document-added"]::before{border-color:rgba(34,197,94,.5)}
.at-event[data-type="foreman-log"]::before{border-color:rgba(59,130,246,.5)}
.at-event[data-type="field-report"]::before{border-color:rgba(59,130,246,.5)}
.at-event[data-type="photo-upload"]::before{border-color:rgba(168,85,247,.5)}
.at-event[data-type="project-update"]::before{border-color:rgba(140,106,62,.5)}
.at-event[data-type="milestone"]::before{border-color:rgba(245,158,11,.5)}
.at-event[data-type="issue-resolved"]::before{border-color:rgba(39,174,96,.5)}
.at-event[data-type="weather-delay"]::before{border-color:rgba(91,155,213,.5)}

/* ── Event Icon ── */
.at-event-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.at-event-icon svg{width:16px;height:16px}

.at-event-icon.at-icon--checkin{background:rgba(140,106,62,.12);color:var(--bronze)}
.at-event-icon.at-icon--checkin svg{stroke:var(--bronze)}
.at-event-icon.at-icon--safety{background:rgba(39,174,96,.12);color:#27ae60}
.at-event-icon.at-icon--safety svg{stroke:#27ae60}
.at-event-icon.at-icon--issue{background:rgba(231,76,60,.12);color:#e74c3c}
.at-event-icon.at-icon--issue svg{stroke:#e74c3c}
.at-event-icon.at-icon--material{background:rgba(155,89,182,.12);color:#9b59b6}
.at-event-icon.at-icon--material svg{stroke:#9b59b6}
.at-event-icon.at-icon--equipment{background:rgba(230,126,34,.12);color:#e67e22}
.at-event-icon.at-icon--equipment svg{stroke:#e67e22}
.at-event-icon.at-icon--document{background:rgba(34,197,94,.12);color:#22c55e}
.at-event-icon.at-icon--document svg{stroke:#22c55e}
.at-event-icon.at-icon--foreman{background:rgba(59,130,246,.12);color:#3b82f6}
.at-event-icon.at-icon--foreman svg{stroke:#3b82f6}
.at-event-icon.at-icon--report{background:rgba(59,130,246,.12);color:#3b82f6}
.at-event-icon.at-icon--report svg{stroke:#3b82f6}
.at-event-icon.at-icon--photo{background:rgba(168,85,247,.12);color:#a855f7}
.at-event-icon.at-icon--photo svg{stroke:#a855f7}
.at-event-icon.at-icon--update{background:rgba(140,106,62,.15);color:var(--bronze)}
.at-event-icon.at-icon--update svg{stroke:var(--bronze)}
.at-event-icon.at-icon--milestone{background:rgba(245,158,11,.12);color:#f59e0b}
.at-event-icon.at-icon--milestone svg{stroke:#f59e0b}
.at-event-icon.at-icon--resolved{background:rgba(39,174,96,.12);color:#27ae60}
.at-event-icon.at-icon--resolved svg{stroke:#27ae60}
.at-event-icon.at-icon--procurement{background:rgba(155,89,182,.12);color:#9b59b6}
.at-event-icon.at-icon--procurement svg{stroke:#9b59b6}
.at-event-icon.at-icon--waste{background:rgba(230,126,34,.12);color:#e67e22}
.at-event-icon.at-icon--waste svg{stroke:#e67e22}
.at-event-icon.at-icon--delivery{background:rgba(52,152,219,.12);color:#3498db}
.at-event-icon.at-icon--delivery svg{stroke:#3498db}
.at-event-icon.at-icon--weather{background:rgba(91,155,213,.12);color:#5b9bd5}
.at-event-icon.at-icon--weather svg{stroke:#5b9bd5}

/* ── Event Content ── */
.at-event-content{flex:1;min-width:0}
.at-event-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px}
.at-event-author{font-size:13px;font-weight:700;color:#fff}
.at-event-role{font-size:10px;color:var(--muted);background:rgba(181,183,185,.08);padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}
.at-event-time{font-size:11px;color:var(--muted);margin-left:auto}
.at-event-title{font-size:14px;font-weight:600;color:#fff;margin-bottom:3px;line-height:1.4}
.at-event-desc{font-size:13px;color:var(--text);line-height:1.5;margin-bottom:6px}
.at-event-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:4px}
.at-event-source{font-size:10px;color:rgba(181,183,185,.4);margin-top:4px}
.at-event-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.at-event-action{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;border-radius:6px;border:1px solid rgba(181,183,185,.2);background:rgba(46,49,54,.5);color:var(--ash);font-size:11px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.at-event-action:hover{border-color:rgba(140,106,62,.4);color:#fff;background:rgba(46,49,54,.82)}
.at-event-action--primary{border-color:rgba(140,106,62,.35);color:var(--bronze)}
.at-event-action--primary:hover{border-color:rgba(140,106,62,.55);color:#fff;background:rgba(140,106,62,.18)}

/* ── Event Tags ── */
.at-tag{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px;letter-spacing:.02em}
.at-tag--checkin{background:rgba(140,106,62,.12);color:var(--bronze)}
.at-tag--safety{background:rgba(39,174,96,.12);color:#27ae60}
.at-tag--issue{background:rgba(231,76,60,.12);color:#e74c3c}
.at-tag--material{background:rgba(155,89,182,.12);color:#9b59b6}
.at-tag--equipment{background:rgba(230,126,34,.12);color:#e67e22}
.at-tag--document{background:rgba(34,197,94,.12);color:#22c55e}
.at-tag--foreman{background:rgba(59,130,246,.12);color:#3b82f6}
.at-tag--report{background:rgba(59,130,246,.12);color:#3b82f6}
.at-tag--photo{background:rgba(168,85,247,.12);color:#a855f7}
.at-tag--update{background:rgba(140,106,62,.12);color:var(--bronze)}
.at-tag--milestone{background:rgba(245,158,11,.12);color:#f59e0b}
.at-tag--resolved{background:rgba(39,174,96,.12);color:#27ae60}
.at-tag--procurement{background:rgba(155,89,182,.12);color:#9b59b6}
.at-tag--waste{background:rgba(230,126,34,.12);color:#e67e22}
.at-tag--delivery{background:rgba(52,152,219,.12);color:#3498db}
.at-tag--weather{background:rgba(91,155,213,.12);color:#5b9bd5}

.at-tag--team{background:rgba(181,183,185,.08);color:var(--muted)}
.at-tag--partners{background:rgba(59,130,246,.10);color:#3b82f6}
.at-tag--public{background:rgba(140,106,62,.12);color:var(--bronze)}

.at-tag--high{background:rgba(245,158,11,.12);color:#f59e0b}
.at-tag--urgent{background:rgba(231,76,60,.12);color:#e74c3c}

/* ── Notification Badge ── */
.at-notif-badge{position:absolute;top:-4px;right:-4px;background:#e74c3c;color:#fff;font-size:10px;font-weight:700;padding:2px 5px;border-radius:999px;min-width:16px;text-align:center;line-height:1.2}

/* ── Category Notification Badges (on stat cards & filter buttons) ── */
.at-stat{position:relative}
.at-stat .at-cat-badge{position:absolute;top:6px;right:6px;background:#e74c3c;color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:999px;min-width:14px;text-align:center;line-height:1.3;animation:at-badge-in .25s ease}
.af-filter-btn{position:relative}
.af-filter-btn .at-cat-badge{position:relative;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;background:#e74c3c;color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:999px;min-width:14px;text-align:center;line-height:1.3;margin-left:4px;animation:at-badge-in .25s ease}

/* ── New Event Indicator ── */
.at-event.is-new{border-left:3px solid var(--bronze)}
.at-event.is-new .at-new-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--bronze);margin-right:4px;vertical-align:middle;animation:at-badge-pulse 2s ease-in-out infinite}

@keyframes at-badge-in{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes at-badge-pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ── Notification List ── */
.at-notif-list{max-height:360px;overflow-y:auto}
.at-notif-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid rgba(181,183,185,.06)}
.at-notif-item:last-child{border-bottom:0}
.at-notif-item.unread{background:rgba(140,106,62,.04);border-radius:6px;padding:10px;margin:0 -10px}
.at-notif-dot{width:8px;height:8px;border-radius:50%;background:var(--bronze);flex-shrink:0;margin-top:5px}
.at-notif-item:not(.unread) .at-notif-dot{background:rgba(181,183,185,.2)}
.at-notif-body{flex:1;min-width:0}
.at-notif-title{font-size:13px;font-weight:600;color:#fff;margin:0 0 2px}
.at-notif-desc{font-size:12px;color:var(--muted);line-height:1.4}
.at-notif-meta{font-size:10px;color:rgba(181,183,185,.5);margin-top:3px}

/* ── Loading & Empty ── */
.at-loading{text-align:center;padding:24px 0;color:var(--muted);font-size:14px}
.at-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(140,106,62,.25);border-top-color:var(--bronze);border-radius:50%;animation:at-spin .6s linear infinite}
@keyframes at-spin{to{transform:rotate(360deg)}}
.at-empty{text-align:center;padding:40px 0;color:var(--muted);font-size:14px}

/* ── Load More ── */
.at-load-more{text-align:center;margin:20px 0}

/* ── Responsive ── */
@media(max-width:520px){
  .at-event{flex-direction:column;gap:8px}
  .at-event-icon{width:30px;height:30px}
  .at-event-icon svg{width:14px;height:14px}
  .at-event-time{margin-left:0}
  .at-event-header{gap:4px}
  .at-event-actions{gap:6px}
  .at-event-action{height:34px;padding:0 12px}
  .at-timeline{padding:0 0 0 24px}
  .at-timeline::before{left:7px}
  .at-date-label::before{left:-24px;width:8px;height:8px}
  .at-event::before{left:-19px;width:6px;height:6px}
}

/* ── Mobile Field Optimization ── */
@media(max-width:900px){
  /* Touch targets — min 44px tap area */
  .at-stat{min-height:44px;padding:16px 12px}
  .af-filter-btn{min-height:44px;min-width:44px}
  .at-view-select{min-height:44px;font-size:16px}

  /* Readable text for outdoor / bright-light use */
  .at-event-title{font-size:15px}
  .at-event-desc{font-size:14px;line-height:1.55}
  .at-event-author{font-size:14px}
  .at-event-role{font-size:11px;padding:3px 10px}
  .at-date-label{font-size:13px}
  .at-stat-value{font-size:20px}
  .at-stat-label{font-size:12px}

  /* Card spacing for gloved / outdoor taps */
  .at-event{padding:14px 16px;margin-bottom:10px}
  .at-notif-item{padding:12px 0;gap:12px}
  .at-notif-title{font-size:14px}
  .at-notif-desc{font-size:13px}
}
