/* Custom override file for FaciClockin. Add site-specific styling here. */
.fcl-auth-card,
.fcl-dashboard-card,
.fcl-panel,
.fcl-modal-panel{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.login #login h1 a{background-image:none !important;text-indent:0 !important;width:auto !important;height:auto !important;font-size:28px;font-weight:800;color:#2563eb;text-decoration:none}


/* v1.5.3 layout stabilization + mobile polish */
.fcl-shell{max-width:1600px !important;padding:24px 24px 32px !important}
.fcl-dashboard-card-redesign{padding:40px !important}
.fcl-dashboard-card-redesign,
.fcl-workspace-grid,
.fcl-workspace-main,
.fcl-workspace-side,
.fcl-stage-card,
.fcl-stage-card-hero,
.fcl-stage-copy,
.fcl-timer-panel,
.fcl-process-steps,
.fcl-process-step,
.fcl-approved-shifts-list,
.fcl-shift-card,
.fcl-topbar,
.fcl-topbar-actions,
.fcl-hero-actions,
.fcl-summary-grid,
.fcl-filter-bar,
.fcl-timecards-grid,
.fcl-timecard,
.fcl-location-note-grid,
.fcl-location-note{min-width:0}
.fcl-workspace-grid{grid-template-columns:minmax(0,1.5fr) minmax(380px,.85fr) !important;gap:24px !important;align-items:start}
.fcl-stage-card{padding:28px !important;border-radius:32px !important;overflow:hidden}
.fcl-stage-card-hero{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr) !important;gap:22px !important;padding:30px !important;align-items:start}
.fcl-stage-copy h3{font-size:clamp(32px,3.5vw,46px) !important;line-height:1.05 !important;max-width:14ch}
.fcl-stage-lead{max-width:62ch !important}
.fcl-timer-panel{padding:24px !important;gap:18px !important}
.fcl-timer{font-size:clamp(44px,5vw,72px) !important;word-break:break-word}
.fcl-hero-actions{grid-template-columns:1fr !important;gap:14px !important}
.fcl-hero-actions .fcl-btn{width:100%;max-width:100%}
.fcl-topbar{align-items:flex-start !important;gap:20px !important}
.fcl-topbar > div:first-child{flex:1 1 420px}
.fcl-topbar-actions{flex:0 1 auto;justify-content:flex-end;row-gap:10px}
.fcl-stage-card-approved{position:sticky;top:20px;max-height:none}
.fcl-process-steps{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:16px !important}
.fcl-process-step{padding:20px !important;align-content:start}
.fcl-location-note-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important}
.fcl-approved-shifts-list{gap:14px !important}
.fcl-shift-card{padding:20px !important;border-radius:26px !important}
.fcl-shift-card-row strong{overflow-wrap:anywhere}
.fcl-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px !important}
.fcl-stat-card{padding:20px !important}
.fcl-filter-bar{grid-template-columns:minmax(210px,260px) minmax(0,1fr) !important;gap:14px !important}
.fcl-timecards-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr)) !important;gap:18px !important}
.fcl-timecard{padding:22px !important}
.fcl-modal-panel{width:min(100%,760px) !important}
.fcl-signature-wrap canvas{height:260px !important}

@media (max-width: 1180px){
  .fcl-workspace-grid,
  .fcl-stage-card-hero,
  .fcl-process-steps,
  .fcl-location-note-grid{grid-template-columns:1fr !important}
  .fcl-stage-card-approved{position:static !important}
  .fcl-stage-copy h3{max-width:none !important}
}

