/* OPTIMA — bright glass surfaces. Structure and application behavior stay in the original files. */
:root[data-theme="samudra"]{
  --p:#1246A0;--p2:#177DB7;--p3:#358FD0;--p4:#80CAEF;--p-rgb:18,70,160;
  --y:#FFD43B;--y2:#FFEA8B;--ysoft:#FFF7D9;--y-ink:#604800;--y-deep:#967000;--y-rgb:255,212,59;
  --pop:#FFD43B;--pop-ink:#123B79;--ink:#182D4B;--ink2:#405A77;--muted:#596F89;--muted2:#6A7F97;
  --bg:#F1F7FD;--card2:#F7FBFF;--track:#E4EEF8;--tint:#E8F2FE;--line:#DCE8F3;--line2:#C3D6E9;
  --hero-lbl:#D3EAFF;--hero-sub:#F1F8FF;
}
:root,:root[data-theme]{--r-card:20px;--r-hero:26px;--grad:linear-gradient(125deg,var(--p),var(--p2));--ease:cubic-bezier(.2,.75,.25,1)}
body{font-size:15px;background:radial-gradient(ellipse at 10% 0%,rgba(var(--p-rgb),.055),transparent 50%),var(--bg)}
.disp,.sticker{font-family:'Manrope','Plus Jakarta Sans',system-ui,sans-serif;font-style:normal;font-weight:800;letter-spacing:-.045em;line-height:1.1}
.lbl{font-weight:700;font-size:11px;letter-spacing:.1em}.h2{letter-spacing:-.04em}
.hero-title{font-size:clamp(40px,4.65vw,68px);letter-spacing:-.05em}
.card{position:relative;background:linear-gradient(155deg,#fff 22%,var(--card2));border:1px solid var(--line);box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(var(--p-rgb),.025),0 12px 30px -23px rgba(var(--p-rgb),.38);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.7) 45%,transparent 60%);background-size:280% 100%;background-position:100% 0;opacity:0;z-index:1}
.hero{background:radial-gradient(ellipse at 88% 0%,rgba(180,236,255,.25),transparent 58%),var(--grad);border:1px solid rgba(255,255,255,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(0,0,0,.04),0 18px 36px -25px rgba(var(--p-rgb),.65)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(155deg,rgba(255,255,255,.14),transparent 35%)}
.hero-art{inset:0 0 0 48%;opacity:.35;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,transparent,#000)}
.hero-art::before,.hero-art::after{content:"";position:absolute;width:160px;height:160px;right:-36px;bottom:24px;border:1px solid rgba(255,255,255,.2);border-radius:24px}.hero-art::after{right:-6px;bottom:54px}
.hero .speed{display:none}.optima-mark{transform:none!important;opacity:.22}.hero .optima-mark{opacity:.38}
.btn{border:1px solid rgba(255,255,255,.22);border-radius:12px;background:linear-gradient(165deg,var(--p2),var(--p));box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 16px -11px rgba(var(--p-rgb),.6);transition:transform .2s var(--ease),box-shadow .2s,filter .2s}
.btn::after{display:block;inset:0 0 46%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent);z-index:-1}
.btn:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 10px 20px -12px rgba(var(--p-rgb),.55)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-w,.btn-s{background:linear-gradient(180deg,#fff,var(--card2));color:var(--p);border-color:var(--line2);box-shadow:inset 0 1px 0 #fff,0 5px 12px -10px rgba(var(--p-rgb),.35)}
.btn-w:hover,.btn-s:hover{color:var(--p);border-color:var(--p3)}
.hero .btn-w{background:linear-gradient(165deg,var(--y2),var(--y));border-color:rgba(255,255,255,.6);color:var(--pop-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 18px -12px rgba(0,0,0,.4)}
.hero .btn-w:hover{color:var(--pop-ink)}.btn-d{background:linear-gradient(150deg,#ED6B70,#BE343A)}
.btn-sm,.btn-ghost{border-radius:10px}.chip{border-radius:8px;font-weight:600}
.sticker{border-radius:9px;transform:none;background:linear-gradient(155deg,var(--y2),var(--y));color:var(--pop-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 5px 16px -10px rgba(0,0,0,.28);font-size:16px;letter-spacing:-.02em;border:1px solid rgba(255,255,255,.4)}
.av,.av.g1,.av.g2,.av.g3{border-radius:12px;background:linear-gradient(150deg,#fff,var(--tint));color:var(--p);box-shadow:inset 0 1px 0 #fff;border:1px solid var(--line)}.av.round{border-radius:50%}
.ic{stroke-width:1.8}
.inp,select.inp,textarea.inp{border-radius:11px;background:linear-gradient(180deg,#F8FBFF,#fff);border-width:1px;box-shadow:inset 0 1px 2px rgba(var(--p-rgb),.035)}
.inp:focus{box-shadow:0 0 0 3px rgba(var(--p-rgb),.09),inset 0 1px 0 #fff}
.search,.ctx,.sbtn,.icb{border-radius:11px;background:linear-gradient(180deg,#fff,var(--card2));border-color:var(--line)}
.seg{border-radius:12px;background:rgba(var(--p-rgb),.045);border:1px solid var(--line);padding:4px}
.seg button{border-radius:8px;transition:background .2s,box-shadow .2s,color .2s}
.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:linear-gradient(180deg,#fff,var(--card2));box-shadow:inset 0 1px 0 #fff,0 3px 7px -4px rgba(var(--p-rgb),.3)}
.seg .cnt{border-radius:6px;font-weight:600}.hero .seg{border-color:rgba(255,255,255,.25)}
.nav.glass{background:rgba(255,255,255,.9);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3)}
.nav,:root[data-theme] .nav{border-bottom:1px solid var(--line);box-shadow:0 4px 18px -16px rgba(var(--p-rgb),.4)}
.menu .ml{border-radius:10px;font-weight:600;transition:background .2s,color .2s}
.menu .ml[aria-current=page],:root[data-theme] .menu .ml[aria-current=page]{background:linear-gradient(160deg,var(--tint),#fff);color:var(--p);box-shadow:inset 0 1px 0 #fff,0 3px 8px -6px rgba(var(--p-rgb),.25)}
.menu .ml[aria-current=page]::after{content:"";height:3px;position:absolute;bottom:0;left:14px;right:14px;border-radius:3px;background:var(--y)}
.menu .ml:hover{background:var(--tint)}.icb.plus{background:var(--grad);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 5px 12px -8px rgba(var(--p-rgb),.55)}
.me,:root[data-theme] .me{background:var(--grad);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 0 3px var(--tint)}.me .rb{border-radius:6px}
.pop,.modal,.pal{background:linear-gradient(155deg,#fff,var(--card2));border-radius:20px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 #fff,0 24px 64px -24px rgba(var(--p-rgb),.32)}
.pi{border-radius:10px}.tile{border-radius:10px}.drawer{background:linear-gradient(160deg,#fff,var(--card2));box-shadow:-16px 0 50px -24px rgba(var(--p-rgb),.25)}
.tbl td{background:var(--card2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tbl td:first-child{border-radius:10px 0 0 10px;border-left:1px solid var(--line)}.tbl td:last-child{border-radius:0 10px 10px 0;border-right:1px solid var(--line)}.tbl tr.click:hover td{background:var(--tint)}
.lrow{border-radius:13px;background:linear-gradient(165deg,#fff,var(--card2));border-color:var(--line)}.lrow:hover{transform:none;background:var(--tint)}
.bar,.bar>i{border-radius:5px}.bar>i{background:linear-gradient(90deg,var(--p),var(--p3))}
.col{border-radius:18px;background:linear-gradient(180deg,rgba(var(--p-rgb),.07),rgba(var(--p-rgb),.025));border-color:var(--line)}.deal{border-radius:15px}
.empty-col,.add-col{border-radius:14px;border-width:1px}.empty{border-radius:15px;background:linear-gradient(155deg,#fff,var(--card2));border:1px dashed var(--line2)}.empty .disp{font-size:25px;letter-spacing:-.035em}.tl-i,.toast{border-radius:14px}
.grid-kpi>.card{position:relative}.grid-kpi>.card::before{content:"";position:absolute;top:24px;bottom:24px;left:0;width:3px;background:var(--line2);border-radius:0 3px 3px 0}
.grid-kpi>.card:has(.c-bad)::before{background:#E5757E}.grid-kpi>.card:has(.c-warn)::before{background:var(--y)}.grid-kpi>.card:has(.c-info)::before{background:var(--p3)}.grid-kpi .disp{font-variant-numeric:tabular-nums;letter-spacing:-.05em}
[aria-label="Pengumuman"].card{border-radius:12px!important}
[aria-label="Target closing terdekat"]>div:first-child{background:radial-gradient(ellipse at top left,#FFFBEA,transparent),linear-gradient(135deg,var(--ysoft),var(--y2))!important;border-top:3px solid var(--y)}
[aria-label="Target closing terdekat"]>div:first-child>svg{display:none}
[aria-label="Target closing terdekat"]>div:first-child::after{content:"";position:absolute;right:-22px;top:20px;width:110px;height:110px;border:16px solid var(--y);border-radius:20px;opacity:.3;z-index:-1;transform:rotate(12deg)}
[aria-label="Target closing terdekat"] .disp[style*="76px"]{font-size:64px!important}[aria-label="Target closing terdekat"] .disp[style*="26px"]{font-size:24px!important;letter-spacing:-.035em}
/* Login: one clear identity, with a dedicated flight scene. */
.login{max-width:1600px;margin:auto;gap:24px;min-height:100svh}
.login .login-hero{position:relative;flex:1.15 1 480px;padding:44px;gap:24px;justify-content:space-between;background:radial-gradient(ellipse at 95% 5%,rgba(144,227,255,.35),transparent 55%),linear-gradient(145deg,var(--p),var(--p2))}
.login-logo{height:44px;align-self:flex-start;position:relative;z-index:2}
.login-brand{position:relative;z-index:2;margin-top:auto}
.login .login-title{font-size:clamp(70px,8.5vw,126px)!important;margin:0;line-height:1.02}
.login-title>span{display:block;font-size:clamp(20px,2.25vw,30px);font-weight:600;letter-spacing:-.025em;margin-bottom:12px;color:#EAF7FF}
.login-title>strong{display:block;letter-spacing:-.065em;font-weight:800}
.login .login-side{flex:1 1 420px;padding:16px}
.login-card{border-radius:26px;box-shadow:inset 0 1px 0 #fff,0 18px 50px -32px rgba(var(--p-rgb),.35)}
.login-card h2{font-size:clamp(30px,3.5vw,42px)!important}
.login-flight{position:relative;height:230px;min-height:180px;width:100%;max-width:500px;align-self:center;isolation:isolate;pointer-events:none}
.flight-route{width:100%;height:100%;overflow:visible}.flight-route path{animation:route-drift 18s linear infinite}
.flight-plane{position:absolute;width:130px;left:38%;top:28%;filter:drop-shadow(0 22px 16px rgba(4,28,89,.25));animation:flight-cruise 10s cubic-bezier(.45,0,.55,1) infinite;will-change:transform}
.flight-plane svg{width:100%;height:auto;display:block}
.flight-spark{position:absolute;width:7px;height:7px;border-radius:2px;background:var(--y2);box-shadow:0 0 16px rgba(255,255,255,.4);animation:spark-breathe 5s ease-in-out infinite}
.spark-one{left:22%;top:20%}.spark-two{right:8%;bottom:10%;width:4px;height:4px;animation-delay:-2s}
.login-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(145deg,rgba(255,255,255,.1),transparent 45%);border-radius:inherit}
@keyframes flight-cruise{0%,100%{transform:translate(-32px,18px) rotate(-8deg)}35%{transform:translate(20px,-22px) rotate(3deg)}65%{transform:translate(52px,-38px) rotate(7deg)}}
@keyframes flight-compact{0%,100%{transform:translate(-12px,12px) rotate(-6deg)}50%{transform:translate(14px,-12px) rotate(5deg)}}
@keyframes route-drift{to{stroke-dashoffset:-140}}
@keyframes spark-breathe{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:.9;transform:scale(1)}}
/* Shared, once-per-appearance entrance. Hover motion never moves surrounding content. */
.motion-surface{opacity:0;translate:0 16px;transition:opacity .55s ease,translate .6s var(--ease),transform .3s var(--ease),box-shadow .3s,border-color .3s;transition-delay:var(--surface-delay,0ms),var(--surface-delay,0ms),0ms,0ms,0ms}
.motion-surface.enter{animation:none}.motion-surface.is-visible{opacity:1;translate:0 0}
.ticker{animation-duration:65s}
@media(hover:hover) and (pointer:fine){
  .card:hover,.card:focus-within{border-color:var(--line2);box-shadow:inset 0 1px 0 #fff,0 18px 36px -24px rgba(var(--p-rgb),.4)}
  .card.hov:hover,.deal:hover{transform:translateY(-4px)}
  .card:hover::after,.card:focus-within::after{animation:surface-sheen .85s ease-out both}
}
@keyframes surface-sheen{0%{opacity:0;background-position:100% 0}20%{opacity:.65}100%{opacity:0;background-position:0 0}}
/* Phone/tablet layouts preserve the same module order and actions. */
@media(max-width:1100px){.login{gap:20px}.login .login-hero{flex-basis:440px;padding:34px}.login .login-side{flex-basis:390px;padding:8px}.login-flight{height:210px}}
@media(max-width:980px){
  .nav-in{gap:10px}.menu{scrollbar-width:none}.menu::-webkit-scrollbar{display:none}.menu .mi{flex:0 0 auto}.menu .ml{font-size:14px}
  .pop.r{max-width:calc(100vw - 24px)}
}
@media(max-width:800px){
  .login{padding:16px;gap:18px;display:grid;grid-template-columns:1fr;min-height:100svh}
  .login .login-hero{min-height:300px;padding:28px;gap:28px;display:flex;justify-content:flex-start}
  .login-logo{height:36px}.login-brand{margin:0}.login .login-title{font-size:76px!important}.login-title>span{font-size:21px;margin-bottom:10px}
  .login-flight{position:absolute;right:8px;bottom:2px;width:210px;height:132px;min-height:0;opacity:.95}
  .flight-plane{width:94px;left:36%;top:20%;animation-name:flight-compact}.flight-route{opacity:.7}
  .login .login-side{padding:0}.login-card{max-width:100%;padding:28px;gap:18px}.login-side>p{margin-top:14px!important}
}
@media(max-width:640px){
  .wrap{padding:18px 14px 48px;gap:16px}.row-f{gap:16px}.hero{padding:24px;border-radius:22px}.hero-title{font-size:clamp(34px,9vw,48px)}
  .pad{padding:20px}.grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid-kpi>.card{padding:18px 16px;gap:10px!important}.grid-kpi .lbl{font-size:10px;letter-spacing:.07em}.grid-kpi .chip{font-size:10px;padding:4px 7px}
  .grid-kpi>.card>div:first-child{flex-wrap:wrap;gap:6px!important}.grid-kpi .disp{font-size:clamp(28px,7.4vw,38px)!important;overflow-wrap:anywhere}
  .hero-art{opacity:.23}.hero>.optima-mark{width:90px;height:90px;right:12px!important;bottom:12px!important;opacity:.22}
  .sec-h{align-items:flex-start}.sec-h .seg{max-width:100%;gap:2px}.sec-h .seg button{padding:0 8px;font-size:12px;gap:4px}.sec-h .seg .cnt{min-width:18px;padding:1px 5px}.seg button{padding:0 10px;font-size:13px;min-height:38px;gap:6px}
  .nav-in{display:grid;grid-template-columns:minmax(60px,1fr) repeat(5,38px);gap:8px 6px;padding:10px 12px 8px;height:auto}
  .nav-logo img{height:31px}.ctx,.icb,.sbtn,.me{width:38px;height:38px;min-height:38px;padding:0;justify-content:center;border-radius:10px}.me{border-radius:50%}.ctx{gap:5px}.ctx .cl{display:none}.me .rb{font-size:8px;right:-3px;bottom:-5px;padding:1px 5px}
  .menu{grid-column:1/-1;order:10;gap:3px;width:100%;overflow-x:auto;justify-content:flex-start;padding:3px 0 0;scroll-snap-type:x proximity}
  .menu .ml{min-height:40px;padding:0 12px;font-size:13px;scroll-snap-align:center}.menu .ml[aria-current=page]::after{left:12px;right:12px}
  .nav-in>div{position:static!important}.nav-in>div>.pop{left:12px;right:12px;width:auto;min-width:0!important;max-width:none;top:calc(100% + 8px)}
  .menu .mi .pop{position:fixed;top:116px;left:12px;right:12px;min-width:0}
  .scrim{padding:24px 12px;align-items:flex-start}.modal{padding:22px;border-radius:22px;max-height:calc(100svh - 48px);overflow-y:auto}.modal .form-grid{grid-template-columns:1fr}
  .drawer{width:100%;border-radius:0}.drawer .hero{padding:24px!important}.modal-f .btn{flex:1}
  .tbl td{padding:10px;font-size:13px}.tbl th{font-size:10px}.tbl-wrap{border-radius:12px}
  .lrow{padding:14px;gap:10px}.lrow>.btn{flex:1}.lrow>button:first-child{flex-basis:100%!important}
  .board{grid-auto-columns:minmax(264px,82vw);gap:12px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}.col{padding:10px;scroll-snap-align:start}.deal{padding:14px}
  .empty{padding:28px 14px}.empty .disp{font-size:22px}.toast-zone{width:calc(100% - 24px);bottom:16px}.toast{min-width:0;width:100%;padding:14px 16px}.toast strong{font-size:18px}
  [aria-label="Target closing terdekat"] .disp[style*="76px"]{font-size:54px!important}
  .login .login-hero{padding:24px;min-height:280px}.login .login-title{font-size:clamp(64px,18vw,86px)!important}.login-title>span{font-size:19px}.login-flight{width:180px;height:112px;right:0;bottom:-12px}.flight-plane{width:80px}
  .login-card{padding:24px;border-radius:22px}.login-card h2{font-size:32px!important}
  .login-card .inp{font-size:16px}.login-card .btn{white-space:normal}
}
/* Continuous ambient motion for module heroes; the content itself stays still. */
.hero:not(.login-hero)::after{
  inset:-8%;
  background:radial-gradient(ellipse at 78% 28%,rgba(202,241,255,.24),transparent 46%),linear-gradient(155deg,rgba(255,255,255,.1),transparent 42%);
  animation:hero-light-drift 13s ease-in-out infinite;
}
.hero:not(.login-hero) .hero-art{opacity:.6}
.hero:not(.login-hero) .hero-art::before{border-color:rgba(255,255,255,.32);animation:hero-frame-drift 12s ease-in-out infinite}
.hero:not(.login-hero) .hero-art::after{border-color:rgba(255,255,255,.24);animation:hero-frame-drift 16s ease-in-out infinite reverse;animation-delay:-5s}
.hero:not(.login-hero) .speed{
  display:block;height:3px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);
  animation:hero-light-trail 11s cubic-bezier(.4,0,.3,1) infinite;
}
.hero:not(.login-hero)>.optima-mark{animation:hero-mark-float 9s ease-in-out infinite}
@keyframes hero-light-drift{0%,100%{transform:translate3d(-2%,1%,0);opacity:.65}50%{transform:translate3d(3%,-2%,0);opacity:1}}
@keyframes hero-frame-drift{0%,100%{transform:translate3d(0,0,0) rotate(-7deg)}50%{transform:translate3d(-30px,-22px,0) rotate(9deg)}}
@keyframes hero-light-trail{0%{transform:translate3d(-50%,0,0) scaleX(.5);opacity:0}18%{opacity:.6}72%{opacity:.6}100%{transform:translate3d(230%,0,0) scaleX(1.15);opacity:0}}
@keyframes hero-mark-float{0%,100%{translate:0 0;opacity:.3}50%{translate:-10px -14px;opacity:.5}}
@media(max-width:640px){
  .hero:not(.login-hero) .hero-art{opacity:.38}
  .hero:not(.login-hero)>.optima-mark{animation-duration:12s}
}

/* A fuller login scene: paper plane, frosted layers and connected points. */
.login .login-flight{height:280px;min-height:240px;max-width:560px;margin-top:4px}
.login .flight-plane{width:220px;left:34%;top:9%;filter:drop-shadow(0 26px 20px rgba(3,26,84,.34));animation:flight-scene-cruise 12s cubic-bezier(.45,0,.55,1) infinite;z-index:3}
.flight-aura{position:absolute;inset:6% 9% 0;border-radius:50%;background:radial-gradient(ellipse,rgba(187,236,255,.23),transparent 65%);filter:blur(10px);animation:flight-aura-glow 9s ease-in-out infinite;z-index:-1}
.login .flight-route{position:absolute;inset:0;z-index:1;opacity:1}
.flight-glass{position:absolute;z-index:0;display:flex;flex-direction:column;gap:10px;padding:15px;border:1px solid rgba(255,255,255,.32);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.045));box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 18px 30px -15px rgba(0,28,80,.25);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.glass-team{left:2%;top:25%;width:132px;height:112px;animation:glass-team-float 13s ease-in-out infinite}
.glass-progress{right:1%;top:18%;width:108px;height:120px;animation:glass-progress-float 15s ease-in-out infinite}
.glass-dots{display:flex;gap:4px}.glass-dots i{height:4px;width:4px;border-radius:50%;background:rgba(255,255,255,.7)}
.glass-line{display:block;width:76%;height:4px;border-radius:3px;background:rgba(255,255,255,.4)}.glass-line.short{width:48%;opacity:.65}
.glass-people{display:flex;margin-top:2px}.glass-people i{width:22px;height:22px;border-radius:50%;border:2px solid rgba(238,249,255,.85);background:rgba(255,255,255,.25);margin-right:-5px}.glass-people i:nth-child(2){background:var(--y2)}
.glass-bars{height:51px;display:flex;gap:6px;align-items:flex-end}.glass-bars i{flex:1;height:45%;border-radius:3px 3px 0 0;background:rgba(255,255,255,.6)}.glass-bars i:nth-child(2){height:67%}.glass-bars i:nth-child(3){height:55%}.glass-bars i:nth-child(4){height:95%;background:var(--y2)}
.connection-node{animation:connection-pulse 8s ease-in-out infinite}.node-two{animation-delay:-6s}.node-three{animation-delay:-4s}.node-four{animation-delay:-2s}
.flight-glint{position:absolute;width:6px;height:6px;background:rgba(255,255,255,.8);border-radius:2px;box-shadow:0 0 14px rgba(255,255,255,.6);animation:spark-breathe 6s ease-in-out infinite}.glint-one{left:45%;top:3%}.glint-two{left:35%;bottom:10%;width:4px;height:4px;animation-delay:-3s}
@keyframes flight-scene-cruise{0%,100%{transform:translate(-20px,12px) rotate(-8deg)}40%{transform:translate(10px,-10px) rotate(1deg)}70%{transform:translate(28px,-22px) rotate(5deg)}}
@keyframes glass-team-float{0%,100%{transform:translateY(0) rotate(-9deg)}50%{transform:translateY(-12px) rotate(-5deg)}}
@keyframes glass-progress-float{0%,100%{transform:translateY(-8px) rotate(10deg)}50%{transform:translateY(8px) rotate(6deg)}}
@keyframes connection-pulse{0%,60%,100%{opacity:.35}25%,40%{opacity:1}}
@keyframes flight-aura-glow{0%,100%{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}
@media(min-width:801px) and (max-height:760px){.login .login-flight{height:240px;min-height:220px}.login .flight-plane{width:200px}}
@media(max-width:800px){
  .login .login-hero{min-height:410px;gap:22px}.login .login-flight{position:relative;right:auto;bottom:auto;align-self:center;width:100%;height:200px;min-height:180px;margin-top:-4px}
  .login .flight-plane{width:166px;left:34%;top:5%}.flight-glass{padding:12px;border-radius:14px;gap:8px}.glass-team{width:106px;height:94px;top:25%;left:1%}.glass-progress{width:88px;height:102px;top:21%;right:0}.glass-bars{height:42px}.glass-people i{width:18px;height:18px}
}
@media(max-width:640px){
  .login .login-hero{min-height:392px;padding:24px;gap:20px}.login .login-flight{height:178px;min-height:160px;margin-top:-3px}
  .login .flight-plane{width:148px;left:29%;top:5%}.glass-team{width:94px;height:86px;padding:10px;gap:7px;top:28%}.glass-progress{width:75px;height:91px;padding:10px;gap:7px;top:20%}.glass-bars{height:35px;gap:4px}.glass-people i{width:16px;height:16px}
  .flight-glint{width:4px;height:4px}
}

@media(min-width:801px){
  .login .login-hero{justify-content:flex-start}
  .login .login-brand{margin-top:clamp(36px,8vh,80px)}
  .login .login-flight{flex:1;margin-top:12px;min-height:240px;max-height:340px}
  .login .flight-plane{width:clamp(190px,19vw,240px);top:17%}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .motion-surface{opacity:1;translate:none}.flight-plane{transform:translate(0,-4px) rotate(-4deg);will-change:auto}
}

/* Personal profile controls. */
.av{position:relative}.profile-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;pointer-events:none}.me .rb{z-index:2}
.profile-photo-row{display:flex;align-items:center;gap:20px;padding:18px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(150deg,#fff,var(--tint))}
.profile-avatar{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 84px;width:84px;height:84px;border-radius:24px;background:var(--grad);color:#fff;font-size:27px;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 20px -12px rgba(var(--p-rgb),.5)}
.profile-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.profile-photo-controls{display:flex;flex-direction:column;gap:7px;min-width:0}.profile-photo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.profile-upload{position:relative}.profile-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.profile-upload:focus-within{outline:3px solid var(--p2);outline-offset:3px}.profile-full{grid-column:1/-1}
.profile-account{padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:var(--card2)}.profile-account-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--muted)}
.profile-account dl{display:grid;gap:12px;margin:14px 0 0}.profile-account dl>div{display:grid;grid-template-columns:105px 1fr;gap:12px;font-size:13px}.profile-account dt{color:var(--muted)}.profile-account dd{margin:0;font-weight:600;overflow-wrap:anywhere}
@media(max-width:640px){.profile-photo-row{padding:14px;gap:14px;align-items:flex-start}.profile-avatar{flex-basis:68px;width:68px;height:68px;border-radius:20px;font-size:23px}.profile-photo-actions .btn{min-height:40px;padding:0 10px}.profile-account{padding:14px}.profile-account dl>div{grid-template-columns:85px 1fr;gap:8px}}

.scrim:has(>[data-form="profile"]){padding-top:32px}
[data-form="profile"]{max-height:calc(100svh - 64px);overflow-y:auto}
@media(max-width:640px){.scrim:has(>[data-form="profile"]){padding-top:24px}}
