[hidden]{display:none!important}
.account-main{padding:48px 0 80px;min-height:75vh}
.account-main .container{max-width:1240px}
#account-status:not(:empty){padding:16px 20px;border:1px solid #60a5fa;border-radius:12px;background:#12233b;margin-bottom:24px}
.auth-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;padding:35px 0}
.auth-intro h1{font-size:clamp(40px,5vw,66px);line-height:1.08;letter-spacing:-.04em;margin:22px 0}
.auth-intro p{font-size:19px;max-width:420px;color:#b8c7da}
.auth-promise{margin-top:48px;border-left:3px solid #60a5fa;padding:8px 20px;color:#b8c7da;line-height:1.8}
.account-card{background:#101b2c;border:1px solid #2b3b50;border-radius:22px;padding:32px}
.account-card h1{font-size:32px;line-height:1.2;margin:12px 0 24px}
.account-card h2{margin-top:0}
.account-card p{color:#b8c7da;line-height:1.7}
.account-main label{display:block;font-weight:600;margin:18px 0 8px}
.account-main input,.account-main select,.account-main textarea{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #46576e;border-radius:10px;background:#0a1220;color:#f4f7fb;font:inherit;color-scheme:dark}
.account-main textarea{min-height:95px}
.account-main .button{margin-top:20px}
.account-main button{cursor:pointer}
.account-main button:disabled{opacity:.5;cursor:not-allowed}
.account-main :focus-visible{outline:3px solid #93c5fd;outline-offset:4px}
.text-button{display:block;background:none;border:0;color:#93c5fd;padding:20px 0 0;text-align:left;font:inherit;text-decoration:underline}
.account-card hr{border:0;border-top:1px solid #2b3b50;margin:24px 0}
.portal-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:28px}
.account-sidebar{padding:20px 8px}
.account-sidebar h2{margin:12px 0 4px}
.account-sidebar p{font-size:14px;overflow-wrap:anywhere;color:#b8c7da}
.account-navigation{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin-top:28px}
.account-navigation button{border:0;border-radius:10px;background:transparent;color:#b8c7da;text-align:left;padding:14px;font:inherit}
.account-navigation button[aria-current],.account-navigation button:hover{color:white;background:#203b60}
.account-panels section{margin:0}
.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.shortcut{background:#172b45;border:1px solid #35557b;border-radius:14px;color:#fff;text-align:left;padding:26px;font:inherit;font-weight:600}
.shortcut span{display:block;font-size:14px;font-weight:400;color:#b8c7da;margin-top:12px}
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.price-grid>div{padding:18px;border:1px solid #35557b;border-radius:12px;color:#b8c7da}
.price-grid strong{display:block;color:white;font-size:22px;margin-top:6px}
.cancel-area{margin-top:32px;padding-top:28px;border-top:1px solid #46576e}
.shift-entry,#business-list article{padding:20px 0;border-bottom:1px solid #2b3b50}
.shift-entry p{white-space:pre-line}
.account-card a{color:#93c5fd}
@media(max-width:850px){.auth-layout{gap:30px}
.portal-layout{grid-template-columns:1fr}
.account-navigation{display:grid;grid-template-columns:1fr 1fr}
.auth-intro h1{font-size:42px}
}
@media(max-width:600px){.auth-layout{grid-template-columns:1fr;padding:0}
.auth-promise{display:none}
.account-card{padding:22px}
.overview-grid,.price-grid{grid-template-columns:1fr}
.account-main{padding-top:20px}
.account-card h1{font-size:28px}
}

.auth-switch{display:grid;gap:12px;margin-bottom:28px}.auth-switch button{width:100%;padding:16px 24px;border:2px solid #dce3ee;border-radius:12px;background:transparent;color:inherit;font:inherit;font-size:1.25rem;font-weight:700;cursor:pointer}.auth-switch button[aria-pressed="true"]{background:#fff;color:#142034}.auth-switch button:focus-visible{outline:3px solid #e99b63;outline-offset:4px}

.rota-toolbar,.rota-people{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0}.rota-toolbar input,.rota-toolbar select{width:auto;max-width:100%;margin:0}.rota-toolbar label{margin:0}.rota-toolbar button,.rota-people button{padding:10px 14px;border:1px solid #53657c;border-radius:8px;background:#1a2b40;color:#fff;font:inherit;cursor:pointer}.rota-people button[aria-pressed=true]{background:#fff;color:#142034}.rota-scroll{overflow:auto;max-height:620px;border:1px solid #53657c;border-radius:10px;margin:20px 0}.rota-grid{display:grid;grid-template-columns:56px repeat(var(--rota-days),minmax(120px,1fr));min-width:920px}.rota-grid.rota-day{min-width:260px}.rota-grid>strong{position:sticky;top:0;background:#142034;padding:12px 6px;z-index:1}.rota-grid>span{padding:12px 4px;font-size:.8rem}.rota-slot{min-height:66px;border-left:1px solid #34455a;border-bottom:1px solid #34455a;padding:4px}.rota-slot:has(.rota-add:focus-visible){outline:2px solid #fff}.rota-add{background:transparent;color:#a6b9d1;border:0;cursor:pointer;padding:3px 10px}.rota-shift{display:block;width:100%;white-space:pre-line;text-align:left;border:1px solid #70b7d2;border-radius:6px;background:#153c50;color:#fff;padding:7px;margin:3px 0;cursor:grab;font-size:.8rem}.rota-shift:active{cursor:grabbing}.portal-content{min-width:0}

#decline-dialog{max-width:480px;width:calc(100% - 32px);box-sizing:border-box;border:1px solid #46576e;border-radius:20px;padding:28px;background:#101b2c;color:#f4f7fb}#decline-dialog::backdrop{background:rgba(0,0,0,.7)}#decline-dialog h2{margin-top:0}#decline-dialog p{line-height:1.6}#decline-dialog button{font:inherit;cursor:pointer}
.checkbox-row { display: flex; align-items: flex-start; gap: 10px; margin: 10px 0; font-weight: 400; line-height: 1.4; }
.checkbox-row input { width: auto; margin-top: 4px; }
.wage-budget { margin: 18px 0; padding: 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; }
.wage-budget h2 { margin-top: 0; }
#budget-summary { font-weight: 600; }
#budget-summary.over-budget { color: #ff8a7a; }
.pay-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin: 8px 0; }
.pay-row label { width: 100%; margin: 0; }
.pay-row input { max-width: 140px; }
.form-note .text-button { display: inline; width: auto; min-height: 0; margin: 0; padding: 0; }

/* Admin: click a business name to see what it is doing. */
.link-button { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-align: left; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.link-button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.business-overview { margin: 8px 0 16px; padding: 12px 14px; border: 1px solid rgba(127, 127, 127, 0.35); border-radius: 10px; }
.business-overview dl { display: grid; grid-template-columns: minmax(110px, max-content) 1fr; gap: 6px 14px; margin: 0; }
.business-overview dt { font-weight: 700; }
.business-overview dd { margin: 0; overflow-wrap: anywhere; }
.business-overview h3 { margin: 14px 0 6px; font-size: 1rem; }
.business-overview ul { margin: 0; padding-left: 18px; overflow-wrap: anywhere; }
@media (max-width: 520px) { .business-overview dl { grid-template-columns: 1fr; } .business-overview dd { margin-bottom: 6px; } }