@media (max-width: 782px){
  .fcl-shell{max-width:100% !important;padding:14px 14px 24px !important;margin:10px auto !important}
  .fcl-auth-card,
  .fcl-dashboard-card,
  .fcl-panel{padding:16px !important;border-radius:24px !important}
  .fcl-dashboard-card-redesign{padding:16px !important}
  .fcl-topbar{display:grid !important;grid-template-columns:1fr !important;gap:14px !important}
  .fcl-topbar-actions{display:grid !important;grid-template-columns:1fr 1fr 1fr;gap:10px !important;width:100%}
  .fcl-pill-link{min-height:46px;padding:12px 10px !important;text-align:center}
  .fcl-workspace-grid,.fcl-workspace-main,.fcl-workspace-side{gap:14px !important}
  .fcl-stage-card{padding:18px !important;border-radius:24px !important}
  .fcl-stage-card-hero{padding:18px !important;gap:16px !important;border-radius:24px !important}
  .fcl-stage-copy{gap:12px !important}
  .fcl-stage-copy h3{font-size:30px !important;line-height:1.08 !important}
  .fcl-stage-lead{font-size:15px !important;line-height:1.55 !important}
  .fcl-status-row{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;align-items:start}
  .fcl-status-chip,.fcl-location-badge,.fcl-approved-count{justify-self:start}
  .fcl-timer-panel{padding:18px !important;border-radius:22px !important;gap:14px !important}
  .fcl-timer{font-size:42px !important;line-height:1 !important}
  .fcl-hero-actions{gap:10px !important}
  .fcl-hero-actions .fcl-btn,
  .fcl-btn-lg,
  .fcl-btn-xl{min-height:56px !important;font-size:17px !important;padding:16px 18px !important;min-width:0 !important;width:100% !important}
  .fcl-process-steps,
  .fcl-location-note-grid,
  .fcl-summary-grid,
  .fcl-filter-bar,
  .fcl-timecards-grid{grid-template-columns:1fr !important}
  .fcl-process-step,
  .fcl-location-note,
  .fcl-shift-card,
  .fcl-timecard{padding:16px !important;border-radius:20px !important}
  .fcl-approved-panel-head,
  .fcl-location-status-top,
  .fcl-shift-card-top,
  .fcl-panel-head{display:grid !important;grid-template-columns:1fr !important;gap:8px !important}
  .fcl-approved-count{width:auto;min-width:44px;height:44px}
  .fcl-filter-bar label{width:100%}
  .fcl-filter-bar input,
  .fcl-filter-bar select,
  .fcl-form input,
  .fcl-modal-panel input{min-height:50px !important}
  .fcl-modal-panel{width:100% !important;max-width:none !important;margin:0 !important;border-radius:24px 24px 0 0 !important;padding:18px 16px calc(18px + env(safe-area-inset-bottom)) !important}
  .fcl-signature-wrap{padding:10px !important}
  .fcl-signature-wrap canvas{height:220px !important}
  .fcl-toast-card{width:100% !important;padding:20px 16px !important;border-radius:24px !important}
}

@media (max-width: 560px){
  .fcl-topbar-actions{grid-template-columns:1fr !important}
  .fcl-stage-copy h3{font-size:28px !important}
  .fcl-timer{font-size:38px !important}
}

#fcl-approved-summary:empty{display:none;}
#fcl-approved-banner[hidden]{display:none !important;}


/* v1.5.5 desktop width + overlap hard fix */
.fcl-shell,
.fcl-app-shell,
.fcl-dashboard-card,
.fcl-dashboard-card-redesign {
  width: 100% !important;
  max-width: 1720px !important;
}

.fcl-shell {
  padding: 24px 28px 36px !important;
}

.fcl-dashboard-card-redesign {
  padding: 44px !important;
}

.fcl-topbar,
.fcl-workspace-grid,
.fcl-stage-card-hero,
.fcl-summary-grid,
.fcl-filter-bar,
.fcl-timecards-grid,
.fcl-approved-panel-head,
.fcl-shift-card-top,
.fcl-shift-card-row,
.fcl-status-row,
.fcl-topbar-actions {
  align-items: start !important;
}

.fcl-workspace-grid {
  grid-template-columns: minmax(0, 1.65fr) minmax(430px, .85fr) !important;
  gap: 30px !important;
}

.fcl-stage-card-hero {
  grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr) !important;
  gap: 26px !important;
}

.fcl-stage-card,
.fcl-stage-card-hero,
.fcl-timer-panel,
.fcl-shift-card,
.fcl-timecard,
.fcl-stat-card {
  overflow: hidden !important;
}

.fcl-stage-copy,
.fcl-timer-panel,
.fcl-workspace-main,
.fcl-workspace-side,
.fcl-approved-shifts-list,
.fcl-timecards-grid,
.fcl-topbar > div,
.fcl-filter-bar label {
  min-width: 0 !important;
}

