.upload-card { max-width: 800px; margin-inline: auto; }
.privacy-notice { border: 1px solid var(--line); border-radius: 14px; padding: 1rem; margin: 1rem 0 1.5rem; background: rgba(213, 238, 84, .08); }
.privacy-notice p { margin-bottom: 0; }
#upload-form { display: grid; gap: 1rem; text-align: left; }
#upload-form > label, .location-grid label { display: grid; gap: .45rem; font-weight: 700; }
#upload-form label span { color: var(--muted); font-size: .85rem; font-weight: 500; }
input[type="file"], input[type="number"], input[type="datetime-local"] { width: 100%; min-height: 46px; border: 1px solid var(--line); border-radius: 10px; padding: .7rem; color: var(--ink); background: var(--panel); }
.location-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
fieldset { border: 1px solid var(--line); border-radius: 12px; padding: 1rem; display: grid; gap: .8rem; }
.check { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .65rem; font-weight: 500; }
.check input { width: 20px; height: 20px; }
.field-note { min-height: 1.4em; margin: -.5rem 0 0; color: var(--muted); }
#upload-receipt { display: block; overflow-wrap: anywhere; border: 1px solid var(--accent); border-radius: 12px; padding: 1rem; background: rgba(213, 238, 84, .08); }
@media (max-width: 620px) { .location-grid { grid-template-columns: 1fr; } }
