/* Levi's weekly rates form (web/levi.html). Its own file so the app's stylesheet is untouched. */
body.levi { background: var(--bg); min-height: 100vh; }
.levi-page { max-width: 680px; margin: 0 auto; padding: max(24px, env(safe-area-inset-top)) 16px 48px; }
.levi-head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.levi-head img { border-radius: 10px; }
.levi-head h1 { font-size: 26px; margin: 0; }
.levi-lender { border: 0; padding: 14px 0 16px; margin: 0; border-top: 1px solid var(--line-2); }
.levi-lender legend { font-weight: 700; font-size: 15px; padding: 0; margin-bottom: 4px; }
.levi-grid { display: grid; grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1.3fr); gap: 8px 10px; align-items: center; margin-top: 10px; }
.levi-grid > b { font-size: 13px; color: var(--ink-2); }
.levi-grid input { width: 100%; min-width: 0; padding: 11px 13px; border-radius: var(--r-sm); border: 1px solid var(--line); background: var(--bg); font-size: 16px; -webkit-appearance: none; appearance: none; }
.levi-grid input:focus { outline: none; border-color: var(--accent); background: var(--card); box-shadow: 0 0 0 4px var(--accent-soft); }
.levi-grid .unit-in { min-width: 0; }
.levi-grid .unit-in input { padding-right: 30px !important; }
.levi-msg { text-align: left; }