.fcl-topbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
}

.fcl-topbar-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

.fcl-stage-copy h3,
.fcl-dashboard-card h2,
.fcl-timer,
.fcl-status-inline,
.fcl-shift-card-row strong,
.fcl-timecard strong,
.fcl-stat-card strong {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.fcl-timer {
  font-size: clamp(48px, 5vw, 78px) !important;
}

.fcl-hero-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.fcl-hero-actions .fcl-btn {
  width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  text-align: center !important;
}

.fcl-approved-shifts-list,
.fcl-timecards-grid {
  gap: 18px !important;
}

.fcl-summary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.fcl-filter-bar {
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) !important;
  gap: 16px !important;
}

.fcl-timecards-grid {
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)) !important;
}

.fcl-signature-wrap canvas {
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 1280px) {
  .fcl-shell,
  .fcl-app-shell,
  .fcl-dashboard-card,
  .fcl-dashboard-card-redesign {
    max-width: 100% !important;
  }

  .fcl-workspace-grid,
  .fcl-stage-card-hero {
    grid-template-columns: 1fr !important;
  }

  .fcl-stage-card-approved {
    position: static !important;
  }
}

@media (max-width: 900px) {
  .fcl-shell {
    padding: 14px 14px 24px !important;
  }

  .fcl-dashboard-card-redesign,
  .fcl-dashboard-card,
  .fcl-auth-card {
    padding: 18px !important;
  }

  .fcl-topbar {
    grid-template-columns: 1fr !important;
  }

  .fcl-topbar-actions,
  .fcl-hero-actions,
  .fcl-summary-grid,
  .fcl-filter-bar,
  .fcl-timecards-grid,
  .fcl-workspace-grid,
  .fcl-stage-card-hero {
    grid-template-columns: 1fr !important;
  }

  .fcl-topbar-actions {
    display: grid !important;
  }

  .fcl-topbar-actions > * {
    width: 100% !important;
  }

  .fcl-stage-card,
  .fcl-stage-card-hero,
  .fcl-timer-panel,
  .fcl-shift-card,
  .fcl-timecard,
  .fcl-stat-card {
    padding: 18px !important;
    border-radius: 22px !important;
  }

  .fcl-timer {
    font-size: 40px !important;
  }
}

@media (max-width: 560px) {
  .fcl-dashboard-card-redesign,
  .fcl-dashboard-card,
  .fcl-auth-card,
  .fcl-stage-card,
  .fcl-stage-card-hero,
  .fcl-timer-panel,
  .fcl-shift-card,
  .fcl-timecard,
  .fcl-stat-card,
  .fcl-modal-panel,
  .fcl-toast-card {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .fcl-stage-copy h3 {
    font-size: 28px !important;
  }

  .fcl-timer {
    font-size: 34px !important;
  }
}


/* v1.5.6 desktop perfection pass */
html body .fcl-shell,
html body .fcl-app-shell{
  width:min(1880px, calc(100vw - 48px)) !important;
  max-width:min(1880px, calc(100vw - 48px)) !important;
  margin:18px auto 28px !important;
  padding:22px 24px 34px !important;
  box-sizing:border-box !important;
}

html body .fcl-dashboard-card,
html body .fcl-dashboard-card-redesign{
  width:100% !important;
  max-width:none !important;
  padding:48px !important;
  border-radius:34px !important;
  overflow:visible !important;
}

html body .fcl-topbar{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:24px !important;
  align-items:start !important;
}

html body .fcl-topbar > div,
html body .fcl-topbar-actions,
html body .fcl-workspace-grid,
html body .fcl-workspace-main,
html body .fcl-workspace-side,
html body .fcl-stage-card,
html body .fcl-stage-card-hero,
html body .fcl-stage-copy,
html body .fcl-timer-panel,
html body .fcl-approved-panel-head,
html body .fcl-approved-shifts-list,
html body .fcl-shift-card,
html body .fcl-summary-grid,
html body .fcl-filter-bar,
html body .fcl-timecards-grid,
html body .fcl-timecard,
html body .fcl-timecard-meta,
html body .fcl-stat-card{
  min-width:0 !important;
  box-sizing:border-box !important;
}

html body .fcl-topbar-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:12px !important;
  max-width:100% !important;
}

