:root{
  font-family:Helvetica,Arial,sans-serif;
  color:#141719;
  background:#f2f3f2;
  line-height:1.45;
  --ink:#141719;
  --muted:#657076;
  --line:#e3e6e7;
  --panel:#ffffff;
  --charcoal:#173f31;
  --orange:#e66d2e;
  --orange-dark:#9b3518;
  --orange-soft:#f7e9e1;
  --green:#184b38;
  --green-soft:#edf5f0;
  --shadow:0 18px 60px rgba(0,0,0,.12);
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#f2f3f2 0,#f7f7f6 38%,#f2f3f2 100%);color:var(--ink)}
button,input,select{font:inherit}
button{cursor:pointer}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--charcoal)}
.auth-card,.panel{background:var(--panel);border-radius:18px;box-shadow:var(--shadow)}
.auth-card{width:min(440px,100%);padding:42px}
.auth-login-shell{width:min(440px,100%);display:grid;justify-items:center;gap:24px}
.auth-login-shell .auth-card{width:100%}
.auth-opsys-brand{display:block;width:min(360px,82vw)}
.auth-opsys-brand img{display:block;width:100%;height:auto}
.auth-logo,.hub-header img{width:150px;height:auto}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:var(--orange);margin:24px 0 8px}
.eyebrow-tight{margin:0 0 8px}
.muted{color:var(--muted)}
.auth-card h1,.hub-main h1{font-size:clamp(2.3rem,5vw,4.2rem);line-height:.98;letter-spacing:-.045em;margin:0 0 14px}
label{display:grid;gap:7px;font-weight:700;font-size:.85rem}
input,select{width:100%;border:1px solid #cbd0d2;border-radius:9px;padding:11px 12px;background:#fff}
form{display:grid;gap:16px;margin-top:28px}
button{border:0;border-radius:10px;padding:12px 18px;font-weight:800;background:var(--orange);color:#fff}
button:hover{filter:brightness(.97)}
.form-message{min-height:1.4em;margin:0;color:var(--orange-dark)}
.hub-header{min-height:78px;padding:0 5vw;background:var(--charcoal);display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:20;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.brand-link{display:inline-flex;align-items:center}
.hub-header nav{display:flex;align-items:center;gap:22px}
.hub-header a,.link-button{color:#fff;text-decoration:none;background:none;padding:0;font-weight:700}
.hub-header a:hover,.link-button:hover{color:#f2b08d}
.hub-main{width:min(1220px,90vw);margin:48px auto 72px}
.page-intro{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:12px}
.intro-copy{max-width:690px;font-size:1.02rem;margin:0}
.page-intro-actions{padding-bottom:4px}
.secondary-button{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 22px rgba(0,0,0,.06)}
.panel{padding:30px;margin-top:28px;border:1px solid rgba(13,16,17,.05)}
.panel h2{margin:0 0 10px;font-size:1.55rem;letter-spacing:-.02em}
.user-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}
td small{display:block;color:var(--muted);margin-top:3px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:24px}
.hero-panel{background:linear-gradient(135deg,#fff 0%,#fff 58%,#f9eee8 100%);position:relative;overflow:hidden;min-height:270px}
.hero-panel::after{content:"";position:absolute;right:-90px;bottom:-110px;width:260px;height:260px;border-radius:50%;border:38px solid rgba(230,109,46,.08)}
.hero-panel-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:1}
.status-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--orange-soft);color:var(--orange-dark);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:800}
.connection-label{font-size:.82rem;color:var(--muted)}
.hero-panel h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.04;max-width:760px;position:relative;z-index:1}
.hero-copy{font-size:1.02rem;color:#3f494e;max-width:720px;position:relative;z-index:1}
.hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;position:relative;z-index:1}
.hero-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.86);border:1px solid #ead8ce;font-size:.86rem;color:#4e5559}
.profile-panel{background:#fff}
.profile-list{display:grid;gap:14px;margin:22px 0 0}
.profile-list div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:12px}
.profile-list div:last-child{border-bottom:0;padding-bottom:0}
.profile-list dt{font-weight:800}
.profile-list dd{margin:0;color:var(--muted);text-transform:capitalize;text-align:right}
.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.metric-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:0 12px 30px rgba(0,0,0,.06)}
.metric-label{display:block;color:var(--muted);font-size:.8rem;font-weight:700;margin-bottom:8px}
.metric-card strong{display:block;font-size:1.8rem;letter-spacing:-.035em}
.jobs-panel{margin-top:24px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.jobs-message{margin:6px 0 22px}
.job-cards{display:grid;gap:18px}
.job-card{border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff;display:grid;gap:18px;box-shadow:0 10px 28px rgba(0,0,0,.05)}
.job-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.job-card-title h3{margin:10px 0 5px;font-size:1.28rem;letter-spacing:-.02em}
.job-card-title p{margin:0;color:var(--muted)}
.job-card-role{font-weight:800;color:var(--orange-dark);margin-top:8px}
.job-card-link{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:10px 13px;border-radius:10px;text-decoration:none;background:var(--charcoal);color:#fff;font-weight:800;font-size:.83rem}
.job-card-link:hover{background:#202426}
.job-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.job-summary-item{padding:14px;border-radius:12px;background:#f6f7f6;border:1px solid #eceeee}
.job-summary-item span{display:block;color:var(--muted);font-size:.75rem;font-weight:700;margin-bottom:4px}
.job-summary-item strong{display:block;font-size:.94rem}
.shift-list{display:grid;gap:10px}
.shift-list-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}
.shift-list-heading h4{margin:0;font-size:.93rem}
.shift-count{font-size:.78rem;color:var(--muted)}
.shift-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) minmax(160px,1fr);gap:12px;align-items:center;padding:14px 15px;border-radius:12px;border:1px solid var(--line);background:#fbfbfa}
.shift-role{font-weight:800}
.shift-date,.shift-time{color:#4f585c;font-size:.9rem}
.shift-time strong{color:var(--ink)}
.empty-state-card{border:1px dashed #cfd4d6;border-radius:16px;padding:32px;text-align:center;background:#fafafa}
.empty-state-card h3{margin:0 0 8px}
.nav-muted{color:#8a9296;font-size:.85rem}
@media(max-width:900px){
  .dashboard-grid{grid-template-columns:1fr}
  .metrics-grid{grid-template-columns:1fr 1fr 1fr}
  .job-summary-strip{grid-template-columns:1fr}
}
@media(max-width:700px){
  .user-grid{grid-template-columns:1fr}
  .auth-card{padding:28px}
  .auth-login-shell{gap:18px}
  .auth-opsys-brand{width:min(310px,78vw)}
  .hub-header{padding:16px 20px;align-items:flex-start}
  .hub-header nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}
  .hub-main{width:calc(100% - 28px);margin-top:30px}
  .page-intro{align-items:flex-start;flex-direction:column}
  .page-intro-actions{width:100%}
  .page-intro-actions button{width:100%}
  .metrics-grid{grid-template-columns:1fr}
  .job-card-header{flex-direction:column}
  .job-card-link{width:100%}
  .shift-row{grid-template-columns:1fr}
}

.checkbox-field {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8f8f7;
  cursor: pointer;
}

.checkbox-field input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: var(--orange);
  flex: 0 0 auto;
}

.checkbox-copy {
  display: grid;
  gap: 3px;
}

.checkbox-copy strong {
  color: var(--ink);
}

.checkbox-copy small {
  color: var(--muted);
  font-weight: 400;
  line-height: 1.4;
}

.table-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .8rem;
  color: var(--muted);
}

.table-toggle input {
  width: 17px;
  height: 17px;
  accent-color: var(--orange);
}

.welcome-summary {
  margin: 0 0 8px;
  font-size: clamp(
    1.05rem,
    2vw,
    1.3rem
  );
  font-weight: 800;
  color: var(--ink);
}

.welcome-summary strong {
  color: var(--orange-dark);
}


.modal-backdrop[hidden] {
  display: none;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(13, 16, 17, .68);
  backdrop-filter: blur(8px);
}

.modal-card {
  width: min(860px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: 30px;
  border-radius: 20px;
  background: var(--panel);
  box-shadow: 0 30px 100px rgba(0, 0, 0, .34);
}

.modal-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
}

.modal-heading h2 {
  margin: 0;
  font-size: 1.8rem;
  letter-spacing: -.03em;
}

.icon-button {
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 50%;
  background: #f0f1f0;
  color: var(--ink);
  font-size: 1.65rem;
  line-height: 1;
}

.modal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 0;
}

.modal-checkbox {
  min-height: 78px;
}

.modal-message {
  align-self: center;
  margin: 0;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  grid-column: 1 / -1;
  padding-top: 4px;
}

.compact-button {
  padding: 9px 13px;
  font-size: .8rem;
}

.table-primary {
  display: block;
  font-size: .88rem;
}

.account-status {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  text-transform: capitalize;
  font-size: .72rem;
  font-weight: 800;
}

.account-status-active {
  color: var(--green);
  background: var(--green-soft);
}

.account-status-suspended {
  color: #9a5b00;
  background: #fff2d8;
}

.account-status-archived {
  color: #5c6468;
  background: #eceeee;
}

@media (max-width: 700px) {
  .modal-backdrop {
    padding: 12px;
  }

  .modal-card {
    padding: 22px;
    max-height: calc(100vh - 24px);
  }

  .modal-grid {
    grid-template-columns: 1fr;
  }

  .modal-actions {
    flex-direction: column-reverse;
  }

  .modal-actions button {
    width: 100%;
  }
}


.schedule-heading {
  align-items: center;
}

.view-toggle {
  display: inline-flex;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f3f4f3;
}

.view-toggle-button {
  min-width: 92px;
  padding: 9px 14px;
  border-radius: 9px;
  background: transparent;
  color: var(--muted);
  box-shadow: none;
}

.view-toggle-button:hover {
  color: var(--ink);
  filter: none;
}

.view-toggle-button.is-active {
  background: var(--charcoal);
  color: #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,.14);
}

.calendar-view[hidden],
#listView[hidden] {
  display: none;
}

.calendar-view {
  display: grid;
  gap: 18px;
}

.calendar-toolbar {
  display: grid;
  grid-template-columns: 46px 1fr 46px;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8f9f8;
  text-align: center;
}

.calendar-toolbar h3 {
  margin: 2px 0 0;
  font-size: 1.35rem;
  letter-spacing: -.025em;
}

.calendar-nav-button {
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 50%;
  background: #fff;
  color: var(--ink);
  border: 1px solid var(--line);
  font-size: 1.75rem;
  line-height: 1;
}

.calendar-weekdays,
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.calendar-weekdays span {
  padding: 4px 8px;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.calendar-day {
  position: relative;
  min-height: 126px;
  padding: 11px;
  overflow: visible;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  color: var(--ink);
  text-align: left;
  box-shadow: none;
}

.calendar-day:hover {
  border-color: #d2b7a9;
  filter: none;
  transform: translateY(-1px);
}

.calendar-day-empty {
  min-height: 126px;
  border-color: transparent;
  background: transparent;
}

.calendar-day-number {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: .82rem;
  font-weight: 800;
}

.calendar-day.is-today .calendar-day-number {
  background: var(--orange-soft);
  color: var(--orange-dark);
}

.calendar-day.is-selected {
  border-color: var(--orange);
  box-shadow: 0 0 0 2px rgba(230,109,46,.12);
}

.calendar-day.has-shifts {
  background:
    linear-gradient(
      180deg,
      #fff 0,
      #fff 58%,
      #fcf5f1 100%
    );
}

.calendar-day-events {
  display: grid;
  gap: 5px;
  margin-top: 8px;
}

.calendar-event-pill {
  display: block;
  max-width: 100%;
  padding: 5px 6px;
  overflow: hidden;
  border-left: 3px solid var(--orange);
  border-radius: 5px;
  background: var(--orange-soft);
  color: #5e3424;
  font-size: .68rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.calendar-event-pill strong {
  margin-right: 4px;
  color: var(--orange-dark);
}

.calendar-more {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 800;
}

.calendar-tooltip {
  position: absolute;
  z-index: 30;
  left: 50%;
  bottom: calc(100% + 10px);
  width: min(310px, 82vw);
  padding: 13px;
  border-radius: 12px;
  background: var(--charcoal);
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 5px);
  transition: opacity .15s ease, transform .15s ease;
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
}

.calendar-tooltip::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  border: 7px solid transparent;
  border-top-color: var(--charcoal);
  transform: translateX(-50%);
}

.calendar-day.has-shifts:hover .calendar-tooltip,
.calendar-day.has-shifts:focus-visible .calendar-tooltip {
  opacity: 1;
  transform: translate(-50%, 0);
}

.calendar-tooltip-entry {
  display: grid;
  gap: 2px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,.13);
}

.calendar-tooltip-entry:first-child {
  padding-top: 0;
}

.calendar-tooltip-entry:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.calendar-tooltip-entry strong {
  font-size: .79rem;
}

.calendar-tooltip-entry span {
  color: #cfd4d2;
  font-size: .72rem;
}

.calendar-detail-panel {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #f8f9f8;
}

.calendar-detail-panel > h3 {
  margin: 0 0 5px;
  font-size: 1.3rem;
}

.calendar-detail-panel > .muted {
  margin: 0 0 16px;
}

.calendar-detail-card {
  display: grid;
  gap: 15px;
  padding: 18px;
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
}

.calendar-detail-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.calendar-detail-card h4 {
  margin: 9px 0 4px;
  font-size: 1rem;
}

.calendar-detail-card p {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
}

.calendar-detail-meta {
  display: grid;
  grid-template-columns: minmax(0, 2fr) repeat(2, minmax(100px, 1fr));
  gap: 10px;
  margin: 0;
}

.calendar-detail-meta div {
  padding: 11px 12px;
  border-radius: 10px;
  background: #f5f6f5;
}

.calendar-detail-meta dt {
  color: var(--muted);
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.calendar-detail-meta dd {
  margin: 4px 0 0;
  font-size: .86rem;
  font-weight: 800;
}

@media (max-width: 900px) {
  .calendar-day {
    min-height: 104px;
    padding: 8px;
  }

  .calendar-event-pill {
    font-size: .62rem;
  }
}

@media (max-width: 700px) {
  .schedule-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .view-toggle {
    width: 100%;
  }

  .view-toggle-button {
    flex: 1;
  }

  .calendar-weekdays span {
    font-size: .6rem;
    padding-inline: 1px;
  }

  .calendar-grid {
    gap: 4px;
  }

  .calendar-day,
  .calendar-day-empty {
    min-height: 70px;
    padding: 6px;
    border-radius: 9px;
  }

  .calendar-day-number {
    width: 23px;
    height: 23px;
    font-size: .72rem;
  }

  .calendar-event-pill {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--orange);
    color: transparent;
    font-size: 0;
  }

  .calendar-more {
    display: none;
  }

  .calendar-tooltip {
    display: none;
  }

  .calendar-detail-card-heading {
    flex-direction: column;
  }

  .calendar-detail-card-heading .job-card-link {
    width: 100%;
  }

  .calendar-detail-meta {
    grid-template-columns: 1fr;
  }
}


.available-work-grid,
.application-list {
  display: grid;
  gap: 18px;
  margin-top: 20px;
}

.available-work-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.available-work-card,
.application-card {
  display: grid;
  gap: 16px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(145deg, #fff 0%, #fff 72%, #eef5f1 100%);
  box-shadow: 0 10px 28px rgba(23, 63, 49, .07);
}

.available-work-card h3,
.application-card h3 {
  margin: 0;
  font-size: 1.22rem;
  letter-spacing: -.02em;
}

.available-work-topline,
.application-card-heading,
.available-work-actions,
.review-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.available-work-customer,
.application-card p {
  margin: -10px 0 0;
  color: var(--muted);
}

.available-work-role {
  color: var(--green);
  font-weight: 800;
}

.available-work-location {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  margin: -5px 0 0;
  color: var(--muted);
  font-size: .82rem;
}

.available-work-location span {
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.available-work-location strong {
  color: var(--text);
  font-size: .88rem;
}

.available-work-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.available-work-meta div {
  padding: 12px;
  border-radius: 11px;
  background: #f4f7f5;
}

.available-work-meta dt {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.available-work-meta dd {
  margin: 4px 0 0;
  font-size: .83rem;
  font-weight: 800;
}

.application-state {
  display: inline-flex;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.application-pending {
  color: #8b5a00;
  background: #fff1cf;
}

.application-accepted {
  color: var(--green);
  background: var(--green-soft);
}

.application-declined {
  color: #8b2b2b;
  background: #fbe9e9;
}

.application-person {
  display: grid;
  justify-items: end;
  color: var(--muted);
  font-size: .8rem;
}

.application-person strong {
  color: var(--ink);
  font-size: .92rem;
}

.application-note {
  padding: 12px 14px;
  border-left: 3px solid var(--orange);
  border-radius: 7px;
  background: var(--orange-soft);
}

.review-actions {
  justify-content: flex-end;
}

.accept-button,
.apply-button {
  background: var(--green);
}

@media (max-width: 800px) {
  .available-work-grid {
    grid-template-columns: 1fr;
  }

  .application-card-heading,
  .available-work-topline,
  .available-work-actions,
  .review-actions {
    flex-direction: column;
  }

  .application-person {
    justify-items: start;
  }

  .available-work-meta {
    grid-template-columns: 1fr;
  }

  .available-work-actions button,
  .review-actions button {
    width: 100%;
  }
}


.open-work-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 20px;
}

.open-work-admin-card {
  display: grid;
  gap: 15px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background:
    linear-gradient(
      145deg,
      #fff 0%,
      #fff 74%,
      #edf5f0 100%
    );
  box-shadow:
    0 10px 28px
    rgba(23, 63, 49, .07);
}

.open-work-admin-card h3 {
  margin: 0;
  font-size: 1.2rem;
  letter-spacing: -.02em;
}

.publication-badge {
  display: inline-flex;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.publication-draft {
  color: #875900;
  background: #fff0ca;
}

.publication-published {
  color: var(--green);
  background: var(--green-soft);
}

.publication-ignored,
.publication-closed {
  color: #626b67;
  background: #ecefed;
}

.publication-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  color: var(--muted);
  font-size: .78rem;
}

.publication-note {
  margin: 0;
  padding: 11px 13px;
  border-left: 3px solid var(--orange);
  border-radius: 8px;
  background: var(--orange-soft);
  color: #5d3b2c;
  font-size: .84rem;
}

.publication-modal-card {
  width: min(980px, 100%);
}

.publication-form {
  margin-top: 0;
}

.publication-form-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.publication-form textarea {
  width: 100%;
  resize: vertical;
  border: 1px solid #cbd0d2;
  border-radius: 9px;
  padding: 11px 12px;
  font: inherit;
}

.audience-section {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f6f8f7;
}

.audience-section h3 {
  margin: 0;
  font-size: 1rem;
}

.audience-search {
  width: min(260px, 100%);
}

.freelancer-picker {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 9px;
  max-height: 310px;
  margin-top: 14px;
  overflow: auto;
}

.freelancer-picker-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
}

.freelancer-picker-row input {
  width: 17px;
  height: 17px;
  margin: 2px 0 0;
  accent-color: var(--green);
  flex: 0 0 auto;
}

.freelancer-picker-row span {
  display: grid;
}

.freelancer-picker-row small {
  color: var(--muted);
  font-weight: 400;
}

@media (max-width: 850px) {
  .open-work-admin-grid {
    grid-template-columns: 1fr;
  }

  .publication-form-grid,
  .freelancer-picker {
    grid-template-columns: 1fr;
  }

  .audience-section .section-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .audience-search {
    width: 100%;
  }
}
\n\n/* Compact operations density refresh */\n.hub-main{margin-top:40px;margin-bottom:58px}.panel{padding:26px;margin-top:22px}.panel h2{font-size:1.42rem}.metrics-grid{gap:14px;margin-top:20px}.metric-card{padding:17px 19px}.metric-card strong{font-size:1.62rem}.job-card,.available-work-card,.application-card,.open-work-admin-card{padding:19px;gap:15px}.job-summary-item,.shift-row{padding:12px}.user-grid,form{gap:14px}input,select,textarea{padding:10px 11px}button{padding:10px 16px}.calendar-day{min-height:112px}.settings-main{width:min(1180px,92vw)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-grid .panel{margin-top:0}.settings-form{margin-top:20px}.integration-status-list,.sync-run-list{display:grid;gap:10px;margin-top:18px}.integration-status,.sync-run-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#f7faf8}.sync-run-row{grid-template-columns:auto 1fr}.sync-run-row small{display:block;color:var(--muted);margin-top:3px}.sync-dot{width:10px;height:10px;border-radius:50%;background:#c6902c}.sync-dot.is-good{background:var(--green)}.sync-dot.is-warning{background:#d28a23}.sync-dot.is-bad{background:#b84040}.settings-note{margin-top:16px;font-size:.84rem}@media(max-width:800px){.settings-grid{grid-template-columns:1fr}.panel{padding:22px}.calendar-day{min-height:70px}}\n

.application-result-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.application-result-row p {
  margin: 0;
}

.allocation-diagnostic[hidden] {
  display: none;
}

.allocation-diagnostic {
  display: grid;
  gap: 14px;
  padding: 17px;
  margin-top: 2px;
  border: 1px solid #cfded5;
  border-radius: 13px;
  background:
    linear-gradient(
      145deg,
      #f8fbf9,
      #eef5f1
    );
}

.allocation-diagnostic-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.allocation-diagnostic-heading h4 {
  margin: 2px 0 0;
  font-size: 1rem;
}

.allocation-warning {
  margin: 0;
  padding: 10px 12px;
  border-left: 3px solid var(--orange);
  border-radius: 7px;
  background: var(--orange-soft);
  color: #66402f;
  font-size: .82rem;
}

.allocation-diagnostic-grid {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
}

.allocation-diagnostic-grid div {
  padding: 10px;
  border-radius: 9px;
  background: rgba(255, 255, 255, .82);
}

.allocation-diagnostic-grid dt {
  color: var(--muted);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.allocation-diagnostic-grid dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  font-size: .82rem;
  font-weight: 800;
}

.allocation-technical-details {
  border-top: 1px solid #d8e2dc;
  padding-top: 10px;
}

.allocation-technical-details summary {
  cursor: pointer;
  color: var(--green);
  font-size: .78rem;
  font-weight: 800;
}

.allocation-technical-details pre {
  max-height: 320px;
  overflow: auto;
  padding: 12px;
  border-radius: 9px;
  background: #18231e;
  color: #eef5f1;
  font-size: .69rem;
  line-height: 1.5;
  white-space: pre-wrap;
}

.allocation-write-note {
  margin: 0;
  font-size: .75rem;
}

@media (max-width: 720px) {
  .application-result-row,
  .allocation-diagnostic-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .application-result-row button {
    width: 100%;
  }

  .allocation-diagnostic-grid {
    grid-template-columns: 1fr;
  }
}


.allocation-diagnostic-actions {
  display: flex;
  justify-content: flex-end;
}

.member-diagnostic-results[hidden] {
  display: none;
}

.member-diagnostic-results {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #d2ded7;
  border-radius: 11px;
  background: rgba(255, 255, 255, .72);
}

.member-diagnostic-heading h4 {
  margin: 2px 0 0;
  font-size: .95rem;
}

.member-candidate-list {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.member-candidate-card {
  display: grid;
  gap: 3px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
}

.member-candidate-card strong {
  color: var(--green);
  font-size: .82rem;
}

.member-candidate-card span {
  color: var(--muted);
  font-size: .71rem;
}

@media (max-width: 720px) {
  .allocation-diagnostic-actions button {
    width: 100%;
  }

  .member-candidate-list {
    grid-template-columns: 1fr;
  }
}


.allocate-current-rms-button {
  background: var(--green);
}

.allocate-current-rms-button:hover {
  background: #103d2d;
}

.allocation-diagnostic-actions {
  flex-wrap: wrap;
  gap: 9px;
}


.page-intro-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.page-intro-actions a.secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 12px 18px;
  border-radius: 8px;
  font-weight: 800;
  text-decoration: none;
}

.open-work-metrics {
  grid-template-columns:
    repeat(5, minmax(0, 1fr));
}

.open-work-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 14px;
}

.open-work-search {
  flex: 1 1 360px;
  max-width: 520px;
}

.open-work-search input {
  width: 100%;
}

.publication-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.publication-returned {
  color: #6e4d00;
  background: #fff0bd;
}

.publication-filled {
  color: #5d6662;
  background: #e8ecea;
}

.status-diagnostic-card {
  width: min(1100px, 100%);
}

.status-diagnostic-output {
  max-height: 60vh;
  overflow: auto;
  padding: 16px;
  border-radius: 11px;
  background: #17221d;
  color: #eff6f2;
  font-size: .72rem;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

@media (max-width: 980px) {
  .open-work-metrics {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .open-work-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .open-work-search {
    max-width: none;
  }

  .open-work-toolbar .view-toggle {
    width: 100%;
    overflow-x: auto;
  }
}

@media (max-width: 620px) {
  .page-intro-actions {
    width: 100%;
    justify-content: stretch;
  }

  .page-intro-actions button,
  .page-intro-actions a.secondary-button {
    flex: 1 1 100%;
  }

  .open-work-metrics {
    grid-template-columns: 1fr 1fr;
  }
}


.nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  margin-left: 7px;
  padding: 0 6px;
  border-radius: 999px;
  background: #d92d20;
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 0 0 2px #ffffff;
  vertical-align: middle;
  animation: navBadgePop .22s ease-out;
}

.nav-badge[hidden] {
  display: none;
}

@keyframes navBadgePop {
  0% {
    opacity: 0;
    transform: scale(.8);
  }

  70% {
    opacity: 1;
    transform: scale(1.08);
  }

  100% {
    transform: scale(1);
  }
}

.freelancer-application-card,
.available-work-card,
.open-work-admin-card {
  padding: 18px;
}

.metric-card {
  min-height: 86px;
}


/* =========================================================
   Wolf Staff Hub V1.1 — quote-inspired visual refresh
   ========================================================= */

:root {
  --ink: #1c2521;
  --muted: #68736e;
  --line: #dfe4e1;
  --panel: #ffffff;
  --charcoal: #173f31;
  --orange: #ef7b32;
  --orange-dark: #9a431c;
  --orange-soft: #fff1e7;
  --green: #184b38;
  --green-soft: #eef5f1;
  --shadow: 0 10px 26px rgba(23, 63, 49, .07);
}

body {
  background:
    radial-gradient(circle at 92% 14%, rgba(24,75,56,.035) 0 2px, transparent 2.5px) 0 0/18px 18px,
    #f5f6f5;
}

.hub-header {
  min-height: 70px;
  background: #ffffff;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 6px 18px rgba(23,63,49,.06);
}

.hub-header a,
.hub-header .link-button {
  color: var(--green);
}

.hub-header a:hover,
.hub-header .link-button:hover {
  color: var(--orange-dark);
}

.hub-main {
  width: min(1260px, 92vw);
  margin-top: 34px;
}

.page-intro {
  align-items: center;
  padding: 22px 0 18px;
  border-bottom: 3px solid var(--green);
}

.page-intro h1,
.hub-main h1 {
  font-size: clamp(2rem, 4vw, 3.4rem);
  color: var(--green);
}

.panel,
.auth-card {
  border-radius: 12px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.panel {
  padding: 24px;
}

button {
  border-radius: 8px;
  background: var(--green);
}

.secondary-button {
  color: var(--green);
  border-color: #ccd7d1;
  box-shadow: none;
}

.eyebrow {
  color: var(--orange);
  letter-spacing: .13em;
}

.metric-card {
  border-radius: 10px;
  border-top: 3px solid var(--orange);
  padding: 16px 18px;
  box-shadow: none;
}

.status-pill,
.application-state,
.publication-badge,
.certificate-status {
  border-radius: 5px;
}

.document-style-intro {
  position: relative;
}

.document-style-intro::after {
  content: "• •";
  position: absolute;
  right: 0;
  bottom: -31px;
  color: var(--green);
  letter-spacing: 5px;
  font-weight: 900;
}

.profile-tabs {
  display: flex;
  gap: 5px;
  margin: 22px 0 0;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  overflow-x: auto;
}

.profile-tab {
  flex: 0 0 auto;
  background: transparent;
  color: var(--muted);
  padding: 10px 15px;
}

.profile-tab.is-active {
  color: #fff;
  background: var(--green);
}

.profile-tab:disabled,
.profile-tab.is-disabled {
  color: #9aa39f;
  background: transparent;
  opacity: 0.5;
  cursor: not-allowed;
  box-shadow: none;
}

.profile-tab-panel {
  margin-top: 20px;
}

.profile-tab-panel[hidden] {
  display: none;
}

.profile-form {
  margin-top: 20px;
}

.profile-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
}

.profile-form textarea,
.profile-form input,
.profile-form select {
  border-radius: 7px;
}

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 10px;
  align-self: end;
  min-height: 43px;
}

.checkbox-label input {
  width: auto;
}

.form-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  border-top: 1px solid var(--line);
  padding-top: 18px;
}

.profile-sync-pill {
  display: inline-flex;
  padding: 7px 10px;
  border-radius: 5px;
  background: var(--green-soft);
  color: var(--green);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.certificate-layout {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 20px;
}

.certificate-list {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.certificate-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}

.certificate-card:last-child {
  border-bottom: 0;
}

.certificate-card h3 {
  margin: 7px 0 2px;
  color: var(--green);
}

.certificate-card p,
.certificate-card small {
  margin: 0;
  color: var(--muted);
}

.certificate-actions {
  display: flex;
  gap: 8px;
}

.button-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  border-radius: 8px;
  padding: 10px 14px;
  font-weight: 800;
}

.certificate-awaiting_review {
  background: var(--orange-soft);
  color: var(--orange-dark);
}

.certificate-valid {
  background: var(--green-soft);
  color: var(--green);
}

.certificate-rejected,
.certificate-expired {
  background: #fce8e6;
  color: #9b2c21;
}

.allocate-current-rms-button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.button-spinner {
  display: none;
  width: 15px;
  height: 15px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: allocationSpin .7s linear infinite;
}

.allocate-current-rms-button.is-loading .button-spinner {
  display: inline-block;
}

@keyframes allocationSpin {
  to { transform: rotate(360deg); }
}

.allocation-progress {
  min-width: 260px;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8faf9;
}

.allocation-progress[hidden] {
  display: none;
}

.allocation-progress p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: .78rem;
}

.allocation-progress-bar {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #dfe5e2;
}

.allocation-progress-bar span {
  display: block;
  width: 34%;
  height: 100%;
  border-radius: inherit;
  background: var(--orange);
}

.allocation-progress.is-running .allocation-progress-bar span {
  animation: allocationProgress 1.1s ease-in-out infinite;
}

.allocation-progress.is-complete .allocation-progress-bar span {
  width: 100%;
  background: var(--green);
}

.allocation-progress.is-error .allocation-progress-bar span {
  width: 100%;
  background: #ba2d22;
}

@keyframes allocationProgress {
  0% { transform: translateX(-110%); }
  100% { transform: translateX(300%); }
}

.allocation-technical-details {
  margin-top: 12px;
}

.allocation-technical-details summary {
  color: var(--muted);
  font-size: .76rem;
}

