.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f7f4ee,#E8EFF7)}
.auth-card{width:min(100%,440px);padding:34px;background:#fff;border:1px solid #e7dfd8;border-radius:20px;box-shadow:0 22px 60px rgba(52,30,31,.12)}
.auth-brand{font-size:11px;letter-spacing:.14em;font-weight:700;color:#244C78;margin-bottom:14px}
.auth-card h1{font-size:25px;line-height:1.2;margin:0 0 8px;color:#382a2a}
.auth-subtitle,.auth-help{color:#6d6b67;font-size:14px;line-height:1.55}
.auth-card form{display:grid;gap:16px;margin-top:22px}
.auth-card label{display:grid;gap:7px;font-size:13px;font-weight:600;color:#433a38}
.auth-card input{height:44px;border:1px solid #d8d0c9;border-radius:10px;padding:0 12px;font:inherit}
.auth-submit,.auth-secondary{height:44px;border:0;border-radius:10px;padding:0 16px;font:inherit;font-weight:700;cursor:pointer}
.auth-submit{background:#244C78;color:#fff}
.auth-submit:disabled{opacity:.65;cursor:wait}
.auth-secondary{margin-top:12px;background:#E8EFF7;color:#4c3d3b}
.auth-error{padding:12px;border-radius:10px;background:#fbebec;color:#8e2837;font-size:13px;line-height:1.45}
.auth-success{padding:12px;border-radius:10px;background:#edf5ef;color:#2e6845;font-size:13px;line-height:1.45}
.auth-switch{display:block;margin:14px auto 0;border:0;background:transparent;color:#244C78;font:inherit;font-size:13px;font-weight:700;text-decoration:underline;cursor:pointer}
.auth-help{margin:18px 0 0;font-size:12px}
/* Compact consent control with a large label target; no global checkbox change. */
.auth-card label.staff-consent{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:10px 0;cursor:pointer;line-height:1.5}
.auth-card .staff-consent input[type=checkbox]{width:18px;height:18px;min-width:18px;padding:0;margin:2px 0 0;flex:0 0 18px;accent-color:#244C78}
.staff-consent-row details{margin:4px 0 12px}.staff-consent-row summary{cursor:pointer;min-height:44px;padding:10px 0;color:#244C78;text-decoration:underline}
.responsibilities-document{font-size:14px;line-height:1.6}.responsibilities-document li{margin:0 0 10px}
.portal-policy-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin:20px 0 0;font-size:12px;line-height:1.6}.portal-policy-links a{color:#244C78;text-decoration:underline}
.portal-policy-dialog{width:min(760px,calc(100vw - 32px));max-height:85vh;border:1px solid #d8d0c9;border-radius:16px;padding:24px;color:#382a2a;overflow:auto;background:white}
.portal-policy-dialog::backdrop{background:rgba(0,0,0,.35)}.portal-policy-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.portal-policy-dialog h2{margin:0;font-size:24px}.portal-policy-dialog p,.portal-policy-dialog li{line-height:1.6}.portal-policy-dialog button{min-height:44px;padding:8px 16px;cursor:pointer}.portal-policy-dialog select{min-height:44px;max-width:100%}.policy-draft-note{padding:12px;background:#f7f3eb;border-radius:8px}
.staff-assignment-note{padding:12px;background:#f7f3eb;line-height:1.55;border-radius:8px}.staff-assignment-panel{overflow-wrap:anywhere}
@media(max-width:480px){.portal-policy-dialog{padding:16px}.portal-policy-dialog header{flex-wrap:wrap}.auth-card{padding:24px}.staff-assignment-panel .form-footer{flex-wrap:wrap}}

.auth-submit:not(:disabled):hover{background:#173654}.auth-submit:disabled{opacity:.6;cursor:not-allowed}
.auth-card :focus-visible,.portal-policy-dialog :focus-visible{outline:2px solid #244C78;outline-offset:3px}

#idle-warning{position:fixed;z-index:9999;top:12px;left:50%;transform:translateX(-50%);width:min(92vw,480px);padding:12px;background:#E8EFF7;color:#173654;border:2px solid #244C78;border-radius:10px;pointer-events:none}
