/* Premium owner portal: isolated so the main ledger interface remains fast. */
.login-body{position:relative;overflow:hidden;min-height:100svh;padding:clamp(20px,4vw,64px);background:radial-gradient(circle at 12% 12%,#264e71 0,rgba(38,78,113,0) 32%),radial-gradient(circle at 88% 84%,#123e47 0,rgba(18,62,71,0) 36%),linear-gradient(128deg,#071a2b 0%,#0b2944 52%,#102f4b 100%)}
.login-body:before{position:absolute;inset:0;content:"";pointer-events:none;opacity:.26;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(135deg,#000,transparent 76%)}
.login-orb{position:absolute;border-radius:50%;filter:blur(3px);pointer-events:none;opacity:.62;animation:login-float 13s ease-in-out infinite alternate}
.login-orb-one{width:300px;height:300px;top:-115px;right:15%;background:radial-gradient(circle,#d1a332 0,rgba(209,163,50,0) 68%)}
.login-orb-two{width:360px;height:360px;bottom:-180px;left:-110px;background:radial-gradient(circle,#2b9ea4 0,rgba(43,158,164,0) 66%);animation-delay:-5s}
.login-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,1fr) minmax(390px,480px);gap:clamp(40px,8vw,150px);align-items:center;width:min(1120px,100%);min-height:calc(100svh - clamp(40px,8vw,128px));margin:auto}
.login-intro{max-width:530px;color:#f5f7f9;animation:login-enter .75s cubic-bezier(.2,.7,.2,1) both}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:clamp(58px,10vh,105px)}
.login-logo{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.23)}
.login-logo img{width:42px;height:42px;object-fit:contain}.login-brand b,.login-brand small{display:block}.login-brand b{font-size:15px;letter-spacing:.16em}.login-brand small{margin-top:3px;color:#e1b94e;font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.portal-label{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;color:#e6c567;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.portal-label:before{width:7px;height:7px;border-radius:50%;background:#7bd2b3;box-shadow:0 0 0 5px rgba(123,210,179,.12);content:""}
.login-intro h1{margin:0;color:#fff;font:600 clamp(44px,6vw,72px)/.98 Georgia,serif;letter-spacing:-.052em}.login-lede{max-width:460px;margin:25px 0 31px;color:#bfd0df;font-size:15px;line-height:1.75}
.login-points{display:grid;gap:12px;color:#e5edf4;font-size:12px;font-weight:650}.login-points span{display:flex;align-items:center;gap:10px}.login-points i{width:18px;height:18px;border:1px solid rgba(231,198,105,.54);border-radius:50%;position:relative}.login-points i:after{position:absolute;top:4px;left:5px;width:5px;height:3px;border-bottom:1px solid #edcf75;border-left:1px solid #edcf75;transform:rotate(-45deg);content:""}
.login-credit{margin:clamp(44px,10vh,110px) 0 0;color:#9db4c8;font-size:11px;letter-spacing:.06em}.login-credit span{padding:0 7px;color:#e4ba4c}
.login-card{position:relative;padding:clamp(32px,4vw,48px);border:1px solid rgba(255,255,255,.72);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 28px 75px rgba(0,12,27,.38),0 2px 1px rgba(255,255,255,.4) inset;animation:login-enter .8s .1s cubic-bezier(.2,.7,.2,1) both}.login-card:before{position:absolute;top:0;right:36px;left:36px;height:3px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,#b78619,#e0bd5a,#b78619);content:""}
.login-card-head .eyebrow{margin-bottom:13px;color:#9a7420}.login-card h2{margin:0;color:#122e49;font:600 clamp(30px,3.2vw,38px) Georgia,serif;letter-spacing:-.04em}.login-card-head>p:last-child{margin:12px 0 29px;color:#708197;font-size:13px;line-height:1.6}
.login-form{display:grid;gap:18px}.login-form label{display:grid;gap:8px;color:#3c5369;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.login-form input{width:100%;height:49px;padding:0 14px;border:1px solid #d5dee7;border-radius:9px;background:#fbfcfd;color:#17334d;font:14px Inter,Segoe UI,Arial,sans-serif;letter-spacing:0;text-transform:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.login-form input::placeholder{color:#a9b5c1}.login-form input:focus{outline:none;border-color:#b98b20;background:#fff;box-shadow:0 0 0 4px rgba(200,157,49,.16)}
.login-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin-top:5px;padding:14px 16px;border-radius:9px;background:linear-gradient(135deg,#bc8c20,#d6aa37);color:#102a43;font-size:13px;letter-spacing:.02em;box-shadow:0 8px 16px rgba(164,117,15,.22);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.login-submit span{font-size:18px;line-height:0;transition:transform .2s ease}.login-submit:hover{transform:translateY(-2px);box-shadow:0 11px 20px rgba(164,117,15,.3);filter:brightness(1.03)}.login-submit:hover span{transform:translateX(3px)}.login-submit:active{transform:translateY(0)}
.login-assurance{display:flex;align-items:center;gap:10px;margin-top:27px;padding-top:21px;border-top:1px solid #e7ecf0}.lock-mark{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#edf5f1;color:#4b9474;font-size:10px}.login-assurance b,.login-assurance small{display:block}.login-assurance b{color:#4b6074;font-size:10px;letter-spacing:.04em;text-transform:uppercase}.login-assurance small{margin-top:3px;color:#8b99a8;font-size:10px}
.login-card .flash{margin-bottom:20px;border-radius:7px}.login-card .flash.error{font-size:11px}
@keyframes login-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes login-float{from{transform:translate3d(-12px,-8px,0) scale(.94)}to{transform:translate3d(18px,17px,0) scale(1.08)}}
@media(max-width:800px){.login-body{padding:22px 18px;overflow:auto}.login-shell{grid-template-columns:1fr;gap:35px;min-height:auto}.login-intro{max-width:none}.login-brand{margin-bottom:46px}.login-credit{margin-top:42px}.login-card{padding:31px 25px}.login-orb-one{right:-120px}.login-intro h1{font-size:48px}}@media(max-width:440px){.login-intro{display:none}.login-shell{display:block;min-height:calc(100svh - 44px)}.login-card{top:50%;transform:translateY(-50%);animation:login-enter .7s ease both}.login-card:before{right:25px;left:25px}}@media(prefers-reduced-motion:reduce){.login-orb,.login-intro,.login-card{animation:none}.login-submit,.login-submit span,.login-form input{transition:none}}