@media (max-width: 820px) {
  .profile-form-grid,
  .certificate-layout {
    grid-template-columns: 1fr;
  }

  .certificate-card,
  .form-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .certificate-actions {
    width: 100%;
  }

  .certificate-actions > * {
    flex: 1;
    justify-content: center;
  }
}


/* =========================================================
   Wolf Staff Hub V1.2 — navigation, scale and profile clarity
   ========================================================= */

html {
  font-size: 88%;
}

.hub-header {
  min-height: 68px;
  padding: 0 3.5vw;
  background: #184b38;
  border-bottom: 4px solid #ef7b32;
  box-shadow: 0 7px 22px rgba(12, 42, 30, .18);
}

.hub-header .brand-link img {
  filter: brightness(0) invert(1);
}

.hub-header a,
.hub-header .link-button {
  color: rgba(255,255,255,.82);
}

.hub-header nav {
  gap: 4px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.hub-header nav::-webkit-scrollbar {
  display: none;
}

.hub-nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 68px;
  padding: 0 12px !important;
  white-space: nowrap;
  border-radius: 0;
}

.hub-nav-link::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 0;
  height: 4px;
  background: transparent;
}

.hub-nav-link:hover,
.hub-nav-link.is-active {
  color: #fff !important;
  background: rgba(255,255,255,.07);
}

.hub-nav-link.is-active::after {
  background: #ef7b32;
}

.header-profile {
  position: relative;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  margin-left: auto;
  border: 2px solid rgba(255,255,255,.65);
  border-radius: 50%;
  overflow: hidden;
  background: rgba(255,255,255,.14);
}

.header-profile img,
.header-profile-initials {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.header-profile img {
  object-fit: cover;
}

.header-profile-initials {
  display: grid;
  place-items: center;
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
}

.hub-main {
  width: min(1440px, 94vw);
  margin-top: 30px;
}

.panel {
  padding: 20px;
}

.dashboard-grid {
  gap: 18px;
}

.metrics-grid {
  gap: 12px;
  margin-top: 16px;
}

.job-card,
.application-card,
.available-work-card,
.open-work-admin-card {
  padding: 18px;
}

.profile-identity-strip {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) minmax(260px,.65fr);
  align-items: center;
  gap: 20px;
  margin-top: 20px;
  border-left: 5px solid #ef7b32;
}

.profile-photo-wrap {
  position: relative;
  width: 86px;
  height: 86px;
  border-radius: 50%;
  overflow: hidden;
  background: #eef5f1;
  border: 3px solid #184b38;
}

.profile-photo-wrap img,
.profile-photo-fallback {
  width: 100%;
  height: 100%;
}

.profile-photo-wrap img {
  object-fit: cover;
}

.profile-photo-fallback {
  display: grid;
  place-items: center;
  color: #184b38;
  font-size: 1.5rem;
  font-weight: 900;
}

.profile-photo-form {
  margin: 0;
}

.account-section-panel {
  position: relative;
}

.account-section-panel::before,
.profile-edit-panel::before,
.security-panel::before {
  content: "";
  display: block;
  width: 84px;
  height: 3px;
  margin: -20px 0 20px;
  background: #ef7b32;
}

.account-section-heading {
  display: grid;
  grid-template-columns: minmax(260px,.7fr) minmax(0,1fr);
  align-items: end;
  gap: 24px;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid #dfe4e1;
}

.account-two-column {
  display: grid;
  grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr);
  gap: 18px;
}

.skills-picker {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 9px;
  margin: 18px 0;
}

.skill-choice {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: 9px;
  padding: 11px 12px;
  border: 1px solid #dfe4e1;
  border-radius: 8px;
  background: #f9faf9;
}

.skill-choice:has(input:checked) {
  border-color: #184b38;
  background: #eef5f1;
}

.skill-choice input {
  width: auto;
}

.record-list {
  display: grid;
  gap: 9px;
  margin-top: 16px;
}

.record-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid #dfe4e1;
}

.record-card > div {
  display: grid;
  gap: 3px;
}

.record-card span,
.record-card small {
  color: #68736e;
}

.record-status {
  padding: 5px 8px;
  border-radius: 5px;
  background: #eef5f1;
  color: #184b38 !important;
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.nav-badge {
  background: #e22e25;
  color: #fff;
  box-shadow: 0 0 0 2px #184b38;
}

@media (max-width: 980px) {
  html {
    font-size: 94%;
  }

  .hub-header {
    flex-wrap: wrap;
    padding: 10px 4vw 0;
  }

  .hub-header nav {
    order: 3;
    width: 100%;
  }

  .hub-nav-link {
    min-height: 48px;
  }

  .profile-identity-strip,
  .account-two-column,
  .account-section-heading {
    grid-template-columns: 1fr;
  }

  .skills-picker {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 620px) {
  html {
    font-size: 100%;
  }

  .skills-picker {
    grid-template-columns: 1fr;
  }
}


.service-skills-fieldset {
  grid-column: 1 / -1;
  margin: 8px 0;
  padding: 18px;
  border: 1px solid #dfe4e1;
  border-radius: 10px;
  background: #fbfcfb;
}

.service-skills-fieldset legend {
  padding: 0 7px;
  color: #184b38;
  font-weight: 900;
}

.profile-tab-panel .panel + .panel {
  margin-top: 16px;
}

.profile-tab-panel h2 {
  color: #184b38;
}

.profile-form-grid + .profile-form-grid {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #dfe4e1;
}


/* =========================================================
   V1.4 consistent page positioning
   ========================================================= */

.hub-main {
  width: min(1440px, 94vw);
  margin-top: 18px;
  padding-top: 0;
}

.hub-main > .page-intro:first-child,
.hub-main > section:first-child {
  margin-top: 0;
}

.page-intro {
  padding-top: 8px;
  padding-bottom: 14px;
}

.page-intro + .panel,
.page-intro + .profile-identity-strip,
.page-intro + .profile-tabs,
.page-intro + .controls-panel {
  margin-top: 14px;
}

@media (max-width: 820px) {
  .hub-main {
    width: min(94vw, 1440px);
    margin-top: 14px;
  }
}


/* OnRent Events person search — admin users only */
.current-rms-person-fieldset {
  position: relative;
  grid-column: 1 / -1;
  padding: 14px;
  border: 1px solid #d8e2dd;
  border-radius: 9px;
  background: #f8faf9;
}

.current-rms-person-fieldset legend {
  padding: 0 6px;
  color: #184b38;
  font-weight: 800;
}

.current-rms-search-label {
  display: grid;
  gap: 5px;
  margin-top: 10px;
}

.current-rms-selected {
  margin-top: 9px;
  padding: 10px 12px;
  border: 1px dashed #c9d5cf;
  border-radius: 7px;
  background: #fff;
  color: #68736e;
  font-size: .82rem;
}

.current-rms-selected.is-linked {
  border-style: solid;
  border-color: #9fc4b1;
  background: #edf6f1;
  color: #184b38;
  font-weight: 750;
}

.current-rms-results {
  position: relative;
  z-index: 20;
  max-height: 270px;
  margin-top: 6px;
  overflow-y: auto;
  border: 1px solid #d7e0dc;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(20,55,42,.14);
}

.current-rms-result {
  display: grid;
  width: 100%;
  gap: 2px;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid #edf0ee;
  border-radius: 0;
  background: #fff;
  color: #24352e;
  text-align: left;
}

.current-rms-result:hover,
.current-rms-result:focus-visible {
  background: #edf6f1;
  color: #184b38;
}

.current-rms-result strong,
.current-rms-result span,
.current-rms-result small {
  display: block;
}

.current-rms-result span,
.current-rms-result small,
.current-rms-empty {
  color: #68736e;
  font-size: .74rem;
}

.current-rms-empty {
  margin: 0;
  padding: 12px;
}

.current-rms-person-fieldset > .compact-button {
  margin-top: 8px;
}

/* =========================================================
   Wolf OPSYS compact global header — V2 refinement
   ========================================================= */

:root {
  --opsys-green: #0b3d2a;
  --opsys-green-deep: #062e20;
  --opsys-green-light: #174c37;
  --opsys-orange: #e66d2e;
}

.hub-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: block;
  min-height: 0;
  padding: 0;
  background:
    linear-gradient(
      115deg,
      var(--opsys-green-deep) 0%,
      var(--opsys-green) 52%,
      var(--opsys-green-light) 100%
    );
  box-shadow:
    0 6px 18px rgba(6, 46, 32, .18);
}

.opsys-header-top,
.opsys-header-bottom {
  width: min(1500px, 95vw);
  margin: 0 auto;
}

.opsys-header-top {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 7px 0 6px;
}

.opsys-header-bottom {
  display: flex;
  min-height: 39px;
  align-items: center;
  justify-content: flex-end;
  border-top: 2px solid var(--opsys-orange);
}

.opsys-brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  color: #fff;
  text-decoration: none;
}

.opsys-brand > img {
  width: 78px;
  max-height: 38px;
  object-fit: contain;
}

.opsys-brand-copy {
  display: grid;
  gap: 1px;
  line-height: 1;
}

.opsys-brand-copy strong {
  color: #fff;
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: .075em;
  white-space: nowrap;
}

.opsys-brand-copy small {
  color: rgba(255, 255, 255, .76);
  font-size: .62rem;
  font-weight: 500;
  letter-spacing: .015em;
  white-space: nowrap;
}

.opsys-personal-area {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}

.opsys-personal-nav,
.opsys-operational-nav {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
}

.opsys-personal-nav {
  gap: 4px;
}

.opsys-operational-nav {
  width: 100%;
  gap: 5px;
}

.hub-header .hub-nav-link {
  position: relative;
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 5px 9px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: rgba(255, 255, 255, .86);
  font-size: .72rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.hub-header .hub-nav-link:hover,
.hub-header .hub-nav-link:focus-visible {
  background: rgba(255, 255, 255, .09);
  color: #fff;
}

.hub-header .hub-nav-link.is-active {
  color: #fff;
}

.opsys-personal-nav .hub-nav-link.is-active::after,
.opsys-operational-nav .hub-nav-link.is-active::after {
  content: "";
  position: absolute;
  right: 9px;
  bottom: 0;
  left: 9px;
  height: 2px;
  border-radius: 999px;
  background: var(--opsys-orange);
}

.header-profile {
  position: relative;
  display: grid;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 50%;
  background: rgba(255, 255, 255, .12);
  color: #fff;
  text-decoration: none;
}

.header-profile img,
.header-profile-initials {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.header-profile img {
  display: block;
  object-fit: cover;
  background: #fff;
}

.header-profile-initials {
  display: grid;
  place-items: center;
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .03em;
}

.header-profile.has-profile-photo .header-profile-initials {
  display: none;
}

.hub-header .nav-badge {
  min-width: 15px;
  height: 15px;
  padding: 0 4px;
  border-radius: 999px;
  box-shadow: none;
  font-size: .56rem;
  line-height: 15px;
  text-align: center;
}

/* Pull the page content closer to the slimmer global header. */
.hub-main {
  margin-top: 11px;
}

.page-intro {
  padding-top: 2px;
  padding-bottom: 9px;
}

.page-intro + .panel,
.page-intro + .profile-identity-strip,
.page-intro + .profile-tabs,
.page-intro + .controls-panel {
  margin-top: 9px;
}

@media (max-width: 900px) {
  .opsys-header-top,
  .opsys-header-bottom {
    width: min(94vw, 1500px);
  }

  .opsys-header-top {
    gap: 12px;
  }

  .opsys-brand-copy small {
    display: none;
  }

  .opsys-brand > img {
    width: 64px;
  }

  .opsys-personal-nav,
  .opsys-operational-nav {
    overflow-x: auto;
    scrollbar-width: none;
  }

  .opsys-personal-nav::-webkit-scrollbar,
  .opsys-operational-nav::-webkit-scrollbar {
    display: none;
  }
}

@media (max-width: 620px) {
  .opsys-header-top {
    min-height: 50px;
    padding: 5px 0;
  }

  .opsys-brand-copy {
    display: none;
  }

  .opsys-brand > img {
    width: 58px;
    max-height: 31px;
  }

  .header-profile {
    width: 29px;
    height: 29px;
    flex-basis: 29px;
  }

  .hub-header .hub-nav-link {
    padding-inline: 7px;
    font-size: .68rem;
  }

  .hub-main {
    margin-top: 8px;
  }
}


/* Project Information Pack */
.job-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.project-info-button{font:inherit;cursor:pointer}.project-info-open{overflow:hidden}.project-info-modal{position:fixed;inset:0;z-index:10000}.project-info-backdrop{position:absolute;inset:0;background:rgba(7,28,20,.72);backdrop-filter:blur(7px)}.project-info-dialog{position:absolute;inset:clamp(14px,3vw,38px);max-width:1280px;margin:auto;overflow:auto;border-radius:22px;background:#eef2ef;box-shadow:0 28px 90px rgba(0,0,0,.35)}.project-info-loading{min-height:460px;display:grid;place-content:center;justify-items:center;gap:14px;padding:42px;text-align:center;color:#173527}.project-info-loading span{max-width:540px;color:#66736c}.project-info-spinner{width:52px;height:52px;border:5px solid rgba(21,113,64,.18);border-top-color:#e66d2e;border-radius:50%;animation:project-info-spin .8s linear infinite}@keyframes project-info-spin{to{transform:rotate(360deg)}}.project-info-pack{min-height:100%;color:#17221d;background:#f7f9f7}.project-info-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px clamp(24px,4vw,52px);color:#fff;background:linear-gradient(118deg,#073d2b,#15583e);border-bottom:3px solid #e66d2e}.project-info-header>div:first-child{display:grid;gap:4px}.project-info-wolf{font-size:1.5rem;font-weight:900;letter-spacing:.09em}.project-info-header small{color:rgba(255,255,255,.76);font-weight:700;letter-spacing:.12em}.project-info-powered{font-size:.78rem;color:rgba(255,255,255,.72)}.project-info-powered strong{display:block;color:#fff;font-size:1rem}.project-info-close{position:absolute;top:12px;right:14px;width:38px;height:38px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.12);font-size:1.7rem;cursor:pointer}.project-info-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:18px clamp(24px,4vw,52px) 0}.project-info-title-block{padding:20px clamp(24px,4vw,52px) 28px;border-bottom:1px solid #dce4df}.project-info-title-block>span{color:#e66d2e;font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.project-info-title-block h2{margin:8px 0 4px;color:#123d2a;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.045em}.project-info-title-block p{margin:0;color:#66736c}.project-info-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:26px clamp(24px,4vw,52px)}.project-info-summary-grid>div{display:grid;gap:6px;padding:18px;border:1px solid #dce5df;border-radius:14px;background:#fff}.project-info-summary-grid span{color:#6e7973;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.project-info-section{margin:0 clamp(24px,4vw,52px) 24px;overflow:hidden;border:1px solid #dce5df;border-radius:16px;background:#fff}.project-info-section>h3{margin:0;padding:13px 18px;color:#fff;background:#245c22;font-size:.84rem;letter-spacing:.065em;text-transform:uppercase}.project-info-section>:not(h3){margin-left:18px;margin-right:18px}.project-info-map-grid{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(360px,1.28fr);gap:18px;padding:18px 0}.project-info-address{align-content:start;display:grid;gap:12px;padding:18px;border-radius:13px;background:#f1f5f2}.project-info-address a{color:#155f3a;font-weight:800}.project-info-w3w{width:fit-content;padding:9px 12px;border-radius:9px;color:#fff!important;background:#e44273;text-decoration:none}.project-info-map{width:100%;min-height:330px;border:0;border-radius:13px;background:#e7ece8}.project-info-map.is-empty{display:grid;place-content:center;padding:30px;color:#6e7973}.project-info-notes{margin-top:18px!important;margin-bottom:18px!important;padding:18px;border-radius:13px;background:#f3f6f4;line-height:1.65}.project-info-muted{padding:18px 0;color:#758078}.project-info-service-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;padding:18px 0}.project-info-service{display:grid;gap:5px;padding:15px;border:1px solid #dce5df;border-radius:12px}.project-info-service span,.project-info-service small{color:#6a756f}.project-info-table-wrap{overflow-x:auto;padding:18px 0}.project-info-table{width:100%;border-collapse:collapse}.project-info-table th,.project-info-table td{padding:12px;border-bottom:1px solid #e2e8e4;text-align:left;vertical-align:top}.project-info-table th{color:#6e7973;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase}.project-info-table td small{display:block;margin-top:4px;color:#748078}.project-info-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:18px 0}.project-info-link-grid a{display:grid;gap:5px;padding:16px;border:1px solid #dce5df;border-radius:12px;color:#16412d;text-decoration:none}.project-info-link-grid span{color:#e66d2e;font-size:.8rem;font-weight:800}.project-info-terms{display:grid;gap:14px;padding:18px 0}.project-info-terms article{padding-bottom:14px;border-bottom:1px solid #e2e8e4}.project-info-terms h4{margin:0 0 6px;color:#143d2a;font-size:.84rem}.project-info-terms p{margin:0;color:#53615a;line-height:1.55}.project-info-footer{display:flex;justify-content:space-between;gap:16px;padding:20px clamp(24px,4vw,52px);color:rgba(255,255,255,.78);background:#103b29;font-size:.75rem}.project-info-print-body{margin:0;background:#fff}.project-info-print-body .project-info-toolbar,.project-info-print-body .project-info-close{display:none!important}.project-info-settings-shell{width:min(1080px,calc(100% - 32px));margin:34px auto 70px}.project-info-settings-grid{display:grid;gap:14px}.project-info-term-card{display:grid;grid-template-columns:90px minmax(180px,.5fr) minmax(320px,1.5fr) auto;align-items:start;gap:12px;padding:16px;border:1px solid #dce5df;border-radius:14px;background:#fff}.project-info-term-card textarea{min-height:110px;resize:vertical}.project-info-term-actions{display:grid;gap:8px}@media(max-width:820px){.project-info-dialog{inset:0;border-radius:0}.project-info-summary-grid,.project-info-map-grid{grid-template-columns:1fr}.project-info-term-card{grid-template-columns:1fr}}@media print{@page{size:A4;margin:10mm}.project-info-toolbar,.project-info-close{display:none!important}.project-info-section{break-inside:avoid}.project-info-header,.project-info-section>h3,.project-info-footer{-webkit-print-color-adjust:exact;print-color-adjust:exact}}


/* Project Information v2 compact overrides */
.project-info-dialog{inset:clamp(10px,2vw,24px);max-width:1180px;border-radius:18px;background:#f4f7f5}
.project-info-header{padding:16px 24px;min-height:58px}
.project-info-toolbar{padding:12px 24px 0}
.project-info-title-block{padding:14px 24px 18px}
.project-info-title-block h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.project-info-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:16px 24px}
.project-info-summary-grid>div{padding:12px;border-radius:10px}
.project-info-section{margin:0 24px 12px;border-radius:12px}
.project-info-section>h3{padding:10px 14px}
.project-info-map-grid{grid-template-columns:minmax(230px,.7fr) minmax(340px,1.3fr);gap:12px;padding:12px 0}
.project-info-map{min-height:250px}
.project-info-service-list{gap:8px;padding:12px 0}
.project-info-service{padding:11px}
.project-info-table-wrap{padding:10px 0}
.project-info-table th,.project-info-table td{padding:9px}
.project-info-terms{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 0}
.project-info-terms article{padding:10px;border:1px solid #e0e7e2;border-radius:9px;background:#fafcfb}
.project-info-terms article{border-bottom:1px solid #e0e7e2}
.project-info-hotel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;padding:12px 0}
.project-info-hotel-card{display:grid;gap:5px;padding:11px;border:1px solid #dfe7e2;border-radius:9px;background:#fafcfb}
.project-info-hotel-card>span{color:#e66d2e;font-size:.72rem;font-weight:900;text-transform:uppercase}
.project-info-hotel-card small,.project-info-hotel-card em{color:#66736c;font-style:normal}
@media(max-width:760px){.project-info-summary-grid,.project-info-map-grid,.project-info-terms{grid-template-columns:1fr}.project-info-section{margin-left:12px;margin-right:12px}}

/* =========================================================
   Project Information — A4 compact override
   ========================================================= */

.project-info-dialog {
  width: min(
    calc(100vw - 28px),
    222mm
  );
  max-width: 222mm;
  height: calc(100vh - 24px);
  inset: 12px;
  margin: auto;
  padding: 6mm;
  border-radius: 14px;
  background: #dfe5e1;
  box-sizing: border-box;
}

.project-info-content {
  width: 100%;
}

.project-info-pack {
  width: 210mm;
  max-width: 100%;
  min-height: 297mm;
  margin: 0 auto;
  background: #fff;
  box-sizing: border-box;
  font-size: 10pt;
}

.project-info-topbar {
  min-height: 15mm;
  padding: 3mm 6mm;
}

.project-info-brand strong {
  font-size: 13pt;
}

.project-info-brand span,
.project-info-opportunity {
  font-size: 8pt;
}

.project-info-hero {
  padding: 5mm 7mm 4mm;
}

.project-info-hero h2 {
  font-size: 21pt;
  line-height: 1.08;
}

.project-info-hero p {
  margin-bottom: 1mm;
  font-size: 9pt;
}

.project-info-facts {
  grid-template-columns:
    repeat(
      4,
      minmax(0, 1fr)
    );
}

.project-info-facts > div {
  min-height: 17mm;
  padding: 3mm 4mm;
}

.project-info-facts span {
  font-size: 6.5pt;
}

.project-info-facts strong {
  font-size: 9pt;
  line-height: 1.25;
}

.project-info-layout {
  gap: 3mm;
  padding: 4mm;
}

.project-info-section {
  border-radius: 7px;
}

.project-info-section-heading {
  padding: 2.2mm 3.5mm;
}

.project-info-section-heading h3 {
  font-size: 7.5pt;
}

.project-info-section-body {
  padding: 3.5mm;
}

.project-info-venue {
  grid-template-columns:
    minmax(55mm, 0.75fr)
    minmax(90mm, 1.25fr);
  gap: 4mm;
}

.project-info-map {
  min-height: 62mm;
  max-height: 62mm;
}

.project-info-mini-card,
.project-info-hotel-card,
.project-info-doc-grid a {
  padding: 2.5mm;
}

.project-info-hotel-grid {
  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );
}

.project-info-hotel-card dl {
  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    );
}

.project-info-crew-row {
  grid-template-columns:
    1.1fr 1.15fr 0.7fr;
  padding: 2.2mm 1mm;
}

.project-info-terms {
  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );
}

.project-info-terms details {
  break-inside: avoid;
}

.project-info-footer {
  padding: 3mm 6mm;
  font-size: 7pt;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 8mm;
  }

  html,
  body {
    width: 210mm;
    margin: 0;
    padding: 0;
    background: #fff !important;
  }

  .project-info-print-body {
    width: 210mm;
    margin: 0;
    padding: 0;
  }

  .project-info-pack {
    width: 194mm;
    min-height: auto;
    margin: 0;
    font-size: 8.5pt;
    box-shadow: none;
  }

  .project-info-top-actions,
  .project-info-hero-actions,
  .project-info-icon-button {
    display: none !important;
  }

  .project-info-hero {
    padding: 4mm 5mm 3mm;
  }

  .project-info-hero h2 {
    font-size: 17pt;
  }

  .project-info-facts {
    grid-template-columns:
      repeat(
        4,
        minmax(0, 1fr)
      );
  }

  .project-info-facts > div {
    min-height: auto;
    padding: 2.5mm 3mm;
  }

  .project-info-layout {
    display: grid;
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
    gap: 2.5mm;
    padding: 3mm 0;
  }

  .project-info-section {
    margin: 0;
    break-inside: avoid;
  }

  .project-info-section.is-wide {
    grid-column: 1 / -1;
  }

  .project-info-map {
    min-height: 48mm;
    max-height: 48mm;
  }

  .project-info-hotel-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

  .project-info-terms {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

  .project-info-topbar,
  .project-info-footer,
  .project-info-section-heading {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

.project-info-secondary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid #b9cec2;
  border-radius: 12px;
  color: #174832;
  background: #edf4f0;
  font-weight: 800;
  text-decoration: none;
  transition:
    background 150ms ease,
    border-color 150ms ease,
    transform 150ms ease;
}

.project-info-secondary-action:hover {
  border-color: #89aa97;
  background: #e1ece6;
  transform: translateY(-1px);
}

.project-info-loading[hidden],
.project-info-content[hidden] {
  display: none !important;
}

.project-info-crew-list {
  display: grid;
  gap: 10px;
}

.project-info-crew-person {
  overflow: hidden;
  border: 1px solid #dfe7e2;
  border-radius: 10px;
  background: #fafcfb;
}

.project-info-crew-person-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 14px;
}

.project-info-crew-person-header > div:first-child {
  display: grid;
  gap: 3px;
}

.project-info-crew-person-header strong {
  color: #17271f;
}

.project-info-crew-full-name {
  display: block;
  color: #7a857f;
  font-size: 0.72rem;
  font-weight: 650;
  line-height: 1.15;
}

.project-info-crew-person-header span {
  color: #6a776f;
  font-size: 0.82rem;
}

.project-info-crew-phone {
  flex: 0 0 auto;
}

.project-info-crew-phone a {
  color: #155f3a;
  font-weight: 800;
  text-decoration: none;
}

.project-info-crew-phone a:hover {
  text-decoration: underline;
}

.project-info-crew-shifts {
  border-top: 1px solid #e2e9e4;
  background: #fff;
}

.project-info-crew-shift {
  display: grid;
  grid-template-columns:
    minmax(150px, 1fr)
    auto
    minmax(150px, 1fr)
    minmax(100px, auto);
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-bottom: 1px solid #edf1ee;
  font-size: 0.82rem;
}

.project-info-crew-shift:last-child {
  border-bottom: 0;
}

.project-info-shift-arrow {
  color: #e66d2e;
  font-weight: 900;
}

.project-info-crew-shift small {
  color: #758078;
  text-align: right;
}

@media (max-width: 700px) {
  .project-info-crew-person-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .project-info-crew-shift {
    grid-template-columns:
      1fr
      auto
      1fr;
  }

  .project-info-crew-shift small {
    grid-column: 1 / -1;
    text-align: left;
  }
}

.project-info-powered-by {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.1;
}

.project-info-powered-by span {
  font-size: 0.75rem;
  opacity: 0.8;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.project-info-powered-by strong {
  font-size: 1.4rem;
  font-weight: 900;
  letter-spacing: 0.03em;
}


/* Manual Activities V1 */
.manual-activity-card {
  border-color: #cbdcf2;
  box-shadow: 0 14px 34px rgba(43, 94, 160, 0.09);
}

.manual-activity-card::before {
  background: #2f6fb4;
}

.manual-activity-card .status-pill {
  color: #174f8e;
  background: #e7f0fb;
  border-color: #bdd3ec;
}

.manual-activity-card .job-card-role,
.manual-activity-card .connection-label {
  color: #245f9f;
  background: #eef5fc;
  border-color: #cedff1;
}

.manual-activity-card .job-summary-item {
  background: #f6f9fd;
}

.manual-activity-meta {
  margin-top: 8px;
  color: #687987;
  font-size: 0.82rem;
}

.manual-activity-page {
  width: min(1180px, calc(100% - 32px));
  margin: 32px auto 72px;
}

.manual-activity-toolbar,
.manual-activity-form-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.manual-activity-grid {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.manual-activity-list-card {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(210px, .8fr) auto;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 1px solid #cddff2;
  border-left: 5px solid #2f6fb4;
  border-radius: 16px;
  background: #fff;
}

.manual-activity-list-card h3 { margin: 5px 0; }
.manual-activity-list-card p { margin: 0; color: var(--muted, #68756e); }
.manual-activity-type-pill {
  display: inline-flex;
  width: fit-content;
  padding: 6px 9px;
  border-radius: 999px;
  color: #245f9f;
  background: #eaf2fb;
  font-size: .72rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.manual-activity-people { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.manual-activity-person { padding: 5px 8px; border-radius: 999px; background: #f1f4f2; font-size: .78rem; }
.manual-activity-modal[hidden] { display: none !important; }
.manual-activity-modal { position: fixed; inset: 0; z-index: 11000; display: grid; place-items: center; padding: 20px; }
.manual-activity-modal-backdrop { position: absolute; inset: 0; background: rgba(5, 29, 20, .68); backdrop-filter: blur(5px); }
.manual-activity-dialog { position: relative; width: min(760px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 24px; border-radius: 18px; background: #fff; box-shadow: 0 26px 80px rgba(0,0,0,.28); }
.manual-activity-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.manual-activity-form-grid .is-wide { grid-column: 1 / -1; }
.manual-activity-user-picker { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; max-height: 230px; overflow: auto; padding: 10px; border: 1px solid #dce5df; border-radius: 12px; }
.manual-activity-user-option { display: flex; gap: 8px; align-items: flex-start; padding: 8px; border-radius: 9px; background: #f7f9f8; }
.manual-activity-conflict { padding: 12px; border-radius: 10px; color: #7b3b12; background: #fff1e8; }
@media (max-width: 760px) {
  .manual-activity-list-card,
  .manual-activity-form-grid { grid-template-columns: 1fr; }
  .manual-activity-form-grid .is-wide { grid-column: auto; }
  .manual-activity-user-picker { grid-template-columns: 1fr; }
}


/* Manual Activity modal: compact enough for a standard laptop viewport. */
.manual-activity-modal .modal-panel,
#activityModal .modal-panel {
  max-height: calc(100vh - 28px);
  padding: 18px 20px;
}

#activityModal .modal-heading {
  margin-bottom: 10px;
}

#activityModal .manual-activity-form-grid {
  gap: 10px 14px;
}

#activityModal label {
  gap: 4px;
}

#activityModal input,
#activityModal select,
#activityModal textarea {
  min-height: 40px;
  padding: 8px 10px;
}

#activityModal textarea {
  min-height: 68px;
}

#activityModal .manual-activity-user-picker {
  max-height: 132px;
}

#activityModal .manual-activity-form-actions {
  margin-top: 10px;
}

#cancelActivityButton {
  border-color: #d9a89f;
  color: #942f20;
  background: #fff4f1;
}


/* =========================================================
   Internal operational calendar
   ========================================================= */

.internal-calendar-controls {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    auto;
  align-items: end;
  gap: 12px;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8faf8;
}

.calendar-view-manager {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 8px;
}

.calendar-view-manager label {
  min-width: 220px;
}

.calendar-view-manager select {
  min-height: 42px;
}

.calendar-filter-panel {
  grid-column: 1 / -1;
  border: 1px solid #dce5df;
  border-radius: 11px;
  background: #fff;
}

.calendar-filter-panel summary {
  padding: 10px 12px;
  color: var(--green);
  font-weight: 800;
  cursor: pointer;
}

.calendar-filter-content {
  display: grid;
  gap: 10px;
  padding: 0 12px 12px;
}

.calendar-people-picker {
  display: grid;
  gap: 12px;
  max-height: 320px;
  overflow: auto;
}

.calendar-people-group {
  display: grid;
  gap: 8px;
}

.calendar-people-group-title {
  margin: 0;
  font-size: 0.95rem;
  color: var(--green);
}

.calendar-people-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
}

.calendar-person-card,
.calendar-source-filters label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 64px;
  padding: 10px 12px;
  border: 1px solid #e0e7e2;
  border-radius: 12px;
  background: #fafcfb;
}

.calendar-person-card input {
  margin-top: 4px;
}

.calendar-person-card-body {
  display: grid;
  gap: 2px;
}

.calendar-person-card-body strong {
  line-height: 1.2;
}

.calendar-person-card-body small {
  color: var(--muted);
}

.calendar-person-card.is-selected {
  border-color: rgba(26, 93, 67, 0.28);
  background: #f3f8f5;
  box-shadow: inset 0 0 0 1px rgba(26, 93, 67, 0.08);
}

.calendar-people-empty {
  margin: 0;
  padding: 12px;
  border: 1px dashed #d6e0da;
  border-radius: 10px;
  color: var(--muted);
  background: #fafcfb;
}

.calendar-source-filters,
.calendar-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.calendar-legend {
  justify-content: flex-end;
  color: var(--muted);
  font-size: 0.82rem;
}

.calendar-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.calendar-legend-dot {
  width: 10px;
  height: 10px;
  display: inline-block;
  border-radius: 50%;
}

.calendar-legend-dot.is-current {
  background: var(--green);
}

.calendar-legend-dot.is-manual {
  background: #2f68d8;
}

.calendar-day.can-create-activity {
  cursor: cell;
}

.calendar-day.can-create-activity:hover {
  outline:
    2px solid
    rgba(47, 104, 216, 0.28);
  outline-offset: -2px;
}

.calendar-day-entries {
  display: grid;
  gap: 3px;
  margin-top: 7px;
}

.calendar-day-entries span {
  overflow: hidden;
  padding: 3px 5px;
  border-radius: 5px;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 800;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.calendar-day-entries .is-current {
  background: var(--green);
}

.calendar-day-entries .is-manual {
  background: #2f68d8;
}

.calendar-tooltip-entry.is-current {
  border-left:
    3px solid
    var(--green);
}

.calendar-tooltip-entry.is-manual {
  border-left:
    3px solid
    #2f68d8;
}

.dashboard-manual-modal .modal-panel {
  width:
    min(
      760px,
      calc(100vw - 28px)
    );
  max-height:
    calc(
      100vh - 28px
    );
  overflow: auto;
  padding: 18px 20px;
}

@media (max-width: 760px) {
  .internal-calendar-controls {
    grid-template-columns: 1fr;
  }

  .calendar-legend {
    justify-content: flex-start;
  }

  .calendar-view-manager {
    align-items: stretch;
  }

  .calendar-view-manager label,
  .calendar-view-manager button {
    width: 100%;
  }
}


.user-modules-fieldset { grid-column: 1 / -1; }
.user-modules-picker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
}
.user-module-choice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid #dce5df;
  border-radius: 10px;
  background: #fafcfb;
}
.user-module-choice input {
  width: auto;
  min-height: 0;
  margin-top: 3px;
}
.user-module-choice span { display: grid; gap: 2px; }
.user-module-choice small { color: var(--muted); }

.manual-picker-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.manual-external-people {
  grid-column: 1 / -1;
  padding: 12px;
  border: 1px solid #dce5df;
  border-radius: 12px;
}
.manual-external-person-row {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(150px, .8fr) auto;
  gap: 8px;
  margin-bottom: 8px;
}
#dashboardManualActivityModal .modal-panel {
  background: #fff;
  border: 1px solid #dce5df;
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(7, 42, 29, .28);
}
.internal-calendar-controls {
  display: block;
  padding: 0;
  overflow: hidden;
}
.internal-calendar-controls > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 14px;
  color: var(--green);
  font-weight: 850;
  cursor: pointer;
}
.internal-calendar-controls-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 0 12px 12px;
}
@media (max-width: 720px) {
  .manual-external-person-row { grid-template-columns: 1fr; }
  .internal-calendar-controls-body { grid-template-columns: 1fr; }
}


/* Account-type and module availability states */
.user-grid label.is-disabled,
.modal-grid label.is-disabled {
  opacity: 0.55;
}

.user-grid label.is-disabled select,
.modal-grid label.is-disabled select {
  cursor: not-allowed;
  background: #eef1ef;
  color: #78827c;
}

.user-module-choice.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background: #eef1ef;
}