html body .fcl-pill-link{
  white-space:nowrap !important;
}

html body .fcl-workspace-grid{
  display:grid !important;
  grid-template-columns:minmax(0, 1.85fr) minmax(460px, .9fr) !important;
  gap:34px !important;
  align-items:start !important;
}

html body .fcl-workspace-main,
html body .fcl-workspace-side{
  display:grid !important;
  gap:22px !important;
  align-content:start !important;
}

html body .fcl-stage-card{
  padding:32px !important;
  border-radius:30px !important;
  overflow:hidden !important;
}

html body .fcl-stage-card-hero{
  display:grid !important;
  grid-template-columns:minmax(0, 1.2fr) minmax(430px, .85fr) !important;
  gap:28px !important;
  align-items:stretch !important;
  padding:34px !important;
}

html body .fcl-stage-copy{
  display:grid !important;
  gap:18px !important;
  align-content:start !important;
}

html body .fcl-stage-copy h3{
  font-size:clamp(36px, 3.2vw, 54px) !important;
  line-height:1.03 !important;
  max-width:18ch !important;
  margin:0 !important;
  overflow-wrap:anywhere !important;
}

html body .fcl-subtitle,
html body .fcl-stage-lead,
html body .fcl-approved-summary,
html body .fcl-shift-card-row strong,
html body .fcl-timecard-meta strong{
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

html body .fcl-status-row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  align-items:center !important;
}

html body .fcl-timer-panel{
  display:grid !important;
  gap:18px !important;
  padding:28px !important;
  border-radius:26px !important;
  align-content:start !important;
  min-width:0 !important;
  overflow:hidden !important;
}

html body .fcl-timer{
  font-size:clamp(54px, 4.8vw, 84px) !important;
  line-height:1 !important;
  letter-spacing:-.03em !important;
  overflow-wrap:anywhere !important;
}

html body .fcl-hero-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
}

html body .fcl-hero-actions .fcl-btn,
html body .fcl-hero-actions .fcl-btn-lg,
html body .fcl-hero-actions .fcl-btn-xl{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  min-height:64px !important;
  padding:18px 20px !important;
  white-space:normal !important;
  line-height:1.25 !important;
  text-align:center !important;
}

html body .fcl-stage-card-approved{
  position:sticky !important;
  top:20px !important;
}

html body .fcl-approved-panel-head{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:14px !important;
  align-items:start !important;
}

html body .fcl-approved-shifts-list{
  display:grid !important;
  gap:16px !important;
}

html body .fcl-shift-card{
  padding:20px 22px !important;
  border-radius:24px !important;
}

html body .fcl-shift-card-top{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:12px !important;
  align-items:center !important;
}

html body .fcl-shift-card-row{
  display:grid !important;
  gap:6px !important;
}

html body .fcl-summary-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:18px !important;
}

html body .fcl-stat-card{
  padding:24px !important;
  border-radius:24px !important;
}

html body .fcl-filter-bar{
  display:grid !important;
  grid-template-columns:minmax(260px, 320px) minmax(0,1fr) !important;
  gap:16px !important;
  align-items:end !important;
}

html body .fcl-timecards-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(360px, 1fr)) !important;
  gap:18px !important;
}

html body .fcl-timecard{
  padding:22px !important;
  border-radius:24px !important;
  overflow:hidden !important;
}

html body .fcl-timecard-meta{
  display:grid !important;
  grid-template-columns:minmax(120px,.7fr) minmax(0,1fr) !important;
  gap:8px 14px !important;
  align-items:start !important;
}

html body .fcl-modal-panel{
  width:min(860px, calc(100vw - 40px)) !important;
  max-width:min(860px, calc(100vw - 40px)) !important;
}

html body .fcl-signature-wrap canvas{
  width:100% !important;
  max-width:100% !important;
  height:280px !important;
}

