/* Minimal, additive OTP styles; existing Taramaa layout and theme remain intact. */
.tm-otp-panel{margin:18px 0 10px;padding:18px;border:1px solid rgba(201,168,76,.55);border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 12px 32px rgba(13,27,75,.10);color:#17213c;position:relative;z-index:2}.tm-otp-panel[hidden]{display:none!important}.tm-otp-heading{font-weight:800;font-size:1.05rem;margin-bottom:5px;color:#0d1b4b}.tm-otp-message{font-size:.92rem;line-height:1.5;margin:5px 0 14px;color:#39445d}.tm-otp-message.is-error{color:#b42318}.tm-otp-code-label{display:block;font-weight:700;font-size:.88rem;margin-bottom:12px}.tm-otp-code{display:block;width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #c9a84c;border-radius:10px;padding:13px 14px;font-size:1.1rem;letter-spacing:.22em;background:#fff;color:#17213c;outline-offset:2px}.tm-otp-actions{display:flex;gap:9px;flex-wrap:wrap}.tm-otp-actions button,.tm-otp-fallback,.tm-otp-switch-email{border:1px solid #c9a84c;border-radius:10px;padding:10px 14px;cursor:pointer;font:inherit;font-weight:700}.tm-otp-verify{background:#0d1b4b;color:#fff;border-color:#0d1b4b!important}.tm-otp-back,.tm-otp-switch-email,.tm-otp-fallback{background:#fff;color:#0d1b4b}.tm-otp-fallback,.tm-otp-switch-email{display:inline-block;margin-top:10px;font-size:.88rem}.tm-otp-intl-note{font-size:.82rem;line-height:1.45;color:inherit;opacity:.82;margin:12px 0 0}.tm-otp-recaptcha{height:0;overflow:hidden}.tm-otp-panel button:disabled{opacity:.6;cursor:wait}@media(max-width:520px){.tm-otp-panel{padding:14px;border-radius:13px}.tm-otp-actions{display:grid;grid-template-columns:1fr}.tm-otp-actions button{width:100%}}

.tm-country-code{max-width:86px;min-width:70px;flex:0 0 auto;border:0;border-right:1px solid rgba(13,27,75,.14);background:transparent;color:inherit;padding:0 6px;font:inherit;font-weight:700;outline-offset:2px}.tm-country-code[hidden]{display:none!important}.login-input:has(.tm-country-code){display:flex;align-items:center}.login-input:has(.tm-country-code) input{min-width:0;flex:1}

.login-field[hidden],.password-field[hidden],.login-remember[hidden]{display:none!important}

/* V1.1.0: secure verification is a centered modal; keep the existing form layout unchanged. */
body.tm-otp-modal-open{overflow:hidden!important}
.tm-otp-panel.tm-otp-modal{position:fixed!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(560px,calc(100vw - 28px))!important;max-height:calc(100dvh - 32px)!important;overflow:auto!important;margin:0!important;padding:22px!important;z-index:2147483001!important;background:#fff!important;border:1px solid #e6c66e!important;border-radius:18px!important;box-shadow:0 24px 80px rgba(5,13,42,.32)!important;animation:tmOtpModalIn .22s ease-out both}
.tm-otp-panel.tm-otp-modal:before{content:none!important}
.tm-otp-panel.tm-otp-modal .tm-otp-code{font-size:1.35rem;letter-spacing:.35em;text-align:center;min-height:54px}
.tm-otp-verify.is-ready{animation:tmOtpGlow 1.25s ease-in-out infinite alternate;box-shadow:0 0 0 3px rgba(245,199,92,.22),0 0 22px rgba(245,165,0,.72)!important;background:linear-gradient(100deg,#f5c75c,#ff8a00)!important;color:#151b35!important;border-color:#ffb52e!important}
@keyframes tmOtpGlow{from{filter:brightness(1);box-shadow:0 0 0 2px rgba(245,199,92,.18),0 0 9px rgba(245,165,0,.38)}to{filter:brightness(1.08);box-shadow:0 0 0 4px rgba(245,199,92,.35),0 0 24px rgba(245,165,0,.8)}}
@keyframes tmOtpModalIn{from{opacity:0;transform:translate(-50%,-47%) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:520px){.tm-otp-panel.tm-otp-modal{padding:18px!important;width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;border-radius:16px!important}.tm-otp-panel.tm-otp-modal .tm-otp-actions{display:grid;grid-template-columns:1fr 1fr}}

/* V1.2.0: backdrop is a real body-level layer; the panel is portaled to body to escape ancestor stacking/overflow contexts. */
.tm-otp-backdrop{position:fixed!important;inset:0!important;z-index:2147483000!important;background:rgba(7,14,39,.66)!important;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);pointer-events:auto}
.tm-otp-backdrop[hidden]{display:none!important}
.tm-otp-panel.tm-otp-modal{z-index:2147483001!important}
.tm-otp-verify.is-ready{cursor:pointer}

/* V1.3.0 premium async progress layer and mobile modal overflow correction */
.tm-otp-panel.tm-otp-modal,.tm-otp-panel.tm-otp-modal *{box-sizing:border-box}
.tm-otp-panel.tm-otp-modal{overflow-x:hidden!important;overscroll-behavior:contain}
.tm-otp-panel.tm-otp-modal .tm-otp-actions{align-items:stretch}
.tm-otp-panel.tm-otp-modal .tm-otp-actions button{min-height:44px;white-space:normal;line-height:1.25}
.tm-otp-panel.tm-otp-modal .tm-otp-recaptcha{width:1px;height:1px;overflow:hidden}
.tm-otp-busy[hidden]{display:none!important}
.tm-otp-busy{position:fixed;inset:0;z-index:2147483100;display:grid;place-items:center;padding:20px;background:rgba(5,13,42,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.tm-otp-busy-card{width:min(360px,calc(100vw - 36px));padding:30px 26px 24px;border:1px solid rgba(245,199,92,.9);border-radius:24px;background:linear-gradient(145deg,#fffdf7,#fff);box-shadow:0 24px 80px rgba(0,0,0,.28),0 0 0 5px rgba(245,199,92,.12);text-align:center;color:#0d1b4b;animation:tmBusyIn .24s ease-out both}
.tm-otp-spinner{width:58px;height:58px;margin:0 auto 18px;border-radius:50%;border:4px solid rgba(201,168,76,.22);border-top-color:#ff9b00;border-right-color:#0d1b4b;animation:tmBusySpin .78s linear infinite;box-shadow:0 0 22px rgba(245,165,0,.18)}
.tm-otp-busy-title{font-size:1.08rem;font-weight:850;letter-spacing:.01em}
.tm-otp-busy-message{margin:9px 0 16px;font-size:.92rem;line-height:1.5;color:#46516b}
.tm-otp-busy-dots{display:flex;justify-content:center;gap:6px}.tm-otp-busy-dots i{width:7px;height:7px;border-radius:50%;background:#f5a000;animation:tmBusyDot .9s ease-in-out infinite}.tm-otp-busy-dots i:nth-child(2){animation-delay:.15s}.tm-otp-busy-dots i:nth-child(3){animation-delay:.3s}
body.tm-otp-busy-open{cursor:progress}
@keyframes tmBusySpin{to{transform:rotate(360deg)}}@keyframes tmBusyDot{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}@keyframes tmBusyIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:520px){.tm-otp-panel.tm-otp-modal{width:calc(100vw - 28px)!important;padding:18px!important;max-height:calc(100dvh - 28px)!important}.tm-otp-panel.tm-otp-modal .tm-otp-actions{grid-template-columns:1fr 1fr;gap:8px}.tm-otp-panel.tm-otp-modal .tm-otp-code{letter-spacing:.22em;font-size:1.2rem}}


/* V1.4.0 — ornate premium verification dialog, inspired by the supplied reference. */
.tm-otp-panel.tm-otp-modal{isolation:isolate;overflow-x:hidden!important;overflow-y:auto!important;width:min(790px,calc(100vw - 32px))!important;max-height:min(92dvh,900px)!important;padding:clamp(24px,4vw,46px)!important;border:2px solid #e9ad32!important;border-radius:34px!important;background:radial-gradient(ellipse at 50% 0%,#fff9e8 0%,#fff 52%,#fffaf0 100%)!important;box-shadow:0 0 0 5px rgba(255,211,102,.18),0 0 38px rgba(255,170,20,.48),0 30px 100px rgba(4,12,40,.42)!important;color:#0d1b4b!important;text-align:center!important}
.tm-otp-panel.tm-otp-modal:before{content:""!important;display:block!important;position:absolute!important;inset:10px!important;pointer-events:none!important;border:1px solid rgba(201,145,29,.48)!important;border-radius:25px!important;background:linear-gradient(135deg,rgba(255,207,87,.12),transparent 22%,transparent 78%,rgba(255,207,87,.12))!important;z-index:-1!important}
.tm-otp-lotus{position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:88px;height:38px;border-radius:0 0 48px 48px;background:#fff9e8;border:2px solid #e9ad32;border-top:0;color:#d88a00;font-size:27px;line-height:32px;text-shadow:0 0 12px rgba(255,171,0,.35)}
.tm-otp-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:50%;border:1px solid #f0c45d;background:linear-gradient(145deg,#fff,#fff5d9);color:#b86b00;font-size:29px;line-height:1;box-shadow:0 5px 16px rgba(120,75,0,.15);cursor:pointer}
.tm-otp-emblem{width:70px;height:70px;display:grid;place-items:center;margin:0 auto 8px;border:2px solid #f0bd45;border-radius:50%;background:radial-gradient(circle,#fff 20%,#fff3d3);color:#e99b10;font-size:34px;box-shadow:0 0 0 7px rgba(255,196,66,.12),0 8px 22px rgba(201,145,29,.18)}
.tm-otp-panel.tm-otp-modal .tm-otp-heading{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,4vw,48px);font-weight:800;letter-spacing:-.035em;line-height:1.12;color:#0d1b4b;margin:8px 0 10px}
.tm-otp-panel.tm-otp-modal .tm-otp-heading em{font-style:normal;color:#c98713;text-shadow:0 1px #fff0c5}
.tm-otp-divider{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px auto 16px;color:#d99a1b}.tm-otp-divider i{height:1px;width:min(24%,150px);background:linear-gradient(90deg,transparent,#e7b64b)}.tm-otp-divider i:last-child{transform:scaleX(-1)}.tm-otp-divider b{font-size:19px}
.tm-otp-panel.tm-otp-modal .tm-otp-message{max-width:620px;margin:0 auto 22px;font-size:clamp(15px,1.6vw,20px);line-height:1.5;color:#26365d}.tm-otp-panel.tm-otp-modal .tm-otp-message.is-error{color:#b42318;font-size:15px}
.tm-otp-panel.tm-otp-modal .tm-otp-code-label{text-align:left;max-width:610px;margin:0 auto 17px;font-size:14px;color:#15244c}
.tm-otp-panel.tm-otp-modal .tm-otp-code{margin-top:8px;min-height:64px;border:1.5px solid #e6ad2e;border-radius:15px;background:rgba(255,255,255,.96);font-size:clamp(22px,3vw,30px);letter-spacing:.48em;text-align:center;box-shadow:inset 0 2px 7px rgba(30,35,70,.035),0 5px 14px rgba(183,128,12,.07);color:#0d1b4b}
.tm-otp-count-row{max-width:610px;margin:0 auto 18px;display:flex;justify-content:center;color:#66708b;font-size:13px}.tm-otp-secure-note{padding:4px 10px}
.tm-otp-panel.tm-otp-modal .tm-otp-actions{max-width:610px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify{grid-column:1/-1;min-height:72px;border:2px solid #f2b532!important;border-radius:17px;background:linear-gradient(110deg,#ffe17a,#ffb21d 55%,#e88900)!important;color:#0d1b4b!important;font-size:clamp(17px,2vw,24px);font-weight:900;box-shadow:0 8px 20px rgba(224,145,0,.25),inset 0 1px rgba(255,255,255,.9);transition:transform .2s,filter .2s,box-shadow .2s}
.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify span{display:inline-grid;place-items:center;float:right;width:36px;height:36px;border:1px solid rgba(13,27,75,.24);border-radius:50%;font-size:24px}
.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-back,.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-switch-email{min-height:54px;border:1.5px solid #d5a3ff;border-radius:13px;background:linear-gradient(135deg,#fff,#fbf5ff);color:#171d54;font-size:15px;box-shadow:0 4px 13px rgba(90,40,160,.07)}
.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify.is-ready{animation:tmOtpGoldPulse 1.15s ease-in-out infinite alternate;cursor:pointer;transform:translateY(-1px)}
.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify:disabled{filter:saturate(.55);opacity:.65;box-shadow:none;cursor:not-allowed}
.tm-otp-panel.tm-otp-modal .tm-otp-recaptcha{position:absolute!important;left:0!important;bottom:0!important;width:1px!important;height:1px!important;overflow:hidden!important}
@keyframes tmOtpGoldPulse{from{filter:brightness(1);box-shadow:0 0 0 2px rgba(245,199,92,.2),0 5px 18px rgba(245,165,0,.3),inset 0 1px #fff}to{filter:brightness(1.06);box-shadow:0 0 0 5px rgba(245,199,92,.28),0 0 28px rgba(245,165,0,.72),inset 0 1px #fff}}
@media(max-width:600px){.tm-otp-panel.tm-otp-modal{width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;padding:34px 17px 22px!important;border-radius:24px!important}.tm-otp-lotus{width:70px;height:30px;font-size:22px;line-height:25px}.tm-otp-close{right:12px;top:12px;width:36px;height:36px;font-size:25px}.tm-otp-emblem{width:54px;height:54px;font-size:27px;margin-bottom:6px}.tm-otp-panel.tm-otp-modal .tm-otp-heading{font-size:clamp(25px,7vw,36px);margin-top:7px}.tm-otp-panel.tm-otp-modal .tm-otp-message{font-size:15px;margin-bottom:17px}.tm-otp-panel.tm-otp-modal .tm-otp-code{min-height:56px;letter-spacing:.28em;padding:10px;font-size:23px}.tm-otp-panel.tm-otp-modal .tm-otp-actions{grid-template-columns:1fr 1fr;gap:9px}.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify{min-height:60px;font-size:17px}.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-back,.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-switch-email{font-size:13px;padding:10px 8px}.tm-otp-count-row{margin-bottom:13px}}


/* V1.5.0 — reference-matched ornate OTP dialog for both login and registration. */
.tm-otp-panel.tm-otp-modal{width:min(1080px,calc(100vw - 36px))!important;max-height:min(94dvh,940px)!important;overflow-x:hidden!important;overflow-y:auto!important;box-sizing:border-box!important;padding:clamp(42px,5.1vw,78px) clamp(28px,6vw,94px) 38px!important;border:3px solid #e9a51d!important;border-radius:34px!important;background:radial-gradient(ellipse at 50% 42%,#fff 0%,#fffdf7 56%,#fff5d8 100%)!important;box-shadow:0 0 0 5px rgba(255,190,44,.18),0 0 0 10px rgba(255,225,145,.11),0 0 38px rgba(255,174,16,.64),0 30px 100px rgba(3,10,35,.5)!important;text-align:center!important;isolation:isolate!important}
.tm-otp-panel.tm-otp-modal:before{content:""!important;position:absolute!important;inset:12px!important;display:block!important;pointer-events:none!important;border:1.5px solid rgba(215,147,18,.55)!important;border-radius:25px!important;background:linear-gradient(135deg,rgba(255,214,102,.14),transparent 17%,transparent 83%,rgba(255,214,102,.14))!important;z-index:-1!important}
.tm-otp-ornament{position:absolute;z-index:0;color:#e9b84c;opacity:.72;font-family:Georgia,serif;font-size:clamp(76px,9vw,145px);line-height:1;pointer-events:none;text-shadow:0 1px #fff}.tm-otp-ornament-tl{top:18px;left:15px;transform:rotate(-45deg)}.tm-otp-ornament-tr{top:18px;right:15px;transform:scaleX(-1) rotate(-45deg)}.tm-otp-ornament-bl{bottom:14px;left:15px;transform:scaleY(-1) rotate(-45deg)}.tm-otp-ornament-br{bottom:14px;right:15px;transform:scale(-1) rotate(-45deg)}
.tm-otp-lotus{position:absolute;z-index:2;top:-3px;left:50%;transform:translateX(-50%);width:150px;height:52px;border:2px solid #e9ad32;border-top:0;border-radius:0 0 80px 80px;background:linear-gradient(#fff8e5,#fffdf7);color:#d78a05;font-size:34px;line-height:43px;text-shadow:0 0 12px rgba(255,171,0,.35)}
.tm-otp-close{z-index:4;right:24px;top:22px;width:54px;height:54px;border:0;border-radius:50%;background:linear-gradient(145deg,#fff,#fff8e8);color:#b96b00;font-size:40px;line-height:1;box-shadow:0 5px 18px rgba(120,75,0,.18);cursor:pointer}
.tm-otp-emblem{position:relative;z-index:1;width:112px;height:112px;margin:0 auto 8px;border:2px solid #f0bd45;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#fff 20%,#fff7e4);color:#e99b10;font-size:56px;box-shadow:0 0 0 8px rgba(255,196,66,.12),0 8px 22px rgba(201,145,29,.18)}
.tm-otp-panel.tm-otp-modal .tm-otp-heading{position:relative;z-index:1;font-family:Georgia,'Times New Roman',serif;font-size:clamp(40px,5vw,70px);font-weight:800;letter-spacing:-.04em;line-height:1.1;margin:8px 0 12px;color:#0d1b4b}.tm-otp-panel.tm-otp-modal .tm-otp-heading em{color:#c98713;text-shadow:0 1px #fff0c5}
.tm-otp-panel.tm-otp-modal .tm-otp-divider{margin:14px auto 24px;gap:16px}.tm-otp-panel.tm-otp-modal .tm-otp-divider i{width:min(18vw,190px);background:linear-gradient(90deg,transparent,#e8b344)}.tm-otp-panel.tm-otp-modal .tm-otp-divider b{font-size:25px}
.tm-otp-panel.tm-otp-modal .tm-otp-message{position:relative;z-index:1;max-width:790px;margin:0 auto 25px;font-size:clamp(18px,1.8vw,25px);line-height:1.45;color:#24345e}.tm-otp-panel.tm-otp-modal .tm-otp-message.is-error{color:#b42318;font-size:16px}
.tm-otp-panel.tm-otp-modal .tm-otp-code-label{position:relative;z-index:1;display:block;max-width:820px;margin:0 auto 20px;text-align:left;font-size:16px;font-weight:800;color:#15244c}.tm-otp-panel.tm-otp-modal .tm-otp-code{height:110px;min-height:110px;margin-top:12px;padding:16px 20px;border:1.5px solid #e6ad2e;border-radius:19px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(16.666% - 1px),rgba(228,174,49,.0) calc(16.666% - 1px),rgba(228,174,49,.0) 16.666%),rgba(255,255,255,.98);font-size:clamp(28px,3vw,40px);letter-spacing:.75em;text-indent:.75em;text-align:center;box-shadow:inset 0 2px 7px rgba(30,35,70,.035),0 5px 14px rgba(183,128,12,.07);color:#0d1b4b;outline-color:#8d21ff}
.tm-otp-panel.tm-otp-modal .tm-otp-count-row{max-width:820px;margin:0 auto 25px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:clamp(15px,1.5vw,22px);color:#15244c}.tm-otp-expiry{display:flex;align-items:center;gap:10px}.tm-otp-expiry>span{font-size:30px;color:#8a20ff}.tm-otp-countdown{color:#8a20ff}.tm-otp-resend{border:0;background:transparent;color:#8a20ff;font:inherit;font-weight:800;cursor:pointer;padding:8px 10px}.tm-otp-resend:disabled{opacity:.65;cursor:default}
.tm-otp-panel.tm-otp-modal .tm-otp-actions{position:relative;z-index:1;max-width:820px;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 auto}.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:20px;min-height:112px;padding:18px 28px;border:2px solid #f2b532!important;border-radius:23px;background:linear-gradient(110deg,#ffe17a,#ffb21d 55%,#e88900)!important;color:#0d1b4b!important;font-size:clamp(22px,2.5vw,34px);font-weight:900;box-shadow:0 8px 22px rgba(224,145,0,.32),inset 0 1px rgba(255,255,255,.9);transition:transform .2s,filter .2s,box-shadow .2s}.tm-otp-shield{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#0d1b4b;color:#ffe17a;font-size:27px}.tm-otp-arrow{display:inline-grid;place-items:center;width:56px;height:56px;border:2px solid rgba(255,255,255,.9);border-radius:50%;font-size:35px}
.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-back,.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-switch-email{min-height:78px;padding:14px 18px;border:1.5px solid #d5a3ff;border-radius:18px;background:linear-gradient(135deg,#fff,#fbf5ff);color:#171d54;font-size:clamp(15px,1.5vw,22px);font-weight:800;box-shadow:0 4px 13px rgba(90,40,160,.07)}
.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify.is-ready{animation:tmOtpGoldPulse 1.15s ease-in-out infinite alternate;cursor:pointer;transform:translateY(-1px)}.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify:disabled{filter:saturate(.55);opacity:.65;box-shadow:none;cursor:not-allowed}
.tm-otp-footer{position:relative;z-index:1;margin:28px auto 0;padding-top:22px;border-top:1px solid rgba(218,165,43,.45);max-width:820px;color:#68728d;font-size:clamp(14px,1.4vw,20px)}.tm-otp-footer span{margin-right:10px}
.tm-otp-panel.tm-otp-modal .tm-otp-recaptcha{position:absolute!important;right:0!important;bottom:0!important;left:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:700px){.tm-otp-panel.tm-otp-modal{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;padding:48px 18px 24px!important;border-radius:23px!important}.tm-otp-panel.tm-otp-modal:before{inset:7px!important;border-radius:17px!important}.tm-otp-ornament{font-size:64px;opacity:.45}.tm-otp-lotus{width:94px;height:34px;font-size:23px;line-height:29px}.tm-otp-close{right:13px;top:12px;width:38px;height:38px;font-size:28px}.tm-otp-emblem{width:65px;height:65px;font-size:32px}.tm-otp-panel.tm-otp-modal .tm-otp-heading{font-size:clamp(29px,8vw,42px)}.tm-otp-panel.tm-otp-modal .tm-otp-divider{margin:10px auto 16px}.tm-otp-panel.tm-otp-modal .tm-otp-message{font-size:15px;margin-bottom:18px}.tm-otp-panel.tm-otp-modal .tm-otp-code-label{font-size:13px;margin-bottom:13px}.tm-otp-panel.tm-otp-modal .tm-otp-code{height:66px;min-height:66px;padding:8px;font-size:22px;letter-spacing:.45em;text-indent:.45em;border-radius:12px}.tm-otp-panel.tm-otp-modal .tm-otp-count-row{font-size:12px;margin-bottom:16px}.tm-otp-expiry>span{font-size:20px}.tm-otp-resend{font-size:12px}.tm-otp-panel.tm-otp-modal .tm-otp-actions{gap:9px}.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify{min-height:66px;font-size:16px;gap:9px;padding:10px}.tm-otp-shield{width:28px;height:28px;font-size:16px}.tm-otp-arrow{width:32px;height:32px;font-size:21px}.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-back,.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-switch-email{min-height:56px;padding:8px 5px;font-size:12px}.tm-otp-footer{margin-top:18px;padding-top:14px;font-size:12px}}

/* V1.6.0 — compact responsive verification modal; preserve the V1.5 ornate visual language. */
.tm-otp-panel.tm-otp-modal{
  width:min(680px,calc(100vw - 32px))!important;
  max-height:calc(100dvh - 40px)!important;
  overflow-x:hidden!important;overflow-y:auto!important;
  padding:34px 34px 24px!important;
  border-width:2px!important;border-radius:28px!important;
  box-shadow:0 0 0 4px rgba(255,190,44,.15),0 0 28px rgba(255,174,16,.42),0 22px 70px rgba(3,10,35,.42)!important;
}
.tm-otp-panel.tm-otp-modal:before{inset:8px!important;border-radius:20px!important}
.tm-otp-panel.tm-otp-modal .tm-otp-emblem{width:66px;height:66px;font-size:34px;margin-bottom:5px}
.tm-otp-panel.tm-otp-modal .tm-otp-heading{font-size:clamp(30px,4vw,44px)!important;margin:5px 0 8px!important;line-height:1.12!important}
.tm-otp-panel.tm-otp-modal .tm-otp-divider{margin:8px auto 14px!important}
.tm-otp-panel.tm-otp-modal .tm-otp-divider i{width:min(18vw,115px)!important}
.tm-otp-panel.tm-otp-modal .tm-otp-divider b{font-size:19px!important}
.tm-otp-panel.tm-otp-modal .tm-otp-message{font-size:clamp(14px,1.4vw,17px)!important;margin:0 auto 16px!important;line-height:1.45!important}
.tm-otp-panel.tm-otp-modal .tm-otp-code-label{font-size:13px!important;margin-bottom:12px!important}
.tm-otp-panel.tm-otp-modal .tm-otp-code{height:62px!important;min-height:62px!important;padding:10px 12px!important;font-size:clamp(22px,2.4vw,28px)!important;letter-spacing:.42em!important;text-indent:.42em!important;border-radius:13px!important}
.tm-otp-panel.tm-otp-modal .tm-otp-count-row{font-size:13px!important;margin:0 auto 15px!important}
.tm-otp-expiry>span{font-size:21px!important}
.tm-otp-resend{font-size:13px!important;padding:6px 8px!important}
.tm-otp-panel.tm-otp-modal .tm-otp-actions{gap:10px!important}
.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify{min-height:68px!important;padding:12px 18px!important;font-size:clamp(17px,2vw,22px)!important;gap:12px!important;border-radius:16px!important}
.tm-otp-shield{width:34px!important;height:34px!important;font-size:20px!important}
.tm-otp-arrow{width:38px!important;height:38px!important;font-size:24px!important}
.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-back,.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-switch-email{min-height:54px!important;padding:10px 12px!important;font-size:14px!important;border-radius:13px!important}
.tm-otp-footer{margin-top:17px!important;padding-top:13px!important;font-size:12px!important}
.tm-otp-lotus{width:100px!important;height:36px!important;font-size:24px!important;line-height:29px!important}
.tm-otp-close{right:14px!important;top:12px!important;width:38px!important;height:38px!important;font-size:27px!important}
.tm-otp-ornament{font-size:clamp(50px,6vw,82px)!important;opacity:.48!important}
.tm-otp-ornament-tl,.tm-otp-ornament-tr{top:12px!important}.tm-otp-ornament-bl,.tm-otp-ornament-br{bottom:10px!important}
@media(max-width:600px){
 .tm-otp-panel.tm-otp-modal{width:calc(100vw - 20px)!important;max-height:calc(100dvh - 24px)!important;padding:38px 17px 18px!important;border-radius:22px!important}
 .tm-otp-panel.tm-otp-modal:before{inset:6px!important;border-radius:15px!important}
 .tm-otp-panel.tm-otp-modal .tm-otp-emblem{width:52px;height:52px;font-size:27px;margin-bottom:4px}
 .tm-otp-panel.tm-otp-modal .tm-otp-heading{font-size:clamp(27px,7.5vw,36px)!important;margin:4px 0 6px!important}
 .tm-otp-panel.tm-otp-modal .tm-otp-divider{margin:7px auto 12px!important}
 .tm-otp-panel.tm-otp-modal .tm-otp-message{font-size:14px!important;margin-bottom:14px!important}
 .tm-otp-panel.tm-otp-modal .tm-otp-code-label{font-size:12px!important;margin-bottom:10px!important}
 .tm-otp-panel.tm-otp-modal .tm-otp-code{height:56px!important;min-height:56px!important;font-size:22px!important;letter-spacing:.34em!important;text-indent:.34em!important;padding:8px!important}
 .tm-otp-panel.tm-otp-modal .tm-otp-count-row{font-size:11px!important;margin-bottom:12px!important;gap:5px!important}
 .tm-otp-expiry{gap:5px!important}.tm-otp-expiry>span{font-size:17px!important}.tm-otp-resend{font-size:11px!important;padding:5px 2px!important}
 .tm-otp-panel.tm-otp-modal .tm-otp-actions{grid-template-columns:1fr 1fr!important;gap:8px!important}
 .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify{min-height:58px!important;grid-column:1/-1!important;font-size:15px!important;padding:9px!important;gap:8px!important}
 .tm-otp-shield{width:27px!important;height:27px!important;font-size:15px!important}.tm-otp-arrow{width:30px!important;height:30px!important;font-size:19px!important}
 .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-back,.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-switch-email{min-height:48px!important;font-size:11px!important;line-height:1.25!important;padding:7px 4px!important;overflow-wrap:anywhere}
 .tm-otp-footer{margin-top:13px!important;padding-top:10px!important;font-size:11px!important}
 .tm-otp-lotus{width:72px!important;height:28px!important;font-size:19px!important;line-height:23px!important}
 .tm-otp-close{right:10px!important;top:9px!important;width:32px!important;height:32px!important;font-size:23px!important}
 .tm-otp-ornament{font-size:45px!important;opacity:.32!important}.tm-otp-ornament-tl,.tm-otp-ornament-tr{top:8px!important}.tm-otp-ornament-bl,.tm-otp-ornament-br{bottom:6px!important}
}
@media(max-width:360px){.tm-otp-panel.tm-otp-modal{padding-left:13px!important;padding-right:13px!important}.tm-otp-panel.tm-otp-modal .tm-otp-heading{font-size:26px!important}.tm-otp-panel.tm-otp-modal .tm-otp-count-row{align-items:flex-start}.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-back,.tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-switch-email{font-size:10px!important}}


/* V1.7.0 — enforce compact modal sizing and invalidate stale CSS cache. */
html body .tm-otp-panel.tm-otp-modal {
  width: min(620px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  max-height: min(760px, calc(100dvh - 32px)) !important;
  height: auto !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding: 30px 28px 22px !important;
  overflow-x: clip !important;
  overflow-y: auto !important;
}
html body .tm-otp-panel.tm-otp-modal .tm-otp-emblem { width: 56px !important; height: 56px !important; font-size: 28px !important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-heading { font-size: clamp(27px, 3.2vw, 38px) !important; margin: 4px 0 6px !important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-divider { margin: 7px auto 12px !important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-message { font-size: 15px !important; margin: 0 auto 13px !important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-code-label { margin-bottom: 9px !important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-code { height: 54px !important; min-height: 54px !important; padding: 8px 10px !important; font-size: 23px !important; letter-spacing: .32em !important; text-indent: .32em !important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-count-row { margin: 0 auto 12px !important; font-size: 12px !important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-actions { gap: 8px !important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify { min-height: 58px !important; padding: 10px 14px !important; font-size: 18px !important; border-radius: 15px !important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-back,
html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-switch-email { min-height: 46px !important; padding: 8px 10px !important; font-size: 13px !important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-footer { margin-top: 12px !important; padding-top: 10px !important; font-size: 11px !important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-lotus { width: 82px !important; height: 30px !important; font-size: 20px !important; line-height: 24px !important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-close { width: 34px !important; height: 34px !important; font-size: 24px !important; right: 12px !important; top: 10px !important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-ornament { font-size: 56px !important; opacity: .35 !important; }
@media (max-width: 600px) {
  html body .tm-otp-panel.tm-otp-modal { width: calc(100vw - 20px) !important; max-width: calc(100vw - 20px) !important; max-height: calc(100dvh - 20px) !important; padding: 32px 14px 16px !important; border-radius: 20px !important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-heading { font-size: clamp(25px, 7vw, 32px) !important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-message { font-size: 13px !important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-code { height: 50px !important; min-height: 50px !important; font-size: 20px !important; letter-spacing: .22em !important; text-indent: .22em !important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-count-row { gap: 4px !important; font-size: 10px !important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-resend { font-size: 10px !important; padding: 4px 2px !important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-actions { grid-template-columns: 1fr !important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify { grid-column: 1 !important; min-height: 52px !important; font-size: 15px !important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-back,
  html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-switch-email { min-height: 44px !important; font-size: 12px !important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-footer { font-size: 10px !important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-ornament { font-size: 40px !important; }
}


/* V1.8.0 — final visual layer only. Keeps OTP/authentication logic unchanged. */
html body .tm-otp-panel.tm-otp-modal {
  box-sizing:border-box!important;
  width:min(560px,calc(100vw - 28px))!important;
  max-width:calc(100vw - 28px)!important;
  max-height:76dvh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding:30px 28px 20px!important;
  border:2px solid #e7b43e!important;
  border-radius:28px!important;
  background:radial-gradient(ellipse at 50% 0%,#fff8e5 0%,#fffefa 45%,#fff8e9 100%)!important;
  box-shadow:0 0 0 4px rgba(255,207,89,.18),0 0 28px rgba(242,169,28,.32),0 24px 70px rgba(4,12,40,.38)!important;
  text-align:center!important;
}
html body .tm-otp-panel.tm-otp-modal:before { inset:8px!important;border-radius:20px!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-emblem { width:58px!important;height:58px!important;font-size:29px!important;margin:0 auto 5px!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-heading { font-size:clamp(29px,3.2vw,38px)!important;line-height:1.08!important;margin:5px 0 7px!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-divider { margin:7px auto 12px!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-divider i { width:min(18vw,95px)!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-message { max-width:460px!important;font-size:14px!important;line-height:1.45!important;margin:0 auto 13px!important;overflow-wrap:anywhere!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-code-label { max-width:100%!important;margin:0 0 8px!important;font-size:12px!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-code { height:52px!important;min-height:52px!important;width:100%!important;margin-top:7px!important;padding:8px 12px!important;font-size:22px!important;letter-spacing:.30em!important;text-indent:.30em!important;border-radius:13px!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-count-row { max-width:100%!important;margin:0 auto 12px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;font-size:11px!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-expiry { display:inline-flex!important;align-items:center!important;gap:5px!important;white-space:nowrap!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-expiry>span { font-size:16px!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-resend { font-size:11px!important;padding:5px 7px!important;white-space:nowrap!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-actions { width:100%!important;max-width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:9px!important;align-items:stretch!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-actions button { box-sizing:border-box!important;min-width:0!important;width:100%!important;min-height:46px!important;height:auto!important;margin:0!important;padding:9px 10px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;border-radius:12px!important;font-size:12px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:anywhere!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify { grid-column:1/-1!important;min-height:54px!important;padding:10px 14px!important;font-size:16px!important;border:2px solid #f0b52e!important;border-radius:14px!important;background:linear-gradient(105deg,#ffe48a 0%,#ffc13d 48%,#ee9500 100%)!important;color:#0d1b4b!important;box-shadow:0 6px 17px rgba(225,145,0,.24),inset 0 1px rgba(255,255,255,.92)!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify .tm-otp-shield { flex:0 0 27px!important;width:27px!important;height:27px!important;font-size:16px!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify .tm-otp-arrow { flex:0 0 29px!important;width:29px!important;height:29px!important;font-size:18px!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-back,
html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-switch-email { min-height:44px!important;border:1px solid #d6a7ff!important;background:linear-gradient(135deg,#fff 0%,#fbf5ff 100%)!important;color:#171d54!important;box-shadow:0 3px 10px rgba(90,40,160,.07)!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-footer { margin-top:13px!important;padding-top:10px!important;font-size:10px!important;border-top:1px solid rgba(211,164,54,.35)!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-lotus { width:76px!important;height:30px!important;font-size:21px!important;line-height:25px!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-close { width:32px!important;height:32px!important;top:10px!important;right:10px!important;font-size:22px!important; }
html body .tm-otp-panel.tm-otp-modal .tm-otp-ornament { font-size:46px!important;opacity:.32!important; }
/* Keep the provider's required reCAPTCHA badge visible, but away from the modal controls. */
html body .grecaptcha-badge { position:fixed!important;right:10px!important;bottom:10px!important;left:auto!important;top:auto!important;z-index:2147483200!important;transform:scale(.78)!important;transform-origin:right bottom!important; }
/* Login variant: deeper navy accents; registration variant: warmer ceremonial gold. */
html body.tm-login-page .tm-otp-panel.tm-otp-modal-login .tm-otp-emblem { color:#d48a09!important;box-shadow:0 0 0 5px rgba(13,27,75,.045),0 6px 16px rgba(13,27,75,.10)!important; }
html body.tm-login-page .tm-otp-panel.tm-otp-modal-login .tm-otp-heading span { color:#0d1b4b!important; }
html body.tm-login-page .tm-otp-panel.tm-otp-modal-login .tm-otp-actions .tm-otp-back { border-color:#c9a84c!important;background:linear-gradient(135deg,#fffdf7,#fff8e7)!important; }
html body.tm-register-page .tm-otp-panel.tm-otp-modal-register { box-shadow:0 0 0 4px rgba(255,207,89,.20),0 0 32px rgba(242,169,28,.38),0 24px 70px rgba(4,12,40,.38)!important; }
html body.tm-register-page .tm-otp-panel.tm-otp-modal-register .tm-otp-heading em { color:#d18a0b!important; }
html body.tm-register-page .tm-otp-panel.tm-otp-modal-register .tm-otp-actions .tm-otp-switch-email { border-color:#cda0ff!important; }
@media(max-width:600px) {
  html body .tm-otp-panel.tm-otp-modal { width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:76dvh!important;padding:30px 14px 15px!important;border-radius:22px!important; }
  html body .tm-otp-panel.tm-otp-modal:before { inset:6px!important;border-radius:15px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-emblem { width:48px!important;height:48px!important;font-size:24px!important;margin-bottom:3px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-heading { font-size:clamp(25px,7vw,32px)!important;margin:3px 0 5px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-divider { margin:5px auto 9px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-message { font-size:12px!important;margin-bottom:10px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-code-label { font-size:11px!important;margin-bottom:6px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-code { height:46px!important;min-height:46px!important;font-size:20px!important;letter-spacing:.22em!important;text-indent:.22em!important;padding:7px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-count-row { font-size:10px!important;margin-bottom:9px!important;gap:3px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-expiry>span { font-size:14px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-resend { font-size:10px!important;padding:4px 3px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-actions { gap:7px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-actions button { min-height:40px!important;padding:7px 5px!important;font-size:10px!important;gap:4px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify { min-height:48px!important;font-size:14px!important;padding:8px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify .tm-otp-shield { width:23px!important;height:23px!important;flex-basis:23px!important;font-size:14px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify .tm-otp-arrow { width:25px!important;height:25px!important;flex-basis:25px!important;font-size:16px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-footer { margin-top:9px!important;padding-top:7px!important;font-size:9px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-lotus { width:62px!important;height:25px!important;font-size:17px!important;line-height:21px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-close { width:28px!important;height:28px!important;top:8px!important;right:8px!important;font-size:19px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-ornament { font-size:34px!important;opacity:.24!important; }
  html body .grecaptcha-badge { right:5px!important;bottom:5px!important;transform:scale(.68)!important; }
}
@media(max-width:360px) {
  html body .tm-otp-panel.tm-otp-modal { padding-left:11px!important;padding-right:11px!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-actions { grid-template-columns:1fr!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-actions .tm-otp-verify { grid-column:1!important; }
  html body .tm-otp-panel.tm-otp-modal .tm-otp-actions button { min-height:40px!important;font-size:11px!important; }
}


/* V1.8.1: keep Google's reCAPTCHA badge outside the transformed OTP modal. */
html body .tm-otp-recaptcha {
  position: fixed !important;
  inset: auto 12px 12px auto !important;
  width: 256px !important;
  height: 60px !important;
  min-width: 256px !important;
  min-height: 60px !important;
  overflow: visible !important;
  z-index: 2147483200 !important;
  pointer-events: none !important;
}
html body .tm-otp-recaptcha .grecaptcha-badge,
html body .grecaptcha-badge {
  position: fixed !important;
  right: 12px !important;
  bottom: 12px !important;
  left: auto !important;
  top: auto !important;
  z-index: 2147483201 !important;
  transform: none !important;
  transform-origin: right bottom !important;
  visibility: visible !important;
}
@media (max-width: 700px) {
  html body .tm-otp-recaptcha { inset: 8px 8px auto auto !important; }
  html body .tm-otp-recaptcha .grecaptcha-badge,
  html body .grecaptcha-badge {
    top: 8px !important;
    right: 8px !important;
    bottom: auto !important;
    transform: scale(.78) !important;
    transform-origin: right top !important;
  }
}


/* V1.9.0 — registration agreement gate and approachable inline guidance. */
.tm-reg-guide{display:flex;align-items:flex-start;gap:12px;margin:12px 0 10px;padding:13px 15px;border:1px solid rgba(201,168,76,.48);border-radius:14px;background:linear-gradient(135deg,#fffdf7 0%,#fff8e7 100%);box-shadow:0 7px 20px rgba(13,27,75,.055);color:#17213c;transition:border-color .2s,box-shadow .2s,background .2s}
.tm-reg-guide-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(201,168,76,.55);background:#fff;color:#c58b16;font-size:17px;box-shadow:0 3px 10px rgba(201,168,76,.12)}
.tm-reg-guide-content{min-width:0;flex:1}.tm-reg-guide-title{display:block;font-size:.91rem;font-weight:800;color:#0d1b4b;margin:1px 0 4px}.tm-reg-guide-summary{margin:0 0 5px;font-size:.79rem;line-height:1.5;color:#566079}.tm-reg-guide-list{margin:5px 0 0;padding-left:17px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}.tm-reg-guide-list:empty{display:none}.tm-reg-guide-list li{font-size:.74rem;line-height:1.4;color:#8a5414}.tm-reg-guide-list li.tm-reg-guide-item{cursor:pointer;text-decoration:underline;text-decoration-color:rgba(138,84,20,.3);text-underline-offset:2px}.tm-reg-guide-list li.tm-reg-guide-item:focus{outline:2px solid #c9a84c;outline-offset:2px;border-radius:3px}.tm-reg-guide.is-complete{border-color:rgba(42,137,92,.48);background:linear-gradient(135deg,#f8fff9 0%,#fffdf7 100%);box-shadow:0 8px 22px rgba(42,137,92,.08)}.tm-reg-guide.is-complete .tm-reg-guide-icon{border-color:#9bd4b3;color:#167348;background:#f0fff5}.tm-reg-guide.is-complete .tm-reg-guide-summary{color:#27664b}.reg-submit.tm-reg-submit-locked,.reg-submit:disabled{opacity:.52;filter:saturate(.58);cursor:not-allowed;box-shadow:none;transform:none;pointer-events:none}.reg-submit.tm-reg-submit-ready:not(:disabled){opacity:1;filter:none;cursor:pointer;animation:tmRegButtonGlow 2s ease-in-out infinite;box-shadow:0 0 0 1px rgba(255,255,255,.55) inset,0 0 0 3px rgba(255,190,45,.18),0 8px 24px rgba(255,151,0,.28)}.reg-submit.tm-reg-submit-ready:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(255,255,255,.6) inset,0 0 0 4px rgba(255,190,45,.2),0 10px 28px rgba(255,151,0,.36)}@keyframes tmRegButtonGlow{0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,.5) inset,0 0 0 2px rgba(255,190,45,.12),0 6px 18px rgba(255,151,0,.2)}50%{box-shadow:0 0 0 1px rgba(255,255,255,.6) inset,0 0 0 4px rgba(255,190,45,.22),0 8px 26px rgba(255,151,0,.34)}}.tm-reg-guide-nudge{animation:tmRegGuideNudge .24s ease-in-out 2}@keyframes tmRegGuideNudge{0%,100%{transform:translateX(0)}35%{transform:translateX(-3px)}70%{transform:translateX(3px)}}
@media(max-width:600px){.tm-reg-guide{gap:9px;padding:11px;border-radius:12px}.tm-reg-guide-icon{flex-basis:30px;width:30px;height:30px}.tm-reg-guide-list{grid-template-columns:minmax(0,1fr);gap:4px}.tm-reg-guide-title{font-size:.86rem}.tm-reg-guide-summary{font-size:.76rem}.reg-submit.tm-reg-submit-ready:not(:disabled){animation-duration:2.5s}}
@media(prefers-reduced-motion:reduce){.reg-submit.tm-reg-submit-ready:not(:disabled){animation:none}.tm-reg-guide-nudge{animation:none}}


/* V2.0.0 — registration-only validation popovers and strict submit glow gate. */
body.tm-register-page #registerForm .reg-submit,
body.tm-register-page #registerForm .reg-submit:disabled,
body.tm-register-page #registerForm .reg-submit.tm-reg-submit-locked:not(.tm-reg-submit-ready){
  animation:none !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
}
body.tm-register-page #registerForm .reg-submit:disabled,
body.tm-register-page #registerForm .reg-submit.tm-reg-submit-locked{
  opacity:.48 !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
}
body.tm-register-page #registerForm .reg-submit.tm-reg-submit-ready:not(:disabled){
  animation:tmRegButtonGlowV200 1.8s ease-in-out infinite !important;
  opacity:1 !important;
  filter:none !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.72) inset,0 0 0 3px rgba(255,190,45,.2),0 8px 25px rgba(255,151,0,.34) !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}
body.tm-register-page #registerForm .reg-submit.tm-reg-submit-ready:not(:disabled):hover{
  box-shadow:0 0 0 1px rgba(255,255,255,.8) inset,0 0 0 4px rgba(255,190,45,.26),0 10px 30px rgba(255,151,0,.42) !important;
}
@keyframes tmRegButtonGlowV200{0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,.7) inset,0 0 0 2px rgba(255,190,45,.14),0 5px 16px rgba(255,151,0,.2)}50%{box-shadow:0 0 0 1px rgba(255,255,255,.8) inset,0 0 0 4px rgba(255,190,45,.26),0 9px 27px rgba(255,151,0,.38)}}
body.tm-register-page #registerForm .tm-reg-field-host{position:relative;overflow:visible !important}
body.tm-register-page #registerForm .tm-reg-field-popover{display:none;position:absolute;z-index:30;left:0;top:calc(100% + 7px);max-width:min(340px,calc(100vw - 48px));padding:10px 12px;border:1px solid rgba(201,91,50,.35);border-radius:10px;background:#fffaf5;color:#8c321e;font-size:12px;line-height:1.45;font-weight:600;box-shadow:0 9px 26px rgba(13,27,75,.16)}
body.tm-register-page #registerForm .tm-reg-field-popover:before{content:"!";display:inline-grid;place-items:center;width:17px;height:17px;margin-right:7px;border-radius:50%;background:#fff0e9;color:#b63f24;font-weight:900}
body.tm-register-page #registerForm .tm-reg-field-popover.is-visible{display:block;animation:tmRegPopoverIn .14s ease-out}
body.tm-register-page #registerForm .tm-reg-field-invalid input,
body.tm-register-page #registerForm .tm-reg-field-invalid select{border-color:#d85c43 !important;box-shadow:0 0 0 2px rgba(216,92,67,.1) !important}
body.tm-register-page #registerForm .tm-reg-field-host:has(.tm-reg-field-popover.is-visible){z-index:35}
@keyframes tmRegPopoverIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){body.tm-register-page #registerForm .tm-reg-field-popover{max-width:calc(100vw - 56px);font-size:11px;padding:9px 10px;z-index:50}}
@media(prefers-reduced-motion:reduce){body.tm-register-page #registerForm .reg-submit.tm-reg-submit-ready:not(:disabled){animation:none !important}body.tm-register-page #registerForm .tm-reg-field-popover.is-visible{animation:none}}


/* TARAMAA guest-to-booking OTP flow V2.1.0 — puja-booking page only */
html body.tm-booking-guest .tm-registration-grid .tm-field-label{font-size:13px!important;font-weight:800!important;line-height:1.45!important;color:#342064!important}
html body.tm-booking-guest .tm-registration-grid .tm-input input,
html body.tm-booking-guest .tm-registration-grid .tm-input select{min-height:46px!important;font-size:15px!important;line-height:1.45!important;padding:10px 12px!important}
html body.tm-booking-guest .tm-registration-grid .tm-field{gap:6px!important;margin-bottom:7px!important;min-width:0!important}
html body.tm-booking-guest .tm-guest-note{font-size:13px!important;line-height:1.65!important;padding:13px 15px!important}
html body.tm-booking-guest .tm-booking-otp-hint{display:flex!important;align-items:flex-start!important;gap:11px!important;width:100%!important;padding:13px 15px!important;border:1px solid #f0d99d!important;border-radius:12px!important;background:linear-gradient(135deg,#fffaf0,#fff)!important;color:#2d2340!important}
html body.tm-booking-guest .tm-booking-otp-hint>span{font-size:23px!important;color:#d18a08!important;line-height:1.2!important}
html body.tm-booking-guest .tm-booking-otp-hint b{display:block!important;font-size:13px!important;line-height:1.5!important}
html body.tm-booking-guest .tm-booking-otp-hint small{display:block!important;font-size:12px!important;line-height:1.6!important;margin-top:3px!important;color:#62566f!important}
html body.tm-booking-guest [data-proceed]{font-size:15px!important;min-height:48px!important;font-weight:900!important}
@media(max-width:760px){html body.tm-booking-guest .tm-registration-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}html body.tm-booking-guest .tm-registration-grid .tm-field.full{grid-column:1!important}html body.tm-booking-guest .tm-registration-grid .tm-input input,html body.tm-booking-guest .tm-registration-grid .tm-input select{min-height:48px!important;font-size:16px!important}html body.tm-booking-guest .tm-booking-otp-hint{padding:12px!important}html body.tm-booking-guest [data-proceed]{width:100%!important;justify-content:center!important}}


/* V2.2.0 — premium sculpted booking guest form, country-aware registration and mobile polish. */
#bookingForm .tm-selected-puja{position:relative;isolation:isolate;border:1px solid rgba(201,168,76,.42)!important;border-radius:26px!important;background:linear-gradient(145deg,#fff 0%,#fffdf7 48%,#f8f5ff 100%)!important;box-shadow:0 18px 42px rgba(40,24,95,.09),inset 0 1px 0 #fff!important;overflow:hidden}
#bookingForm .tm-selected-puja:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#5b2bc1,#d7a83e,#ffb51b,#6e44d4);z-index:0}
#bookingForm .tm-selected-puja:after{content:"";position:absolute;right:-75px;top:-100px;width:230px;height:230px;border-radius:50%;border:1px solid rgba(201,168,76,.15);box-shadow:0 0 0 18px rgba(201,168,76,.035),0 0 0 38px rgba(111,67,200,.025);pointer-events:none;z-index:-1}
#bookingForm .tm-section-title h2{font-size:clamp(18px,1.5vw,23px)!important;line-height:1.35!important;letter-spacing:-.015em}
#bookingForm .tm-guest-note{border:1px solid #efd69a!important;border-radius:16px!important;background:linear-gradient(135deg,#fff8e7,#fff 70%)!important;padding:16px 18px!important;font-size:14px!important;line-height:1.65!important;box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(178,125,18,.06)!important}
#bookingForm .tm-registration-grid{gap:15px 14px!important;padding-top:6px}
#bookingForm .tm-field{min-width:0;align-self:start}
#bookingForm .tm-field-label{display:block!important;margin:0 0 7px!important;font-size:13px!important;font-weight:800!important;letter-spacing:.01em;color:#24134f!important;line-height:1.35!important}
#bookingForm .tm-field-label sup{color:#ed7b00;font-size:13px}
#bookingForm .tm-input-enhanced{min-height:49px!important;display:flex!important;align-items:center!important;gap:8px!important;padding:0 13px!important;border:1px solid #ded4f6!important;border-radius:15px!important;background:linear-gradient(180deg,#fff,#fcfaff)!important;box-shadow:inset 0 2px 4px rgba(36,19,79,.025),0 5px 12px rgba(68,44,124,.035)!important;transition:border-color .2s,box-shadow .2s,transform .2s!important;overflow:hidden}
#bookingForm .tm-input-enhanced:focus-within{border-color:#9567e8!important;box-shadow:0 0 0 4px rgba(128,82,214,.12),0 9px 20px rgba(69,40,135,.08),inset 0 1px 0 #fff!important;transform:translateY(-1px)}
#bookingForm .tm-input-enhanced input,#bookingForm .tm-input-enhanced select{width:100%;min-width:0;min-height:45px!important;padding:9px 2px!important;border:0!important;outline:0!important;background:transparent!important;color:#211644!important;font-size:15px!important;font-weight:550!important;line-height:1.4!important;box-shadow:none!important}
#bookingForm .tm-input-enhanced input::placeholder{color:#85809b!important;opacity:1;font-weight:450}
#bookingForm .tm-field-icon{flex:0 0 auto;font-size:15px!important;color:#8b61cf!important;opacity:.9}
#bookingForm .tm-phone-combo{padding-left:8px!important;gap:0!important}
#bookingForm .tm-phone-dial{flex:0 0 104px!important;width:104px!important;max-width:104px!important;min-height:42px!important;padding:8px 5px!important;border:0!important;border-right:1px solid #e5daf5!important;border-radius:0!important;background:transparent!important;color:#2e1d57!important;font-size:14px!important;font-weight:800!important}
#bookingForm .tm-phone-combo input{padding-left:12px!important}
#bookingForm .tm-field-help{display:block;margin:7px 2px 0;color:#6d6683;font-size:12px;line-height:1.5}
#bookingForm .tm-international-passwords{padding:13px!important;border:1px solid rgba(201,168,76,.45);border-radius:18px;background:linear-gradient(140deg,#fff8e6,#fff 62%,#f7f1ff);box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(70,40,130,.06)}
#bookingForm .tm-international-passwords[hidden],#bookingForm [data-international-state][hidden]{display:none!important}
#bookingForm .tm-password-heading{display:grid;gap:5px;margin-bottom:13px;color:#211644}.tm-password-heading b{font-size:15px}.tm-password-heading small{font-size:12px;line-height:1.55;color:#655b7a}
#bookingForm .tm-password-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#bookingForm .tm-password-grid .tm-field{margin:0}
#bookingForm .tm-booking-otp-hint{border:1px solid #e8d6a6!important;border-radius:17px!important;background:linear-gradient(135deg,#fff9e8,#fff 72%)!important;padding:15px 17px!important;box-shadow:0 8px 20px rgba(168,118,20,.055)!important;align-items:flex-start!important;gap:12px!important}
#bookingForm .tm-booking-otp-hint>span{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:linear-gradient(145deg,#fff,#ffedb9);border:1px solid #efcf75;color:#bc7800;font-size:18px;box-shadow:0 5px 12px rgba(180,126,14,.12)}
#bookingForm .tm-booking-otp-hint b{font-size:14px!important;color:#211644!important}#bookingForm .tm-booking-otp-hint small{font-size:13px!important;line-height:1.6!important;color:#5d5573!important}
#bookingForm .tm-field [disabled]{opacity:.65}
@media(max-width:760px){#bookingForm .tm-selected-puja{border-radius:20px!important}#bookingForm .tm-registration-grid{grid-template-columns:minmax(0,1fr)!important;gap:13px!important}#bookingForm .tm-field.full{grid-column:1!important}#bookingForm .tm-input-enhanced{min-height:51px!important;border-radius:14px!important}#bookingForm .tm-input-enhanced input,#bookingForm .tm-input-enhanced select{font-size:16px!important;min-height:47px!important}#bookingForm .tm-phone-dial{flex-basis:98px!important;width:98px!important;max-width:98px!important;font-size:13px!important}#bookingForm .tm-password-grid{grid-template-columns:minmax(0,1fr)!important;gap:13px!important}#bookingForm .tm-booking-otp-hint{padding:13px!important}}
@media(prefers-reduced-motion:reduce){#bookingForm .tm-input-enhanced{transition:none!important}}


/* Registration V2.0.0 — email/password alternative inside the existing OTP modal. */
.tm-reg-password-alt[hidden]{display:none!important}
.tm-reg-password-alt{position:relative;z-index:2;max-width:820px;margin:18px auto 8px;display:grid;grid-template-columns:1fr;gap:13px;text-align:left}
.tm-reg-alt-field{display:block;font-size:15px;font-weight:800;color:#15244c}
.tm-reg-alt-field input{display:block;width:100%;box-sizing:border-box;margin-top:7px;min-height:58px;padding:13px 16px;border:1.5px solid #e6ad2e;border-radius:13px;background:#fff;color:#0d1b4b;font:inherit;font-weight:500;outline-color:#8d21ff}
.tm-reg-alt-submit,.tm-reg-alt-cancel{min-height:56px;border-radius:13px;padding:12px 18px;font:inherit;font-weight:850;cursor:pointer}
.tm-reg-alt-submit{border:2px solid #f2b532;background:linear-gradient(110deg,#ffe17a,#ffb21d 55%,#e88900);color:#0d1b4b;box-shadow:0 7px 18px rgba(224,145,0,.2)}
.tm-reg-alt-cancel{border:1.5px solid #d5a3ff;background:#fff;color:#171d54}
@media(min-width:680px){.tm-reg-password-alt{grid-template-columns:1fr 1fr}.tm-reg-alt-field:first-child,.tm-reg-alt-submit,.tm-reg-alt-cancel{grid-column:1/-1}}
