/* Dodos Streaming access screen — the same type, colors and D used by both panels. */
body.sh-auth {
  --auth-bg:#f7f9fc; --auth-surface:#fff; --auth-field:#f0f4f8;
  --auth-text:#172033; --auth-muted:#63738a; --auth-line:#dce4ee;
  --auth-story-a:#0c1c29; --auth-story-b:#12313b;
  --auth-accent:#008881; --auth-accent-hover:#00746e;
  --auth-notice-bg:#edf7f3; --auth-notice-text:#176649;
  margin:0; min-height:100svh; display:grid; place-items:center;
  padding:24px 16px; overflow-x:hidden; background:var(--auth-bg)!important;
  color:var(--auth-text); font-family:var(--sh-font-sans,Arial,sans-serif)!important;
}
html[data-theme="dark"] body.sh-auth {
  --auth-bg:#09151f; --auth-surface:#142332; --auth-field:#182b3c;
  --auth-text:#f2f6fb; --auth-muted:#afc0d0; --auth-line:#304a5e;
  --auth-story-a:#0b1c28; --auth-story-b:#12313b;
  --auth-accent:#008a83; --auth-accent-hover:#009e94;
  --auth-notice-bg:#143a2e; --auth-notice-text:#a4efcc;
}
body.sh-auth *,body.sh-auth *::before,body.sh-auth *::after{box-sizing:border-box}
body.sh-auth::before{display:none}
body.sh-auth .auth-shell{
  width:min(1120px,100%); min-height:740px; display:grid;
  grid-template-columns:minmax(0,.455fr) minmax(0,.545fr);
  overflow:hidden; position:relative; isolation:isolate;
  border:1px solid var(--auth-line); border-radius:28px;
  background:var(--auth-surface); box-shadow:0 16px 54px #0b20300b;
  animation:dd-auth-arrive .42s cubic-bezier(.22,1,.36,1) both;
}
body.sh-auth .brand-panel{
  min-width:0; min-height:100%; padding:48px 40px 32px;
  display:flex; flex-direction:column; position:relative;
  background:linear-gradient(110deg,var(--auth-story-a),var(--auth-story-b));
  color:#f5f8fc; border:0;
}
body.sh-auth .brand-panel::before,body.sh-auth .brand-panel::after{display:none}
body.sh-auth .brand-lockup{
  display:flex; align-items:center; gap:18px; width:auto;
  color:#f5f8fc; text-decoration:none; align-self:flex-start;
}
body.sh-auth .brand-letter{display:flex;align-items:center;justify-content:center;width:65px;height:58px;flex:0 0 65px;margin:0}
body.sh-auth .brand-letter img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
body.sh-auth .brand-name{
  display:block; max-width:170px; margin:0;
  font:800 19px/1.12 var(--sh-font-sans,Arial,sans-serif);
  text-transform:uppercase; letter-spacing:.06em; color:#f5f8fc;
}
body.sh-auth .brand-message{margin:auto 0; padding:82px 0 108px;max-width:410px}
body.sh-auth .brand-message .eyebrow{
  display:flex; align-items:center; gap:15px; margin:0 0 25px;
  color:#b9c9d8; font-size:10px; font-weight:800; letter-spacing:.17em;
  line-height:1.5; text-transform:uppercase;
}
body.sh-auth .brand-message .eyebrow::before{content:"";display:block;flex:0 0 30px;width:30px;height:3px;background:#ff3039}
body.sh-auth .brand-message h1{
  margin:0; max-width:11ch; color:#f5f8fc;
  font-family:var(--sh-font-heading,Arial,sans-serif);font-size:clamp(43px,4.5vw,56px);
  font-weight:700; line-height:1.08; letter-spacing:-.052em;
}
body.sh-auth .brand-message > p:not(.eyebrow){margin:24px 0 0;max-width:370px;color:#b9c9d8;font-size:16px;font-weight:600;line-height:1.7}
body.sh-auth .brand-foot{margin:0;color:#8eabb9;font-size:11px;font-weight:600;letter-spacing:.02em}
body.sh-auth .form-panel{
  min-width:0; display:flex; flex-direction:column; position:relative;
  padding:40px 40px 26px; background:var(--auth-surface); color:var(--auth-text);
}
body.sh-auth .form-toolbar{display:flex;justify-content:flex-end;min-height:50px;margin:0 0 37px}
body.sh-auth .theme-toggle{
  width:50px; height:50px; display:grid; place-items:center; position:relative;
  margin:0; padding:0; border:1px solid var(--auth-line); border-radius:13px;
  color:var(--auth-muted); background:var(--auth-field); cursor:pointer;
  transition:color .18s,border-color .18s,transform .18s;
}
body.sh-auth .theme-toggle svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor}
body.sh-auth .theme-toggle:hover{color:var(--auth-text);border-color:var(--auth-muted)}
body.sh-auth .form-content{width:100%;margin:0; padding:0;align-self:stretch}
body.sh-auth .form-head{margin:0 0 28px}
body.sh-auth .form-head h2{
  margin:0; font-family:var(--sh-font-heading,Arial,sans-serif); font-size:clamp(29px,3.4vw,40px);
  font-weight:700; line-height:1.14; letter-spacing:-.052em;color:var(--auth-text);
}
body.sh-auth .form-head p{margin:17px 0 0;color:var(--auth-muted);font-size:14px;line-height:1.7}
body.sh-auth .alert{
  display:flex;align-items:flex-start;gap:10px;margin:0 0 22px;padding:15px 16px;
  border:1px solid var(--auth-line);border-radius:9px;font-size:13px;font-weight:500;line-height:1.55;
  animation:dd-auth-note .25s ease both;
}
body.sh-auth .alert svg{width:18px;height:18px;flex:0 0 18px;margin-top:1px}
body.sh-auth .alert.info{background:var(--auth-notice-bg);color:var(--auth-notice-text)}
body.sh-auth .alert.error{background:var(--sh-danger-bg,#fff0ee);color:var(--sh-danger,#b63229)}
body.sh-auth .alert.warning{background:var(--sh-warning-bg,#fff4dc);color:var(--sh-warning,#8b5c16)}
body.sh-auth #loginForm{display:grid;gap:24px}
body.sh-auth .field{display:grid;gap:10px}
body.sh-auth .field label{margin:0;color:var(--auth-text);font-size:14px;font-weight:750;line-height:1.4;letter-spacing:-.015em}
body.sh-auth .input-wrap{position:relative}
body.sh-auth .field input{
  width:100%;height:60px;margin:0;padding:0 53px 0 18px;
  border:1px solid var(--auth-line)!important;border-radius:11px;
  background:var(--auth-field)!important;color:var(--auth-text)!important;
  font:600 15px/1.4 var(--sh-font-sans,Arial,sans-serif);outline:none;box-shadow:none;
  transition:border-color .18s,box-shadow .18s;
}
body.sh-auth .field input::placeholder{color:var(--auth-muted);opacity:1}
body.sh-auth .field input:focus{border-color:var(--auth-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--auth-accent) 17%,transparent);transform:none}
body.sh-auth .field input:disabled{opacity:.55;cursor:not-allowed}
body.sh-auth .field-icon{position:absolute;right:23px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:var(--auth-muted);pointer-events:none}
body.sh-auth .password-toggle{
  position:absolute;right:9px;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border:0;border-radius:8px;padding:0;display:grid;place-items:center;
  color:var(--auth-muted);background:transparent;cursor:pointer;
}
body.sh-auth .password-toggle:hover{color:var(--auth-text);background:color-mix(in srgb,var(--auth-muted) 9%,transparent)}
body.sh-auth .password-toggle svg{position:absolute;width:21px;height:21px;transition:opacity .16s,transform .16s}
body.sh-auth .password-toggle .eye-off{opacity:0;transform:scale(.8)}
body.sh-auth .password-toggle.is-visible .eye{opacity:0;transform:scale(.8)}
body.sh-auth .password-toggle.is-visible .eye-off{opacity:1;transform:scale(1)}
body.sh-auth .keep-open{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--auth-muted);font-size:13px;line-height:1.6;margin:0;min-height:27px}
body.sh-auth .keep-open input{width:22px;height:22px;flex:0 0 22px;margin:0;accent-color:var(--auth-accent);cursor:pointer}
body.sh-auth .keep-open.is-disabled{opacity:.6;cursor:not-allowed}
body.sh-auth .captcha-wrap{display:flex;justify-content:center;max-width:100%;overflow:auto}
body.sh-auth .login-button{
  position:relative;display:inline-flex;justify-content:center;align-items:center;gap:12px;
  width:100%;min-height:58px;margin:0;padding:15px 20px;border:1px solid var(--auth-accent);
  border-radius:12px;background:var(--auth-accent)!important;color:#fff;box-shadow:none;
  font:750 15px/1.4 var(--sh-font-sans,Arial,sans-serif);cursor:pointer;
  transition:background .18s,transform .18s;
}
body.sh-auth .login-button svg{width:20px;height:20px;transition:transform .18s}
body.sh-auth .login-button::before,body.sh-auth .login-button::after{display:none}
body.sh-auth .login-button.loading{color:transparent;cursor:wait;opacity:.8}
body.sh-auth .login-button.loading > *{visibility:hidden}
body.sh-auth .login-button.loading::before{content:"";display:block;position:absolute;inset:auto;width:23px;height:23px;border:2px solid #ffffff66;border-top-color:#fff;border-radius:50%;animation:dd-auth-spin .75s linear infinite;background:none}
body.sh-auth .login-button:disabled:not(.loading){opacity:.55;cursor:not-allowed}
body.sh-auth .attempts{margin:0;color:var(--auth-muted);font-size:12px;text-align:center}
body.sh-auth .form-footer{margin-top:auto;padding:28px 0 0;border:0;text-align:center;color:var(--auth-muted);font-size:11px;line-height:1.7}
body.sh-auth :focus-visible{outline:3px solid var(--sh-focus,var(--auth-accent))!important;outline-offset:3px!important}
body.sh-auth .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.sh-auth .shake{animation:dd-auth-shake .28s ease}
@keyframes dd-auth-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes dd-auth-note{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes dd-auth-spin{to{transform:rotate(360deg)}}
@keyframes dd-auth-shake{25%,75%{transform:translateX(-3px)}50%{transform:translateX(3px)}}
@media(hover:hover) and (pointer:fine){body.sh-auth .login-button:hover:not(:disabled){background:var(--auth-accent-hover)!important;transform:translateY(-1px)}body.sh-auth .login-button:hover:not(:disabled) svg{transform:translateX(3px)}}
@media(max-width:1000px) and (min-width:761px){body.sh-auth .brand-panel{padding:38px 28px 26px}body.sh-auth .form-panel{padding:30px 28px 24px}body.sh-auth .brand-message h1{font-size:45px}body.sh-auth .brand-message > p:not(.eyebrow){font-size:15px}body.sh-auth .brand-name{font-size:17px}body.sh-auth .brand-lockup{gap:12px}}
@media(max-width:760px){
  body.sh-auth{display:block;padding:16px 12px 28px}
  body.sh-auth .auth-shell{display:block;width:min(100%,520px);min-height:0;margin:auto;border-radius:22px}
  body.sh-auth .brand-panel{min-height:0;padding:27px 26px 26px}
  body.sh-auth .brand-letter{width:49px;height:44px;flex-basis:49px}
  body.sh-auth .brand-name{font-size:16px;max-width:160px}
  body.sh-auth .brand-lockup{gap:14px}
  body.sh-auth .brand-message{margin:28px 0 0;padding:0;max-width:100%}
  body.sh-auth .brand-message .eyebrow{font-size:9px;gap:10px;margin-bottom:12px}
  body.sh-auth .brand-message .eyebrow::before{flex-basis:24px;width:24px;height:2px}
  body.sh-auth .brand-message h1{font-size:32px;line-height:1.15;max-width:16ch}
  body.sh-auth .brand-message > p:not(.eyebrow),body.sh-auth .brand-foot{display:none}
  body.sh-auth .form-panel{padding:23px 26px 25px}
  body.sh-auth .form-toolbar{min-height:40px;margin-bottom:18px}
  body.sh-auth .theme-toggle{width:40px;height:40px;border-radius:10px}
  body.sh-auth .theme-toggle svg{width:21px;height:21px}
  body.sh-auth .form-head h2{font-size:29px;line-height:1.17}
  body.sh-auth .form-head p{margin-top:13px;font-size:13px;line-height:1.6}
  body.sh-auth .form-head{margin-bottom:24px}
  body.sh-auth .field input{height:56px;font-size:16px}
  body.sh-auth #loginForm{gap:21px}
  body.sh-auth .form-footer{padding-top:26px}
}
@media(max-width:360px){body.sh-auth{padding-inline:9px}body.sh-auth .brand-panel,body.sh-auth .form-panel{padding-inline:20px}body.sh-auth .form-head h2{font-size:27px}body.sh-auth .brand-message h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){body.sh-auth *,body.sh-auth *::before,body.sh-auth *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