@media (max-width: 1440px){
  html body .fcl-shell,
  html body .fcl-app-shell{
    width:min(100vw - 36px, 1660px) !important;
    max-width:min(100vw - 36px, 1660px) !important;
  }

  html body .fcl-workspace-grid{
    grid-template-columns:minmax(0,1.55fr) minmax(400px,.9fr) !important;
    gap:26px !important;
  }

  html body .fcl-stage-card-hero{
    grid-template-columns:minmax(0,1fr) minmax(380px,.9fr) !important;
    gap:22px !important;
  }
}

@media (max-width: 1180px){
  html body .fcl-shell,
  html body .fcl-app-shell{
    width:min(100vw - 28px, 100%) !important;
    max-width:min(100vw - 28px, 100%) !important;
    padding:14px 14px 24px !important;
  }

  html body .fcl-dashboard-card,
  html body .fcl-dashboard-card-redesign{
    padding:26px !important;
  }

  html body .fcl-topbar{
    grid-template-columns:1fr !important;
  }

  html body .fcl-topbar-actions{
    justify-content:flex-start !important;
  }

  html body .fcl-workspace-grid,
  html body .fcl-stage-card-hero{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  html body .fcl-stage-card-approved{
    position:static !important;
  }

  html body .fcl-stage-copy h3{
    max-width:none !important;
  }

  html body .fcl-timecards-grid{
    grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)) !important;
  }
}

@media (max-width: 782px){
  html body .fcl-shell,
  html body .fcl-app-shell{
    width:100% !important;
    max-width:100% !important;
    margin:10px auto 18px !important;
    padding:12px !important;
  }

  html body .fcl-dashboard-card,
  html body .fcl-dashboard-card-redesign,
  html body .fcl-auth-card{
    padding:16px !important;
    border-radius:24px !important;
  }

  html body .fcl-topbar-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
  }

  html body .fcl-pill-link,
  html body .fcl-topbar-actions > *{
    width:100% !important;
    min-height:48px !important;
    justify-content:center !important;
  }

  html body .fcl-stage-card,
  html body .fcl-stage-card-hero,
  html body .fcl-timer-panel,
  html body .fcl-timecard,
  html body .fcl-stat-card,
  html body .fcl-shift-card{
    padding:16px !important;
    border-radius:22px !important;
  }

  html body .fcl-stage-copy h3{
    font-size:30px !important;
  }

  html body .fcl-timer{
    font-size:40px !important;
  }

  html body .fcl-summary-grid,
  html body .fcl-filter-bar,
  html body .fcl-timecards-grid,
  html body .fcl-timecard-meta,
  html body .fcl-approved-panel-head,
  html body .fcl-shift-card-top{
    grid-template-columns:1fr !important;
  }

  html body .fcl-modal-panel{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  html body .fcl-signature-wrap canvas{
    height:220px !important;
  }
}


/* v1.5.7 contained-screen layout fix */
html, body {
  max-width: 100%;
  overflow-x: hidden !important;
}

html body .fcl-shell,
html body .fcl-app-shell {
  width: min(100%, calc(100vw - 32px)) !important;
  max-width: 1360px !important;
  margin: 12px auto 24px !important;
  padding: 18px !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
}

html body .fcl-dashboard-card,
html body .fcl-dashboard-card-redesign,
html body .fcl-auth-card {
  width: 100% !important;
  max-width: 100% !important;
  padding: 28px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

html body .fcl-workspace-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.9fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

html body .fcl-stage-card-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.85fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}

html body .fcl-topbar,
html body .fcl-approved-panel-head,
html body .fcl-shift-card-top,
html body .fcl-filter-bar,
html body .fcl-timecard-meta,
html body .fcl-summary-grid,
html body .fcl-timecards-grid,
html body .fcl-topbar-actions,
html body .fcl-status-row,
html body .fcl-hero-actions,
html body .fcl-workspace-main,
html body .fcl-workspace-side {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html body .fcl-topbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: start !important;
}

html body .fcl-topbar-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

