:root{
  --vudp-accent:#d6a73b;
  --vudp-border:rgba(255,210,100,.35);
  --vudp-bg:rgba(20,18,10,.42);
  --vudp-text:#fff6df;
}
html,body{margin:0;padding:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%}

body.vudp-login-body,
body.vudp-login-body *{
  letter-spacing:normal;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
  text-transform:none;
}
body.vudp-login-body *,
body.vudp-login-body *::before,
body.vudp-login-body *::after{box-sizing:border-box}
body.vudp-login-body img{display:block;max-width:100%;height:auto;float:none}
body.vudp-login-body .vudp-login-wrap,
body.vudp-login-body .vudp-login-card,
body.vudp-login-body .vudp-login-footer,
body.vudp-login-body .vudp-install-hint__dialog,
body.vudp-login-body .vudp-install-hint__brand img{max-width:100%}
body.vudp-login-body .vudp-login-card{border-radius:28px !important}
body.vudp-login-body .vudp-login-form input[type=text],
body.vudp-login-body .vudp-login-form input[type=password],
body.vudp-login-body .vudp-login-form button,
body.vudp-login-body .vudp-login-form .vudp-back-link,
body.vudp-login-body .vudp-install-hint__dialog,
body.vudp-login-body .vudp-install-hint__button{border-radius:12px !important}
.vudp-login-body{min-height:100vh;position:relative;background:#0d1118 center/cover no-repeat fixed;color:var(--vudp-text)}
.vudp-login-body::before{content:'';position:fixed;inset:0;background:var(--login-bg,linear-gradient(135deg,#0b0e14,#111826));z-index:-2}
.vudp-login-overlay{position:fixed;inset:0;background:linear-gradient(135deg,rgba(5,8,14,.82),rgba(38,26,6,.58));z-index:-1}
.vudp-login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}
.vudp-login-card{width:min(100%,430px);padding:30px 28px;border-radius:28px;background:var(--vudp-bg);border:1px solid var(--vudp-border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 0 35px rgba(255,194,61,.18),inset 0 0 30px rgba(255,255,255,.04);color:var(--vudp-text)}
.vudp-login-logo{display:flex;justify-content:center;align-items:center;text-align:center;margin:0 auto 14px}
.vudp-login-logo img{width:160px;max-width:72%;height:auto;object-fit:contain;filter:drop-shadow(0 0 14px rgba(255,210,90,.55));margin-inline:auto}
.vudp-login-card h1{margin:0 0 8px;font-size:28px;text-align:center;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.34)}
.vudp-subtitle{margin:0 0 18px;text-align:center;color:#ecd9a1;text-shadow:0 1px 12px rgba(0,0,0,.28)}
.vudp-login-form{display:flex;flex-direction:column;gap:10px}
.vudp-login-form label{font-size:14px;color:#f2e7c4;text-shadow:0 1px 10px rgba(0,0,0,.24)}
.vudp-login-form input[type=text],.vudp-login-form input[type=password]{width:100%;padding:13px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.94);color:#111;box-sizing:border-box;font-size:16px;line-height:1.35;-webkit-appearance:none;appearance:none}
.vudp-login-form input[type=text]::placeholder,.vudp-login-form input[type=password]::placeholder{color:#5f6a78}
.vudp-remember{display:flex;align-items:center;gap:8px;margin-top:4px}
.vudp-show-password{display:flex;align-items:center;gap:8px;margin-top:2px;color:#f2e7c4;font-size:14px;text-shadow:0 1px 10px rgba(0,0,0,.24)}
.vudp-show-password input[type=checkbox],.vudp-remember input[type=checkbox]{width:18px;height:18px;accent-color:var(--vudp-accent);cursor:pointer;flex:0 0 auto}
.vudp-login-form button{width:100%;margin-top:8px;padding:14px;border:0;border-radius:12px;background:linear-gradient(135deg,#f7d36b,#c99720);color:#221600;font-weight:700;cursor:pointer;box-shadow:0 0 22px rgba(255,200,70,.35);font-size:16px;touch-action:manipulation}
.vudp-login-form button:hover{transform:translateY(-1px)}
.vudp-error{margin-bottom:14px;padding:12px 14px;border-radius:12px;background:rgba(188,46,46,.18);border:1px solid rgba(255,120,120,.25);color:#ffd9d9;text-shadow:0 1px 10px rgba(0,0,0,.24)}
.vudp-info{margin-bottom:14px;padding:12px 14px;border-radius:12px;background:rgba(80,120,188,.18);border:1px solid rgba(170,210,255,.22);color:#edf5ff;text-shadow:0 1px 10px rgba(0,0,0,.24)}
body.vudp-logged-out-state .vudp-login-form{opacity:.72;pointer-events:none}
.vudp-login-footer{margin-top:18px;font-size:12px;line-height:1.55;text-align:center;color:#f2ead5;text-shadow:0 1px 10px rgba(0,0,0,.24)}
.vudp-login-footer p{margin:0 0 10px;color:inherit}
.vudp-legal-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.vudp-legal-links a,.vudp-back-link{color:#fff0b5;text-decoration:none;text-shadow:0 1px 10px rgba(0,0,0,.24);font-weight:600}
@media(max-width:520px){.vudp-login-card{padding:22px 18px;border-radius:22px}}
@media (max-width: 767px){.vudp-login-card{width:min(100%,440px)}.vudp-login-form input[type=text],.vudp-login-form input[type=password],.vudp-login-form button{font-size:16px}}
@supports (-webkit-touch-callout:none){
  .vudp-login-form input[type=text],.vudp-login-form input[type=password],.vudp-login-form button{font-size:16px !important}
}


.vudp-install-hint[hidden]{display:none}
.vudp-install-hint{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center;padding:16px;box-sizing:border-box}
.vudp-install-hint__backdrop{position:absolute;inset:0;background:rgba(4,8,14,.46);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.vudp-install-hint__dialog{position:relative;width:min(100%,640px);border-radius:28px;background:linear-gradient(180deg,rgba(34,26,14,.96),rgba(20,16,12,.98));border:1px solid rgba(214,167,59,.42);box-shadow:0 24px 60px rgba(0,0,0,.42),0 0 36px rgba(214,167,59,.12);color:#fff3d8;overflow:hidden}
.vudp-install-hint__inner{padding:28px 26px 22px}
.vudp-install-hint__brand{display:flex;justify-content:center;margin-bottom:18px}
.vudp-install-hint__brand img{width:82px;height:82px;object-fit:contain;border-radius:22px;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.vudp-install-hint__title{margin:0 0 22px;text-align:center;font-size:18px;line-height:1.45;color:#fff7e8;text-shadow:0 1px 10px rgba(0,0,0,.28)}
.vudp-install-hint__steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:18px}
.vudp-install-hint__steps li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start}
.vudp-install-hint__num{font-size:21px;line-height:1;color:#e0ab42;font-weight:700;padding-top:2px}
.vudp-install-hint__text{font-size:16px;line-height:1.5;color:#f8f1e4}
.vudp-install-hint__icon{display:inline-flex;align-items:center;justify-content:center;padding-top:2px}
.vudp-install-hint__add{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:30px;padding:0 10px;border-radius:11px;background:rgba(223,168,66,.16);border:1px solid rgba(223,168,66,.34);color:#f0c56e;font-size:15px;line-height:1}
.vudp-install-hint__actions{margin-top:26px}
.vudp-install-hint__button{width:100%;padding:16px 18px;border:0;border-radius:16px;background:linear-gradient(135deg,#f4c961,#d89f29);color:#201508;font-weight:700;font-size:17px;cursor:pointer;box-shadow:0 0 22px rgba(255,200,70,.28)}
.vudp-install-hint__button:hover{filter:brightness(1.03)}
body.vudp-install-hint-open{overflow:hidden;touch-action:none}
@media (max-width: 640px){
  .vudp-install-hint{padding:0;align-items:flex-end}
  .vudp-install-hint__dialog{width:100%;border-radius:24px 24px 0 0}
  .vudp-install-hint__inner{padding:24px 18px 18px}
  .vudp-install-hint__brand img{width:72px;height:72px;border-radius:18px}
  .vudp-install-hint__title{font-size:17px}
  .vudp-install-hint__text{font-size:15px}
  .vudp-install-hint__num{font-size:18px}
}
