:root{color-scheme:dark;--bg:#061315;--card:#0c2124;--card2:#0f292c;--border:#244349;--text:#e9f4f4;--muted:#91aaac;--accent:#24c9aa;--accent-hover:#48e0bf;--error:#ff9a9a;--success:#83e8c6;--focus:#62efcd;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(ellipse 650px 400px at 50% 8%,#12383a 0%,transparent 82%),linear-gradient(160deg,#08191b,#061315 70%);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}.auth-shell{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:45px 18px 24px;gap:30px}.auth-card{width:100%;max-width:450px;background:linear-gradient(152deg,rgba(18,51,54,.96),rgba(9,29,32,.98));border:1px solid var(--border);border-radius:18px;box-shadow:0 25px 75px rgba(0,0,0,.28);overflow:hidden}.auth-brand{padding:36px 38px 29px;text-align:center;border-bottom:1px solid rgba(122,186,181,.15);background:rgba(5,20,22,.18)}.auth-logo{display:block;max-width:100%;width:256px;height:auto;object-fit:contain;margin:0 auto 15px}.auth-brand-subtitle{font-size:10px;letter-spacing:.23em;font-weight:800;color:#79bcb1}.auth-content{padding:32px 38px 38px}.auth-content h1{font-size:26px;letter-spacing:-.035em;line-height:1.2;margin:0 0 24px;font-weight:750}.auth-description{font-size:14px;line-height:1.6;color:var(--muted);margin:-11px 0 24px}.auth-form{display:grid;gap:20px}.auth-field{display:grid;gap:9px}.auth-field label{font-size:13px;font-weight:650;color:#c6dddc}.auth-field input{height:47px;width:100%;padding:0 14px;background:#081c1f;border:1px solid #345158;color:var(--text);border-radius:9px;outline:none;transition:border-color .15s,box-shadow .15s}.auth-field input:focus{border-color:var(--focus);box-shadow:0 0 0 3px rgba(36,201,170,.14)}.auth-field input::placeholder{color:#6b9294}.auth-label-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.auth-label-row a{font-size:12px;font-weight:600}.auth-button{display:flex;width:100%;min-height:47px;border:0;border-radius:9px;background:var(--accent);color:#062521;font-weight:800;align-items:center;justify-content:center;padding:12px 16px;cursor:pointer;transition:background .15s,transform .15s}.auth-button:hover{background:var(--accent-hover)}.auth-button:active{transform:translateY(1px)}.auth-button:focus-visible,.auth-text-button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.auth-code{text-transform:uppercase;letter-spacing:.22em;font-weight:700;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:19px!important}.auth-alert{font-size:13px;line-height:1.55;border-radius:9px;padding:12px 14px;margin:-4px 0 23px;border:1px solid}.auth-alert-error{color:var(--error);background:rgba(146,45,45,.13);border-color:rgba(255,139,139,.3)}.auth-alert-success{color:var(--success);background:rgba(35,143,109,.13);border-color:rgba(99,216,182,.3)}.auth-inline-form{display:flex;justify-content:center;margin-top:19px}.auth-text-button{background:transparent;border:0;color:var(--accent);font-size:13px;cursor:pointer;font-weight:600}.auth-text-button:hover{text-decoration:underline}.auth-bottom-link{text-align:center;font-size:13px;margin-top:24px}.auth-footer{color:#709092;text-align:center;font-size:12px}@media(max-width:520px){.auth-shell{padding:22px 14px}.auth-brand{padding:28px 24px 24px}.auth-content{padding:27px 24px 30px}.auth-content h1{font-size:24px}.auth-card{border-radius:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

/* Staff account security and accessibility additions. */
.auth-brand-link{display:inline-block;max-width:100%}
.auth-description{overflow-wrap:anywhere}
.auth-field input[aria-invalid="true"]{border-color:var(--error)}
.auth-card-wide{max-width:560px}
.account-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:5px 0 28px}
.account-detail{padding:14px 15px;background:rgba(4,22,24,.5);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:8px;min-width:0}
.account-detail strong{font-size:14px;line-height:1.4;color:var(--text);overflow-wrap:anywhere}
.account-label{font-size:11px;letter-spacing:.04em;color:var(--muted);font-weight:650}
.status-active{display:inline-flex;align-items:center;gap:7px;color:var(--success)!important}
.status-indicator{display:inline-block;background:var(--success);width:8px;height:8px;border-radius:100%}
.account-section-title{font-size:14px;font-weight:750;color:#c6dddc;margin:0 0 12px}
.sign-in-history{border:1px solid var(--border);border-radius:10px;overflow:hidden}
.history-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 15px;border-bottom:1px solid var(--border)}
.history-item:last-child{border-bottom:0}
.history-item strong{display:block;font-size:13px;font-weight:700}
.history-meta{display:block;font-size:12px;margin-top:4px;color:var(--muted)}
.history-current{white-space:nowrap;color:var(--success);font-weight:700;font-size:11px}
.history-ended{white-space:nowrap;color:var(--muted);font-weight:600;font-size:11px}
.sign-out-form{margin-top:25px}
.break-word{overflow-wrap:anywhere}
@media(max-width:520px){.account-details{grid-template-columns:1fr}.history-item{gap:10px}}
