.app { grid-template: "bar" calc(52px + env(safe-area-inset-top)) "main" minmax(0, 1fr) / minmax(0, 1fr); }
.app-main { padding-left: calc(20px + env(safe-area-inset-left)); }
.page { max-width: 560px; margin: 0 auto; display: grid; gap: 14px; padding-top: 22px; }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--card); box-shadow: var(--shadow-card); padding: 16px; display: grid; gap: 14px; }
.field { display: grid; gap: 6px; }
.price-wrap { position: relative; }
.price-wrap .prefix { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--faint); font-family: var(--mono); pointer-events: none; }
.price-wrap .input { font-family: var(--mono); padding-left: 24px; }
.table td.num, .table th.num { white-space: nowrap; }
.table td.num, .table th.num { text-align: right; }
.table tbody tr.is-anchor { background: var(--accent-tint); }
.item-cell { display: grid; gap: 4px; padding: 6px 0; line-height: 16px; }
.actual { width: 88px; height: 28px; text-align: right; }
.price-wrap.is-small .prefix { left: 8px; font-size: 12px; }
.price-wrap.is-small .input { padding: 0 8px 0 20px; font-size: 16px; }
@media (max-width: 640px) { .app-main { padding: 0 calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left)); } .actual { height: 40px; } }
.table td { height: auto; }
.table th:first-child, .table td:first-child { white-space: normal; }
@media (max-width: 640px) { .table th, .table td { padding-left: 8px; padding-right: 8px; } .table th:first-child, .table td:first-child { padding-left: 12px; } .table td:last-child, .table th:last-child { padding-right: 12px; } }
.native-select { position: relative; }
.native-select select { display: block; appearance: none; -webkit-appearance: none; padding-right: 32px; text-overflow: ellipsis; }
.native-select .ico { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: var(--faint); pointer-events: none; }
@media (max-width: 640px) { .card .input, .native-select select { height: 48px; font-size: 16px; } }
