*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f5f8fb;color:#09233c}.top{min-height:78px;background:#071f34;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px max(24px,calc((100vw - 1180px)/2));gap:24px}.brand{display:grid;grid-template-columns:46px auto;grid-template-rows:auto auto;text-decoration:none;color:#fff;column-gap:12px}.brand span{grid-row:1/3;width:46px;height:46px;border:1px solid #1f9bff;border-radius:50%;display:grid;place-items:center;color:#67bdff;font-weight:800}.brand b{letter-spacing:.08em}.brand small{color:#8eb3d0}.top nav{display:flex;gap:18px;flex-wrap:wrap}.top nav a{color:#d9eaf8;text-decoration:none;font-weight:600}.top nav a:hover{color:#42aaff}.wrap{max-width:1180px;margin:0 auto;padding:48px 24px 70px}.eyebrow{color:#138fe9;font-size:12px;font-weight:800;letter-spacing:.14em}h1{font-size:clamp(32px,5vw,52px);margin:8px 0 28px}h2{font-size:25px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid #dce7ef;border-radius:16px;padding:24px;box-shadow:0 8px 25px rgba(9,35,60,.05)}.card h2,.card h3{margin-top:0}.metric{font-size:38px;font-weight:800;color:#0b83dc}.muted{color:#60798e}.btn{display:inline-block;background:#1598f2;color:#fff!important;text-decoration:none;border:0;border-radius:8px;padding:12px 18px;font-weight:800;cursor:pointer}.btn.secondary{background:#0c3557}.row{display:flex;gap:14px;align-items:center;justify-content:space-between;border-top:1px solid #e5edf3;padding:16px 0}.row:first-child{border-top:0}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#e5f4ff;color:#0876bd;font-size:12px;font-weight:800}.form{max-width:760px}.field{margin:0 0 16px}.field label{display:block;font-weight:700;margin-bottom:6px}.field input,.field select{width:100%;padding:12px;border:1px solid #cbd9e4;border-radius:8px;font:inherit}.notice{padding:14px 16px;background:#eaf7ff;border-left:4px solid #1598f2;border-radius:8px;margin:0 0 20px}.danger{background:#fff0f0;border-left-color:#d33}.login{max-width:520px;margin:35px auto;background:#fff;border:1px solid #dce7ef;border-radius:18px;padding:32px}.progress{height:9px;background:#e6edf3;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:#1598f2}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:13px;border-bottom:1px solid #e5edf3}th{background:#edf5fa}footer{text-align:center;padding:25px;color:#6b8193}@media(max-width:900px){.grid{grid-template-columns:1fr}.top{align-items:flex-start;flex-direction:column}.top nav{font-size:14px}.row{align-items:flex-start;flex-direction:column}}
/* V24.14.3: Dashboard-Karten gleich hoch, Aktionen bündig */
.dashboard-grid{align-items:stretch}.dashboard-card{display:flex;flex-direction:column;height:100%}.dashboard-card .btn{margin-top:auto;align-self:flex-start}.dashboard-card p.muted{margin-bottom:20px}

