.auth-gate{min-height:100vh;display:grid;place-items:center;padding:25px;background:linear-gradient(130deg,#e9effd,#f5f7fb)}.auth-card{width:min(450px,100%);padding:36px;background:white;border:1px solid #dbe4f3;border-radius:18px;box-shadow:0 20px 80px #20345c12}.auth-card h1{font-size:27px}.auth-card form{margin-top:25px}.auth-card form button{width:100%;margin-top:10px}.auth-card p{font-size:15px}#authMessage{white-space:pre-wrap;margin-top:16px;color:#50658d;font-size:13.5px;line-height:1.7;border-radius:9px}
#authMessage:not(:empty){background:#fdf4f4;border:1px solid #f0d8d8;color:#a83333;padding:10px 12px}.join-entry{margin-top:22px;margin-bottom:0}.join-link{display:block;text-align:center;padding:11px 16px;border:1.5px dashed #6386ef;border-radius:10px;color:#264cde;font-weight:600;font-size:15px;text-decoration:none;transition:background .15s,box-shadow .15s}.join-link:hover{background:#eef2fe;box-shadow:0 2px 10px #264cde1a}.join-hint{margin-top:8px;font-size:13px;color:#7a8aa8;text-align:center}.connection-note{white-space:pre-wrap;font-size:14px;margin:15px 0;color:#526788}.connection-note:empty{display:none}.connection-actions{display:flex;gap:10px}.connection-actions button{font-size:14px;padding:8px 12px}button:disabled{opacity:.5;cursor:wait}.module-button:focus-visible{outline:3px solid #6386ef}.flyout{max-height:380px;overflow-y:auto}html[data-mode=live] body>aside,html[data-mode=live] body>main{visibility:hidden}html[data-mode=live].app-ready body>aside,html[data-mode=live].app-ready body>main{visibility:visible}@media(max-width:760px){header{flex-wrap:wrap;height:auto;min-height:70px;padding:12px 0;gap:10px}.auth-card{padding:24px}}

.payroll-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 14px;padding:10px 14px;border:1px solid #efd69d;border-radius:10px;background:#fff8e8;color:#755314;font-size:13px;line-height:1.5}.payroll-alert[hidden]{display:none}.payroll-alert a{flex:none;color:#254bc3;font-weight:700;text-decoration:none}.payroll-alert a:hover{text-decoration:underline}
@media(max-width:600px){.payroll-alert{align-items:flex-start;flex-direction:column;gap:5px}}
