/* Login only: leave the application layout and user permissions unchanged. */
body:has(.login-shell) #nav{display:none}
body:has(.login-shell) #ribbon{background:#173d45}
body:has(.login-shell) #main{background:radial-gradient(ellipse at 12% 15%,#dceee9 0,transparent 48%),radial-gradient(ellipse at 90% 85%,#fbe6ed 0,transparent 43%),#f4f7f8;padding:clamp(24px,5vh,60px) 24px;display:flex;align-items:flex-start;justify-content:center}
.login-shell{width:min(1040px,100%);margin:auto;padding:36px 42px;border:1px solid #fff;border-radius:28px;background:#ffffffc9;box-shadow:0 28px 65px -28px #173d4540,0 2px 5px #173d4508,inset 0 1px 0 #fff;color:#173d45}
.login-heading{text-align:center;margin-bottom:26px}
.login-heading>img{width:146px;height:52px;object-fit:contain;margin-bottom:18px}
.login-heading h1{font-size:clamp(24px,3vw,32px);letter-spacing:-.8px;margin-bottom:8px}
.login-heading p{color:#62767d;font-size:15px;line-height:1.5}
.login-picker{margin:0}
.login-picker h2{text-align:center;font-size:17px;font-weight:650}
.login-picker .login-demo-label{text-align:center;font-size:12px;color:#73858a;margin:6px 0 24px;letter-spacing:.3px}
.login-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.login-person-card{min-width:0;background:linear-gradient(160deg,#fff,#f7fafb);border:1px solid #dfe8e8;border-radius:20px;box-shadow:0 12px 24px -16px #153f4566,0 3px 0 #e1e9e9,inset 0 1px 0 #fff;transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease}
.login-person-button{display:flex;align-items:center;flex-direction:column;gap:9px;width:100%;background:transparent;border:0;border-radius:19px;padding:24px 16px 20px;color:#173d45}
.login-person-button:hover{background:#ffffff80}
.login-person-card:hover{transform:translateY(-3px);box-shadow:0 18px 30px -16px #153f4566,0 3px 0 #d8e4e3}
.login-person-button:focus-visible{outline:3px solid #fa3066;outline-offset:3px}
.login-portrait{width:90px;height:90px;border-radius:50%;padding:5px;background:#fff;box-shadow:0 6px 14px #173d4520,inset 0 0 0 1px #e3ecea;margin-bottom:4px;flex:none}
.login-portrait img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#fff}
.login-person-button b{font-size:16px;line-height:1.3}
.login-role{font-size:12px;font-weight:400;color:#647b82;line-height:1.4}
.login-choice{font-size:11px;border-radius:30px;background:#edf4f3;color:#526f73;padding:5px 12px;margin-top:5px}
.login-picker.has-selection .login-person-card:not(.is-selected){opacity:.42;box-shadow:0 4px 10px #173d4510}
.login-person-card.is-selected{border-color:#68a496;background:#fff;transform:translateY(-4px);box-shadow:0 22px 35px -19px #173d4570,0 3px 0 #529781,0 0 0 3px #e4f1ec}
.is-selected .login-choice{background:#e1f3eb;color:#23654d}
.login-shell #local-login{width:100%;max-width:360px;margin:0 auto;padding:0 20px 20px}
.login-shell #local-login[hidden]{display:none}
.login-shell #local-login .grid{grid-template-columns:minmax(0,1fr);gap:12px}
.login-shell #local-login label{border-radius:10px;background:#f8fafb;border-color:#dce5e7;padding:10px 12px;text-align:left;font-size:12px;color:#4c6870}
.login-shell #local-login input{background:transparent;color:#173d45;min-height:27px;font-size:15px}
.login-shell #local-login label:focus-within{border-color:#609d8e;box-shadow:0 0 0 3px #e6f1ed}
.login-shell #local-login input:focus{outline:none}
.login-shell #local-login .foot{margin-top:16px}
.login-shell #local-login .primary{width:100%;min-height:43px;border-radius:11px;box-shadow:0 5px 12px #fa306625}
.login-shell #login-error{margin-top:10px;font-size:12px;line-height:1.5}
.login-shell #login-error:empty{display:none}
.login-picker .login-demo-hint{text-align:center;font-size:12px;color:#74868b;margin-top:27px;line-height:1.7}
@media(max-width:850px){.login-shell{padding:28px 20px}.login-people{gap:12px}.login-shell #local-login{padding:0 12px 16px}.login-person-button{padding:20px 8px 16px}.login-person-button b{font-size:14px}}
@media(max-width:620px){body:has(.login-shell) #main{padding:20px 14px}.login-shell{padding:26px 18px;border-radius:22px}.login-people{grid-template-columns:minmax(0,1fr);max-width:340px;margin:auto}.login-person-button{padding:18px}.login-heading{margin-bottom:22px}.login-shell #local-login{padding:0 20px 20px}.login-person-card.is-selected{transform:none}.login-picker.has-selection .login-person-card:not(.is-selected) .login-person-button{display:grid;grid-template-columns:48px minmax(0,1fr);gap:3px 12px;text-align:left;padding:14px}.login-picker.has-selection .login-person-card:not(.is-selected) .login-portrait{width:48px;height:48px;grid-row:span 2;margin:0;padding:3px}.login-picker.has-selection .login-person-card:not(.is-selected) .login-choice{display:none}}
@media(prefers-reduced-motion:reduce){.login-person-card{transition:none}.login-person-card:hover{transform:none}}
@media(min-width:621px) and (max-height:850px){body:has(.login-shell) #main{padding:12px 24px}.login-shell{padding:18px 32px}.login-heading{margin-bottom:15px}.login-heading>img{height:36px;width:120px;margin-bottom:10px}.login-heading h1{font-size:26px;margin-bottom:5px}.login-heading p{font-size:14px}.login-picker .login-demo-label{margin:5px 0 16px}.login-person-button{padding:16px 12px 14px;gap:6px}.login-portrait{width:64px;height:64px;margin-bottom:2px}.login-choice{margin-top:2px;padding:4px 10px}.login-shell #local-login label{padding:8px 11px}.login-shell #local-login input{min-height:22px;font-size:14px}.login-shell #local-login .grid{gap:10px}.login-shell #local-login .foot{margin-top:12px}.login-picker .login-demo-hint{margin-top:18px}}


.login-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:linear-gradient(145deg,#e2f3eb,#cadfdf);font-size:24px;font-weight:700;color:#24545b}.login-manual-entry{text-align:center;margin-top:22px}.login-other{border:0;background:transparent;color:#526e76;font-size:12px;text-decoration:underline;text-underline-offset:4px}.login-manual:not(:empty){margin-top:18px}.login-manual #local-login{text-align:left}.login-people:has(>.login-person-card:only-child){grid-template-columns:minmax(0,320px);justify-content:center}.login-people:has(>.login-person-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,320px));justify-content:center}@media(max-width:620px){.login-people:has(>.login-person-card:nth-child(2):last-child){grid-template-columns:minmax(0,1fr)}}
