:root{font-family:Prompt,Noto Sans Thai,sans-serif;color:#fff;background:#2b2624;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--card-bg: rgba(47, 40, 38, .74);--card-border: rgba(255, 255, 255, .08);--input-border: #c6c5c4;--input-text: #6f6a66;--placeholder: #beb8b3;--button-start: #aa8750;--button-end: #744e1f}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}button,input{font:inherit}a{color:inherit;text-decoration:none}.auth-shell{position:relative;display:grid;min-height:100vh;overflow:hidden;place-items:center;isolation:isolate;padding:32px}.auth-shell__background,.auth-shell__overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.auth-shell__background{object-fit:cover}.auth-shell__overlay{background:linear-gradient(90deg,#221d1bad,#221d1b73 30%,#221d1b33),#403a3640}.auth-card{position:relative;z-index:1;width:min(620px,100%);min-height:760px;border:1px solid var(--card-border);border-radius:60px;background:var(--card-bg);box-shadow:0 0 10px #00000026;padding:50px 56px 40px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-card--superadmin{--button-start: #b98d47;--button-end: #6f4211}.auth-card--company{--button-start: #3b8c7d;--button-end: #1b5b50}.auth-card--employee{--button-start: #5f7bc2;--button-end: #314e8a}.auth-card__brand{display:flex;justify-content:center;margin-bottom:28px}.auth-card__brand-image{width:164px;height:164px;object-fit:contain}.auth-card__header{margin-bottom:28px}.auth-card__eyebrow{margin:0 0 8px;color:#ffffffb8;font-size:13px;font-weight:600;letter-spacing:.22em}.auth-card__title{margin:0 0 6px;font-size:34px;line-height:1.1}.auth-card__subtitle{margin:0;color:#ffffffc2;font-size:16px;line-height:1.6}.auth-form{width:100%}.auth-form__field{display:grid;gap:12px;margin-bottom:22px}.auth-form__label{font-size:18px;line-height:1.6}.auth-form__input{width:100%;height:52px;border:1.732px solid var(--input-border);border-radius:8.661px;background:#fff;color:var(--input-text);padding:0 18px;font-size:18px;outline:none}.auth-form__input::placeholder{color:var(--placeholder)}.auth-form__input:focus{border-color:#e9d7b0;box-shadow:0 0 0 4px #aa875026}.auth-form__password-wrap{position:relative;display:block}.auth-form__input--password{padding-right:56px}.auth-form__toggle{position:absolute;top:50%;right:14px;display:grid;width:28px;height:28px;border:0;background:transparent;padding:0;transform:translateY(-50%);place-items:center;cursor:pointer}.auth-form__eye{position:relative;width:18px;height:18px;border:1.6px solid #8d847d;border-radius:50%}.auth-form__eye:before{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;border-radius:50%;background:#8d847d;transform:translate(-50%,-50%)}.auth-form__submit{width:100%;height:61px;margin-top:10px;border:0;border-radius:8.661px;background:linear-gradient(180deg,var(--button-start) 0%,var(--button-end) 100%);color:#fff;font-size:20px;font-weight:500;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.auth-form__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #110f0e47;filter:brightness(1.03)}.auth-form__submit:disabled{opacity:.76;cursor:wait}.auth-feedback{min-height:132px;margin-top:18px}.auth-feedback__error,.auth-feedback__success{margin:0 0 12px;border-radius:16px;padding:12px 14px;font-size:14px;line-height:1.6}.auth-feedback__error{background:#99242452;color:#ffd6d6}.auth-feedback__success{background:#24825a4d;color:#ddffef}.auth-feedback__permissions{border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:14px 16px;background:#ffffff0d}.auth-feedback__permissions p{margin:0 0 10px;font-size:14px;font-weight:600}.auth-feedback__permissions ul{margin:0;padding-left:18px;color:#ffffffe0;font-size:14px;line-height:1.7}.auth-card__switcher{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.auth-card__switcher a{border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:10px 14px;color:#ffffffd1;font-size:13px}@media (max-width: 900px){.auth-shell{padding:20px}.auth-card{min-height:auto;border-radius:36px;padding:34px 24px}.auth-card__brand-image{width:120px;height:120px}.auth-card__title{font-size:28px}}