.user-module-choice.is-disabled input {
  cursor: not-allowed;
}

.user-module-choice.is-disabled strong,
.user-module-choice.is-disabled small {
  color: #78827c;
}

/* Dashboard calendar source colours */

.calendar-event-pill.is-current {
  border-left-color: #195a3d;
  background: #e8f2ed;
  color: #16462f;
}

.calendar-event-pill.is-current strong {
  color: #123f2a;
}

.calendar-event-pill.is-manual {
  border-left-color: #2f68d8;
  background: #eaf0ff;
  color: #244a99;
}

.calendar-event-pill.is-manual strong {
  color: #21458e;
}


/* OPSYS v1 Administration */
.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 0;padding:7px;border:1px solid var(--line);border-radius:14px;background:#fff}.settings-tabs button{background:transparent;color:var(--muted);padding:10px 14px}.settings-tabs button.is-active{background:var(--charcoal);color:#fff}.settings-tab-panel{display:none}.settings-tab-panel.is-active{display:block}.settings-two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-two-column .is-wide,.settings-grid .is-wide{grid-column:1/-1}.compact-grid{margin-top:0}.broadcast-settings-grid{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(420px,1.15fr);gap:22px}.broadcast-user-picker{border:1px solid var(--line);border-radius:10px;padding:10px}.broadcast-user-picker summary{cursor:pointer;font-weight:800}.broadcast-user-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:220px;overflow:auto;margin-top:10px}.broadcast-user-option{display:flex;gap:8px;align-items:flex-start;padding:8px;border:1px solid var(--line);border-radius:9px}.broadcast-user-option input{width:auto}.broadcast-user-option span{display:grid}.broadcast-user-option small{color:var(--muted)}.broadcast-history{display:grid;gap:10px}.broadcast-history-card{display:flex;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafcfb}.broadcast-history-card h3{margin:8px 0 4px}.broadcast-history-card p{white-space:pre-wrap}.broadcast-history-card>div:last-child{display:flex;gap:6px;align-items:flex-start}.danger-button{color:#942f20;border-color:#d9a89f;background:#fff4f1}.branding-preview{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px;color:#fff;background:var(--preview-green,#173f31);border-bottom:3px solid var(--preview-orange,#e66d2e)}.branding-preview>div{display:grid}.branding-preview span{opacity:.8}.placeholder-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.opsys-broadcast-overlay{position:fixed;inset:0;z-index:20000}.opsys-broadcast-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 32px));min-height:360px;display:grid;place-content:center;justify-items:center;gap:14px;padding:46px;text-align:center;border-radius:22px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.35);color:#173527}.opsys-broadcast-kicker{color:var(--orange);font-size:.74rem;font-weight:900;letter-spacing:.14em}.opsys-broadcast-card h2{margin:0;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.04em;color:var(--charcoal)}.opsys-broadcast-card #opsysBroadcastBody{max-width:500px;white-space:pre-wrap;color:var(--muted);font-size:1.02rem}.opsys-broadcast-actions{display:flex;gap:10px;margin-top:12px}.opsys-broadcast-spinner{width:46px;height:46px}.opsys-broadcast-card button[hidden]{display:none!important}@media(max-width:850px){.broadcast-settings-grid,.settings-two-column,.placeholder-card-grid{grid-template-columns:1fr}.broadcast-user-picker>div{grid-template-columns:1fr}}

.opsys-broadcast-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
}

.opsys-broadcast-overlay[hidden] {
  display: none !important;
}

.opsys-broadcast-card {
  position: relative;
  z-index: 2;
  width: min(
    560px,
    calc(100vw - 32px)
  );
  padding: 36px;
  border-radius: 18px;
  background: #ffffff;
  box-shadow:
    0 24px 80px
    rgba(7, 42, 29, 0.3);
}
/* Manual Activity people picker */

.manual-activity-user-picker {
  display: grid;
  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );
  gap: 10px;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.manual-activity-user-option {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 12px;

  min-width: 0;
  width: 100%;
  padding: 12px 14px;

  border: 1px solid #e1e8e4;
  border-radius: 12px;
  background: #f8faf9;
}

.manual-activity-user-option input {
  flex: 0 0 auto;
  width: 18px !important;
  min-width: 18px;
  height: 18px;
  margin: 0;
}

.manual-activity-user-option span {
  display: grid;
  min-width: 0;
  gap: 2px;
  text-align: left;
}

.manual-activity-user-option strong,
.manual-activity-user-option small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manual-activity-user-option small {
  color: var(--muted);
}

@media (max-width: 700px) {
  .manual-activity-user-picker {
    grid-template-columns: 1fr;
  }
}
/* OPSYS v1.1 Overtime */
.overtime-user-settings{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.overtime-user-settings.is-disabled{opacity:.52}.help-tooltip{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:5px;border-radius:50%;background:var(--green);color:#fff;font-size:.72rem;cursor:help}.dashboard-overview{grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr) minmax(250px,.8fr)}.overtime-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.notification-count{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:999px;background:#c73535;color:#fff;font-size:.78rem;font-weight:900}.notification-count.is-small{min-width:20px;height:20px;margin-left:6px;font-size:.68rem}.overtime-panel-actions,.overtime-approval-actions{display:flex;flex-wrap:wrap;gap:8px}.overtime-modal-card{width:min(860px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto}.overtime-tabs{display:flex;gap:8px;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--line)}.overtime-tabs button{display:inline-flex;align-items:center;background:#eef3f0;color:var(--green)}.overtime-tabs button.is-active{background:var(--green);color:#fff}.overtime-tab-panel{display:none}.overtime-tab-panel.is-active{display:block}.overtime-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.overtime-form-grid .is-wide{grid-column:1/-1}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.segmented-control label{position:relative}.segmented-control input{position:absolute;opacity:0;pointer-events:none}.segmented-control span{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f7faf8;text-align:center;font-weight:800;cursor:pointer}.segmented-control input:checked+span{border-color:var(--green);background:var(--green-soft);color:var(--green)}.overtime-history{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.overtime-request-row,.overtime-approval-card{display:grid;gap:10px;margin-bottom:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafcfb}.overtime-request-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}.overtime-request-row small{grid-column:1/-1}.overtime-status{padding:5px 8px;border-radius:999px;background:#eef1ef;font-size:.72rem;font-weight:850}.overtime-status.is-approved,.overtime-status.is-processed{background:#e3f2e9;color:#145d38}.overtime-status.is-denied{background:#fae8e6;color:#9b2c24}@media(max-width:900px){.dashboard-overview{grid-template-columns:1fr}}@media(max-width:700px){.overtime-form-grid,.overtime-user-settings{grid-template-columns:1fr}.overtime-form-grid .is-wide{grid-column:auto}}

.dashboard-overview:has(
  #overtimePanel[hidden]
) {
  grid-template-columns:
    minmax(0, 1fr)
    minmax(280px, 0.7fr);
}

.dashboard-overview:has(
  #overtimePanel:not([hidden])
) {
  grid-template-columns:
    minmax(0, 1.5fr)
    minmax(250px, 0.8fr)
    minmax(250px, 0.8fr);
}
/* Breathe summary inside Submit Overtime */
.breathe-overtime-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--green-soft);
}

.breathe-overtime-stat {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(20, 93, 56, 0.12);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.82);
}

.breathe-overtime-stat span {
  color: var(--muted);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.breathe-overtime-stat strong {
  color: var(--green);
  font-size: 1.28rem;
  line-height: 1.2;
}

.breathe-overtime-stat small {
  color: var(--muted);
}

.breathe-overtime-source {
  grid-column: 1 / -1;
  margin: 0.1rem 0 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--text-strong, #17201c);
}

.breathe-overtime-status {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
}

.breathe-overtime-summary.is-loading .breathe-overtime-stat {
  opacity: 0.68;
}

.breathe-overtime-summary.is-unavailable {
  background: #f6f7f6;
}

.breathe-overtime-summary.is-unavailable .breathe-overtime-stat strong {
  color: var(--muted);
}


/* Compact Breathe figures in the dashboard overtime card */
.breathe-dashboard-summary {
  margin-top: 26px;
  margin-bottom: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.breathe-dashboard-summary .breathe-overtime-stat {
  min-height: 108px;
  align-content: center;
  padding: 12px 10px;
  border-color: var(--line);
  background: #f7faf8;
  text-align: left;
}

.breathe-dashboard-summary .breathe-overtime-stat strong {
  font-size: 1.12rem;
}

.breathe-dashboard-summary .breathe-overtime-stat span {
  font-size: 0.68rem;
}

.breathe-dashboard-summary .breathe-overtime-stat small {
  font-size: 0.58rem;
}

.breathe-dashboard-summary .breathe-overtime-source,
.breathe-dashboard-summary .breathe-overtime-status {
  margin-top: 2px;
}

@media (max-width: 1180px) and (min-width: 901px) {
  .breathe-dashboard-summary {
    grid-template-columns: 1fr;
  }

  .breathe-dashboard-summary .breathe-overtime-stat {
    min-height: 76px;
  }
}

@media (max-width: 700px) {
  .breathe-overtime-summary {
    grid-template-columns: 1fr;
  }
}

/* Breathe employee picker — User Admin */
.breathe-employee-fieldset {
  grid-column: 1 / -1;
  padding: 15px;
  border: 1px solid #d8e2dd;
  border-radius: 10px;
  background: #f8faf9;
}

.breathe-employee-fieldset[hidden] {
  display: none !important;
}

.breathe-employee-fieldset legend {
  padding: 0 6px;
  color: var(--green);
  font-weight: 800;
}

.breathe-employee-fieldset > .muted {
  margin: 0 0 12px;
  font-size: .82rem;
}

.breathe-match-status {
  display: grid;
  gap: 4px;
  margin-top: 11px;
  padding: 11px 12px;
  border: 1px solid #ccd8d2;
  border-radius: 9px;
  background: #fff;
  color: #34433c;
}

.breathe-match-status strong,
.breathe-match-status span,
.breathe-match-status small {
  display: block;
}

.breathe-match-status span {
  font-size: .82rem;
}

.breathe-match-status small {
  margin-top: 3px;
  color: var(--muted);
  font-size: .76rem;
  line-height: 1.45;
}

.breathe-match-status.is-empty,
.breathe-match-status.is-loading {
  border-style: dashed;
  color: var(--muted);
}

.breathe-match-status.is-good {
  border-color: #93c3aa;
  background: var(--green-soft);
  color: var(--green);
}

.breathe-match-status.is-review {
  border-color: #e3bd70;
  background: #fff8e9;
  color: #805914;
}

.breathe-match-status.is-poor {
  border-color: #df9d9d;
  background: #fff1f1;
  color: #8b2d2d;
}

.breathe-override-field {
  margin-top: 11px;
  padding: 10px 12px;
  border: 1px solid #df9d9d;
  border-radius: 9px;
  background: #fff;
}

.breathe-override-field[hidden] {
  display: none !important;
}

/* Keep the linked Breathe employee easy to verify at a glance. */
.breathe-overtime-source-name,
.breathe-overtime-source-email {
  display: block;
}

.breathe-overtime-source-email {
  margin-top: 2px;
  color: var(--muted);
  font-weight: 600;
  overflow-wrap: anywhere;
}

/* OPSYS v1.2 Overtime statistics */
.overtime-stats-modal-card {
  width: min(1120px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  overflow: auto;
}

.overtime-stats-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f7faf8;
}

.overtime-stats-toolbar h3,
.overtime-stats-toolbar p {
  margin-bottom: 0;
}

.overtime-stats-toolbar label {
  min-width: 210px;
}

.overtime-stats-message {
  min-height: 1.3em;
  margin: 0 0 12px;
}

.overtime-stats-totals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.overtime-stats-total-card {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fafcfb;
}

.overtime-stats-total-card span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.overtime-stats-total-card strong {
  color: var(--green);
  font-size: 1.15rem;
  line-height: 1.25;
}

.overtime-stats-total-card small {
  color: var(--muted);
}

.overtime-stats-total-card.is-emphasised {
  border-color: rgba(230, 109, 46, 0.45);
  background: var(--orange-soft);
}

.overtime-stats-total-card.is-overall {
  border-color: var(--green);
  background: var(--green-soft);
}

.overtime-stats-section {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.overtime-stats-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.overtime-stats-section-heading h3,
.overtime-stats-section-heading p {
  margin-bottom: 0;
}

.overtime-stats-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px 12px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
}

.overtime-stats-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.overtime-stats-legend-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #a5ada9;
}

.overtime-stats-legend-dot.is-pending,
.overtime-stats-segment.is-pending {
  background: var(--orange);
}

.overtime-stats-legend-dot.is-approved,
.overtime-stats-segment.is-approved {
  background: #70a98b;
}

.overtime-stats-legend-dot.is-processed,
.overtime-stats-segment.is-processed {
  background: var(--green);
}

.overtime-stats-legend-dot.is-denied,
.overtime-stats-segment.is-denied {
  background: #c95e55;
}

.overtime-stats-legend-dot.is-cancelled,
.overtime-stats-segment.is-cancelled {
  background: #9ba49f;
}

.overtime-stats-chart {
  display: grid;
  gap: 10px;
}

.overtime-stats-employee {
  display: grid;
  gap: 8px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fafcfb;
}

.overtime-stats-employee h4 {
  margin: 0;
  color: var(--green);
}

.overtime-stats-bar-row {
  display: grid;
  grid-template-columns: 48px minmax(120px, 1fr) 90px;
  align-items: center;
  gap: 10px;
}

.overtime-stats-bar-unit {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.overtime-stats-bar-track {
  display: flex;
  height: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9eeeb;
}

.overtime-stats-segment {
  display: block;
  height: 100%;
  min-width: 0;
}

.overtime-stats-bar-row strong {
  color: var(--green);
  font-size: 0.82rem;
  text-align: right;
}

.overtime-stats-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.overtime-stats-table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
  background: #fff;
}

.overtime-stats-table th,
.overtime-stats-table td {
  padding: 12px 13px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.overtime-stats-table thead th {
  background: #f4f7f5;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.overtime-stats-table tbody th {
  color: var(--green);
}

.overtime-stats-table tbody tr:last-child th,
.overtime-stats-table tbody tr:last-child td {
  border-bottom: 0;
}

.overtime-stats-empty-cell {
  padding: 22px !important;
  text-align: center !important;
}

@media (max-width: 760px) {
  .overtime-stats-toolbar,
  .overtime-stats-section-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .overtime-stats-toolbar label {
    min-width: 0;
  }

  .overtime-stats-totals {
    grid-template-columns: 1fr;
  }

  .overtime-stats-legend {
    justify-content: flex-start;
  }

  .overtime-stats-bar-row {
    grid-template-columns: 42px minmax(80px, 1fr) 76px;
    gap: 7px;
  }
}

/* OPSYS v1.3.3 — isolated overtime processing and dashboard refinements */
.breathe-dashboard-footer {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
  margin-top: 2px;
}

.breathe-dashboard-footer .breathe-overtime-status {
  grid-column: auto;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}

.overtime-stats-text-link {
  flex: 0 0 auto;
  margin: 0 2px 0 auto;
  padding: 2px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--green);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  line-height: 1.2;
  text-decoration: none;
}

.overtime-stats-text-link:hover,
.overtime-stats-text-link:focus-visible {
  background: transparent;
  color: var(--orange);
  text-decoration: underline;
  text-underline-offset: 3px;
  transform: none;
}

.overtime-processing-page {
  width: min(1500px, calc(100% - 38px));
  margin: 0 auto;
  padding: 42px 0 70px;
}

.overtime-processing-page-heading,
.overtime-processing-section-heading,
.overtime-processing-heading-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.overtime-processing-page-heading {
  margin-bottom: 22px;
}

.overtime-processing-heading-actions {
  align-items: center;
  flex-wrap: wrap;
}

.overtime-processing-heading-actions .secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.overtime-processing-section {
  margin-top: 20px;
}

.overtime-processing-section-heading {
  margin-bottom: 16px;
}

.overtime-processing-section-heading h2,
.overtime-processing-section-heading p {
  margin-bottom: 0;
}

.overtime-processing-table-wrap,
.overtime-processing-history-scroll {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
}

.overtime-processing-history-scroll {
  max-height: 430px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.overtime-processing-table {
  width: 100%;
  min-width: 910px;
  border-collapse: collapse;
  background: #fff;
}

.overtime-processing-table th,
.overtime-processing-table td {
  padding: 13px 14px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.overtime-processing-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f4f7f5;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.overtime-processing-table tbody th {
  min-width: 160px;
  color: var(--green);
}

.overtime-processing-table td:nth-child(2) {
  min-width: 230px;
}

.overtime-processing-table th strong,
.overtime-processing-table td strong,
.overtime-processing-table th span,
.overtime-processing-table td span,
.overtime-processing-table th small,
.overtime-processing-table td small {
  display: block;
}

.overtime-processing-table th small,
.overtime-processing-table td small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1.45;
  white-space: normal;
}

.overtime-processing-table td > span:not(.overtime-treatment-pill) {
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.8rem;
}

.overtime-processing-table tbody tr:last-child th,
.overtime-processing-table tbody tr:last-child td {
  border-bottom: 0;
}

.overtime-processing-empty {
  padding: 28px !important;
  color: var(--muted);
  text-align: center !important;
}

.overtime-treatment-pill {
  display: inline-flex !important;
  width: max-content;
  padding: 6px 9px;
  border-radius: 999px;
  background: var(--green-soft);
  color: var(--green);
  font-size: 0.72rem;
  font-weight: 850;
  white-space: nowrap;
}

.overtime-treatment-pill.is-overtime_pay {
  background: var(--orange-soft);
  color: #a54f20;
}

.overtime-process-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: max-content;
  padding: 9px 12px;
  white-space: nowrap;
}

.overtime-process-button span,
.overtime-process-confirm-actions button[type="submit"] span {
  display: inline-grid !important;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  font-size: 0.72rem;
  line-height: 1;
}

.overtime-processing-approval-grid {
  display: grid;
  gap: 12px;
}

.overtime-history-loader {
  margin: 0;
  padding: 10px 14px 13px;
  border-top: 1px solid var(--line);
  background: #fafcfb;
  font-size: 0.72rem;
  text-align: center;
}

.overtime-process-confirm-card {
  width: min(650px, calc(100vw - 28px));
}

.overtime-process-confirm-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.overtime-process-confirm-summary > div {
  display: grid;
  gap: 4px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #f7faf8;
}

.overtime-process-confirm-summary span {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.overtime-process-confirm-summary strong {
  color: var(--green);
  line-height: 1.35;
}

.overtime-process-confirm-summary p {
  grid-column: 1 / -1;
  margin: 2px 0 0;
  padding: 13px;
  border-left: 3px solid var(--orange);
  border-radius: 0 9px 9px 0;
  background: var(--orange-soft);
  color: #554238;
  line-height: 1.55;
}

.overtime-process-pay-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 4px 0 12px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fafcfb;
}

.overtime-process-pay-fields[hidden] {
  display: none !important;
}

.overtime-process-confirm-actions {
  justify-content: flex-end;
}

.overtime-process-confirm-actions button[type="submit"] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

@media (max-width: 760px) {
  .breathe-dashboard-footer,
  .overtime-processing-page-heading,
  .overtime-processing-section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .overtime-stats-text-link {
    margin-left: 0;
  }

  .overtime-processing-page {
    width: min(100% - 24px, 1500px);
    padding-top: 24px;
  }

  .overtime-process-confirm-summary,
  .overtime-process-pay-fields {
    grid-template-columns: 1fr;
  }

  .overtime-process-confirm-summary p {
    grid-column: auto;
  }
}

/* OnRent Events people without a linked OPSYS account remain visible but subtle. */
.current-rms-only-name {
  font-style: italic;
}


/* =========================================================
   OPSYS v1.3.7 — quick mobile navigation and dashboard polish
   ========================================================= */

.opsys-mobile-menu-button,
.opsys-mobile-menu {
  display: none;
}

@media (max-width: 700px) {
  .opsys-header-top,
  .opsys-header-bottom {
    width: calc(100% - 24px);
  }

  .opsys-header-top {
    min-height: 54px;
    padding: 7px 0;
  }

  .opsys-personal-nav,
  .opsys-header-bottom {
    display: none;
  }

  .opsys-personal-area {
    gap: 8px;
  }

  .opsys-mobile-menu-button {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 8px;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
  }

  .opsys-mobile-menu-button:hover,
  .opsys-mobile-menu-button:focus-visible,
  .hub-header.is-mobile-nav-open .opsys-mobile-menu-button {
    background: rgba(255, 255, 255, .15);
  }

  .opsys-mobile-menu-icon,
  .opsys-mobile-menu-icon::before,
  .opsys-mobile-menu-icon::after {
    display: block;
    width: 14px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
  }

  .opsys-mobile-menu-icon {
    position: relative;
  }

  .opsys-mobile-menu-icon::before,
  .opsys-mobile-menu-icon::after {
    content: "";
    position: absolute;
    left: 0;
  }

  .opsys-mobile-menu-icon::before {
    top: -5px;
  }

  .opsys-mobile-menu-icon::after {
    top: 5px;
  }

  .hub-header.is-mobile-nav-open
  .opsys-mobile-menu-icon {
    background: transparent;
  }

  .hub-header.is-mobile-nav-open
  .opsys-mobile-menu-icon::before {
    top: 0;
    transform: rotate(45deg);
  }

  .hub-header.is-mobile-nav-open
  .opsys-mobile-menu-icon::after {
    top: 0;
    transform: rotate(-45deg);
  }

  .opsys-mobile-menu[hidden] {
    display: none !important;
  }

  .opsys-mobile-menu {
    display: block;
    border-top: 2px solid var(--opsys-orange);
    background: rgba(5, 42, 29, .98);
    box-shadow: 0 14px 26px rgba(6, 46, 32, .18);
  }

  .opsys-mobile-menu-inner {
    width: calc(100% - 24px);
    margin: 0 auto;
    padding: 10px 0 14px;
  }

  .opsys-mobile-navigation,
  .opsys-mobile-nav-section {
    display: grid;
    width: 100%;
    gap: 4px;
    overflow: visible;
  }

  .opsys-mobile-navigation {
    gap: 12px;
  }

  .opsys-mobile-nav-label {
    padding: 2px 10px 3px;
    color: rgba(255, 255, 255, .56);
    font-size: .62rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .opsys-mobile-navigation
  .hub-nav-link {
    display: flex;
    width: 100%;
    min-height: 42px;
    justify-content: space-between;
    padding: 10px 11px !important;
    border-radius: 8px;
    font-size: .84rem;
  }

  .opsys-mobile-navigation
  .hub-nav-link::after {
    display: none;
  }

  .opsys-mobile-navigation
  .hub-nav-link.is-active {
    background: rgba(255, 255, 255, .12);
    box-shadow: inset 3px 0 0 var(--opsys-orange);
  }

  .opsys-mobile-logout {
    margin-top: 2px;
    border: 1px solid rgba(255, 255, 255, .12) !important;
  }

  /* The :has() desktop layout rules sit later in the stylesheet.
     Reassert one clean column for all mobile dashboard states. */
  .dashboard-overview,
  .dashboard-overview:has(
    #overtimePanel[hidden]
  ),
  .dashboard-overview:has(
    #overtimePanel:not([hidden])
  ) {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-overview > .panel {
    width: 100%;
    min-width: 0;
    grid-column: auto;
  }

  .breathe-dashboard-summary {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* v1.3.8 dashboard and broadcast timing fixes */
.broadcast-time-note{margin:-6px 0 4px;font-size:.86rem}

/* =========================================================
   OPSYS v1.3.9 — colours, people pickers and header clarity
   ========================================================= */

/* The full WOLF OPSYS logo is now the only brand mark in the header. */
.opsys-header-top {
  min-height: 62px;
  padding-top: 8px;
  padding-bottom: 8px;
}

.opsys-brand > img {
  width: 228px;
  max-height: 34px;
  object-fit: contain;
  object-position: left center;
}

.opsys-header-bottom {
  justify-content: space-between;
  gap: 22px;
}

.opsys-tagline {
  flex: 0 0 auto;
  color: rgba(255, 255, 255, .72);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .045em;
  white-space: nowrap;
}

.opsys-operational-nav {
  width: auto;
  flex: 1 1 auto;
}

/* Shared, searchable multi-person picker treatment. */
.person-picker-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 7px;
}

.person-picker-heading > label {
  margin: 0;
}

.person-picker-search-link {
  width: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--green);
  font-size: .78rem;
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.person-picker-search-link:hover,
.person-picker-search-link:focus-visible {
  color: var(--orange-dark);
  filter: none;
}

.person-picker-search-field {
  display: block;
  margin-bottom: 8px;
}

.person-picker-search-field[hidden] {
  display: none !important;
}

.person-picker-selection-count {
  min-height: 1.3em;
  margin: 0 0 7px;
  color: var(--muted);
  font-size: .74rem;
  font-weight: 700;
}

.person-picker-group {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.person-picker-group[hidden] {
  display: none !important;
}

.person-picker-group-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 2px 4px;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.person-picker-group-heading span {
  min-width: 20px;
  padding: 2px 6px;
  border-radius: 999px;
  background: #eef2ef;
  color: var(--green);
  text-align: center;
  letter-spacing: 0;
}

.person-picker-group-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.person-picker-divider {
  height: 1px;
  margin: 3px 0;
  background: var(--line);
}

.person-picker-divider[hidden] {
  display: none !important;
}

.person-picker-empty {
  margin: 0;
  padding: 18px;
  color: var(--muted);
  text-align: center;
}

.manual-activity-user-picker {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}

.broadcast-user-picker > #broadcastUsers {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}

.broadcast-user-picker .person-picker-group-options {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* "Now" remains obvious without removing the scheduling control. */
.broadcast-publish-at-field {
  transition: opacity .18s ease;
}

.broadcast-publish-at-field.is-disabled {
  opacity: .46;
}

.broadcast-publish-at-field.is-disabled input {
  cursor: not-allowed;
  background: #eef0ef;
  color: #7a817d;
}

@media (max-width: 900px) {
  .opsys-brand > img {
    width: 190px;
    max-height: 30px;
  }
}

@media (max-width: 700px) {
  .opsys-brand > img {
    width: 150px;
    max-height: 25px;
  }

  .person-picker-group-options,
  .broadcast-user-picker .person-picker-group-options {
    grid-template-columns: 1fr;
  }
}

/* OPSYS v1.3.9.4 Broadcast announcement visual refinement */
.opsys-broadcast-overlay {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 4vw, 42px);
}

.opsys-broadcast-overlay[hidden] {
  display: none !important;
}

.opsys-broadcast-backdrop {
  background:
    linear-gradient(135deg, rgba(7, 35, 25, 0.82), rgba(17, 66, 45, 0.72));
  backdrop-filter: blur(9px);
}

.opsys-broadcast-card {
  position: relative;
  z-index: 2;
  left: auto;
  top: auto;
  transform: none;
  width: min(620px, calc(100vw - 32px));
  min-height: 0;
  max-height: calc(100vh - 32px);
  overflow: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: clamp(34px, 6vw, 58px);
  text-align: center;
  border: 1px solid rgba(20, 118, 60, 0.16);
  border-top: 5px solid var(--green);
  border-radius: 24px;
  background:
    radial-gradient(circle at 1px 1px, rgba(20, 118, 60, 0.055) 1px, transparent 1.25px) 0 0 / 18px 18px,
    linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
  box-shadow:
    0 34px 100px rgba(0, 0, 0, 0.38),
    0 2px 0 rgba(255, 255, 255, 0.85) inset;
  color: #173527;
}

.opsys-broadcast-card > * {
  position: relative;
  z-index: 1;
}

.opsys-broadcast-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 2px;
  padding: 8px 12px;
  border-radius: 999px;
  color: var(--orange-dark);
  background: var(--orange-soft);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.opsys-broadcast-kicker > span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 0 4px rgba(230, 109, 46, 0.14);
}

.opsys-broadcast-card h2 {
  max-width: 520px;
  margin: 0;
  color: var(--charcoal);
  font-size: clamp(1.25rem, 3vw, 2rem);
  line-height: 1.08;
  letter-spacing: -0.045em;
  outline: none;
}

.opsys-broadcast-card #opsysBroadcastBody {
  max-width: 510px;
  margin: 0;
  white-space: pre-wrap;
  color: #56645d;
  font-size: clamp(0.78rem, 1.55vw, 0.9rem);
  line-height: 1.58;
}

.opsys-broadcast-card #opsysBroadcastCounter {
  min-height: 1em;
  color: #7a867f;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.opsys-broadcast-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}

.opsys-broadcast-actions button {
  min-width: 116px;
  font-size: 0.82rem;
  padding: 9px 14px;
}

.opsys-broadcast-spinner {
  display: none !important;
}

.opsys-broadcast-card button[hidden] {
  display: none !important;
}

@media (max-width: 560px) {
  .opsys-broadcast-overlay {
    padding: 14px;
  }

  .opsys-broadcast-card {
    width: 100%;
    padding: 34px 24px;
    border-radius: 20px;
  }

  .opsys-broadcast-actions {
    width: 100%;
  }

  .opsys-broadcast-actions button {
    flex: 1 1 120px;
  }
}

/* v1.3.9.5 — notification badges belong to the action they describe */
.notification-action,
.notification-heading {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.notification-action .notification-count,
.notification-heading .notification-count {
  flex: 0 0 auto;
  margin-left: 0;
}

.notification-action .notification-count {
  box-shadow: 0 0 0 2px currentColor;
}

.secondary-button.notification-action .notification-count {
  box-shadow: 0 0 0 2px #fff;
}

/* v1.3.9.6 — compact, localised overtime attention badge */
.overtime-panel-actions {
  align-items: center;
}

.overtime-panel-actions > button {
  padding: 10px 15px;
  font-size: 0.94rem;
}

#openOvertimeApprovals.notification-action {
  position: relative;
  gap: 0;
  overflow: visible;
}

#openOvertimeApprovals .notification-count {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 18px;
  height: 18px;
  margin: 0;
  padding: 0 5px;
  border-radius: 999px;
  font-size: 0.62rem;
  line-height: 18px;
  box-shadow: 0 0 0 3px #fff;
}

@media (max-width: 560px) {
  .overtime-panel-actions > button {
    padding: 10px 9px;
    font-size: 0.86rem;
    white-space: nowrap;
  }
}


/* =========================================================
   Pencil Crew · v1.3.9.19
   ========================================================= */
.pencil-crew-card,
.manual-activity-list-card.is-pencil-crew {
  border-color: #b9bfc0;
  border-left-color: #71797b;
  background:
    repeating-linear-gradient(
      -45deg,
      #f3f4f4 0,
      #f3f4f4 10px,
      #e4e7e7 10px,
      #e4e7e7 20px
    );
  box-shadow: 0 14px 34px rgba(61, 69, 70, .1);
}

.pencil-crew-card::before {
  background: #71797b;
}

.pencil-crew-card .status-pill,
.manual-activity-type-pill.is-pencil-crew {
  color: #3e4546;
  background: rgba(255, 255, 255, .78);
  border-color: #aeb5b6;
}

.pencil-crew-card .job-card-role,
.pencil-crew-card .connection-label,
.pencil-crew-card .job-summary-item {
  color: #454c4d;
  background: rgba(255, 255, 255, .72);
  border-color: #c4c9ca;
}

.manual-activity-person.is-pencilled,
.pencil-crew-role {
  color: #404748;
  font-family: "Segoe Print", "Bradley Hand", "Chalkboard SE", cursive;
  font-weight: 700;
}

.manual-activity-person.is-pencilled {
  background: rgba(255, 255, 255, .78);
  border: 1px solid #c2c8c9;
}

.pencil-crew-form-note {
  padding: 12px 14px;
  border: 1px solid #bbc1c2;
  border-radius: 12px;
  background:
    repeating-linear-gradient(
      -45deg,
      #f6f7f7 0,
      #f6f7f7 9px,
      #e7e9e9 9px,
      #e7e9e9 18px
    );
  color: #454c4d;
}

.pencil-crew-form-note p {
  margin: 4px 0 0;
}

.pencil-confirm-button {
  background: var(--green, #184b38);
}

.pencil-release-button {
  border-color: #aeb5b6;
  color: #4a5152;
  background: #f1f3f3;
}

.calendar-event-pill.is-pencil {
  color: #454c4d;
  border-color: #aeb5b6;
  background:
    repeating-linear-gradient(
      -45deg,
      #f5f6f6 0,
      #f5f6f6 6px,
      #dfe2e2 6px,
      #dfe2e2 12px
    );
  font-family: "Segoe Print", "Bradley Hand", "Chalkboard SE", cursive;
}

.calendar-event-pill.is-pencil strong {
  color: #303637;
}

.calendar-tooltip-entry.is-pencil {
  border-left-color: #71797b;
}

.manual-activity-role {
  color: #245f9f;
  font-size: .84rem;
  font-weight: 800;
}

.calendar-detail-card.is-pencil {
  border-color: #aeb5b6;
  background:
    repeating-linear-gradient(
      -45deg,
      #f7f8f8 0,
      #f7f8f8 10px,
      #e8eaea 10px,
      #e8eaea 20px
    );
}

/* Keep dashboard cards in the same grid row exactly equal in height. */
.dashboard-overview {
  align-items: stretch;
}

.dashboard-overview > .panel {
  align-self: stretch;
}

/* =========================================================
   ON-SITE KIT ISSUE REPORTING · V1.3.10
   ========================================================= */
.kit-issue-dashboard-card {
  width: 100%;
  min-height: 0;
  display: none;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  border: 0;
  text-align: left;
  color: #fff;
  background: linear-gradient(135deg, #173f31, #184b38);
  box-shadow: 0 14px 34px rgba(23,63,49,.17);
  cursor: pointer;
}

.kit-issue-dashboard-card:hover,
.kit-issue-dashboard-card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(23,63,49,.23);
}

.kit-issue-dashboard-card .eyebrow {
  display: block;
  margin-bottom: 4px;
  color: rgba(255,255,255,.72);
}

.kit-issue-dashboard-card strong {
  display: block;
  font-size: 1.35rem;
  line-height: 1.08;
}

.kit-issue-dashboard-card small {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.72);
  font-size: .82rem;
  font-weight: 700;
}

.kit-issue-card-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: rgba(255,255,255,.12);
}

.kit-issue-card-icon svg,
.kit-camera-button svg,
.kit-photo-button svg {
  width: 26px;
  height: 26px;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.kit-issue-card-arrow {
  font-size: 1.7rem;
  color: rgba(255,255,255,.78);
}

.dashboard-future-card {
  min-height: 0;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  background: linear-gradient(145deg, #ffffff, #f5f7f6);
  border: 1px solid rgba(24,75,56,.09);
}

.dashboard-future-card strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 1.28rem;
}

.dashboard-future-card small {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.45;
}

.dashboard-future-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: var(--green-soft);
  color: var(--green);
}

.dashboard-future-card.is-freelancer .dashboard-future-icon {
  background: #eef2f7;
  color: #425a77;
}

.dashboard-future-icon svg {
  width: 25px;
  height: 25px;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.kit-issue-modal {
  z-index: 1200;
  align-items: center;
  justify-content: center;
  padding: 14px;
}

.kit-issue-modal-card {
  position: relative;
  width: min(560px, calc(100vw - 28px));
  max-height: calc(100dvh - 28px);
  overflow: auto;
  border-radius: 22px;
}

.kit-issue-heading {
  margin-bottom: 16px;
}

#kitIssueForm {
  display: grid;
  gap: 15px;
}

#kitIssueForm > label,
.kit-issue-job-field {
  display: grid;
  gap: 7px;
  font-weight: 850;
}

.kit-issue-input-row {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 8px;
}

.kit-issue-input-row.has-scanner {
  grid-template-columns: minmax(0,1fr) 52px;
}

.kit-issue-input-row input {
  min-height: 52px;
  font-size: 1.2rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.kit-camera-button {
  min-width: 52px;
  min-height: 52px;
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 12px;
  background: var(--orange);
  color: #fff;
}

.kit-asset-match {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 38px;
  margin-top: -7px;
  padding: 8px 11px;
  border-radius: 10px;
  background: #f4f6f5;
  color: var(--muted);
  font-size: .84rem;
  font-weight: 750;
}

.kit-asset-match-dot {
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #a7b0ab;
}

.kit-asset-match.is-looking .kit-asset-match-dot {
  background: var(--orange);
  animation: kitPulse 1s infinite alternate;
}

.kit-asset-match.is-found {
  background: var(--green-soft);
  color: var(--green);
}

.kit-asset-match.is-found .kit-asset-match-dot {
  background: var(--green);
}

.kit-asset-match.is-missing,
.kit-asset-match.is-error {
  background: #fff5e9;
  color: #8b4c14;
}

.kit-asset-match.is-missing .kit-asset-match-dot,
.kit-asset-match.is-error .kit-asset-match-dot {
  background: #df8d2f;
}

@keyframes kitPulse {
  to { opacity: .35; transform: scale(.75); }
}

.kit-auto-job,
.kit-job-picker {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f4f6f5;
  border: 1px solid rgba(24,75,56,.08);
}

.kit-auto-job-copy {
  min-width: 0;
  flex: 1 1 auto;
  display: grid;
  gap: 2px;
}

.kit-auto-job-copy strong,
.kit-auto-job-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kit-auto-job-copy strong {
  color: var(--ink);
  font-size: .92rem;
}

.kit-auto-job-copy small {
  color: var(--muted);
  font-size: .76rem;
  font-weight: 700;
}

.kit-auto-job.is-linked {
  background: var(--green-soft);
  border-color: rgba(24,75,56,.14);
}

.kit-job-change {
  min-height: 34px;
  min-width: 0;
  padding: 7px 10px;
  border-radius: 9px;
  background: #fff;
  color: var(--green);
  border: 1px solid rgba(24,75,56,.15);
  font-size: .78rem;
  font-weight: 900;
}

.kit-job-picker[hidden],
.kit-auto-job[hidden] {
  display: none;
}

.kit-job-picker select {
  min-width: 0;
  flex: 1 1 auto;
}

.kit-issue-photo-row {
  display: flex;
  align-items: stretch;
  gap: 10px;
}

.kit-photo-button {
  min-height: 78px;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 2px dashed rgba(24,75,56,.24);
  border-radius: 14px;
  background: var(--green-soft);
  color: var(--green);
  font-weight: 900;
  cursor: pointer;
}

.kit-photo-preview {
  position: relative;
  flex: 0 0 86px;
  width: 86px;
  height: 78px;
  overflow: hidden;
  border-radius: 14px;
  background: #e6e9e7;
}

.kit-photo-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kit-photo-preview button {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 26px;
  height: 26px;
  min-width: 0;
  padding: 0;
  border-radius: 50%;
  background: rgba(20,23,25,.78);
  color: #fff;
}

.kit-equipment-state {
  margin: 0;
  padding: 0;
  border: 0;
}

.kit-equipment-state legend {
  margin-bottom: 7px;
  font-weight: 850;
}

.kit-equipment-state .segmented-control span {
  min-height: 48px;
  display: grid;
  place-items: center;
}

.kit-issue-submit {
  min-height: 54px;
  width: 100%;
  font-size: 1rem;
}

.kit-issue-message {
  min-height: 20px;
  margin: 0;
}

.kit-issue-thanks {
  min-height: 390px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 30px;
  text-align: center;
  background: #fff;
}

.kit-issue-modal.is-complete .kit-issue-modal-card {
  overflow: hidden;
}

.kit-issue-modal.is-complete .kit-issue-heading,
.kit-issue-modal.is-complete #kitIssueForm,
.kit-issue-modal.is-complete #kitScannerPanel {
  display: none !important;
}

.kit-issue-modal.is-complete .kit-issue-thanks {
  position: absolute;
  z-index: 5;
  inset: 0;
  min-height: 100%;
}

.kit-issue-thanks[hidden] {
  display: none;
}

.kit-thanks-tick {
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 2.6rem;
  font-weight: 900;
  box-shadow: 0 18px 34px rgba(24,75,56,.24);
}

.kit-issue-thanks h2 {
  margin: 8px 0 0;
  font-size: 2rem;
}

.kit-issue-thanks p {
  margin: 0 0 12px;
  color: var(--muted);
}

.kit-scanner-panel {
  display: grid;
  gap: 15px;
}

.kit-scanner-panel[hidden] {
  display: none;
}

.kit-scanner-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.kit-scanner-frame {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 18px;
  background: #0d1511;
}

.kit-scanner-frame video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kit-scanner-frame::after {
  content: "";
  position: absolute;
  inset: 18% 8%;
  border: 2px solid rgba(255,255,255,.9);
  border-radius: 16px;
  box-shadow: 0 0 0 999px rgba(0,0,0,.34);
}

.kit-scanner-line {
  position: absolute;
  z-index: 2;
  left: 13%;
  right: 13%;
  top: 50%;
  height: 2px;
  background: var(--orange);
  box-shadow: 0 0 14px rgba(230,109,46,.9);
  animation: kitScanLine 1.8s ease-in-out infinite alternate;
}

@keyframes kitScanLine {
  from { transform: translateY(-105px); }
  to { transform: translateY(105px); }
}

.kit-scanner-status {
  margin: 0;
  color: var(--muted);
  text-align: center;
  font-weight: 800;
}

@media (max-width: 700px) {
  .kit-issue-modal {
    align-items: stretch;
    padding: 0;
  }

  .kit-issue-modal-card {
    width: 100vw;
    max-height: 100dvh;
    min-height: 100dvh;
    border-radius: 0;
    padding: 20px 18px calc(20px + env(safe-area-inset-bottom));
  }

  .kit-issue-modal.is-complete .kit-issue-modal-card {
    padding: 0;
  }

  .kit-issue-modal.is-complete .kit-issue-thanks {
    min-height: 100dvh;
    padding: max(28px, env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom));
    background: linear-gradient(160deg, #f7fbf8 0%, #ffffff 58%, #edf6f0 100%);
  }

  .kit-issue-modal.is-complete .kit-thanks-tick {
    width: 96px;
    height: 96px;
    font-size: 3rem;
  }

  .kit-issue-modal.is-complete .kit-issue-thanks h2 {
    font-size: 2.35rem;
  }

  .kit-issue-modal.is-complete .kit-issue-thanks button {
    width: min(100%, 320px);
    min-height: 54px;
  }

  .kit-issue-dashboard-card {
    min-height: 126px;
    display: grid;
  }

  .dashboard-future-card {
    display: none;
  }

  .kit-scanner-frame {
    max-height: calc(100dvh - 180px);
  }
}

.kit-review-main {
  display: grid;
  gap: 22px;
}

.kit-review-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
}

