.login-page { padding:28px; }
.login-page .entry-symbols { position:absolute; width:0; height:0; overflow:hidden; }
.login-page svg:not(.entry-symbols) { fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.login-page .login-wrap { width:min(1140px,100%); grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); padding:12px; gap:0; min-height:672px; }
.login-page .login-welcome { grid-column:1; grid-row:1; padding:30px 34px 24px; background:radial-gradient(ellipse at 0 0,#246A9699,transparent 65%),linear-gradient(145deg,#123D60,#061A2D 80%); }
.login-page .entry-brand { gap:12px; }
.login-page .entry-brand img { width:44px; height:44px; box-shadow:0 0 0 1px #B7DFFD38; }
.login-page .entry-brand span { font-size:14px; font-weight:600; line-height:1.4; }
.login-page .entry-brand small { display:block; font-size:11px; font-weight:400; color:#B2CADB; margin-top:3px; }
.login-page .welcome-copy { margin-top:34px; }
.login-page .welcome-copy h2 { margin:0; font-size:clamp(36px,3.8vw,49px); line-height:1.07; font-weight:560; letter-spacing:-.045em; }
.login-page .welcome-copy p { margin:13px 0 0; font-size:14px; line-height:1.5; color:#C7DFEE; }
.entry-showcase { min-width:0; border:0; padding:0; margin:28px 0 0; }
.entry-showcase legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.entry-contexts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; padding:5px; border-radius:17px; background:#03132166; border:1px solid #90CFF127; box-shadow:inset 0 1px 2px #0002; }
.entry-context { position:relative; min-width:0; }
.entry-context input { position:absolute; width:1px; height:1px; margin:0; opacity:0; }
.entry-context label { display:flex; align-items:center; justify-content:center; gap:7px; padding:11px 4px; min-height:42px; border-radius:12px; color:#B8D3E5; cursor:pointer; font-size:11px; font-weight:550; transition:background-color 400ms,color 400ms,box-shadow 400ms; }
.entry-context label svg { width:17px; height:17px; flex-shrink:0; }
.entry-context label:hover { color:white; background:#A7DFFF14; }
.entry-context input:checked + label { color:#F5FCFF; background:linear-gradient(140deg,#4AA7D340,#AADFFF17); box-shadow:inset 0 1px 0 #D5F0FF50,0 2px 8px #0002; }
.entry-context input:focus-visible + label { outline:2px solid #7DD3FC; outline-offset:2px; }
.entry-scenes { padding-top:8px; }
.entry-scene { display:none; text-align:center; }
.entry-showcase:has(#entryCommercial:checked) .entry-commercial,
.entry-showcase:has(#entryOperations:checked) .entry-operations,
.entry-showcase:has(#entryIntelligence:checked) .entry-intelligence { display:block; }
.entry-illustration { height:211px; position:relative; display:flex; align-items:center; justify-content:center; gap:17px; isolation:isolate; animation:entry-scene-settle 620ms cubic-bezier(.4,0,.2,1) both; }
.entry-illustration::before { content:''; position:absolute; inset:16px 12% 10px; z-index:-1; background:radial-gradient(ellipse,#38BDF819,transparent 70%); border-radius:50%; }
.entry-scene p { margin:0; font-size:14px; font-weight:550; letter-spacing:-.015em; color:#F4FAFE; }
.entry-scene .scene-description { display:block; margin-top:5px; font-size:11px; color:#BDD4E4; }
.scene-icon { display:grid; place-items:center; width:52px; height:52px; background:linear-gradient(145deg,#90DAFF2E,#42A9E110); border:1px solid #A9DFFF55; border-radius:17px; box-shadow:inset 0 1px 0 #D4F2FF33,0 8px 18px #0002; color:#A0DFFF; }
.scene-icon svg { width:25px; height:25px; }
.scene-satellite { display:flex; flex-direction:column; align-items:center; gap:9px; font-size:10px; color:#C7DFEE; z-index:1; }
.scene-contact { transform:translateY(16px); }
.scene-contract { transform:translateY(-13px); }
.scene-opportunity { display:flex; flex-direction:column; align-items:center; justify-content:center; width:154px; height:166px; border:1px solid #C4E9FF5C; border-radius:23px; background:linear-gradient(135deg,#B8E8FF28,#24597B38); box-shadow:inset 0 1px 0 #DFF5FF63,0 18px 32px #0003; transform:rotate(-5deg); }
.scene-pill { display:inline-block; color:#B6DDF2; font-size:9px; font-weight:500; padding:4px 8px; background:#061B2C55; border:1px solid #B9DFFF24; border-radius:7px; }
.scene-main-icon { width:33px; height:33px; margin:15px 0 9px; color:#9DE1FF; }
.scene-opportunity strong { font-weight:500; font-size:12px; }
.scene-stages { display:flex; gap:4px; margin-top:13px; }
.scene-stages i { width:22px; height:4px; border-radius:8px; background:#86CEF346; }
.scene-stages i:first-child { background:#72D6FF; box-shadow:0 0 10px #38BDF850; }
.entry-connectors { position:absolute; width:290px; height:70px; top:72px; left:50%; transform:translateX(-50%); z-index:-1; }
.entry-connectors i { position:absolute; border:1px solid #7DD3FC50; width:60px; height:45px; border-radius:17px; }
.entry-connectors i:first-child { left:28px; top:12px; border-left:0; border-bottom:0; }
.entry-connectors i:last-child { right:27px; top:-5px; border-right:0; border-top:0; }
.scene-team { display:flex; flex-direction:column; align-items:center; font-size:10px; gap:9px; color:#C7DFEE; margin-right:5px; }
.scene-avatars { display:flex; padding-left:5px; }
.scene-avatars i { width:17px; height:17px; border:2px solid #12334D; background:#8FD7F1; border-radius:50%; margin-left:-5px; }
.scene-avatars i:nth-child(2) { background:#87A6F2; }.scene-avatars i:nth-child(3) { background:#B4DAD9; }
.scene-planner { width:171px; padding:14px 16px 10px; border:1px solid #C4E9FF5C; border-radius:21px; background:linear-gradient(140deg,#C1E8FF2A,#32617E26); box-shadow:inset 0 1px 0 #DFF5FF63,0 18px 32px #0003; transform:rotate(4deg); }
.scene-planner > div { display:flex; align-items:center; gap:10px; min-height:34px; color:#E3F2FA; font-size:11px; text-align:left; }
.scene-planner > div:first-of-type { margin-top:8px; }
.scene-task-dot { width:15px; height:15px; border:1px solid #8DC8EC; border-radius:5px; }
.scene-task-check { display:grid; place-items:center; width:15px; height:15px; border-radius:5px; background:#83DEC7; color:#07362D; }
.scene-task-check svg { width:12px; height:12px; }
.scene-delivery { position:absolute; left:calc(50% + 74px); top:135px; display:grid; place-items:center; width:44px; height:44px; border:1px solid #A2E5D977; border-radius:15px; background:#154C50; color:#ADFAE5; box-shadow:0 8px 20px #0003; transform:rotate(-7deg); }
.scene-delivery svg { width:23px; height:23px; }
.scene-orbit { position:absolute; width:258px; height:149px; top:31px; border:1px solid #8BD7FD40; border-radius:50%; transform:rotate(-17deg); }
.scene-orbit::after { content:''; position:absolute; inset:17px -11px; border:1px solid #8BD7FD20; border-radius:50%; transform:rotate(32deg); }
.scene-agent { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; width:120px; height:132px; color:#DDF4FF; background:radial-gradient(ellipse at 30% 0,#64CEF95C,transparent 70%),linear-gradient(135deg,#245677,#0B2D45); border:1px solid #C4E9FF70; border-radius:38px; box-shadow:inset 0 1px 1px #E1F6FF6E,0 15px 32px #0003; }
.scene-agent svg { width:36px; height:36px; margin-bottom:8px; color:#A8E7FF; }
.scene-agent strong { font-weight:550; font-size:14px; }.scene-agent > span { font-size:11px; color:#B5D1E3; margin-top:3px; }
.scene-message,.scene-insight { position:absolute; display:flex; align-items:center; gap:6px; padding:10px; background:linear-gradient(135deg,#204E6A,#12364F); border:1px solid #9BD8FB55; border-radius:13px; box-shadow:inset 0 1px 0 #C7EDFF28,0 8px 18px #0002; font-size:9px; color:#D1E9F6; }
.scene-message { left:calc(50% - 162px); top:46px; transform:rotate(-7deg); }.scene-insight { right:calc(50% - 153px); bottom:39px; transform:rotate(6deg); }
.scene-message svg,.scene-insight svg { width:20px; height:20px; color:#8AD9FF; }
.login-page .welcome-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px 12px; padding-top:25px; margin-top:auto; font-size:11px; color:#AFCBDD; }
.entry-preview-label { display:flex; align-items:center; gap:6px; }.entry-preview-label::before { content:''; width:5px; height:5px; border:1px solid #97CBE8; border-radius:50%; }
.login-page .login-card { grid-column:2; grid-row:1; min-width:0; padding:26px 43px 28px; align-self:stretch; display:flex; flex-direction:column; }
.login-card-top { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:32px; }
.entry-workspace { font-size:13px; font-weight:650; color:var(--hud-text); }.entry-workspace > span { font-size:11px; font-weight:450; color:var(--hud-muted); margin-left:3px; }
.login-page .entry-appearance { margin:0; }
.entry-access-icon { width:46px; height:46px; display:grid; place-items:center; border:1px solid var(--hud-border); border-radius:16px; color:var(--hud-accent); background:linear-gradient(145deg,var(--hud-surface),var(--hud-accent-soft)); box-shadow:inset 0 1px 0 var(--hud-highlight),0 7px 16px #0E47700B; margin-bottom:17px; }
.entry-access-icon svg { width:22px; height:22px; }
.login-page .login-card h1 { margin:0 0 9px; font-weight:600; font-size:29px; letter-spacing:-.04em; line-height:1.15; margin-bottom:9px; }
.login-page .login-card .intro { margin-bottom:28px; font-size:12px; }
.login-page .field { margin-bottom:19px; }.login-page .field label { font-size:11px; margin-bottom:7px; }
.login-page .input-box input { min-height:51px; padding-left:43px; font-size:13px; background:var(--hud-surface); box-shadow:inset 0 1px 2px #08223A06; }
.entry-input-icon { position:absolute; width:18px; height:18px; top:16px; left:14px; color:var(--hud-muted); pointer-events:none; }
.login-page .input-box:focus-within .entry-input-icon { color:var(--hud-accent); }
.login-page .toggle-pass { top:7px; font-size:11px; padding:6px 8px; }
.login-page .login-card .entry-button { min-height:49px; border-radius:14px; font-size:13px; position:relative; overflow:hidden; transition:transform 180ms,box-shadow 400ms,filter 400ms; }
.login-page .entry-button::after { content:''; position:absolute; inset:0; background:linear-gradient(100deg,transparent 25%,#FFF2 49%,transparent 73%); transform:translateX(-100%); pointer-events:none; }
.login-page .entry-button:hover::after,.login-page .entry-button:focus-visible::after { animation:entry-button-light 620ms cubic-bezier(.4,0,.2,1); }
.login-page .login-help { margin-top:19px; border-bottom:1px solid var(--hud-line); padding-bottom:16px; }
.login-page .login-help summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:11px; min-height:36px; padding:5px 0; }
.login-page .login-help summary::-webkit-details-marker { display:none; }
.entry-help-plus { position:relative; display:block; width:24px; height:24px; border-radius:50%; background:var(--hud-surface-2); flex-shrink:0; }
.entry-help-plus::before,.entry-help-plus::after { content:''; position:absolute; width:9px; height:1px; background:var(--hud-accent); left:8px; top:12px; transition:transform 400ms; }
.entry-help-plus::after { transform:rotate(90deg); }.login-help[open] .entry-help-plus::after { transform:rotate(0); }
.login-page .login-help p { font-size:11px; line-height:1.65; margin-top:3px; max-width:none; }
.login-page .login-help[open] p { animation:entry-help-reveal 420ms cubic-bezier(.4,0,.2,1) both; }
.entry-permissions { display:flex; align-items:center; justify-content:center; gap:9px; margin-top:auto; padding-top:23px; color:var(--hud-muted); }
.entry-permissions svg { width:20px; height:20px; flex-shrink:0; color:var(--hud-accent); }.entry-permissions p { margin:0; font-size:11px; line-height:1.5; }
@keyframes entry-scene-settle { from { opacity:0; transform:translateY(8px) scale(.975); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes entry-help-reveal { from { opacity:0; transform:translateY(-3px); } to { opacity:1; transform:translateY(0); } }
@keyframes entry-button-light { to { transform:translateX(100%); } }
@media(max-width:1050px) {
 .login-page .login-wrap { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); }.login-page .login-welcome { padding:28px 26px 24px; }.login-page .login-card { padding:24px 28px; }.login-page .login-card h1 { font-size:26px; }.entry-context label { gap:5px; font-size:11px; }.entry-illustration { gap:12px; }.scene-opportunity { width:143px; }
}
@media(max-width:760px) {
 .login-page { padding:16px; }.login-page .login-wrap { width:min(480px,100%); max-width:480px; grid-template-columns:1fr; min-height:0; border-radius:28px; padding:8px; gap:8px; }.login-page .login-card { grid-column:1; grid-row:1; padding:18px 22px 22px; }.login-card-top { margin-bottom:24px; }.entry-access-icon { display:none; }.login-page .login-card h1 { font-size:27px; }.login-page .login-card .intro { margin-bottom:23px; }.login-page .input-box input { font-size:16px; }.entry-permissions { padding-top:17px; }.entry-permissions p br { display:none; }.entry-permissions p { max-width:29ch; }.login-page .login-welcome { grid-column:1; grid-row:2; padding:24px 23px 21px; border-radius:22px; }.login-page .welcome-copy { margin-top:24px; }.login-page .welcome-copy h2 { font-size:34px; }.login-page .welcome-copy h2 br { display:inline; }.login-page .welcome-copy p { display:block; font-size:12px; margin-top:12px; }.login-page .entry-brand span { font-size:13px; }.entry-showcase { margin-top:22px; }.entry-context label { font-size:11px; }.entry-illustration { height:208px; }.login-page .welcome-footer { display:flex; padding-top:22px; }.entry-scene p { font-size:13px; }.scene-description { line-height:1.5; }.login-page .login-welcome .entry-brand span { font-size:13px; }
}
@media(max-width:380px) {
 .login-page { padding:9px; }.login-page .login-card { padding:17px 15px 20px; }.login-page .login-welcome { padding:22px 16px; }.entry-context label { flex-direction:column; gap:4px; padding:9px 4px; }.entry-illustration { gap:10px; }.scene-opportunity { width:132px; }.scene-message { left:calc(50% - 138px); }.scene-insight { right:calc(50% - 134px); }.scene-message,.scene-insight { padding:8px; gap:4px; font-size:8px; }.scene-message svg,.scene-insight svg { width:17px; height:17px; }.entry-scene p { font-size:12px; }.entry-scene .scene-description { font-size:10px; }.login-page .welcome-footer { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
 .login-page .entry-illustration,.login-page .entry-button::after,.login-page .login-help[open] p { animation:none; }.login-page .entry-context label,.login-page .entry-help-plus::after,.login-page .entry-button { transition:none; }.login-page .entry-button:hover { transform:none; }
}
@media(prefers-reduced-transparency:reduce) {
 .login-page .login-welcome { background:#0D2E49; }.entry-contexts { background:#092238; }.entry-context input:checked + label { background:#24506D; }.scene-opportunity,.scene-planner { background:#214761; }
}
@media(forced-colors:active) {
 .login-page .login-welcome,.entry-contexts,.entry-context label,.scene-opportunity,.scene-planner,.scene-agent,.scene-message,.scene-insight,.scene-icon { background:Canvas; color:CanvasText; border-color:CanvasText; box-shadow:none; }.entry-context input:checked + label { outline:2px solid Highlight; color:Highlight; }.entry-context input:focus-visible + label { outline:3px dashed Highlight; }.login-page .login-welcome p,.login-page .login-welcome span,.login-page .login-welcome small { color:CanvasText; }.entry-illustration::before,.scene-orbit { display:none; }.scene-stages i,.scene-task-check { background:Highlight; }.entry-help-plus::before,.entry-help-plus::after { background:ButtonText; }
}
