/* Quark visual layer — intentionally scoped to #qml-overlay */
#qml-overlay{
  --quark-red:#ad1a1a;
  --quark-red-dark:#8f1515;
  --quark-ink:#161616;
  --quark-muted:#6b6b6b;
  --quark-line:#dedede;
  --quark-paper:#ffffff;
  --quark-soft:#f5f5f3;
  --quark-focus:rgba(227,6,19,.18);
  font-family:Arial, Helvetica, sans-serif;
}
.qml-no-scroll{overflow:hidden!important}
.qml-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(20,20,20,.72);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.qml-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}
.qml-modal{position:relative;width:min(100%,458px);max-height:calc(100vh - 48px);overflow:auto;background:#ad1a1a;border-radius:0;padding:38px 42px 34px;box-shadow:0 24px 70px rgba(0,0,0,.30);box-sizing:border-box}
.qml-modal:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--quark-red)}
.qml-close{position:absolute;right:15px;top:13px;width:36px;height:36px;border:0;background:transparent;color:#fff;font-size:30px;font-weight:300;line-height:32px;cursor:pointer;padding:0;z-index:2}
.qml-close:hover{color:var(--quark-red)}
.qml-brand{text-align:left;margin:0 0 28px;padding-right:35px}
.qml-brand-name{display:block;color:#fff;font-family:Georgia, 'Times New Roman', serif;font-size:42px;line-height:.86;font-weight:900;font-style:italic;letter-spacing:-3px}
.qml-brand-line{display:block;width:116px;height:5px;background:#fff;margin:7px 0 4px 2px;transform:skewX(-18deg)}
.qml-brand-tagline{display:block;font-size:10px;line-height:1.1;font-weight:700;letter-spacing:.15px;color:#fff;margin-left:5px}
.qml-kicker{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#fff;margin:0 0 8px;text-transform:uppercase}
.qml-modal h2{margin:0 0 22px;color:#fff;font-size:30px;line-height:1.1;font-weight:800;letter-spacing:-.45px}
.qml-modal p{margin:-8px 0 23px;color:#fff;font-size:15px;line-height:1.6}
.qml-modal label{display:block;margin:0 0 7px;color:#fff;font-size:13px;line-height:1.25;font-weight:700}
.qml-modal input[type=text],.qml-modal input[type=password]{box-sizing:border-box;width:100%;height:49px;padding:11px 13px;border:1px solid #bdbdbd;border-radius:0;background:#fff;color:#181818;margin:0 0 18px;font:inherit;font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
.qml-modal input[type=text]:focus,.qml-modal input[type=password]:focus{border-color:var(--quark-red);box-shadow:0 0 0 3px var(--quark-focus)}
.qml-password-wrap{position:relative}
.qml-password-wrap input{padding-right:82px!important}
.qml-password-toggle{position:absolute;right:9px;top:0;height:49px;width:40px;border:0;background:transparent;color:#555;font-size:0;font-weight:700;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.qml-password-toggle:before{font-family: FontAwesome; content:"\f06e";font-size:19px;line-height:1}.qml-password-toggle.is-visible:before{content:"\f070"; font-family: FontAwesome;}.qml-password-toggle:focus{outline:2px solid #81d742;outline-offset:-2px}
.qml-password-toggle:hover{color:#000 !important;}
.qml-check{display:flex!important;align-items:center;gap:9px;font-weight:400!important;margin:0 0 20px!important;color:#fff!important;font-size:13px!important}
.qml-check input{appearance:none;width:17px;height:17px;border:1px solid #aaa;border-radius:0;margin:0;position:relative;cursor:pointer;background:#fff}
.qml-check input:checked{border-color:var(--quark-red)}
.qml-check input:checked:after{content:"";position:absolute;left:5px;top:1px;width:4px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.qml-submit{width:100%;min-height:50px;border:0;border-radius:0;background:#81d742;color:#fff;font:inherit;font-size:14px;font-weight:800;letter-spacing:.2px;cursor:pointer;padding:12px 18px;transition:background .15s,transform .08s}
.qml-submit:hover{background:#81d742;filter:brightness(.94)}
.qml-submit:active{transform:translateY(1px)}
.qml-submit:disabled{opacity:.62;cursor:wait}
.qml-switch{display:block;text-align:center;margin-top:18px;color:#fff !important;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}
.qml-switch:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.qml-message{min-height:20px;margin:0 0 12px;font-size:13px;line-height:1.45}
.qml-message.is-error{color:#fff}.qml-message.is-success{color:#81d742}
.qml-view[hidden]{display:none!important}
@media(max-width:520px){.qml-overlay{padding:12px}.qml-modal{padding:34px 24px 27px;max-height:calc(100vh - 24px)}.qml-brand{margin-bottom:24px}.qml-brand-name{font-size:38px}.qml-modal h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.qml-overlay{transition:none}.qml-submit{transition:none}}

/* Safe Login <-> Password Reset animation */
#qml-overlay .qml-form-switch {
  animation: qmlFormIn 300ms cubic-bezier(.22,.61,.36,1) both;
}

@keyframes qmlFormIn {
  from {
    opacity: 0;
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  #qml-overlay .qml-form-switch {
    animation: none !important;
  }
}
