/* LMTC shared auth popup. Scoped to avoid overriding existing site styles. */
.lmtc-auth-overlay[hidden], .lmtc-auth-overlay [hidden] { display:none !important; }
.lmtc-auth-overlay { position:fixed; inset:0; z-index:999999; display:flex; align-items:center; justify-content:center; padding:16px; box-sizing:border-box; overflow:auto; background:rgba(10,30,50,.56); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
.lmtc-auth-dialog { position:relative; box-sizing:border-box; width:100%; max-width:480px; max-height:calc(100dvh - 32px); overflow-y:auto; border-radius:24px; background:#fff; padding:31px 34px 28px; box-shadow:0 25px 80px rgba(0,0,0,.24); font-family:Inter,'Noto Sans Khmer',Arial,sans-serif; color:#1d3653; }
.lmtc-auth-close { position:absolute; top:14px; right:14px; display:grid; place-items:center; width:38px; height:38px; border:0; border-radius:11px; background:#eef5fb; color:#32617e; font-size:18px; cursor:pointer; }
.lmtc-auth-icon { display:grid; place-items:center; width:58px; height:58px; border-radius:17px; margin:0 auto 14px; background:#e8f4fb; color:#1881c3; font-size:23px; }
.lmtc-auth-dialog h2 { font-family:inherit; font-size:27px; line-height:1.25; margin:0; text-align:center; font-weight:700; color:#214e73; }
.lmtc-auth-subtitle { font-size:13px; color:#7b91a5; line-height:1.6; text-align:center; margin:7px 0 18px; }
.lmtc-auth-form { display:block; }
.lmtc-auth-form label:not(.lmtc-auth-remember) { display:block; margin:12px 0 6px; color:#244c6d; font-size:13px; font-weight:600; }
.lmtc-auth-form input:not([type=hidden]):not([type=checkbox]) { width:100%; box-sizing:border-box; min-height:44px; border:1px solid #cddce8; border-radius:11px; background:#f7fafd; color:#183852; padding:10px 12px; font:14px Inter,'Noto Sans Khmer',sans-serif; }
.lmtc-auth-form input:focus-visible { outline:2px solid #8ac8f2; outline-offset:1px; }
.lmtc-auth-name-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.lmtc-auth-remember { display:flex; align-items:center; gap:8px; margin:15px 0 4px; font-size:13px; color:#617d92; }
.lmtc-auth-remember input { width:16px; height:16px; }
.lmtc-auth-submit { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:45px; margin-top:16px; background:#1682c5; color:#fff; border:0; border-radius:11px; font:600 14px Inter,'Noto Sans Khmer',sans-serif; cursor:pointer; }
.lmtc-auth-submit:hover { background:#096ba8; }
.lmtc-auth-or { display:flex; align-items:center; gap:12px; margin:17px 0; color:#8a9dad; font-size:12px; }
.lmtc-auth-or:before, .lmtc-auth-or:after { content:''; height:1px; background:#e2eaf0; flex:1; }
.lmtc-auth-google { display:flex; align-items:center; justify-content:center; gap:12px; min-height:44px; border:1px solid #cddce8; border-radius:11px; text-decoration:none; color:#294a64; font-size:14px; font-weight:600; }
.lmtc-auth-google:hover { background:#f5f9fc; }
.lmtc-google-g { font:bold 22px Arial,sans-serif; background:conic-gradient(#4285f4 0 24%,#34a853 24% 44%,#fbbc05 44% 65%,#ea4335 65% 84%,#4285f4 84%); background-clip:text; -webkit-background-clip:text; color:transparent; }
.lmtc-auth-switch { margin:18px 0 0; text-align:center; color:#7890a2; font-size:13px; }
.lmtc-auth-switch button { background:transparent; border:0; color:#087dbb; font:600 13px Inter,'Noto Sans Khmer',sans-serif; cursor:pointer; text-decoration:underline; }
.lmtc-auth-errors { border-radius:10px; padding:10px 13px; background:#fff0f2; color:#a12239; font-size:12px; margin:10px 0; }
.lmtc-auth-errors p { margin:3px 0; }
@media (max-width:500px) { .lmtc-auth-dialog { padding:26px 18px 22px; border-radius:18px; } .lmtc-auth-name-grid { gap:8px; } .lmtc-auth-dialog h2 { font-size:24px; } }
@media (prefers-reduced-motion:reduce) { .lmtc-auth-overlay { backdrop-filter:none; -webkit-backdrop-filter:none; } }