.kit-review-toolbar p {
  margin: 0;
  white-space: nowrap;
}

.kit-review-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.kit-review-filters button {
  padding: 9px 12px;
  background: #eef3f0;
  color: var(--green);
}

.kit-review-filters button.is-active {
  background: var(--green);
  color: #fff;
}

.kit-review-list {
  display: grid;
  gap: 16px;
}

.kit-review-card {
  display: grid;
  gap: 15px;
}

.kit-review-card-topline,
.kit-review-heading-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.kit-review-card-topline > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.kit-review-card-topline time {
  color: var(--muted);
  font-size: .82rem;
  font-weight: 750;
}

.kit-review-status,
.kit-review-state {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #eef1ef;
  font-size: .72rem;
  font-weight: 900;
}

.kit-review-status.is-new {
  background: #fce9df;
  color: var(--orange-dark);
}

.kit-review-status.is-under_review {
  background: #e9eef8;
  color: #34558a;
}

.kit-review-status.is-action_required {
  background: #fff1d5;
  color: #8d5b00;
}

.kit-review-status.is-resolved {
  background: var(--green-soft);
  color: var(--green);
}

.kit-review-heading-row h2 {
  margin: 2px 0 0;
}

.kit-review-description {
  margin: 0;
  padding: 14px 16px;
  border-left: 4px solid var(--orange);
  border-radius: 0 12px 12px 0;
  background: #faf5f1;
  font-size: 1.05rem;
  font-weight: 700;
}

.kit-review-meta {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin: 0;
}

.kit-review-meta div {
  padding: 10px 12px;
  border-radius: 10px;
  background: #f5f7f6;
}

.kit-review-meta dt {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.kit-review-meta dd {
  margin: 3px 0 0;
  font-weight: 800;
}

.kit-review-photos {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(150px,1fr));
  gap: 10px;
}

.kit-review-photos[hidden] {
  display: none;
}

.kit-review-photos a {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 12px;
  background: #e8ebe9;
}

.kit-review-photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kit-review-form {
  display: grid;
  grid-template-columns: minmax(180px,.35fr) minmax(0,1fr);
  gap: 12px;
  padding-top: 15px;
  border-top: 1px solid var(--line);
}

.kit-review-form label {
  display: grid;
  gap: 6px;
  font-weight: 800;
}

.kit-review-form .is-wide {
  grid-column: 1 / -1;
}

.kit-review-form button[type="submit"] {
  justify-self: start;
}

@media (max-width: 700px) {
  .kit-review-toolbar,
  .kit-review-card-topline,
  .kit-review-heading-row {
    align-items: stretch;
    flex-direction: column;
  }

  .kit-review-toolbar p {
    white-space: normal;
  }

  .kit-review-filters {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
  }

  .kit-review-filters button {
    flex: 0 0 auto;
  }

  .kit-review-meta,
  .kit-review-form {
    grid-template-columns: 1fr;
  }

  .kit-review-form .is-wide {
    grid-column: auto;
  }
}

/* =========================================================
   OPSYS v1.3.10.5 — kit issue card grid and fault reports
   ========================================================= */
.kit-review-main {
  width: min(1500px, calc(100% - 40px));
}

.kit-review-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1.25fr) minmax(190px, .55fr) minmax(0, 1.5fr) auto;
  align-items: end;
  gap: 14px;
}

.kit-review-search,
.kit-review-sort {
  display: grid;
  gap: 6px;
  color: var(--ink);
  font-size: .78rem;
  font-weight: 850;
}

.kit-review-search input,
.kit-review-sort select {
  min-height: 46px;
}

.kit-review-toolbar > p {
  align-self: center;
  justify-self: end;
}

.kit-review-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  align-items: stretch;
  gap: 18px;
}

.kit-review-card {
  min-height: 330px;
  display: grid;
  grid-template-rows: auto auto 1fr auto auto auto;
  gap: 13px;
  padding: 20px;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.kit-review-card:hover,
.kit-review-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(24, 75, 56, .32);
  box-shadow: 0 18px 38px rgba(17, 52, 38, .13);
  outline: none;
}

.kit-review-card-topline {
  align-items: center;
}

.kit-review-card-heading h2 {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: clamp(1.18rem, 2vw, 1.45rem);
  line-height: 1.08;
}

.kit-review-card-description {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: #34413b;
  font-size: .98rem;
  font-weight: 700;
  line-height: 1.48;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.kit-review-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.kit-review-card-tags span {
  padding: 6px 9px;
  border-radius: 999px;
  background: #f0f4f1;
  color: var(--green);
  font-size: .7rem;
  font-weight: 900;
}

.kit-review-card-meta {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 0;
}

.kit-review-card-meta div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.kit-review-card-meta dt {
  color: var(--muted);
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.kit-review-card-meta dd {
  overflow: hidden;
  margin: 0;
  color: var(--ink);
  font-size: .84rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kit-review-card-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  padding-top: 13px;
  border-top: 1px solid var(--line);
}

.kit-review-card-footer small {
  color: var(--muted);
  font-size: .69rem;
  font-weight: 700;
}

.kit-review-card-footer strong {
  flex: 0 0 auto;
  color: var(--green);
  font-size: .78rem;
  font-weight: 900;
}

.kit-review-empty {
  grid-column: 1 / -1;
}

.kit-review-open {
  overflow: hidden;
}

.kit-review-modal {
  position: fixed;
  inset: 0;
  z-index: 10020;
}

.kit-review-modal[hidden] {
  display: none;
}

.kit-review-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 28, 20, .76);
  backdrop-filter: blur(7px);
}

.kit-review-dialog {
  position: absolute;
  inset: clamp(12px, 2.5vw, 34px);
  width: min(1180px, calc(100% - 24px));
  margin: auto;
  overflow: auto;
  border-radius: 22px;
  background:
    radial-gradient(circle at 18px 18px, rgba(24,75,56,.055) 2px, transparent 2.4px) 0 0 / 30px 30px,
    #f4f7f5;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .38);
}

.kit-review-dialog-loading {
  min-height: 420px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 15px;
  color: var(--green);
}

.kit-review-dialog-content[hidden],
.kit-review-dialog-loading[hidden] {
  display: none;
}

.kit-review-dialog-header {
  position: sticky;
  top: 0;
  z-index: 4;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 22px clamp(22px, 4vw, 48px) 20px;
  border-bottom: 4px solid var(--orange);
  background: linear-gradient(118deg, #073d2b, #184b38);
  color: #fff;
}

.kit-review-dialog-header .eyebrow {
  margin-bottom: 5px;
  color: #ff9b5d;
}

.kit-review-dialog-header h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.65rem, 3vw, 2.45rem);
}

.kit-review-dialog-header .muted {
  margin: 5px 0 0;
  color: rgba(255,255,255,.75);
}

.kit-review-dialog-close {
  width: 42px;
  height: 42px;
  min-width: 42px;
  padding: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.13);
  color: #fff;
  font-size: 1.8rem;
}

.kit-review-detail-body {
  display: grid;
  gap: 18px;
  padding: clamp(20px, 4vw, 42px);
}

.kit-review-detail-summary,
.kit-review-detail-issue,
.kit-review-detail-photos,
.kit-review-detail-form,
.kit-review-email-panel {
  border: 1px solid #dce5df;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(23, 56, 42, .055);
}

.kit-review-detail-summary {
  padding: 20px;
}

.kit-review-detail-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 15px;
}

.kit-review-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.kit-review-detail-grid div {
  min-width: 0;
  padding: 12px 13px;
  border-radius: 11px;
  background: #f4f7f5;
}

.kit-review-detail-grid dt {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.kit-review-detail-grid dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: .9rem;
  font-weight: 800;
}

.kit-review-contact-warning {
  margin-top: 14px;
  padding: 14px 16px;
  border-left: 4px solid var(--green);
  border-radius: 0 12px 12px 0;
  background: var(--green-soft);
}

.kit-review-contact-warning strong {
  color: var(--green);
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.kit-review-contact-warning p {
  margin: 5px 0 0;
  color: #283730;
  line-height: 1.55;
}

.kit-review-detail-issue,
.kit-review-detail-photos {
  padding: 20px;
}

.kit-review-detail-issue > p:last-child {
  margin: 8px 0 0;
  padding: 16px 18px;
  border-left: 4px solid var(--orange);
  border-radius: 0 12px 12px 0;
  background: #faf5f1;
  color: var(--ink);
  font-size: 1.05rem;
  font-weight: 750;
  line-height: 1.58;
}

.kit-review-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
  margin-top: 10px;
}

.kit-review-photo-grid a {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 12px;
  background: #e8ebe9;
}

.kit-review-photo-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kit-review-detail-form,
.kit-review-email-panel {
  padding: 20px;
}

.kit-review-form-grid {
  display: grid;
  grid-template-columns: minmax(210px, .45fr) minmax(280px, 1fr);
  gap: 14px;
}

.kit-review-form-grid > label {
  display: grid;
  gap: 7px;
  font-weight: 850;
}

.kit-review-form-grid .is-wide {
  grid-column: 1 / -1;
}

.kit-review-keep-photos {
  align-self: end;
  min-height: 48px;
  padding: 9px 12px;
  border: 1px solid #dce5df;
  border-radius: 11px;
  background: #f6f8f7;
}

.kit-review-save-row,
.kit-review-email-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
}

.kit-review-save-row .form-message,
.kit-review-email-actions .form-message {
  margin: 0;
}

.kit-review-email-heading h3 {
  margin: 4px 0 5px;
  color: var(--ink);
  font-size: 1.35rem;
}

.kit-review-email-heading p:last-child {
  margin: 0;
}

.kit-recipient-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  margin-top: 18px;
}

.kit-recipient-toolbar label {
  flex: 1 1 360px;
  display: grid;
  gap: 6px;
  color: var(--ink);
  font-size: .78rem;
  font-weight: 850;
}

.link-button-dark {
  width: auto;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--green);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.kit-recipient-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.kit-recipient-group {
  min-width: 0;
  padding: 14px;
  border: 1px solid #dce5df;
  border-radius: 13px;
  background: #f7f9f8;
}

.kit-recipient-group h4 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 10px;
  color: var(--green);
  font-size: .84rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.kit-recipient-group h4 span {
  display: grid;
  place-items: center;
  min-width: 25px;
  height: 25px;
  padding: 0 7px;
  border-radius: 999px;
  background: #e7efe9;
  font-size: .72rem;
}

.kit-recipient-group > div {
  max-height: 292px;
  overflow: auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(142px, 1fr));
  align-content: start;
  gap: 7px;
  padding-right: 3px;
}

.kit-recipient-option {
  position: relative;
  display: block;
  min-width: 0;
  min-height: 57px;
  padding: 9px 30px 9px 10px;
  border: 1px solid #e0e7e3;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.kit-recipient-option:hover {
  border-color: rgba(24, 75, 56, .28);
  transform: translateY(-1px);
}

.kit-recipient-option:focus-within {
  outline: 3px solid rgba(239, 123, 50, .22);
  outline-offset: 1px;
}

.kit-recipient-option::after {
  content: "";
  position: absolute;
  top: 9px;
  right: 9px;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border: 1.5px solid #b8c7bf;
  border-radius: 5px;
  background: #fff;
  color: #fff;
  font-size: .72rem;
  font-weight: 950;
  line-height: 1;
}

.kit-recipient-option:has(input:checked) {
  border-color: rgba(24, 75, 56, .38);
  background: var(--green-soft);
  box-shadow: inset 0 0 0 1px rgba(24, 75, 56, .08);
}

.kit-recipient-option:has(input:checked)::after {
  content: "✓";
  border-color: var(--green);
  background: var(--green);
}

.kit-recipient-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.kit-recipient-option span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.kit-recipient-option strong,
.kit-recipient-option small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kit-recipient-option strong {
  color: var(--ink);
  font-size: .86rem;
}

.kit-recipient-option small {
  color: var(--muted);
  font-size: .72rem;
}

.kit-email-notes-field {
  display: grid;
  gap: 7px;
  margin-top: 17px;
  color: var(--ink);
  font-weight: 850;
}

@media (max-width: 1050px) {
  .kit-review-toolbar {
    grid-template-columns: minmax(240px, 1fr) minmax(180px, .55fr);
  }

  .kit-review-filters,
  .kit-review-toolbar > p {
    grid-column: 1 / -1;
  }

  .kit-review-toolbar > p {
    justify-self: start;
  }
}

@media (max-width: 760px) {
  .kit-review-main {
    width: min(100% - 22px, 1500px);
  }

  .kit-review-toolbar,
  .kit-review-form-grid,
  .kit-recipient-groups,
  .kit-review-detail-grid {
    grid-template-columns: 1fr;
  }

  .kit-review-search,
  .kit-review-sort,
  .kit-review-filters,
  .kit-review-toolbar > p,
  .kit-review-form-grid .is-wide {
    grid-column: auto;
  }

  .kit-review-grid {
    grid-template-columns: 1fr;
  }

  .kit-review-card {
    min-height: 0;
  }

  .kit-review-dialog {
    inset: 0;
    width: 100%;
    border-radius: 0;
  }

  .kit-review-dialog-header {
    padding: 17px 18px;
  }

  .kit-review-detail-body {
    padding: 14px;
  }

  .kit-recipient-toolbar,
  .kit-review-save-row,
  .kit-review-email-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .kit-review-email-actions button,
  .kit-review-save-row button {
    width: 100%;
  }
}

/* =========================================================
   OPSYS CHAT · V1.3.11
   ========================================================= */
.sr-only {
  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;
}

/* Dashboard quick-start card */
.dashboard-chat-card {
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: 16px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(243,248,245,.98));
}

.dashboard-chat-heading {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}

.dashboard-chat-heading .dashboard-future-icon {
  align-self: start;
}

.dashboard-chat-unread {
  align-self: start;
  margin-top: 3px;
}

.dashboard-chat-quick {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.dashboard-chat-quick[hidden],
.dashboard-future-placeholder[hidden] {
  display: none !important;
}

.dashboard-chat-tabs,
.opsys-chat-compose-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  padding: 4px;
  border: 1px solid #dce5e0;
  border-radius: 9px;
  background: #eef4f0;
}

.dashboard-chat-tabs button,
.opsys-chat-compose-tabs button {
  padding: 8px 10px;
  border-radius: 7px;
  background: transparent;
  color: var(--green);
  font-size: .78rem;
}

.dashboard-chat-tabs button.is-active,
.opsys-chat-compose-tabs button.is-active {
  background: #fff;
  color: var(--green);
  box-shadow: 0 4px 12px rgba(24,75,56,.09);
}

.dashboard-chat-form {
  display: grid;
  gap: 10px;
  margin: 0;
}

.dashboard-chat-form label {
  gap: 5px;
  color: #425048;
  font-size: .72rem;
}

.dashboard-chat-form input,
.dashboard-chat-form textarea {
  padding: 9px 10px;
  border-color: #d5dfda;
  border-radius: 8px;
  resize: none;
  font-size: .82rem;
}

.dashboard-chat-recipient-field {
  position: relative;
  min-width: 0;
}

.dashboard-chat-selected {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
}

.dashboard-chat-selected:empty {
  display: none;
}

.dashboard-chat-selected > button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 4px 7px 4px 4px;
  border: 1px solid #cddbd4;
  border-radius: 999px;
  background: #edf5f0;
  color: var(--green);
  font-size: .72rem;
}

.dashboard-chat-selected i {
  font-style: normal;
  opacity: .7;
}

