.camotec-login-modal{--portal-blue:#007bb7;--portal-navy:#10212f;--portal-line:#d9e2e8;--portal-soft:#f3f7f9;align-items:center;box-sizing:border-box;display:flex;font-family:inherit;inset:0;justify-content:center;padding:24px;position:fixed;z-index:100000}
.camotec-login-modal *,.camotec-login-modal *::before,.camotec-login-modal *::after{box-sizing:border-box}
.camotec-login-modal[hidden]{display:none}
body.camotec-login-modal-open{overflow:hidden}
.camotec-login-modal__overlay{background:rgba(16,33,47,.6);inset:0;position:absolute}
.camotec-login-modal__dialog{background:#fff;border:1px solid var(--portal-line);border-radius:6px;box-shadow:0 18px 60px rgba(16,33,47,.25);color:var(--portal-navy);max-height:calc(100vh - 48px);max-width:420px;overflow-y:auto;padding:32px;position:relative;width:100%}
.camotec-login-modal__close{background:none;border:0;color:#5a7184;cursor:pointer;font-size:28px;line-height:1;padding:8px;position:absolute;right:14px;top:10px}
.camotec-login-modal__close:hover{color:var(--portal-navy)}
.camotec-login-modal h2{font-size:24px;line-height:1.2;margin:0 0 20px}
.camotec-login-modal label{display:block;font-size:14px;font-weight:600;margin:0 0 14px}
.camotec-login-modal input[type=text],.camotec-login-modal input[type=password]{border:1px solid var(--portal-line);border-radius:3px;display:block;font-size:15px;margin-top:6px;min-height:44px;padding:9px 12px;width:100%}
.camotec-login-modal input[type=text]:focus,.camotec-login-modal input[type=password]:focus{border-color:var(--portal-blue);outline:2px solid rgba(0,123,183,.3)}
.camotec-login-modal label:has(>input[type=checkbox]){align-items:center;display:flex;font-weight:400;gap:8px}
.camotec-login-modal input[type=checkbox]{margin:0}
.camotec-login-modal__error{background:#fdeeee;border:1px solid #e8b4b4;border-left:4px solid #c0392b;border-radius:3px;color:#8c2f21;font-size:14px;margin:0 0 16px;padding:10px 14px}
.camotec-login-modal__error[hidden]{display:none}
.camotec-login-modal__submit{align-items:center;background:var(--portal-blue);border:0;border-radius:3px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;justify-content:center;min-height:46px;padding:10px 18px;width:100%}
.camotec-login-modal__submit:hover{background:#069}
.camotec-login-modal__submit:disabled{cursor:default;opacity:.65}
.camotec-login-modal__links{border-top:1px solid var(--portal-line);display:flex;flex-direction:column;font-size:14px;gap:8px;margin-top:20px;padding-top:16px}
.camotec-login-modal__links a{color:var(--portal-blue)}
.camotec-login-modal :focus-visible{outline:3px solid #f5a623;outline-offset:2px}
@media(max-width:480px){.camotec-login-modal{padding:12px}.camotec-login-modal__dialog{max-height:calc(100vh - 24px);padding:24px}}
