/* Partnerportaal. Bouwt voort op ui.css en admin.css (zelfde ontwerpbasis). */
.env-inline { font: 600 .75rem var(--font-body); color: var(--slate-500); margin-left: .35rem; text-transform: uppercase; letter-spacing: .06em; }
.small { font-size: .88rem; }

.brand-card { margin-bottom: 1.5rem; display: grid; gap: .9rem; }
.brand-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.brand-head h2 { margin: 0 0 .25rem; }
.brand-head p { margin: 0; }
.brand-card h3 { margin: .5rem 0 0; font-size: 1rem; }

.progress { height: .55rem; border-radius: 999px; background: var(--slate-100); overflow: hidden; }
.progress-bar { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--blue-500), var(--sky-400)); }
.progress-0 { width: 0%; }
.progress-10 { width: 10%; }
.progress-20 { width: 20%; }
.progress-30 { width: 30%; }
.progress-40 { width: 40%; }
.progress-50 { width: 50%; }
.progress-60 { width: 60%; }
.progress-70 { width: 70%; }
.progress-80 { width: 80%; }
.progress-90 { width: 90%; }
.progress-100 { width: 100%; }

.checklist { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.checklist li { display: grid; grid-template-columns: 1.6rem 1fr; gap: .7rem; align-items: start; padding: .7rem .8rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.checklist li p { margin: .15rem 0 0; font-size: .9rem; }
.checklist .state { width: 1.4rem; height: 1.4rem; border-radius: 50%; border: 2px solid var(--slate-300); position: relative; margin-top: .1rem; }
.checklist li.done .state { background: var(--success); border-color: var(--success); }
.checklist li.done .state::after { content: ""; position: absolute; left: .38rem; top: .18rem; width: .3rem; height: .6rem; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.checklist li.done strong { color: var(--slate-700); }
.tag { display: inline-block; margin-left: .45rem; padding: .05rem .5rem; border-radius: 999px; background: var(--slate-100); color: var(--slate-500); font-size: .75rem; font-weight: 650; }
.tag-action { background: var(--sky-100); color: var(--blue-600); }

.domain-box { border: 1px solid var(--sky-200); background: var(--sky-100); border-radius: var(--radius); padding: 1rem 1.1rem; }
.domain-box h3 { margin: 0 0 .6rem; }
.dns-record { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--sky-200); font-size: .9rem; }
.dns-record th, .dns-record td { text-align: left; padding: .5rem .75rem; border-bottom: 1px solid var(--slate-200); }
.dns-record th { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--slate-500); background: var(--cloud-50); }
.dns-record code { word-break: break-all; }
.domain-box p { margin: .6rem 0 0; }

/* Partnerovereenkomst (B10) */
.banner-action { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.contract { max-width: 52rem; }
.contract h2 { font-size: 1.02rem; margin: 1.2rem 0 .35rem; }
.contract h2:first-child { margin-top: 0; }
.contract p { margin: 0; line-height: 1.65; color: var(--slate-700); }
.accept-form { max-width: 52rem; margin-top: 1.25rem; }
.accept-form .check { display: flex; gap: .6rem; align-items: flex-start; font-weight: 500; }
.accept-form .check input { margin-top: .3rem; }
