:root{font-family:Inter,Arial,sans-serif;color:#17222b;background:#f3f6f5}*{box-sizing:border-box}body{margin:0}a{color:#215f58;text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#0f2f35;color:white;padding:1rem 3vw}.brand{font-size:1.15rem;font-weight:700;color:white}.tagline{margin-left:1rem;color:#b9d1cb;font-size:.85rem}.topbar nav{display:flex;gap:1rem;align-items:center}.topbar nav a,.linkbutton{color:white}.container{max-width:1450px;margin:0 auto;padding:2rem 3vw}footer{text-align:center;padding:2rem;color:#6a7a7c;font-size:.85rem}.card{background:white;border:1px solid #dfe7e5;border-radius:14px;padding:1.25rem;margin-bottom:1.2rem;box-shadow:0 5px 15px rgba(20,49,51,.04)}.tile{display:block;transition:.2s}.tile:hover{transform:translateY(-2px);text-decoration:none}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.cards .card{margin:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.pagehead{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}h1{margin:.2rem 0;font-size:2rem}h2{margin-top:0;font-size:1.25rem}h3{font-size:1rem}.muted{color:#667779}.small{font-size:.85rem}.narrow{max-width:620px;margin:3rem auto}.stack{display:grid;gap:.8rem}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}.wide{grid-column:1/-1}label{display:grid;gap:.35rem;font-size:.9rem;font-weight:600}input,textarea,select,button{font:inherit;border:1px solid #bdccca;border-radius:8px;padding:.65rem;background:white}textarea{width:100%}button,.button{display:inline-block;border:0;background:#215f58;color:white;padding:.7rem 1rem;border-radius:8px;cursor:pointer;font-weight:700}.secondary{background:#e6efed;color:#174941}.linkbutton{background:none;border:0;padding:0}.inline{display:inline-flex;gap:.35rem;align-items:center}.mini{width:72px}.alert{padding:.8rem;border-radius:8px;background:#ffe4df;color:#8a2e1e;margin-bottom:1rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid #e6eceb;padding:.7rem .45rem;vertical-align:top}th{color:#56686a}.badge{display:inline-block;background:#e6efed;color:#215f58;border-radius:999px;padding:.2rem .55rem;font-size:.78rem}.question{padding:1rem 0;border-bottom:1px solid #e6eceb}.score-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.score-row label{display:block}.actions{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0}.stat{background:#163e43;color:white;border-radius:12px;padding:1.2rem;display:grid;gap:.4rem}.stat strong{font-size:2rem}.stat span{color:#c5d6d4}.bar{width:180px;background:#e2e9e8;border-radius:20px;height:10px;overflow:hidden}.bar span{display:block;background:#5c9071;height:100%}.answer{padding:1rem 0;border-bottom:1px solid #e6eceb}details{margin-top:1rem}summary{cursor:pointer;font-weight:700;color:#215f58}@media(max-width:900px){.two-col,.stats{grid-template-columns:1fr}.topbar{align-items:flex-start}.tagline{display:block;margin:.3rem 0}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}table{display:block;overflow:auto}.pagehead{align-items:flex-start;flex-direction:column}}
.notice{padding:.8rem;border-radius:8px;background:#e5f4e9;color:#1f6139;margin-bottom:1rem}.account-help{margin-top:1rem}.text-button{border:0;background:none;color:#215f58;padding:0;font-weight:700;text-decoration:underline;cursor:pointer}.modal-card{max-width:620px;width:calc(100% - 2rem);border:1px solid #dfe7e5;border-radius:14px;padding:1.25rem;box-shadow:0 14px 50px rgba(20,49,51,.18)}.modal-card::backdrop{background:rgba(15,47,53,.5)}.modal-head{display:flex;justify-content:space-between;gap:1rem}.modal-head h2{margin-bottom:.35rem}.modal-close{background:none;color:#215f58;border:0;font-size:1.8rem;padding:0;line-height:1}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem}.compact{gap:.8rem}.check-label{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:.55rem;font-weight:400}.check-label input{margin-top:.15rem}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}button:disabled{opacity:.55;cursor:not-allowed}

/* MVP 4.1: marketing background image supplied for the transformation project */
body{
  min-height:100vh;
  position:relative;
  isolation:isolate;
  background:#17222b url('/static/transformprojekte.jpg') center center / cover fixed no-repeat;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(7,18,21,.58),rgba(15,47,53,.33) 48%,rgba(7,18,21,.52));
}
.topbar{
  background:rgba(15,47,53,.90);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 1px 0 rgba(255,255,255,.08);
}
.container{min-height:calc(100vh - 150px)}
.card{
  background:rgba(255,255,255,.95);
  box-shadow:0 8px 28px rgba(7,18,21,.18);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
footer{color:#eef5f4;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.modal-card{background:rgba(255,255,255,.98)}
@media(max-width:900px){body{background-attachment:scroll;background-position:center top}}


/* MVP 4.2: protected marketing-image zones on the login page */
.login-page{
  background-position:center center;
}
.login-page::before{
  background:linear-gradient(90deg,rgba(7,18,21,.18),rgba(7,18,21,.08) 47%,rgba(7,18,21,.28));
}
.login-page .topbar{
  width:min(520px,92vw);
  margin-left:auto;
  padding:.62rem 1rem;
  border-radius:0 0 0 14px;
  background:rgba(15,47,53,.80);
}
.login-page .topbar .tagline{
  display:none;
}
.login-page .topbar .brand{
  font-size:1rem;
}
.login-layout{
  min-height:calc(100vh - 48px);
  max-width:none;
  padding:0 4vw 5.2rem;
  display:flex;
  justify-content:flex-end;
  align-items:flex-start;
}
.login-card{
  width:min(430px,94vw);
  max-width:430px;
  margin:30vh 4vw 0 auto;
  padding:1rem 1.05rem;
  border-radius:12px;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 34px rgba(7,18,21,.28);
}
.login-card h1{
  font-size:1.6rem;
  margin:.05rem 0 .25rem;
}
.login-card p{
  margin:.48rem 0;
}
.login-card .stack{
  gap:.62rem;
}
.login-card input,
.login-card textarea,
.login-card select,
.login-card button,
.login-card .button{
  padding:.56rem .68rem;
}
.login-card hr{
  margin:.8rem 0 .65rem;
  border:0;
  border-top:1px solid #e0e8e6;
}
.login-page footer{
  position:fixed;
  left:50%;
  bottom:.38rem;
  transform:translateX(-50%);
  width:max-content;
  max-width:70vw;
  padding:.34rem .72rem;
  border-radius:999px;
  background:rgba(7,18,21,.62);
  color:#eef5f4;
  font-size:.72rem;
  line-height:1.2;
  z-index:2;
}
@media(max-width:1100px){
  .login-card{margin-top:25vh;margin-right:1vw}
}
@media(max-width:760px){
  .login-page{
    background-position:center top;
  }
  .login-page .topbar{
    width:100%;
    border-radius:0;
  }
  .login-layout{
    min-height:auto;
    padding:18rem 1rem 4.5rem;
    display:block;
  }
  .login-card{
    width:100%;
    max-width:520px;
    margin:0 auto;
  }
  .login-page footer{
    max-width:92vw;
    white-space:nowrap;
  }
}
