:root {
    --dm-red-1: #ff163f;
    --dm-red-2: #ff2b54;
    --dm-text: #081b44;
    --dm-muted: #667693;
    --dm-border: #dbe3ef;
}
html,body{min-height:100%}
body{margin:0;background:#fff!important;overflow-x:hidden}
.dm-login-page,.dm-login-page *{box-sizing:border-box}
.dm-login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);background:#fff}
.dm-login-showcase{position:relative;min-height:100vh;overflow:hidden}.dm-login-showcase-image,.dm-login-showcase-overlay{position:absolute;inset:0}
.dm-login-showcase-image{background:url('../images/login/dokanmate-login-left-scene.jpg') left center/cover no-repeat}
.dm-login-showcase-overlay{background:linear-gradient(180deg,rgba(75,0,17,.16) 0%,rgba(75,0,17,.04) 28%,rgba(0,0,0,0) 55%),linear-gradient(90deg,rgba(38,0,8,.16) 0%,rgba(38,0,8,.06) 34%,rgba(38,0,8,0) 64%)}
.dm-showcase-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;width:min(68%,560px);margin-left:clamp(34px,6vw,88px);padding-top:clamp(30px,4.5vh,52px)}
.dm-brand-logo-wrap{max-width:min(100%,410px)}
.dm-brand-logo-light{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.18))}
.dm-welcome-copy{margin-top:clamp(24px,3.5vh,38px);max-width:430px}.dm-welcome-copy h2{margin:0 0 12px;color:#fff;font-size:clamp(42px,3.25vw,56px);line-height:1.02;font-weight:800;letter-spacing:-.045em;text-shadow:0 10px 22px rgba(0,0,0,.18)}.dm-welcome-copy p{margin:0;color:rgba(255,255,255,.97);font-size:clamp(17px,1.18vw,21px);line-height:1.38;text-shadow:0 8px 16px rgba(0,0,0,.12)}
.dm-login-panel{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px clamp(26px,4.5vw,72px);background:radial-gradient(circle at 50% 12%,rgba(255,23,56,.05),transparent 24%),linear-gradient(180deg,#fff 0%,#fcfdff 100%)}
.dm-login-card{width:min(100%,590px);display:flex;flex-direction:column;align-items:center}.dm-mobile-brand{display:none;width:100%;margin-bottom:18px;text-align:center}.dm-mobile-brand img{max-width:290px;width:78%;height:auto;object-fit:contain}
.dm-user-badge{margin-bottom:22px}.dm-user-badge-ring{width:146px;height:146px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 35%,#fff 0%,#fff7f8 62%,#ffeef1 100%);box-shadow:0 22px 42px rgba(255,66,92,.08),inset 0 0 0 1px rgba(255,41,73,.13)}.dm-user-badge-ring img{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(255,42,77,.22))}
.dm-login-heading{text-align:center;margin-bottom:30px}.dm-login-heading h2{margin:0 0 12px;color:var(--dm-text);font-size:clamp(34px,3vw,40px);line-height:1.15;font-weight:800;letter-spacing:-.035em}.dm-login-heading p{margin:0;color:var(--dm-muted);font-size:16px;line-height:1.75}
.dm-login-form{width:100%}.dm-field{width:100%;min-height:66px;display:flex;align-items:center;border:1.5px solid var(--dm-border);border-radius:14px;padding:0 20px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease;margin-bottom:18px}.dm-field:focus-within{border-color:rgba(255,23,56,.48);box-shadow:0 0 0 5px rgba(255,23,56,.07)}.dm-field-icon{width:28px;flex:0 0 28px;color:#6f7d96;font-size:25px;display:inline-flex;align-items:center;justify-content:flex-start}.dm-field input{flex:1 1 auto;min-width:0;width:100%;border:0!important;box-shadow:none!important;background:transparent!important;padding:0 12px 0 14px!important;height:64px!important;color:var(--dm-text)!important;font-size:17px!important;font-weight:500}.dm-field input::placeholder{color:#8c98ae!important;font-weight:400}
.dm-password-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;background:transparent;color:#7d8ba3;font-size:24px;padding:0;cursor:pointer}.dm-password-toggle:focus{outline:none}.dm-password-toggle .dm-eye-on{display:none}.dm-field-error{width:100%;margin-top:-8px;margin-bottom:14px;color:#e11d48;font-size:13px;font-weight:500}
.dm-login-options{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 0 22px}.dm-login-options a{color:#ff2348;font-size:15px;font-weight:700;text-decoration:none}.dm-login-options a:hover{color:#eb163d;text-decoration:none}
.dm-remember{display:inline-flex;align-items:center;gap:12px;cursor:pointer;user-select:none;color:#5e6b86;font-size:15px;font-weight:500}.dm-remember input{display:none}.dm-checkmark{width:26px;height:26px;border-radius:8px;border:1.5px solid #cfd8e6;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#fff;transition:all .2s ease}.dm-checkmark i{font-size:12px;opacity:0;transform:scale(.7);transition:all .2s ease}.dm-remember input:checked + .dm-checkmark{border-color:#ff2348;background:linear-gradient(135deg,var(--dm-red-2),var(--dm-red-1));box-shadow:0 8px 14px rgba(255,31,73,.2)}.dm-remember input:checked + .dm-checkmark i{opacity:1;transform:scale(1)}
.dm-login-button{width:100%;min-height:68px;border:0!important;border-radius:14px!important;display:inline-flex!important;align-items:center;justify-content:center;gap:16px;background:linear-gradient(90deg,#ff123b 0%,#ff2750 100%)!important;color:#fff!important;font-size:22px!important;font-weight:700!important;box-shadow:0 16px 32px rgba(255,31,73,.24);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.dm-login-button:hover,.dm-login-button:focus{color:#fff!important;transform:translateY(-1px);box-shadow:0 20px 36px rgba(255,31,73,.28);filter:saturate(1.03)}.dm-login-button i{font-size:22px}
.dm-social-divider{width:100%;display:flex;align-items:center;gap:12px;margin:24px 0 14px;color:#7a879c;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.dm-social-divider::before,.dm-social-divider::after{content:"";flex:1 1 auto;height:1px;background:#e6ebf3}.dm-social-divider span{white-space:nowrap}.dm-social-login{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dm-social-button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #d8e1ee;border-radius:12px;background:#fff;color:var(--dm-text);text-decoration:none;font-weight:600}.dm-social-button:hover{border-color:#c6d1e1;text-decoration:none;color:var(--dm-text)}.dm-social-button img{width:20px;height:20px;object-fit:cover}
.dm-powered{width:100%;display:flex;align-items:center;gap:16px;margin-top:36px}.dm-powered span{flex:1 1 auto;height:1px;background:#dce4f0}.dm-powered p{margin:0;white-space:nowrap;color:#66758e;font-size:15px}.dm-powered strong{color:var(--dm-text);font-weight:800}
@media (max-width:1200px){.dm-showcase-content{width:min(70%,500px);margin-left:32px}.dm-brand-logo-wrap{max-width:370px}.dm-welcome-copy{max-width:400px;margin-top:24px}.dm-welcome-copy h2{font-size:clamp(38px,3vw,48px)}.dm-welcome-copy p{font-size:clamp(16px,1.12vw,19px)}}
@media (min-width:992px) and (max-height:820px){.dm-showcase-content{padding-top:26px}.dm-brand-logo-wrap{max-width:350px}.dm-welcome-copy{margin-top:18px;max-width:390px}.dm-welcome-copy h2{font-size:40px;margin-bottom:10px}.dm-welcome-copy p{font-size:16px;line-height:1.35}}
@media (max-width:991.98px){.dm-login-page{grid-template-columns:1fr}.dm-login-showcase{display:none}.dm-login-panel{min-height:100vh;padding:32px 18px}.dm-mobile-brand{display:block}.dm-user-badge-ring{width:116px;height:116px}.dm-user-badge-ring img{width:68px;height:68px}}
@media (max-width:575.98px){.dm-login-panel{padding:26px 16px 30px}.dm-login-heading h2{font-size:30px}.dm-login-heading p{font-size:15px;line-height:1.65}.dm-field{min-height:60px;padding-inline:16px;border-radius:12px}.dm-field input{height:58px!important;font-size:16px!important;padding-left:12px!important}.dm-field-icon{width:24px;flex-basis:24px;font-size:22px}.dm-login-options{align-items:flex-start;flex-direction:column;margin-top:4px;margin-bottom:18px}.dm-login-options a,.dm-remember{font-size:14px}.dm-login-button{min-height:60px;font-size:20px!important}.dm-social-login{grid-template-columns:1fr}.dm-powered{gap:12px;margin-top:28px}.dm-powered p{font-size:13px;white-space:normal;text-align:center}}
