/* =====================================================================
   Modulspezifische Ansichten
   ===================================================================== */

/* Aktivitätscheck */
.check-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.check-card { display: flex; flex-direction: column; gap: 14px; padding: 18px; border-radius: var(--r-lg); border: 1px solid var(--border); background: var(--surface); backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur); cursor: pointer; text-align: left; transition: transform var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), background var(--dur-2) var(--ease); }
.check-card:hover { transform: translateY(-2px); border-color: var(--border-strong); background: var(--surface-2); }
.check-card h3 { font-size: .95rem; }
.check-desc { font-size: .82rem; color: var(--text-2); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.people-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
@media (max-width: 640px) { .people-grid { grid-template-columns: 1fr; } }
.person-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border-radius: var(--r-sm); border: 1px solid var(--border); background: rgba(255, 255, 255, .02); animation: fade-in var(--dur-2) var(--ease); min-width: 0; }
.person-row .user-chip { min-width: 0; }
.person-state { display: inline-flex; align-items: center; gap: 5px; font-size: .76rem; white-space: nowrap; flex: 0 0 auto; }
.person-state svg { width: 14px; height: 14px; }
.person-row.is-yes .person-state { color: var(--success); }
.person-row.is-no { border-color: rgba(247, 139, 139, .16); background: rgba(247, 139, 139, .04); }
.person-row.is-no .person-state { color: var(--danger); }

/* Schichten */
.duty-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.duty-card { display: flex; flex-direction: column; gap: 12px; padding: 18px; border-radius: var(--r-lg); border: 1px solid var(--border); background: var(--surface); backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur); text-align: left; transition: transform var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease); }
.duty-card:hover { transform: translateY(-2px); border-color: var(--border-strong); }
.duty-card.is-paused { opacity: .8; }
.duty-time { font-size: 1.9rem; font-weight: 640; letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--text); }
.duty-card.is-paused .duty-time { color: var(--warning); }

/* Zeitleiste (Ticket-Verlauf) */
.timeline { position: relative; display: flex; flex-direction: column; gap: 16px; padding-left: 4px; }
.timeline::before { content: ''; position: absolute; left: 8px; top: 6px; bottom: 6px; width: 1px; background: var(--border-strong); }
.timeline-item { position: relative; display: flex; gap: 14px; font-size: .86rem; animation: rise-in var(--dur-3) var(--ease) both; }
.timeline-dot { position: relative; z-index: 1; flex: 0 0 auto; width: 9px; height: 9px; margin: 5px 0 0 0; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px var(--bg-elevated); }
.timeline-item:last-child .timeline-dot { background: var(--success); }

/* Zugriffe */
.access-row { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: var(--r-sm); border: 1px solid var(--border); background: rgba(255, 255, 255, .02); animation: rise-in var(--dur-2) var(--ease); }
.access-row .segmented button { height: 26px; padding: 0 10px; font-size: .76rem; }

/* Drawer-Kopf mit User-Chip */
.drawer-head h2 .user-chip .avatar { width: 32px; height: 32px; }
.drawer-head h2 .user-chip-name { font-size: 1.02rem; }

/* Formulare mit Ladezustand */
.config-form.is-loading .form-col { opacity: .5; transition: opacity var(--dur-2); }
.drawer-body > * + .drawer-section { margin-top: 22px; }
