.activity-content { display:grid; gap:20px; max-width:1040px; }
.activity-panel { padding:24px; }
.activity-panel h2 { margin:0 0 16px; font-size:18px; }
.activity-panel h3 { margin:0 0 12px; font-size:14px; }
.activity-panel small,.activity-hint,.activity-panel p,.activity-session dt { color:var(--navi-muted); }
.activity-hint { font-size:12px; line-height:1.7; }
.activity-actions { display:flex; flex-wrap:wrap; gap:10px; }
.activity-session { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--navi-line); padding:20px 0; }
.activity-session:last-child { padding-bottom:0; }
.activity-session dl { display:flex; flex-wrap:wrap; gap:12px 24px; margin:0; font-size:12px; }
.activity-session dd { margin:5px 0 0; color:var(--navi-ink); overflow-wrap:anywhere; }
.activity-session button { flex-shrink:0; }
.activity-badge { display:inline-block; margin-left:8px; padding:3px 7px; border-radius:6px; background:var(--navi-soft); color:var(--navi-accent); font-size:11px; }
.activity-devices { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:12px; }
.activity-devices section { padding:16px; border:1px solid var(--navi-line); border-radius:10px; }
.activity-devices p { margin:6px 0 0; font-size:12px; }
.activity-timeline { list-style:none; padding:0; margin:0; }
.activity-timeline li { border-top:1px solid var(--navi-line); padding:14px 0; font-size:13px; }
.activity-timeline li > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; }
.activity-timeline time { color:var(--navi-muted); font-size:12px; }
.activity-timeline p { margin:6px 0 0; }
.activity-dialog { width:min(440px,calc(100vw - 32px)); border:1px solid var(--navi-line); border-radius:14px; padding:24px; background:var(--navi-surface); color:var(--navi-ink); }
.activity-dialog::backdrop { background:#0008; }
.activity-dialog h2 { margin-top:0; font-size:20px; }
.activity-dialog p { line-height:1.7; }
.activity-dialog .form-actions { display:flex; justify-content:flex-end; gap:10px; }
.activity-actions button:disabled,.activity-dialog button:disabled { opacity:.55; cursor:not-allowed; }
@media(max-width:600px) { .activity-panel { padding:18px; } .activity-session { align-items:flex-start; flex-direction:column; gap:14px; } }
