/* Additions for real backend states. Reuses the approved tokens; no new colors or components. */
.login .field input,.login .field select{font-size:14px}
.field .pw{position:relative;display:block;margin-top:8px}.field .pw input{padding-right:78px;margin-top:0}.field .pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);margin:0;background:none;color:var(--green);font-weight:700;font-size:11px;padding:8px}
.form-error{background:#fbeeea;color:#9a4331;border-radius:8px;padding:11px 14px;font-size:12px;line-height:1.7;margin:12px 0}
.form-error:empty{display:none}
.link-row{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-top:14px}
.link-row a,.link-row button{color:var(--green);font-weight:700;background:none;padding:0;text-decoration:none}
.save-state{font-size:10px;color:#8b9783}
.save-state.err{color:#9a4331}
.start-card .primary[disabled],.start-card .secondary[disabled]{opacity:.55;cursor:not-allowed}
.loading{padding:60px 0;text-align:center;color:var(--muted);font-size:12px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-grid .card{margin-bottom:0}
.inline-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.inline-form .field{margin:0}
.inline-form .primary{height:43px}
.people-table td,.people-table th{font-size:11px}
.preview-ok{color:#52753b}.preview-bad{color:#9a4331}
.field .hint{display:block;font-weight:400;color:var(--muted);font-size:10px;margin-top:6px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:850px){.admin-grid{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr}}
