.hourly-rate-main { max-width: 620px; }
.hourly-rate-form, .hourly-rate-result { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow); }
.hourly-rate-form { display: grid; gap: 15px; }
.hourly-rate-form label { display: grid; gap: 7px; color: var(--ink); font-size: 13px; font-weight: 650; }
.hourly-rate-form input, .hourly-rate-form select { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); color: var(--ink); font: inherit; }
.hourly-money-input { display: grid; grid-template-columns: 1fr 92px; gap: 8px; }
.hourly-percent-input { position: relative; display: flex; align-items: center; }
.hourly-percent-input input { padding-right: 38px; }
.hourly-percent-input > span { position: absolute; right: 13px; color: var(--ink-soft); }
.hourly-rate-form button { justify-self: start; min-height: 44px; padding: 0 16px; }
.hourly-rate-error { margin: 0; color: var(--danger); font-size: 12px; }
.hourly-rate-result { margin-top: 15px; text-align: center; }
.hourly-rate-result h2 { margin: 0 0 7px; color: var(--ink-soft); font-size: 13px; }
.hourly-rate-result output { display: block; color: var(--accent); font-size: clamp(32px, 8vw, 46px); font-weight: 750; font-variant-numeric: tabular-nums; }
.hourly-rate-result p { margin: 8px 0 0; color: var(--ink-soft); font-size: 13px; }
@media (max-width: 480px) { .hourly-rate-form, .hourly-rate-result { padding: 18px; } .hourly-money-input { grid-template-columns: 1fr 82px; } }
