:root{--dg:#0c4139;--mg:#157466;--gold:#b89030;--sage:#b0c4b1;--bg:#f9f9f1;--border:#dee2e6;--dt:#333;--gt:#555}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--dt);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.dev-banner{color:#1a1a1a;text-align:center;letter-spacing:.02em;background:#ff7a00;padding:10px 16px;font-size:14px;font-weight:600}.topbar{background:var(--dg);color:#fff;justify-content:space-between;align-items:center;padding:14px 28px;display:flex}.topbar-brand{letter-spacing:2px;text-transform:uppercase;color:var(--sage);font-size:13px;font-weight:600}.topbar-user{align-items:center;gap:16px;font-size:14px;display:flex}.topbar-user form{display:inline}main{max-width:960px;margin:0 auto;padding:32px 24px}h1{color:var(--dg);margin-bottom:6px;font-size:24px;font-weight:700}h2{color:var(--dg);margin:24px 0 10px;font-size:17px;font-weight:600}p{margin-bottom:12px}.sub{color:var(--gt);margin-bottom:24px;font-size:15px}.card{border:1px solid var(--border);background:#fff;border-radius:8px;margin-bottom:18px;padding:24px}.btn{background:var(--dg);color:#fff;cursor:pointer;border:none;border-radius:5px;min-height:44px;padding:12px 22px;font-family:inherit;font-size:15px;font-weight:600}.btn:hover{background:var(--mg)}.btn:disabled{cursor:not-allowed;background:#999}.btn-plain{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:4px;padding:6px 14px;font-family:inherit;font-size:13px}.btn-plain:hover{background:#ffffff1f}label{color:var(--mg);margin-bottom:5px;font-size:13px;font-weight:600;display:block}input[type=email],input[type=text]{border:1.5px solid var(--border);border-radius:5px;width:100%;margin-bottom:16px;padding:11px 13px;font-family:inherit;font-size:15px}.msg{border-radius:5px;margin-bottom:16px;padding:12px 16px;font-size:14px}.msg-error{color:#8b1a10;background:#fdecea;border:1px solid #f5c6c2}.msg-ok{border:1px solid var(--sage);color:var(--dg);background:#e8f0eb}.role{background:#ffffff26;border-radius:10px;padding:2px 8px;font-size:12px}td,.card code{overflow-wrap:anywhere}
