:root{color:#17212b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#e4e8e7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.auth-page{--vmv-night:#061a26;--vmv-navy:#0a2d3d;--vmv-teal:#0f5960;--vmv-teal-bright:#1f8790;--vmv-ice:#d9f6fb;--vmv-sky:#72cfe2;--vmv-brown:#76513d;isolation:isolate;background:radial-gradient(circle at 14% 12%, #1f87903d, transparent 33%), radial-gradient(circle at 88% 86%, #76513d3d, transparent 28%), linear-gradient(135deg, var(--vmv-night) 0%, #092a39 48%, #0b3441 100%);color:#f3fbfc;place-items:center;min-height:100vh;padding:64px 32px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;position:relative;overflow:hidden}.auth-grid{z-index:-1;opacity:.14;background-image:linear-gradient(#b4ecf63d 1px,#0000 1px),linear-gradient(90deg,#b4ecf63d 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 72%);mask-image:linear-gradient(90deg,#000,#0000 72%)}.auth-grid:after{content:"";border:1px solid #72cfe259;border-radius:50%;width:620px;height:620px;position:absolute;bottom:-420px;left:-260px;box-shadow:0 0 0 90px #72cfe208,0 0 0 180px #72cfe205}.auth-shell{grid-template-columns:minmax(0,1fr) minmax(360px,430px);align-items:center;gap:clamp(56px,8vw,112px);width:min(1180px,100%);display:grid}.auth-brand{gap:42px;max-width:680px;display:grid}.auth-brand-lockup{align-items:center;gap:16px;display:flex}.auth-logo{filter:drop-shadow(0 12px 22px #00000042);flex:none;width:62px;height:62px}.auth-brand-lockup p{margin:0}.auth-brand-name{color:#effcff;letter-spacing:.01em;font-size:18px;font-weight:750}.auth-brand-short{color:var(--vmv-sky);letter-spacing:.28em;font-size:12px;font-weight:800;margin-top:3px!important}.auth-brand-copy{gap:18px;display:grid}.auth-eyebrow{color:var(--vmv-sky);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.auth-brand h1{color:#f6fdff;letter-spacing:-.055em;text-overflow:clip;white-space:normal;max-width:650px;margin:0;font-size:clamp(48px,5.5vw,76px);font-weight:720;line-height:.99;overflow:visible}.auth-brand h1 span{color:var(--vmv-ice);font-weight:430}.auth-lead{color:#b9d4da;max-width:610px;margin:0;font-size:clamp(17px,1.7vw,20px);line-height:1.65}.auth-capabilities{flex-wrap:wrap;gap:10px;display:flex}.auth-capabilities span{color:#cce8ed;background:#05192447;border:1px solid #72cfe240;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:650}.auth-source-note{color:#819fa7;letter-spacing:.03em;align-items:center;gap:10px;margin:-20px 0 0;font-size:12px;font-weight:600;display:flex}.auth-source-note span{background:var(--vmv-brown);border-radius:2px;width:22px;height:3px}.auth-card{color:#132a34;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7fcfcf7;border:1px solid #c7ebf13d;border-radius:20px;gap:17px;padding:clamp(28px,4vw,42px);display:grid;box-shadow:0 32px 80px #00000057,inset 0 1px #fff}.auth-card-heading{gap:7px;margin-bottom:5px;display:grid}.auth-card-heading p{color:#62777e;margin:0;font-size:13px;line-height:1.55}.auth-card-heading .auth-card-kicker{color:var(--vmv-teal-bright);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:850}.auth-card h2{color:#102b36;letter-spacing:-.035em;margin:0;font-size:28px}.auth-field{color:#29424b;gap:7px;font-size:13px;font-weight:700;display:grid}.auth-field>input,.auth-password-control input{color:#102b36;width:100%;min-height:48px;font:inherit;background:#fff;border:1px solid #c8d7da;border-radius:9px;padding:0 14px;font-weight:500;transition:border-color .15s,box-shadow .15s}.auth-field input::placeholder{color:#95a7ab}.auth-field input:focus{border-color:var(--vmv-teal-bright);outline:0;box-shadow:0 0 0 3px #1f879024}.auth-field input:read-only{color:#526970;background:#edf3f4}.auth-password-control{display:block;position:relative}.auth-password-control input{padding-right:49px}.auth-password-toggle{color:#637a81;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.auth-password-toggle:hover{color:var(--vmv-teal);background:#eaf3f4}.auth-password-toggle:focus-visible,.auth-link:focus-visible{outline:2px solid var(--vmv-teal-bright);outline-offset:2px}.auth-password-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.auth-check{color:#536a72;cursor:pointer;align-items:center;gap:9px;font-size:12px;display:flex}.auth-check input{width:16px;height:16px;accent-color:var(--vmv-teal-bright);margin:0}.auth-primary,.auth-test-user{width:100%;font:inherit;cursor:pointer;border-radius:9px;transition:transform .15s,box-shadow .15s,background .15s}.auth-primary{color:#fff;background:linear-gradient(135deg,#12636a,#0c4653);border:1px solid #0e535b;min-height:48px;font-weight:760;box-shadow:0 10px 22px #0c465330}.auth-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 13px 26px #0c465340}.auth-primary:focus-visible,.auth-test-user:focus-visible{outline-offset:2px;outline:3px solid #72cfe280}.auth-primary:disabled,.auth-test-user:disabled{opacity:.6;cursor:wait}.auth-divider{color:#97a8ac;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:11px;display:grid}.auth-divider:before,.auth-divider:after{content:"";background:#dbe5e7;height:1px}.auth-test-user{color:#173d47;text-align:left;background:#eaf5f5;border:1px solid #b9d3d7;align-items:center;gap:12px;min-height:58px;padding:9px 13px;display:flex}.auth-test-user:hover:not(:disabled){background:#e0f1f2;border-color:#7db8be;transform:translateY(-1px)}.auth-test-user>svg{fill:none;width:25px;height:25px;stroke:var(--vmv-teal-bright);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none}.auth-test-user span{gap:2px;display:grid}.auth-test-user strong{font-size:13px}.auth-test-user small{color:#61787e;font-size:11px}.auth-links{justify-content:space-between;gap:12px;display:flex}.auth-link{color:#176d74;min-height:28px;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.auth-link:hover{color:#0b4b53;text-underline-offset:3px;text-decoration:underline}.auth-password-guidance{color:#61777d;gap:6px;margin-top:-8px;font-size:11px;line-height:1.4;display:grid}.auth-password-guidance>span{font-weight:700}.auth-password-guidance ul{grid-template-columns:1fr 1fr;gap:4px 12px;margin:0;padding:0;list-style:none;display:grid}.auth-password-guidance li{align-items:center;gap:5px;display:flex}.auth-password-guidance li>span{color:#8da0a5;width:12px;font-weight:900}.auth-password-guidance li.is-met{color:#176d59}.auth-password-guidance li.is-met>span{color:#1a8069}.auth-feedback{border:1px solid;border-radius:8px;margin:0;padding:10px 12px;font-size:12px;line-height:1.45}.auth-feedback strong{display:block}.auth-feedback ul{margin:5px 0 0;padding-left:18px}.auth-feedback-error{color:#9f2f22;background:#fff1ee;border-color:#ebc0b8}.auth-feedback-notice{color:#176451;background:#edf9f6;border-color:#a8d7cf}.auth-loading{color:var(--vmv-ice);letter-spacing:.04em;margin:0;font-size:14px;font-weight:700}.auth-footer{color:#6f9098;white-space:nowrap;margin:0;font-size:11px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.auth-footer span{color:var(--vmv-brown);margin:0 7px}@media (width<=900px){.auth-page{padding:36px 24px 56px;overflow-y:auto}.auth-shell{grid-template-columns:1fr;gap:42px;max-width:620px}.auth-brand{gap:28px}.auth-brand h1{font-size:clamp(44px,10vw,64px)}.auth-source-note{margin-top:-8px}.auth-footer{margin-top:34px;position:static;transform:none}}@media (width<=520px){.auth-page{padding:24px 16px 38px}.auth-brand{gap:23px}.auth-logo{width:52px;height:52px}.auth-brand h1{font-size:42px}.auth-lead{font-size:16px}.auth-capabilities{gap:7px}.auth-capabilities span{padding:7px 10px;font-size:11px}.auth-card{border-radius:16px;padding:26px 22px}.auth-links{flex-direction:column;align-items:flex-start;gap:5px}}@media (prefers-reduced-motion:reduce){.auth-primary,.auth-test-user,.auth-field input{transition:none}}.auth-expired-backdrop{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04131bb8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.auth-expired-dialog{color:#132a34;background:#f8fcfc;border:1px solid #bfd8dc;border-radius:16px;gap:14px;width:min(420px,100%);padding:30px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;box-shadow:0 28px 72px #00000057}.auth-expired-dialog h2,.auth-expired-dialog p{margin:0}.auth-expired-dialog h2{letter-spacing:-.025em;font-size:25px}.auth-expired-dialog>p:not(.auth-expired-kicker){color:#526b73;line-height:1.55}.auth-expired-dialog .auth-expired-kicker{color:#1f7b83;letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:850}.auth-expired-dialog button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#12636a,#0c4653);border:1px solid #0e535b;border-radius:9px;margin-top:6px;font-weight:760}.auth-expired-dialog button:hover{background:linear-gradient(135deg,#167078,#0e5260)}.auth-expired-dialog button:focus-visible{outline-offset:2px;outline:3px solid #1f879059}.viewer-loading{--loading-accent:#75d8db;color:#edf9f9;gap:16px;display:grid}.viewer-loading--preparing{--loading-accent:#8de1bd}.viewer-loading--opening{--loading-accent:#f0c98d}.viewer-loading-scene{border-radius:50%;width:190px;height:190px;margin:auto;position:relative}.viewer-loading-scene:before{content:"";background:repeating-radial-gradient(at 48% -10%,#0000 0 22px,#c5efe73d 23px 24px,#0000 25px 38px),radial-gradient(circle at 50% 30%,#75d8db38,#0000 31%),linear-gradient(160deg,#11424e,#062430);border:1px solid #dbf8f757;border-radius:50%;position:absolute;inset:22px}.viewer-loading-scene:after{content:"";z-index:2;filter:blur(3px);background:#75d8db33;border-radius:50%;width:114px;height:20px;animation:2.8s ease-in-out infinite loading-scan;position:absolute;top:31px;left:38px}.viewer-loading-orbit{background:var(--loading-accent);transform-origin:98px 0;border-radius:50%;width:6px;height:6px;animation:9s linear infinite loading-spin;position:absolute;top:50%;left:-3px}.viewer-loading-wells{z-index:3;justify-content:space-between;display:flex;position:absolute;inset:48px 52px;transform:rotate(-7deg)}.viewer-loading-wells span{background:linear-gradient(#e7f9f738, var(--loading-accent));transform-origin:top;border-radius:2px;width:2px;height:78%;animation:2.2s ease-in-out infinite loading-well;position:relative}.viewer-loading-wells span:after{content:"";border:1px solid var(--loading-accent);border-radius:50%;width:7px;height:7px;position:absolute;bottom:-3px;left:-3px}.viewer-loading-wells span:nth-child(2){height:92%;animation-delay:-.7s}.viewer-loading-wells span:nth-child(3){height:65%;animation-delay:-1.4s}.viewer-loading p{letter-spacing:.035em;margin:0;font-size:clamp(.96rem,2.8vw,1.08rem);font-weight:720}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-scan{to{opacity:0;transform:translateY(100px)}}@keyframes loading-well{50%{opacity:.45;transform:scaleY(.72)}}@media (prefers-reduced-motion:reduce){.viewer-loading-orbit,.viewer-loading-scene:after,.viewer-loading-wells span{animation:none}}.bootstrap-page{color:#e8f5f8;background:radial-gradient(circle at 20% 15%,#29708752,#0000 38%),linear-gradient(145deg,#082735,#0d3443 60%,#102a35);place-items:center;min-height:100vh;padding:24px;display:grid}.bootstrap-loading{letter-spacing:.02em;margin:0;font-weight:700}.bootstrap-blocked{background:#061f2ad1;border:1px solid #68d0e473;border-radius:18px;width:min(520px,100%);padding:32px;box-shadow:0 24px 70px #00000047}.bootstrap-blocked h1{margin:6px 0 12px;font-size:clamp(1.6rem,4vw,2.2rem)}.bootstrap-blocked p{line-height:1.55}.bootstrap-kicker{color:#68d0e4;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.bootstrap-blocked button{color:#06232f;cursor:pointer;background:#68d0e4;border:0;border-radius:9px;margin-top:10px;padding:10px 18px;font-weight:800}
