/* Shared styling for all Newnan Utilities public forms. */
:root { --brand:#0A4D8C; --ink:#1f2933; --muted:#6b7785; --line:#e1e5ea; --ok:#1b7f3b; --err:#c0392b; }
* { box-sizing: border-box; }
body { margin:0; background:#f4f6f8; color:var(--ink);
       font:15px/1.5 system-ui,Segoe UI,Roboto,Arial,sans-serif; }
.card { max-width:620px; margin:40px auto; background:#fff; padding:28px 30px;
        border-radius:12px; box-shadow:0 2px 16px rgba(0,0,0,.06); }
h1 { margin:.1em 0 .2em; font-size:1.45rem; color:var(--brand); }
.muted { color:var(--muted); }
.small { font-size:.85rem; }
fieldset { border:1px solid var(--line); border-radius:8px; margin:16px 0; padding:14px 16px; }
legend { padding:0 6px; font-weight:600; color:var(--brand); }
label { display:block; margin:10px 0 4px; font-weight:500; }
input, select, textarea { width:100%; padding:9px 10px; border:1px solid var(--line);
                          border-radius:7px; font-size:1rem; font-family:inherit; }
input[type=file] { padding:7px 8px; background:#fafbfc; }
.row { display:flex; gap:10px; }
.row > * { flex:1; }
button { cursor:pointer; border:0; border-radius:8px; padding:11px 18px;
         font-size:1rem; background:var(--brand); color:#fff; margin-top:6px; }
button:disabled { opacity:.5; cursor:not-allowed; }
.status { margin-top:14px; font-weight:500; min-height:1.4em; }
.status.ok { color:var(--ok); }
.status.err { color:var(--err); }
