*{box-sizing:border-box}body{margin:0;background:var(--tenant-background,#f5f4ee);color:var(--tenant-text,#171417);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.tenant-center{min-height:100vh;display:grid;place-items:center;padding:24px}.tenant-card{width:min(100%,470px);padding:34px;border:1px solid #dedbd4;border-radius:20px;background:#fff;box-shadow:0 24px 60px #32232a1a}.tenant-card h1{margin:12px 0;font-size:36px;line-height:1;letter-spacing:-.05em}.tenant-card p{color:#686166;line-height:1.6}.tenant-kicker{color:var(--tenant-primary,#621837)!important;font-size:10px;font-weight:900;letter-spacing:.14em}.tenant-error{padding:11px;border-radius:9px;background:#fff0eb;color:#a24425!important}.tenant-logo{display:block;max-width:130px;max-height:90px;object-fit:contain;margin-bottom:22px}.tenant-card form{display:grid;gap:14px;margin-top:22px}.tenant-card label{display:grid;gap:6px;font-size:12px;font-weight:800}.tenant-card input{min-height:44px;padding:9px 11px;border:1px solid #dedbd4;border-radius:9px}.tenant-card button{min-height:44px;border:0;border-radius:9px;background:var(--tenant-primary,#621837);color:#fff;font-weight:800;cursor:pointer}.tenant-card a{color:var(--tenant-primary,#621837)}
.error-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:#171417;font-size:20px;font-weight:850;letter-spacing:-.04em}.error-brand-dot{color:#ff4c29}.error-brand-mark{position:relative;display:inline-block;overflow:hidden;flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:#621837;transform:rotate(-3deg)}.error-brand-line{position:absolute;top:16px;left:5px;right:5px;height:2px;background:#9ddcff;transform:rotate(-28deg)}.error-brand-line:after{content:"";position:absolute;top:-8px;left:7px;width:18px;height:18px;border:2px solid #9ddcff;border-radius:50%}.error-brand-ball{position:absolute;z-index:2;top:7px;left:7px;width:7px;height:7px;border:2px solid #ff4c29;border-radius:50%;background:#621837}


/* V11.1 mobile safe areas */
html,body{max-width:100%;overflow-x:hidden}
.tenant-center{
  padding:
    max(16px,env(safe-area-inset-top))
    max(16px,env(safe-area-inset-right))
    max(16px,env(safe-area-inset-bottom))
    max(16px,env(safe-area-inset-left));
}
@media(max-width:430px){
  .tenant-card{
    padding:22px 18px;
    border-radius:16px;
  }
  .tenant-card h1{
    font-size:30px;
  }
  .tenant-card input,
  .tenant-card button{
    min-height:46px;
    font-size:16px;
  }
}

/* Prompt 9: verbindliches CrewKlar-Logo auch auf Login-/Fehlerseiten */
.error-brand{display:flex;align-items:center;gap:10px}
.error-brand-mark{
  background:#621837 url("/assets/crewklar-logo.svg") center/100% 100% no-repeat!important;
}
.error-brand-mark .error-brand-ball,
.error-brand-mark .error-brand-line{display:none!important}


/* ==========================================================
   CrewKlar V15.1 – ADMIN LOGIN ONLY
   /admin/ is the login. / remains public.
   Exactly one CrewKlar CI logo.
   ========================================================== */
.tenant-card::before{
  content:none!important;
  display:none!important;
}

.error-brand{
  display:none!important;
}

.crewklar-ci{
  display:block;
  width:174px;
  height:52px;
  margin:0 0 20px;
  background:transparent url('/assets/crewklar-logo-ci.png') left center/contain no-repeat;
}

.tenant-logo{
  display:block;
  width:auto;
  max-width:150px;
  max-height:82px;
  margin:0 0 18px;
  object-fit:contain;
}

.tenant-logo[hidden]{
  display:none!important;
}

.tenant-card h1{
  margin:8px 0 12px;
}

@media(max-width:430px){
  .crewklar-ci{
    width:150px;
    height:45px;
    margin-bottom:16px;
  }
}
