/* Time Zone Converter — tool-specific styles */
.tz-source { display: grid; grid-template-columns: 1fr 1fr auto; gap: 14px; align-items: end; }
.tz-source .btn { height: 42px; }
.tz-source select, .tz-source input { background: var(--bg-soft); border: 1px solid var(--line); color: var(--text);
  padding: 11px 12px; border-radius: var(--radius-sm); font-size: .95rem; font-family: inherit; width: 100%; }
.tz-source select:focus, .tz-source input:focus { outline: none; border-color: var(--accent); }
.tz-addrow { display: flex; gap: 10px; margin: 18px 0 0; flex-wrap: wrap; }
.tz-addrow select { flex: 1; min-width: 200px; background: var(--bg-soft); border: 1px solid var(--line); color: var(--text); padding: 10px 12px; border-radius: var(--radius-sm); font-family: inherit; }
.tz-addrow select:focus { outline: none; border-color: var(--accent); }
.tz-list { margin-top: 16px; display: flex; flex-direction: column; gap: 10px; }
.tz-card { display: flex; align-items: center; gap: 14px; background: var(--bg-soft); border: 1px solid var(--line);
  border-radius: var(--radius-sm); padding: 14px 16px; }
.tz-card.src { border-color: rgba(108,139,255,.5); background: rgba(108,139,255,.08); }
.tz-city { flex: 1; min-width: 0; }
.tz-city b { display: block; font-size: 1rem; }
.tz-city small { color: var(--muted-2); font-size: .78rem; }
.tz-time { text-align: right; font-variant-numeric: tabular-nums; }
.tz-time .t { font-size: 1.3rem; font-weight: 700; }
.tz-time .d { color: var(--muted); font-size: .82rem; }
.tz-time .diff { color: var(--accent-2); font-size: .74rem; }
.tz-rm { background: none; border: none; color: var(--muted-2); cursor: pointer; font-size: 1.1rem; padding: 2px 6px; }
.tz-rm:hover { color: var(--danger); }
@media (max-width: 600px) { .tz-source { grid-template-columns: 1fr; } }
