/* Securance Client Acceptance -- huisstijl */
:root {
  --red: #A12844;
  --red-dark: #85203789;
  --navy: #24272A;
  --blue: #0188B5;
  --gray: #909090;
  --line: #E3E5E8;
  --bg: #FFFFFF;
  --bg-soft: #F6F7F8;
  --text: #1A1C1E;
  --ok: #1E7E43;
  --warn: #B9770E;
  --danger: #A12844;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: "Barlow", -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--text);
  background: var(--bg-soft);
  line-height: 1.5;
}
a { color: var(--blue); }

/* Kop en navigatie */
.topbar {
  background: var(--navy);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  height: 60px;
}
.brand { font-weight: 700; letter-spacing: .06em; text-transform: uppercase; font-size: 20px; color:#fff; text-decoration:none; }
.brand .be-sure { color: var(--red); }
.topnav a { color: #cfd3d7; text-decoration: none; margin-left: 20px; text-transform: uppercase; font-size: 13px; letter-spacing: .04em; }
.topnav a:hover, .topnav a.active { color: #fff; }
.topnav .role-tag { background: var(--red); color:#fff; padding:2px 8px; border-radius: 3px; font-size:11px; margin-left:20px; }

.container { max-width: 1080px; margin: 28px auto; padding: 0 24px; }
.narrow { max-width: 460px; }

h1, h2, h3 { font-weight: 700; color: var(--navy); }
h1 { text-transform: uppercase; letter-spacing: .03em; font-size: 26px; margin: 0 0 4px; }
h2 { font-size: 18px; margin: 28px 0 12px; text-transform: uppercase; letter-spacing:.02em; font-size:15px; color:var(--gray); border-bottom:1px solid var(--line); padding-bottom:6px;}
h3 { font-size: 16px; }

.card { background:#fff; border:1px solid var(--line); border-radius:8px; padding:24px; margin-bottom:20px; }
.card.tight { padding:18px; }

label { display:block; font-size:13px; font-weight:600; color:var(--navy); margin:14px 0 4px; }
input[type=text], input[type=email], input[type=password], input[type=url], input[type=date], select, textarea {
  width:100%; padding:9px 11px; border:1px solid var(--line); border-radius:6px; font:inherit; background:#fff;
}
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(1,136,181,.12); }
textarea { min-height:70px; resize:vertical; }
.hint { font-size:12px; color:var(--gray); margin-top:3px; }

.btn { display:inline-block; background:var(--red); color:#fff; border:none; padding:10px 18px; border-radius:6px; font:inherit; font-weight:600; cursor:pointer; text-decoration:none; text-transform:uppercase; letter-spacing:.03em; font-size:13px; }
.btn:hover { background:#8b2039; }
.btn.secondary { background:#fff; color:var(--navy); border:1px solid var(--line); }
.btn.secondary:hover { background:var(--bg-soft); }
.btn.ghost { background:transparent; color:var(--blue); text-transform:none; letter-spacing:0; padding:6px 0; }
.btn.ok { background:var(--ok); }
.btn.small { padding:6px 12px; font-size:12px; }
.btn:disabled { opacity:.5; cursor:not-allowed; }

.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.grid3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:0 20px; }
@media (max-width:720px){ .grid2,.grid3{ grid-template-columns:1fr; } }

table { width:100%; border-collapse:collapse; }
th, td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); font-size:14px; vertical-align:top; }
th { font-size:12px; text-transform:uppercase; letter-spacing:.03em; color:var(--gray); }
tr:hover td { background:var(--bg-soft); }

.badge { display:inline-block; padding:2px 9px; border-radius:99px; font-size:12px; font-weight:600; }
.badge.low { background:#E4F3EA; color:var(--ok); }
.badge.moderate { background:#FBF0DC; color:var(--warn); }
.badge.high { background:#F7E1E6; color:var(--red); }
.badge.status { background:#EEF0F2; color:var(--navy); }

.alert { padding:12px 16px; border-radius:6px; margin:14px 0; font-size:14px; }
.alert.error { background:#F7E1E6; color:#7a1a30; border:1px solid #e6b8c3; }
.alert.ok { background:#E4F3EA; color:#1a5c33; border:1px solid #b8ddc6; }
.alert.info { background:#E7F3F8; color:#0b5a76; border:1px solid #b7dded; }

.riskgrid { display:grid; grid-template-columns: 1fr; gap:8px; }
.riskrow { display:grid; grid-template-columns: 1fr 150px; gap:10px; align-items:start; padding:10px 0; border-bottom:1px solid var(--line); }
.riskrow .rlabel { font-size:14px; }
.riskrow select { max-width:150px; }

.kv { display:grid; grid-template-columns: 220px 1fr; gap:6px 16px; font-size:14px; }
.kv dt { color:var(--gray); }
.kv dd { margin:0; }

.approvals li { margin-bottom:8px; }
.mono { font-family: ui-monospace, Menlo, Consolas, monospace; }
.secret { font-size:20px; letter-spacing:.15em; background:var(--bg-soft); padding:12px; border-radius:6px; text-align:center; word-break:break-all; }
.footer { text-align:center; color:var(--gray); font-size:12px; margin:40px 0 24px; }
.inline { display:inline; }
.muted { color:var(--gray); }
.right { text-align:right; }
.flex { display:flex; align-items:center; gap:12px; justify-content:space-between; }
.sources { font-size:12px; }
.sources a { display:block; margin:2px 0; }