.dashboard-chat-avatar,
.opsys-chat-avatar,
.opsys-chat-message-avatar,
.opsys-chat-recipient-avatar {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 50%;
  background: linear-gradient(145deg, #e5f0e9, #f7faf8);
  color: var(--green);
  font-weight: 900;
  text-transform: uppercase;
}

.dashboard-chat-avatar {
  width: 24px;
  height: 24px;
  font-size: .58rem;
}

.dashboard-chat-avatar img,
.opsys-chat-avatar img,
.opsys-chat-message-avatar img,
.opsys-chat-recipient-avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dashboard-chat-results,
.opsys-chat-recipient-results {
  position: absolute;
  z-index: 35;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  display: grid;
  max-height: 245px;
  overflow: auto;
  padding: 6px;
  border: 1px solid #d3ded8;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(22,56,43,.16);
}

.dashboard-chat-results[hidden],
.opsys-chat-recipient-results[hidden] {
  display: none !important;
}

.dashboard-chat-results > button,
.opsys-chat-recipient-results > button {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 8px;
  border-radius: 7px;
  background: transparent;
  color: var(--ink);
  text-align: left;
}

.dashboard-chat-results > button:hover,
.opsys-chat-recipient-results > button:hover {
  background: var(--green-soft);
}

.dashboard-chat-results strong,
.dashboard-chat-results small,
.opsys-chat-recipient-results strong,
.opsys-chat-recipient-results small {
  display: block;
}

.dashboard-chat-results small,
.opsys-chat-recipient-results small {
  margin-top: 1px;
  color: var(--muted);
  font-size: .67rem;
}

.dashboard-chat-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.dashboard-chat-actions .form-message {
  flex: 1;
  min-height: 0;
  font-size: .72rem;
}

.dashboard-chat-actions button {
  min-width: 76px;
  padding: 9px 12px;
}

.dashboard-future-placeholder {
  padding: 12px 0 0 64px;
  color: var(--muted);
  font-weight: 700;
}

/* Global desktop chat */
.opsys-chat-launcher {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1390;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  padding: 0;
  border: 2px solid rgba(255,255,255,.72);
  border-radius: 50%;
  background: linear-gradient(135deg, #123f2f, #1d5b43);
  box-shadow: 0 18px 42px rgba(13,48,35,.28);
  color: #fff;
}

.opsys-chat-launcher svg {
  width: 27px;
  height: 27px;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.opsys-chat-launcher-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  display: grid;
  place-items: center;
  min-width: 23px;
  height: 23px;
  padding: 0 6px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #c73535;
  color: #fff;
  font-size: .68rem;
  font-weight: 900;
}

.opsys-chat-launcher-badge[hidden] {
  display: none !important;
}

.opsys-chat-panel {
  position: fixed;
  right: 24px;
  bottom: 94px;
  z-index: 1400;
  width: min(410px, calc(100vw - 32px));
  height: min(680px, calc(100dvh - 118px));
  overflow: hidden;
  border: 1px solid rgba(16,57,42,.14);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(10,44,32,.27);
}

.opsys-chat-panel[hidden] {
  display: none !important;
}

.opsys-chat-panel-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 88px;
  padding: 18px 20px 16px;
  background: linear-gradient(105deg, #103e2d 0%, #184f39 54%, #267054 100%);
  color: #fff;
}

.opsys-chat-panel-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--orange);
}

.opsys-chat-panel-header h2,
.opsys-chat-panel-header p {
  margin: 0;
}

.opsys-chat-panel-header h2 {
  font-size: 1.36rem;
  letter-spacing: -.025em;
}

.opsys-chat-kicker {
  display: block;
  margin-bottom: 3px;
  color: rgba(255,255,255,.68);
  font-size: .63rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.opsys-chat-close,
.opsys-chat-back {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  color: inherit;
  font-size: 1.35rem;
}

.opsys-chat-view {
  height: calc(100% - 88px);
  min-height: 0;
  background: linear-gradient(180deg, #fbfcfb, #f4f7f5);
}

.opsys-chat-view.is-active {
  display: flex;
  flex-direction: column;
}

.opsys-chat-view[hidden] {
  display: none !important;
}

.opsys-chat-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 7px;
  padding: 12px;
  border-bottom: 1px solid #e2e8e4;
  background: rgba(255,255,255,.92);
}

.opsys-chat-search input {
  min-height: 39px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: .78rem;
}

.opsys-chat-new-button,
.opsys-chat-group-button {
  min-height: 39px;
  padding: 8px 10px;
  font-size: .72rem;
  white-space: nowrap;
}

.opsys-chat-conversation-list {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 5px 8px 12px;
}

.opsys-chat-conversation-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 8px;
  border-bottom: 1px solid #e6ebe8;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
}

.opsys-chat-conversation-row:hover,
.opsys-chat-conversation-row.is-unread {
  background: #f0f6f2;
}

.opsys-chat-avatar-stack {
  display: flex;
  align-items: center;
  min-width: 46px;
}

.opsys-chat-avatar {
  width: 38px;
  height: 38px;
  border: 2px solid #fff;
  font-size: .72rem;
  box-shadow: 0 3px 9px rgba(16,63,45,.08);
}

.opsys-chat-avatar + .opsys-chat-avatar {
  margin-left: -17px;
}

.opsys-chat-conversation-copy,
.opsys-chat-conversation-title {
  min-width: 0;
}

.opsys-chat-conversation-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.opsys-chat-conversation-title strong,
.opsys-chat-conversation-preview {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.opsys-chat-conversation-title strong {
  color: #1d2a24;
  font-size: .86rem;
}

.opsys-chat-conversation-title time {
  color: var(--muted);
  font-size: .66rem;
  font-weight: 700;
}

.opsys-chat-conversation-preview {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: .72rem;
}

.opsys-chat-unread-dot {
  display: grid;
  place-items: center;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--orange);
  color: #fff;
  font-size: .62rem;
  font-weight: 900;
}

.opsys-chat-empty {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  min-height: 210px;
  padding: 24px;
  color: var(--muted);
  text-align: center;
}

.opsys-chat-empty strong {
  color: var(--green);
}

.opsys-chat-conversation-heading,
.opsys-chat-compose-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 68px;
  padding: 10px 12px;
  border-bottom: 1px solid #dfe7e2;
  background: #fff;
}

.opsys-chat-conversation-heading .opsys-chat-back,
.opsys-chat-compose-heading .opsys-chat-back {
  background: #eef4f0;
  color: var(--green);
}

.opsys-chat-conversation-identity {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.opsys-chat-conversation-identity > span:last-child {
  min-width: 0;
}

.opsys-chat-conversation-identity strong,
.opsys-chat-conversation-identity small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.opsys-chat-conversation-identity strong {
  font-size: .84rem;
}

.opsys-chat-conversation-identity small {
  color: var(--muted);
  font-size: .66rem;
}

.opsys-chat-mute-control select {
  width: 115px;
  padding: 7px 8px;
  border-radius: 7px;
  font-size: .67rem;
}

.opsys-chat-messages {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 12px 13px 18px;
  background:
    radial-gradient(circle at 10px 10px, rgba(24,75,56,.045) 1.2px, transparent 1.3px) 0 0/22px 22px,
    linear-gradient(180deg, #f8faf8, #f3f6f4);
}

.opsys-chat-loading {
  padding: 20px;
  text-align: center;
}

.opsys-chat-day-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 12px 0;
}

.opsys-chat-day-divider span {
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--muted);
  font-size: .61rem;
  font-weight: 800;
  box-shadow: 0 3px 10px rgba(20,55,42,.06);
}

.opsys-chat-message {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: end;
  gap: 7px;
  margin: 8px 0;
}

.opsys-chat-message.is-mine {
  grid-template-columns: minmax(0, 1fr);
  justify-items: end;
}

.opsys-chat-message > div {
  max-width: 82%;
}

.opsys-chat-message-avatar {
  width: 29px;
  height: 29px;
  font-size: .56rem;
}

.opsys-chat-message-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 4px 3px;
  color: var(--muted);
  font-size: .59rem;
}

.opsys-chat-message-meta strong {
  color: #33443b;
}

.opsys-chat-message p {
  margin: 0;
  padding: 9px 11px;
  border: 1px solid #dfe6e2;
  border-radius: 5px 14px 14px 14px;
  background: #fff;
  color: #26342d;
  font-size: .8rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
  box-shadow: 0 5px 16px rgba(19,57,43,.06);
}

.opsys-chat-message.is-mine p {
  border-color: #bcd3c5;
  border-radius: 14px 5px 14px 14px;
  background: #dfeee5;
  color: #173f31;
}

.opsys-chat-message-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin: 0;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  border-top: 1px solid #dde6e1;
  background: #fff;
}

.opsys-chat-message-form textarea {
  min-height: 44px;
  max-height: 120px;
  resize: none;
  border: 1px solid #ccd8d2;
  border-radius: 10px;
  padding: 10px 11px;
  font: inherit;
  font-size: .8rem;
}

.opsys-chat-message-form button {
  align-self: end;
  min-height: 44px;
  padding: 10px 14px;
}

.opsys-chat-compose-heading {
  grid-template-columns: auto minmax(0, 1fr);
}

.opsys-chat-compose-heading h3 {
  margin: 0;
  color: var(--green);
  font-size: 1rem;
}

.opsys-chat-compose-heading .opsys-chat-kicker {
  color: var(--orange);
}

.opsys-chat-compose-tabs {
  margin: 12px 14px 0;
}

.opsys-chat-composer-form {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 14px;
  overflow: auto;
}

.opsys-chat-recipient-field {
  position: relative;
}

.opsys-chat-selected-recipients {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 7px;
}

.opsys-chat-selected-recipients:empty {
  display: none;
}

.opsys-chat-selected-recipients > button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 4px 7px 4px 4px;
  border: 1px solid #cbd9d2;
  border-radius: 999px;
  background: var(--green-soft);
  color: var(--green);
  font-size: .72rem;
}

.opsys-chat-selected-recipients i {
  font-style: normal;
}

.opsys-chat-recipient-avatar {
  width: 27px;
  height: 27px;
  font-size: .58rem;
}

/* Communication settings */
.communication-settings-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 20px;
}

.communication-settings-card {
  margin-top: 0;
}

.communication-preferences-form {
  margin-top: 20px;
}

.communication-toggle {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 12px;
  border: 1px solid #dfe6e2;
  border-radius: 10px;
  background: #f9fbfa;
  cursor: pointer;
}

.communication-toggle input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--green);
}

.communication-toggle span,
.communication-toggle strong,
.communication-toggle small {
  display: block;
}

.communication-toggle small {
  margin-top: 2px;
  color: var(--muted);
  font-weight: 500;
}

.push-settings-card {
  align-content: start;
}

.push-device-status {
  display: grid;
  gap: 4px;
  margin: 18px 0;
  padding: 14px;
  border: 1px solid #dce5e0;
  border-radius: 10px;
  background: #f7faf8;
}

.push-device-status span {
  font-weight: 900;
}

.push-device-status .is-on {
  color: var(--green);
}

.push-device-status .is-off {
  color: var(--muted);
}

.push-device-status small {
  color: var(--muted);
}

.communication-push-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.muted-conversations-card,
.personal-message-log-card {
  margin-top: 20px;
}

.chat-muted-list {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.chat-muted-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid #dfe6e2;
  border-radius: 10px;
  background: #fafcfb;
}

.chat-muted-row strong,
.chat-muted-row small {
  display: block;
}

.chat-muted-row small {
  margin-top: 2px;
  color: var(--muted);
}

.communication-log-heading {
  align-items: end;
}

.communication-log-search {
  min-width: min(300px, 100%);
}

.chat-personal-log {
  display: grid;
  gap: 6px;
  max-height: 620px;
  overflow: auto;
  margin-top: 18px;
  padding-right: 4px;
}

.chat-log-entry {
  display: grid;
  gap: 4px;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #e0e6e3;
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  text-align: left;
}

.chat-log-entry:hover {
  border-color: #b9cfc2;
  background: #f7faf8;
}

.chat-log-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.chat-log-meta time,
.chat-log-sender {
  color: var(--muted);
  font-size: .7rem;
}

