/* TURBOKH V1 Enterprise — isolated authentication UI */
#authModal{font-family:Inter,"Noto Sans Khmer",system-ui,sans-serif}
#authModal .modal-backdrop{background:radial-gradient(circle at 50% 12%,rgba(44,102,214,.22),transparent 38%),rgba(1,5,14,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
#authModal .modal-card.auth-card{width:min(620px,calc(100vw - 32px));max-width:620px;max-height:calc(100dvh - 28px);padding:34px 46px 30px;border:1px solid rgba(132,156,198,.42);border-radius:26px;background:radial-gradient(circle at 50% 4%,rgba(42,90,172,.18),transparent 32%),linear-gradient(155deg,#111c33 0%,#0b1427 50%,#07101f 100%);box-shadow:0 42px 120px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.04);overflow:auto;scrollbar-width:thin;scrollbar-color:#30476f transparent}
#authModal .modal-card.auth-card::-webkit-scrollbar{width:7px}#authModal .modal-card.auth-card::-webkit-scrollbar-thumb{background:#30476f;border-radius:99px}
#authModal .close{position:absolute;top:20px;right:20px;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(148,163,184,.13);border-radius:12px;background:rgba(21,33,57,.9);color:#c8d2e5;font-size:30px;font-weight:400;line-height:1;cursor:pointer;transition:background .18s,color .18s,transform .18s}
#authModal .close:hover{background:#1a2947;color:#fff;transform:scale(1.04)}
#authModal .auth-logo{display:flex;justify-content:center;margin:2px 0 31px}
#authModal .auth-logo .site-logo{width:300px;max-width:72%;height:178px;max-height:24vh;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.46))}
#authModal .auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:0 0 34px;padding:0;border:0;background:transparent}
#authModal .auth-tabs button{min-height:59px;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 18px;border:1px solid rgba(116,139,180,.31);border-radius:14px;background:rgba(5,13,29,.34);color:#aab6ca;font-size:17px;font-weight:750;cursor:pointer;transition:border-color .18s,background .18s,color .18s,transform .18s,box-shadow .18s}
#authModal .auth-tabs button:hover{border-color:rgba(82,139,239,.58);color:#edf4ff;transform:translateY(-1px)}
#authModal .auth-tabs button.active{border-color:#2f7cff;background:linear-gradient(145deg,rgba(22,50,96,.96),rgba(12,27,56,.96));color:#fff;box-shadow:0 0 0 1px rgba(47,124,255,.16),inset 0 0 24px rgba(41,102,218,.14)}
#authModal .auth-tabs button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#authModal .auth-tabs button.active svg{color:#3f86ff}
#authModal .auth-heading{margin:0 0 29px;text-align:center}
#authModal .auth-heading h2,#authModal .auth-form h2{margin:0 0 8px;color:#f8fafc;font-size:36px;line-height:1.13;letter-spacing:-.8px;text-align:center;font-weight:800}
#authModal .auth-heading p,#authModal .auth-form>p{margin:0;color:#a6b1c5;font-size:16px;line-height:1.55;text-align:center}
#authModal .modern-field{display:block;margin:0 0 21px}
#authModal .modern-field>span,#authModal .auth-form>label>span{display:block;margin:0 0 9px;color:#edf2f8;font-size:15px;font-weight:650}
#authModal .modern-input-wrap{position:relative;display:flex;align-items:center;min-height:59px;padding:0 16px;border:1px solid rgba(116,139,180,.34);border-radius:14px;background:rgba(7,16,34,.66);box-shadow:inset 0 1px 0 rgba(255,255,255,.018);transition:border-color .18s,box-shadow .18s,background .18s}
#authModal .modern-input-wrap:hover{border-color:rgba(107,144,208,.5)}
#authModal .modern-input-wrap:focus-within{border-color:#3182ff;background:rgba(9,20,42,.88);box-shadow:0 0 0 4px rgba(49,130,255,.12)}
#authModal .modern-input-wrap>svg:first-child{width:24px;height:24px;flex:0 0 24px;margin-right:15px;fill:none;stroke:#3f86ff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#authModal .modern-input-wrap input{width:100%;min-width:0;height:57px!important;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;color:#f8fafc!important;-webkit-text-fill-color:#f8fafc!important;font:500 16px/1.2 Inter,"Noto Sans Khmer",sans-serif!important;box-shadow:none!important;caret-color:#55bfff}
#authModal .modern-input-wrap input::placeholder{color:#70809a;-webkit-text-fill-color:#70809a}
#authModal input:-webkit-autofill,#authModal input:-webkit-autofill:hover,#authModal input:-webkit-autofill:focus{-webkit-text-fill-color:#f8fafc!important;-webkit-box-shadow:0 0 0 1000px #0b1830 inset!important;box-shadow:0 0 0 1000px #0b1830 inset!important;transition:background-color 9999s ease-out 0s}
#authModal .password-visibility{width:38px;height:38px;flex:0 0 38px;margin-left:8px;border:0;border-radius:9px;background:transparent;color:#8e9cb3;display:grid;place-items:center;cursor:pointer;transition:background .18s,color .18s}
#authModal .password-visibility:hover{background:rgba(66,111,188,.13);color:#d4def0}
#authModal .password-visibility svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}
#authModal .login-options{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:3px 0 25px}
#authModal .modern-remember{display:flex;align-items:center;gap:11px;margin:0;color:#b8c2d3;font-size:15px;line-height:1.35;cursor:pointer;user-select:none}
#authModal .modern-remember input{position:absolute;opacity:0;pointer-events:none}
#authModal .checkbox-ui{position:relative;width:22px;height:22px;flex:0 0 22px;border:1px solid #50617e;border-radius:6px;background:#091428;transition:border-color .18s,background .18s,box-shadow .18s}
#authModal .modern-remember:hover .checkbox-ui{border-color:#4288ff}
#authModal .modern-remember input:focus-visible+.checkbox-ui{box-shadow:0 0 0 4px rgba(63,134,255,.16)}
#authModal .modern-remember input:checked+.checkbox-ui{border-color:#3f86ff;background:linear-gradient(135deg,#35c9ef,#3472ff)}
#authModal .modern-remember input:checked+.checkbox-ui:after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
#authModal .modern-forgot{padding:3px 0;border:0;background:transparent;color:#37c4f5;font-size:15px;font-weight:650;cursor:pointer;transition:color .18s}
#authModal .modern-forgot:hover{color:#7ddfff}
#authModal .modern-login-button{width:100%;min-height:60px;border:0;border-radius:14px;background:linear-gradient(100deg,#31cbed 0%,#3a8cff 50%,#2847ff 100%);color:#fff;font-size:17px;font-weight:800;box-shadow:0 16px 36px rgba(48,112,255,.29);display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:transform .18s,filter .18s,box-shadow .18s}
#authModal .modern-login-button svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#authModal .modern-login-button:hover{transform:translateY(-2px);filter:brightness(1.055);box-shadow:0 20px 42px rgba(48,112,255,.36)}
#authModal .modern-login-button:active{transform:translateY(0)}
#authModal .modern-divider{display:flex;align-items:center;gap:16px;margin:26px 0;color:#9aa6ba;font-size:15px}
#authModal .modern-divider:before,#authModal .modern-divider:after{content:"";height:1px;flex:1;background:rgba(118,139,177,.28)}
#authModal .modern-divider span{font-size:0}
#authModal .modern-divider span:after{content:"or";font-size:15px}
#authModal .modern-google-button{width:100%;min-height:59px;border:1px solid #dfe4ec;border-radius:14px;background:#fff;color:#172033;font-size:17px;font-weight:750;box-shadow:0 9px 24px rgba(0,0,0,.17);cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
#authModal .modern-google-button:hover{background:#f8fafc;border-color:#cfd6e2;transform:translateY(-1px)}
#authModal .google-g{font-size:23px;font-weight:800;color:#4285f4}
#authModal .auth-security-note{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:25px;color:#8190a8;font-size:13px;text-align:center}
#authModal .auth-security-note svg{width:19px;height:19px;fill:none;stroke:#31b9ec;stroke-width:1.8}
#authModal .auth-security-note b{color:#53627a;font-size:13px}
/* Keep register, password reset and inline 2FA visually consistent */
#authModal .auth-form:not(.modern-login-form)>label{display:block;margin:0 0 17px}
#authModal .auth-form:not(.modern-login-form)>label input{width:100%;min-height:52px;padding:0 14px;border:1px solid rgba(116,139,180,.34);border-radius:12px;background:#0a172d;color:#f8fafc;font-size:15px;outline:0}
#authModal .auth-form:not(.modern-login-form)>label input:focus{border-color:#3182ff;box-shadow:0 0 0 4px rgba(49,130,255,.12)}
#authModal .auth-form:not(.modern-login-form) .primary.full{min-height:54px;border-radius:12px;font-weight:750}
#authModal .security-badge{width:max-content;margin:0 auto 13px;padding:6px 10px;border:1px solid rgba(54,192,245,.28);border-radius:999px;background:rgba(25,139,188,.1);color:#51d2ff;font-size:11px;font-weight:800;letter-spacing:.08em}
#authModal .twofa-qr-wrap{width:220px;max-width:70%;margin:20px auto;padding:12px;border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(0,0,0,.3)}
#authModal .twofa-qr-wrap img{display:block;width:100%;height:auto}
#authModal .twofa-secret-row{margin:0 0 18px;padding:12px 14px;border:1px solid rgba(116,139,180,.28);border-radius:12px;background:#09152a;color:#aab7cc}
#authModal .twofa-secret-row code{display:block;margin-top:5px;color:#fff;overflow-wrap:anywhere}
@media(max-width:700px){
  #authModal .modal-card.auth-card{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:25px 23px 23px;border-radius:22px}
  #authModal .close{top:14px;right:14px;width:38px;height:38px;font-size:28px}
  #authModal .auth-logo{margin:0 0 23px}
  #authModal .auth-logo .site-logo{width:235px;max-width:72%;height:126px;max-height:none}
  #authModal .auth-tabs{gap:8px;margin-bottom:27px}
  #authModal .auth-tabs button{min-height:52px;padding:10px 11px;font-size:15px;gap:9px}
  #authModal .auth-tabs button svg{width:21px;height:21px}
  #authModal .auth-heading{margin-bottom:24px}
  #authModal .auth-heading h2,#authModal .auth-form h2{font-size:29px}
  #authModal .auth-heading p,#authModal .auth-form>p{font-size:14px}
  #authModal .modern-field{margin-bottom:18px}
  #authModal .modern-field>span,#authModal .auth-form>label>span{font-size:13px}
  #authModal .modern-input-wrap{min-height:54px;padding:0 14px}
  #authModal .modern-input-wrap input{height:52px!important;font-size:14px!important}
  #authModal .login-options{margin-bottom:21px}
  #authModal .modern-remember,#authModal .modern-forgot{font-size:13px}
  #authModal .modern-login-button,#authModal .modern-google-button{min-height:54px;font-size:15px}
  #authModal .auth-security-note{font-size:11px;gap:7px;margin-top:19px}
}
@media(max-width:420px){
  #authModal .modal-card.auth-card{padding:21px 17px 19px}
  #authModal .auth-logo .site-logo{width:195px;height:110px}
  #authModal .auth-tabs button{font-size:14px}
  #authModal .auth-heading h2,#authModal .auth-form h2{font-size:26px}
  #authModal .login-options{align-items:flex-start}
  #authModal .modern-remember{max-width:58%}
  #authModal .auth-security-note{flex-wrap:wrap}
}
