/* Dedicated frontend page. Local system fonts; no remote CSS or font requests. */
html:has(body.tdm-portal){margin:0!important;min-height:100%;background:#f3f7f8}
body.tdm-portal{--tdm-ink:#172d35;--tdm-muted:#63757d;--tdm-line:#dfe9eb;--tdm-primary:#087d79;--tdm-primary-dark:#066662;--tdm-soft:#e8f5f2;margin:0!important;padding:0;min-width:280px;min-height:100vh;min-height:100dvh;background:#f3f7f8;color:var(--tdm-ink);font:14px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,"Noto Sans Thai",sans-serif;-webkit-font-smoothing:antialiased}
.tdm-portal *,.tdm-portal *:before,.tdm-portal *:after{box-sizing:border-box}
.tdm-portal [hidden]{display:none!important}
.tdm-portal a{color:var(--tdm-primary)}
.tdm-portal a:focus-visible,.tdm-portal button:focus-visible,.tdm-portal input:focus-visible{outline:3px solid #4ba99e;outline-offset:3px}
.tdm-portal .tdm-root{width:min(1560px,calc(100% - 72px));max-width:none;margin:29px auto 0;padding-bottom:24px}
.tdm-portal .tdm-topline{margin-bottom:30px}
.tdm-portal .tdm-heading{margin-bottom:27px}
.tdm-portal .tdm-top-actions .tdm-button--quiet{color:#607a82}
.tdm-portal .tdm-modal{line-height:1.6}
.tdm-login-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 24px 32px;background:radial-gradient(ellipse at 50% 8%,#dff1ed 0,transparent 50%),linear-gradient(180deg,#f4f9f8 0,#f2f6f7 100%)}
.tdm-login-brand{display:flex;align-items:center;justify-content:center;gap:10px;color:#34656a;font-size:11px;font-weight:750;letter-spacing:1.5px;line-height:1.5;margin-bottom:30px;text-decoration:none}
.tdm-login-brand .tdm-brand-icon{display:flex;align-items:center;justify-content:center;background:var(--tdm-primary);color:#fff;width:36px;height:36px;border-radius:11px;letter-spacing:0}
.tdm-login-brand svg,.tdm-login-brand .tdm-icon{width:21px;height:21px}
.tdm-login-card{width:100%;max-width:440px;padding:32px 34px 30px;background:#fff;border:1px solid #dce8e8;border-radius:17px;box-shadow:0 14px 45px #2149430a,0 2px 6px #21494304}
.tdm-login-card h1,.tdm-login-card h2,.tdm-login-card p{margin:0}
.tdm-login-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.3px;color:var(--tdm-primary);margin-bottom:9px!important}
.tdm-login-title,.tdm-login-card h1{font-size:25px;font-weight:700;line-height:1.45;color:#193b42;letter-spacing:-.4px;margin-bottom:8px!important}
.tdm-login-description{font-size:13px;line-height:1.85;color:#6c838a;margin-bottom:25px!important}
.tdm-login-form{margin:0;display:flex;flex-direction:column;gap:19px}
.tdm-login-field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#41616a;font-weight:600;min-width:0}
.tdm-login-field label{font:inherit;color:inherit}
.tdm-login-field input[type=text],.tdm-login-field input[type=email],.tdm-login-field input[type=password],.tdm-login-form input[type=text],.tdm-login-form input[type=email],.tdm-login-form input[type=password]{display:block;box-sizing:border-box;width:100%;min-height:45px;padding:11px 13px;border:1px solid #cbdcdf;border-radius:8px;background:#fff;box-shadow:0 1px 2px #183f4703;color:#24454c;font:400 14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,"Noto Sans Thai",sans-serif;transition:border-color .15s,box-shadow .15s}
.tdm-login-form input::placeholder{color:#9aadb2;opacity:1}
.tdm-login-form input:focus{border-color:var(--tdm-primary);box-shadow:0 0 0 3px #087d7910;outline:none}
.tdm-login-password{position:relative}
.tdm-login-password input{padding-right:64px!important}
.tdm-password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);min-width:44px;min-height:32px;border:0;background:transparent;color:#65838b;padding:5px 7px;font-family:inherit;font-size:11px;line-height:1.5;cursor:pointer;border-radius:5px}
.tdm-password-toggle:hover{background:#f0f6f5;color:#286b66}
.tdm-login-options{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;margin:-1px 0 1px}
.tdm-login-options a{color:#628187;text-decoration:none;font-size:11px}
.tdm-login-options a:hover{text-decoration:underline}
.tdm-login-remember{display:flex;align-items:center;gap:7px;color:#70858c;cursor:pointer;font-size:11px}
.tdm-login-remember input[type=checkbox]{width:16px;height:16px;accent-color:var(--tdm-primary);margin:0;border-radius:4px}
.tdm-login-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;border:1px solid var(--tdm-primary);border-radius:8px;background:var(--tdm-primary);color:#fff;padding:11px 15px;font:650 14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,"Noto Sans Thai",sans-serif;box-shadow:0 2px 4px #087d7910;cursor:pointer;transition:background .15s,border-color .15s}
.tdm-login-submit:hover{background:var(--tdm-primary-dark);border-color:var(--tdm-primary-dark)}
.tdm-login-card a.tdm-login-submit{color:#fff;text-decoration:none;text-align:center}
.tdm-login-submit:disabled{opacity:.65;cursor:wait}
.tdm-login-message{background:#eef8f4;color:#386c5a;border:1px solid #d4eade;border-radius:8px;padding:11px 13px;font-size:12px;line-height:1.8;margin:18px 0!important;overflow-wrap:anywhere}
.tdm-login-message--error{background:#fff3ee;color:#98513d;border-color:#efd9ce}
.tdm-login-message--success{background:#eef8f4;color:#386c5a;border-color:#d4eade}
.tdm-login-card>.tdm-login-message:first-child{margin-top:0!important}
.tdm-login-footer{width:100%;max-width:440px;padding:21px 8px 0;color:#879a9f;font-size:11px;line-height:1.85;text-align:center}
.tdm-login-footer p{margin:0 0 5px}
.tdm-login-footer a{color:#6b8e91;text-decoration:none}
.tdm-login-footer a:hover{text-decoration:underline}
.tdm-login-site{max-width:440px;margin:21px 0 0;padding:0 12px;color:#829a9f;font-size:11px;line-height:1.8;text-align:center;overflow-wrap:anywhere}
.tdm-login-card .tdm-button{margin-top:16px;display:inline-flex;text-decoration:none;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid #ccdede;border-radius:7px;background:#f7fbfa;color:var(--tdm-primary);font-size:13px;font-weight:600}
.tdm-login-card .tdm-button--primary{background:var(--tdm-primary);border-color:var(--tdm-primary);color:#fff}
.tdm-login-divider{height:1px;background:#e6efef;margin:24px 0 18px}
.tdm-login-caption{font-size:11px!important;color:#8ba0a5;line-height:1.8;margin-top:20px!important;text-align:center}
.tdm-portal-noscript{max-width:600px;margin:30px auto;padding:18px 22px;background:#fff6ed;border:1px solid #edddca;border-radius:10px;color:#84664b;font-size:13px;line-height:1.8}
@media(max-width:1100px){.tdm-portal .tdm-root{width:calc(100% - 44px);margin-top:23px}}
@media(max-width:782px){.tdm-portal .tdm-root{width:calc(100% - 30px);margin-top:18px}.tdm-portal .tdm-topline{margin-bottom:22px}.tdm-portal .tdm-heading{margin-bottom:22px}.tdm-login-shell{padding:35px 20px 25px}.tdm-login-brand{margin-bottom:24px}}
@media(max-width:600px){.tdm-portal .tdm-root{width:calc(100% - 24px);margin-top:17px}.tdm-portal .tdm-topline{padding-bottom:12px;margin-bottom:21px}.tdm-portal .tdm-top-actions{row-gap:8px}.tdm-portal .tdm-top-actions .tdm-button{padding:4px 5px;font-size:11px}.tdm-portal .tdm-brand{font-size:9px;letter-spacing:1px}.tdm-portal .tdm-heading h1{font-size:23px}.tdm-portal .tdm-portal-account{margin-left:auto}.tdm-portal .tdm-portal-logout{margin-left:2px}.tdm-login-shell{padding:28px 17px 25px}.tdm-login-brand{font-size:10px;letter-spacing:1.1px;margin-bottom:23px}.tdm-login-card{max-width:410px;padding:27px 23px 25px;border-radius:14px}.tdm-login-title,.tdm-login-card h1{font-size:23px}.tdm-login-description{font-size:12px;margin-bottom:22px!important}.tdm-login-form{gap:17px}.tdm-login-field{font-size:12px}.tdm-login-field input[type=text],.tdm-login-field input[type=email],.tdm-login-field input[type=password],.tdm-login-form input[type=text],.tdm-login-form input[type=email],.tdm-login-form input[type=password]{min-height:46px;font-size:16px}.tdm-login-submit{font-size:14px;min-height:47px}.tdm-login-options,.tdm-login-options a,.tdm-login-remember{font-size:11px}.tdm-login-footer{font-size:10px;padding-top:20px}.tdm-login-card .tdm-button{font-size:12px}.tdm-portal .tdm-footer{line-height:1.8}}
@media(prefers-reduced-motion:reduce){.tdm-login-form input,.tdm-login-submit{transition:none}}