.chat-log-body {
  overflow: hidden;
  color: #344139;
  font-size: .82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chat-log-empty {
  display: grid;
  place-items: center;
  min-height: 180px;
  color: var(--muted);
  text-align: center;
}

@media (max-width: 900px) {
  .communication-settings-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  body.opsys-chat-open {
    overflow: hidden;
  }

  .opsys-chat-launcher {
    right: 16px;
    bottom: max(16px, env(safe-area-inset-bottom));
    width: 54px;
    height: 54px;
  }

  .opsys-chat-panel {
    inset: 0;
    width: 100vw;
    height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .opsys-chat-panel-header {
    min-height: calc(74px + env(safe-area-inset-top));
    padding: calc(12px + env(safe-area-inset-top)) 16px 12px;
  }

  .opsys-chat-view {
    height: calc(100dvh - 74px - env(safe-area-inset-top));
  }

  .opsys-chat-toolbar {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .opsys-chat-group-button {
    grid-column: 2;
  }

  .opsys-chat-search {
    grid-row: 1 / span 2;
  }

  .opsys-chat-conversation-row {
    min-height: 68px;
  }

  .opsys-chat-mute-control select {
    width: 105px;
  }

  .opsys-chat-message > div {
    max-width: 88%;
  }

  .communication-log-heading,
  .chat-muted-row {
    align-items: stretch;
    flex-direction: column;
  }

  .communication-log-search {
    width: 100%;
    min-width: 0;
  }
}
/* OPSYS v1.3.12 administration tools */
.role-matrix-panel{padding:0;overflow:hidden}.role-matrix-wrap{max-height:70vh;overflow:auto}.role-matrix{border-collapse:separate;border-spacing:0;min-width:100%;width:max-content}.role-matrix th,.role-matrix td{border-right:1px solid #dde4df;border-bottom:1px solid #dde4df;background:#fff;text-align:center;min-width:92px;padding:8px}.role-matrix thead th{position:sticky;top:0;z-index:4;background:#173f31;color:#fff;font-size:12px}.role-person-sticky{position:sticky;left:0;z-index:3;min-width:230px!important;text-align:left!important}.role-matrix thead .role-person-sticky{z-index:6}.role-person-sticky small{display:block;color:#718078;font-weight:400;margin-top:3px}.role-group-row th{position:sticky;left:0;text-align:left;background:#edf5f0;color:#173f31;z-index:2}.role-cell{width:34px;height:34px;border-radius:9px;border:1px solid #cfd9d3;background:#f7f9f8;color:#fff;padding:0}.role-cell.is-on{background:#184b38;border-color:#184b38}.welcome-user-list{max-height:340px;overflow:auto;margin:12px 0}.welcome-user-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.welcome-user{background:#f4f7f5;color:#173f31;border:1px solid #dbe4df;text-align:left;padding:10px;border-radius:12px}.welcome-user small,.welcome-user span{display:block;margin-top:3px}.welcome-user span{color:#184b38;font-weight:700}.welcome-user.is-selected{box-shadow:0 0 0 2px #184b38 inset;background:#edf5f0}.welcome-preview{margin:18px 0;padding:22px;border-radius:16px;background:linear-gradient(135deg,#f6faf7,#eef5f1);border-top:5px solid #184b38;border-bottom:2px solid #e66d2e}.diagnostic-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.diagnostic-metric{padding:15px;border-radius:14px;background:#f4f7f5}.diagnostic-metric strong{display:block;font-size:26px;color:#173f31}.diagnostic-table{width:100%;border-collapse:collapse}.diagnostic-table th,.diagnostic-table td{text-align:left;padding:9px;border-bottom:1px solid #e0e6e2;font-size:13px}

.calendar-legend-dot.is-holiday { background: #7652a8; }
.calendar-event-pill.is-holiday { background: #eee7f7; border-color: #7652a8; color: #432b63; }
.holiday-sharing-panel { margin-bottom: 1.25rem; }
.holiday-sharing-panel #holidayViewerSearch { width: 100%; max-width: 32rem; margin: .75rem 0; }


/* Breathe holidays span their full visible week segment as one continuous bar. */
.calendar-event-pill.is-holiday.is-calendar-span {
  position: relative;
  z-index: 12;
  width: calc((100% + 8px) * var(--calendar-span, 1) - 8px);
  max-width: none;
  box-sizing: border-box;
  pointer-events: none;
}

.calendar-day:has(.is-calendar-span) {
  z-index: 4;
}


/* OPSYS v1.3.22.11 — compact jobs above a reserved holiday lane. */
.calendar-day-events {
  position: relative;
  display: block;
  min-height: 0;
  isolation: isolate;
}

.calendar-day.has-holiday-strip .calendar-day-events {
  padding-bottom: calc(var(--holiday-lanes, 1) * 28px + 6px);
}

.calendar-job-layer {
  position: relative;
  z-index: 3;
  display: grid;
  grid-auto-rows: max-content;
  align-content: start;
  gap: 4px;
  min-height: 0;
}

.calendar-job-layer .calendar-event-pill {
  position: relative;
  z-index: 4;
  height: auto;
  min-height: 0;
  align-self: start;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.72);
}

.calendar-job-more {
  position: relative;
  z-index: 4;
  display: block;
  margin-top: 4px;
}

.calendar-holiday-layer {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(var(--holiday-lanes, 1) * 28px);
  pointer-events: none;
}

.calendar-holiday-layer .calendar-event-pill.is-calendar-span {
  position: absolute;
  left: 0;
  top: calc(var(--holiday-lane, 0) * 28px);
  height: 24px;
  padding-top: 4px;
  padding-bottom: 4px;
  opacity: 1;
}


/* OPSYS v1.3.25.2 — bulk welcome-email selection. */
.users-bulk-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid #dbe4df;
  border-radius: 12px;
  background: #f4f7f5;
}
.users-bulk-toolbar[hidden] { display: none; }
.users-bulk-toolbar .muted { margin-right: auto; }
.user-select-column { width: 38px; min-width: 38px; text-align: center !important; }
.welcome-user-select, #selectAllWelcomeUsers { width: 17px; height: 17px; accent-color: #184b38; cursor: pointer; }
.welcome-user-select:disabled { cursor: not-allowed; opacity: .45; }

/* OPSYS v1.3.26 — SDCN integration settings */
.integration-detail-list{margin-top:22px}.integration-detail-list div{align-items:flex-start}.settings-form small{display:block;margin-top:6px}.administration-settings input[type="password"]{letter-spacing:.04em}

/* SDCN-linked OPSYS Chat conversations */
.opsys-chat-conversation-row.is-external {
  border-left: 3px solid var(--orange);
  padding-left: 7px;
}

.opsys-chat-external-tag,
.opsys-chat-message-source {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  background: #fff1de;
  color: #a84d0a;
  font-size: .54rem;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.opsys-chat-external-tag {
  margin-top: 3px;
  padding: 3px 6px;
}

.opsys-chat-message-source {
  padding: 2px 5px;
}

.opsys-chat-message.is-external:not(.is-mine) p {
  border-color: #f0cfaa;
  background: #fffaf3;
}
.hub-nav-dropdown{position:relative}.hub-nav-dropdown summary{list-style:none;cursor:pointer}.hub-nav-dropdown summary::-webkit-details-marker{display:none}.hub-nav-dropdown summary::after{content:' ▾';font-size:.75em}.hub-nav-dropdown-menu{position:absolute;z-index:60;min-width:210px;background:#fff;border:1px solid #dce3df;border-radius:12px;padding:7px;box-shadow:0 14px 34px rgba(14,35,26,.18)}.hub-nav-dropdown-menu .hub-nav-link{display:block;color:#173f31}

/* OPSYS v1.3.34.1 — operational navigation dropdown visibility. */
@media (min-width: 901px) {
  .hub-header .opsys-operational-nav {
    overflow: visible;
  }

  .hub-header .hub-nav-dropdown {
    align-self: stretch;
    display: flex;
    align-items: center;
  }

  .hub-header .hub-nav-dropdown-menu {
    top: calc(100% + 7px);
    right: 0;
    left: auto;
    display: grid;
    gap: 3px;
    min-width: 220px;
    padding: 8px;
    border: 1px solid #d7e0db;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(8, 38, 27, .24);
  }

  .hub-header .hub-nav-dropdown:not([open]) > .hub-nav-dropdown-menu {
    display: none;
  }

  .hub-header .hub-nav-dropdown-menu .hub-nav-link {
    width: 100%;
    min-height: 38px;
    justify-content: flex-start;
    padding: 9px 11px !important;
    border-radius: 8px;
    color: #173f31 !important;
  }

  .hub-header .hub-nav-dropdown-menu .hub-nav-link:hover,
  .hub-header .hub-nav-dropdown-menu .hub-nav-link:focus-visible,
  .hub-header .hub-nav-dropdown-menu .hub-nav-link.is-active {
    background: #edf5f1;
    color: #0f4d37 !important;
  }

  .hub-header .hub-nav-dropdown-menu .hub-nav-link::after {
    display: none;
  }
}

.transport-activity-list{display:grid;gap:8px}.transport-activity-item{display:grid;gap:2px;padding:9px 10px;border:1px solid #e3d7df;border-left:4px solid #d91f83;border-radius:8px;background:#fff;color:#184b38;text-decoration:none}.transport-activity-item span,.transport-activity-item small{color:#68736e;font-size:.75rem}

/* v1.3.36.2 compact dashboard overview */
@media (min-width: 1100px){
  .dashboard-overview{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
  .dashboard-overview .hero-panel{grid-column:span 2;min-height:220px}
  .dashboard-overview > .panel,
  .dashboard-overview > button.panel{margin-top:0;min-width:0}
  .dashboard-overview .overtime-panel,
  .dashboard-overview #transportAssignmentActivityCard,
  .dashboard-overview .kit-issue-dashboard-card,
  .dashboard-overview .dashboard-future-card{grid-column:span 1}
}
@media (min-width: 760px) and (max-width:1099px){.dashboard-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-overview .hero-panel{grid-column:span 2}}


/* v1.3.36.4 dashboard: four compact equal cards on desktop */
@media (min-width: 1100px){
  .dashboard-grid.dashboard-overview{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    align-items:stretch;
  }
  .dashboard-grid.dashboard-overview > .panel,
  .dashboard-grid.dashboard-overview > button.panel,
  .dashboard-grid.dashboard-overview .hero-panel,
  .dashboard-grid.dashboard-overview .overtime-panel,
  .dashboard-grid.dashboard-overview #transportAssignmentActivityCard,
  .dashboard-grid.dashboard-overview .kit-issue-dashboard-card,
  .dashboard-grid.dashboard-overview .dashboard-future-card{
    grid-column:span 1 !important;
    min-width:0;
    min-height:0;
  }
  .dashboard-grid.dashboard-overview .hero-panel{min-height:260px;}
}

/* v1.3.36.6 chat icon contrast */
.dashboard-chat-heading .dashboard-future-icon{background:#184b38;color:#fff!important}.dashboard-chat-heading .dashboard-future-icon svg{stroke:#fff!important;color:#fff!important;fill:none}
.chat-icon svg,.conversation-icon svg,[data-chat-icon] svg{stroke:#fff!important;color:#fff!important}


/* v1.3.36.23 freelancer application status integrity */
.application-status-summary{display:grid;gap:4px;margin:0}.application-status-summary strong{color:#173f31}.application-status-summary span{color:#64716b}.application-status-history{margin-top:12px;padding-top:10px;border-top:1px solid #dfe7e2;color:#47564f}.application-status-history summary{cursor:pointer;font-weight:700;color:#184b38}.application-status-history ol{display:grid;gap:6px;margin:10px 0 0;padding-left:22px}.application-status-history li{text-transform:none}.application-withdrawn{background:#f0f2f1;color:#46544e}

/* v1.3.36.27 freelancer applications visual grouping only */
.application-list{
  gap:14px;
}
.application-status-group{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(23,63,49,.045);
}
.application-status-group-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:14px;
  min-height:72px;
  padding:16px 18px;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.application-status-group-summary::-webkit-details-marker,
.application-card-summary::-webkit-details-marker{display:none}
.application-status-group-summary>div{display:grid;gap:3px}
.application-status-group-summary strong{
  color:var(--green);
  font-size:1.02rem;
}
.application-status-group-summary span:not(.application-status-count):not(.application-group-chevron){
  color:var(--muted);
  font-size:.78rem;
}
.application-status-count{
  display:grid;
  place-items:center;
  min-width:30px;
  height:30px;
  padding:0 9px;
  border-radius:999px;
  background:#eef4f1;
  color:var(--green);
  font-size:.78rem;
  font-weight:900;
}
.application-status-group-pending .application-status-count{
  background:#fff0e8;
  color:#b44b20;
}
.application-group-chevron,
.application-summary-chevron{
  width:9px;
  height:9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  transition:transform .18s ease;
  color:#607069;
}
.application-status-group[open]>.application-status-group-summary .application-group-chevron,
.application-card-collapsible[open]>.application-card-summary .application-summary-chevron{
  transform:rotate(225deg);
}
.application-status-group-body{
  display:grid;
  gap:10px;
  padding:0 12px 12px;
  border-top:1px solid #edf1ef;
}
.application-card.application-card-collapsible{
  display:block;
  padding:0;
  border-radius:12px;
  box-shadow:none;
  background:#fff;
}
.application-card-summary{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(220px,.9fr) auto;
  align-items:center;
  gap:18px;
  padding:13px 15px;
  cursor:pointer;
  list-style:none;
}
.application-summary-main{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.application-summary-job,
.application-summary-person{
  display:grid;
  min-width:0;
  gap:2px;
}
.application-summary-job strong,
.application-summary-person strong{
  overflow:hidden;
  color:var(--ink);
  text-overflow:ellipsis;
  white-space:nowrap;
}
.application-summary-job span,
.application-summary-person span{
  overflow:hidden;
  color:var(--muted);
  font-size:.76rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.application-summary-person{
  justify-items:end;
  text-align:right;
}
.application-card-body{
  display:grid;
  gap:14px;
  padding:16px 16px 17px;
  border-top:1px solid #edf1ef;
  background:linear-gradient(145deg,#fff 0%,#fff 72%,#f5f9f7 100%);
}
.application-status-group:not([open]){box-shadow:none}
.application-status-group:not([open])>.application-status-group-summary:hover,
.application-card-collapsible:not([open])>.application-card-summary:hover{
  background:#f8faf9;
}
.application-status-group-historical>.application-status-group-summary,
.application-status-group-withdrawn>.application-status-group-summary,
.application-status-group-declined>.application-status-group-summary{
  background:#fbfcfb;
}
@media(max-width:800px){
  .application-status-group-summary{grid-template-columns:minmax(0,1fr) auto auto;padding:14px}
  .application-status-group-summary>div span{display:none}
  .application-card-summary{grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .application-summary-person{grid-column:1 / -1;grid-row:2;justify-items:start;text-align:left;padding-left:0}
  .application-summary-main{align-items:flex-start}
  .application-summary-main .application-state{flex:0 0 auto}
  .application-summary-chevron{grid-column:2;grid-row:1;align-self:center}
}

/* v1.3.36.30 — Admin user information viewer */
.user-information-modal-card{width:min(1080px,calc(100vw - 40px));max-height:min(88vh,920px);overflow:hidden;display:flex;flex-direction:column}
.user-information-content{overflow:auto;padding:4px 2px 8px;display:grid;gap:14px}
.user-information-loading{min-height:280px;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--muted)}
.user-information-section{border:1px solid var(--line);border-radius:14px;background:#fbfcfb;overflow:hidden}
.user-information-section>h3{margin:0;padding:12px 16px;background:#eef4f0;color:#174c38;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}
.user-information-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:4px 16px 12px}
.user-information-field{display:grid;gap:4px;padding:12px 8px;border-bottom:1px solid #e7ece9;min-width:0}
.user-information-field span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.user-information-field strong{font-size:.92rem;overflow-wrap:anywhere}
.user-information-tags{display:flex;flex-wrap:wrap;gap:8px;padding:16px}
.user-information-tags span{padding:8px 10px;border-radius:999px;background:#e9f2ed;color:#174c38;font-weight:800;font-size:.8rem}
.user-information-empty{padding:16px;margin:0}
.user-information-certificates{display:grid;gap:0;padding:0 16px 8px}
.user-information-certificate{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 4px;border-bottom:1px solid #e7ece9}
.user-information-certificate:last-child{border-bottom:0}
.user-information-certificate>div:first-child{display:grid;gap:4px}
.user-information-certificate small{color:var(--muted)}
.user-information-certificate-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.78rem}
@media(max-width:720px){.user-information-modal-card{width:calc(100vw - 18px);max-height:94vh}.user-information-grid{grid-template-columns:1fr}.user-information-certificate{align-items:flex-start;flex-direction:column}.user-information-certificate-meta{justify-content:flex-start}}

/* v1.3.36.31 — profile values, certificate review actions and PM phone */
.user-information-field strong{display:block;color:var(--ink)!important;min-height:1.1em}
.user-information-certificate{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.user-information-certificate-note{grid-column:1/-1;margin:4px 0 0;padding:9px 10px;border-radius:8px;background:#f6f1ed;color:#70432f;font-size:.8rem}
.certificate-reject-button{border-color:#d7a18b;color:#973d20}
.project-info-pm-value{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.project-info-pm-phone{font-size:.78rem;font-weight:500;color:#6e7973;text-decoration:none}
@media(max-width:720px){.user-information-certificate{grid-template-columns:1fr}}
.user-information-section-count{float:right;padding:2px 7px;border-radius:999px;background:#f7dfd3;color:#9a3e20;font-size:.68rem;letter-spacing:0;text-transform:none}

/* v1.3.36.32 — user information modal layout/clipping hotfix */
.user-information-modal-card{
  width:min(1120px,calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  overflow:hidden;
}
.user-information-modal-card .modal-heading{
  flex:0 0 auto;
}
.user-information-content{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  display:block;
  padding:4px 4px 18px;
}
.user-information-section{
  display:block;
  width:100%;
  height:auto!important;
  min-height:0!important;
  margin:0 0 14px;
  overflow:visible!important;
  border-radius:14px;
}
.user-information-section>h3{
  border-radius:13px 13px 0 0;
}
.user-information-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:auto;
  align-items:start;
  width:100%;
  height:auto!important;
  min-height:0!important;
  padding:4px 16px 12px;
  overflow:visible!important;
}
.user-information-field{
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:5px;
  min-width:0;
  min-height:66px!important;
  height:auto!important;
  padding:12px 8px 14px;
  overflow:visible!important;
}
.user-information-field>span,
.user-information-field>strong{
  position:static!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  clip:auto!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.user-information-field>strong{
  margin:0;
  line-height:1.35;
  white-space:normal;
}
.user-information-tags{
  min-height:58px;
}
.user-information-certificates{
  display:grid;
  gap:0;
  width:100%;
  height:auto!important;
  padding:0 16px 10px;
  overflow:visible!important;
}
.user-information-certificate{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) minmax(0,1.45fr)!important;
  align-items:start!important;
  gap:18px;
  width:100%;
  height:auto!important;
  min-height:0!important;
  padding:16px 4px;
  overflow:visible!important;
}
.user-information-certificate>div:first-child{
  min-width:0;
}
.user-information-certificate .certificate-status{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%;
  padding:5px 8px;
  white-space:nowrap;
}
.user-information-certificate-meta{
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  align-content:flex-start;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
  overflow:visible!important;
}
.user-information-certificate-meta .compact-button{
  flex:0 0 auto;
  white-space:nowrap;
}
@media(max-width:800px){
  .user-information-grid{grid-template-columns:1fr}
  .user-information-certificate{grid-template-columns:1fr!important}
  .user-information-certificate-meta{justify-content:flex-start}
}

/* Crew booking integrity · filled-position decision dialog */
.filled-position-layer{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:20px;background:rgba(12,31,24,.62);backdrop-filter:blur(5px)}
.filled-position-dialog{width:min(760px,100%);max-height:min(86vh,820px);overflow:auto;background:#fff;border-radius:22px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.28);border-top:5px solid #e66d2e}
.filled-position-dialog h2{margin:6px 0 10px;color:#173f31}.filled-position-dialog>p{color:#5f6c66}
.filled-position-summary{display:grid;gap:4px;padding:16px 18px;margin:18px 0;background:#f4f7f5;border:1px solid #d9e3de;border-radius:14px}.filled-position-summary span,.filled-position-summary small{color:#66736d}
.filled-position-alternatives{margin:20px 0}.filled-position-alternatives h3{margin:0 0 10px}.filled-position-alternatives button{width:100%;display:flex;justify-content:space-between;gap:18px;text-align:left;margin:8px 0;padding:14px 16px;border:1px solid #d7e1dc;border-radius:14px;background:#fff;color:#173f31}.filled-position-alternatives button:hover{border-color:#1d674e;background:#f3f8f5}.filled-position-alternatives button span{display:grid;gap:3px}.filled-position-alternatives button small{color:#66736d}.filled-position-alternatives button em{font-style:normal;font-weight:800;white-space:nowrap;color:#1d674e}
.filled-position-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.filled-position-actions button{min-height:48px}.filled-position-help{font-size:.88rem;margin:12px 0 0!important}
@media(max-width:640px){.filled-position-layer{padding:10px}.filled-position-dialog{padding:20px;border-radius:18px}.filled-position-actions{grid-template-columns:1fr}.filled-position-alternatives button{align-items:flex-start;flex-direction:column;gap:6px}}

/* Local Crew module */
.local-crew-manual-picker{display:grid;grid-template-columns:1.2fr 1.2fr auto;gap:8px;align-items:end}.manual-activity-person .link-button{border:0;background:none;color:#9b3f1e;text-decoration:underline;padding:0 0 0 6px}@media(max-width:700px){.local-crew-manual-picker{grid-template-columns:1fr}}
.project-info-hotel-address{font-size:.72rem;line-height:1.25;color:#7a857f}
.calendar-event-pill.is-hotel{background:#f1eafa;border-color:#451866;color:#321047}
.calendar-event-pill.is-hotel strong{color:#321047}
.calendar-tooltip-entry.is-hotel{border-left:3px solid #451866;background:#f7f2fb}
.calendar-detail-card.is-hotel{border-color:#cbb7dc;background:#fcf9fe}


/* Manual Activities header action group - v1.3.36.36.1 */
.manual-activity-header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.manual-activity-header-actions > .secondary-button,
.manual-activity-header-actions > .primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0;
  padding: 11px 17px;
  border-radius: 9px;
  font-size: .92rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.manual-activity-header-actions > .secondary-button {
  background: #fff;
  color: var(--green);
  border: 1px solid #bfcfc7;
  box-shadow: none;
}

.manual-activity-header-actions > .secondary-button:hover {
  background: var(--green-soft);
  border-color: #9eb7aa;
  filter: none;
}

.manual-activity-header-actions > .primary-button {
  border: 1px solid var(--green);
  background: var(--green);
  color: #fff;
}

@media (max-width: 760px) {
  .manual-activity-page .page-heading.manual-activity-toolbar {
    align-items: stretch;
  }

  .manual-activity-header-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 520px) {
  .manual-activity-header-actions > .secondary-button,
  .manual-activity-header-actions > .primary-button {
    flex: 1 1 100%;
    width: 100%;
  }
}

/* Freelancer email notification preferences */
.freelancer-email-settings-card {
  margin-bottom: 20px;
}

.freelancer-email-preferences-form {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.freelancer-email-preference-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 230px);
  align-items: center;
  gap: 18px;
  padding: 13px 14px;
  border: 1px solid #dfe6e2;
  border-radius: 11px;
  background: #f9fbfa;
}

.freelancer-email-preference-row span,
.freelancer-email-preference-row strong,
.freelancer-email-preference-row small {
  display: block;
}

.freelancer-email-preference-row small {
  margin-top: 3px;
  color: var(--muted);
  font-weight: 500;
  line-height: 1.45;
}

.freelancer-email-preference-row select {
  width: 100%;
  min-height: 40px;
}

@media (max-width: 700px) {
  .freelancer-email-preference-row {
    grid-template-columns: 1fr;
    gap: 9px;
  }
}

/* v1.3.36.36.45 · Super Admin branding accordion + staff service catalogue */
.branding-accordion{display:grid;gap:14px}.branding-section{border:1px solid #dce6e0;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 26px rgba(16,59,41,.04)}.branding-section>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;cursor:pointer;list-style:none;background:#fff}.branding-section>summary::-webkit-details-marker{display:none}.branding-section>summary>span:first-child{display:grid;gap:4px}.branding-section>summary strong{font-size:1rem;color:#173d2c}.branding-section>summary small{font-size:.8rem;color:#6c7a72;font-weight:500}.branding-section-chevron{font-size:1.4rem;line-height:1;color:#577066;transition:transform .18s ease}.branding-section[open] .branding-section-chevron{transform:rotate(180deg)}.branding-section-panel{margin:0;border:0;border-top:1px solid #e4ebe7;border-radius:0;box-shadow:none}.service-catalogue-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.service-catalogue-heading .form-actions{align-items:center}.service-catalogue-heading input[type=search]{min-width:min(320px,42vw)}.service-catalogue-summary{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:12px 0 14px;padding:10px 12px;border-radius:10px;background:#f3f7f4;color:#607168;font-size:.82rem}.service-catalogue-summary strong{color:#173d2c}.staff-service-catalogue{display:grid;gap:8px}.staff-service-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:12px 14px;border:1px solid #e1e8e4;border-radius:12px;background:#fbfcfb;cursor:pointer;transition:border-color .15s ease,background .15s ease}.staff-service-row.is-enabled{border-color:#b9d3c5;background:#f4f9f6}.staff-service-copy{display:grid;gap:3px;min-width:0}.staff-service-copy strong{color:#203a2e;font-size:.9rem}.staff-service-copy small{color:#758179;font-size:.72rem}.staff-service-toggle-copy{font-size:.75rem;font-weight:800;color:#64746b}.staff-service-row.is-enabled .staff-service-toggle-copy{color:#17643e}.toggle-switch{position:relative;display:inline-flex;width:44px;height:24px}.toggle-switch input{position:absolute;opacity:0;pointer-events:none}.toggle-switch span{width:44px;height:24px;border-radius:999px;background:#cbd4cf;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);transition:background .15s ease}.toggle-switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:transform .15s ease}.toggle-switch input:checked+span{background:#167140}.toggle-switch input:checked+span:after{transform:translateX(20px)}.staff-service-footnote{margin-top:14px;font-size:.78rem}@media(max-width:760px){.service-catalogue-heading{display:grid}.service-catalogue-heading .form-actions{display:grid;width:100%}.service-catalogue-heading input[type=search]{min-width:0;width:100%}.staff-service-row{grid-template-columns:minmax(0,1fr) auto}.staff-service-toggle-copy{display:none}}

/* Branding schemes + configurable staff service accents · v1.3.36.36.46 */
.branding-scheme-manager{display:grid;gap:12px;margin:16px 0 20px;padding:15px;border:1px solid #dce6e0;border-radius:14px;background:#f7faf8}.branding-scheme-restore,.branding-scheme-save{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:12px}.branding-scheme-restore label,.branding-scheme-save label{display:grid;gap:6px}.branding-scheme-note{margin:0;font-size:.76rem}.danger-light{color:#8b2d21!important;border-color:#e4c8c2!important;background:#fff8f6!important}.staff-service-row{grid-template-columns:minmax(0,1fr) auto auto auto;cursor:default}.staff-service-colour-control{display:flex;align-items:center;gap:7px}.staff-service-colour-control input[type=color]{width:38px;height:30px;padding:2px;border:1px solid #d6dfda;border-radius:8px;background:#fff;cursor:pointer}.staff-service-colour-reset{min-width:auto!important;padding:6px 8px!important;border-radius:8px!important;font-size:.7rem!important}.staff-service-colour-chip{width:10px;height:28px;border-radius:999px;background:var(--staff-service-accent);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}@media(max-width:760px){.branding-scheme-restore,.branding-scheme-save{grid-template-columns:1fr}.branding-scheme-restore .form-actions,.branding-scheme-save button{width:100%}.staff-service-row{grid-template-columns:minmax(0,1fr) auto auto}.staff-service-colour-control{grid-column:1/-1;justify-self:start}.staff-service-toggle-copy{display:none}}

/* Freelancer shift history · v1.3.36.36.48 */
.shift-history-panel {
  overflow: hidden;
}

.shift-history-toolbar {
  display: flex;
  align-items: end;
  gap: 14px;
  margin-bottom: 14px;
}

.shift-history-toolbar label {
  display: grid;
  gap: 6px;
  min-width: 150px;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--muted-text, #66736d);
}

.shift-history-toolbar .shift-history-search {
  flex: 1;
  min-width: 220px;
}

.shift-history-toolbar input,
.shift-history-toolbar select {
  width: 100%;
}

.shift-history-table-wrap {
  overflow-x: auto;
  margin-top: 12px;
}

.shift-history-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 900px;
}

.shift-history-table th,
.shift-history-table td {
  padding: 13px 12px;
  border-bottom: 1px solid rgba(17, 73, 55, 0.12);
  text-align: left;
  vertical-align: top;
}

.shift-history-table th {
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted-text, #66736d);
  white-space: nowrap;
}

.shift-history-table td strong,
.shift-history-table td small {
  display: block;
}

.shift-history-table td small {
  margin-top: 4px;
  color: var(--muted-text, #66736d);
}

.shift-history-reference {
  display: inline-block;
  margin-bottom: 5px;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.035em;
  color: var(--primary-green, #0f5a40);
}

.shift-history-job-name {
  max-width: 320px;
}

.shift-history-role {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(17, 73, 55, 0.08);
  font-weight: 700;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .shift-history-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .shift-history-toolbar label,
  .shift-history-toolbar .shift-history-search {
    min-width: 0;
    width: 100%;
  }

  .shift-history-table {
    min-width: 0;
  }

  .shift-history-table thead {
    display: none;
  }

  .shift-history-table,
  .shift-history-table tbody,
  .shift-history-table tr,
  .shift-history-table td {
    display: block;
    width: 100%;
  }

  .shift-history-table tr {
    padding: 8px 0 12px;
    border-bottom: 1px solid rgba(17, 73, 55, 0.14);
  }

  .shift-history-table td {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 10px;
    padding: 7px 0;
    border: 0;
  }

  .shift-history-table td::before {
    content: attr(data-label);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--muted-text, #66736d);
  }
}

/* v1.3.36.36.49 · freelancer application availability expiry */
.application-expiry-state{display:block;color:#7a4d16;font-size:.8rem;line-height:1.45}
.application-secondary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;width:100%}
.compact-link-button{color:var(--green);padding:6px 8px;background:transparent}
.application-expired{color:#8b2b2b;background:#fbe9e9}
.availability-expiry-dialog{width:min(560px,calc(100% - 28px));padding:0;border:0;border-radius:18px;background:transparent;box-shadow:none}
.availability-expiry-dialog::backdrop{background:rgba(8,25,18,.62);backdrop-filter:blur(4px)}
.availability-expiry-card{position:relative;display:grid;gap:16px;margin:0;padding:28px;border-radius:18px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.3)}
.availability-expiry-card .eyebrow{margin:0}
.availability-expiry-card h2{margin:0;color:var(--green);font-size:1.6rem}
.availability-expiry-warning{margin:0;padding:14px 16px;border-left:4px solid var(--orange);border-radius:10px;background:var(--orange-soft);color:#5c3a29;line-height:1.55}
.availability-expiry-field{display:grid;gap:8px;padding-top:4px}
.availability-expiry-field small{color:var(--muted);font-weight:500}
.availability-expiry-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}
.availability-expiry-close{position:absolute;top:12px;right:12px;width:36px;height:36px;padding:0;border-radius:50%;background:#eef2ef;color:var(--green);font-size:1.35rem;line-height:1}
.primary-button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;text-decoration:none;background:var(--green);color:#fff}
.expiry-link-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#eef2ef,#f7f8f7)}
.expiry-link-card{width:min(640px,100%);margin:0;padding:34px}
.expiry-link-card h1{margin:0 0 14px;color:var(--green);font-size:clamp(2rem,5vw,3rem);letter-spacing:-.035em}
.expiry-link-card>p{line-height:1.65}
.expiry-link-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}
.expiry-link-details div{padding:13px;border-radius:10px;background:#f3f6f4}
.expiry-link-details dt{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.expiry-link-details dd{margin:5px 0 0;font-weight:800}
@media(max-width:640px){.application-secondary-actions{display:grid;grid-template-columns:1fr;width:100%}.application-secondary-actions button{width:100%}.availability-expiry-actions{display:grid;grid-template-columns:1fr}.availability-expiry-actions button{width:100%}.expiry-link-details{grid-template-columns:1fr}.expiry-link-card{padding:24px}}

/* Freelancer SMS published-work alerts · v1.3.36.36.51 */
.freelancer-sms-settings {
  display: grid;
  gap: 12px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #dfe6e2;
}
.compact-section-heading {
  margin-bottom: 0;
}
.compact-section-heading h3 {
  margin: 2px 0 0;
  color: #203a2e;
  font-size: 1rem;
}
.freelancer-sms-toggle.is-disabled {
  cursor: not-allowed;
  opacity: .62;
}
.sms-destination-status {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 3px 12px;
  align-items: baseline;
  padding: 11px 13px;
  border: 1px solid #dfe6e2;
  border-radius: 10px;
  background: #f9fbfa;
}
.sms-destination-status > span {
  color: var(--muted);
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.sms-destination-status > strong {
  color: #203a2e;
}
.sms-destination-status > small {
  grid-column: 1 / -1;
  color: var(--muted);
  line-height: 1.4;
}
.profile-sync-pill.is-warning {
  background: #fff4df;
  color: #8a5714;
  border-color: #efd3a0;
}
@media (max-width: 600px) {
  .sms-destination-status {
    grid-template-columns: 1fr;
  }
  .sms-destination-status > small {
    grid-column: auto;
  }
}

/* Super Admin Twilio SMS integration · v1.3.36.36.51 */
.settings-inline-test {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: end;
  padding-top: 14px;
  border-top: 1px solid #dfe6e2;
}
.settings-inline-test label {
  margin: 0;
}
.settings-inline-test button {
  min-height: 44px;
}
.settings-integration-note {
  margin: 14px 0 0;
  line-height: 1.55;
}
@media (max-width: 700px) {
  .settings-inline-test {
    grid-template-columns: 1fr;
  }
  .settings-inline-test button {
    width: 100%;
  }
}

/* v1.3.36.36.53 freelancer profile visibility guard */
.is-freelancer-profile [data-internal-chat-settings],
[data-internal-chat-settings][hidden] {
  display: none !important;
}

/* v1.3.36.36.58 · Standard Super Admin accordion pattern + SMS quiet hours */
.settings-accordion{display:grid;gap:14px}
.settings-section{border:1px solid #dce6e0;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 26px rgba(16,59,41,.04)}
.settings-section>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;cursor:pointer;list-style:none;background:#fff}
.settings-section>summary::-webkit-details-marker{display:none}
.settings-section>summary>span:first-child{display:grid;gap:4px}
.settings-section>summary strong{font-size:1rem;color:#173d2c}
.settings-section>summary small{font-size:.8rem;color:#6c7a72;font-weight:500}
.settings-section-chevron{font-size:1.4rem;line-height:1;color:#577066;transition:transform .18s ease}
.settings-section[open] .settings-section-chevron{transform:rotate(180deg)}
.settings-section-panel{margin:0;border:0;border-top:1px solid #e4ebe7;border-radius:0;box-shadow:none}
.sms-quiet-hours-card{padding:14px;border:1px solid #dce6e0;border-radius:12px;background:#f8fbf9;display:grid;gap:12px}
.settings-three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sms-quiet-hours-card.is-disabled{opacity:.62}
@media(max-width:760px){.settings-three-column{grid-template-columns:1fr}.settings-section>summary{padding:16px}}

/* v1.3.36.36.69 freelancer application travel requirements */
.application-details-card{gap:18px}
.application-hotel-fieldset{display:grid;gap:10px;margin:0;padding:0;border:0}
.application-hotel-fieldset legend{display:flex;align-items:center;gap:9px;padding:0;color:var(--green);font-weight:800}
.application-hotel-fieldset p{margin:0}
.required-marker{display:inline-flex;align-items:center;min-height:20px;padding:2px 8px;border-radius:999px;background:var(--orange-soft);color:#80502f;font-size:.66rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.application-hotel-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.application-hotel-options label{display:flex;align-items:center;gap:9px;min-height:48px;padding:11px 13px;border:1px solid var(--border);border-radius:12px;background:#f8faf9;cursor:pointer;font-weight:700}
.application-hotel-options label:has(input:checked){border-color:var(--green);background:#edf6f0;box-shadow:0 0 0 2px rgba(20,118,60,.08)}
.application-hotel-options input{width:auto;margin:0;accent-color:var(--green)}
.application-money-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:#fff}
.application-money-input>span{padding:0 0 0 12px;color:var(--green);font-weight:900}
.application-money-input input{border:0!important;box-shadow:none!important}
.application-submission-summary{display:block;color:var(--muted);font-weight:600}
@media(max-width:640px){.application-hotel-options{grid-template-columns:1fr}}


/* v1.3.36.36.70 — compact freelancer calendar links */
.shift-row.has-calendar-action{grid-template-columns:minmax(160px,1fr) minmax(150px,.9fr) minmax(150px,.9fr) auto}

.calendar-detail-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.calendar-detail-footer .shift-calendar-menu{flex:0 0 auto}
@media(max-width:760px){.calendar-detail-footer{align-items:flex-start;flex-wrap:wrap}}
.shift-calendar-menu{position:relative;justify-self:end}
.shift-calendar-menu>summary{list-style:none;cursor:pointer;white-space:nowrap;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--green);font-size:.76rem;font-weight:800;user-select:none}
.shift-calendar-menu>summary::-webkit-details-marker{display:none}
.shift-calendar-menu>summary::after{content:" ▾";font-size:.68rem;color:var(--muted)}
.shift-calendar-menu[open]>summary{border-color:rgba(21,113,64,.35);background:#f2f7f4}
.shift-calendar-options{position:absolute;z-index:40;right:0;top:calc(100% + 6px);min-width:170px;padding:6px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.14)}
.shift-calendar-options a{display:block;padding:8px 10px;border-radius:7px;color:var(--charcoal);font-size:.78rem;font-weight:700;text-decoration:none}
.shift-calendar-options a:hover{background:#f1f5f2;color:var(--green)}
@media(max-width:760px){.shift-row.has-calendar-action{grid-template-columns:1fr}.shift-calendar-menu{justify-self:start}.shift-calendar-options{left:0;right:auto}}

/* v1.3.36.36.110 — Super User live performance diagnostics */
.live-diagnostics-panel{overflow:hidden}.live-diagnostics-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.live-diagnostics-hero h2{margin:.15rem 0}.live-diagnostics-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.live-diagnostic-overall{display:grid;grid-template-columns:94px minmax(0,1fr);gap:18px;align-items:center;margin:20px 0;padding:18px;border:1px solid #dce5e0;border-radius:18px;background:#f7faf8}.live-diagnostic-overall>div:last-child{display:grid;gap:3px}.live-diagnostic-overall strong{font-size:1.35rem;color:#173f31}.live-diagnostic-overall small{color:#65716d}.live-status-kicker{text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:.72rem}.live-overall-gauge,.live-diagnostic-gauge{--diagnostic-accent:#9aa6a0;position:relative;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--diagnostic-accent) 0 82%,#e5ebe8 82% 100%)}.live-overall-gauge{width:82px;height:82px}.live-overall-gauge:after,.live-diagnostic-gauge:after{content:"";position:absolute;border-radius:50%;background:#fff}.live-overall-gauge:after{inset:10px}.live-overall-gauge span{position:relative;z-index:1;width:12px;height:12px;border-radius:50%;background:var(--diagnostic-accent)}.live-diagnostic-overall.is-good,.live-diagnostic-card.is-good{--diagnostic-accent:#1f7a52}.live-diagnostic-overall.is-slow,.live-diagnostic-card.is-slow{--diagnostic-accent:#d18a18}.live-diagnostic-overall.is-poor,.live-diagnostic-card.is-poor{--diagnostic-accent:#c5552f}.live-diagnostic-overall.is-failed,.live-diagnostic-card.is-failed{--diagnostic-accent:#9f3232}.live-diagnostic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.live-diagnostic-card{--diagnostic-accent:#9aa6a0;display:grid;grid-template-columns:66px minmax(0,1fr);gap:13px;align-items:center;padding:14px;border:1px solid #dce5e0;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(15,63,46,.04)}.live-diagnostic-gauge{width:58px;height:58px}.live-diagnostic-gauge:after{inset:8px}.live-diagnostic-gauge span{position:relative;z-index:1;font-size:.62rem;font-weight:950;text-transform:uppercase;color:var(--diagnostic-accent)}.live-diagnostic-copy{display:grid;gap:3px;min-width:0}.live-diagnostic-copy strong{color:#173f31}.live-diagnostic-value{font-size:1.32rem;font-weight:900;color:#151918}.live-diagnostic-copy small{color:#65716d;line-height:1.3}.live-diagnostic-history-wrap{margin-top:24px;padding-top:20px;border-top:1px solid #e1e7e3}.live-diagnostic-history .diagnostic-state{display:inline-flex;align-items:center;gap:6px;font-weight:800}.live-diagnostic-history .diagnostic-state:before{content:"";width:8px;height:8px;border-radius:50%;background:#9aa6a0}.live-diagnostic-history .diagnostic-state.is-good:before{background:#1f7a52}.live-diagnostic-history .diagnostic-state.is-slow:before{background:#d18a18}.live-diagnostic-history .diagnostic-state.is-poor:before{background:#c5552f}.live-diagnostic-history .diagnostic-state.is-failed:before{background:#9f3232}.live-diagnostics-panel.is-running .live-overall-gauge{animation:diagnostic-spin 1.1s linear infinite}.live-diagnostics-panel.is-running .live-diagnostic-card{opacity:.72}@keyframes diagnostic-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.live-diagnostics-hero{display:grid}.live-diagnostics-actions{justify-content:start}.live-diagnostic-overall{grid-template-columns:72px 1fr}.live-overall-gauge{width:64px;height:64px}.live-diagnostic-grid{grid-template-columns:1fr}}
.live-diagnostic-trends{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 22px}.live-diagnostic-trend-card{padding:14px;border:1px solid #dce5e0;border-radius:14px;background:#f8faf9}.live-diagnostic-trend-card strong{display:block;margin-bottom:7px;color:#173f31}.live-diagnostic-trend-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.live-diagnostic-trend-stats span{display:grid;gap:2px;font-size:.78rem;color:#65716d}.live-diagnostic-trend-stats b{font-size:1rem;color:#151918}.live-diagnostic-recent-head{margin-top:4px}@media(max-width:900px){.live-diagnostic-trends{grid-template-columns:1fr}.live-diagnostic-trend-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.3.36.36.112 — compact queue detail inside Live Diagnostics */
.live-diagnostic-mini{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.live-diagnostic-mini span{display:inline-flex;gap:4px;align-items:center;padding:3px 6px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.6);font-size:.7rem;color:var(--muted)}.live-diagnostic-mini b{color:var(--ink)}

/* v1.3.36.36.119 · personal RAMS receipt */
.job-card-footer{gap:10px;flex-wrap:wrap}.rams-receipt-pill{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:999px;text-decoration:none;font-size:.78rem;font-weight:800;border:1px solid #cfe0d7;background:#f0f7f3;color:#1c5b43}.rams-receipt-pill.is-viewed{background:#e1f2e8;border-color:#b9dbc8;color:#14593b}.rams-receipt-pill:focus-visible{outline:3px solid rgba(239,123,50,.35);outline-offset:2px}
.rams-booking-status{display:inline-flex;align-items:center;width:max-content;min-height:30px;margin-top:7px;padding:5px 9px;border-radius:999px;text-decoration:none;font-size:.78rem;font-weight:800;border:1px solid #cfe0d7;background:#f0f7f3;color:#1c5b43}.rams-booking-status.is-viewed{background:#e1f2e8;border-color:#b9dbc8;color:#14593b}

/* v1.3.36.36.123 · freelancer scoring + staged star audience */
.freelancer-scoring-main{max-width:1320px}
.scoring-rule-panel,.scoring-people-panel{margin-top:18px}
.scoring-list-heading{align-items:flex-end}
.scoring-list-heading input{width:min(300px,100%)}
.star-rule-list,.freelancer-score-list{display:grid;gap:10px;margin-top:16px}
.star-rule-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--border,#dfe7e2);border-radius:16px;background:#fff}
.star-rule-card strong{font-size:1rem}.star-rule-card p{margin:5px 0 0;color:var(--muted,#65716d);line-height:1.45}
.star-rule-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.compact-empty{display:flex;gap:8px;flex-direction:column;padding:18px}
.freelancer-score-card{border:1px solid var(--border,#dfe7e2);border-radius:16px;background:#fff;overflow:hidden}
.freelancer-score-card>summary{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(170px,.8fr) minmax(135px,.55fr) 24px;gap:18px;align-items:center;padding:15px 18px;cursor:pointer;list-style:none}
.freelancer-score-card>summary::-webkit-details-marker{display:none}
.score-person,.score-summary-rating{display:flex;min-width:0;flex-direction:column;gap:3px}.score-person span,.score-summary-rating small{color:var(--muted,#65716d);font-size:.82rem;overflow:hidden;text-overflow:ellipsis}
.star-display{display:inline-flex;gap:1px;font-size:1.05rem;letter-spacing:.01em}.star-display span{color:#cfd8d3}.star-display span.is-on{color:#e3a72f}
.engagement-pill{justify-self:start;display:flex;flex-direction:column;min-width:110px;border-radius:12px;padding:8px 11px;background:#eef4f1}.engagement-pill strong{font-size:1rem}.engagement-pill span{font-size:.72rem;color:#5f6c67}.engagement-pill.strong{background:#e9f4ed}.engagement-pill.good{background:#eff5ed}.engagement-pill.developing{background:#fff5df}.engagement-pill.attention{background:#fff0ea}
.freelancer-score-body{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;padding:18px;border-top:1px solid var(--border,#dfe7e2);background:#fbfcfb}
.score-editor,.score-evidence{min-width:0}.score-editor h3,.score-evidence h3{margin:0 0 4px}.score-editor label{display:grid;gap:6px;margin-top:14px}.score-editor textarea{resize:vertical}
.rating-choice{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.rating-choice button{min-height:38px;padding:0 12px;border-radius:10px;border:1px solid #d5dfda;background:#fff;color:#315044;font-weight:750}.rating-choice button.is-selected{background:#0d513a;color:#fff;border-color:#0d513a}
.score-save-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.score-save-row small{color:var(--muted,#65716d)}
.engagement-breakdown{display:grid;gap:8px;margin-top:14px}.engagement-breakdown>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px 11px;border-radius:10px;background:#fff;border:1px solid #e3e9e6}.engagement-breakdown span{font-size:.86rem}.engagement-breakdown strong{font-size:.86rem}.engagement-breakdown small{font-size:.76rem;color:var(--muted,#65716d)}
.score-evidence-note{margin:12px 0 0}.rating-history{grid-column:1/-1}.rating-history>summary{cursor:pointer;font-weight:750}.rating-history ol{display:grid;gap:7px;margin:10px 0 0;padding-left:20px}.rating-history li span,.rating-history li small{display:block;color:var(--muted,#65716d);font-size:.8rem}
.star-rule-modal-card{width:min(760px,calc(100vw - 28px));max-height:90vh;overflow:auto}.star-rule-stages{display:grid;gap:10px}.star-rule-stage{padding:14px;border:1px solid #dce5e0;border-radius:14px;background:#f8faf9}.star-rule-stage-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.compact-icon{width:34px;height:34px}.stage-wait{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.stage-wait input{width:88px}.stage-wait select{width:auto;min-width:110px}.stage-ratings{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.stage-ratings label{display:block}.stage-ratings input{position:absolute;opacity:0;pointer-events:none}.stage-ratings span{display:block;padding:8px 11px;border:1px solid #d2ddd7;border-radius:10px;background:#fff;font-weight:750;cursor:pointer}.stage-ratings input:checked+span{background:#0d513a;color:#fff;border-color:#0d513a}.star-rule-help{margin:0}
.star-workflow-publication{margin:4px 0 16px;padding:16px;border:1px solid #dce5e0;border-radius:16px;background:#f7faf8}.star-workflow-publication .section-heading{margin-bottom:12px}.star-workflow-publication label{display:grid;gap:6px}.star-workflow-preview{margin-top:12px}.star-preview-stages{display:grid;gap:7px}.star-preview-stages>div{display:grid;grid-template-columns:125px 1fr auto;gap:12px;align-items:center;padding:9px 11px;border-radius:10px;background:#fff;border:1px solid #e1e8e4}.star-preview-stages strong{font-size:.82rem}.star-preview-stages span{font-weight:750}.star-preview-stages em{font-style:normal;color:var(--muted,#65716d);font-size:.8rem}
.application-internal-rating{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.application-internal-rating .star-display{font-size:.85rem}.application-internal-rating small{font-size:.72rem;color:var(--muted,#65716d)}
@media(max-width:760px){.freelancer-score-card>summary{grid-template-columns:1fr auto 22px}.score-summary-rating{grid-column:1/2}.engagement-pill{grid-column:2/3;grid-row:1/3}.freelancer-score-body{grid-template-columns:1fr}.star-rule-card{align-items:flex-start;flex-direction:column}.star-rule-actions{justify-content:flex-start}.star-preview-stages>div{grid-template-columns:1fr auto}.star-preview-stages strong{grid-column:1/-1}.scoring-list-heading{align-items:stretch;flex-direction:column}.scoring-list-heading input{width:100%}}

/* v1.3.36.36.126 · public freelancer onboarding */
.join-wolf-page{background:#eef1ef;min-height:100vh}.join-wolf-shell{width:min(860px,calc(100% - 28px));margin:0 auto;padding:36px 0 64px}.join-wolf-brand{text-align:center;margin-bottom:18px}.join-wolf-brand img{width:170px;max-width:55vw}.join-wolf-card{background:#fff;border:1px solid #dfe4e1;border-radius:20px;padding:34px;box-shadow:0 12px 35px rgba(17,39,28,.08)}.join-wolf-card h1{font-size:clamp(2rem,6vw,3.25rem);margin:.15em 0}.join-wolf-lead{font-size:1.15rem;font-weight:700;color:#173f31}.join-wolf-card fieldset{border:0;padding:0;margin:34px 0}.join-wolf-card legend{font-size:1.25rem;font-weight:800;margin-bottom:16px;color:#173f31}.join-wolf-card label{display:flex;flex-direction:column;gap:7px;font-weight:700}.join-wolf-card input,.join-wolf-card textarea,.join-wolf-card select{font:inherit;padding:12px 13px;border:1px solid #cad2cd;border-radius:10px;background:#fff}.join-wolf-card textarea{resize:vertical}.join-wolf-card .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-help{display:block;font-size:.82rem;font-weight:400;color:#657076}.join-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:8px}.join-service-choice{display:flex!important;flex-direction:row!important;align-items:center;gap:9px!important;border:1px solid #d9e0dc;border-radius:10px;padding:10px 12px;font-weight:600!important;background:#f8faf9}.join-service-choice input{width:auto;margin:0}.join-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;padding:15px;background:#f6f8f7;border-radius:12px;font-weight:500!important}.join-consent input{width:auto;margin-top:3px}.join-success{padding:14px 0 4px}.join-success h2{font-size:2rem;margin:.2em 0 .6em}@media(max-width:650px){.join-wolf-card{padding:24px 18px}.join-wolf-card .form-grid,.join-service-grid{grid-template-columns:1fr}.join-wolf-shell{padding-top:22px}}
.onboarding-card .application-card-body{padding:18px}.onboarding-grid{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(280px,1.2fr);gap:24px}.onboarding-grid dl{display:grid;grid-template-columns:145px 1fr;gap:7px 12px}.onboarding-grid dt{color:#657076}.onboarding-grid dd{margin:0}.onboarding-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.onboarding-workflow{margin-top:18px;padding:18px;background:#f5f8f6;border:1px solid #dce5df;border-radius:14px}.current-match{display:flex;flex-direction:row!important;align-items:flex-start;gap:10px!important;padding:10px;margin:8px 0;border:1px solid #dce3df;border-radius:10px;background:#fff}.current-match small{display:block;color:#657076;margin-top:2px}@media(max-width:720px){.onboarding-grid{grid-template-columns:1fr}.onboarding-grid dl{grid-template-columns:1fr}.onboarding-grid dd{margin-bottom:8px}}

.join-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
/* v1.3.36.36.129 · onboarding branding + archived-user controls */
.join-wolf-brand{background:#174d3a;border-radius:14px;padding:14px 20px;display:flex;align-items:center;justify-content:center;min-height:58px;box-shadow:0 8px 24px rgba(17,61,45,.12)}
.join-wolf-brand img{display:block}
.users-archive-toggle{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;font-weight:700;color:#24483b;cursor:pointer}
.users-archive-toggle input{width:auto;margin:0}
.account-status-archived{background:#e7e9e8!important;color:#68716d!important;border-color:#d0d5d2!important}

/* v1.3.36.36.131 · users list search + safer action hierarchy */
.users-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 14px}.users-search-field{flex:1 1 320px;max-width:520px}.users-search-field input{width:100%;min-height:44px;padding:10px 14px;border:1px solid #cfd9d4;border-radius:12px;background:#fff;font:inherit}.users-archive-toggle{margin:0}.user-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.user-action-primary{background:#174d3a;color:#fff;border:1px solid #174d3a;border-radius:10px;font-weight:800}.user-action-primary:hover{background:#123f30}.user-action-secondary{background:#fff!important;border-color:#cfdbd5!important;color:#214b3c!important;border-radius:10px!important}.user-action-more{position:relative}.user-action-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border:1px solid #d6dfda;border-radius:10px;background:#f5f8f6;color:#52615b;font-size:.8rem;font-weight:800}.user-action-more>summary::-webkit-details-marker{display:none}.user-action-more-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:150px;padding:7px;background:#fff;border:1px solid #d7dfdb;border-radius:12px;box-shadow:0 12px 30px rgba(20,45,34,.16)}.user-action-danger{width:100%;text-align:left;padding:9px 10px;border:0;border-radius:8px;background:#fff;color:#9a3c35;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}.user-action-danger:hover{background:#fff1ef}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.users-list-toolbar{align-items:stretch}.users-search-field{max-width:none}.user-action-more-menu{left:0;right:auto}}

/* v1.3.36.36.132 · Wolf-branded compact freelancer onboarding queue */
#onboardingList.application-list{gap:9px;margin-top:12px}
.onboarding-card{overflow:hidden;border:1px solid #d8e2dd;border-left:4px solid var(--green);border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(23,63,49,.045)}
.onboarding-card>summary::-webkit-details-marker{display:none}
.onboarding-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:9px 13px 9px 11px;cursor:pointer;list-style:none;transition:background .16s ease}
.onboarding-card:not([open])>.onboarding-summary:hover{background:#f7faf8}
.onboarding-summary-main{display:flex;align-items:center;gap:11px;min-width:0}
.onboarding-summary-person{display:grid;gap:1px;min-width:0}
.onboarding-summary-person strong{overflow:hidden;color:var(--ink);font-size:.98rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.onboarding-summary-person span{overflow:hidden;color:var(--muted);font-size:.76rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.onboarding-chevron{width:9px;height:9px;flex:0 0 auto;border-right:2px solid #5e7068;border-bottom:2px solid #5e7068;transform:rotate(-45deg);transition:transform .18s ease}
.onboarding-card[open] .onboarding-chevron{transform:rotate(45deg)}
.onboarding-status{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:5px 9px;border:1px solid #d6e2dc;border-radius:999px;background:#eef5f1;color:#24533f;font-size:.66rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}
.onboarding-status-rejected{border-color:#f1d5cb;background:#fff0ea;color:#a64727}
.onboarding-status-activated,.onboarding-status-approved{border-color:#c9dfd3;background:#eaf5ef;color:#17613f}
.onboarding-status-pending_review{border-color:#f0d9ba;background:#fff5e5;color:#9a6418}
.onboarding-status-awaiting_email_verification{border-color:#d9dfe5;background:#f3f5f7;color:#59656f}
.onboarding-status-information_requested{border-color:#d8d6ec;background:#f3f1fb;color:#5e5294}
.onboarding-status-current_sync_attention{border-color:#f1c9bd;background:#fff0eb;color:#a7442d}
.onboarding-card-body{display:grid;gap:14px;padding:16px 17px 17px!important;border-top:1px solid #e4ebe7;background:#fbfcfb}
.onboarding-detail-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(320px,1.15fr);gap:18px}
.onboarding-detail-section{min-width:0;padding:14px;border:1px solid #e1e8e4;border-radius:11px;background:#fff}
.onboarding-section-heading{display:flex;align-items:center;gap:8px;margin:0 0 11px;color:var(--green);font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.onboarding-section-heading:after{content:"";height:1px;flex:1;background:#e5ebe8}
.onboarding-facts{display:grid;grid-template-columns:125px minmax(0,1fr);gap:6px 10px;margin:0}
.onboarding-facts dt{color:#6a756f;font-size:.79rem}
.onboarding-facts dd{margin:0;color:var(--ink);font-size:.82rem;font-weight:700}
.onboarding-referral{display:grid;gap:3px;margin-top:12px;padding:9px 10px;border-left:3px solid #c9d7d0;border-radius:7px;background:#f5f8f6}
.onboarding-referral.has-referral{border-left-color:var(--orange);background:#fff7f0}
.onboarding-referral span{color:#69756f;font-size:.72rem;font-weight:700}
.onboarding-referral strong{color:#23352d;font-size:.84rem}
.onboarding-role-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}
.onboarding-role-badge{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border:1px solid #cfe0d7;border-radius:999px;background:#eef6f2;color:#1b5a42;font-size:.72rem;font-weight:800}
.onboarding-copy-block{margin-top:11px}
.onboarding-copy-label{display:block;margin-bottom:3px;color:#64716b;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.onboarding-copy-block p{margin:0;color:#303b36;line-height:1.45}
.onboarding-profile-link{display:inline-flex;margin-top:12px;color:var(--green);font-size:.82rem;font-weight:800;text-decoration:none}
.onboarding-profile-link:hover{text-decoration:underline}
.onboarding-timeline{border-top:1px solid #e3e9e6;padding-top:11px}
.onboarding-timeline>summary{width:max-content;cursor:pointer;color:#315849;font-size:.8rem;font-weight:800}
.onboarding-timeline-list{display:grid;gap:6px;margin-top:9px;padding:10px 12px;border-radius:9px;background:#f5f8f6}
.onboarding-timeline-list>div{display:grid;grid-template-columns:auto 1fr;gap:4px 7px;align-items:baseline;font-size:.76rem}
.onboarding-timeline-list strong{text-transform:capitalize;color:#284d3f}
.onboarding-timeline-list span{color:#69756f}
.onboarding-timeline-list small{grid-column:1/-1;color:#69756f}
.onboarding-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:0!important}
.onboarding-actions button{min-height:38px;padding:8px 13px;border-radius:9px}
.onboarding-reject-button{color:#9a4334!important;border-color:#e4c8c1!important;background:#fff!important}
.onboarding-workflow{margin-top:2px!important;border-radius:11px!important}
@media(max-width:760px){
  .onboarding-summary{align-items:flex-start;min-height:0;padding:11px 12px}
  .onboarding-summary-person span{white-space:normal}
  .onboarding-status{flex:0 0 auto}
  .onboarding-detail-grid{grid-template-columns:1fr}
  .onboarding-facts{grid-template-columns:110px minmax(0,1fr)}
}
@media(max-width:480px){
  .onboarding-summary{gap:8px}
  .onboarding-status{font-size:.58rem;padding:4px 7px}
  .onboarding-facts{grid-template-columns:1fr;gap:2px}
  .onboarding-facts dd{margin-bottom:6px}
}
.warehouse-colour-form input[type=color]{width:100%;height:42px;padding:3px;border:1px solid #d6dfda;border-radius:10px;background:#fff;cursor:pointer}


/* OPSYS v1.3.36.36.137 — personalised dashboard widgets */
.dashboard-widget-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.dashboard-widget-toolbar p{margin:0}.dashboard-widget-toolbar .muted{font-size:.84rem;margin-top:2px}.dashboard-widget-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dashboard-widget-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row dense;align-items:stretch;gap:16px;margin-bottom:24px}
.dashboard-widget-access-hidden{display:none!important}
.dashboard-widget{position:relative;min-width:0;margin:0!important;grid-column:span 4;transition:box-shadow .16s ease,transform .16s ease}.dashboard-widget[data-dashboard-size="small"]{grid-column:span 3}.dashboard-widget[data-dashboard-size="medium"]{grid-column:span 4}.dashboard-widget[data-dashboard-size="wide"]{grid-column:span 6}.dashboard-widget[data-dashboard-size="large"]{grid-column:span 8}.dashboard-widget[data-dashboard-size="full"]{grid-column:1/-1}.dashboard-widget[data-dashboard-removed="true"]{display:none!important}
.dashboard-widget.is-dragging{opacity:.45;transform:scale(.985)}.dashboard-widget.is-drop-target{box-shadow:0 0 0 2px rgba(21,116,66,.24)}
.dashboard-widget-controls{position:absolute;top:9px;right:9px;z-index:8;display:flex;gap:5px;align-items:center;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .14s ease,transform .14s ease}.dashboard-widget.dashboard-widget-controls-visible>.dashboard-widget-controls,.dashboard-widget>.dashboard-widget-controls:focus-within{opacity:1;pointer-events:auto;transform:translateY(0)}.dashboard-widget-control{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #d9e3dd;border-radius:8px;background:rgba(255,255,255,.96);color:#52615a;font-weight:850;box-shadow:0 2px 8px rgba(25,55,40,.06);cursor:pointer}.dashboard-widget-control:hover{border-color:#a9c5b5;color:var(--green);background:#fff}.dashboard-widget-drag{cursor:grab}.dashboard-widget-drag:active{cursor:grabbing}.dashboard-widget-remove:hover{color:#a92f2f;border-color:#e5bcbc}
.dashboard-widget-link-card{display:flex;flex-direction:column;justify-content:space-between;gap:16px;text-decoration:none;color:inherit;min-height:145px}.dashboard-widget-link-card:hover{border-color:#b9d2c3;box-shadow:0 10px 24px rgba(31,67,48,.07)}.dashboard-widget-link-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-widget-link-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--green-soft);color:var(--green);font-weight:900}.dashboard-widget-link-card h2{margin:4px 0 0;font-size:1.06rem}.dashboard-widget-link-card p{margin:0}.dashboard-widget-link-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--green);font-size:.82rem;font-weight:850}
.dashboard-whats-happening{min-height:220px}.dashboard-whats-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-right:76px}.dashboard-whats-list{display:grid;gap:8px;margin-top:14px}.dashboard-whats-item{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;align-items:center;padding:9px 10px;border:1px solid #edf1ef;border-radius:10px;background:#fbfcfb}.dashboard-whats-time{font-size:.78rem;font-weight:900;color:var(--green)}.dashboard-whats-copy{min-width:0}.dashboard-whats-copy strong,.dashboard-whats-copy span{display:block}.dashboard-whats-copy strong{font-size:.88rem}.dashboard-whats-copy span{margin-top:2px;color:#68746e;font-size:.77rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-whats-empty{padding:18px 4px;color:#718078;font-size:.88rem}
.dashboard-widget-drawer{z-index:1900;display:flex;align-items:stretch;justify-content:flex-end;padding:0;background:rgba(15,28,21,.35)}.dashboard-widget-drawer[hidden]{display:none}.dashboard-widget-drawer-panel{width:min(430px,100vw);max-height:100vh;height:100vh;margin:0;border-radius:18px 0 0 18px;overflow:auto}.dashboard-widget-drawer-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dashboard-widget-catalogue{display:grid;gap:9px;margin-top:18px}.dashboard-widget-catalogue-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfb}.dashboard-widget-catalogue-item strong,.dashboard-widget-catalogue-item span{display:block}.dashboard-widget-catalogue-item span{margin-top:2px;color:#748079;font-size:.78rem}.dashboard-widget-catalogue-item button{min-width:70px}.dashboard-widget-catalogue-empty{padding:22px;text-align:center;border:1px dashed #cdd8d1;border-radius:12px;color:#718078}
.dashboard-widget .jobs-panel{margin:0}.dashboard-widget-grid>.jobs-panel{grid-column:1/-1}.dashboard-widget-grid>.hero-panel{min-height:210px}.dashboard-widget-grid>#overtimePanel,.dashboard-widget-grid>#dashboardFutureCard{min-height:210px}
#legacyDashboardWidgets:empty{display:none}.dashboard-widget-grid+.dashboard-grid:empty{display:none}
@media(max-width:1050px){.dashboard-widget[data-dashboard-size="small"]{grid-column:span 4}.dashboard-widget[data-dashboard-size="medium"]{grid-column:span 6}.dashboard-widget[data-dashboard-size="wide"],.dashboard-widget[data-dashboard-size="large"]{grid-column:span 8}}
@media(max-width:760px){.dashboard-widget-toolbar{align-items:flex-start;flex-direction:column}.dashboard-widget-toolbar-actions{width:100%}.dashboard-widget-toolbar-actions button{flex:1}.dashboard-widget-grid{grid-template-columns:1fr}.dashboard-widget,.dashboard-widget[data-dashboard-size="small"],.dashboard-widget[data-dashboard-size="medium"],.dashboard-widget[data-dashboard-size="wide"],.dashboard-widget[data-dashboard-size="large"],.dashboard-widget[data-dashboard-size="full"]{grid-column:1/-1}.dashboard-widget-controls{opacity:1;pointer-events:auto;transform:none}.dashboard-widget-drag{display:none}.dashboard-widget-drawer-panel{border-radius:0}.dashboard-whats-heading{padding-right:66px}}

/* OPSYS v1.3.36.36.139 — richer dashboard callouts */
.dashboard-widget-link-description{margin-bottom:2px!important}.dashboard-widget-preview{display:grid;gap:7px;margin:-2px 0 2px;padding-top:4px;border-top:1px solid #edf1ee}.dashboard-widget-preview-row{display:grid;gap:1px;min-width:0}.dashboard-widget-preview-row strong{font-size:.82rem;color:#173e31;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-widget-preview-row span{font-size:.73rem;color:#6d7973;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-widget-link-card:has(.dashboard-widget-preview){min-height:250px}


/* OPSYS v1.3.36.36.140 — compact dashboard activity previews */
.dashboard-whats-happening,.dashboard-widget-link-card:has(.dashboard-widget-preview){height:320px;min-height:320px;max-height:320px;overflow:hidden}
.dashboard-whats-happening{display:flex;flex-direction:column}
.dashboard-whats-list{flex:1;align-content:start;overflow:hidden}
.dashboard-widget-link-card:has(.dashboard-widget-preview){gap:12px}
.dashboard-widget-link-card:has(.dashboard-widget-preview) .dashboard-widget-link-description{font-size:.84rem;line-height:1.35}
.dashboard-widget-preview{display:grid;gap:0;margin:0;padding:0;border-top:1px solid #edf1ee;overflow:hidden}
.dashboard-person-row{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;gap:10px;align-items:center;min-height:52px;padding:8px 2px;border-bottom:1px solid #edf1ee}
.dashboard-person-row:last-child{border-bottom:0}
.dashboard-person-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf5f0;color:#14563f;font-size:.72rem;font-weight:900;letter-spacing:.02em}
.dashboard-person-copy{display:block;min-width:0}
.dashboard-person-copy strong,.dashboard-person-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-person-copy strong{font-size:.82rem;color:#173e31;line-height:1.2}
.dashboard-person-copy small{margin-top:3px;color:#6d7973;font-size:.7rem;line-height:1.2}
.dashboard-person-chevron{color:#a0afa7;font-size:1.05rem;font-weight:800}
.dashboard-widget-preview-empty{display:block;padding:16px 2px;font-size:.8rem}
@media(max-width:760px){.dashboard-whats-happening,.dashboard-widget-link-card:has(.dashboard-widget-preview){height:auto;min-height:280px;max-height:none}}

/* OPSYS v1.3.36.36.141 — scrollable Daily Operations widget */
.dashboard-whats-happening .dashboard-whats-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;padding-right:2px;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}
.dashboard-whats-happening .dashboard-whats-list::-webkit-scrollbar{display:none;width:0;height:0}
@media(max-width:760px){.dashboard-whats-happening .dashboard-whats-list{max-height:420px}}

/* v143 Project Info workspace */
.project-workspace-shell{width:min(1280px,calc(100% - 32px));margin:30px auto 72px}.project-workspace-intro{display:flex;justify-content:space-between;gap:24px;margin-bottom:18px}.project-workspace-intro h1{margin:3px 0 8px;color:#143d2a;font-size:clamp(1.75rem,3vw,2.55rem);letter-spacing:-.035em}.project-workspace-intro p{max-width:820px}.project-workspace-picker{position:relative;z-index:20;padding:18px}.project-workspace-picker>label{display:block;margin-bottom:8px;font-weight:800;color:#173d2b}.project-workspace-search-wrap{display:flex;gap:8px}.project-workspace-search-wrap input{flex:1;min-height:48px;font-size:1rem}.project-workspace-picker-message{margin:9px 2px 0;font-size:.8rem}.project-workspace-results{position:absolute;left:18px;right:18px;top:82px;max-height:440px;overflow:auto;padding:6px;border:1px solid #d9e3dc;border-radius:14px;background:#fff;box-shadow:0 18px 44px rgba(24,54,38,.16)}.project-workspace-result{width:100%;display:grid;grid-template-columns:90px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:12px 13px;border:0;border-bottom:1px solid #edf1ee;background:#fff;text-align:left;color:#17382a;cursor:pointer}.project-workspace-result:last-child{border-bottom:0}.project-workspace-result:hover{background:#f4f8f5}.project-workspace-result-type{font-size:.67rem;font-weight:900;letter-spacing:.08em;color:#e66d2e}.project-workspace-result-main{display:grid;gap:3px}.project-workspace-result-main small{color:#718078}.project-workspace-no-results{padding:22px;text-align:center;color:#718078}.project-workspace-empty,.project-workspace-loading{display:flex;align-items:center;justify-content:center;gap:16px;min-height:190px;margin-top:16px;text-align:left}.project-workspace-empty-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e8f2eb;color:#19613c;font-weight:900;font-family:Georgia,serif}.project-workspace-empty>div:last-child,.project-workspace-loading{display:grid;gap:4px}.project-workspace-empty span,.project-workspace-loading span{color:#718078}.project-workspace-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;padding:20px 22px}.project-workspace-hero h2{margin:5px 0 4px;color:#123d2a;font-size:clamp(1.55rem,2.7vw,2.35rem);letter-spacing:-.03em}.project-workspace-scope-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#edf6ef;color:#17613b;font-size:.65rem;font-weight:900;letter-spacing:.09em}.project-workspace-hero-actions{display:flex;gap:8px}.project-workspace-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}.project-workspace-summary>div{display:grid;gap:2px;padding:13px 15px;border:1px solid #dfe7e2;border-radius:11px;background:#fff}.project-workspace-summary span{font-size:.68rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:#718078}.project-workspace-summary strong{font-size:1.45rem;color:#173d2b}.project-workspace-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-workspace-section{overflow:hidden;border:1px solid #dfe7e2;border-radius:13px;background:#fff}.project-workspace-section.is-wide{grid-column:1/-1}.project-workspace-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 14px;border-bottom:1px solid #e7ede9;background:#f8faf9}.project-workspace-section>header h3{margin:0;color:#173d2b;font-size:.91rem}.project-workspace-section>header span{display:block;margin-top:2px;color:#7a857f;font-size:.72rem}.project-workspace-section>header>div:last-child{display:flex;gap:6px}.project-workspace-section-action{padding:6px 9px;border:1px solid #cfdad3;border-radius:8px;background:#fff;color:#496156;font-size:.72rem;font-weight:800;cursor:pointer}.project-workspace-section-action.is-primary{border-color:#b9d8c5;color:#17613b;background:#eef8f1}.project-workspace-section-body{padding:12px 14px}.project-workspace-note{margin:12px 14px 0;padding:10px 12px;border-left:3px solid #e66d2e;border-radius:7px;background:#fff8f3;color:#604b3d;line-height:1.45}.project-workspace-override{display:grid;gap:5px;min-height:80px;place-content:center;padding:18px;text-align:center;border:1px dashed #d1ddd5;border-radius:10px;background:#fafcfb}.project-workspace-override span{font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#e66d2e}.project-workspace-override strong{font-size:1.05rem;color:#173d2b}.project-workspace-empty-copy{margin:0;padding:15px 4px;color:#7a857f;text-align:center}.project-workspace-opportunity-list,.project-workspace-person-list,.project-workspace-mini-list,.project-workspace-document-list{display:grid}.project-workspace-opportunity-list article,.project-workspace-person-list article,.project-workspace-mini-list article,.project-workspace-document-list article{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:10px 2px;border-bottom:1px solid #edf1ee}.project-workspace-opportunity-list article:last-child,.project-workspace-person-list article:last-child,.project-workspace-mini-list article:last-child,.project-workspace-document-list article:last-child{border-bottom:0}.project-workspace-opportunity-list article>div,.project-workspace-mini-list article>div{display:grid;gap:3px}.project-workspace-opportunity-list article>div:last-child,.project-workspace-mini-list article>div:last-child{text-align:right}.project-workspace-opportunity-list span{font-size:.67rem;font-weight:900;color:#e66d2e}.project-workspace-opportunity-list small,.project-workspace-mini-list small{color:#7a857f}.project-workspace-opportunity-list a,.project-workspace-mini-list a,.project-workspace-doc-actions a{color:#17613b;font-size:.75rem;font-weight:800;text-decoration:none}.project-workspace-person-list article{display:grid;grid-template-columns:36px minmax(0,1fr) auto}.project-workspace-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8f2eb;color:#185f3b;font-size:.72rem;font-weight:900}.project-workspace-avatar.is-local{background:#fff0e7;color:#b6541f}.project-workspace-person-list article>div:nth-child(2){display:grid;gap:2px}.project-workspace-person-list small{color:#718078}.project-workspace-person-meta{display:grid;gap:2px;text-align:right;font-size:.75rem;color:#617068}.project-workspace-person-meta a{color:#17613b;text-decoration:none}.project-workspace-status{display:inline-flex;width:fit-content;padding:3px 7px;border-radius:999px;background:#edf2ef;color:#52665b;font-size:.67rem;font-weight:900;text-transform:capitalize}.project-workspace-status.is-valid{background:#eaf6ed;color:#17613b}.project-workspace-status.is-expiring{background:#fff4df;color:#94610a}.project-workspace-status.is-expired,.project-workspace-status.is-missing{background:#fdecec;color:#9b3030}.project-workspace-certificate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-workspace-certificate-grid article{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;border:1px solid #e6ece8;border-radius:9px}.project-workspace-certificate-grid article>div{display:grid;gap:2px}.project-workspace-certificate-grid article>div:last-child{justify-items:end;text-align:right}.project-workspace-certificate-grid small{color:#748078}.project-workspace-document-list article{display:grid;grid-template-columns:44px minmax(0,1fr) auto}.project-workspace-doc-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:#eef4f0;color:#325746;font-size:.65rem;font-weight:900}.project-workspace-document-list article>div:nth-child(2){display:grid;gap:2px}.project-workspace-document-list small{color:#748078}.project-workspace-doc-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.project-workspace-doc-actions button{border:0;background:transparent;color:#9b3030;font-size:.72rem;font-weight:800;cursor:pointer}.project-workspace-client-badge{padding:3px 6px;border-radius:999px;background:#edf6ef;color:#17613b;font-size:.64rem;font-weight:900}.project-workspace-dialog{width:min(660px,calc(100% - 28px));padding:0;border:0;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.28)}.project-workspace-dialog::backdrop{background:rgba(8,31,22,.62);backdrop-filter:blur(3px)}.project-workspace-dialog form{display:grid;gap:15px;padding:20px}.project-workspace-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.project-workspace-dialog-head h2{margin:2px 0 0;color:#173d2b}.project-workspace-dialog textarea{resize:vertical}.project-workspace-override-toggle,.project-workspace-checkbox{display:flex!important;align-items:flex-start!important;gap:9px!important;padding:11px;border:1px solid #dfe7e2;border-radius:10px;background:#fafcfb}.project-workspace-override-toggle input,.project-workspace-checkbox input{width:auto!important;margin-top:3px}.project-workspace-override-toggle span{display:grid;gap:2px}.project-workspace-override-toggle small{color:#718078;font-weight:400}.project-workspace-two-col{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}.project-workspace-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.icon-button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#eef3ef;color:#335747;font-size:1.35rem;cursor:pointer}@media(max-width:820px){.project-workspace-shell{width:min(100% - 20px,1280px);margin-top:18px}.project-workspace-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.project-workspace-sections{grid-template-columns:1fr}.project-workspace-section.is-wide{grid-column:auto}.project-workspace-hero{align-items:flex-start;flex-direction:column}.project-workspace-certificate-grid{grid-template-columns:1fr}.project-workspace-two-col{grid-template-columns:1fr}.project-workspace-person-list article,.project-workspace-document-list article{grid-template-columns:36px minmax(0,1fr)}.project-workspace-person-meta,.project-workspace-doc-actions{grid-column:2;text-align:left;justify-content:flex-start}.project-workspace-result{grid-template-columns:74px minmax(0,1fr) 18px}}

/* v144 Project Info sharing + loader polish */
.project-workspace-loading[hidden],.project-workspace-empty[hidden],#projectInfoWorkspace[hidden]{display:none!important}
.project-share-dialog{width:min(760px,calc(100% - 28px))}
.project-share-sections,.project-share-documents{margin:0;padding:12px;border:1px solid #dfe7e2;border-radius:11px;background:#fafcfb}
.project-share-sections legend,.project-share-documents legend{padding:0 6px;color:#173d2b;font-size:.76rem;font-weight:900}
.project-share-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}
.project-share-sections label,.project-share-documents label{display:flex!important;align-items:flex-start!important;gap:9px!important;margin:0!important;padding:7px 8px;border-radius:8px;background:#fff;border:1px solid #edf1ee;font-weight:700!important}
.project-share-sections input,.project-share-documents input{width:auto!important;margin-top:3px}
.project-share-documents{display:grid;gap:7px}
.project-share-documents label span{display:grid;gap:2px}
.project-share-documents small{color:#718078;font-weight:400}
.project-share-existing{padding:12px;border:1px solid #cfe0d5;border-radius:11px;background:#f4faf6}
.project-share-existing>label{display:grid;gap:7px}
.project-share-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.project-share-link-row input{min-width:0}
.project-share-actions{align-items:center}.project-share-actions .danger-button{margin-right:auto}
.danger-button{padding:9px 12px;border:1px solid #e8c9c9;border-radius:9px;background:#fff;color:#9b3030;font-weight:800;cursor:pointer}
@media(max-width:620px){.project-share-sections{grid-template-columns:1fr}.project-share-link-row{grid-template-columns:1fr}.project-share-actions{flex-wrap:wrap}.project-share-actions .danger-button{width:100%;margin-right:0}}

/* v151 Project Info freelancer sharing */
.project-crew-share-list{display:grid;gap:8px;max-height:390px;overflow:auto;padding-right:2px}
.project-crew-share-person{display:grid;grid-template-columns:auto 38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #e3e9e5;border-radius:10px;background:#fff}
.project-crew-share-person>input{width:auto!important;margin:0!important}
.project-crew-share-person .project-workspace-avatar{width:36px;height:36px}
.project-crew-share-person-copy{display:grid;gap:2px;min-width:0}
.project-crew-share-person-copy strong,.project-crew-share-person-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-crew-share-person-copy small{color:#718078}
.project-crew-share-status{display:grid;justify-items:end;gap:2px;font-size:.7rem;color:#718078;text-align:right}
.project-crew-share-status strong{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#17613b}
@media(max-width:620px){.project-crew-share-person{grid-template-columns:auto 36px minmax(0,1fr)}.project-crew-share-status{grid-column:3;justify-items:start;text-align:left}}

/* v153 — crew hotel requirement marker */
.crew-hotel-requirement-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:2px;border:1px solid #d9e1dc;border-radius:7px;background:#fff;color:#8a9690;font-size:13px;line-height:1;cursor:pointer;transition:.15s ease}
.crew-hotel-requirement-button:hover{border-color:#7d5aa6;color:#4c256d;background:#faf7fc}
.crew-hotel-requirement-button.is-required{border-color:#6d478d;background:#eee7f5;color:#451866;box-shadow:0 0 0 2px rgba(69,24,102,.08)}
.crew-hotel-requirement-button:disabled{opacity:.55;cursor:wait}

/* v154 — hotel requirements live on the booking block, not the person row */
.crew-hotel-requirement-button{display:none!important}
.timeline-block.has-hotel-requirement-action{cursor:default}
.timeline-block.is-hotel-requirement-saving{opacity:.72}
.timeline-hotel-requirement-marker{position:absolute;left:5px;top:4px;width:17px;height:17px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#fff;z-index:6;pointer-events:auto;cursor:pointer;filter:drop-shadow(0 1px 1px rgba(0,0,0,.28))}
.timeline-hotel-requirement-marker svg{width:14px;height:14px;display:block;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* v1.3.36.36.158 — hotel directory + searchable booking picker */
.hotel-picker-shell{display:grid;gap:.55rem}.hotel-picker-shell>label{display:grid;gap:.35rem}.hotel-quick-filters{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.hotel-quick-filters>span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#6d7973);margin-right:.15rem}.hotel-quick-filters button{border:1px solid #d7e1dc;background:#fff;color:#174f3c;border-radius:999px;padding:.35rem .65rem;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.hotel-quick-filters button:hover,.hotel-quick-filters button.is-active{background:#eaf3ef;border-color:#98b7aa}.hotel-picker-shell input[type=search]{width:100%}
.hotel-admin-main{max-width:1500px}.hotel-admin-intro{align-items:flex-end}.hotel-admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 1rem}.hotel-admin-summary article{border:1px solid #dce5e1;border-radius:18px;background:#fff;padding:1rem 1.15rem;display:grid;gap:.2rem}.hotel-admin-summary span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#6b7872}.hotel-admin-summary strong{font-size:1.8rem;color:#114b37}.hotel-admin-settings-card,.hotel-admin-import-card,.hotel-admin-directory-card{margin-top:1rem}.hotel-admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.hotel-admin-section-head h2{margin:.15rem 0 .35rem}.hotel-admin-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}.hotel-admin-quick-grid label{display:grid;gap:.35rem;font-weight:700}.hotel-admin-downloads{display:flex;gap:.5rem;flex-wrap:wrap}.hotel-admin-import-form{display:flex;align-items:end;gap:.8rem;flex-wrap:wrap;margin-top:1rem}.hotel-admin-import-form label{display:grid;gap:.35rem;min-width:min(520px,100%);font-weight:700}.hotel-admin-directory-head{align-items:end}.hotel-admin-filters{display:flex;gap:.55rem;flex-wrap:wrap}.hotel-admin-filters input{min-width:300px}.hotel-admin-list{display:grid;gap:.55rem;margin-top:1rem}.hotel-admin-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #e0e7e3;border-radius:14px;padding:.8rem 1rem;background:#fff}.hotel-admin-row.is-archived{opacity:.58;background:#f5f6f5}.hotel-admin-row-main{display:flex;align-items:flex-start;gap:.8rem;min-width:0}.hotel-admin-row-main>div{display:grid;gap:.12rem;min-width:0}.hotel-admin-row-main strong{font-size:.98rem;color:#14231d}.hotel-admin-row-main span,.hotel-admin-row-main small{color:#6c7872}.hotel-admin-row-main small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:780px}.hotel-chain-pill{display:inline-flex!important;align-items:center;border-radius:999px;background:#eef5f2;color:#19513e!important;padding:.28rem .52rem;font-size:.7rem!important;font-weight:800;white-space:nowrap}.hotel-admin-row-actions{display:flex;gap:.45rem;flex:0 0 auto}.hotel-admin-result-note{text-align:center;padding:.5rem}.hotel-admin-editor{position:relative;width:min(820px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;padding:1.25rem}.hotel-admin-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.hotel-admin-editor>header h2{margin:.15rem 0}.hotel-admin-editor .modal-close{border:0;background:#edf3f0;width:38px;height:38px;border-radius:12px;font-size:1.45rem;color:#194f3d;cursor:pointer}.hotel-admin-editor .is-wide{grid-column:1/-1}
@media(max-width:800px){.hotel-admin-summary,.hotel-admin-quick-grid{grid-template-columns:1fr}.hotel-admin-section-head,.hotel-admin-row{align-items:stretch;flex-direction:column}.hotel-admin-filters{width:100%}.hotel-admin-filters>*{width:100%;min-width:0!important}.hotel-admin-row-actions{justify-content:flex-end}}

/* v161 — exact crew hotel-night editor */
.crew-hotel-night-editor[hidden]{display:none!important}.crew-hotel-night-editor{position:fixed;inset:0;z-index:1700;display:grid;place-items:center;padding:24px}.crew-hotel-night-editor-backdrop{position:absolute;inset:0;background:rgba(14,23,19,.56);backdrop-filter:blur(2px)}.crew-hotel-night-editor-dialog{position:relative;width:min(560px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 40px));overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(10,24,17,.28);border:1px solid #dfe6e2}.crew-hotel-night-editor-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 18px;border-bottom:1px solid #e8eeeb}.crew-hotel-night-editor-dialog>header p{margin:0 0 4px;color:#72508f;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.crew-hotel-night-editor-dialog>header h2{margin:0;font-size:1.35rem}.crew-hotel-night-editor-dialog>header span{display:block;margin-top:4px;color:#718079;font-size:.82rem}.crew-hotel-night-editor-close{border:0;background:transparent;color:#627069;font-size:1.7rem;line-height:1;cursor:pointer}.crew-hotel-night-editor-body{padding:20px 24px}.crew-hotel-night-editor-help{margin:0 0 16px;color:#637168;line-height:1.5}.crew-hotel-night-options{display:grid;gap:9px}.crew-hotel-night-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #dce5e0;border-radius:12px;background:#fbfcfb;cursor:pointer}.crew-hotel-night-option:hover{border-color:#9f83b7;background:#fbf9fd}.crew-hotel-night-option.is-night-before{border-style:dashed}.crew-hotel-night-option input{width:18px;height:18px;accent-color:#5d2c78}.crew-hotel-night-option span{display:grid;gap:2px}.crew-hotel-night-option strong{font-size:.9rem}.crew-hotel-night-option small{color:#718079;font-size:.78rem}.crew-hotel-night-editor-message{min-height:20px;margin:12px 0 0;color:#a4422f;font-size:.82rem;font-weight:700}.crew-hotel-night-editor-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px 22px;border-top:1px solid #e8eeeb}.crew-hotel-night-editor-dialog>footer>div{display:flex;gap:8px}.crew-hotel-night-editor-dialog>footer button{min-height:38px}.crew-hotel-night-remove{border:0;background:transparent;color:#a23b31;font-weight:800;cursor:pointer;padding:8px 0}.crew-hotel-night-remove:hover{text-decoration:underline}@media(max-width:640px){.crew-hotel-night-editor{padding:10px}.crew-hotel-night-editor-dialog{width:100%;max-height:calc(100vh - 20px)}.crew-hotel-night-editor-dialog>footer{align-items:stretch;flex-direction:column-reverse}.crew-hotel-night-editor-dialog>footer>div{display:grid;grid-template-columns:1fr 1fr}.crew-hotel-night-remove{text-align:left}}


/* v164 — multi-recipient client Project Info email */
.project-share-email-panel{display:grid;gap:12px;padding:14px;border:1px solid #dce6e0;border-radius:12px;background:#fbfcfb}
.project-share-email-panel[hidden]{display:none!important}
.project-share-email-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.project-share-email-head>div{display:grid;gap:2px}.project-share-email-head strong{color:#173d2b;font-size:.93rem}.project-share-email-head span{color:#718078;font-size:.78rem}
.project-share-email-panel>label{display:grid;gap:6px;font-weight:800;color:#274a38}.project-share-email-panel textarea{width:100%;resize:vertical}
.project-share-email-help{margin:-4px 0 0;font-size:.75rem}
.project-share-email-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-share-email-actions>span{max-width:430px;font-size:.75rem}
.project-share-email-actions .primary-button{flex:0 0 auto}
@media(max-width:620px){.project-share-email-actions{align-items:stretch;flex-direction:column}.project-share-email-actions .primary-button{width:100%}}

/* v165 — Project Info reusable system documents */
.project-share-system-documents{gap:9px}.project-share-default-set{border-color:#cfe2d6!important;background:#f3faf5!important}.project-share-default-set strong{color:#165d39}.project-share-subheading{display:block;padding:3px 2px 1px;color:#6e7b74;font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.project-share-system-doc-list{display:grid;gap:7px}.project-info-settings-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.project-info-settings-intro h1{margin:3px 0 8px;color:#143d2a;font-size:clamp(1.8rem,3vw,2.65rem);letter-spacing:-.035em}.project-info-settings-intro p{max-width:820px}.project-info-settings-section{margin-top:26px}.project-info-settings-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.project-info-settings-section-head h2,.project-info-system-doc-panel h2{margin:3px 0 6px;color:#173d2b}.project-info-system-doc-panel{padding:20px}.project-info-default-set-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0;padding:13px 14px;border:1px solid #cfe3d6;border-radius:12px;background:#f2faf4}.project-info-default-set-summary>div:first-child{display:grid;gap:2px}.project-info-default-set-summary strong{color:#165d39}.project-info-default-set-summary span,.project-info-default-set-summary small{color:#64746b;font-size:.78rem}.project-info-default-set-pills{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.project-info-default-set-pills span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #d6e6dc;color:#2c5b43;font-size:.7rem;font-weight:800}.project-info-system-doc-form{display:grid;grid-template-columns:1.1fr .9fr 1fr 1.2fr;gap:12px;margin-top:14px}.project-info-system-doc-form>label:not(.project-workspace-checkbox){display:grid;gap:6px;font-weight:800;color:#294b3a}.project-info-system-doc-form .is-wide{grid-column:1/-1}.project-info-system-default-toggle{align-self:end;margin:0!important}.project-info-system-doc-form-actions{display:flex;align-items:center;gap:12px}.project-info-show-archived{display:flex;align-items:center;gap:7px;color:#617168;font-weight:800}.project-info-show-archived input{width:auto}.project-info-system-doc-list{display:grid;gap:11px}.project-info-system-doc-card{overflow:hidden;border:1px solid #dfe7e2;border-radius:13px;background:#fff}.project-info-system-doc-card.is-archived{opacity:.67;background:#f7f8f7}.project-info-system-doc-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid #e7ede9;background:#f8faf9}.project-info-system-doc-title{display:flex;align-items:center;gap:10px;min-width:0}.project-info-system-doc-title>div{display:grid;gap:2px;min-width:0}.project-info-system-doc-title strong,.project-info-system-doc-title small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-info-system-doc-title small{color:#76827c}.project-info-system-doc-badges{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.project-info-system-status,.project-info-system-default-badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.65rem;font-weight:900}.project-info-system-status.is-active{background:#eaf6ed;color:#17613b}.project-info-system-status.is-expired{background:#fdecec;color:#9b3030}.project-info-system-status.is-archived{background:#edf0ee;color:#68746e}.project-info-system-default-badge{background:#fff2e8;color:#b7541f}.project-info-system-doc-fields{display:grid;grid-template-columns:1.3fr .8fr .75fr 1.15fr;gap:10px;padding:13px 14px}.project-info-system-doc-fields>label:not(.project-workspace-checkbox){display:grid;gap:5px;font-weight:800;color:#294b3a}.project-info-system-doc-fields>label small{font-weight:400}.project-info-system-doc-card>footer{display:flex;justify-content:flex-end;gap:8px;padding:0 14px 14px}.project-info-system-doc-empty{display:grid;place-items:center;gap:3px;min-height:110px;color:#6c7972;text-align:center}.project-info-term-create-form{display:grid;grid-template-columns:.9fr 2fr 130px auto;align-items:end;gap:12px;margin-bottom:14px;padding:16px}.project-info-term-create-form h3{grid-column:1/-1;margin:0;color:#173d2b}.project-info-term-create-form>label{display:grid;gap:5px;font-weight:800}.project-info-term-create-form textarea{min-height:84px;resize:vertical}.project-info-terms-settings .project-info-settings-grid{margin-top:12px}
@media(max-width:980px){.project-info-system-doc-form,.project-info-system-doc-fields,.project-info-term-create-form{grid-template-columns:1fr 1fr}.project-info-system-doc-form .is-wide,.project-info-term-create-form h3{grid-column:1/-1}.project-info-system-default-toggle{align-self:auto}.project-info-term-create-form .project-info-system-doc-form-actions{grid-column:1/-1}}
@media(max-width:680px){.project-info-settings-intro,.project-info-settings-section-head,.project-info-default-set-summary{align-items:stretch;flex-direction:column}.project-info-system-doc-form,.project-info-system-doc-fields,.project-info-term-create-form{grid-template-columns:1fr}.project-info-system-doc-form .is-wide,.project-info-term-create-form h3,.project-info-term-create-form .project-info-system-doc-form-actions{grid-column:auto}.project-info-system-doc-card>header{align-items:flex-start;flex-direction:column}.project-info-system-doc-badges{justify-content:flex-start}.project-info-system-doc-card>footer{flex-wrap:wrap;justify-content:stretch}.project-info-system-doc-card>footer>*{flex:1;text-align:center}.project-info-default-set-pills{justify-content:flex-start}}

/* v1.3.36.36.166 — equipment certificate administration */
.certificate-admin-shell{max-width:1380px}.certificate-admin-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:24px;padding:22px}.certificate-admin-form{display:grid;gap:12px}.certificate-admin-form h2,.certificate-admin-list-head h2{margin:2px 0 8px;color:#173d2b}.certificate-admin-form label{display:grid;gap:6px;font-size:.78rem;font-weight:800;color:#50635a}.certificate-admin-form input,.certificate-admin-form select{min-height:44px;border:1px solid #d5dfd9;border-radius:10px;padding:9px 11px;background:#fff}.certificate-admin-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.certificate-admin-category-form{padding-left:24px;border-left:1px solid #e2e8e4}.certificate-admin-list-panel{margin-top:16px;padding:20px}.certificate-admin-list-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.certificate-admin-list-head input{width:min(390px,100%);min-height:42px;border:1px solid #d5dfd9;border-radius:10px;padding:8px 11px}.certificate-admin-list{display:grid;margin-top:14px}.certificate-admin-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.4fr) minmax(180px,.9fr) auto;align-items:center;gap:18px;padding:13px 4px;border-top:1px solid #e8eeea}.certificate-admin-row>div{display:grid;gap:3px}.certificate-admin-row span{color:#718078;font-size:.78rem}.certificate-admin-status{padding:5px 9px;border-radius:999px;font-weight:800}.certificate-admin-status.is-valid{background:#e8f5ec;color:#17613b}.certificate-admin-status.is-due{background:#fff3e7;color:#a4531f}.certificate-admin-status.is-expired{background:#fbe9e5;color:#9a3723}.certificate-admin-status.is-archived{background:#eef1ef;color:#6b7771}@media(max-width:850px){.certificate-admin-grid{grid-template-columns:1fr}.certificate-admin-category-form{padding-left:0;border-left:0;border-top:1px solid #e2e8e4;padding-top:20px}.certificate-admin-row{grid-template-columns:1fr}.certificate-admin-list-head{align-items:stretch;flex-direction:column}.certificate-admin-two{grid-template-columns:1fr}}

/* v167 Certificates operational workspace */
.certificate-job-picker{position:relative;z-index:5}.certificate-pack-workspace{display:grid;gap:16px;margin-top:16px}.certificate-pack-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px}.certificate-pack-head h2{margin:2px 0 5px;color:#173d2b}.certificate-pack-summary-panel{padding:18px 22px}.certificate-pack-stats{display:flex;flex-wrap:wrap;gap:12px}.certificate-pack-stats>div{display:grid;gap:2px;min-width:150px;padding:12px 14px;border:1px solid #e1e9e4;border-radius:12px;background:#f9fbfa}.certificate-pack-stats strong{font-size:1.35rem;color:#173d2b}.certificate-pack-stats span{font-size:.76rem;color:#708078}.certificate-pack-summary-panel>p{margin:12px 0 0}.certificate-pack-list-panel,.certificate-pack-extras-panel,.certificate-pack-actions-panel{padding:20px 22px}.certificate-select-all{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:800;color:#4f6258}.certificate-pack-list{display:grid;margin-top:14px}.certificate-pack-row{display:grid;grid-template-columns:30px minmax(160px,.8fr) minmax(260px,1.4fr) auto;align-items:center;gap:16px;padding:13px 4px;border-top:1px solid #e7ede9}.certificate-pack-row>div{display:grid;gap:3px}.certificate-pack-row span{font-size:.78rem;color:#718078}.certificate-pack-row.is-missing{background:linear-gradient(90deg,rgba(166,65,40,.04),transparent)}.certificate-pack-check input{width:18px;height:18px}.certificate-missing-dot{display:inline-grid!important;place-items:center;width:20px;height:20px;border-radius:50%;background:#f8e2dc;color:#a33f27!important;font-weight:900}.certificate-inline-link{font-size:.76rem;font-weight:800;color:#1e6a45;text-decoration:none;margin-top:3px}.certificate-inline-link:hover{text-decoration:underline}.certificate-extras-list{display:grid;margin-top:12px}.certificate-extra-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 2px;border-top:1px solid #e7ede9}.certificate-extra-row label{display:flex;align-items:center;gap:10px}.certificate-extra-row label>span{display:grid;gap:2px}.certificate-extra-row small{color:#718078}.certificate-extra-row a{font-size:.8rem;font-weight:800;color:#1e6a45}.certificate-extra-button{cursor:pointer}.certificate-pack-actions-panel{display:grid;gap:16px}.certificate-pack-primary-actions{display:flex;gap:10px;flex-wrap:wrap}.certificate-pack-email{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end}.certificate-pack-email label{display:grid;gap:6px;font-size:.78rem;font-weight:800;color:#50635a}.certificate-pack-email input{min-height:44px;border:1px solid #d5dfd9;border-radius:10px;padding:9px 11px;background:#fff}.certificate-admin-intro{margin-top:34px;padding-top:26px;border-top:2px solid #e2e9e5}.certificate-admin-intro h2{margin:4px 0;color:#173d2b}.certificate-pack-empty{margin-top:16px}@media(max-width:800px){.certificate-pack-head{align-items:flex-start;flex-direction:column}.certificate-pack-row{grid-template-columns:28px 1fr}.certificate-pack-row>.certificate-admin-status{grid-column:2}.certificate-pack-email{grid-template-columns:1fr}.certificate-pack-stats>div{flex:1 1 130px}}

/* Equipment certificates v168 */
.certificate-pack-sort label{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;color:#50635a}.certificate-pack-sort select{min-height:38px;border:1px solid #d5dfd9;border-radius:9px;padding:7px 30px 7px 10px;background:#fff}.certificate-pack-filterbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border:1px solid #e2e9e5;border-radius:12px;background:#fafcfb}.certificate-category-filters{display:flex;gap:8px;flex-wrap:wrap}.certificate-category-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #dbe4df;border-radius:999px;background:#fff;font-size:.78rem;font-weight:800;color:#365448;cursor:pointer}.certificate-category-chip input{width:16px;height:16px}.certificate-category-chip small{padding:2px 6px;border-radius:999px;background:#eef3f0;color:#66756d;font-size:.65rem}.certificate-pack-selection-actions{display:flex;gap:8px;flex-wrap:wrap}.certificate-pack-category-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding:8px 10px;border-radius:9px;background:#edf4f0;color:#173d2b}.certificate-pack-category-heading:first-child{margin-top:0}.certificate-pack-category-heading span{font-size:.72rem;color:#6b7972}.certificate-pack-category-label{display:inline-flex!important;width:fit-content;padding:2px 6px;border-radius:999px;background:#eef3f0;color:#53665c!important;font-size:.64rem!important;font-weight:800}.certificate-generate-form{grid-column:1/-1;border-top:1px solid #e2e8e4;padding-top:22px}.certificate-generator-details{border:1px solid #dfe7e2;border-radius:11px;background:#fafcfb}.certificate-generator-details summary{cursor:pointer;padding:11px 13px;font-weight:900;color:#274f3b}.certificate-generator-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 13px 13px}.certificate-generator-fields label{min-width:0}.certificate-generator-fields textarea{width:100%;border:1px solid #d5dfd9;border-radius:10px;padding:9px 11px;background:#fff;resize:vertical}.certificate-generator-wide{grid-column:1/-1}.certificate-category-default{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px;padding:10px;border:1px solid #dfe7e2;border-radius:10px;background:#fafcfb}.certificate-category-default input{min-height:auto!important;width:18px!important;height:18px;margin-top:1px;padding:0!important}
@media(max-width:900px){.certificate-generator-fields{grid-template-columns:1fr 1fr}}@media(max-width:620px){.certificate-generator-fields{grid-template-columns:1fr}.certificate-pack-filterbar{align-items:stretch;flex-direction:column}.certificate-pack-sort label{align-items:flex-start;flex-direction:column}}
.certificate-category-default-list{display:grid;gap:6px;margin-top:6px}.certificate-category-default-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px;padding:8px 10px;border:1px solid #e0e7e3;border-radius:9px;background:#fff}.certificate-category-default-row input{width:17px!important;height:17px;min-height:auto!important}.certificate-category-default-row span{display:grid;gap:1px}.certificate-category-default-row small{font-size:.7rem;font-weight:500;color:#718078}
.certificate-pack-row.is-excluded-default{opacity:.66;background:#fafbfa}.certificate-excluded-dot{display:inline-grid!important;place-items:center;width:20px;height:20px;border-radius:50%;background:#edf0ee;color:#68756e!important;font-weight:900}
.certificate-upload-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.certificate-upload-actions .primary-button,.certificate-upload-actions .secondary-button{width:auto}.certificate-read-confidence{font-weight:800;color:#315544}

/* v1.3.36.36.170 — certificate loading + collapsible sections */
.certificate-equipment-loading{border:1px solid #cfe0d7;border-radius:18px;background:#f5faf7;padding:18px;margin:16px 0 20px}.certificate-equipment-loading[hidden]{display:none!important}.certificate-equipment-loading-head{display:flex;align-items:center;gap:16px}.certificate-equipment-loading-head strong{display:block;color:#173d2b}.certificate-equipment-loading-head p{margin:3px 0 0;color:#6d7b75}.certificate-loading-spinner{width:28px;height:28px;flex:0 0 auto;border:4px solid #c7ded3;border-top-color:#174f3e;border-radius:50%;animation:certificate-spin .8s linear infinite}.certificate-equipment-loading-track{height:8px;background:#e2ece7;border-radius:99px;overflow:hidden;margin:16px 0}.certificate-equipment-loading-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#174f3e,#e66d2e);transition:width .35s}.certificate-equipment-loading-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;margin:0;list-style:none}.certificate-equipment-loading-steps li{padding:10px;border:1px solid #dbe4df;border-radius:10px;background:#fff;color:#66756d;font-size:.76rem;font-weight:750}.certificate-equipment-loading-steps li.is-active{border-color:#aac9b9;background:#eef7f2;color:#174f3e}.certificate-equipment-loading-steps li.is-complete:before{content:'✓ ';color:#e66d2e;font-weight:900}.certificate-equipment-loading.is-error{border-color:#efd1c9;background:#fff7f5}.certificate-equipment-loading.is-error .certificate-loading-spinner{border-color:#efd1c9;border-top-color:#a23b27}@keyframes certificate-spin{to{transform:rotate(360deg)}}
.certificate-collapsible{border:1px solid #dfe8e3;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 1px 0 rgba(21,58,41,.02)}.certificate-collapse-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;background:#f8fbf9;border-bottom:1px solid #e6eeea}.certificate-collapse-head .eyebrow{margin-bottom:5px}.certificate-collapse-head h2{margin:0;color:#173d2b}.certificate-collapse-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.certificate-collapse-toggle{min-height:36px;padding:7px 11px;border:0;border-radius:10px;background:transparent;color:#315746;font:inherit;font-size:.74rem;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.certificate-collapse-toggle:hover{background:#eaf2ed}.certificate-collapse-chevron{font-size:.88rem;line-height:1;color:#ec6f2d}.certificate-collapsible.is-collapsed>*:not(.certificate-collapse-head){display:none!important}.certificate-collapsible.is-collapsed .certificate-collapse-head{margin:0!important;border-bottom:0}.certificate-collapsible.is-collapsed .certificate-collapse-head{background:#fbfcfb}.certificate-admin-form.certificate-collapsible.is-collapsed{align-content:start}.certificate-admin-form .certificate-collapse-head>div{min-width:0}.certificate-admin-form .certificate-collapse-head h2{margin-bottom:0}.certificate-admin-form.certificate-collapsible>*:not(.certificate-collapse-head){margin-left:20px;margin-right:20px}.certificate-admin-form.certificate-collapsible>button:last-of-type,.certificate-admin-form.certificate-collapsible>p:last-child,.certificate-admin-form.certificate-collapsible>div:last-child{margin-bottom:20px}.certificate-pack-sort{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.certificate-admin-list-panel.certificate-collapsible{padding:0}.certificate-admin-list-panel .certificate-admin-list{padding:0 20px 18px;margin-top:0}.certificate-admin-list-head.certificate-collapse-head{align-items:center}.certificate-admin-list-head input{background:#fff}.certificate-admin-row-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:9px}.certificate-view-button{white-space:nowrap;text-decoration:none;min-height:34px;padding:6px 10px}.certificate-admin-row{grid-template-columns:minmax(150px,.8fr) minmax(220px,1.4fr) minmax(180px,.9fr) minmax(220px,auto)}
@media(max-width:760px){.certificate-equipment-loading-steps{grid-template-columns:1fr 1fr}.certificate-collapse-head,.certificate-admin-list-head.certificate-collapse-head{align-items:flex-start;flex-direction:column}.certificate-collapse-actions,.certificate-pack-sort{justify-content:flex-start}}
@media(max-width:520px){.certificate-equipment-loading-steps{grid-template-columns:1fr}}
.certificate-record-edit-menu{position:relative}.certificate-record-edit-menu>summary{list-style:none;cursor:pointer}.certificate-record-edit-menu>summary::-webkit-details-marker{display:none}.certificate-record-edit-menu[open]>.certificate-edit-button{background:#eef5f1;border-color:#aac1b5}.certificate-record-edit-menu form{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:min(560px,calc(100vw - 48px));padding:16px;border:1px solid #d8e3dd;border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(15,48,33,.18)}.certificate-record-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.certificate-record-edit-grid label{display:grid;gap:5px;color:#52635b;font-size:.72rem;font-weight:850}.certificate-record-edit-grid input,.certificate-record-edit-grid select{min-height:40px;border:1px solid #d5dfd9;border-radius:9px;padding:8px 10px;background:#fff}.certificate-record-edit-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.certificate-delete-button{white-space:nowrap}.certificate-record-edit-message{margin:10px 0 0!important;font-size:.72rem}.certificate-admin-row:has(.certificate-record-edit-menu[open]){position:relative;z-index:20}@media(max-width:720px){.certificate-record-edit-grid{grid-template-columns:1fr}.certificate-record-edit-actions{align-items:stretch;flex-direction:column}.certificate-record-edit-actions button{width:100%}}

/* v1.3.36.36.174 — certificate section parity, modal editing and reader review */
.certificate-collapsible{padding:0!important;border:1px solid #dce6e0!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 8px 26px rgba(16,59,41,.04)!important}
.certificate-collapse-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:18px 20px!important;margin:0!important;background:#fff!important;border:0!important;border-bottom:1px solid #e4ebe7!important;cursor:pointer!important;user-select:none}
.certificate-collapse-head>span:first-child{display:grid;gap:4px;min-width:0}
.certificate-collapse-head strong{font-size:1rem;color:#173d2c}
.certificate-collapse-head small{font-size:.8rem;color:#6c7a72;font-weight:500;line-height:1.35}
.certificate-collapse-chevron{font-size:1.4rem!important;line-height:1!important;color:#577066!important;transition:transform .18s ease!important;flex:0 0 auto}
.certificate-collapse-head[aria-expanded="true"] .certificate-collapse-chevron{transform:rotate(180deg)}
.certificate-collapse-head:hover{background:#fbfcfb!important}
.certificate-collapse-head:focus-visible{outline:3px solid rgba(23,90,61,.2);outline-offset:-3px}
.certificate-collapsible.is-collapsed>*:not(.certificate-collapse-head){display:none!important}
.certificate-collapsible.is-collapsed .certificate-collapse-head{border-bottom:0!important}
.certificate-section-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px 0;background:#fff}
.certificate-section-toolbar label{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;color:#50635a}
.certificate-section-toolbar select{min-height:38px;border:1px solid #d5dfd9;border-radius:9px;padding:7px 30px 7px 10px;background:#fff}
.certificate-library-toolbar input{width:min(420px,100%);min-height:44px;border:1px solid #d5dfd9;border-radius:12px;padding:9px 14px;background:#fff;font:inherit}
.certificate-admin-form.certificate-collapsible>*:not(.certificate-collapse-head){margin-left:20px;margin-right:20px}
.certificate-admin-form.certificate-collapsible>.certificate-collapse-head{margin-left:0!important;margin-right:0!important}
.certificate-pack-list-panel .certificate-pack-filterbar,.certificate-pack-list-panel .certificate-pack-list{margin-left:20px;margin-right:20px}
.certificate-pack-extras-panel .certificate-extras-list{margin-left:20px;margin-right:20px;margin-bottom:20px}
.certificate-admin-list-panel .certificate-admin-list{padding:0 20px 18px!important}
.certificate-admin-row-actions .secondary-button,.certificate-view-button,.certificate-edit-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:8px 13px!important;border:1px solid #ccd9d2!important;border-radius:10px!important;background:#fff!important;color:#184a36!important;font:inherit!important;font-size:.78rem!important;font-weight:850!important;line-height:1!important;text-decoration:none!important;cursor:pointer!important;box-shadow:none!important}
.certificate-admin-row-actions .secondary-button:hover,.certificate-view-button:hover,.certificate-edit-button:hover{background:#eef5f1!important;border-color:#adc3b7!important}
body.certificate-edit-open{overflow:hidden}
.certificate-edit-modal[hidden]{display:none!important}
.certificate-edit-modal{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:24px}
.certificate-edit-backdrop{position:absolute;inset:0;background:rgba(7,28,20,.66);backdrop-filter:blur(5px)}
.certificate-edit-dialog{position:relative;z-index:1;width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;border:1px solid #dce6e0;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(4,39,24,.28)}
.certificate-edit-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #e4ebe7;background:#f8fbf9}
.certificate-edit-dialog h2{margin:3px 0 4px;color:#173d2c}
.certificate-edit-dialog .eyebrow{margin:0}
.certificate-edit-close{width:38px;height:38px;border:0;border-radius:50%;background:#e9f1ec;color:#173d2c;font-size:1.5rem;line-height:1;cursor:pointer}
.certificate-edit-close:hover{background:#dfeae3}
.certificate-edit-modal-form{padding:22px}
.certificate-edit-modal-form .certificate-record-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.certificate-edit-modal-form label{display:grid;gap:6px;color:#52635b;font-size:.74rem;font-weight:850}
.certificate-edit-modal-form input,.certificate-edit-modal-form select{min-height:42px;border:1px solid #d5dfd9;border-radius:10px;padding:8px 10px;background:#fff;font:inherit}
.certificate-edit-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid #e4ebe7}
@media(max-width:720px){.certificate-edit-modal-form .certificate-record-edit-grid{grid-template-columns:1fr}.certificate-edit-modal-actions{align-items:stretch;flex-direction:column}.certificate-edit-modal-actions button{width:100%}.certificate-section-toolbar{justify-content:flex-start}.certificate-library-toolbar input{width:100%}}