/* V24.21.8 – Kundenportal Branding */
.top.portal-branded{
  position:relative;min-height:126px;padding-top:0;padding-bottom:0;overflow:hidden;
  background:#fff;border-bottom:1px solid #dce7ef;
}
.brand-logo{position:relative;z-index:3;display:flex;align-items:center;gap:16px;min-width:390px;color:#09233c}
.brand-logo img{width:68px;height:68px;object-fit:contain}
.brand-logo .brand-copy{display:flex;flex-direction:column}
.brand-logo .brand-copy b{font-size:23px;letter-spacing:.045em;white-space:nowrap}
.brand-logo .brand-copy small{margin-top:6px;color:#294a66;font-size:9px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.bridge-brand{position:absolute;top:0;right:0;width:54%;height:100%;background:url("../assets/images/bruecke-abend.jpg") center/cover no-repeat}
.bridge-brand:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.72) 10%,rgba(255,255,255,0) 30%)}
.top.portal-branded nav{position:relative;z-index:4;margin-left:auto;padding:12px 15px;border-radius:9px;background:rgba(7,31,52,.88)}
.portal-footer{display:flex;justify-content:space-between;gap:25px;padding:28px max(24px,calc((100vw - 1180px)/2));background:#071f34;color:#a8bfd1;text-align:left}
@media(max-width:900px){
 .top.portal-branded{min-height:100px;flex-direction:row;align-items:center}
 .brand-logo{min-width:0}.brand-logo img{width:52px;height:52px}
 .brand-logo .brand-copy b{font-size:17px}.brand-logo .brand-copy small{display:none}
 .bridge-brand{width:44%;opacity:.45}
 .top.portal-branded nav{display:none}
 .portal-footer{flex-direction:column;text-align:center;align-items:center}
}

/* V24.21.9 – Portal wordmark/logo correction */
.brand-logo{
  display:flex!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  align-items:center!important;
  gap:16px!important;
}
.brand-logo > img{
  flex:0 0 68px!important;
  width:68px!important;height:68px!important;
}
.brand-logo > .brand-copy{
  display:flex!important;
  flex-direction:column!important;
  width:auto!important;height:auto!important;
  border:0!important;border-radius:0!important;
  place-items:initial!important;
  color:#09233c!important;
  font-weight:inherit!important;
}
.brand-logo > .brand-copy b{
  display:block!important;
  font-size:23px!important;
  line-height:1.05!important;
  color:#09233c!important;
  letter-spacing:.045em!important;
  white-space:nowrap!important;
}
.brand-logo > .brand-copy small{
  display:block!important;
  margin-top:7px!important;
  color:#294a66!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
}

/* V24.21.19 – interaktive Projekt-Roadmap */
.roadmap-hero{display:flex;justify-content:space-between;gap:35px;align-items:center;background:linear-gradient(135deg,#fff,#f4f9fd)}
.roadmap-hero h2{margin:12px 0 8px}.roadmap-score{min-width:130px;text-align:center;padding:20px;border-radius:16px;background:#071f34;color:#fff}.roadmap-score strong{display:block;font-size:36px}.roadmap-score span{font-size:11px;color:#a9c6db}
.roadmap-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 32px}.roadmap-meta .card{padding:18px}.roadmap-meta small{display:block;color:#71899d;font-weight:700;margin-bottom:8px}.roadmap-meta b{color:#09243b}
.roadmap-track{position:relative;display:grid;gap:12px;margin-bottom:32px}.roadmap-track:before{content:"";position:absolute;left:28px;top:30px;bottom:30px;width:2px;background:#d5e4ef}
.roadmap-step{position:relative;border:1px solid #d7e4ed;border-radius:14px;background:#fff;overflow:hidden}.roadmap-step.done{border-color:#b9ddca}.roadmap-step.active{border-color:#168ef0;box-shadow:0 8px 24px rgba(22,142,240,.10)}
.roadmap-step-head{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:56px 1fr 32px;align-items:center;gap:12px;padding:16px 18px;border:0;background:transparent;text-align:left;cursor:pointer;color:#0a263e}
.roadmap-number{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#dce9f2;color:#31536d;font-weight:900}.roadmap-step.active .roadmap-number{background:#168ef0;color:#fff}.roadmap-step.done .roadmap-number{background:#218a55;color:#fff}
.roadmap-step-copy{display:grid;gap:3px}.roadmap-step-copy small{font-size:9px;letter-spacing:1px;color:#6f8da4;font-weight:900}.roadmap-step-copy b{font-size:16px}.roadmap-step-copy em{font-size:11px;color:#6d8497;font-style:normal}.roadmap-toggle{font-size:24px;color:#168ef0}
.roadmap-step-head[aria-expanded=true] .roadmap-toggle{transform:rotate(45deg)}.roadmap-detail{display:none;padding:0 24px 18px 86px;color:#587187;line-height:1.65}.roadmap-detail p{margin:0}
.roadmap-priorities>div{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #e2ebf2}.roadmap-priorities>div:last-child{border:0}.roadmap-priorities span{color:#168ef0;font-weight:900}.roadmap-priorities p{margin:0}
.roadmap-next{margin-top:24px;background:#071f34;color:#fff}.roadmap-next small{color:#62baff;font-weight:900;letter-spacing:1px}.roadmap-next h2{color:#fff;max-width:900px;line-height:1.35}
@media(max-width:800px){.roadmap-hero{align-items:flex-start;flex-direction:column}.roadmap-meta{grid-template-columns:1fr 1fr}.roadmap-score{width:100%}.roadmap-detail{padding-left:25px}.roadmap-step-head{grid-template-columns:48px 1fr 25px}}
@media(max-width:520px){.roadmap-meta{grid-template-columns:1fr}}
