﻿/* Login-only entrance, using the public LUCIDITY website's navy, blue and lime brand. */
html:has(.lmis-login), body:has(.lmis-login) { min-width:0!important; height:auto; min-height:100%; }
body:has(.lmis-login) { margin:0; background:#020c16; }
body:has(.lmis-login) #hidelogindiv,body:has(.lmis-login) #divCurrentCredentials,body:has(.lmis-login) #SiteMenu,body:has(.lmis-login) #SysFooter { display:none!important; }
.lmis-login,.lmis-login * { box-sizing:border-box; }
.lmis-login { position:relative; isolation:isolate; min-height:100vh; min-height:100svh; display:grid; grid-template-rows:auto 1fr auto; padding:0 clamp(24px,4vw,84px); color:#f4f8fb; font-family:"Segoe UI",Arial,sans-serif; background:radial-gradient(ellipse at 46% 52%,#073768 0,transparent 48%),radial-gradient(ellipse at 100% 0,#072342 0,transparent 45%),linear-gradient(125deg,#01080e,#041223 78%,#091c30); }
.lmis-login::before { content:""; position:absolute; inset:0; pointer-events:none; z-index:-1; background:repeating-linear-gradient(32deg,transparent 0,transparent 45px,#1b54891c 46px,#1b54891c 47px,transparent 48px,transparent 92px); mask-image:linear-gradient(110deg,#0007,transparent 80%); }
.login-masthead { width:100%; max-width:1480px; margin:0 auto; padding:24px 0; display:flex; align-items:center; justify-content:space-between; gap:28px; border-bottom:1px solid #b2dfef24; }
.login-brand { display:block; flex:0 1 265px; }
.login-brand img { display:block; width:265px; max-width:100%; height:auto; object-fit:contain; border-radius:5px; }
.login-navigation { display:flex; gap:28px; align-items:center; font-size:13px; font-weight:600; }
.lmis-login a { text-decoration:none; }
.login-navigation a { display:inline-flex; align-items:center; gap:10px; color:#d9e8f4; padding:10px 0; }
.login-navigation a:hover { color:#c4e54b; }
.login-navigation a.login-nav-register { border:1px solid #92b634; border-radius:26px; padding:12px 22px; color:#c4e54b; background:#accc3210; }
.login-navigation a.login-nav-register:hover { background:#accc3225; }
.login-stage { width:100%; max-width:1480px; margin:0 auto; padding:65px 0; display:grid; grid-template-columns:minmax(0,1.8fr) minmax(350px,1fr); gap:clamp(35px,4vw,72px); align-items:center; }
.login-welcome { min-width:0; }
.login-eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 28px; color:#b5cae0; font-size:11px; font-weight:700; line-height:1.6; letter-spacing:2px; }
.login-eyebrow>span { width:7px; height:7px; border-radius:50%; flex-shrink:0; background:#b4d838; box-shadow:0 0 0 5px #b4d83813,0 0 18px #b4d83855; }
.login-story { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:4px; }
.login-welcome h1 { margin:0 0 24px; font-family:inherit; font-size:clamp(36px,3.1vw,56px); line-height:1.15; font-weight:650; letter-spacing:-1.8px; color:#fff; }
.login-welcome h1>span { color:#b4d72c; white-space:nowrap; }
.login-intro { max-width:340px; margin:0; color:#b9cbdc; font-size:16px; line-height:1.8; }
.login-emblem { min-width:0; position:relative; }
.login-emblem img { display:block; width:100%; max-width:440px; height:auto; object-fit:contain; margin:0 auto; border-radius:10px; box-shadow:0 0 45px #047edf19; }
.login-pillars { display:flex; flex-wrap:wrap; align-items:center; gap:30px; list-style:none; padding:28px 0 0; margin:35px 0 0; border-top:1px solid #b2dfef24; }
.login-pillars li { display:flex; align-items:center; gap:12px; font-size:13px; font-weight:600; color:#d6e8f0; }
.login-pillar-icon { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid #4f9ac687; border-radius:50%; background:#0761a820; box-shadow:0 0 0 4px #5eb8df08; color:#97d9f9; font-size:17px; }
.login-pillars li:last-child .login-pillar-icon { color:#c0dd67; border-color:#8bad4877; }
.login-card { position:relative; justify-self:end; width:100%; max-width:440px; padding:36px; border:1px solid #d9e8ee; border-radius:23px; color:#19394d; background:#fcfeff; box-shadow:0 24px 80px #0005,0 0 0 7px #8bc2ee0c; }
.login-card::before { content:""; position:absolute; top:0; left:35px; right:35px; height:3px; border-radius:0 0 8px 8px; background:linear-gradient(90deg,#176bad,#75b9d4 60%,#b4d72c); }
.login-card-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.login-card-eyebrow { margin:0 0 10px; font-size:10px; line-height:1.5; font-weight:700; letter-spacing:1.3px; color:#577a8e; }
.login-card h2 { font-family:inherit; font-size:29px; line-height:1.2; font-weight:650; letter-spacing:-.7px; margin:0; color:#19394d; }
.login-card-halo { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:43px; height:43px; border:2px solid #84bddb; border-radius:50%; box-shadow:0 0 0 4px #e8f4fa; background:radial-gradient(circle at 35% 25%,#266d9c,#0b355d); color:#fff; font-size:18px; }
.login-card-intro { color:#5c7181; margin:15px 0 28px; font-size:14px; line-height:1.6; }
.login-card .form-group { margin:0 0 22px; }
.login-label { display:block; margin:0 0 9px; font-size:13px; font-weight:600; color:#334f60; }
.login-input { position:relative; }
.login-input>.glyphicon { position:absolute; z-index:1; left:16px; top:18px; color:#6f8da0; font-size:15px; pointer-events:none; }
.login-card .form-control { display:block; width:100%; height:52px; padding:12px 16px 12px 43px; font-family:inherit; font-size:16px; color:#19394d; border:1px solid #cbdce5; border-radius:10px; background:#f5f9fc; box-shadow:none; transition:border-color .15s,box-shadow .15s; }
.login-card .form-control::placeholder { color:#718596; opacity:1; }
.login-card .form-control:focus { outline:0; border-color:#367fad; background:#fff; box-shadow:0 0 0 3px #60a1bf24; }
.login-card .has-error .form-control { border-color:#b43f65; background:#fff8fa; }
.login-card .has-error .login-label { color:#992548; }
.login-password .form-control { padding-right:54px; }
.login-password-toggle { position:absolute; top:5px; right:5px; width:42px; height:42px; display:flex; align-items:center; justify-content:center; border:0; border-radius:8px; background:transparent; color:#57788b; font-size:18px; }
.login-password-toggle:hover { background:#e2eef4; color:#235a73; }
.login-submit { display:flex; align-items:center; justify-content:space-between; width:100%; padding:16px 20px; border:1px solid #a2c425; border-radius:11px; background:linear-gradient(110deg,#c4e54b,#b0d432); color:#203107!important; font-size:16px; font-weight:700; box-shadow:0 5px 14px #809b1726; transition:background .15s,box-shadow .15s; }
.login-submit:hover { background:#cce963; box-shadow:0 7px 20px #809b173b; }
.login-recovery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0 26px; }
.login-recovery a { display:flex; align-items:center; justify-content:center; min-height:48px; padding:11px 10px; border:1px solid #bed2e0; border-radius:9px; background:#edf5fb; color:#244f70; font-size:16px; line-height:1.4; font-weight:600; text-align:center; text-decoration:underline; text-decoration-color:currentColor; text-underline-offset:4px; }
.login-recovery a:hover { color:#14395b; background:#dcecf7; border-color:#5482a0; }
.login-register { display:flex; flex-direction:column; gap:9px; padding-top:23px; border-top:1px solid #e0e9ee; font-size:13px; }
.login-register>span { color:#677f8e; }
.login-register a { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#225d86; font-weight:650; }
.login-register a:hover { color:#112f50; }
.login-footer { width:100%; max-width:1480px; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; border-top:1px solid #b2dfef24; color:#9cb5c9; font-size:12px; }
.login-footer-tagline { color:#b8ccd9; }
.login-footer img { display:block; width:128px; max-width:100%; height:auto; padding:7px 10px; background:#f8fbfc; border-radius:7px; }
.lmis-login a:focus-visible,.lmis-login button:focus-visible { outline:3px solid #b4d72c; outline-offset:5px; }
.login-card a:focus-visible,.login-card button:focus-visible { outline-color:#1e6eaa; }
.login-card:focus { outline:2px solid #6daed6; outline-offset:5px; }
.login-skip { position:absolute; left:24px; top:-80px; z-index:10; padding:12px 20px; color:#19394d; background:#fff; border-radius:8px; }
.login-skip:focus { top:14px; }
body:has(.lmis-login) .ErrorModalPopUpPanel { width:min(460px,calc(100vw - 32px))!important; min-width:0!important; max-height:calc(100vh - 50px); overflow:auto; border:0; border-radius:16px; box-shadow:0 20px 70px #0005; }
body:has(.lmis-login) .ErrorModalPopUpPanel .panel { margin:0; border:0; }
body:has(.lmis-login) .ErrorModalPopUpPanel .panel-heading { background:#f7eaf0; color:#7e2245; padding:18px; border:0; }
body:has(.lmis-login) .ErrorModalPopUpPanel .panel-body { padding:24px; color:#294759; background:#fff; }
body:has(.lmis-login) .ErrorModalPopUpPanel .btn-submit { background:#173b68; color:#fff; border:0; border-radius:20px; padding:9px 24px; box-shadow:none; }
@media(max-width:1250px) { .login-stage { grid-template-columns:minmax(0,1.4fr) minmax(340px,1fr); gap:35px; } .login-welcome h1 { font-size:36px; letter-spacing:-1px; } .login-intro { font-size:14px; } .login-card { padding:29px; } .login-pillars { gap:24px; } .login-pillars li { gap:9px; font-size:12px; } }
@media(min-width:801px) and (max-width:1000px) { .login-story { grid-template-columns:1fr; } .login-welcome h1 { font-size:38px; } .login-emblem { max-width:230px; margin:20px auto 0; } .login-stage { padding:38px 0; } .login-pillars { gap:16px; margin-top:24px; padding-top:22px; } .login-pillar-icon { width:30px; height:30px; font-size:14px; } }
@media(max-width:800px) { .lmis-login { padding:0 24px; } .login-masthead { padding:20px 0; gap:20px; } .login-brand { flex-basis:200px; } .login-navigation { gap:14px; font-size:12px; } .login-navigation a { gap:6px; } .login-navigation a:first-child,.login-navigation a.login-nav-register { display:none; } .login-stage { grid-template-columns:minmax(0,1fr); gap:32px; padding:32px 0 42px; max-width:480px; } .login-eyebrow { margin-bottom:18px; font-size:9px; letter-spacing:1.4px; } .login-story { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:14px; } .login-welcome h1 { font-size:clamp(26px,5.2vw,38px); margin-bottom:0; letter-spacing:-.9px; } .login-intro { font-size:13px; line-height:1.6; margin-top:17px; } .login-emblem img { border-radius:7px; } .login-pillars { margin-top:20px; padding-top:18px; gap:22px; } .login-pillars li { font-size:11px; gap:8px; } .login-pillar-icon { width:30px; height:30px; font-size:14px; } .login-card { justify-self:stretch; max-width:none; padding:28px; border-radius:20px; } .login-card h2 { font-size:28px; } .login-footer { padding:20px 0; font-size:11px; gap:16px; } .login-footer-tagline { display:none; } .login-footer img { width:110px; } }
@media(max-width:380px) { .lmis-login { padding:0 18px; } .login-brand { flex-basis:180px; } .login-story { gap:8px; } .login-welcome h1 { font-size:25px; } .login-card { padding:25px 21px; } .login-card-halo { width:38px; height:38px; font-size:16px; } .login-card h2 { font-size:25px; } .login-card-eyebrow { font-size:9px; } .login-pillars { gap:15px; } }
@media(prefers-reduced-motion:reduce) { .login-card .form-control,.login-submit { transition:none; } }
@media(max-width:480px) { .login-recovery { grid-template-columns:1fr; } }
@media(min-width:801px) and (max-height:850px) {
    .login-masthead { padding:16px 0; }
    .login-brand { flex-basis:210px; }
    .login-brand img { width:210px; }
    .login-stage { padding:28px 0; }
    .login-card { padding:26px 30px; }
    .login-card h2 { font-size:27px; }
    .login-card-intro { margin:12px 0 22px; }
    .login-card .form-group { margin-bottom:18px; }
    .login-card .form-control { height:48px; }
    .login-input>.glyphicon { top:16px; }
    .login-password-toggle { top:3px; }
    .login-submit { padding:14px 20px; }
    .login-recovery { margin:17px 0 21px; }
    .login-register { padding-top:18px; gap:7px; }
    .login-footer { padding:15px 0; }
}

/* Founding developer tribute: a quiet place of honour with a distinctive lime halo. */
html:has(.login-founder-dialog[open]),body:has(.login-founder-dialog[open]) { overflow:hidden; }
.login-founder { display:flex; align-items:center; gap:24px; margin-top:30px; padding:22px 0 0; border-top:1px solid #b2dfef24; }
.login-founder-halo { flex:0 0 88px; width:88px; height:88px; padding:12px; border:2px solid #d2ed79; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; color:#efffc4; background:radial-gradient(circle at 32% 22%,#53752d,#193c32 60%,#0b2633); box-shadow:0 0 0 5px #b4d72c20,0 0 0 9px #b4d72c0b,0 5px 25px #a4d62b24,inset 0 0 0 3px #081c2c; cursor:pointer; transition:box-shadow .18s,transform .18s; }
.login-founder-halo>.glyphicon { font-size:22px; color:#d8f195; }
.login-founder-halo strong { font-size:10px; line-height:1.15; letter-spacing:1px; }
.login-founder-halo:hover { transform:translateY(-2px); box-shadow:0 0 0 5px #b4d72c35,0 0 0 10px #b4d72c15,0 6px 30px #a4d62b40,inset 0 0 0 3px #081c2c; }
.login-founder-eyebrow { margin:0 0 8px; color:#c5df82; font-size:10px; font-weight:700; letter-spacing:1.7px; line-height:1.6; }
.login-founder h2 { margin:0 0 7px; font-family:inherit; font-size:23px; font-weight:650; color:#fff; }
.login-founder>div>p:last-child { color:#c1d3e1; font-size:13px; line-height:1.65; margin:0; }
.login-founder>div>p:last-child span { color:#a8c3d5; font-size:12px; }
.login-founder-dialog { width:660px; max-width:calc(100vw - 32px); max-height:calc(100vh - 36px); margin:auto; padding:0; overflow:auto; border:1px solid #91b6c9; border-radius:24px; background:#f4f8fb; color:#234457; box-shadow:0 30px 100px #0008; text-align:left; }
.login-founder-dialog::backdrop { background:#020d1bd9; backdrop-filter:blur(5px); }
.login-founder-dismiss { position:absolute; top:16px; right:16px; z-index:1; display:grid; place-items:center; width:44px; height:44px; border:1px solid #7498b1; border-radius:50%; background:#0d2c45; color:#fff; font-size:29px; line-height:1; cursor:pointer; }
.login-founder-dismiss:hover { background:#214b65; }
.login-founder-dialog-heading { padding:35px 44px 30px; text-align:center; background:radial-gradient(ellipse at 50% 10%,#164365,transparent 70%),linear-gradient(130deg,#031322,#0b2941); color:#fff; }
.login-founder-monogram { display:flex; align-items:center; justify-content:center; width:74px; height:74px; margin:0 auto 24px; border:2px solid #d2ed79; border-radius:50%; color:#e5f7b8; background:#21483c; box-shadow:0 0 0 5px #b4d72c20,0 0 32px #b4d72c1c; font-size:26px; font-weight:650; letter-spacing:2px; }
.login-founder-dialog h2 { color:#fff; font-family:inherit; font-size:36px; line-height:1.2; letter-spacing:-.8px; font-weight:650; margin:6px 0 15px; }
.login-founder-name { margin:0; color:#ecf4fa; font-size:17px; font-weight:650; line-height:1.5; }
.login-founder-name span { display:block; color:#b9d0df; font-size:13px; font-weight:400; margin-top:3px; }
.login-founder-story { padding:28px 40px 24px; font-size:16px; line-height:1.75; }
.login-founder-story p { margin:0 0 18px; }
.login-founder-story blockquote { margin:24px 0; padding:18px 20px; border:0; border-left:4px solid #819f28; border-radius:0 12px 12px 0; color:#274923; background:#e9f0db; font-size:19px; font-weight:600; line-height:1.5; }
.login-founder-story .login-founder-signoff { margin:0; font-size:14px; color:#466576; }
.login-founder-dialog-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 32px; border-top:1px solid #d3e0e9; background:#eaf2f7; }
.login-founder-dialog-footer>span { color:#466576; font-size:12px; line-height:1.6; }
.login-founder-dialog-footer button { flex-shrink:0; min-height:46px; padding:12px 18px; border:1px solid #16476c; border-radius:25px; background:#123c5b; color:#fff; font-size:14px; font-weight:600; cursor:pointer; }
.login-founder-dialog-footer button:hover { background:#205574; }
.login-founder-dialog button:focus-visible { outline:3px solid #317da7; outline-offset:4px; }
.login-founder-dialog .login-founder-dismiss:focus-visible { outline-color:#d2ed79; }
@media(max-width:800px) { .login-founder { gap:20px; margin-top:22px; padding-top:22px; } .login-founder h2 { font-size:22px; } }
@media(max-width:480px) { .login-founder-dialog-heading { padding:30px 23px 24px; } .login-founder-dialog h2 { font-size:29px; } .login-founder-story { padding:24px; font-size:15px; } .login-founder-dialog-footer { flex-direction:column; align-items:stretch; text-align:center; padding:20px 24px; } .login-founder-eyebrow { font-size:9px; letter-spacing:1.2px; } }
@media(prefers-reduced-motion:reduce) { .login-founder-halo { transition:none; } .login-founder-halo:hover { transform:none; } }
