/* my-visas.css — «Мои визы» (#/my-visas). Префикс .mv-. Только токены темы. */
.mv-row { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto; gap: 6px 18px; align-items: start; padding: 14px 18px 14px 22px; border: 1px solid var(--c1-line); border-radius: 10px; background: color-mix(in srgb, var(--text-primary) 2.5%, transparent); }
.mv-row::before { content: ''; position: absolute; left: 0; top: 10px; bottom: 10px; width: 4px; border-radius: 0 4px 4px 0; background: var(--status-info); }
.mv-row[data-status="pending"]:not([data-overdue="1"])::before { background: var(--status-warning); }
.mv-row[data-overdue="1"] { border-color: color-mix(in srgb, var(--status-danger) 40%, transparent); background: color-mix(in srgb, var(--status-danger) 5%, transparent); }
.mv-row[data-overdue="1"]::before { background: var(--status-danger); }
.mv-row[data-status="cleared"]::before, .mv-row[data-status="reserved"]::before { background: var(--status-success); }
.mv-row__who, .mv-row__blk { display: grid; gap: 2px; min-width: 0; }
.mv-row__name { font: 600 15px/1.3 var(--font-display); color: var(--text-primary); text-decoration: none; overflow-wrap: anywhere; } .mv-row__name:hover { text-decoration: underline; }
.mv-row small { color: var(--text-secondary); font-size: 12.5px; }
.mv-row__blk b { font-weight: 600; color: var(--text-primary); }
.mv-row__due { font-size: 13px; color: var(--text-secondary); font-variant-numeric: tabular-nums; white-space: nowrap; }
.mv-over { color: var(--status-danger); font-weight: 600; }
.mv-row__note { grid-column: 1 / -1; font-size: 12.5px; color: var(--text-secondary); }
.mv-row__acts { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; }
@media (max-width: 768px) {
  .mv-row { grid-template-columns: minmax(0, 1fr); }
  .mv-row__due { white-space: normal; }
  .mv-row__acts .btn { flex: 1 1 100%; min-height: 44px; }
}
