body.ivory {
  color-scheme:light; min-height:100vh; color:#322c25;
  background:radial-gradient(ellipse at 17% 0%,#fffcf6,transparent 62%),linear-gradient(135deg,#fff 0%,#f9f6ef 59%,#eee6da 100%);
}
.ivory main.shell { padding-top:clamp(34px,6vw,78px); }
.signature { width:min(490px,100%); margin:0 auto clamp(26px,4vw,46px); display:flex; align-items:center; justify-content:center; gap:5%; mix-blend-mode:multiply; }
.signature::after {content:"";order:1;width:1px;height:clamp(38px,6vw,60px);background:linear-gradient(transparent,#b49a69,transparent);}
.signature .logo-window {position:relative;display:block;overflow:hidden;}
.signature .logo-window img {position:absolute;display:block;max-width:none;height:auto;}
.signature .organexis {width:54%;aspect-ratio:3.24;}
.signature .organexis img {width:110%;left:-3.4%;top:-128%;}
.signature .bittnerconsulting {order:2;width:35%;overflow:visible;}
.signature .bittnerconsulting img {position:static;display:block;width:100%;height:auto;object-fit:contain;}
.ivory .login, .ivory .entryform {
  position:relative; isolation:isolate; overflow:hidden;
  border:1px solid #dfd4c3; background:#fffefa; color:#302b25;
  border-radius:22px; box-shadow:0 18px 65px #765f3e13;
}
.ivory .login::before, .ivory .entryform::before {
  content:""; position:absolute; z-index:-1; pointer-events:none; inset:-12%;
  background:radial-gradient(ellipse at 23% 0%,#d3ae702d,transparent 43%),
             linear-gradient(116deg,transparent 30%,#efd8b129 42%,transparent 51%);
  animation:lichtschein 8s ease-in-out infinite alternate;
}
@keyframes lichtschein { to { transform:translateX(7%); } }
@media(prefers-reduced-motion:reduce){.ivory .login::before,.ivory .entryform::before{animation:none}}
.ivory .intro { background:transparent; color:#302b25; }
.ivory .intro small,.ivory .eyebrow,.ivory .entryform a,.ivory .entryform summary {color:#715630;}
.ivory .intro p,.ivory .entryform p,.ivory .entryform small {color:#61584e;}
.ivory .login input,.ivory .entryform input { background:#ffffff; color:#302b25; border:1px solid #b7aa96; min-height:48px; }
.ivory input::placeholder { color:#786e60; }
.ivory .login button,.ivory .entryform button,.ivory .customer-cta {
  background:linear-gradient(110deg,#d5ac63,#f3db9c 55%,#d9b676);
  color:#211a0c; border:1px solid #e5c789; border-radius:10px;
}
.ivory .customer-cta {
  display:flex; justify-content:space-between; align-items:center; gap:15px;
  padding:16px 22px; width:100%; min-height:64px; font:700 clamp(1.13rem,2.2vw,1.55rem)/1.2 system-ui;
  text-decoration:none; margin-top:20px;
}
.ivory .customer-cta:hover { filter:brightness(1.08); }
.ivory .adminlink,.ivory footer span { color:#66543c; }
.ivory footer { border-color:#ded4c4; }
.ivory :focus-visible { outline:3px solid #956c31;outline-offset:3px; }
.ivory .entry { align-items:center;padding:clamp(16px,4vw,56px); gap:24px; }
.ivory .entryform { padding:clamp(24px,4vw,48px); }
.ivory .entryform .signature { margin-bottom:26px; }
.ivory .photo {background:transparent;border-radius:18px;}
.ivory .notice {color:#213726;}
.ivory .error {color:#792a18;}
@media(max-width:780px){.ivory .entry {display:flex; flex-direction:column;}.ivory .entryform {width:100%;}.ivory .signature{max-width:340px}.ivory .photo img {height:130px;}}
.ivory #scan-start,.ivory #scan-stop{background:#fff9ec;border:1px solid #ad956a;color:#554326;width:100%;padding:11px}
#scan-panel{margin:12px 0}#scan-panel[hidden]{display:none}.scan-view{position:relative;background:#1a1a18;margin-bottom:8px}
.scan-view video{display:block;width:100%;height:auto}.scan-view span{position:absolute;inset:35% 3%;border:2px solid #ffdf92;border-radius:5px;pointer-events:none}
#scan-status:not(:empty){display:block;margin-top:10px;font-size:.85rem;letter-spacing:normal;text-transform:none;color:#534a3c}
.scan-readout{margin:8px 0 12px;padding:12px;background:#f6f1e7;border-radius:8px;color:#302b25}
.scan-readout strong{display:block;font-size:.78rem}.scan-readout output{display:block;font:600 1rem/1.5 ui-monospace,monospace;overflow-wrap:anywhere}

.scan-view{aspect-ratio:4/3;overflow:hidden}
.scan-view #scan-video{width:100%;height:100%;object-fit:cover;object-position:center}
.scan-view #scan-frame{inset:auto;left:3%;right:3%;top:50%;transform:translateY(-50%);aspect-ratio:7/1;box-shadow:0 0 0 100vmax #0006}
.scan-crop{margin:8px 0;color:#514634;font-size:.8rem}
#scan-crop{display:block;width:100%;height:auto;max-height:85px;object-fit:contain;background:white;border-radius:5px}
.login .intro{container-type:inline-size}
.login .access-title{overflow-wrap:normal;word-break:normal;hyphens:none;font-size:clamp(1.9rem,10.5cqi,3.2rem)}
