:root{--navy:#1c4f67;--blue:#066aab;--sky:#8abad1;--muted:#79a1b7;--bg:#f2f3f5;--ink:#1b2733;--card:#fff;--ok:#00d084;--err:#d64545}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.brandbar{background:var(--navy);color:#fff;padding:14px 24px;display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.3px}.brandbar .dot{width:12px;height:12px;border-radius:50%;background:var(--sky)}.brandbar .spacer{flex:1 1}.brandbar a{color:#cfe4ef;font-weight:500}.auth-wrap{min-height:calc(100vh - 52px);display:grid;place-items:center;padding:24px}.card{background:var(--card);border-radius:14px;padding:32px;width:100%;max-width:400px;box-shadow:0 8px 30px rgba(28,79,103,.12)}.card h1{margin:0 0 4px;font-size:22px;color:var(--navy)}.card p.sub{margin:0 0 20px;color:var(--muted);font-size:14px}label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px;color:var(--navy)}input{width:100%;padding:11px 12px;border:1px solid #d5dee4;border-radius:9px;font-size:15px;background:#fbfdfe}input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(6,106,171,.12)}button.primary{margin-top:20px;width:100%;padding:12px;border:0;border-radius:9px;background:var(--blue);color:#fff;font-size:15px;font-weight:600;cursor:pointer}button.primary:hover{background:var(--navy)}button.primary:disabled{opacity:.6;cursor:default}.row-links{margin-top:16px;display:flex;justify-content:space-between;font-size:13px}.msg{margin-top:16px;padding:10px 12px;border-radius:9px;font-size:14px}.msg.err{background:#fdecec;color:var(--err)}.msg.ok{background:#e6faf1;color:#0a7a4f}.dash{max-width:960px;margin:0 auto;padding:24px}.dash h1{color:var(--navy)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px}.contact{background:#fff;border-radius:12px;padding:16px;box-shadow:0 4px 16px rgba(28,79,103,.08)}.contact img{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--sky)}.contact .name{font-weight:600;color:var(--navy);margin-top:8px}.contact .meta{font-size:13px;color:var(--muted)}.contact .notes{font-size:12px;color:#55707f;margin-top:6px;font-style:italic}.avatar-fallback{width:56px;height:56px;border-radius:50%;background:var(--sky);color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px;text-transform:uppercase}.card-actions{margin-top:10px;display:flex;gap:12px}button.link{background:none;border:0;color:var(--blue);cursor:pointer;padding:0;font-size:13px}button.link.danger{color:var(--err)}.btn{background:var(--blue);color:#fff;border:0;border-radius:8px;padding:8px 16px;font-weight:600;cursor:pointer}.btn:hover{background:var(--navy)}.btn.ghost{background:transparent;color:var(--navy);border:1px solid #cdd9e0}.btn:disabled{opacity:.6}.modal-overlay{position:fixed;inset:0;background:rgba(28,79,103,.45);display:grid;place-items:center;padding:20px;z-index:50}.modal{background:#fff;border-radius:14px;padding:28px;width:100%;max-width:460px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.modal h2{margin:0 0 16px;color:var(--navy);font-size:20px}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.modal-actions{margin-top:22px;display:flex;justify-content:flex-end;gap:10px}@media (max-width:640px){.brandbar{padding:12px 16px;flex-wrap:wrap;gap:8px}.auth-wrap{padding:16px;min-height:calc(100vh - 60px)}.card{padding:24px 20px}.dash{padding:16px 14px}.dash>div:first-child{flex-wrap:wrap}.dash>div:first-child h1{flex-basis:100%}.contact-grid{grid-template-columns:1fr}.modal-overlay{padding:12px}.modal{padding:22px 18px;max-width:100%;max-height:90vh;overflow-y:auto}.grid2{grid-template-columns:1fr}.modal-actions{flex-wrap:wrap}}