:root{--access-ink:#2f2845;--access-plum:#403252;--access-plum-2:#5d4c73;--access-sage:#78a093;--access-mint:#dcece6;--access-cream:#faf7f2;--access-line:#e9e1d9;--access-muted:#756f7c;--access-shadow:0 32px 90px rgba(48,38,61,.16)}
*{box-sizing:border-box}
html{background:var(--access-cream)}
body.access-page{min-height:100svh;height:auto;margin:0;padding:clamp(18px,3vw,44px);overflow:auto;display:grid;place-items:center;background:radial-gradient(circle at 5% 8%,rgba(163,197,185,.28),transparent 29%),radial-gradient(circle at 96% 92%,rgba(205,183,212,.28),transparent 32%),var(--access-cream);font-family:'DM Sans',sans-serif;color:var(--access-ink)}
body.access-page:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(rgba(64,50,82,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(64,50,82,.035) 1px,transparent 1px);background-size:42px 42px}
.access-page .bg-shape{display:none}
.access-shell{position:relative;z-index:1;width:min(1120px,100%);min-height:min(720px,calc(100svh - 48px));display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);overflow:hidden;border:1px solid rgba(73,57,91,.1);border-radius:34px;background:#fff;box-shadow:var(--access-shadow)}
.access-story{position:relative;isolation:isolate;overflow:hidden;padding:clamp(34px,5vw,72px);display:flex;flex-direction:column;color:#fff;background:linear-gradient(145deg,#2d253e 0%,#453654 55%,#586c69 135%)}
.access-story:before,.access-story:after{content:"";position:absolute;border-radius:50%;z-index:-1}
.access-story:before{width:420px;height:420px;right:-190px;top:-120px;border:1px solid rgba(255,255,255,.16);box-shadow:0 0 0 65px rgba(255,255,255,.035),0 0 0 130px rgba(255,255,255,.025)}
.access-story:after{width:280px;height:280px;left:-120px;bottom:-130px;background:radial-gradient(circle,rgba(133,173,159,.42),transparent 68%)}
.access-brand{width:max-content;display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none}
.access-brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.access-brand-mark img{width:44px;height:44px;object-fit:contain;border-radius:13px}
.access-brand strong{display:block;font-family:'Playfair Display',serif;font-size:1.36rem;line-height:1.05;letter-spacing:-.02em}
.access-brand small{display:block;margin-top:5px;color:#b9d7ce;font-size:.69rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.story-copy{margin:auto 0;max-width:570px;padding:70px 0 40px}
.story-kicker,.panel-kicker{display:inline-flex;align-items:center;gap:8px;color:#bfe1d6;font-size:.76rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.story-copy h1{max-width:520px;margin:19px 0 22px;font-family:'Playfair Display',serif;font-size:clamp(2.7rem,5vw,5.05rem);line-height:.98;letter-spacing:-.045em;color:#fff}
.story-copy p{max-width:500px;margin:0;color:rgba(255,255,255,.76);font-size:clamp(1rem,1.6vw,1.16rem);line-height:1.75}
.trust-row{display:flex;flex-wrap:wrap;gap:10px}
.trust-row span{display:inline-flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.84);font-size:.79rem;font-weight:600;backdrop-filter:blur(12px)}
.trust-row i{color:#bfe1d6}
.access-panel{min-width:0;display:grid;place-items:center;padding:clamp(25px,4vw,62px);background:linear-gradient(180deg,#fff 0%,#fdfbf8 100%)}
.access-panel-inner,.access-page .login-card,.access-page .auth-card{width:100%;max-width:470px;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;text-align:left;animation:none}
.access-page .login-card .btn-back{position:static;width:max-content;margin-bottom:44px;padding:9px 12px;border:1px solid var(--access-line);border-radius:999px;color:var(--access-muted);font-size:.8rem}
.access-page .logo-container{width:68px;height:68px;margin:0 0 24px;top:0;border-radius:20px;box-shadow:0 12px 32px rgba(58,45,74,.12)}
.access-page .login-card h3,.access-page .auth-header h3,.access-panel h2{margin:0 0 9px;color:var(--access-ink);font-family:'Playfair Display',serif;font-size:clamp(2rem,3vw,2.75rem);font-weight:700;letter-spacing:-.035em}
.access-page .subtitle,.access-panel p{margin:0 0 31px;color:var(--access-muted);font-size:.97rem;line-height:1.65}
.access-page .login-card form{margin-top:28px}
.access-page .input-group{border:1px solid var(--access-line);border-radius:15px;background:#fff;transition:.2s ease;box-shadow:0 7px 20px rgba(53,43,67,.035)}
.access-page .input-group:focus-within{border-color:#88a99e;box-shadow:0 0 0 4px rgba(120,160,147,.13)}
.access-page .input-group-text{width:48px;justify-content:center;border:0!important;background:transparent;color:var(--access-sage)}
.access-page .input-group .form-control{min-height:54px;border:0!important;background:transparent!important;padding:12px 14px 12px 0;color:var(--access-ink);box-shadow:none!important}
.access-page .form-control:not(.input-group .form-control),.access-page .form-select{min-height:52px;border:1px solid var(--access-line);border-radius:13px;background:#fff;color:var(--access-ink);box-shadow:0 7px 20px rgba(53,43,67,.025)}
.access-page .form-control:focus,.access-page .form-select:focus{border-color:#88a99e;box-shadow:0 0 0 4px rgba(120,160,147,.13)}
.access-page .form-label{margin-bottom:7px;color:#696274;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.access-primary,.access-page .btn-elite,.access-page .btn-primary-elite{min-height:56px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:13px;padding:14px 18px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--access-plum),var(--access-plum-2));color:#fff;text-decoration:none;font-size:.94rem;font-weight:800;letter-spacing:.01em;box-shadow:0 14px 28px rgba(64,50,82,.22);transition:transform .2s,box-shadow .2s}
.access-primary:hover,.access-page .btn-elite:hover,.access-page .btn-primary-elite:hover{transform:translateY(-2px);color:#fff;box-shadow:0 18px 34px rgba(64,50,82,.28)}
.access-primary:active,.access-page .btn-elite:active,.access-page .btn-primary-elite:active{transform:translateY(0) scale(.99)}
.access-page .security-note,.panel-security{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin-top:18px;color:#817a86;font-size:.75rem;line-height:1.45;text-align:center}
.access-page .login-footer{margin-top:34px;padding-top:22px;border-top:1px solid var(--access-line);color:#99919d;text-align:left}
.access-page .auth-header{padding:0 0 25px;background:transparent;color:var(--access-ink);text-align:left}
.access-page .auth-header .btn{display:none}
.access-page .auth-header p{color:var(--access-muted)!important;opacity:1!important}
.access-page .auth-card>.p-4{padding:0!important}
.access-page .nav-tabs{margin:0 0 27px;padding:5px;border:1px solid var(--access-line);border-radius:14px;background:#f5f1ec}
.access-page .nav-tabs .nav-link{min-height:43px;border-radius:10px;color:#77717e;font-size:.88rem;font-weight:700}
.access-page .nav-tabs .nav-link.active{color:var(--access-ink);box-shadow:0 5px 15px rgba(53,43,67,.08)}
.access-page .section-title{margin:28px 0 15px;padding:0 0 9px;border-bottom:1px solid var(--access-line);color:#7c948c;font-size:.7rem;letter-spacing:.14em}
.access-page .alert{border-radius:13px!important}
.access-alert{margin-bottom:23px;padding:13px 15px;border-radius:13px;font-size:.84rem;line-height:1.5}
.access-alert.danger{border:1px solid #f1d3ce;background:#fff3f1;color:#8c4038}
.compact-shell{min-height:620px}
.activation-card .panel-icon{width:64px;height:64px;display:grid;place-items:center;margin-bottom:26px;border-radius:20px;background:var(--access-mint);color:#4f7d70;font-size:1.65rem}
.activation-card .panel-kicker{margin-bottom:14px;color:#678f83}
.activation-card p{margin-bottom:26px}
@media(max-width:850px){body.access-page{padding:0;display:block;background:#fff}.access-shell{min-height:100svh;grid-template-columns:1fr;border:0;border-radius:0;box-shadow:none}.access-story{min-height:245px;padding:27px 24px 34px}.story-copy{margin:38px 0 0;padding:0}.story-copy h1{max-width:620px;margin:13px 0 12px;font-size:clamp(2.25rem,10vw,3.35rem)}.story-copy p{font-size:.94rem;line-height:1.55}.trust-row{display:none}.access-panel{place-items:start stretch;padding:29px 22px 50px}.access-page .login-card .btn-back{display:none}.access-page .logo-container{display:none}.access-page .login-card h3,.access-page .auth-header h3,.access-panel h2{font-size:2rem}.access-page .subtitle{margin-bottom:23px}.compact-shell .access-story{min-height:275px}}
@media(max-width:480px){.access-brand-mark{width:45px;height:45px;border-radius:14px}.access-brand-mark img{width:38px;height:38px}.access-brand strong{font-size:1.17rem}.access-story{min-height:225px}.story-copy{margin-top:29px}.story-copy h1{font-size:2.28rem}.access-panel{padding:26px 18px 42px}.access-page .auth-card>.p-4{padding:0!important}.access-page .row.g-2{--bs-gutter-y:.7rem}.access-page .btn-primary-elite{position:sticky;bottom:12px;z-index:2}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