html body .fcl-stage-card,
html body .fcl-timer-panel,
html body .fcl-timecard,
html body .fcl-stat-card,
html body .fcl-shift-card {
  padding: 22px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

html body .fcl-stage-copy h3,
html body .fcl-subtitle,
html body .fcl-stage-lead,
html body .fcl-approved-summary,
html body .fcl-shift-card-row,
html body .fcl-timecard-meta,
html body .fcl-timer,
html body .fcl-pill-link,
html body .fcl-btn,
html body .fcl-btn-lg,
html body .fcl-btn-xl {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

html body .fcl-timer {
  font-size: clamp(44px, 4vw, 72px) !important;
  line-height: 1 !important;
}

html body .fcl-timecards-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 16px !important;
}

html body .fcl-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

html body .fcl-filter-bar {
  display: grid !important;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: end !important;
}

html body .fcl-modal-panel {
  width: min(760px, calc(100vw - 24px)) !important;
  max-width: min(760px, calc(100vw - 24px)) !important;
}

html body .fcl-signature-wrap canvas {
  width: 100% !important;
  max-width: 100% !important;
  height: 250px !important;
}

@media (max-width: 1280px) {
  html body .fcl-shell,
  html body .fcl-app-shell {
    max-width: 1200px !important;
    width: min(100%, calc(100vw - 24px)) !important;
    padding: 16px !important;
  }

  html body .fcl-workspace-grid,
  html body .fcl-stage-card-hero {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  html body .fcl-stage-card-approved {
    position: static !important;
    top: auto !important;
  }
}

@media (max-width: 782px) {
  html body .fcl-shell,
  html body .fcl-app-shell {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    margin: 8px auto 16px !important;
    padding: 10px !important;
  }

  html body .fcl-dashboard-card,
  html body .fcl-dashboard-card-redesign,
  html body .fcl-auth-card,
  html body .fcl-stage-card,
  html body .fcl-timer-panel,
  html body .fcl-timecard,
  html body .fcl-stat-card,
  html body .fcl-shift-card {
    padding: 16px !important;
    border-radius: 20px !important;
  }

  html body .fcl-topbar,
  html body .fcl-summary-grid,
  html body .fcl-filter-bar,
  html body .fcl-timecards-grid,
  html body .fcl-timecard-meta,
  html body .fcl-approved-panel-head,
  html body .fcl-shift-card-top {
    grid-template-columns: 1fr !important;
  }

  html body .fcl-topbar-actions {
    justify-content: stretch !important;
  }

  html body .fcl-topbar-actions > *,
  html body .fcl-pill-link,
  html body .fcl-hero-actions .fcl-btn,
  html body .fcl-hero-actions .fcl-btn-lg,
  html body .fcl-hero-actions .fcl-btn-xl {
    width: 100% !important;
  }

  html body .fcl-stage-copy h3 {
    font-size: 30px !important;
  }

  html body .fcl-timer {
    font-size: 38px !important;
  }

  html body .fcl-signature-wrap canvas {
    height: 220px !important;
  }
}

/* v1.6.0 multi-shift and timecard polish */
.fcl-timecards-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr)) !important}
.fcl-timecard-meta,.fcl-shift-card-row{padding:8px 0;border-bottom:1px solid rgba(16,24,40,.08)}
.fcl-timecard-meta:last-child,.fcl-shift-card-row:last-child{border-bottom:none}
.fcl-shift-card.is-selected{outline:2px solid #4c74ff;box-shadow:0 10px 30px rgba(76,116,255,.16)}
.fcl-modal-panel-shift-picker{max-width:760px !important}
.fcl-shift-picker-list{display:grid;gap:14px;margin-top:18px}
.fcl-shift-picker-item{width:100%;text-align:left;border:1px solid #d8def1;background:#fff;border-radius:18px;padding:18px;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.fcl-shift-picker-item:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.08);border-color:#9fb5ff}
.fcl-shift-picker-title-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.fcl-shift-picker-meta{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;padding:6px 0}
.fcl-shift-picker-meta span{color:#5d6b85;font-weight:600}
@media (max-width:782px){.fcl-shift-picker-title-row,.fcl-shift-picker-meta{grid-template-columns:1fr;display:grid}}


/* v1.6.8 multishift selection and no-overlap polish */
#fcl-approved-shifts-list .fcl-shift-card{
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
#fcl-approved-shifts-list .fcl-shift-card:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(15,23,42,.08);
}
#fcl-approved-shifts-list .fcl-shift-card.is-selected{
  border-color:#4c74ff !important;
  box-shadow:0 0 0 2px rgba(76,116,255,.16), 0 16px 34px rgba(76,116,255,.14) !important;
}


/* v1.6.9 selected shift clarity */
#fcl-approved-shifts-list .fcl-shift-card.is-selected::after{
  content:'Selected';
  position:absolute;
  top:14px;
  right:14px;
  padding:6px 10px;
  border-radius:999px;
  background:#eef4ff;
  color:#2a4ee7;
  font-size:12px;
  font-weight:700;
}
#fcl-approved-shifts-list .fcl-shift-card{
  position:relative;
}


