/* Darupayesh Stage 10.8 V5 — full-page, actual Django authentication page. */
:root { --dl-navy:#0a3456; --dl-dark:#0b2f4d; --dl-teal:#00afa8; --dl-text:#123956; --dl-muted:#698298; }
*,*::before,*::after { box-sizing:border-box; }
html { min-height:100%; }
body.dl-page { margin:0; min-height:100vh; font-family:Vazirmatn,IRANSansX,Tahoma,"Segoe UI",sans-serif; color:#fff; background:#0c3557; overflow-x:hidden; }
.dl-backdrop,.dl-backdrop-shade { position:fixed; inset:0; pointer-events:none; }
.dl-backdrop { background-image:url('../branding/darupayesh-login-fullscreen.jpg'); background-position:center center; background-repeat:no-repeat; background-size:cover; z-index:0; }
.dl-backdrop-shade { z-index:1; background:linear-gradient(90deg,rgba(5,35,63,.31) 0%,rgba(6,42,67,.32) 48%,rgba(12,54,80,.13) 76%,rgba(8,41,66,.25) 100%); }
.dl-shell { position:relative;z-index:2;min-height:100vh;padding:clamp(22px,3vw,42px) clamp(22px,5vw,90px) clamp(20px,2.8vw,35px);display:grid;grid-template-columns:minmax(380px,.89fr) minmax(0,1.11fr);grid-template-rows:1fr;gap:clamp(28px,4.8vw,82px);align-items:center;direction:rtl; }
.dl-back-link {position:absolute;top:clamp(18px,2.7vw,34px);right:clamp(20px,5vw,90px);display:inline-flex;gap:9px;align-items:center;color:#f6ffff;text-decoration:none;font-size:13px;font-weight:750;border:1px solid rgba(255,255,255,.25);padding:9px 13px;border-radius:999px;background:rgba(7,48,82,.3);backdrop-filter:blur(8px);transition:background .15s;}
.dl-back-link:hover {background:rgba(5,65,94,.7)} .dl-back-link svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.dl-login-column { width:100%; display:flex;justify-content:center;align-items:center; padding-top:45px; }
.dl-login-card { width:min(100%,472px); padding:clamp(25px,2.5vw,41px); background:rgba(249,252,255,.94);border:1px solid rgba(255,255,255,.7);color:var(--dl-text);border-radius:26px;box-shadow:0 28px 80px rgba(1,28,48,.3),0 2px 12px rgba(0,48,88,.1);backdrop-filter:blur(21px); }
.dl-login-header {display:flex;align-items:center;justify-content:center;gap:12px;text-align:right;}
.dl-mark {width:70px;height:70px;object-fit:contain;flex:none;filter:drop-shadow(0 5px 9px rgba(9,96,121,.13));}
.dl-login-logo-copy strong {display:block;font-size:31px;font-weight:850;line-height:1.5;color:var(--dl-navy);}
.dl-login-logo-copy span {display:block;font-size:11px;color:#607d92;line-height:1.6;}
.dl-header-rule {height:1px;background:#d9e6ee;margin:18px 0 25px;}
.dl-login-card h1 {font-size:clamp(22px,2.1vw,27px);line-height:1.6;margin:0;color:#0b3554;font-weight:850;text-align:center;}
.dl-login-hint {text-align:center;color:var(--dl-muted);font-size:12px;line-height:1.9;margin:7px 0 24px;}
.dl-alert {margin:0 0 15px;padding:12px 13px;background:#fff1f2;border:1px solid #ecc0c6;border-radius:11px;color:#a53440;font-size:12px;line-height:1.85;}
.dl-form {display:grid;gap:16px;}
.dl-field {display:grid;gap:7px;}
.dl-field label {color:#244a67;font-size:12px;font-weight:800;}
.dl-input-wrap {position:relative;display:flex;align-items:center;}
.dl-input-wrap>svg {position:absolute;right:15px;width:20px;height:20px;fill:none;stroke:#7c98ad;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;}
.dl-input-wrap input {height:53px;width:100%;min-width:0;border:1px solid #cadce8;border-radius:12px;background:rgba(237,245,252,.91);font:inherit;font-size:13px;color:#123956;padding:0 46px 0 45px;direction:rtl;outline:none;transition:border-color .15s,box-shadow .15s;}
.dl-input-wrap input::placeholder {color:#91a6b8;}
.dl-input-wrap input:focus {border-color:#2cbcb8;box-shadow:0 0 0 4px rgba(10,179,168,.11);background:white;}
.dl-reveal {position:absolute;left:8px;width:34px;height:34px;border:0;border-radius:9px;background:transparent;cursor:pointer;color:#69869a;display:grid;place-items:center;}
.dl-reveal:hover {background:#dfeff4;color:#087b88;}
.dl-reveal svg {width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;}
.dl-submit {min-height:53px;width:100%;margin-top:3px;border:0;border-radius:12px;cursor:pointer;background:linear-gradient(105deg,#0c5886,#03b0a7);color:white;font:inherit;font-size:15px;font-weight:850;box-shadow:0 13px 26px rgba(6,127,148,.22);display:flex;align-items:center;justify-content:center;gap:15px;transition:transform .15s,filter .15s;}
.dl-submit:hover {filter:brightness(1.05);transform:translateY(-1px)}
.dl-submit span {font-size:23px;line-height:1;}
.dl-public-note {border-top:1px solid #d9e6ed;margin-top:24px;padding-top:16px;text-align:center;}
.dl-public-note strong {display:block;font-size:12px;color:#234b69;font-weight:850;}
.dl-public-note p {font-size:11px;color:#728ca2;line-height:1.9;margin:7px 0;}
.dl-public-note a {font-size:12px;color:#087e9c;font-weight:850;text-decoration:none;}
.dl-public-note a:hover {text-decoration:underline;}
.dl-intro-column {direction:rtl;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;position:relative;padding:90px 0 120px;color:#fff;}
.dl-intro-content {max-width:750px;text-align:right;text-shadow:0 3px 14px rgba(0,20,49,.27);}
.dl-kicker {display:inline-block;padding:8px 14px;border:1px solid rgba(183,250,250,.24);border-radius:50px;background:rgba(6,55,79,.3);font-size:12px;color:#d8fcfa;font-weight:700;}
.dl-brand-heading {font-weight:900;font-size:clamp(47px,5vw,82px);line-height:1.25;letter-spacing:-1px;margin-top:22px;}
.dl-brand-caption {color:#dff6fa;font-size:clamp(16px,1.65vw,23px);font-weight:700;margin-top:2px;}
.dl-accent-rule {height:4px;width:84px;border-radius:8px;background:#04c4bb;margin:29px 0 28px;box-shadow:0 1px 14px rgba(0,200,210,.6);}
.dl-intro-content h2 {font-size:clamp(24px,2.5vw,37px);font-weight:820;line-height:1.7;margin:0 0 16px;color:#fff;}
.dl-intro-content p {font-size:clamp(12px,1.1vw,15px);line-height:2.2;color:#e9f7fb;max-width:660px;margin:0;}
.dl-institutions {position:absolute;left:0;bottom:0;direction:rtl;display:flex;align-items:center;justify-content:space-evenly;gap:13px;max-width:min(100%,670px);width:100%;min-height:90px;padding:12px 20px;border:1px solid rgba(255,255,255,.31);border-radius:19px;background:rgba(241,249,255,.82);backdrop-filter:blur(12px);box-shadow:0 10px 25px rgba(4,30,54,.12);}
.dl-institution {display:flex;align-items:center;gap:9px;min-width:0;color:#1b3e57;font-size:11px;line-height:1.65;font-weight:850;}
.dl-institution:first-child {flex:1.15;}
.dl-institution:last-child {flex:.85;}
.dl-institution img {width:54px;height:54px;object-fit:contain;flex:none;}
.dl-institution span {white-space:normal;}
.dl-institution-divider {width:1px;height:50px;background:#c7d8e5;flex:none;}
a:focus-visible,button:focus-visible {outline:3px solid #35cfc3;outline-offset:3px;}
@media(max-width:1150px){.dl-shell{grid-template-columns:minmax(370px,0.95fr) minmax(0,1.05fr);gap:35px;padding-inline:32px}.dl-institution{font-size:10px}.dl-institution img{width:43px;height:43px}}
@media(max-width:920px){.dl-shell{grid-template-columns:1fr;gap:25px;padding:78px 20px 22px;min-height:100vh}.dl-login-column{padding-top:12px;order:1}.dl-intro-column{order:2;align-self:auto;text-align:center;padding:8px 0 0;min-height:0}.dl-intro-content{max-width:650px;margin:0 auto;text-align:center}.dl-brand-heading{font-size:40px;margin-top:2px}.dl-brand-caption{font-size:14px}.dl-kicker,.dl-intro-content h2,.dl-intro-content p,.dl-accent-rule{display:none}.dl-institutions{position:static;max-width:600px;margin:15px auto 0}.dl-back-link{right:20px;top:16px}.dl-login-card{max-width:540px}}
@media(max-width:520px){.dl-shell{padding:66px 14px 16px}.dl-login-card{padding:23px 18px;border-radius:20px}.dl-mark{height:56px;width:56px}.dl-login-logo-copy strong{font-size:26px}.dl-login-card h1{font-size:22px}.dl-input-wrap input{height:50px}.dl-intro-column{display:none}.dl-back-link{font-size:11px;padding:7px 10px}.dl-backdrop-shade{background:linear-gradient(120deg,rgba(5,36,65,.50),rgba(6,53,79,.29))}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}
