/* Shared system: styles.css; feature layout: access.css */
.access-screen{--ink:var(--text);--muted:#655c71;--purple:#6840ad;--line:#e9e8f0;--cyan:#15bbb6;margin:0;background:#f5f5fa;color:var(--ink);font-family:Manrope,Inter,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;min-height:100svh;padding:28px 0}
.access-screen *{box-sizing:border-box}
.access-screen button{font:inherit;outline-offset:5px;cursor:pointer}
.access-screen input{font:inherit;outline-offset:5px}
.access-screen a{outline-offset:5px;color:inherit}
.access-screen button:focus-visible{outline:3px solid #8470ef}
.access-screen a:focus-visible{outline:3px solid #8470ef}
.access-screen svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.access-screen .access-shell{position:relative;width:calc(100% - 64px);max-width:var(--content-width);min-height:calc(100svh - 56px);height:auto;max-height:none;margin:0 auto;background:#fff;border:1px solid #e5e5ef;border-radius:20px;padding:12px;display:grid;grid-template-columns:44% 56%;box-shadow:0 22px 70px -48px #37305540;overflow:hidden}
.access-screen .brand-side{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;background:#eeeaf7;display:flex;flex-direction:column;padding:32px}
.access-screen .brand-side:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 38% 51%,#e3ffffc0,transparent 44%),radial-gradient(ellipse at 90% 90%,#bdb1f94d,transparent 52%);display:none}
.access-screen .wordmark{font-size:23px;font-weight:800;letter-spacing:-.9px;display:flex;gap:10px;align-items:center;color:#1d2030;font-family:Manrope,Arial,sans-serif}
.access-screen .wordmark .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px #ffffff80}
.access-screen .wordmark small{font-size:12px;letter-spacing:.3px;font-weight:650;margin-top:5px;display:block;color:var(--muted)}
.access-screen .brand-head{display:flex;align-items:flex-start;justify-content:space-between}
.access-screen .version{font-size:12px;letter-spacing:1.5px;color:#9d97b0;border:1px solid #d8d3e7;padding:6px 8px;border-radius:6px;display:none}
.access-screen .brand-art{position:relative;flex:1;min-height:260px;display:flex;align-items:center;justify-content:center;margin:0;isolation:isolate}
.access-screen .glow{position:absolute;width:300px;height:300px;border-radius:50%;background:#c1f9f7;filter:blur(56px);opacity:.6;transform:translate(-15px,30px);display:none}
.access-screen .orbit{position:absolute;width:430px;height:430px;border:1px solid #c6bfdf82;border-radius:50%;z-index:-1;display:none}
.access-screen .orbit.two{width:520px;height:520px;border-color:#c6bfdf40}
.access-screen .orbit:before{content:'';width:7px;height:7px;background:#faffff;border:1px solid #8ccfcb;box-shadow:0 0 18px #2ad5d766;position:absolute;left:11%;top:17%;border-radius:50%}
.access-screen .orbit.two:before{left:auto;top:auto;right:15%;bottom:15%;width:5px;height:5px;border-color:#b6a2ea}
.access-screen .axis{position:absolute;height:1px;background:linear-gradient(90deg,transparent,#c6bfdf70,transparent);width:100%;top:50%;z-index:-1;display:none}
.access-screen .axis.vertical{height:100%;width:1px;left:50%;top:0;background:linear-gradient(transparent,#c6bfdf50,transparent)}
.access-screen .original-logo{display:block;position:relative;width:min(80%,300px);height:auto;object-fit:contain;filter:none;animation:access-arrive .18s ease both}
.access-screen .caption{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#8a85a1;font-size:12px;letter-spacing:2.8px;font-weight:650;display:none}
.access-screen .brand-bottom{position:relative;border-top:1px solid #cdc7df7a;padding-top:23px;display:none;align-items:center;justify-content:space-between;gap:var(--space-3)}
.access-screen .brand-bottom h2{font-size:17px;font-weight:700;letter-spacing:-.4px;margin:0 0 7px}
.access-screen .brand-bottom p{font-size:12px;color:#817a99;margin:0}
.access-screen .module-icons{display:none;gap:7px}
.access-screen .module-icons span{width:34px;height:34px;border:1px solid #ffffffb0;display:grid;place-items:center;border-radius:10px;background:#ffffff50;color:#89809f}
.access-screen .module-icons svg{width:16px;height:16px}
.access-screen .form-side{display:flex;flex-direction:column;position:relative;padding:28px 42px;min-width:0}
.access-screen .form-top{display:flex;justify-content:flex-end;gap:7px;align-items:center;font-size:12px;color:var(--muted)}
.access-screen .form-top svg{width:13px;height:13px;color:#88849b}
.access-screen .form-wrap{margin:auto;width:100%;max-width:390px;padding:32px 0;animation:access-arrive .18s ease both}
.access-screen .access-icon{height:44px;width:44px;border:1px solid #e9e4f8;border-radius:13px;background:linear-gradient(145deg,#faf8ff,#f2edff);display:none;place-items:center;color:#785bd4;margin-bottom:26px}
.access-screen .access-icon svg{width:21px;height:21px}
.access-screen .eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:#746c88;margin:0 0 12px;display:none}
.access-screen h1{font-size:30px;line-height:1.2;letter-spacing:-1px;font-weight:800;margin:0 0 13px;color:#1d2030}
.access-screen .intro{font-size:14px;line-height:1.7;margin:0 0 30px;color:var(--muted);margin-bottom:24px}
.access-screen label{display:block;font-size:12px;font-weight:750;margin-bottom:9px}
.access-screen .field{position:relative;display:flex;align-items:center;border:1px solid #dfdfe9;border-radius:var(--control-radius);height:48px;background:#fff;transition:border-color .18s,box-shadow .18s;margin:0;gap:0;border-color:var(--control-line)}
.access-screen .field:focus-within{border-color:#8c74e8;box-shadow:none;outline:var(--focus-ring);outline-offset:3px}
.access-screen .field>svg{margin-left:15px;width:17px;height:17px;color:var(--muted)}
.access-screen .field input{width:100%;height:100%;border:0;outline:0;background:transparent;color:#373448;padding:0 13px;font-size:14px;min-width:0;box-shadow:none;border-radius:11px;min-height:0;margin:0}
.access-screen .field input::placeholder{color:#acabb9}
.access-screen .field input[readonly]{cursor:default}
.access-screen .field-group{margin-bottom:21px}
.access-screen .eye{border:0;background:transparent;color:var(--muted);padding:12px;display:grid;place-items:center;border-radius:8px;margin-right:4px}
.access-screen .eye:hover{color:var(--purple);background:#f8f6fe}
.access-screen .eye svg{width:18px;height:18px}
.access-screen .submit{border:0;width:100%;height:48px;border-radius:var(--control-radius);color:#fff;background:var(--purple);box-shadow:none;font-weight:750;font-size:14px;display:flex;align-items:center;justify-content:center;gap:11px;transition:transform .18s,box-shadow .18s,filter .18s;margin-top:24px;min-height:48px}
.access-screen .submit svg{width:17px;height:17px;transition:transform .18s}
.access-screen .submit:hover{transform:none;filter:none;box-shadow:none;background:var(--purple-dark)}
.access-screen .submit:hover svg{transform:none}
.access-screen .submit:active{transform:translateY(0)}
.access-screen .invite{margin:27px 0 0;display:flex;align-items:center;justify-content:center;gap:5px;color:var(--muted);font-size:13px;flex-wrap:wrap}
.access-screen .invite button{border:0;background:transparent;color:#514663;font-size:13px;font-weight:750;padding:6px;min-height:var(--control-height)}
.access-screen .invite button:hover{color:var(--purple)}
.access-screen .form-foot{border-top:1px solid #eeedf3;padding-top:18px;display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);letter-spacing:.1px;margin-top:16px}
.access-screen .form-foot span:last-child{display:flex;align-items:center;gap:6px}
.access-screen .form-foot i{width:4px;height:4px;border-radius:50%;background:#a1a4b5}
@keyframes access-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.access-screen .form-wrap{max-width:400px}
.access-screen h1{font-size:40px}
.access-screen .brand-side{padding:44px}
.access-screen .original-logo{width:480px}
.access-screen .orbit{width:470px;height:470px}
.access-screen .orbit.two{width:570px;height:570px}
.access-screen .brand-art{margin:0 -44px}
}
@media(max-width:1000px){.access-screen .access-shell{width:calc(100% - 32px);grid-template-columns:40% 60%;min-height:680px}
.access-screen .brand-side{padding:28px 24px}
.access-screen .brand-art{margin:0 -24px}
.access-screen .form-side{padding:26px 30px}
.access-screen .module-icons{display:none}
.access-screen .orbit{width:330px;height:330px}
.access-screen .orbit.two{width:410px;height:410px}
.access-screen h1{font-size:30px}
}
@media(max-width:700px){.access-screen .access-shell{display:block;padding:7px;min-height:0;height:auto;margin-bottom:16px;width:calc(100% - 20px);border-radius:22px}
.access-screen .brand-side{height:100px;padding:20px;flex-direction:row;align-items:flex-start}
.access-screen .wordmark{font-size:20px}
.access-screen .wordmark small{font-size:7px}
.access-screen .version{display:none}
.access-screen .brand-bottom{display:none}
.access-screen .caption{display:none}
.access-screen .axis{display:none}
.access-screen .brand-art{position:absolute;width:90px;height:90px;min-height:0;right:15px;top:5px;margin:0}
.access-screen .original-logo{width:210px}
.access-screen .glow{width:140px;height:140px;filter:blur(20px)}
.access-screen .orbit{width:200px;height:200px}
.access-screen .orbit.two{width:260px;height:260px}
.access-screen .form-side{padding:24px 22px}
.access-screen .form-top{justify-content:flex-start;font-size:12px}
.access-screen .form-wrap{padding:24px 0;max-width:420px}
.access-screen .access-icon{display:none}
.access-screen h1{font-size:27px}
.access-screen .intro{margin-bottom:25px}
.access-screen .form-foot{font-size:12px;flex-wrap:wrap;gap:var(--space-2)}
.access-screen .brand-head{position:relative;z-index:2}
.access-screen .brand-side .wordmark{background:none;padding:0;border-radius:8px;margin-left:-8px;margin:0}
.access-screen .brand-art .original-logo{filter:none;width:82px}
.access-screen{padding:12px 0}
.access-screen .field-group{margin-bottom:18px}
.access-screen .submit{margin-top:23px}
.access-screen .invite{margin-top:20px}
.access-screen .access-note{margin-top:12px}
.access-screen .field input{font-size:16px}
}
@media(min-width:701px) and (max-height:820px){.access-screen .access-shell{min-height:630px}
.access-screen .brand-art{min-height:330px}
.access-screen .original-logo{width:min(80%,350px)}
.access-screen .orbit{width:350px;height:350px}
.access-screen .orbit.two{width:430px;height:430px}
.access-screen .form-wrap{padding:20px 0}
.access-screen .access-icon{margin-bottom:18px}
.access-screen .intro{margin-bottom:23px}
.access-screen .brand-bottom{padding-top:18px}
.access-screen .form-side{padding-top:22px}
}
@media(prefers-reduced-motion:reduce){.access-screen *{animation:none!important;transition:none!important}
.access-screen *:before{animation:none!important;transition:none!important}
.access-screen *:after{animation:none!important;transition:none!important}
}
.access-screen .field input:focus{box-shadow:none;outline:0}
.access-screen .field input:-webkit-autofill{-webkit-text-fill-color:#373448;box-shadow:0 0 0 1000px white inset}
.access-screen .form-error{margin:0;color:#ad2546;font-size:12px;line-height:1.5}
.access-screen .form-error:not(:empty){margin:14px 0 0}
.access-screen button:disabled{opacity:.65;cursor:wait}
.access-screen .pin-input{letter-spacing:16px;font-size:26px;text-align:center;padding-left:29px}
.access-screen .access-note{font-size:13px;line-height:1.65;color:var(--muted);margin:18px 0 0}
.access-screen .plain-action{display:block;margin:16px auto 0;border:0;background:transparent;color:#655284;font-size:12px;padding:8px;min-height:var(--control-height)}
.access-screen .device-label{font-size:13px;color:#494155;margin:0 0 20px}
.access-screen .field-group label{font-size:12px}
.access-filters{display:flex;gap:var(--space-3);align-items:end;flex-wrap:wrap;margin:0 0 20px}
.access-filters label{font-size:12px;display:grid;gap:7px}
.access-filters input{padding:10px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--text)}
.access-filters select{padding:10px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--text)}
