/* file: src/company/company-workforce.css */
#app-main.role-pending > :not(#auth-panel):not(#account-role-setup) { display: none !important; }
#account-role-setup { max-width: 760px; margin: 2rem auto; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid #dce5f0; border-radius: 1.25rem; background: white; box-shadow: 0 12px 38px #173b6610; }
#account-role-setup[hidden], .company-dashboard[hidden] { display: none !important; }
#account-role-setup h1, #company-dashboard h1 { margin: .25rem 0 .5rem; color: #17233d; font-size: clamp(1.6rem, 4vw, 2.2rem); font-weight: 750; }
.company-eyebrow { margin: 0; color: #2463a5; font-size: .73rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.role-choice-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,250px),1fr)); gap: .8rem; margin-top: 1.25rem; }
.role-choice-grid button { display: grid; gap: .4rem; min-height: 110px; padding: 1rem; border: 1px solid #cbd8e6; border-radius: .9rem; background: #f8fbfe; color: #173b66; text-align: left; }
.role-choice-grid button strong { font-size: 1rem; }
.role-choice-grid button span { color: #64748b; font-size: .88rem; line-height: 1.45; }
#account-role-setup label, #company-dashboard label { display: block; margin: .65rem 0 .3rem; color: #38516f; font-size: .84rem; font-weight: 650; }
#account-role-setup input, #company-dashboard input, #company-dashboard select, #company-dashboard textarea { width: 100%; min-height: 44px; padding: .6rem .7rem; border: 1px solid #cbd8e6; border-radius: .6rem; background: #fff; color: #17233d; }
#account-role-setup button, #company-dashboard button { min-height: 44px; padding: .6rem .9rem; border: 0; border-radius: .6rem; background: #173b66; color: #fff; font-weight: 650; }
#account-role-setup button.company-secondary { border: 1px solid #cbd8e6; background: white; color: #38516f; }
#role-setup-status, #workforce-status { min-height: 1.4rem; margin-top: .75rem; color: #176255; font-size: .88rem; }
.company-dashboard { display: grid; gap: 1rem; max-width: 1120px; margin: 0 auto 2rem; }
.company-dashboard-heading { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: .8rem; }
.company-dashboard-heading h2, #company-dashboard h2 { margin: 0; color: #17233d; font-size: 1.1rem; font-weight: 750; }
.company-workforce-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)); gap: 1rem; }
.company-workforce-grid .company-card { margin-top: 0; }
.company-workforce-grid form button { margin-top: .8rem; }
.company-workforce-time { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.company-job-item { display: grid; gap: .2rem; padding: .75rem 0; border-bottom: 1px solid #e7edf4; color: #38516f; }
.company-job-item strong { color: #17233d; }
.company-job-item p { margin: .1rem 0; font-size: .84rem; }
.company-worker-chip { display: inline-flex; margin: .25rem .35rem .25rem 0; padding: .45rem .7rem; border-radius: 999px; background: #eef6ff; color: #173b66; font-size: .86rem; font-weight: 650; }
.company-route-stop { display: grid; grid-template-columns: 2rem minmax(0,1fr) minmax(130px,180px) auto; align-items: center; gap: .7rem; padding: .75rem 0; border-bottom: 1px solid #e7edf4; }
.company-route-number { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; background: #173b66; color: white; font-size: .85rem; font-weight: 750; }
.company-route-copy { display: grid; gap: .2rem; min-width: 0; color: #17233d; }
.company-route-copy span { color: #64748b; font-size: .83rem; overflow-wrap: anywhere; }
.company-route-actions { display: flex; gap: .3rem; }
.company-route-actions button { width: 44px; padding: .4rem !important; }
.company-route-actions button:disabled, #company-dashboard button:disabled { opacity: .48; cursor: wait; }
.company-route-day-title { margin: 1rem 0 .25rem; color: #2463a5; font-size: .75rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.calendar-company-stops { display: block; max-height: 2.3em; overflow: hidden; margin-top: .3rem; color: #2463a5; font-size: .61rem; line-height: 1.2; font-weight: 650; }
@media (max-width: 640px) {
  .company-route-stop { grid-template-columns: 1.8rem minmax(0,1fr) auto; gap: .5rem; }
  .company-route-stop > input[type=date] { grid-column: 2 / -1; grid-row: 2; min-width: 0; }
  .company-route-actions { grid-column: 3; grid-row: 1; }
}
