/* Personal touches; preserve the portal's original green-and-cream design. */
.account-section{border-top:1px solid var(--line,#e1e5dc);margin-top:24px;padding-top:18px}
.account-section h3{margin:0 0 8px}.account-section p{font-size:14px;color:var(--muted,#667069)}
.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.table-scroll{overflow:auto;margin:16px 0}.table-scroll table{border-collapse:collapse;width:100%;font-size:12px}.table-scroll th,.table-scroll td{border:1px solid var(--line,#e1e5dc);padding:10px 12px;text-align:left;vertical-align:top;min-width:100px}.table-scroll th{background:#edf5ef}.table-scroll p{margin:0}
@media(max-width:640px){.brand{font-size:19px}.topbar{gap:14px;flex-wrap:wrap;height:auto;min-height:92px;padding:18px 0}.top-actions{margin-left:auto}.cards{grid-template-columns:1fr}}

/* Bia's login garden. Decorative only: no scripts, images or remote requests. */
.login{position:relative;isolation:isolate;min-height:100svh;padding:40px 24px;background:#f6f5f1}
.login-scene{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 12% 22%,#c5e7d7aa,transparent 49%),radial-gradient(ellipse at 88% 24%,#d8ccf1aa,transparent 48%),radial-gradient(ellipse at 77% 94%,#ffd9beaa,transparent 50%)}
.login-scene:after{content:'';position:absolute;inset:0;opacity:.19;background-image:radial-gradient(#688579 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(ellipse at center,transparent 20%,#000 86%);-webkit-mask-image:radial-gradient(ellipse at center,transparent 20%,#000 86%)}
.login-orb{position:absolute;width:440px;aspect-ratio:1;border-radius:50%;filter:blur(2px)}
.login-orb.mint{left:-170px;top:7%;background:radial-gradient(circle at 35% 35%,#d1f0df,#a4d5be66 66%,#a4d5be00 72%)}
.login-orb.lilac{right:-125px;top:-170px;width:530px;background:radial-gradient(circle at 40% 40%,#e6def9,#ccb9e866 66%,#ccb9e800 72%)}
.login-orb.peach{right:5%;bottom:-295px;width:570px;background:radial-gradient(circle at 40% 40%,#ffe4c5,#f2c5ad66 66%,#f2c5ad00 72%)}
.login-orbit{position:absolute;left:50%;top:50%;width:740px;height:740px;border:1px solid #789a8b24;border-radius:50%;transform:translate(-50%,-50%) rotate(-24deg)}
.login-orbit:before,.login-orbit:after{content:'';position:absolute;border:1px solid #8e81ad24;border-radius:50%;inset:-68px}
.login-orbit:after{inset:60px;border-style:dashed;border-color:#87a49730}
.login-float{position:absolute;width:154px;height:174px;border:1px solid #ffffffd9;border-radius:25px;background:#ffffffe0;box-shadow:0 18px 52px #455c4610,inset 0 1px 0 #fff;padding:23px;animation:bia-drift 14s ease-in-out infinite}
.login-float.notes{left:calc(50% - 407px);top:calc(50% - 172px);--tilt:-12deg;transform:rotate(var(--tilt))}
.login-float.map{left:calc(50% + 253px);top:calc(50% + 10px);--tilt:11deg;transform:rotate(var(--tilt));animation-delay:-7s;background:#f7f2ffdb}
.login-float .mini-label{display:block;font-size:10px;letter-spacing:1.8px;text-transform:uppercase;font-weight:650;color:#778b80}
.mini-spark{display:block;color:#7da48d;font-size:49px;line-height:1;margin:12px 0}
.mini-lines{display:block;height:5px;width:76px;border-radius:6px;background:#cbded2;box-shadow:0 12px 0 #e0e9df}
.mini-map{position:relative;display:block;width:106px;height:92px;margin-top:17px;background:linear-gradient(#b6a4ce,#b6a4ce) center 25px/1px 31px no-repeat,linear-gradient(#b6a4ce,#b6a4ce) center 55px/68px 1px no-repeat}
.mini-map i{position:absolute;width:39px;height:26px;border:1px solid #c6b6d9;border-radius:8px;background:#e5daf2;top:0;left:34px}
.mini-map i:nth-child(2){top:65px;left:0;background:#e1ebd9;border-color:#becdb5}
.mini-map i:nth-child(3){top:65px;left:68px;background:#ffe4d0;border-color:#e8c6af}
.mini-map:before,.mini-map:after{content:'';position:absolute;top:55px;width:1px;height:11px;background:#b6a4ce;left:19px}
.mini-map:after{left:87px}
.login-spark{position:absolute;font-family:Georgia,serif;font-size:44px;line-height:1;color:#879c7d;left:calc(50% - 325px);top:calc(50% + 195px);transform:rotate(12deg)}
.login-spark.second{left:calc(50% + 290px);top:calc(50% - 230px);font-size:36px;color:#ab95c6;transform:rotate(-12deg)}
.login-dot{position:absolute;width:15px;height:15px;border-radius:50%;background:#dda580;left:calc(50% - 300px);top:calc(50% - 270px);box-shadow:9px 9px 0 #ffffff8c}
.login-dot.second{width:10px;height:10px;left:calc(50% + 375px);top:calc(50% + 215px);background:#8ab19b;box-shadow:none}
.login .login-box{position:relative;max-width:430px;border:1px solid #ffffffed;border-radius:29px;background:#fffffff2;box-shadow:0 24px 80px #4d66551a,0 3px 12px #48585005;padding:40px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.login .brandmark{box-shadow:0 4px 12px #176c561a}
.login .login-box .subhead{color:#64756d}
.login .login-box input{background:#ffffffd9;border-color:#d5e2da;min-height:47px;transition:border-color .2s,box-shadow .2s}
.login .login-box input:focus{outline:2px solid #26836b;outline-offset:3px;border-color:#7baa97;box-shadow:0 0 0 6px #dcece333}
.login .login-box .btn.primary{min-height:45px;box-shadow:0 5px 14px #176c5617;transition:background .2s,box-shadow .2s}
.login .login-box .btn.primary:hover{background:#125b48;box-shadow:0 7px 19px #176c5624}
.login .login-foot{color:#6b7b72;line-height:1.8}
@keyframes bia-drift{0%,100%{transform:translateY(0) rotate(var(--tilt))}50%{transform:translateY(-12px) rotate(calc(var(--tilt) + 2deg))}}
@media(max-width:900px){.login-float.notes{left:calc(50% - 340px);opacity:.7}.login-float.map{left:calc(50% + 200px);opacity:.7}.login-orbit{width:620px;height:620px}}
@media(max-width:600px){.login{padding:42px 22px}.login .login-box{padding:31px 28px;border-radius:27px}.login-float{display:none}.login-orbit{width:510px;height:510px;top:47%}.login-orb.mint{width:320px;left:-190px;top:20%}.login-orb.lilac{width:390px;right:-165px;top:-145px}.login-orb.peach{width:450px;right:-175px;bottom:-205px}.login-spark{left:10%;top:auto;bottom:5%;font-size:33px}.login-spark.second{left:auto;right:8%;top:5%;font-size:27px}.login-dot{left:9%;top:10%;width:10px;height:10px}.login-dot.second{left:auto;right:12%;top:auto;bottom:12%}.login-scene:after{opacity:.14}.login h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){.login-float{animation:none}.login .login-box input,.login .login-box .btn.primary{transition:none}}
