:root{font-family:"Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:#1b2430;background:#f4f6f9}
*{box-sizing:border-box}
body{margin:0;font-size:15px;line-height:1.5}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #235fc4;outline-offset:2px}
button:disabled{opacity:.55}
a{color:#002c76}
.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}
.panel{background:#fff;border:1px solid #e2e6ec;border-radius:10px;padding:24px;box-shadow:0 8px 30px rgba(0,20,60,.04)}
.login-panel{width:min(420px,100%);padding:32px}
.eyebrow{color:#235fc4;font-size:11px;font-weight:800;letter-spacing:.12em}
h1{font-size:26px;margin:4px 0 6px;line-height:1.25}
h2{font-size:18px;margin:0 0 6px}
p{margin:6px 0 14px}
.muted{color:#586270}
.hint,.small{font-size:12px;color:#67717d}
.hint{margin:6px 0 15px}
label{display:block;font-size:13px;font-weight:700;margin:15px 0 5px}
.optional{font-weight:400;color:#67717d}
input:not([type=hidden]){display:block;width:100%;border:1px solid #cbd3dd;background:#fff;border-radius:7px;padding:10px 12px;min-width:0}
button.primary{background:#002c76;color:#fff;border:1px solid #002c76;padding:10px 16px;border-radius:7px;font-weight:700}
button.primary:hover{background:#184f95}
.full{width:100%;margin-top:8px}
.alert{padding:11px 14px;border-radius:7px;margin:16px 0;font-size:14px}
.error{background:#fff0f0;color:#9e2424;border:1px solid #f2cdcd}
.success{background:#e8f6ea;color:#1d6535;border:1px solid #c5e7cf}
.security-note{background:#fff7e6;color:#735216;border:1px solid #f0dba9;margin:0}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px clamp(16px,4vw,48px);background:#fff;border-bottom:1px solid #e2e6ec}
.site-name{color:#002c76;text-decoration:none;font-weight:800;font-size:18px}
.site-header nav{display:flex;align-items:center;gap:10px}
.site-header nav form{margin:0}
.link-button{display:inline-block;background:#fff;color:#1b2430;border:1px solid #d7dce4;border-radius:7px;padding:7px 12px;text-decoration:none;font-size:14px;font-weight:600}
.link-button:hover{background:#eef1f6}
.settings{max-width:1120px;margin:32px auto;padding:0 20px 48px;display:grid;gap:18px}
.page-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.page-heading p,.section-heading p{margin-bottom:0}
.badge{display:inline-block;padding:4px 9px;border-radius:20px;background:#e3e9f5;color:#002c76;font-size:12px;font-weight:700;white-space:nowrap}
.badge.active{background:#e8f6ea;color:#1d6535}
.badge.inactive{background:#fff0f0;color:#9e2424}
.add-form{padding:18px 0;margin-top:18px;border-top:1px solid #e2e6ec}
.add-form[hidden]{display:none}
.fields{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr)) 2fr;gap:12px}
.email-field{min-width:200px}
.table-wrap{overflow-x:auto;margin-top:18px}
table{width:100%;border-collapse:collapse}
th{text-align:left;color:#67717d;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
td,th{padding:12px 10px;border-bottom:1px solid #e2e6ec;vertical-align:middle}
td{overflow-wrap:anywhere}
.row-actions{display:flex;gap:8px;flex-wrap:wrap}
.row-actions form{margin:0}
.text-button{background:transparent;color:#002c76;border:0;padding:3px 5px;text-decoration:underline;font-size:13px}
.empty{padding:28px 0;color:#67717d}
.narrow{max-width:560px}
.password-form input{max-width:460px}
.secret-panel{border-color:#a9c4e6;background:#f8fbff}
.secret-line{display:flex;gap:8px}
.secret-line input{font-family:ui-monospace,monospace}
.secret-line button{border:1px solid #cbd3dd;border-radius:7px;background:#fff;padding:8px 12px;white-space:nowrap}
.audit-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.audit-filters label{margin:0 0 5px}
.audit-filters select{min-width:165px;max-width:100%;border:1px solid #cbd3dd;background:#fff;border-radius:7px;padding:10px;font:inherit}
.audit-filters button{margin-bottom:0}
.audit-list{margin-top:20px}
.audit-event{border-top:1px solid #e2e6ec;padding:16px 0}
.audit-meta{display:flex;align-items:center;gap:9px 12px;flex-wrap:wrap;font-size:14px}
.audit-meta time{color:#67717d;font-size:12px;margin-left:auto}
.prompt-badge{background:#e8e2f9;color:#563899}
.event-detail,.prompt-detail{margin-top:8px;font-size:14px}
.prompt-detail summary{cursor:pointer;overflow-wrap:anywhere;color:#002c76}
.prompt-detail summary:hover{text-decoration:underline}
.prompt-text{margin-top:10px;padding:12px;background:#f4f6f9;border-radius:7px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;overflow:auto}
.pagination{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin-top:12px;font-size:13px;color:#67717d}
@media(max-width:760px){.fields{grid-template-columns:1fr}.email-field{min-width:0}.settings{margin:20px auto}.panel{padding:18px}.row-actions{min-width:180px}}