:root{--bg:#f4f7fb;--panel:#fff;--ink:#14213d;--muted:#64748b;--line:#d9e2ee;--brand:#176a72;--brand2:#0f4f56;--accent:#4ea3f5;--danger:#b42318;--ok:#027a48;--warn:#b54708;--shadow:0 16px 40px rgba(20,33,61,.07)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#f7fbff 0,#f4f7fb 220px);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink)}a{color:var(--brand);text-decoration:none}hr{border:0;border-top:1px solid var(--line);margin:18px 0}.topbar{height:72px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.brand{font-weight:800;color:var(--ink);display:flex;gap:10px;align-items:center}.brand span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff}.brand small{font-weight:700;color:var(--muted)}.topbar nav{display:flex;align-items:center;gap:18px}.shell{max-width:1360px;margin:0 auto;padding:30px}.hero{min-height:70vh;display:grid;align-items:center}.hero h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:.98;margin:.2em 0;max-width:920px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--brand);font-weight:900}.pagehead{background:linear-gradient(135deg,#fff,#eef6ff);border:1px solid var(--line);border-radius:24px;padding:28px;margin-bottom:24px}.pagehead h1{font-size:2.35rem;margin:.2rem 0}.button,button{background:var(--brand);color:#fff;border:0;border-radius:999px;padding:11px 17px;font-weight:800;cursor:pointer;display:inline-block}.button:hover,button:hover{background:var(--brand2)}.button.secondary,.ghost{background:#edf5f8;color:var(--brand)}.card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:22px;box-shadow:var(--shadow)}.center{text-align:center}.narrow{max-width:480px;margin:42px auto}.grid{display:grid;gap:18px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.stats div{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.stats strong{display:block;font-size:2rem}.stats span{color:var(--muted);font-weight:700}label{display:block;margin:0 0 14px;font-weight:800}input,select,textarea{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff;font:inherit}textarea{min-height:92px}table{width:100%;border-collapse:collapse}th,td{padding:13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:.78rem;text-transform:uppercase;color:var(--muted);letter-spacing:.06em}.inline{display:inline}.inline button{margin-right:6px}.alert{padding:13px 15px;border-radius:14px;margin-bottom:14px}.error{background:#fef3f2;color:var(--danger)}.success{background:#ecfdf3;color:var(--ok)}.muted{color:var(--muted);line-height:1.55}.dashboard{display:grid;grid-template-columns:270px 1fr;gap:24px}.sidebar{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:14px;height:max-content;position:sticky;top:96px;box-shadow:var(--shadow)}.sidebar a,.sidebar button{display:block;width:100%;margin-bottom:8px;text-align:left}.sidebar a{padding:11px 13px;border-radius:14px;color:var(--ink);font-weight:800}.sidebar a:hover,.sidebar a.active{background:#edf5f8;color:var(--brand)}.dashboard.collapsed{grid-template-columns:74px 1fr}.dashboard.collapsed .sidebar a{font-size:0;text-align:center}.dashboard.collapsed .sidebar a::first-letter{font-size:18px}.split{display:flex;align-items:center;justify-content:space-between;gap:18px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:#eef6ff;color:var(--brand);font-weight:900;text-transform:capitalize}.progress{height:12px;background:#e7edf5;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--accent));border-radius:999px}.checklist{padding:0;margin:16px 0 0;list-style:none}.checklist li{padding:10px 0;border-bottom:1px solid var(--line);color:var(--muted);font-weight:800}.checklist li.done{color:var(--ok)}.footer{padding:30px;text-align:center;color:var(--muted)}@media(max-width:900px){.two,.stats,.dashboard{grid-template-columns:1fr}.shell{padding:18px}.topbar{padding:0 14px}.topbar nav{gap:10px;font-size:.9rem}.sidebar{position:static}.split{display:block}.actions{margin-top:12px}}
.content-body { font-size: 1.04rem; line-height: 1.75; }
.content-body p { margin: 0 0 1rem; }
.content-body h2, .content-body h3 { margin-top: 1.4rem; }
.public-hero { background: linear-gradient(135deg, rgba(37,99,235,.08), rgba(15,118,110,.08)); }
.button.ghost { background: transparent; color: var(--ink); border: 1px solid var(--line); margin-left: .75rem; }
textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: .75rem; font: inherit; }
code { background: rgba(15,23,42,.06); padding: .15rem .35rem; border-radius: 6px; }
.four{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-form{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#f8fbff}details summary{cursor:pointer;font-weight:900;color:var(--brand)}@media(max-width:1100px){.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.four{grid-template-columns:1fr}}
.pill.ok{background:#ecfdf3;color:var(--ok)}.pill.warn{background:#fff7ed;color:var(--warn)}.pill.bad{background:#fef3f2;color:var(--danger)}label.check{display:flex;gap:10px;align-items:center;font-weight:700}label.check input{width:auto;margin:0}
.danger-button{background:var(--danger)}.danger-button:hover{background:#7a271a}
.password-wrap{position:relative;display:flex;align-items:center}.password-wrap input{padding-right:76px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);padding:7px 11px;border-radius:999px;background:#edf5f8;color:var(--brand);font-size:.82rem}.password-toggle:hover{background:#dcecf2;color:var(--brand2)}

.five{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1200px){.five{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.five{grid-template-columns:1fr}}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{font-size:2rem;font-weight:900;margin:.2rem 0;color:var(--brand)}@media(max-width:900px){.three{grid-template-columns:1fr}}

.facility-picker{position:relative}.facility-dropdown{position:absolute;z-index:20;left:0;right:0;max-height:440px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:8px;margin-top:8px}.facility-option{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border-bottom:1px solid var(--line)}.facility-option:last-child{border-bottom:0}.facility-option:hover{background:#f8fbff}.facility-option form{margin:0}.facility-option[hidden],.facility-dropdown[hidden]{display:none!important}@media(max-width:700px){.facility-dropdown{position:static}.facility-option{display:block}.facility-option .inline button{margin-top:10px}}
.inline-form{display:inline-block;margin:0 0 0 6px}.button.small,button.small{padding:7px 11px;font-size:.82rem}.button.danger,button.danger{background:var(--danger)}.button.danger:hover,button.danger:hover{background:#7a271a}.notice{background:#eef6ff;border:1px solid var(--line);border-radius:14px;padding:12px;color:var(--brand);font-weight:700}

.timesheet-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.timesheet-detail-grid>div{background:#fff;border:1px solid #dfe7f3;border-radius:14px;padding:10px 12px}.timesheet-detail-grid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:800;margin-bottom:4px}.timesheet-detail-grid strong{display:block;color:#172554}.timesheet-detail-grid .highlight{grid-column:1/-1;background:#0d9bd1;border-color:#0d9bd1}.timesheet-detail-grid .highlight span,.timesheet-detail-grid .highlight strong{color:#fff}.inline-field{display:flex;align-items:center;gap:8px;margin:0}.inline-field input{width:92px}.signature-panel{border:1px dashed #0d9bd1;border-radius:18px;padding:14px;margin:16px 0;background:#f8fbff}.signature-pad{width:100%;height:260px;background:#fff;border:2px dashed #0d9bd1;border-radius:16px;touch-action:none;display:block}.signature-panel .actions{margin-top:10px}.timesheet-signature-image{max-width:100%;border:1px solid #dfe7f3;border-radius:12px;background:#fff;padding:8px}.alert.bad{background:#fef2f2;border:1px solid #fecaca;border-radius:14px;padding:12px;color:#991b1b}@media(max-width:700px){.timesheet-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.timesheet-detail-grid>div{padding:8px}.signature-pad{height:180px}.timesheet-sign-card{padding:14px}.inline-field{flex-direction:column;align-items:flex-start}.inline-field input{width:100%}}

/* v5.0.63: signed timesheet print/PDF view and copy distribution. */
.timesheet-mobile-wrap{max-width:980px;margin:0 auto}.timesheet-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.timesheet-sign-card{padding:18px 20px 0;overflow:hidden}.timesheet-title{font-size:2rem;line-height:1.08;margin:0 0 6px}.timesheet-help{font-size:.98rem;margin:0 0 12px}.timesheet-confirmation{border:1px solid #dfe5f1;background:#f8fbff;border-radius:18px;padding:14px;margin:10px 0 14px}.timesheet-confirmation h2{font-size:1.05rem;margin:0 0 10px}.timesheet-detail-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.timesheet-detail-grid-compact>div{padding:9px 11px}.timesheet-detail-grid-compact .highlight{grid-column:1/-1;background:#0d9bd1!important;border-color:#0d9bd1!important;color:#fff!important}.timesheet-detail-grid-compact .highlight span,.timesheet-detail-grid-compact .highlight strong{color:#fff!important}.agent-name-label span,.notes-label span{display:block;font-weight:900;margin-bottom:6px}.agent-name-label input{font-weight:800}.timesheet-submit-bar{position:sticky;bottom:0;z-index:3;background:linear-gradient(180deg,rgba(255,255,255,.86),#fff 35%);padding:12px 0 14px;margin:8px 0 0}.timesheet-submit-bar button{min-width:210px}.timesheet-submit-bar.submitting button,[data-submit-timesheet][disabled]{opacity:.7;cursor:wait}.signed-timesheet-sheet{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 18px 40px rgba(36,47,101,.12)}.timesheet-print-actions{display:flex;gap:10px;justify-content:flex-end;margin-bottom:18px}.signed-timesheet-sheet h1{font-size:32px;margin:0 0 4px}.signed-timesheet-sheet .subtitle{color:#5d6b91;margin:0 0 22px}.timesheet-evidence-table th{width:240px;background:#f7f9ff;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#5d6b91}.timesheet-evidence-table td{font-weight:700}.signature-box{margin-top:24px;border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}.signature-box h2{margin:0 0 10px;font-size:18px}.footer-note{margin-top:20px;color:#5d6b91;font-size:12px}@media(max-width:700px){.timesheet-mobile-wrap{margin:0 -8px}.timesheet-topline{padding:0 8px}.timesheet-sign-card{padding:12px 12px 0;border-radius:18px}.timesheet-title{font-size:1.35rem}.timesheet-help{font-size:.82rem;line-height:1.3}.timesheet-confirmation{padding:8px;margin:7px 0 9px;border-radius:14px}.timesheet-confirmation h2{font-size:.88rem;margin-bottom:6px}.timesheet-detail-grid-compact{gap:6px}.timesheet-detail-grid-compact>div{padding:7px 8px;border-radius:12px}.timesheet-detail-grid-compact span{font-size:9px;margin-bottom:2px}.timesheet-detail-grid-compact strong{font-size:12px;line-height:1.22}.agent-name-label{margin:7px 0}.agent-name-label input{min-height:38px;padding:9px 11px;border-radius:12px}.signature-panel{padding:10px;border-radius:14px}.signature-panel h2{font-size:1rem;margin:.2rem 0}.signature-pad{height:150px!important;border-radius:14px}.timesheet-submit-bar button{width:100%;padding:12px}.signed-timesheet-sheet{padding:14px;border-radius:14px}.timesheet-print-actions{justify-content:flex-start;flex-wrap:wrap}.timesheet-evidence-table th,.timesheet-evidence-table td{display:block;width:100%}.timesheet-evidence-table th{border-bottom:0;padding-bottom:4px}.timesheet-evidence-table td{padding-top:4px}}@media(max-width:390px){.timesheet-title{font-size:1.2rem}.signature-pad{height:125px!important}.timesheet-detail-grid-compact>div{padding:6px}}
@media print{body{background:#fff;padding:0}.topbar,.footer,.timesheet-print-actions,.timesheet-log-section{display:none!important}.shell{max-width:none;padding:0}.signed-timesheet-sheet{box-shadow:none;border:0;border-radius:0}.signature-box{break-inside:avoid}.no-print-break{break-inside:avoid}}

/* v5.0.63 signed-timesheet evidence/print refinements */
.timesheet-letterhead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:2px solid #0b6170;padding-bottom:14px;margin-bottom:14px}.timesheet-reference{text-align:right;background:#f6f9ff;border:1px solid var(--line);border-radius:14px;padding:10px 14px;min-width:140px}.timesheet-reference span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#5d6b91;font-weight:800}.timesheet-reference strong{display:block;font-size:22px;color:#001b44}.timesheet-copy-notice{border:1px solid #d8f0e7;background:#f0fff8;color:#0b684c;border-radius:14px;padding:10px 12px;margin:8px 0 18px;font-weight:700}.timesheet-evidence-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--line);border-radius:14px}.timesheet-evidence-table th,.timesheet-evidence-table td{border-bottom:1px solid var(--line)}.timesheet-evidence-table tr:last-child th,.timesheet-evidence-table tr:last-child td{border-bottom:0}.timesheet-signature-image{display:block;max-width:100%;min-height:90px;object-fit:contain;border:1px dashed #a8b6d6;border-radius:12px;background:#fff}.signature-box table{width:100%}@media(max-width:700px){.timesheet-letterhead{display:block}.timesheet-reference{text-align:left;margin-top:10px}.timesheet-copy-notice{font-size:12px;line-height:1.35}}@media print{@page{size:A4;margin:12mm}.timesheet-letterhead{border-bottom:2px solid #000}.timesheet-copy-notice{border:1px solid #999;background:#fff;color:#000}.timesheet-reference{border:1px solid #999;background:#fff}.signed-timesheet-sheet{font-size:11pt}.signed-timesheet-sheet h1{font-size:22pt}.timesheet-evidence-table th{background:#eee!important;color:#000!important}.timesheet-evidence-table th,.timesheet-evidence-table td{padding:6px 8px}.signature-box{padding:10px;margin-top:12px}.timesheet-signature-image{max-height:130px}.footer-note{border-top:1px solid #999;padding-top:8px}}

/* v5.0.64 facility dashboard and shift-posting refinement */
.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.empty{color:var(--muted);font-weight:800;padding:12px 0}.filters{display:grid;grid-template-columns:1.4fr 1fr auto auto;gap:12px;align-items:end}.filters label{margin:0}.status-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.card table a{font-weight:800}@media(max-width:800px){.filters{grid-template-columns:1fr}.filters .button{width:max-content}}

.employee-identity-strip{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#10245a,#176a72);color:#fff;border-radius:24px;padding:18px 22px;margin:0 0 22px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.18)}
.employee-identity-strip .eyebrow{color:#ccecff;margin:0 0 4px}.employee-identity-strip h2{margin:0;font-size:1.65rem;color:#fff}.employee-identity-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:7px;color:#e8f4ff}.employee-identity-meta strong{color:#fff}.employee-avatar{width:82px;height:82px;border-radius:24px;background:linear-gradient(135deg,var(--brand),var(--accent));display:inline-grid;place-items:center;overflow:hidden;flex:0 0 auto;border:3px solid rgba(255,255,255,.75);box-shadow:0 10px 25px rgba(20,33,61,.15)}.employee-avatar img{width:100%;height:100%;object-fit:cover;display:block}.employee-avatar span{font-weight:900;font-size:1.5rem;color:#fff}.employee-identity-main{flex:1;min-width:0}.employee-identity-action{margin-left:auto}.employee-identity-strip .button.secondary{background:#fff;color:var(--brand)}.account-photo-row{display:flex;align-items:center;gap:18px;margin-bottom:18px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#f8fbff}.account-photo-row .employee-avatar{width:92px;height:92px;border-color:#fff}.account-photo-row form{flex:1;margin:0}@media(max-width:700px){.employee-identity-strip{display:block;text-align:center}.employee-identity-strip .employee-avatar{margin:0 auto 12px}.employee-identity-meta{justify-content:center}.employee-identity-action{margin:14px 0 0}.account-photo-row{display:block}.account-photo-row .employee-avatar{margin-bottom:12px}}

/* v5.0.77: WP business colours and fully responsive employee dashboard. */
:root{
  --bg:#f7f9fd;
  --panel:#fff;
  --ink:#242f65;
  --muted:#667394;
  --line:#dfe5f1;
  --brand:#51a2fe;
  --brand2:#242f65;
  --accent:#51a2fe;
  --danger:#ff5151;
  --ok:#027a48;
  --warn:#b54708;
  --shadow:0 18px 50px rgba(36,47,101,.12);
}
.button,button{background:var(--brand);color:#fff;box-shadow:0 14px 32px rgba(81,162,254,.22)}
.button:hover,button:hover{background:#1f5fa8}.button.secondary,.ghost{background:#edf4ff;color:var(--brand2)}
.topbar{border-bottom-color:var(--line)}.brand span{background:var(--brand)}.pill{background:rgba(81,162,254,.14);color:var(--brand2)}
.card{box-shadow:var(--shadow)}.employee-identity-strip{background:linear-gradient(135deg,var(--brand2),#24356f);border-color:#dce6f6}.employee-identity-strip .button.secondary{background:#fff;color:var(--brand2)}
.employee-avatar{background:linear-gradient(135deg,var(--brand),#1f5fa8);border-color:#fff}.alert.bad,.error{background:#fff3f3;color:#8a1d1d}.success{background:rgba(81,162,254,.10);color:var(--brand2)}
.employee-shift-cards{display:none}.employee-dashboard-card,.employee-shifts-card{max-width:100%;min-width:0}.responsive-table{max-width:100%}.employee-shift-card form,.employee-shift-action form{margin:0}.employee-shift-action .button,.employee-shift-action button{min-height:44px;min-width:118px;text-align:center}.muted-pill{background:#edf4ff;color:#667394}
@media(max-width:900px){
  .topbar{height:auto;min-height:64px;padding:12px 16px;gap:12px;flex-wrap:wrap;align-items:flex-start}.topbar nav{width:100%;display:flex;flex-wrap:wrap;gap:8px}.topbar nav a{padding:8px 0}.shell{width:100%;max-width:100%;padding:18px 14px}.grid,.two,.stats{grid-template-columns:1fr}.split{display:block}.actions{margin-top:12px}.card{width:100%;max-width:100%;min-width:0;padding:18px;border-radius:18px}img,canvas,svg,video{max-width:100%;height:auto}
}
@media(max-width:700px){
  body{min-width:0}.shell{padding:14px 10px}.card{padding:16px;margin-bottom:16px;border-radius:18px}.card h2{font-size:1.32rem;line-height:1.2}.muted{font-size:.94rem}.employee-identity-strip{padding:16px 14px;border-radius:18px;margin-bottom:16px}.employee-identity-strip h2{font-size:1.35rem;line-height:1.16}.employee-identity-meta{display:grid;grid-template-columns:1fr;gap:5px;text-align:center}.employee-identity-action .button{width:100%;max-width:260px}.employee-avatar{width:72px;height:72px;border-radius:22px}.employee-shifts-table{display:none}.employee-shift-cards{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}.employee-shift-card{width:100%;min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 12px 28px rgba(36,47,101,.08)}.employee-shift-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.employee-shift-card-head h3{margin:2px 0 0;color:var(--brand2);font-size:1.08rem;line-height:1.2;overflow-wrap:anywhere}.employee-shift-card-head .pill{flex:0 0 auto;white-space:normal;text-align:center;max-width:42%;justify-content:center}.employee-shift-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.employee-shift-details{display:grid;grid-template-columns:1fr;gap:8px;margin:0}.employee-shift-details div{background:#f8fbff;border:1px solid var(--line);border-radius:14px;padding:10px}.employee-shift-details dt{margin:0 0 4px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem;font-weight:900}.employee-shift-details dd{margin:0;color:var(--brand2);font-weight:750;line-height:1.35;overflow-wrap:anywhere}.employee-shift-action{margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.employee-shift-action .button,.employee-shift-action button{width:100%;min-height:46px;font-size:1rem}.employee-shift-action small{display:block;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}.timesheet-gate{display:block;width:100%}.timesheet-gate .button{display:block;width:100%;text-align:center}.timesheet-gate small{margin-top:7px}.responsive-table:not(.employee-shifts-table){display:block;width:100%;border-collapse:separate}.responsive-table:not(.employee-shifts-table) tbody,.responsive-table:not(.employee-shifts-table) tr,.responsive-table:not(.employee-shifts-table) td{display:block;width:100%}.responsive-table:not(.employee-shifts-table) tr:first-child{display:none}.responsive-table:not(.employee-shifts-table) tr{border:1px solid var(--line);border-radius:16px;margin:0 0 12px;background:#fff;box-shadow:0 10px 24px rgba(36,47,101,.06);overflow:hidden}.responsive-table:not(.employee-shifts-table) td{border-bottom:1px solid var(--line);padding:10px 12px;overflow-wrap:anywhere}.responsive-table:not(.employee-shifts-table) td:last-child{border-bottom:0}.responsive-table:not(.employee-shifts-table) td a.button,.responsive-table:not(.employee-shifts-table) td a{display:inline-block;min-height:38px;padding:8px 0}input,select,textarea{max-width:100%}
}
@media(max-width:390px){.shell{padding-left:8px;padding-right:8px}.card{padding:14px}.employee-shift-card{padding:12px}.employee-shift-card-head{display:block}.employee-shift-card-head .pill{margin-top:8px;max-width:100%}}


/* v5.0.78: final WorkCura business colour specification. */
:root{
  --bg:#fffffe;
  --panel:#fffffe;
  --ink:#242f65;
  --muted:#667394;
  --line:#dfe5f1;
  --brand:#51a2fe;
  --brand2:#242f65;
  --accent:#51a2fe;
  --danger:#ff5151;
  --ok:#027a48;
  --warn:#b54708;
  --shadow:0 18px 50px rgba(36,47,101,.12);
}
html,body{background:#fffffe;color:#242f65;}
body{background:#fffffe;}
a{color:#242f65;}
.topbar{background:#242f64;color:#fff;border-bottom-color:#242f64;}
.topbar .brand,.topbar .brand strong,.topbar .brand small,.topbar nav a{color:#fff;}
.topbar .brand span{background:#51a2fe;color:#fff;}
.topbar nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px;}
.topbar form.inline button,.topbar nav button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);box-shadow:none;}
.topbar form.inline button:hover,.topbar nav button:hover{background:rgba(255,255,255,.14);color:#fff;}
.footer{background:#242f64;color:#fff;margin-top:30px;}.footer nav{margin-top:8px}.footer a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.shell{background:#fffffe;}
.card,.stats div,.sidebar,.pagehead{background:#fffffe;color:#242f65;}
.pagehead{background:#fffffe;border-color:#dfe5f1;}
.button,button{background:#ff5151;color:#fff;box-shadow:0 14px 32px rgba(255,81,81,.22);}
.button:hover,button:hover{background:#e64040;color:#fff;}
.button.secondary,button.secondary{background:#51a2fe;color:#fff;box-shadow:0 14px 32px rgba(81,162,254,.22);}
.button.secondary:hover,button.secondary:hover{background:#2d8fec;color:#fff;}
.button.ghost,.ghost{background:#fffffe;color:#242f65;border:1px solid #dfe5f1;box-shadow:none;}
.button.ghost:hover,.ghost:hover{background:#f4f8ff;color:#242f65;}
.pill{background:rgba(81,162,254,.14);color:#242f65;}
.employee-identity-strip{background:#242f64;color:#fff;}
.employee-identity-strip h2,.employee-identity-strip strong{color:#fff;}
.employee-identity-strip .button.secondary{background:#51a2fe;color:#fff;}
.employee-avatar{background:linear-gradient(135deg,#51a2fe,#242f64);}
.sidebar a{color:#242f65;}
.sidebar a:hover,.sidebar a.active{background:rgba(81,162,254,.12);color:#242f65;}
input,select,textarea{background:#fffffe;color:#242f65;}
th{color:#667394;}
td{color:#242f65;}
.success{background:rgba(81,162,254,.10);color:#242f65;}
.error,.alert.bad{background:#fff3f3;color:#8a1d1d;}
@media(max-width:900px){.topbar nav a{color:#fff}.topbar{background:#242f64}}

/* v5.0.80: mobile responsiveness hardening for Notifications, Messages, Earnings, Documents and shared card/table layouts. */
html{max-width:100%;}
body{max-width:100%;overflow-wrap:anywhere;}
.shell,.dashboard,.content,.card,.pagehead,.grid,.stats,.two,.three,.four,.five,form,label{min-width:0;max-width:100%;}
.card,.pagehead{overflow-wrap:anywhere;word-break:normal;}
.card *{min-width:0;}
input,select,textarea,button,.button{max-width:100%;}
select{white-space:normal;}
img,canvas,svg,video{max-width:100%;height:auto;}
.responsive-data-table td,.responsive-data-table th{overflow-wrap:anywhere;word-break:normal;}
.responsive-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0;}
.responsive-inline-form select{width:auto;min-width:145px;max-width:100%;}

@media(max-width:900px){
  .dashboard{width:100%;max-width:100%;grid-template-columns:1fr;gap:14px;}
  .content{width:100%;max-width:100%;}
  .sidebar{width:100%;max-width:100%;}
  .pagehead{padding:20px 16px;border-radius:18px;}
  .pagehead h1{font-size:1.7rem;line-height:1.16;}
  .formgrid,.grid.three,.grid.two,.grid.four,.grid.five{grid-template-columns:1fr;}
}

@media(max-width:700px){
  .topbar,.footer,.shell,.dashboard,.content,.card,.pagehead{max-width:100vw;}
  .shell{padding-left:10px;padding-right:10px;}
  .card{padding:15px;border-radius:18px;}
  .card h1{font-size:1.55rem;line-height:1.16;}
  .card h2{font-size:1.26rem;line-height:1.2;}
  .actions,.split,.inline,.responsive-inline-form{width:100%;}
  .inline{display:block;}
  .inline button,.inline .button,.responsive-inline-form button,.responsive-inline-form .button{width:100%;margin:8px 0 0;min-height:44px;}
  .responsive-inline-form select{width:100%;}

  table.responsive-data-table,
  .card > table:not(.employee-shifts-table){
    display:block;
    width:100%;
    max-width:100%;
    border-collapse:separate;
  }
  table.responsive-data-table tbody,
  table.responsive-data-table tr,
  table.responsive-data-table td,
  .card > table:not(.employee-shifts-table) tbody,
  .card > table:not(.employee-shifts-table) tr,
  .card > table:not(.employee-shifts-table) td{
    display:block;
    width:100%;
    max-width:100%;
  }
  table.responsive-data-table tr:first-child,
  .card > table:not(.employee-shifts-table) tr:first-child{
    display:none;
  }
  table.responsive-data-table tr,
  .card > table:not(.employee-shifts-table) tr{
    border:1px solid var(--line);
    border-radius:17px;
    background:#fffffe;
    margin:0 0 13px;
    padding:0;
    box-shadow:0 10px 24px rgba(36,47,101,.07);
  }
  table.responsive-data-table td,
  .card > table:not(.employee-shifts-table) td{
    border:0;
    border-bottom:1px solid var(--line);
    padding:10px 12px;
    text-align:left;
    overflow-wrap:anywhere;
    word-break:break-word;
    white-space:normal;
  }
  table.responsive-data-table td:last-child,
  .card > table:not(.employee-shifts-table) td:last-child{
    border-bottom:0;
  }
  table.responsive-data-table td::before,
  .card > table:not(.employee-shifts-table) td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:#667394;
    font-size:.72rem;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
  }
  table.responsive-data-table td:not([data-label])::before,
  .card > table:not(.employee-shifts-table) td:not([data-label])::before{
    content:'';
    display:none;
  }
  table.responsive-data-table a,
  .card > table:not(.employee-shifts-table) a{
    overflow-wrap:anywhere;
  }
  table.responsive-data-table .button,
  table.responsive-data-table button,
  .card > table:not(.employee-shifts-table) .button,
  .card > table:not(.employee-shifts-table) button{
    min-height:44px;
    width:100%;
    text-align:center;
  }
  .pill{white-space:normal;text-align:center;max-width:100%;}
}

/* v5.0.81: WP-aligned employee availability calendars. */
.card-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.availability-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;width:100%;max-width:100%;}
.availability-month-label{grid-column:1/-1;margin:10px 0 2px;color:#242f65;font-weight:900;letter-spacing:.02em;}
.availability-day{border:1px solid #dfe5f1;border-radius:14px;background:#fffffe;color:#242f65;min-height:62px;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;box-shadow:0 6px 18px rgba(36,47,101,.05);cursor:pointer;}
.availability-day span{font-size:.72rem;color:#667394;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.availability-day strong{font-size:1.05rem;color:#242f65;}
.availability-day.is-available{background:#3585eb;border-color:#3585eb;color:#fff;box-shadow:0 10px 24px rgba(53,133,235,.28);}
.availability-day.is-available span,.availability-day.is-available strong{color:#fff;}
.availability-day[disabled]{opacity:.7;cursor:wait;}
.availability-live-note{min-height:22px;color:#242f65;font-weight:700;}
.availability-role-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0;}
.availability-role-tabs button{background:#fffffe;color:#242f65;border:1px solid #dfe5f1;border-radius:999px;padding:10px 16px;font-weight:900;}
.availability-role-tabs button.active{background:#51a2fe;border-color:#51a2fe;color:#fff;}
.availability-role-panel{display:none;}
.availability-role-panel.active{display:block;}
.employee-availability-select-label{display:flex;flex-direction:column;gap:8px;margin:12px 0 18px;max-width:420px;}
.employee-availability-select-label span{font-weight:900;color:#242f65;}
.employee-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0 10px;}
.employee-calendar-heading h3{margin:0;color:#242f65;}
.availability-calendar.readonly .availability-day{cursor:default;}
@media(max-width:700px){
  .availability-calendar{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
  .availability-day{min-height:52px;border-radius:10px;padding:5px 3px;}
  .availability-day span{font-size:.6rem;}
  .availability-day strong{font-size:.92rem;}
  .availability-role-tabs button{flex:1 1 130px;min-height:44px;}
}

/* v5.0.83: professional employee workspace navigation and compact identity. */
.employee-page-title{margin-bottom:12px;font-size:clamp(1.45rem,2.2vw,2rem)}
.employee-identity-strip{position:relative;padding:10px 16px;margin-bottom:10px;border-radius:16px}
.employee-identity-content{display:flex;align-items:center;gap:13px;width:100%}
.employee-identity-strip .employee-avatar{width:52px;height:52px;border-radius:15px;border-width:2px}
.employee-identity-strip .employee-avatar span{font-size:1.05rem}
.employee-avatar-upload{flex:0 0 auto;margin:0}.employee-avatar-editable{position:relative;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.employee-avatar-editable:hover,.employee-avatar-editable:focus-within{transform:translateY(-1px);box-shadow:0 0 0 3px rgba(81,162,254,.35),0 10px 25px rgba(20,33,61,.22)}.employee-avatar-placeholder{width:72%;height:72%;fill:rgba(255,255,255,.92);stroke:rgba(255,255,255,.92);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.employee-avatar-file{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.employee-avatar-upload.is-uploading{pointer-events:none;opacity:.72}
.employee-identity-strip .eyebrow{font-size:.7rem;margin-bottom:1px}
.employee-identity-strip h2{font-size:1.18rem;line-height:1.1}
.employee-identity-meta{gap:12px;margin-top:4px;font-size:.82rem}
.employee-identity-action .button{padding:8px 12px;min-height:36px;box-shadow:none}
.employee-identity-toggle{position:absolute;right:8px;top:6px;z-index:2;background:transparent!important;border:0;color:#fff;padding:4px 7px;min-height:0;font-size:.72rem;box-shadow:none!important;opacity:.82}
.employee-identity-toggle:hover{opacity:1;text-decoration:underline}
.employee-identity-strip.is-collapsed{padding:5px 46px 5px 10px;min-height:34px}
.employee-identity-strip.is-collapsed .employee-identity-content{display:none}
.employee-identity-strip.is-collapsed .employee-identity-toggle{top:5px}
.employee-workspace-nav{position:relative;z-index:10;display:flex;align-items:stretch;gap:7px;margin:0 0 18px;padding:7px;background:#f4f7fc;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 22px rgba(36,47,101,.06);overflow:visible}
.employee-nav-menu{position:relative;flex:1 1 0;min-width:0}
.employee-nav-menu summary{list-style:none;cursor:pointer;text-align:center;padding:10px 8px;border-radius:10px;color:var(--brand2);font-weight:850;font-size:.88rem;white-space:nowrap;user-select:none}
.employee-nav-menu summary::-webkit-details-marker{display:none}
.employee-nav-menu summary::after{content:'▾';margin-left:6px;font-size:.7em}
.employee-nav-menu[open] summary,.employee-nav-menu summary:hover{background:#fff;box-shadow:0 4px 14px rgba(36,47,101,.08)}
.employee-nav-submenu{position:absolute;top:calc(100% + 6px);left:0;min-width:190px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 38px rgba(36,47,101,.17)}
.employee-nav-menu:last-child .employee-nav-submenu{left:auto;right:0}
.employee-nav-submenu a{display:block;padding:10px 11px;border-radius:9px;color:var(--brand2);font-weight:750;font-size:.88rem;text-decoration:none}
.employee-nav-submenu a:hover,.employee-nav-submenu a:focus{background:#eef5ff;color:var(--brand2)}
.employee-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.employee-section-heading h2{margin-bottom:3px}
.employee-section-heading p{margin-top:0}
.employee-show-all-shifts{flex:0 0 auto;padding:8px 12px;min-height:38px}
[data-shift-category][hidden]{display:none!important}

@media(max-width:700px){
  .employee-page-title{font-size:1.3rem;margin:2px 0 9px}
  .employee-identity-strip{padding:8px 38px 8px 9px;margin-bottom:8px;border-radius:13px;text-align:left}
  .employee-identity-content{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px}
  .employee-identity-strip .employee-avatar{width:42px;height:42px;border-radius:12px;margin:0}
  .employee-identity-strip .eyebrow{display:none}
  .employee-identity-strip h2{font-size:1rem}
  .employee-identity-meta{display:flex;justify-content:flex-start;gap:3px 10px;text-align:left;font-size:.7rem;margin-top:3px}
  .employee-identity-action{display:none}
  .employee-identity-toggle{right:6px;top:5px;font-size:.68rem}
  .employee-workspace-nav{gap:5px;margin-bottom:14px;padding:5px;overflow-x:auto;overflow-y:visible;scrollbar-width:thin}
  .employee-nav-menu{flex:0 0 auto;min-width:98px}
  .employee-nav-menu summary{padding:9px 8px;font-size:.8rem}
  .employee-nav-submenu{position:fixed;left:10px!important;right:10px!important;top:auto;min-width:0;margin-top:5px;z-index:30}
  .availability-calendar{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .availability-day{min-height:52px;padding:5px 3px;border-radius:10px}
  .availability-day span{font-size:.6rem}
  .availability-day strong{font-size:.92rem}
  .employee-section-heading{display:block}
  .employee-show-all-shifts{width:100%;margin-bottom:10px}
}
@media(max-width:390px){.availability-calendar{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.availability-day{min-height:48px;padding:4px 2px}.availability-day span{font-size:.56rem}.availability-day strong{font-size:.86rem}}

.employee-overview-card{display:block;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.employee-overview-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(36,47,101,.12)}.employee-overview-card h3{margin-bottom:8px}.employee-overview-card span:last-child{color:var(--muted);font-weight:700}

/* v5.0.86: responsive primary header navigation */
.site-menu-toggle{display:none;width:44px;height:44px;padding:10px;border-radius:12px;background:#edf5f8;color:var(--ink);flex:0 0 auto;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.site-menu-toggle:hover{background:#dcecf2}
.site-menu-toggle span{display:block;width:22px;height:2px;border-radius:999px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
.site-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.site-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:900px){
  .topbar{height:64px;position:sticky;padding:0 14px;z-index:100}
  .brand{min-width:0;gap:8px}
  .brand span{width:36px;height:36px;border-radius:12px}
  .brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brand small{display:none}
  .site-menu-toggle{display:flex;background:#51a2fe!important;border-color:#51a2fe!important;color:#fff!important}
  .site-menu-toggle:hover,.site-menu-toggle:focus-visible,.site-menu-toggle[aria-expanded="true"]{background:#51a2fe!important;border-color:#51a2fe!important;color:#fff!important}
  .topbar .site-navigation{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;max-height:calc(100vh - 65px);overflow-y:auto;padding:12px 14px 18px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 34px rgba(20,33,61,.16);flex-direction:column;align-items:stretch;gap:4px}
  .topbar .site-navigation.is-open{display:flex}
  .topbar .site-navigation a{display:block;padding:12px 14px;border-radius:12px;color:var(--ink);font-weight:800}
  .topbar .site-navigation a:hover,.topbar .site-navigation a:focus-visible{background:#edf5f8;color:var(--brand)}
  .topbar .site-navigation .site-signout{display:block;width:100%;padding-top:8px;margin-top:6px;border-top:1px solid var(--line)}
  .topbar .site-navigation .site-signout button{display:block;width:100%;text-align:center}
  body.site-menu-open{overflow:hidden}
}

/* v5.0.88: grouped role navigation */
.grouped-site-navigation{align-items:center}
.site-nav-group{position:relative;margin:0}
.site-nav-group>summary{list-style:none;cursor:pointer;padding:9px 10px;border-radius:10px;color:var(--ink);font-weight:750;white-space:nowrap}
.site-nav-group>summary::-webkit-details-marker{display:none}
.site-nav-group>summary::after{content:'▾';font-size:.7em;margin-left:6px}
.site-nav-group[open]>summary,.site-nav-group>summary:hover,.site-nav-group>summary:focus-visible{background:#edf5f8;color:var(--brand)}
.site-nav-submenu{position:absolute;top:calc(100% + 8px);left:0;z-index:80;min-width:210px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 38px rgba(20,33,61,.16)}
.site-nav-submenu a{display:block;padding:10px 11px;border-radius:9px;white-space:nowrap;color:#242f64}
.site-nav-submenu a:hover,.site-nav-submenu a:focus-visible{background:#edf5f8;color:#242f64}
@media(max-width:900px){.topbar .site-navigation .site-nav-group{width:100%}.topbar .site-navigation .site-nav-group>summary{display:block;padding:12px 14px}.topbar .site-navigation .site-nav-submenu{position:static;min-width:0;margin:2px 8px 8px;padding:5px;border:0;border-left:3px solid var(--line);border-radius:0;box-shadow:none}.topbar .site-navigation .site-nav-submenu a{padding:10px 14px}}

/* v5.0.89: ensure grouped navigation labels remain visible in the dark header. */
.topbar .grouped-site-navigation .site-nav-group{display:block;flex:0 0 auto}
.topbar .grouped-site-navigation .site-nav-group>summary{color:#fff}
.topbar .grouped-site-navigation .site-nav-group>summary::after{color:currentColor}
.topbar .grouped-site-navigation .site-nav-group[open]>summary,
.topbar .grouped-site-navigation .site-nav-group>summary:hover,
.topbar .grouped-site-navigation .site-nav-group>summary:focus-visible{background:rgba(255,255,255,.14);color:#fff}
@media(max-width:900px){
  .topbar .grouped-site-navigation .site-nav-group{display:block;width:100%;flex:none}
  .topbar .grouped-site-navigation .site-nav-group>summary{color:var(--ink)}
  .topbar .grouped-site-navigation .site-nav-group[open]>summary,
  .topbar .grouped-site-navigation .site-nav-group>summary:hover,
  .topbar .grouped-site-navigation .site-nav-group>summary:focus-visible{background:#edf5f8;color:var(--brand2)}
}

/* v5.0.90: submenu links use navy text against white submenu panels. */
.topbar .site-nav-submenu a,.topbar .site-nav-submenu a:visited{color:#242f64}
.topbar .site-nav-submenu a:hover,.topbar .site-nav-submenu a:focus-visible{color:#242f64}

/* v5.0.93: production hardening - availability stays 4 columns on every mobile width. */
@media(max-width:720px){.availability-calendar{grid-template-columns:repeat(4,minmax(0,1fr))!important;max-width:100%;overflow:visible}.availability-day{min-width:0;word-break:normal}}

/* v5.0.94 production monitoring */
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem 1rem}.log-pre{white-space:pre-wrap;word-break:break-word;background:#f7f9fc;border:1px solid #dfe5f1;border-radius:12px;padding:1rem;max-height:460px;overflow:auto}.danger-soft{border-color:#ffd0d0;background:#fffafa}.button.small{padding:.45rem .7rem;font-size:.85rem}.compact-form label{min-width:0}
@media(max-width:720px){.log-pre{font-size:.82rem;max-height:320px}.detail-grid{grid-template-columns:1fr}}

/* v5.0.95: backup and recovery readiness */
.split-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}.readiness-list{display:grid;gap:10px;margin-top:14px}.readiness-row{border:1px solid var(--line);border-radius:16px;padding:13px 14px;background:#fff}.readiness-row strong{display:block;color:var(--ink);margin-bottom:4px}.readiness-row span{display:block;color:var(--muted);line-height:1.45}.readiness-row small{display:block;margin-top:5px;color:var(--danger);font-weight:800}.readiness-row.ok{border-color:#bfe8d2;background:#f5fff9}.readiness-row.bad{border-color:#fecaca;background:#fff7f7}.stacked-list{margin:12px 0 0;padding-left:1.25rem}.stacked-list li{margin-bottom:10px;line-height:1.55}.table-wrap{width:100%;max-width:100%}@media(max-width:700px){.split-head{display:block}.split-head .button{margin-top:10px;width:100%;text-align:center}.readiness-row{padding:12px}.table-wrap{overflow:visible}}


/* v5.0.98: Platform UI settings and users list */
.ui-colour-grid input[type=color]{height:44px;padding:4px;border-radius:12px}.ui-colour-grid input[type=text],.ui-colour-grid input:not([type]){font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.ui-menu-group{border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:14px 0;background:#fff}.ui-menu-group summary{cursor:pointer;font-weight:900;color:var(--brand2);margin-bottom:10px}.ui-menu-grid label.check{background:#f8fbff;border:1px solid var(--line);border-radius:12px;padding:10px;margin:0}.platform-users-table td{overflow-wrap:anywhere}@media(max-width:700px){.ui-menu-grid{grid-template-columns:1fr}.ui-colour-grid{grid-template-columns:1fr}}

/* v5.0.99: compact employee shift lists, detail popups and concise timestamps. */
.employee-minimal-shifts-table th,
.employee-minimal-shifts-table td{vertical-align:middle;}
.employee-shift-facility,.employee-shift-date{font-weight:900;color:#242f65;}
.employee-shift-details-button{min-height:38px;padding:8px 14px;}
.employee-minimal-shift-card .employee-shift-card-head{align-items:center;}
.employee-minimal-shift-card .employee-shift-card-head h3{color:#242f65;}
.employee-minimal-shift-details{grid-template-columns:repeat(2,minmax(0,1fr));}
.employee-minimal-shift-details div{min-width:0;}
.shift-detail-modal[hidden]{display:none!important;}
.shift-detail-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;}
.shift-detail-modal-backdrop{position:absolute;inset:0;background:rgba(36,47,100,.56);}
.shift-detail-modal-panel{position:relative;z-index:1;width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fffffe;color:#242f65;border:1px solid #dfe5f1;border-radius:22px;box-shadow:0 28px 80px rgba(36,47,101,.28);padding:22px;outline:0;}
.shift-detail-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid #dfe5f1;padding-bottom:14px;margin-bottom:16px;}
.shift-detail-modal-head h2{margin:0;color:#242f65;line-height:1.15;}
.shift-detail-emphasis{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;background:#f4f8ff;border:1px solid #dfe5f1;border-radius:16px;padding:13px 14px;margin-bottom:16px;}
.shift-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;}
.shift-detail-grid div{background:#fffffe;border:1px solid #dfe5f1;border-radius:14px;padding:12px;min-width:0;}
.shift-detail-grid .wide{grid-column:1 / -1;}
.shift-detail-grid dt{margin:0 0 5px;text-transform:uppercase;letter-spacing:.06em;color:#667394;font-size:.72rem;font-weight:900;}
.shift-detail-grid dd{margin:0;font-weight:750;color:#242f65;overflow-wrap:anywhere;line-height:1.35;}
.shift-detail-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;border-top:1px solid #dfe5f1;margin-top:16px;padding-top:16px;}
.shift-detail-actions form{margin:0;}
.shift-detail-actions button,.shift-detail-actions .button{min-height:44px;}
body.modal-open{overflow:hidden;}
@media(max-width:700px){
  .employee-minimal-shift-details{grid-template-columns:1fr;}
  .shift-detail-modal{padding:10px;align-items:end;}
  .shift-detail-modal-panel{max-height:calc(100vh - 20px);border-radius:20px;padding:16px;}
  .shift-detail-modal-head{display:block;}
  .shift-detail-modal-head .button{width:100%;margin-top:12px;}
  .shift-detail-grid{grid-template-columns:1fr;}
  .shift-detail-actions{display:block;}
  .shift-detail-actions form,.shift-detail-actions button,.shift-detail-actions .button,.shift-detail-actions .timesheet-gate{width:100%;display:block;text-align:center;}
  .shift-detail-actions small{display:block;margin-top:8px;}
}

/* v5.0.100: employee mobile shift summary cards - facility/date/time/actions in one compact card. */
.employee-compact-shift-card{display:block;}
.employee-compact-shift-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px;}
.employee-compact-facility,.employee-compact-date{margin:0;color:#242f65;font-weight:950;line-height:1.25;overflow-wrap:anywhere;}
.employee-compact-date{text-align:right;flex:0 0 auto;max-width:42%;}
.employee-compact-facility{font-size:1.02rem;}
.employee-compact-shift-title{margin:2px 0 12px;color:#242f65;font-size:1.08rem;line-height:1.2;}
.employee-compact-time-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fbff;border:1px solid #dfe5f1;border-radius:14px;padding:10px 12px;margin-bottom:14px;color:#242f65;font-weight:800;}
.employee-compact-time-row span{min-width:0;overflow-wrap:anywhere;}
.employee-compact-time-row strong{display:block;text-transform:uppercase;letter-spacing:.06em;color:#667394;font-size:.72rem;margin-bottom:3px;}
.employee-compact-shift-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.employee-compact-shift-actions form{margin:0;}
.employee-compact-shift-actions button,.employee-compact-shift-actions .button{min-height:44px;min-width:104px;text-align:center;}
.employee-compact-shift-actions .timesheet-gate{width:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.employee-compact-shift-actions .timesheet-gate .button{width:auto;display:inline-flex;align-items:center;justify-content:center;}
.employee-compact-shift-actions small{color:#667394;line-height:1.35;overflow-wrap:anywhere;}
@media(max-width:700px){
  .employee-minimal-shift-card .employee-shift-card-head,.employee-minimal-shift-card .employee-minimal-shift-details{display:none!important;}
  .employee-compact-shift-card{padding:16px;border-radius:20px;}
  .employee-compact-shift-actions{justify-content:flex-start;}
  .employee-compact-shift-actions button,.employee-compact-shift-actions .button{border-radius:999px;padding:11px 18px;}
}
@media(max-width:390px){
  .employee-compact-shift-top{display:block;}
  .employee-compact-date{text-align:left;max-width:none;margin-top:3px;}
  .employee-compact-time-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .employee-compact-shift-actions button,.employee-compact-shift-actions .button{min-width:96px;}
}

/* v5.0.101: employee shift summary and details popup layout aligned with requested sketches. */
.employee-summary-shift-card{padding:16px 18px;}
.employee-summary-facility{margin:0 0 4px;color:#242f65;font-size:1.32rem;font-weight:950;line-height:1.16;overflow-wrap:anywhere;}
.employee-summary-date{margin:0 0 4px;color:#242f65;font-size:1rem;font-weight:800;line-height:1.28;}
.employee-summary-time-row{display:flex;align-items:center;gap:12px;margin:0 0 14px;color:#242f65;font-weight:800;line-height:1.3;}
.employee-summary-time-row span{display:inline-flex;align-items:baseline;gap:5px;min-width:0;}
.employee-summary-time-row strong{font-size:.92rem;font-weight:900;color:#242f65;}
.employee-summary-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px;}
.employee-summary-actions form{margin:0;}
.employee-summary-actions button,.employee-summary-actions .button{border-radius:999px;min-height:42px;min-width:110px;padding:10px 18px;text-align:center;}
.employee-summary-actions .timesheet-gate{width:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.employee-summary-actions .timesheet-gate .button{display:inline-flex;width:auto;align-items:center;justify-content:center;}
.employee-summary-actions small{color:#667394;line-height:1.35;}
.employee-shift-info-popup{width:min(620px,100%);padding:26px 24px;}
.shift-info-popup-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;margin-bottom:12px;}
.shift-info-label{margin:0 0 8px;color:#111827;font-size:1rem;font-weight:500;letter-spacing:0;text-transform:none;}
.shift-info-title{margin:0;color:#111827;font-size:1.05rem;font-weight:600;line-height:1.3;}
.shift-info-status-wrap{text-align:left;min-width:140px;}
.shift-info-facility-block{margin:0 0 22px;}
.shift-info-facility{margin:0 0 14px;color:#111827;font-size:1.58rem;font-weight:500;line-height:1.16;overflow-wrap:anywhere;}
.shift-info-address{margin:0;color:#111827;font-size:1rem;line-height:1.45;overflow-wrap:anywhere;}
.shift-info-map-link{display:inline-grid;width:28px;height:28px;margin:0 8px 3px 0;place-items:center;vertical-align:middle;border:1px solid #c9dbef;border-radius:8px;background:#fff;text-decoration:none}.shift-info-map-link img{display:block;width:14px;height:20px;object-fit:contain}.shift-info-map-link:hover,.shift-info-map-link:focus-visible{border-color:#51a2fe;background:#edf6ff;outline:2px solid rgba(81,162,254,.25);outline-offset:2px}.shift-info-address>span{display:inline}
.shift-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 42px;margin:0;}
.shift-info-grid div{min-width:0;}
.shift-info-grid .wide{grid-column:1 / -1;}
.shift-info-grid dt{margin:0 0 8px;color:#111827;font-size:1rem;font-weight:500;text-transform:none;letter-spacing:0;}
.shift-info-grid dd{margin:0;color:#111827;font-size:1rem;font-weight:500;line-height:1.4;overflow-wrap:anywhere;}
.shift-info-actions{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin-top:26px;}
.shift-info-actions form{margin:0;}
.shift-info-actions button,.shift-info-actions .button{justify-self:start;border-radius:999px;min-width:126px;min-height:42px;padding:10px 18px;text-align:center;}
.shift-info-actions > button:last-child,.shift-info-actions > .button:last-child{justify-self:end;}
.shift-info-actions .timesheet-gate{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.shift-info-actions .timesheet-gate .button{display:inline-flex;align-items:center;justify-content:center;}
@media(max-width:700px){
  .employee-summary-shift-card{padding:16px;border-radius:20px;}
  .employee-summary-facility{font-size:1.45rem;}
  .employee-summary-date{font-size:1rem;}
  .employee-summary-time-row{gap:10px;flex-wrap:wrap;}
  .employee-summary-actions{gap:10px;}
  .employee-summary-actions button,.employee-summary-actions .button{min-width:96px;min-height:42px;padding:10px 16px;}
  .employee-shift-info-popup{border-radius:20px;padding:18px 16px;}
  .shift-info-popup-top{grid-template-columns:1fr auto;gap:12px;}
  .shift-info-status-wrap{min-width:0;}
  .shift-info-facility{font-size:1.42rem;}
  .shift-info-grid{grid-template-columns:1fr 1fr;gap:16px 24px;}
  .shift-info-actions{gap:16px;}
  .shift-info-actions button,.shift-info-actions .button{min-width:106px;}
}
@media(max-width:390px){
  .shift-info-grid{gap:14px 16px;}
  .shift-info-actions{gap:12px;}
  .shift-info-actions button,.shift-info-actions .button{min-width:94px;padding:10px 14px;}
}

/* v5.0.102: employee shift card accent stripe and blue details action. */
.employee-summary-shift-card{
  position:relative;
  border-left:8px solid var(--shift-accent,#51a2fe);
}
.employee-summary-shift-card::before{
  content:"";
  position:absolute;
  left:-8px;
  top:16px;
  bottom:16px;
  width:8px;
  border-radius:999px;
  background:var(--shift-accent,#51a2fe);
}
.employee-shift-details-button,
.employee-summary-actions .employee-shift-details-button,
.shift-info-actions .employee-shift-details-button{
  background:#51a2fe!important;
  color:#ffffff!important;
  box-shadow:0 14px 32px rgba(81,162,254,.22);
}
.employee-shift-details-button:hover,
.employee-shift-details-button:focus-visible{
  background:#1f7de2!important;
  color:#ffffff!important;
}
@media(max-width:700px){
  .employee-summary-shift-card{border-left-width:7px;}
  .employee-summary-shift-card::before{left:-7px;width:7px;top:14px;bottom:14px;}
}


/* v5.0.103: enforce distinct action and details colours on compact employee shift cards. */
.employee-summary-actions .employee-shift-details-button,
.employee-compact-shift-actions .employee-shift-details-button,
.employee-shift-card .employee-shift-details-button {
  background: #51a2fe !important;
  border-color: #51a2fe !important;
  color: #ffffff !important;
  box-shadow: 0 14px 32px rgba(81,162,254,.22) !important;
}
.employee-summary-actions .employee-shift-details-button:hover,
.employee-summary-actions .employee-shift-details-button:focus-visible,
.employee-compact-shift-actions .employee-shift-details-button:hover,
.employee-compact-shift-actions .employee-shift-details-button:focus-visible,
.employee-shift-card .employee-shift-details-button:hover,
.employee-shift-card .employee-shift-details-button:focus-visible {
  background: #1f7de2 !important;
  border-color: #1f7de2 !important;
  color: #ffffff !important;
}
.employee-summary-actions form button,
.employee-summary-actions > button:not(.employee-shift-details-button):not([data-shift-detail-close]),
.employee-compact-shift-actions form button,
.employee-compact-shift-actions > button:not(.employee-shift-details-button):not([data-shift-detail-close]) {
  background: #ff5151 !important;
  border-color: #ff5151 !important;
  color: #ffffff !important;
  box-shadow: 0 14px 32px rgba(255,81,81,.18) !important;
}
.employee-summary-actions form button:hover,
.employee-summary-actions form button:focus-visible,
.employee-compact-shift-actions form button:hover,
.employee-compact-shift-actions form button:focus-visible {
  background: #e14444 !important;
  border-color: #e14444 !important;
  color: #ffffff !important;
}
.employee-summary-actions .timesheet-gate .button,
.employee-compact-shift-actions .timesheet-gate .button {
  background: #ff5151 !important;
  border-color: #ff5151 !important;
  color: #ffffff !important;
}


/* v5.0.104: final compact shift-card button states after dynamic UI settings.
   Header inline CSS also explicitly preserves these colours. */
.employee-summary-actions .employee-shift-action-button,
.employee-compact-shift-actions .employee-shift-action-button {
  background:#ff5151!important;
  border-color:#ff5151!important;
  color:#ffffff!important;
}
.employee-summary-actions .employee-shift-details-button,
.employee-compact-shift-actions .employee-shift-details-button,
.shift-info-actions .employee-shift-details-button {
  background:#51a2fe!important;
  border-color:#51a2fe!important;
  color:#ffffff!important;
}
.employee-summary-actions .employee-shift-requested-button,
.employee-compact-shift-actions .employee-shift-requested-button,
.shift-info-actions .employee-shift-requested-button {
  background:#dbe7df!important;
  border-color:#9fc9ad!important;
  color:#0b6b3a!important;
  cursor:not-allowed!important;
  opacity:1!important;
  box-shadow:none!important;
}


/* v5.0.105: requested shift buttons must override compact action button rules.
   The high-specificity selectors are deliberate because earlier compact action rules
   use :not(...) selectors plus !important. */
.employee-summary-actions.employee-summary-actions > button.employee-shift-requested-button,
.employee-summary-actions.employee-summary-actions button.employee-shift-requested-button,
.employee-compact-shift-actions.employee-compact-shift-actions > button.employee-shift-requested-button,
.employee-compact-shift-actions.employee-compact-shift-actions button.employee-shift-requested-button,
.shift-info-actions.shift-info-actions > button.employee-shift-requested-button,
.shift-info-actions.shift-info-actions button.employee-shift-requested-button,
button.employee-shift-requested-button[disabled] {
  background:#dbe7df!important;
  border-color:#9fc9ad!important;
  color:#0b6b3a!important;
  cursor:not-allowed!important;
  opacity:1!important;
  box-shadow:none!important;
  transform:none!important;
}
.employee-summary-actions.employee-summary-actions > button.employee-shift-requested-button:hover,
.employee-summary-actions.employee-summary-actions > button.employee-shift-requested-button:focus-visible,
.employee-compact-shift-actions.employee-compact-shift-actions > button.employee-shift-requested-button:hover,
.employee-compact-shift-actions.employee-compact-shift-actions > button.employee-shift-requested-button:focus-visible,
.shift-info-actions.shift-info-actions > button.employee-shift-requested-button:hover,
.shift-info-actions.shift-info-actions > button.employee-shift-requested-button:focus-visible,
button.employee-shift-requested-button[disabled]:hover,
button.employee-shift-requested-button[disabled]:focus-visible {
  background:#dbe7df!important;
  border-color:#9fc9ad!important;
  color:#0b6b3a!important;
  cursor:not-allowed!important;
  opacity:1!important;
  box-shadow:none!important;
  transform:none!important;
}

/* v5.0.110: all dashboard View buttons use the approved WorkCura green. */
.button.view-button,
a.view-button,
button.view-button,
a.button.view-button,
button.button.view-button {
  background:#8eca3c!important;
  border-color:#8eca3c!important;
  color:#ffffff!important;
}
.button.error-log-view-button,a.button.error-log-view-button{display:inline-flex!important;align-items:center;justify-content:center;min-width:74px;min-height:38px;padding:9px 16px!important;border-radius:8px!important;font-size:.9rem!important;font-weight:850!important;line-height:1.15!important;white-space:nowrap!important;word-break:normal!important;text-align:center}
.button.view-button:hover,
a.view-button:hover,
button.view-button:hover,
.button.view-button:focus-visible,
a.view-button:focus-visible,
button.view-button:focus-visible {
  background:#79b62e!important;
  border-color:#79b62e!important;
  color:#ffffff!important;
}
.button.danger,
button.danger,
a.button.danger {
  background:#ff5151!important;
  border-color:#ff5151!important;
  color:#ffffff!important;
}

/* v5.0.111: availability calendar must remain neutral until employee/manager marks a date available.
   These rules intentionally override global UI button colour injection. */
.availability-calendar button.availability-day,
.availability-calendar .availability-day{
  background:#fffffe!important;
  border-color:#dfe5f1!important;
  color:#242f65!important;
}
.availability-calendar button.availability-day span,
.availability-calendar .availability-day span{color:#667394!important;}
.availability-calendar button.availability-day strong,
.availability-calendar .availability-day strong{color:#242f65!important;}
.availability-calendar button.availability-day.is-available,
.availability-calendar .availability-day.is-available{
  background:#3585eb!important;
  border-color:#3585eb!important;
  color:#ffffff!important;
}
.availability-calendar button.availability-day.is-available span,
.availability-calendar button.availability-day.is-available strong,
.availability-calendar .availability-day.is-available span,
.availability-calendar .availability-day.is-available strong{color:#ffffff!important;}
.availability-calendar button.availability-day:focus-visible{
  outline:3px solid rgba(53,133,235,.35);
  outline-offset:2px;
}

/* v5.0.112: employee shift desktop tables must show action buttons as well as details buttons. */
.employee-shifts-table .employee-shift-desktop-action form { margin: 0; }
.employee-shifts-table .employee-shift-desktop-action .employee-shift-action-button,
.employee-shifts-table .employee-shift-desktop-action .employee-shift-requested-button,
.employee-shifts-table .employee-shift-desktop-action .button {
  min-width: 96px;
  justify-content: center;
  white-space: nowrap;
}
.employee-shifts-table .employee-shift-desktop-action small {
  display: inline-block;
  max-width: 150px;
  line-height: 1.25;
}
@media (max-width: 760px) {
  .employee-shifts-table .employee-shift-desktop-action { display: none; }
}

/* v5.0.113: arrange the expanded mobile primary menu horizontally. */
@media(max-width:900px){
  .topbar .site-navigation{
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    align-content:flex-start;
    gap:8px;
  }
  .topbar .site-navigation>a,
  .topbar .site-navigation>.site-nav-group{
    flex:0 1 auto;
    width:auto;
  }
  .topbar .site-navigation>a{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:10px 12px;
    white-space:nowrap;
  }
  .topbar .grouped-site-navigation .site-nav-group{
    width:auto;
    flex:0 1 auto;
  }
  .topbar .site-navigation .site-nav-group>summary{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:10px 12px;
  }
  .topbar .site-navigation .site-nav-submenu{
    position:fixed;
    left:14px;
    right:14px;
    width:auto;
    margin:6px 0 0;
    padding:7px;
    border:1px solid var(--line);
    border-radius:13px;
    box-shadow:0 18px 38px rgba(20,33,61,.16);
  }
  .topbar .site-navigation .site-signout{
    flex:1 0 100%;
    width:100%;
  }
}


/* v5.0.115: keep a compact Sign out button centred in the mobile main header. */
.mobile-header-signout{display:none}
@media(max-width:900px){
  .topbar{position:sticky}
  .topbar .mobile-header-signout{
    display:block;
    width:auto;
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    margin:0;
    z-index:2;
  }
  .topbar .mobile-header-signout button{
    width:auto!important;
    min-width:0;
    min-height:0;
    margin:0;
    padding:7px 14px;
    border:0;
    border-radius:999px;
    background:#ff5151!important;
    color:#fff!important;
    box-shadow:none;
    white-space:nowrap;
    font-weight:850;
  }
  .topbar .mobile-header-signout button:hover,
  .topbar .mobile-header-signout button:focus-visible{
    background:#e84343!important;
    color:#fff!important;
  }
  .topbar .site-navigation .site-signout{display:none}
}
@media(max-width:390px){
  .topbar .mobile-header-signout button{padding:6px 11px;font-size:.84rem}
}

/* v5.0.119: installable mobile Progressive Web App controls. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.pwa-install-button{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:120;padding:10px 16px;background:#51a2fe!important;color:#fff!important;border:2px solid rgba(255,255,255,.9);box-shadow:0 12px 30px rgba(20,33,61,.24)}
.pwa-install-button:hover,.pwa-install-button:focus-visible{background:#1f7de2!important;color:#fff!important}
@media(min-width:901px){.pwa-install-button{right:24px;bottom:24px}}
@media(display-mode:standalone){.pwa-install-button{display:none!important}}

/* v5.0.127: facility shift list shows every employee who requested each shift. */
.page-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px}.page-title-row h1{margin:.15rem 0 .35rem}.page-title-row .eyebrow{margin:0}.shift-create-card{max-width:980px}.shift-create-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:6px}.shift-create-footer p{margin:0;max-width:660px}.shift-filter-card{padding:18px 20px}.shift-filter-form{display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(190px,.7fr) auto;gap:14px;align-items:end}.shift-filter-form label{margin:0}.shift-filter-actions{display:flex;gap:8px;align-items:center;padding-bottom:1px}.shift-status-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.shift-status-tabs .pill{border:1px solid transparent;gap:6px}.shift-status-tabs .pill strong{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#fff;color:#242f65;font-size:.78rem}.shift-status-tabs .pill.is-active{background:#242f65;color:#fff}.shift-status-tabs .pill.is-active strong{background:#51a2fe;color:#fff}.shifts-list-card{padding:20px}.shift-management-list{display:grid;gap:12px;margin-top:16px}.shift-management-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(36,47,101,.06)}.shift-management-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.shift-management-heading h3{margin:0 0 4px;font-size:1.08rem}.shift-management-heading p{margin:0;color:var(--muted)}.shift-status-pill{flex:0 0 auto}.shift-management-meta{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin:16px 0 0}.shift-management-meta div{padding:10px 12px;border-radius:12px;background:#f8fbff}.shift-management-meta dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:900}.shift-management-meta dd{margin:4px 0 0;font-weight:750;overflow-wrap:anywhere}.shift-management-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:390px}.shift-management-actions form{margin:0}.shift-more-actions{position:relative}.shift-more-actions>summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:999px;padding:.45rem .8rem;background:#fff;color:#242f65;font-weight:900}.shift-more-actions>summary::-webkit-details-marker{display:none}.shift-more-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:4;width:280px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 18px 42px rgba(36,47,101,.18)}.shift-more-menu form+form{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.shift-more-menu label{font-size:.82rem;margin-bottom:8px}.button.danger-outline,button.danger-outline{background:#fff!important;color:#b42318!important;border:1px solid #ffb4b4!important;box-shadow:none!important}.button.danger-outline:hover,button.danger-outline:hover{background:#fff3f3!important;color:#8a1d1d!important}.queue-action-button,.button.queue-action-button,a.button.queue-action-button{background:#fff!important;color:#242f65!important;border:1px solid #dfe5f1!important;box-shadow:none!important}.queue-action-button:hover,.queue-action-button:focus-visible{background:#edf5ff!important;color:#242f65!important;border-color:#9ec9fa!important}.button.ghost,button.ghost,a.button.ghost{background:#fff!important;color:#242f65!important}.empty-state{text-align:center;padding:34px 16px;border:1px dashed var(--line);border-radius:16px;background:#f8fbff}.empty-state h3{margin:0 0 6px}
@media(max-width:980px){.shift-filter-form{grid-template-columns:1fr 1fr}.shift-filter-actions{grid-column:1/-1}.shift-management-item{grid-template-columns:1fr}.shift-management-actions{justify-content:flex-start;max-width:none}.shift-management-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.page-title-row{display:block}.page-title-row>.button{width:100%;text-align:center;margin-top:10px}.shift-filter-form{grid-template-columns:1fr}.shift-filter-actions{display:grid;grid-template-columns:1fr 1fr}.shift-filter-actions .button{text-align:center}.shift-management-meta{grid-template-columns:1fr}.shift-management-actions{display:grid;grid-template-columns:1fr 1fr}.shift-management-actions .button,.shift-management-actions button,.shift-management-actions form{width:100%;text-align:center}.shift-more-actions{grid-column:1/-1}.shift-more-actions>summary{text-align:center}.shift-more-menu{position:static;width:100%;margin-top:8px}.shift-create-footer .button{width:100%;text-align:center}}


.agency-shifts-table .agency-shift-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}
.agency-shifts-table .agency-shift-actions::-webkit-scrollbar{height:8px}
.agency-shifts-table .agency-shift-actions::-webkit-scrollbar-thumb{background:#d7e2f2;border-radius:999px}
.agency-shifts-table .agency-shift-actions .shift-action-form{margin:0;display:inline-flex;align-items:center;flex:0 0 auto}
.agency-shifts-table .agency-shift-actions .button,
.agency-shifts-table .agency-shift-actions button{white-space:nowrap;min-height:auto}
@media(max-width:700px){
  .agency-shifts-table .agency-shift-actions{flex-wrap:nowrap;overflow-x:auto;width:100%}
  .agency-shifts-table .agency-shift-actions .button,
  .agency-shifts-table .agency-shift-actions button{width:auto!important;margin:0!important;min-height:40px}
}


.facility-shift-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}
.facility-shift-actions::-webkit-scrollbar{height:8px}
.facility-shift-actions::-webkit-scrollbar-thumb{background:#d7e2f2;border-radius:999px}
.facility-shift-action-form{margin:0;display:inline-flex;align-items:center;flex:0 0 auto}
.facility-shift-actions .button,
.facility-shift-actions button{white-space:nowrap;min-height:auto;flex:0 0 auto}
@media(max-width:700px){
  .facility-shift-actions{width:100%}
  .facility-shift-actions .button,
  .facility-shift-actions button{width:auto!important;margin:0!important;min-height:40px}
}


.shift-person-line{display:block;line-height:1.45}
.shift-person-line + .shift-person-line{margin-top:3px}
.shift-person-line strong{color:#5d6b91;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}

/* v5.0.128: facility Messages and Notifications use the full workspace width without legacy side navigation. */
.full-width-content{width:100%;min-width:0}

/* v5.0.129: explicit confirmation before awarding a shift whose start time has passed. */
.request-action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.request-action-row form{margin:0}
.past-shift-dialog{border:0;border-radius:22px;padding:0;max-width:520px;width:calc(100% - 32px);box-shadow:0 24px 70px rgba(20,33,61,.28)}
.past-shift-dialog::backdrop{background:rgba(20,33,61,.55);backdrop-filter:blur(3px)}
.past-shift-dialog-card{padding:28px;background:#fff}.past-shift-dialog-card h2{margin:0 0 10px;color:#b42318}.past-shift-dialog-card p{margin:0 0 22px;font-size:1.05rem}
.past-shift-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.past-shift-dialog-actions .button,.past-shift-dialog-actions button{text-align:center;width:100%}
.past-shift-dialog-close{display:block;margin:14px auto 0}
@media(max-width:560px){.past-shift-dialog-actions{grid-template-columns:1fr}}


/* v5.0.131: admin-editable Starter, Pro and add-on pricing models. */
.pricing-page{width:min(100%,1280px);max-width:none;margin:0 auto}.pricing-hero{max-width:1120px;margin:18px auto 38px;text-align:center}.pricing-hero h1{font-size:clamp(2.15rem,5vw,4.25rem);line-height:1.04;margin:.25rem 0 1rem;color:#172554}.pricing-hero>p:not(.eyebrow){max-width:920px;margin:0 auto;color:var(--muted);font-size:1.08rem;line-height:1.65}.pricing-note{display:inline-block;margin-top:20px;padding:11px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#465475;font-size:.9rem}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;width:100%;max-width:none;margin:0 auto 30px}.pricing-card{position:relative;display:flex;flex-direction:column;min-height:100%;padding:34px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow)}.pricing-card.is-featured{border:2px solid #51a2fe;box-shadow:0 24px 60px rgba(36,47,101,.16);transform:translateY(-5px)}.pricing-badge{position:absolute;right:22px;top:20px;padding:7px 11px;border-radius:999px;background:#51a2fe;color:#fff;font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.pricing-plan-label{margin:0 0 12px;color:#242f65;font-size:.9rem;font-weight:950;letter-spacing:.13em}.pricing-price{display:flex;align-items:flex-end;gap:9px;margin-bottom:16px}.pricing-price strong{font-size:3.35rem;line-height:.95;color:#172554}.pricing-price span{padding-bottom:7px;color:var(--muted);font-weight:750}.pricing-summary{min-height:72px;color:var(--muted);line-height:1.55}.pricing-features{display:grid;gap:12px;padding:0;margin:20px 0 26px;list-style:none}.pricing-features li{display:flex;gap:10px;align-items:flex-start;line-height:1.4;font-weight:700;color:#26345f}.pricing-features li span{display:inline-grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#e9f4ff;color:#176a72;font-weight:950}.pricing-cta{width:100%;margin-top:auto;text-align:center;font-size:1rem}.pricing-card small{display:block;margin-top:14px;text-align:center;color:var(--muted)}.pricing-card code,.pricing-addon code{font-size:.75rem;color:#536184}.pricing-addon{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:38px;align-items:center;width:100%;max-width:none;margin:0 auto 30px;padding:34px;border:1px solid #c8def8;border-radius:24px;background:linear-gradient(135deg,#f7fbff,#eef6ff);box-shadow:var(--shadow)}.pricing-addon h2{margin:.2rem 0 .7rem;color:#172554}.pricing-addon>div>p:not(.eyebrow){color:var(--muted);line-height:1.55}.pricing-features.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.pricing-addon-price{min-width:240px;text-align:center;padding:22px;border-radius:20px;background:#fff;border:1px solid var(--line)}.pricing-addon-price strong{display:block;font-size:2.8rem;color:#172554}.pricing-addon-price span,.pricing-addon-price small,.pricing-addon-price code{display:block;margin-top:5px}.pricing-addon-price span{font-weight:800;color:var(--muted)}.pricing-addon-price small{color:#526080}.pricing-comparison{width:100%;max-width:none;margin:0 auto 30px}.pricing-comparison .table-wrap{width:100%}.pricing-comparison table{width:100%;table-layout:auto}.pricing-comparison table th:first-child,.pricing-comparison table td:first-child{width:34%}.pricing-comparison table td:not(:first-child),.pricing-comparison table th:not(:first-child){width:22%;text-align:center}.pricing-final-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:none;margin:0 auto 30px;padding:34px;border-radius:24px;background:#242f65;color:#fff}.pricing-final-cta h2{margin:0 0 7px;color:#fff}.pricing-final-cta p{margin:0;color:#dce7ff}.pricing-final-cta .ghost{background:#fff!important}.pricing-final-cta .actions{flex-wrap:nowrap}.pricing-page>.card:last-of-type{width:100%;max-width:none}@media(max-width:800px){.pricing-grid{grid-template-columns:1fr}.pricing-card{padding:26px}.pricing-card.is-featured{transform:none}.pricing-addon{grid-template-columns:1fr;padding:26px}.pricing-features.compact{grid-template-columns:1fr}.pricing-addon-price{min-width:0}.pricing-final-cta{display:block;padding:26px}.pricing-final-cta .actions{margin-top:18px;display:grid;grid-template-columns:1fr}.pricing-note{border-radius:16px}.pricing-comparison{overflow:hidden}.pricing-comparison .table-wrap{overflow-x:auto}.pricing-comparison table{min-width:720px}}

/* v5.0.132: package-controlled agency subscriptions. */
#packageBillingFields{border:1px solid var(--line);border-radius:16px;padding:16px;margin:16px 0}#packageBillingFields legend{font-weight:900;color:var(--brand2);padding:0 8px}#packageBillingFields input[readonly],#packageBillingFields select:disabled{background:#f3f6fb;color:#42506f;cursor:not-allowed}

/* v5.0.136: self-service agency package selection and Stripe registration checkout. */
.registration-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:16px 0 20px}.registration-package-card{display:block;border:2px solid var(--line);border-radius:20px;padding:20px;background:#fff;cursor:pointer;transition:.18s ease}.registration-package-card:hover,.registration-package-card.is-selected{border-color:#51a2fe;box-shadow:0 12px 30px rgba(36,47,101,.12);transform:translateY(-2px)}.registration-package-card input{width:auto;margin:0 8px 0 0}.registration-package-name{font-size:1.25rem;font-weight:900;text-transform:uppercase}.registration-package-card>strong{display:block;font-size:2rem;margin:14px 0 6px;color:var(--brand2)}.registration-package-card>strong small{font-size:.9rem;color:var(--muted)}.registration-package-card>span:not(.registration-package-name){display:block;color:var(--muted);line-height:1.5}.registration-package-card ul{padding-left:1.2rem;line-height:1.75}.registration-addon{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}@media(max-width:700px){.registration-package-grid{grid-template-columns:1fr}}

/* v5.0.141: subscription cancellation, refund policy and package reactivation flow. */
.subscription-cancellation-panel{border:1px solid #fecaca;background:#fff8f8;border-radius:18px;padding:18px}
.subscription-cancellation-panel h2{color:#991b1b}
.subscription-cancellation-panel textarea{background:#fff}

/* v5.0.172: compact, horizontal Platform Facility actions. */
.platform-facility-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap;margin-bottom:6px}
.platform-facility-actions form{display:inline-flex;align-items:center;margin:0;flex:0 0 auto}
.platform-facility-actions .button,.platform-facility-actions button{width:auto!important;min-height:34px;padding:7px 10px;margin:0;font-size:.78rem;line-height:1.15;white-space:nowrap}
.platform-facility-actions>a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
@media(max-width:700px){.platform-facility-actions{overflow-x:auto;padding-bottom:3px}.platform-facility-actions .button,.platform-facility-actions button{min-height:36px}}

/* v5.0.176: distinctive employee Timesheet action. */
.employee-shifts-card a.button[data-timesheet-link]{
  background:#9800F7!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(152,0,247,.24)!important;
}
.employee-shifts-card a.button[data-timesheet-link]:hover,
.employee-shifts-card a.button[data-timesheet-link]:focus-visible{
  background:#7f00ce!important;
  color:#fff!important;
}