/* v1.7.0 approved shifts collapsed list + instructions */
.fcl-view-more-btn{
  width:100%;
  margin-top:14px;
  min-height:50px;
  border:1px solid #dbe3f1;
  background:#fff;
  border-radius:16px;
  font-weight:700;
  cursor:pointer;
  transition:all .15s ease;
}
.fcl-view-more-btn:hover{
  background:#f8fbff;
  border-color:#b9c9ee;
}
.fcl-inline-instruction{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid #dbe3f1;
  background:#f8fbff;
  border-radius:16px;
  color:#29405f;
  line-height:1.55;
  font-weight:600;
}


/* v1.7.1 view more button fix */
.fcl-view-more-btn{
  background: linear-gradient(180deg, #eef4ff 0%, #e4edff 100%) !important;
  color: #2142b8 !important;
  border: 1px solid #c7d6fb !important;
  box-shadow: 0 10px 24px rgba(33,66,184,.08);
}
.fcl-view-more-btn:hover{
  background: linear-gradient(180deg, #e7efff 0%, #dce8ff 100%) !important;
  color: #17379f !important;
  border-color: #b7caf9 !important;
}
.fcl-view-more-btn:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(76,116,255,.18), 0 10px 24px rgba(33,66,184,.10) !important;
}


/* v1.7.4 directions button */
.fcl-shift-actions{
  margin-top:14px;
}
.fcl-directions-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  padding:12px 16px;
  border-radius:16px;
  background:linear-gradient(180deg,#2149d8 0%,#193cb7 100%);
  color:#fff !important;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(33,73,216,.18);
  transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.fcl-directions-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(33,73,216,.22);
  opacity:.98;
}
.fcl-directions-btn:active{
  transform:translateY(0);
}


/* v1.7.5 mobile login ordering */
@media (max-width: 782px){
  .fcl-auth-shell,
  .fcl-auth-grid,
  .fcl-login-layout{
    display:flex !important;
    flex-direction:column !important;
  }
  .fcl-auth-shell .fcl-auth-card,
  .fcl-auth-grid .fcl-auth-card,
  .fcl-login-layout .fcl-auth-card{
    order:1 !important;
  }
  .fcl-auth-shell .fcl-auth-side,
  .fcl-auth-shell .fcl-auth-copy,
  .fcl-auth-grid .fcl-auth-side,
  .fcl-auth-grid .fcl-auth-copy,
  .fcl-login-layout .fcl-auth-side,
  .fcl-login-layout .fcl-auth-copy{
    order:2 !important;
  }
}


/* v1.7.6 mobile centering and polish */
@media (max-width: 782px){
  .fcl-shell,
  .fcl-app-shell,
  .fcl-dashboard-card,
  .fcl-dashboard-card-redesign,
  .fcl-auth-card,
  .fcl-stage-card,
  .fcl-timer-panel,
  .fcl-shift-card,
  .fcl-timecard{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .fcl-shell,
  .fcl-app-shell{
    width:calc(100vw - 14px) !important;
    max-width:calc(100vw - 14px) !important;
    padding:10px !important;
  }

  .fcl-dashboard-card,
  .fcl-dashboard-card-redesign,
  .fcl-auth-card{
    width:100% !important;
    max-width:100% !important;
    padding:16px !important;
  }

  .fcl-stage-card-hero,
  .fcl-workspace-grid,
  .fcl-topbar,
  .fcl-summary-grid,
  .fcl-filter-bar,
  .fcl-timecards-grid,
  .fcl-approved-panel-head,
  .fcl-shift-card-top,
  .fcl-timecard-meta{
    grid-template-columns:1fr !important;
    display:grid !important;
    gap:14px !important;
  }

  .fcl-topbar-actions,
  .fcl-hero-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .fcl-topbar-actions > *,
  .fcl-hero-actions > *,
  .fcl-pill-link,
  .fcl-btn,
  .fcl-btn-lg,
  .fcl-btn-xl{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .fcl-stage-copy,
  .fcl-subtitle,
  .fcl-stage-lead,
  .fcl-approved-summary,
  .fcl-inline-instruction{
    text-align:left !important;
  }

  .fcl-auth-shell .fcl-auth-card,
  .fcl-auth-grid .fcl-auth-card,
  .fcl-login-layout .fcl-auth-card{
    order:1 !important;
  }
  .fcl-auth-shell .fcl-auth-side,
  .fcl-auth-shell .fcl-auth-copy,
  .fcl-auth-grid .fcl-auth-side,
  .fcl-auth-grid .fcl-auth-copy,
  .fcl-login-layout .fcl-auth-side,
  .fcl-login-layout .fcl-auth-copy{
    order:2 !important;
  }
}


/* v1.7.7 stronger cross-device centering */
html, body{
  overflow-x:hidden !important;
}
@media (max-width: 900px){
  html body .fcl-shell,
  html body .fcl-app-shell{
    width:min(100vw - 12px, 100%) !important;
    max-width:min(100vw - 12px, 100%) !important;
    margin:8px auto 16px !important;
    padding:8px !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  html body .fcl-dashboard-card,
  html body .fcl-dashboard-card-redesign,
  html body .fcl-auth-card,
  html body .fcl-stage-card,
  html body .fcl-timer-panel,
  html body .fcl-shift-card,
  html body .fcl-timecard,
  html body .fcl-stage-card-hero{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  html body .fcl-topbar,
  html body .fcl-workspace-grid,
  html body .fcl-stage-card-hero,
  html body .fcl-approved-panel-head,
  html body .fcl-summary-grid,
  html body .fcl-filter-bar,
  html body .fcl-timecards-grid,
  html body .fcl-timecard-meta,
  html body .fcl-shift-card-top{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
  }

  html body .fcl-topbar-actions,
  html body .fcl-hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
  }

  html body .fcl-topbar-actions > *,
  html body .fcl-hero-actions > *,
  html body .fcl-pill-link,
  html body .fcl-btn,
  html body .fcl-btn-lg,
  html body .fcl-btn-xl,
  html body .fcl-directions-btn,
  html body .fcl-view-more-btn{
    width:100% !important;
    max-width:100% !important;
    justify-content:center !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  html body .fcl-stage-copy,
  html body .fcl-subtitle,
  html body .fcl-stage-lead,
  html body .fcl-approved-summary,
  html body .fcl-inline-instruction{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  html body .fcl-signature-wrap canvas{
    width:100% !important;
    max-width:100% !important;
  }
}

/* v1.8.0 branding polish */
.fcl-brand-logo{max-height:52px;max-width:220px;display:block}


/* v1.8.2 mobile login + centering polish */
html, body {
  overflow-x: hidden !important;
}
.fcl-login-layout{
  display:grid;
  grid-template-columns:minmax(320px, 420px) minmax(0, 1fr);
  gap:28px;
  align-items:start;
}
.fcl-auth-form-wrap{
  order:1;
}
.fcl-auth-copy{
  order:2;
}
@media (max-width: 900px){
  .fcl-login-layout{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .fcl-auth-form-wrap{
    order:1 !important;
  }
  .fcl-auth-copy{
    order:2 !important;
  }
}
@media (max-width: 782px){
  html body .fcl-shell,
  html body .fcl-app-shell{
    width:min(calc(100vw - 12px), 100%) !important;
    max-width:min(calc(100vw - 12px), 100%) !important;
    margin:8px auto 16px !important;
    padding:8px !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
  }
  html body .fcl-auth-card,
  html body .fcl-dashboard-card,
  html body .fcl-dashboard-card-redesign,
  html body .fcl-stage-card,
  html body .fcl-timer-panel,
  html body .fcl-shift-card,
  html body .fcl-timecard{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
}
