/* CP56. Login-only styles; existing admin and garment surfaces are unaffected. */
.dyo-login{--login-ink:#172338;--login-muted:#6b788c;--login-line:#dfe5ee;--login-red:#d9232e;padding:0;margin:0;width:100%;height:auto;display:grid;grid-template-columns:minmax(360px,.94fr) minmax(460px,1.06fr);min-height:100vh;min-height:100dvh;background:#f8f9fc;color:var(--login-ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5;color-scheme:light}
.dyo-login *,.dyo-login *::before,.dyo-login *::after{box-sizing:border-box}
.dyo-login a{text-decoration:none}
.dyo-login button,.dyo-login input{font-family:inherit}
.dyo-login :is(a,button,input):focus-visible{outline:3px solid #d9232e66;outline-offset:4px}
.dyo-login-story{position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;padding:40px clamp(32px,5vw,80px);background:#111e31;color:#fff}
.dyo-login-story::before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 95% 65%,#304a6970,transparent 65%),linear-gradient(130deg,transparent 55%,#ffffff03 55%,#ffffff03 73%,transparent 73%)}
.dyo-login-brand{display:flex;align-items:center;gap:12px;max-width:100%;width:fit-content;color:#fff}
.dyo-login-brand:hover{color:#fff}
.dyo-login-mark{display:grid;place-items:center;flex:none;width:42px;height:46px;border-radius:11px;background:var(--login-red);box-shadow:0 8px 24px #0002}
.dyo-login-mark svg{width:34px;height:34px}
.dyo-login-brand strong{display:block;color:#fff;font-size:19px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.dyo-login-brand small{display:block;font-size:9px;letter-spacing:.2em;color:#95a8c1;margin-top:5px;font-weight:700}
.dyo-login-story-content{display:flex;flex:1;flex-direction:column;justify-content:center;padding-top:66px;max-width:480px;margin:auto;width:100%}
.dyo-login-eyebrow{display:flex;align-items:center;gap:9px;font-size:9px;font-weight:700;letter-spacing:.18em;color:#a8b9cd;margin:0 0 21px}
.dyo-login-eyebrow>span{height:5px;width:5px;background:#ed5a64;border-radius:50%}
.dyo-login-story h2{font-family:inherit;font-weight:750;font-size:clamp(40px,4.3vw,68px);letter-spacing:-.055em;line-height:1.08;margin:0 0 23px;color:#fff}
.dyo-login-story h2>span{color:#ef5865}
.dyo-login-story-copy{max-width:320px;font-size:13px;line-height:1.8;color:#9eafc5;margin:0}
.dyo-login-art{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:300px;margin:23px auto 10px;isolation:isolate}
.dyo-login-shirt{width:275px;height:255px;filter:drop-shadow(0 14px 13px #0003);animation:dyo-login-float 9s ease-in-out 2 both}
.dyo-login-orbit{position:absolute;border:1px solid #92abc016;width:280px;height:280px;border-radius:50%;z-index:-1}
.dyo-login-orbit-two{width:350px;height:350px;border-style:dashed;border-color:#92abc012}
.dyo-login-art-tag{position:absolute;right:0;bottom:28px;display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid #ffffff16;border-radius:8px;background:#17283ded;box-shadow:0 8px 20px #0002;color:#d4deeb;font-size:10px}
.dyo-login-dot{width:5px;height:5px;border-radius:50%;background:#69b99b}
.dyo-login-story-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff13;padding-top:20px;color:#8193aa;font-size:10px}
.dyo-login-panel{display:flex;flex-direction:column;position:relative;padding:36px clamp(30px,6vw,100px) 25px;min-width:0;background:linear-gradient(140deg,#fff,#fafbfe)}
.dyo-login-back{display:inline-flex;align-items:center;align-self:flex-end;gap:9px;font-size:11px;color:#718096;line-height:1.5;padding:7px 0;transition:color .15s}
.dyo-login-back:hover{color:var(--login-red)}
.dyo-login-back>span{font-size:18px;line-height:1}
.dyo-login-form-wrap{margin:auto;width:100%;max-width:400px;padding:38px 0 34px;animation:dyo-login-in .5s ease-out both}
.dyo-login-lock{display:grid;place-items:center;width:49px;height:49px;border:1px solid #f7dfe2;border-radius:14px;background:#fff1f2;color:var(--login-red);margin-bottom:23px}
.dyo-login-kicker{font-size:9px;letter-spacing:.17em;font-weight:750;color:var(--login-muted);margin:0 0 10px}
.dyo-login h1{font-family:inherit;font-weight:750;font-size:34px;line-height:1.2;letter-spacing:-.045em;color:var(--login-ink);margin:0 0 10px}
.dyo-login-intro{color:var(--login-muted);font-size:12px;margin:0 0 30px;line-height:1.7}
.dyo-login-field{margin-bottom:19px}
.dyo-login-field>label{display:block;position:static;font-size:11px;font-weight:700;color:#39465b;margin:0 0 8px;line-height:1.5;transform:none}
.dyo-login .dyo-login-field input{display:block;appearance:none;box-sizing:border-box;width:100%;height:49px;padding:0 14px;border:1px solid var(--login-line);border-radius:8px;background:#fff;color:var(--login-ink);font-size:13px;line-height:normal;margin:0;outline:none;box-shadow:0 1px 2px #17233803;transition:border-color .16s,box-shadow .16s}
.dyo-login .dyo-login-field input::placeholder{color:#a0a9b7;font-size:12px;opacity:1}
.dyo-login .dyo-login-field input:focus{border-color:#d9232e;box-shadow:0 0 0 3px #d9232e10}
.dyo-login .dyo-login-field input[aria-invalid=true]{border-color:#d9232e}
.dyo-login .dyo-login-field input:disabled{background:#f7f9fc;color:#748196}
.dyo-login-field-error{display:block;color:#ba2331;font-size:11px;margin-top:6px}
.dyo-login-options{display:grid;gap:15px;margin:25px 0}
.dyo-login-option{-webkit-tap-highlight-color:transparent;display:flex;align-items:flex-start;gap:11px;cursor:pointer;color:var(--login-ink);font-size:12px;line-height:1.45;padding:0}
.dyo-login .dyo-login-option input[type=checkbox]{position:static;opacity:1;pointer-events:auto;appearance:auto;accent-color:var(--login-red);height:17px;width:17px;min-width:17px;margin:2px 0 0;cursor:pointer;border-radius:4px}
.dyo-login .dyo-login-option>span{height:auto;padding:0;line-height:1.45;font-size:12px;user-select:none}
.dyo-login .dyo-login-option>span::before,.dyo-login .dyo-login-option>span::after{display:none!important;content:none!important}
.dyo-login-option strong{display:block;font-size:11px;font-weight:600;color:#39465b}
.dyo-login-option small{display:block;font-size:10px;color:#8590a1;margin-top:3px}
.dyo-login .dyo-login-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:49px;padding:12px 18px;border:1px solid var(--login-red);border-radius:8px;background:var(--login-red);color:#fff;font-size:12px;line-height:1.3;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #d9232e20;transition:background .16s,box-shadow .16s,transform .16s}
.dyo-login .dyo-login-submit:hover:not(:disabled){background:#bd1d29;border-color:#bd1d29;box-shadow:0 9px 20px #d9232e28;transform:translateY(-1px)}
.dyo-login .dyo-login-submit:disabled{cursor:wait;opacity:.72;transform:none}
.dyo-login-submit-arrow{margin-left:auto;font-size:19px;line-height:1}
.dyo-login-submit>span:first-child:not(.dyo-login-spinner){margin-left:auto}
.dyo-login-spinner{width:15px;height:15px;border:2px solid #ffffff60;border-top-color:#fff;border-radius:50%;animation:dyo-login-spin .7s linear infinite}
.dyo-login-security{display:flex;align-items:center;justify-content:center;gap:7px;color:#8b96a6;font-size:9px;line-height:1.65;margin:17px 0 0}
.dyo-login-security svg{flex:none}
.dyo-login-notice,.dyo-login-error{padding:11px 13px;border-radius:8px;font-size:11px;line-height:1.7;margin:0 0 20px;overflow-wrap:anywhere}
.dyo-login-notice{background:#eef4fc;border:1px solid #d9e4f5;color:#47617e}
.dyo-login-error{background:#fff0f1;border:1px solid #f4cfd4;color:#ac2331}
.dyo-login-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid #e9edf3;color:#9aa3b1;font-size:9px}
.dyo-login-footer>span:first-child{font-weight:700;overflow-wrap:anywhere}
@keyframes dyo-login-in{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes dyo-login-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(0)}}
@keyframes dyo-login-spin{to{transform:rotate(360deg)}}
@media(min-width:1600px){.dyo-login-story-content{padding-top:80px;padding-bottom:30px}.dyo-login-art{height:340px;margin-top:40px}.dyo-login-shirt{width:310px;height:285px}}
@media(max-width:980px){.dyo-login{grid-template-columns:minmax(290px,.85fr) minmax(390px,1fr)}.dyo-login-story{padding:30px}.dyo-login-panel{padding:25px 35px}.dyo-login-story h2{font-size:45px}.dyo-login-story-bottom{flex-direction:column;gap:3px}.dyo-login-art-tag{right:-4px}.dyo-login-story-content{padding-top:48px}}
@media(max-width:720px){.dyo-login{display:block;background:#fafbfe}.dyo-login-story{padding:22px 24px;min-height:0}.dyo-login-brand strong{font-size:17px}.dyo-login-brand small{font-size:8px}.dyo-login-mark{width:35px;height:38px}.dyo-login-mark svg{width:29px;height:29px}.dyo-login-story-content{display:none}.dyo-login-panel{padding:18px 24px 22px;min-height:calc(100vh - 82px);min-height:calc(100dvh - 82px)}.dyo-login-back{font-size:10px}.dyo-login-form-wrap{padding:20px 0 30px;max-width:410px}.dyo-login-lock{width:43px;height:43px;margin-bottom:20px;border-radius:12px}.dyo-login h1{font-size:31px}.dyo-login-intro{margin-bottom:26px}.dyo-login .dyo-login-field input{font-size:16px}.dyo-login-options{gap:17px}.dyo-login-option strong{font-size:12px}.dyo-login-option small{font-size:10px}.dyo-login .dyo-login-submit{font-size:13px}.dyo-login-footer{padding-top:17px}.dyo-login-security{font-size:9px}}
@media(prefers-reduced-motion:reduce){.dyo-login *,.dyo-login *::before,.dyo-login *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
