:root{
  /* Domestic & General Markenpalette */
  --dg-blue:#00AEEF;      /* D&G Cyan-Blau (Primaer) */
  --dg-blue-d:#0090cc;    /* dunkler fuer Hover */
  --dg-ink:#2c2f36;       /* Charcoal (Wortmarke/Text) */
  --dg-navy:#1b2a4a;      /* tiefes Blau fuer Akzente */
  --wr-red:#ED1C24;       /* Weyrauch Repair Rot */
  --wr-grey:#606060;      /* Weyrauch Repair Grau */
  --muted:#6b7280;
  --line:#e6e9ee;
  --card:#ffffff;
  --bg:#eef3f7;
  --err:#c0392b;
  --okbg:#e6f7ee; --okink:#1c6b3a;
}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 "Segoe UI",system-ui,Roboto,Arial,sans-serif;background:var(--bg);color:var(--dg-ink)}

/* ---- Co-Brand-Header ---- */
.topbar{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
  background:#fff;padding:.85rem 1.5rem;
  border-bottom:3px solid transparent;
  border-image:linear-gradient(90deg,var(--dg-blue) 0%,var(--dg-blue) 45%,var(--wr-red) 55%,var(--wr-red) 100%) 1;
  box-shadow:0 1px 4px rgba(16,42,67,.06)
}
.cobrand{display:flex;align-items:center;gap:.65rem}
.dg-mark{display:block;flex:none}
.dg-word{display:flex;flex-direction:column;line-height:1.02;font-weight:800;color:var(--dg-ink);letter-spacing:-.2px}
.dg-word .l1{font-size:1.08rem}
.dg-word .l2{font-size:1.08rem}
.cobrand-right{display:flex;align-items:center}
.wr-logo{height:38px;width:auto;display:block}
/* ---- Sub-Leiste: Portalname + Partner-Hinweis ---- */
.subbar{
  display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;
  max-width:760px;margin:1rem auto 0;padding:.5rem 1rem;
}
.portal-name{font-weight:800;color:var(--dg-navy);font-size:1rem;letter-spacing:-.2px}
.partner{font-size:.8rem;color:var(--muted)}
.partner strong{color:var(--dg-ink)}

main{max-width:760px;margin:1.5rem auto;padding:0 1rem}
.foot{max-width:760px;margin:1rem auto 3rem;padding:0 1rem;color:var(--muted);font-size:.82rem;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.foot-brand{font-weight:700;color:#9aa3af;letter-spacing:.3px}

.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.6rem;
  box-shadow:0 2px 10px rgba(16,42,67,.05)}
.card.narrow{max-width:420px;margin:2rem auto}
h1{margin:.1rem 0 1rem;font-size:1.45rem;color:var(--dg-navy)}
.rowhead{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.userbox{font-size:.85rem;color:var(--muted)}
.userbox a{color:var(--dg-blue-d);text-decoration:none;font-weight:600}
.userbox a:hover{text-decoration:underline}

.stack{display:flex;flex-direction:column;gap:1rem}
label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.9rem}
input,select,textarea{font:inherit;padding:.58rem .65rem;border:1px solid #cbd2dc;border-radius:9px;background:#fff;font-weight:400;color:var(--dg-ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--dg-blue);border-color:var(--dg-blue)}
textarea{resize:vertical}
fieldset{border:1px solid var(--line);border-radius:11px;padding:1rem;display:flex;flex-direction:column;gap:1rem;margin:0}
legend{font-weight:700;padding:0 .4rem;font-size:.9rem;color:var(--dg-navy)}
.grid2{display:grid;grid-template-columns:1fr 2fr;gap:1rem}
.req{color:var(--dg-blue-d)}
.fielderr{color:var(--err);font-weight:600;font-size:.8rem}

button{font:inherit;font-weight:700;background:var(--dg-blue);color:#fff;border:0;border-radius:9px;padding:.7rem 1.1rem;cursor:pointer;box-shadow:0 1px 2px rgba(0,174,239,.35)}
button:hover{background:var(--dg-blue-d)}
button.link{background:none;color:var(--dg-blue-d);padding:0;font-size:.85rem;box-shadow:none;font-weight:600}
form.inline{display:inline}

.readonly-row{display:flex;justify-content:space-between;align-items:center;background:#f2f9fd;border:1px solid #cdeafb;border-radius:9px;padding:.55rem .75rem}
.ro-label{color:var(--muted);font-size:.85rem}
.ro-value{font-weight:700;color:var(--dg-navy)}

.alert{border-radius:9px;padding:.65rem .85rem;font-size:.9rem;margin:0 0 1rem}
.alert.err{background:#fdecea;color:var(--err);border:1px solid #f5c6c0}
.alert.ok{background:var(--okbg);color:var(--okink);border:1px solid #b7e3c6}
.okhead{color:var(--okink)}

.kv{display:grid;grid-template-columns:auto 1fr;gap:.3rem .8rem;margin:1rem 0}
.kv dt{color:var(--muted)}
.kv dd{margin:0}
.btnlink{display:inline-block;background:var(--dg-blue);color:#fff;text-decoration:none;padding:.55rem .9rem;border-radius:9px;font-weight:700}
.btnlink:hover{background:var(--dg-blue-d)}

table.list{width:100%;border-collapse:collapse;font-size:.9rem}
table.list th,table.list td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--line)}
table.list th{color:var(--dg-navy)}
.badge{font-size:.78rem;padding:.15rem .55rem;border-radius:999px;font-weight:700}
.badge.ok{background:var(--okbg);color:var(--okink)}
.badge.err{background:#fdecea;color:var(--err)}
.muted{color:var(--muted)}
@media(max-width:520px){.grid2{grid-template-columns:1fr}.cobrand-right{align-items:flex-start;text-align:left}}
