.access-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.access-card { width: min(100%, 440px); background: var(--panel); border: 1px solid var(--border); border-radius: 12px; padding: 26px; box-shadow: var(--shadow); }
.access-wide { width: min(100%, 740px); margin: 24px 0; }
.access-card h1 { margin: 0 0 8px; font-size: 24px; }
.access-card h2 { font-size: 18px; margin: 28px 0 10px; }
.access-card p { color: var(--text-dim); }
.access-card a { color: var(--accent); }
.access-card form { display: grid; gap: 9px; margin-top: 20px; }
.access-card label { font-weight: 600; }
.access-card input, .access-card select { width: 100%; color: var(--text); background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; font: inherit; }
.access-card input:focus, .access-card select:focus { outline: 2px solid var(--accent); }
.access-card button { justify-self: start; margin-top: 7px; }
.access-message { min-height: 1.5em; color: var(--danger) !important; }
.access-card section { border-top: 1px solid var(--border); margin-top: 22px; }
.user-row { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; border-bottom: 1px solid var(--border); padding: 9px 0; }
.user-row strong { min-width: 120px; }
.user-row span { color: var(--text-dim); margin-right: auto; }
.user-row button { margin: 0; }
.user-row form { flex-basis: 100%; }
.access-card fieldset { border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; margin: 10px 0; }
.farm-choices label { display: flex; align-items: center; gap: 8px; padding: 5px 0; font-weight: 400; }
.farm-choices input[type="checkbox"] { width: auto; }
.farm-row, .inline-form { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px !important; margin: 10px 0 !important; }
.farm-row input, .inline-form input { flex: 1 1 180px; }
.farm-row button, .inline-form button { margin: 0 !important; }
.user-detail-form { width: 100%; }
.user-row { align-items: flex-start; }
[hidden] { display: none !important; }
