/* Dedicated sign-in design. No authentication or shared panel styles. */
:root{color-scheme:dark;font-family:'Segoe UI',system-ui,sans-serif;color:#f2f5fc;background:#000e1c}
*{box-sizing:border-box;margin:0}
html,body{min-width:0;min-height:100%;width:100%}
body.login-page{isolation:isolate;background:#000e1c;font-family:'Segoe UI',system-ui,sans-serif;color:#edf3ff;line-height:1.4}
.login-shell{width:100%;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:44px 20px 68px}
.login-card{position:relative;isolation:isolate;width:min(650px,100%);min-width:0;min-height:655px;padding:33px 64px 56px;border:1px solid #356385;border-radius:35px;background:linear-gradient(130deg,#092a4399,#001222e8 27%,#00101fe8 76%,#102e4799);box-shadow:inset 0 1px 5px #afdfff1c,inset 0 -2px 18px #3870a024,0 24px 65px #0009}
.login-card::before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;background:linear-gradient(133deg,transparent 35%,#b3dcff04 35.2%,transparent 36%,transparent 60%,#fff0bb10 60.2%,transparent 73%);pointer-events:none}
.login-card::after{content:'';position:absolute;left:15%;right:15%;bottom:-22px;height:42px;border-radius:50%;z-index:-2;background:radial-gradient(ellipse,#ffbe3033,transparent 68%);pointer-events:none}
.login-brand{text-align:center;margin-bottom:32px}
.login-mark{position:relative;width:176px;height:108px;margin:0 auto;overflow:hidden}
.login-mark img{position:absolute;left:0;top:-35px;width:176px;height:176px;object-fit:contain;display:block}
.login-brand h1{font-size:48px;font-weight:800;letter-spacing:.5px;line-height:1.2;color:#ffd34b;background:linear-gradient(#fff6bb 0%,#ffdf66 28%,#ffc436 62%,#ba811a 100%);background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 4px 18px #ffbb1512}
.login-subtitle{display:flex;align-items:center;justify-content:center;gap:27px;margin-top:2px;color:#b8c9e0;font-size:22px;line-height:1.4;white-space:nowrap}
.login-subtitle::before,.login-subtitle::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,#f6c53b);max-width:88px}
.login-subtitle::after{background:linear-gradient(90deg,#f6c53b,transparent)}
#admin-login{position:relative;min-width:0}
#admin-login label{display:block;margin:0 0 8px;color:#e1eaf9;font-size:22px;line-height:1.4;font-weight:400}
#admin-login label[for=password]{margin-top:22px}
.login-field{position:relative;width:100%;min-width:0;height:71px;border:1px solid #244763;border-radius:17px;background:linear-gradient(135deg,#09213755,#00101e99);box-shadow:inset 0 2px 6px #0005;transition:border-color .2s,box-shadow .2s}
.login-field:focus-within{border-color:#acfbff;box-shadow:inset 0 1px 3px #c5f8ff77,inset 0 0 16px #00bfff24,0 0 0 1px #36d7ff,0 0 19px #00bfff55}
.login-field-icon{position:absolute;left:28px;top:20px;width:30px;height:30px;stroke:#afc8e4;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.login-field input{display:block;width:100%;height:100%;min-width:0;padding:0 25px 0 82px;border:0;border-radius:inherit;background:transparent;color:#f6f8fc;font:inherit;font-size:23px;line-height:1.4;letter-spacing:.15px;outline:none}
.login-field input::placeholder{color:#b4c7df;opacity:1}
.login-field input:-webkit-autofill{-webkit-text-fill-color:#f6f8fc;caret-color:#fff;box-shadow:0 0 0 1000px #062039 inset;border-radius:inherit}
.login-field input::first-line,.login-field input:-webkit-autofill::first-line{font-family:'Segoe UI',system-ui,sans-serif;font-size:var(--login-input-size,23px);font-weight:400}
.login-password-field input{padding-right:76px;letter-spacing:2px}
.password-visibility{position:absolute;right:16px;top:12px;display:grid;place-items:center;width:46px;height:46px;padding:8px;border:1px solid transparent;border-radius:10px;background:transparent;color:#b9cee8;cursor:pointer}
.password-visibility svg{width:29px;height:29px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.password-visibility:hover{color:#e5f8ff;background:#1a496033;border-color:#50738a}
.password-eye-slash[hidden]{display:none}
.password-visibility:focus-visible{outline:2px solid #8eeaff;outline-offset:2px}
.login-submit{display:block;width:100%;min-height:70px;margin-top:38px;padding:10px 20px;border:1px solid #ffe591;border-radius:17px;background:linear-gradient(175deg,#fff2ac 0%,#ffe072 13%,#f7c64c 43%,#e3aa2e 78%,#b87916 100%);color:#061326;font:inherit;font-size:29px;font-weight:750;line-height:1.3;text-shadow:0 1px #fff5;box-shadow:inset 0 2px 2px #fff7ca,inset 0 -1px 2px #f2c554,0 0 18px #ffbc2b35,0 5px 15px #0006;cursor:pointer;transition:box-shadow .2s,transform .2s}
.login-submit:hover{box-shadow:inset 0 2px 2px #ffffdf,inset 0 -1px 2px #f2c554,0 0 25px #ffbc2b55,0 6px 17px #0006;transform:translateY(-1px)}
.login-submit:active{transform:translateY(0)}
.login-submit:focus-visible{outline:2px solid #a3eaff;outline-offset:5px}
.login-submit:disabled{opacity:.75;cursor:wait;transform:none}
.error{margin-top:16px;padding:10px 13px;border:1px solid #b04f6066;border-left:3px solid #ff7188;border-radius:8px;background:#711c3033;color:#ffb4c0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
/* The same moving source lights the thin rim and the glass beneath it. */
.login-rim, .rim-layer, .rim-orbit {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
}
.login-rim {
    inset: -1px;
    z-index: -1;
    overflow: hidden;
}
.rim-layer { overflow: hidden; }
.rim-edge {
    padding: 2px;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
}
.rim-orbit { --light: 29 186 255; --hot: 211 249 255; }
.rim-gold { --light: 255 178 47; --hot: 255 241 186; transform: scaleX(-1); }
.rim-emitter {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    offset-path: var(--rim-path);
    offset-distance: 9%;
    offset-anchor: center;
    offset-rotate: auto;
}
.login-rim[data-measured] .rim-emitter { display: block; }
.rim-reflection .rim-emitter {
    width: min(284px,70%);
    height: 128px;
    background:
        radial-gradient(ellipse 18% 3.5% at center, rgb(var(--hot) / .95), rgb(var(--light) / .45) 46%, transparent),
        radial-gradient(ellipse 38% 13% at center, rgb(var(--light) / .48), transparent),
        radial-gradient(ellipse closest-side, rgb(var(--light) / .28), rgb(var(--light) / .12) 45%, transparent);
}
.rim-edge .rim-emitter {
    width: min(330px,82%);
    height: 100px;
    background: radial-gradient(ellipse closest-side, rgb(var(--hot)) 0%, rgb(var(--hot) / .98) 8%,
        rgb(var(--light) / .95) 30%, rgb(var(--light) / .55) 55%, transparent);
}
@keyframes login-rim-lap { from { offset-distance: 0%; } to { offset-distance: 100%; } }
@keyframes login-rim-breathe { 0%,100% { opacity: .83; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
    .rim-emitter { animation: login-rim-lap 32s linear -2.88s infinite, login-rim-breathe 6s ease-in-out infinite; }
}
@media(min-width:2100px){.login-shell{padding-top:64px;padding-bottom:88px}}
@media(max-width:700px){.login-shell{padding:32px 20px 48px}.login-card{max-width:570px;padding:30px 40px 42px;min-height:0;border-radius:29px}.login-brand{margin-bottom:28px}.login-subtitle{font-size:19px;gap:18px}.login-brand h1{font-size:44px}#admin-login label{font-size:19px}.login-field{height:64px;border-radius:14px}.login-field input{font-size:21px;padding-left:72px}.login-field-icon{left:24px;top:18px;width:27px;height:27px}.password-visibility{top:8px;right:12px}.login-submit{min-height:63px;margin-top:32px;border-radius:14px;font-size:26px}}
@media(max-width:440px){.login-shell{padding:28px 16px 38px}.login-card{padding:27px 24px 34px;border-radius:25px}.login-mark{width:158px;height:99px}.login-mark img{width:158px;height:158px;top:-31px}.login-brand h1{font-size:39px;letter-spacing:.3px}.login-subtitle{font-size:16px;gap:12px;white-space:normal}.login-subtitle::before,.login-subtitle::after{max-width:39px}.login-subtitle span{flex:none}.login-brand{margin-bottom:29px}#admin-login label{font-size:17px;margin-bottom:8px}#admin-login label[for=password]{margin-top:20px}.login-field{height:59px;border-radius:13px}.login-field input{padding-left:57px;padding-right:15px;font-size:18px}.login-field-icon{left:18px;top:17px;width:24px;height:24px}.login-password-field input{padding-right:59px}.password-visibility{right:7px;top:7px;width:44px;height:44px}.password-visibility svg{width:25px;height:25px}.login-submit{min-height:59px;margin-top:31px;border-radius:13px;font-size:23px}}
@media(max-height:740px) and (min-width:701px){.login-shell{padding:20px}.login-card{padding-top:23px;padding-bottom:35px;min-height:0}.login-mark{height:86px}.login-mark img{width:152px;height:152px;left:12px;top:-33px}.login-brand h1{font-size:40px}.login-subtitle{font-size:20px}.login-brand{margin-bottom:25px}#admin-login label{font-size:19px}.login-field{height:62px}.login-field-icon{top:16px}.password-visibility{top:7px}.login-field input{font-size:21px}.login-submit{min-height:61px;margin-top:29px;font-size:25px}}
@media(max-width:700px){.login-field input{--login-input-size:21px}}
@media(max-width:440px){.login-field input{--login-input-size:18px}}
@media(max-height:740px) and (min-width:701px){.login-field input{--login-input-size:21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
