/* Styling for the signed-out pages (setup, login, register, password).
   These values are copied from the application's own stylesheet so the
   standalone pages and the app look like one product. */

:root{
  --navy:#122A4E; --navy-deep:#0B1D38; --gold:#C9971F; --gold-soft:#F2E2B8;
  --teal:#2E7D6B; --terracotta:#B23A48; --paper:#F6F4EE; --paper-card:#FFFFFF;
  --ink:#1F2430; --ink-soft:#5B6270; --line:#E3DFD3; --radius:10px;
  --serif:'Source Serif 4',Georgia,serif; --sans:'IBM Plex Sans',Arial,sans-serif; --mono:'IBM Plex Mono',monospace;
}

*{box-sizing:border-box;}
body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink);}

.auth-gate{position:fixed;inset:0;background:var(--navy-deep);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;overflow-y:auto;}
.auth-card{background:#fff;border-radius:14px;padding:34px 30px;max-width:360px;width:90%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.35);}
.auth-card h2{font-family:var(--serif);margin:0 0 8px;color:var(--navy);}
.auth-note{font-size:11.5px;color:var(--terracotta);margin-top:12px;min-height:14px;}
.auth-note.ok{color:var(--teal);}
.link-btn{background:none;border:none;color:var(--navy);text-decoration:underline;cursor:pointer;font-size:inherit;padding:0;font-family:inherit;}
a.link-btn{display:inline;}

.brand-seal{width:32px;height:32px;flex-shrink:0;}
.subtle{color:var(--ink-soft);font-size:12px;}

.field{margin-bottom:12px;}
.field label{display:block;font-size:10.5px;font-weight:600;color:var(--ink-soft);margin-bottom:4px;text-transform:uppercase;letter-spacing:.2px;}
.field input,.field select,.field textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:7px;font-size:13px;font-family:var(--sans);background:#FCFBF8;}

.btn{font-family:var(--sans);font-size:12px;font-weight:600;padding:7px 13px;border-radius:7px;border:none;cursor:pointer;}
.btn.primary{background:var(--navy);color:#fff;}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);}
.btn:disabled{opacity:.4;cursor:not-allowed;}

@media (max-width:720px){
  .auth-card{ padding:26px 20px; }
}

/* ---- certificate verification ---- */
.verify-result{border-radius:10px;padding:14px 16px;margin-bottom:16px;text-align:left;}
.verify-result.ok{background:#EAF5F1;border:1px solid #2E7D6B;}
.verify-result.bad{background:#FBEAEB;border:1px solid #B23A48;}
.verify-badge{font-weight:700;font-size:15px;margin-bottom:4px;}
.verify-result.ok .verify-badge{color:#2E7D6B;}
.verify-result.bad .verify-badge{color:#B23A48;}
.verify-lead{margin:0;font-size:12.5px;line-height:1.5;color:#1F2430;}
.verify-table{width:100%;border-collapse:collapse;text-align:left;font-size:12.5px;margin-bottom:14px;}
.verify-table th{width:40%;padding:7px 8px 7px 0;color:#5B6270;font-weight:600;vertical-align:top;
                 border-bottom:1px solid #E3DFD3;white-space:nowrap;}
.verify-table td{padding:7px 0;border-bottom:1px solid #E3DFD3;color:#1F2430;word-break:break-word;}
.verify-note{font-size:11.5px;color:#5B6270;line-height:1.5;text-align:left;margin:10px 0 0;}
