/* Aventra — Safety Map · Travel Alerts */
.pg-safety-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr); gap: var(--gutter); align-items: start; margin-top: var(--gutter); }
.pg-safety-main { display: flex; flex-direction: column; gap: var(--gutter); min-width: 0; }
.pg-safety-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.pg-safety-rank { position: sticky; top: calc(var(--topbar-h) + 8px); max-height: calc(100vh - var(--topbar-h) - 24px); }
.pg-safety-list { display: flex; flex-direction: column; gap: 4px; overflow-y: auto; flex: 1; min-height: 0; padding-right: 4px; }
.pg-safety-row { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; text-align: left; color: inherit; width: 100%; transition: background var(--dur-fast); }
.pg-safety-row:hover { background: var(--surface-3); }
.pg-safety-row.is-selected { background: var(--accent-soft); }
.pg-safety-num { display: inline-flex; width: 26px; height: 26px; border-radius: 50%; align-items: center; justify-content: center; font-size: var(--fs-xs); font-weight: 700; background: var(--surface-3); color: var(--text-2); flex: none; }
.pg-safety-row-text { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.pg-safety-row-text .t { font-weight: 600; color: var(--heading); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pg-safety-row-text .s { font-size: var(--fs-xs); color: var(--text-2); }
.pg-safety-dots { display: flex; gap: 6px; flex: none; }
.pg-safety-dots .risk-dot { width: 9px; height: 9px; box-shadow: none; cursor: help; }
.pg-alerts-toolbar { margin-bottom: var(--gutter); padding: 14px 16px; }
.pg-alerts-toolbar .select { width: auto; } .pg-alerts-toolbar .input { flex: 1 1 220px; }
.pg-alerts-list { display: flex; flex-direction: column; gap: 12px; }
.pg-alerts-item { padding: 6px 20px 12px; gap: 4px; }
.pg-alerts-item .cards-alert-wrap { border-bottom: 0; }
.pg-alerts-actions { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.pg-alerts-unread { background: var(--accent-soft); border-radius: 10px; padding: 10px; }
@media (max-width: 1180px) { .pg-safety-layout { grid-template-columns: 1fr; } .pg-safety-rank { position: static; max-height: none; } .pg-safety-list { max-height: 60vh; } }
@media (max-width: 760px) { .pg-safety-detail-grid { grid-template-columns: 1fr; } }
