:root{--dt-ink:#071019;--dt-ink-2:#0d1825;--dt-paper:#f5f7f9;--dt-line:#dce2e8;--dt-muted:#66717d;--dt-cyan:#72d9ee;--dt-white:#fff}
*{box-sizing:border-box}
body.dt-auth{margin:0;min-height:100vh;background:var(--dt-paper)!important;color:var(--dt-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.dt-auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)}
.dt-auth-brand{position:relative;overflow:hidden;min-height:100vh;padding:36px clamp(36px,6vw,96px);background:var(--dt-ink);color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.dt-auth-brand:after{content:"";position:absolute;width:56vw;height:56vw;min-width:600px;min-height:600px;border:1px solid rgba(114,217,238,.18);border-radius:50%;right:-30vw;bottom:-28vw;box-shadow:0 0 0 80px rgba(114,217,238,.025),0 0 0 160px rgba(114,217,238,.018)}
.dt-auth-logo{position:relative;z-index:1;display:inline-flex;width:max-content}.dt-auth-logo img{display:block;width:152px;height:auto;object-fit:contain}
.dt-auth-message{position:relative;z-index:1;max-width:710px;padding:72px 0}.dt-auth-kicker{display:flex;gap:10px;align-items:center;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:#b8c3ce}.dt-auth-kicker:before{content:"";width:22px;height:1px;background:var(--dt-cyan)}
.dt-auth-message h1{font-size:clamp(48px,6vw,92px);line-height:.94;letter-spacing:-.055em;font-weight:520;margin:22px 0 28px}.dt-auth-message h1 em{font-style:normal;color:var(--dt-cyan)}
.dt-auth-message p{max-width:560px;font-size:17px;line-height:1.65;color:#acb8c4;margin:0}
.dt-auth-foot{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#718092}.dt-auth-foot a{color:#c8d2db;text-decoration:none}
.dt-auth-panel{min-height:100vh;padding:34px clamp(28px,6vw,88px);display:flex;align-items:center;justify-content:center}
.dt-auth-card{width:min(100%,520px)}.dt-auth-card-header{position:static;width:auto;margin-bottom:38px}.dt-auth-card-header span{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--dt-muted);margin-bottom:14px}.dt-auth-card-header h2{font-size:38px;line-height:1.05;letter-spacing:-.035em;font-weight:570;margin:0 0 12px}.dt-auth-card-header p{color:var(--dt-muted);font-size:15px;line-height:1.6;margin:0}
.dt-auth-form{display:grid;gap:18px}.dt-field{display:grid;gap:8px}.dt-field>span{font-size:12px;font-weight:650;letter-spacing:.01em}.dt-field input{width:100%;height:54px;border:1px solid var(--dt-line);background:#fff;border-radius:12px;padding:0 15px;font-size:15px;color:var(--dt-ink);outline:none;transition:border-color .18s,box-shadow .18s}.dt-field input:focus{border-color:#7e8c9b;box-shadow:0 0 0 4px rgba(7,16,25,.06)}
.dt-password-wrap{position:relative;display:block}.dt-password-wrap input{padding-right:52px}.dt-password-toggle{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:0;border-radius:0;background:transparent;color:var(--dt-ink);cursor:pointer;display:grid;place-items:center;padding:0;margin:0;box-shadow:none;appearance:none;-webkit-appearance:none;transition:color .18s,opacity .18s}.dt-password-toggle:hover{background:transparent;color:#334555}.dt-password-toggle:active{transform:translateY(-50%);opacity:.72}.dt-password-toggle:focus,.dt-password-toggle:focus-visible{background:transparent;box-shadow:none;outline:2px solid #7e8c9b;outline-offset:3px}.dt-password-toggle svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.dt-password-toggle svg[hidden]{display:none!important}
.dt-submit{height:54px;border:0;border-radius:12px;background:var(--dt-ink);color:#fff;font-size:14px;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .18s,background .18s}.dt-submit:hover{background:#132235;transform:translateY(-1px)}.dt-submit:disabled{opacity:.55;cursor:wait;transform:none}
.dt-auth-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;padding-top:20px;border-top:1px solid var(--dt-line);font-size:13px;color:var(--dt-muted)}.dt-auth-meta a{color:var(--dt-ink);font-weight:700;text-decoration:none}.dt-auth-meta a:hover{text-decoration:underline}
.dt-auth-note{font-size:12px;line-height:1.55;color:var(--dt-muted);margin:2px 0 0}.dt-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.dt-strength{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:2px}.dt-strength i{height:3px;background:#dce2e8;border-radius:4px;transition:background .2s}.dt-strength[data-score="1"] i:nth-child(-n+1),.dt-strength[data-score="2"] i:nth-child(-n+2),.dt-strength[data-score="3"] i:nth-child(-n+3),.dt-strength[data-score="4"] i:nth-child(-n+4){background:#16283b}
.dt-auth-status{text-align:center}.dt-auth-status-icon{width:64px;height:64px;margin:0 auto 24px;border:1px solid var(--dt-line);border-radius:50%;display:grid;place-items:center;font-size:23px}.dt-auth-status h2{font-size:36px;letter-spacing:-.035em;margin:0 0 14px}.dt-auth-status p{color:var(--dt-muted);line-height:1.7;margin:0}.dt-auth-status .dt-submit{display:flex;align-items:center;justify-content:center;text-decoration:none;margin-top:26px}
@media(max-width:960px){.dt-auth-shell{grid-template-columns:1fr}.dt-auth-brand{min-height:auto;padding:26px 28px 34px}.dt-auth-message{padding:64px 0 44px}.dt-auth-message h1{font-size:clamp(44px,11vw,76px);max-width:720px}.dt-auth-panel{min-height:auto;padding:52px 28px 72px}.dt-auth-foot{display:none}}
@media(max-width:560px){.dt-auth-brand{padding:22px 20px 28px}.dt-auth-logo img{width:130px}.dt-auth-message{padding:50px 0 22px}.dt-auth-message h1{font-size:44px}.dt-auth-message p{font-size:15px}.dt-auth-panel{padding:42px 20px 60px;align-items:flex-start}.dt-auth-card-header h2,.dt-auth-status h2{font-size:32px}.dt-auth-meta{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* V6.5 · Auth verification / recovery */
body.dt-modal-open{overflow:hidden}
.dt-auth-modal{position:fixed;inset:0;z-index:1400;display:none;align-items:center;justify-content:center;padding:22px}
.dt-auth-modal.is-open{display:flex}
.dt-auth-modal-backdrop{position:absolute;inset:0;background:rgba(7,16,25,.66);backdrop-filter:blur(8px)}
.dt-auth-modal-card{position:relative;z-index:1;width:min(100%,520px);background:#fff;border:1px solid rgba(220,226,232,.9);border-radius:24px;padding:34px;box-shadow:0 28px 90px rgba(7,16,25,.24);outline:none}
.dt-auth-modal-mark{width:52px;height:52px;border-radius:16px;background:#eef8fa;color:var(--dt-ink);display:grid;place-items:center;margin-bottom:24px}
.dt-auth-modal-mark svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dt-auth-modal-kicker{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--dt-muted);margin-bottom:12px}
.dt-auth-modal-card h2{font-size:34px;line-height:1.05;letter-spacing:-.035em;font-weight:580;margin:0 0 14px}
.dt-auth-modal-card>p{font-size:14px;line-height:1.65;color:var(--dt-muted);margin:0 0 24px}.dt-auth-modal-card>p strong{color:var(--dt-ink);font-weight:700}
.dt-token-form{display:grid;gap:16px}.dt-token-field{display:grid;gap:8px}.dt-token-field>span{font-size:12px;font-weight:700}
.dt-token-field input{width:100%;height:64px;border:1px solid var(--dt-line);border-radius:14px;background:#f9fbfc;padding:0 18px;text-align:center;font-size:27px;font-weight:700;letter-spacing:.34em;color:var(--dt-ink);outline:none;font-variant-numeric:tabular-nums;transition:border-color .18s,box-shadow .18s,background .18s}
.dt-token-field input:focus{background:#fff;border-color:#7e8c9b;box-shadow:0 0 0 4px rgba(7,16,25,.06)}
.dt-auth-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--dt-line)}
.dt-auth-text-button{border:0;background:transparent;color:var(--dt-ink);font-size:12px;font-weight:700;padding:6px 0;cursor:pointer}.dt-auth-text-button:hover{text-decoration:underline}.dt-auth-text-button:disabled{opacity:.45;cursor:wait;text-decoration:none}
.dt-auth-modal-note{display:block;color:var(--dt-muted);font-size:12px;line-height:1.55;margin-top:14px}
.dt-recover-stage[hidden]{display:none!important}
.dt-auth-inline-link{display:flex;justify-content:flex-end;margin-top:-6px}.dt-auth-inline-link a{font-size:12px;color:var(--dt-muted);font-weight:650;text-decoration:none}.dt-auth-inline-link a:hover{color:var(--dt-ink);text-decoration:underline}
@media(max-width:560px){.dt-auth-modal{padding:14px}.dt-auth-modal-card{border-radius:20px;padding:26px 20px}.dt-auth-modal-card h2{font-size:29px}.dt-token-field input{height:60px;font-size:24px}.dt-auth-modal-actions{align-items:flex-start;flex-direction:column}}


/* V6.5.3 · password eye: icon only, vertically centered */
.dt-password-wrap{position:relative!important}
.dt-password-wrap input{padding-right:52px!important}
.dt-password-toggle{position:absolute!important;right:16px!important;top:50%!important;transform:translateY(-50%)!important;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--dt-ink)!important;display:grid!important;place-items:center!important;appearance:none!important;-webkit-appearance:none!important}
.dt-password-toggle:hover,.dt-password-toggle:active,.dt-password-toggle:focus{background:transparent!important;box-shadow:none!important}
.dt-password-toggle:active{transform:translateY(-50%)!important}
.dt-password-toggle svg{display:block!important;width:20px!important;height:20px!important}
.dt-password-toggle svg[hidden]{display:none!important}

/* V6.5.4 · password eye: remove persistent browser focus rectangle */
button.dt-password-toggle,
button.dt-password-toggle:hover,
button.dt-password-toggle:active,
button.dt-password-toggle:focus,
button.dt-password-toggle:focus-visible {
    outline: 0 !important;
    outline-offset: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
}
button.dt-password-toggle::-moz-focus-inner {
    border: 0 !important;
    padding: 0 !important;
}
/* Keep a subtle keyboard-focus cue without drawing a box around the icon. */
button.dt-password-toggle:focus-visible svg {
    opacity: .72;
}
