:root{
  --bg:#f3f7f1;
  --panel:#ffffff;
  --ink:#102017;
  --muted:#6b7a70;
  --green:#247647;
  --green-dark:#0d4426;
  --green-soft:#e7f4eb;
  --gold:#d8aa3f;
  --blue:#2563eb;
  --purple:#7c3aed;
  --red:#b42318;
  --line:#dbe8df;
  --shadow:0 18px 45px rgba(19,38,27,.09);
  --shadow-sm:0 10px 24px rgba(19,38,27,.07);
}

/* Guided setup: service catalog coach marks */
.services-mobile-new{
  display:none;
}
.setup-tour-layer[hidden]{
  display:none!important;
}
.setup-tour-layer{
  position:fixed;
  inset:0;
  z-index:2068;
  width:100vw;
  height:100vh;
  height:100dvh;
  pointer-events:none;
  transform:none!important;
  filter:none!important;
}
.setup-tour-spotlight{
  position:fixed;
  z-index:2070;
  border:3px solid #f5cf58;
  border-radius:17px;
  pointer-events:none;
  background:rgba(255,255,255,.04);
  box-shadow:0 0 0 9999px rgba(6,25,15,.58),0 0 0 7px rgba(245,207,88,.25),0 12px 42px rgba(6,25,15,.32);
  transition:left .2s ease,top .2s ease,width .2s ease,height .2s ease;
  animation:setup-tour-pulse 1.45s ease-in-out infinite;
}
.setup-tour-coach{
  --tour-arrow-x:50%;
  position:fixed;
  z-index:2072;
  margin:0;
  padding:20px 48px 18px 20px;
  border:1px solid rgba(204,228,211,.95);
  border-radius:22px;
  background:#fff;
  color:#102017;
  box-shadow:0 24px 70px rgba(4,24,13,.3);
  transition:left .2s ease,top .2s ease;
  max-height:calc(100dvh - 24px);
  overflow:auto;
  overscroll-behavior:contain;
  pointer-events:auto;
}
.setup-tour-coach:before{
  content:"";
  position:absolute;
  left:var(--tour-arrow-x);
  width:20px;
  height:20px;
  background:#fff;
  border-color:rgba(204,228,211,.95);
  transform:translateX(-50%) rotate(45deg);
  animation:setup-tour-arrow 1s ease-in-out infinite;
}
.setup-tour-coach.points-up:before{
  top:-11px;
  border-left:1px solid;
  border-top:1px solid;
}
.setup-tour-coach.points-down:before{
  bottom:-11px;
  border-right:1px solid;
  border-bottom:1px solid;
}
.setup-tour-kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:8px;
  color:#17683c;
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.setup-tour-coach h2{
  margin:0 0 7px;
  font-size:1.25rem;
  line-height:1.15;
  font-weight:950;
  letter-spacing:-.025em;
}
.setup-tour-coach p{
  margin:0;
  color:#5c6f63;
  font-size:.94rem;
  line-height:1.48;
}
.setup-tour-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:15px;
}
.setup-tour-actions .btn{
  min-height:42px;
}
.setup-tour-close{
  position:absolute;
  top:12px;
  right:12px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid #d8e7dd;
  border-radius:12px;
  background:#f4f8f4;
  color:#254333;
}
.setup-tour-transitioning{
  opacity:.45;
}
.setup-tour-shake{
  animation:setup-tour-shake .32s ease-in-out;
}
.setup-tour-confetti{
  position:fixed;
  z-index:2080;
  top:-22px;
  width:10px;
  height:18px;
  border-radius:3px;
  pointer-events:none;
  animation:setup-tour-confetti 1.9s cubic-bezier(.2,.75,.25,1) forwards;
}
@keyframes setup-tour-pulse{
  0%,100%{border-color:#f5cf58;filter:brightness(1)}
  50%{border-color:#fff0a6;filter:brightness(1.08)}
}
@keyframes setup-tour-arrow{
  0%,100%{margin-top:0}
  50%{margin-top:3px}
}
@keyframes setup-tour-shake{
  0%,100%{transform:translateX(0)}
  30%{transform:translateX(-7px)}
  70%{transform:translateX(7px)}
}
@keyframes setup-tour-confetti{
  0%{opacity:1;transform:translate3d(0,-20px,0) rotate(0)}
  100%{opacity:0;transform:translate3d(var(--confetti-x),105vh,0) rotate(720deg)}
}
@media(max-width:991px){
  .services-screen .services-mobile-new{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    min-height:52px;
    margin:0 0 14px;
    border-radius:16px;
  }
}
@media(max-width:575px){
  .setup-tour-coach{
    padding:17px 44px 16px 17px;
    border-radius:19px;
  }
  .setup-tour-coach h2{font-size:1.1rem}
  .setup-tour-coach p{font-size:.88rem;line-height:1.42}
  .setup-tour-actions{margin-top:12px}
  .setup-tour-actions .btn{width:100%;justify-content:center}
}

.promise-agent-pilot{
  margin:0 18px 18px;
  padding:18px;
  border:1px solid #cbe2d3;
  border-radius:22px;
  background:linear-gradient(145deg,#f3fbf6,#fff 68%);
  box-shadow:0 12px 30px rgba(13,79,45,.07);
}
.promise-agent-head{display:flex;align-items:flex-start;gap:12px}
.promise-agent-mark{
  display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;
  border-radius:14px;background:#0f6a3b;color:#fff;font-size:1.15rem;
}
.promise-agent-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.promise-agent-title-row h3{margin:0;color:#123824;font-size:1.08rem}
.promise-agent-title-row span{
  padding:3px 8px;border-radius:999px;background:#e8f3ff;color:#155ba5;
  font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;
}
.promise-agent-head p{margin:3px 0 0;color:#607268;font-size:.88rem}
.promise-agent-form{
  display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr;gap:11px;
  align-items:end;margin-top:16px;
}
.promise-agent-form label{display:grid;gap:5px;margin:0;min-width:0}
.promise-agent-form label>span{color:#405b4b;font-size:.76rem;font-weight:820}
.promise-agent-form input,.promise-agent-form select{
  width:100%;height:44px;padding:0 11px;border:1px solid #bfd7c7;
  border-radius:12px;background:#fff;color:#173524;outline:none;
}
.promise-agent-form input:focus,.promise-agent-form select:focus{
  border-color:#2d8f5b;box-shadow:0 0 0 3px rgba(45,143,91,.12);
}
.promise-agent-service{grid-column:span 2}
.promise-agent-money{display:flex;align-items:center;border:1px solid #bfd7c7;border-radius:12px;background:#fff}
.promise-agent-money:focus-within{border-color:#2d8f5b;box-shadow:0 0 0 3px rgba(45,143,91,.12)}
.promise-agent-money b{padding-left:11px;color:#52705f}
.promise-agent-money input{border:0;box-shadow:none!important}
.promise-agent-submit{min-height:44px}
.promise-agent-status{
  margin-top:13px;padding:10px 12px;border:1px solid #cfe1d5;border-radius:12px;
  background:#fff;color:#405b4b;font-size:.86rem;font-weight:720;
}
.promise-agent-status.is-error{border-color:#efc4bd;background:#fff2ef;color:#8f251b}
.promise-agent-results{display:grid;gap:10px;margin-top:13px}
.promise-agent-result-summary{display:flex;justify-content:space-between;gap:10px;color:#496153;font-size:.8rem}
.promise-agent-scenario{
  padding:14px;border:1px solid #cfe0d5;border-radius:16px;background:#fff;
}
.promise-agent-scenario.is-recommended{border-color:#1f8a51;box-shadow:0 0 0 1px #1f8a51}
.promise-agent-scenario-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.promise-agent-scenario-head b{display:block;color:#173824}
.promise-agent-scenario-head small{display:block;margin-top:2px;color:#687b70}
.promise-agent-risk{padding:4px 8px;border-radius:999px;background:#e5f6eb;color:#12663b;font-size:.72rem;font-weight:850}
.promise-agent-risk.risk-medium{background:#fff3d6;color:#805900}
.promise-agent-risk.risk-high{background:#ffebe8;color:#99261b}
.promise-agent-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:11px 0}
.promise-agent-metrics div{padding:8px;border-radius:11px;background:#f4f8f5}
.promise-agent-metrics small,.promise-agent-metrics b{display:block}
.promise-agent-metrics small{color:#6a7b71;font-size:.67rem;font-weight:780;text-transform:uppercase}
.promise-agent-metrics b{margin-top:2px;color:#173824;font-size:.9rem}
.promise-agent-reasons{margin:0;padding-left:18px;color:#566c5f;font-size:.78rem}
.promise-agent-scenario-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}
.promise-agent-scenario-actions small{color:#6b7d72}
.promise-agent-draft-link{display:inline-flex;align-items:center;gap:7px}
@media(max-width:900px){
  .promise-agent-form{grid-template-columns:1fr 1fr}
  .promise-agent-service{grid-column:span 2}
  .promise-agent-metrics{grid-template-columns:1fr 1fr}
}
@media(max-width:575px){
  .promise-agent-pilot{margin:0 12px 16px;padding:14px;border-radius:18px}
  .promise-agent-form{grid-template-columns:1fr}
  .promise-agent-service{grid-column:1}
  .promise-agent-submit{width:100%}
  .promise-agent-scenario-actions{align-items:stretch;flex-direction:column}
  .promise-agent-scenario-actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .setup-tour-spotlight,
  .setup-tour-coach:before{
    animation:none!important;
    transition:none!important;
  }
  .setup-tour-confetti{display:none!important}
}

/* Legal y cumplimiento */
.compliance-hero {
  align-items: center;
  background: linear-gradient(135deg, #0d4426, #18633d);
  border-radius: 18px;
  color: #fff;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  padding: 1.55rem 1.7rem;
}
.compliance-hero.compact {
  margin-bottom: 1rem;
  padding: 1.25rem 1.45rem;
}
.compliance-hero span {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  display: inline-block;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: .04em;
  margin-bottom: .75rem;
  padding: .35rem .7rem;
  text-transform: uppercase;
}
.compliance-hero h2 {
  font-size: clamp(1.65rem, 2.3vw, 2.5rem);
  font-weight: 850;
  margin: 0 0 .35rem;
}
.compliance-hero p {
  color: rgba(255,255,255,.86);
  margin: 0;
  max-width: 680px;
}
.compliance-hero aside {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 16px;
  min-width: 260px;
  padding: 1rem;
}
.compliance-hero aside small,
.compliance-hero aside strong,
.compliance-hero aside a {
  color: #fff;
  display: block;
}
.compliance-hero aside a {
  font-weight: 750;
  margin-top: .55rem;
}
.compliance-kpis {
  display: grid;
  gap: .85rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-bottom: 1rem;
}
.compliance-kpis a {
  background: #fff;
  border: 1px solid #dbe8df;
  border-radius: 16px;
  color: #12231a;
  min-height: 92px;
  padding: 1rem;
  text-decoration: none;
}
.compliance-kpis b {
  display: block;
  font-size: 1.55rem;
}
.compliance-kpis span {
  color: #62756b;
  font-size: .85rem;
}
.compliance-tabs {
  display: flex;
  gap: .45rem;
  margin: 0 0 1rem;
  overflow-x: auto;
  padding-bottom: .15rem;
}
.compliance-tabs a {
  background: #fff;
  border: 1px solid #d7e5dc;
  border-radius: 12px;
  color: #14251c;
  flex: 0 0 auto;
  font-weight: 760;
  padding: .7rem 1rem;
  text-decoration: none;
}
.compliance-tabs a.active {
  background: #17834e;
  border-color: #17834e;
  color: #fff;
}
.compliance-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 2fr) minmax(300px, .95fr);
}
.compliance-grid .span-2 {
  grid-column: span 1;
}
.compliance-panel {
  background: #fff;
  border: 1px solid #dbe8df;
  border-radius: 18px;
  overflow: hidden;
}
.panel-title {
  align-items: center;
  border-bottom: 1px solid #edf3ef;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 1rem 1.2rem;
}
.panel-title h3 {
  font-size: 1.05rem;
  font-weight: 850;
  margin: 0;
}
.panel-title p {
  color: #65776e;
  margin: .15rem 0 0;
}
.compliance-table-wrap {
  overflow-x: auto;
}
.compliance-table {
  border-collapse: collapse;
  min-width: 760px;
  width: 100%;
}
.compliance-table th,
.compliance-table td {
  border-bottom: 1px solid #edf3ef;
  padding: .9rem 1rem;
  text-align: left;
  vertical-align: top;
}
.compliance-table th {
  color: #596d63;
  font-size: .72rem;
  text-transform: uppercase;
  white-space: nowrap;
}
.compliance-table td strong,
.compliance-table td small {
  display: block;
}
.compliance-table td small,
.muted {
  color: #687970;
}
.table-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.status-pill {
  background: #eef4f1;
  border-radius: 999px;
  color: #315244;
  display: inline-block;
  font-size: .76rem;
  font-weight: 800;
  padding: .32rem .65rem;
  white-space: nowrap;
}
.status-pill.active,
.status-pill.accepted,
.status-pill.completed,
.status-pill.closed {
  background: #daf7e6;
  color: #11653b;
}
.status-pill.draft,
.status-pill.pending,
.status-pill.identity_pending,
.status-pill.waiting,
.status-pill.medium {
  background: #fff4d8;
  color: #7a4e00;
}
.status-pill.archived,
.status-pill.revoked,
.status-pill.inactive {
  background: #eef0f1;
  color: #4d5960;
}
.status-pill.rejected,
.status-pill.high,
.status-pill.critical,
.status-pill.notification_pending {
  background: #ffe1e1;
  color: #9f1d1d;
}
.row-danger {
  background: #fff8f1;
}
.compliance-form {
  display: grid;
  gap: .8rem;
  padding: 1rem 1.2rem 1.2rem;
}
.compliance-form.wide {
  padding: 1.2rem;
}
.compliance-form label {
  color: #283d32;
  font-weight: 760;
}
.compliance-form input,
.compliance-form select,
.compliance-form textarea,
.inline-status-form select {
  background: #fff;
  border: 1px solid #cfe0d6;
  border-radius: 12px;
  color: #17281f;
  display: block;
  margin-top: .35rem;
  padding: .72rem .85rem;
  width: 100%;
}
.compliance-note,
.legal-meta-box {
  background: #f7faf8;
  border: 1px solid #dbe8df;
  border-radius: 14px;
  color: #40564b;
  padding: .85rem 1rem;
}
.legal-meta-box {
  display: grid;
  gap: .2rem;
  margin-bottom: 1.2rem;
}
.legal-meta-box span {
  color: #61746b;
}
.form-grid.two {
  display: grid;
  gap: .8rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.check-row {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
}
.inline-check {
  align-items: center;
  display: flex;
  gap: .5rem;
}
.inline-check input,
.check-row input {
  margin: 0;
  width: auto;
}
.form-actions {
  display: flex;
  gap: .65rem;
  justify-content: flex-end;
}
.compliance-actions,
.mini-list,
.compliance-card-list {
  display: grid;
  gap: .75rem;
  padding: 1rem 1.2rem 1.2rem;
}
.compliance-actions a,
.mini-list a,
.mini-list > div,
.subprocessor-card {
  border: 1px solid #dbe8df;
  border-radius: 14px;
  color: #16261d;
  padding: .85rem;
  text-decoration: none;
}
.compliance-actions a {
  align-items: center;
  display: flex;
  gap: .75rem;
  font-weight: 760;
}
.mini-list strong,
.mini-list span,
.mini-list em {
  display: block;
}
.mini-list span,
.mini-list em {
  color: #687970;
  font-style: normal;
  margin-top: .12rem;
}
.empty-tight {
  color: #687970;
  padding: .9rem;
  text-align: center;
}
.compliance-facts {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 1rem 1.2rem 1.2rem;
}
.compliance-facts div {
  background: #f7faf8;
  border-radius: 12px;
  padding: .8rem;
}
.compliance-facts dt {
  color: #61746b;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}
.compliance-facts dd {
  font-weight: 760;
  margin: .15rem 0 0;
}
.inline-status-form {
  align-items: center;
  display: flex;
  gap: .45rem;
}
.subprocessor-card header {
  align-items: flex-start;
  display: flex;
  gap: .8rem;
  justify-content: space-between;
}
.subprocessor-card header strong,
.subprocessor-card header span {
  display: block;
}
.subprocessor-card p {
  color: #556a5f;
  margin: .7rem 0;
}
.subprocessor-card dl {
  display: grid;
  gap: .55rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}
.subprocessor-card dt {
  color: #61746b;
  font-size: .68rem;
  text-transform: uppercase;
}
.subprocessor-card dd {
  margin: 0;
}
.security-control-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.security-control {
  background: #fff;
  border: 1px solid #dbe8df;
  border-radius: 18px;
  display: flex;
  gap: .9rem;
  padding: 1rem;
}
.security-control > i {
  align-items: center;
  background: #e8f7ee;
  border-radius: 14px;
  color: #137a48;
  display: flex;
  flex: 0 0 44px;
  height: 44px;
  justify-content: center;
}
.security-control h3 {
  font-size: 1rem;
  font-weight: 850;
  margin: 0 0 .25rem;
}
.security-control p {
  color: #61746b;
  margin: 0 0 .6rem;
}
.legal-public-body {
  background: #f5f8f6;
  color: #13251c;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin: 0;
}
.legal-public-page {
  margin: 0 auto;
  max-width: 960px;
  padding: 2rem 1rem 4rem;
}
.legal-public-page header {
  align-items: center;
  background: #0d4426;
  border-radius: 20px;
  color: #fff;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding: 1.5rem;
}
.legal-public-page header span {
  color: #c7f0d7;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.legal-public-page header h1 {
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  margin: .25rem 0;
}
.legal-public-page header p {
  color: rgba(255,255,255,.82);
  margin: 0;
}
.legal-document {
  background: #fff;
  border: 1px solid #dbe8df;
  border-radius: 20px;
  padding: 1.6rem;
}
.legal-document h2 {
  font-size: 1.55rem;
  margin: 0 0 1rem;
}
.legal-document h3 {
  font-size: 1.1rem;
  margin: 1.2rem 0 .4rem;
}
.legal-document p {
  color: #31443a;
  line-height: 1.65;
}
.legal-public-page footer {
  color: #65776e;
  font-size: .9rem;
  padding: 1rem .25rem;
}

@media (max-width: 1100px) {
  .compliance-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .security-control-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .compliance-hero,
  .legal-public-page header {
    align-items: stretch;
    flex-direction: column;
  }
  .compliance-hero aside {
    min-width: 0;
  }
  .compliance-kpis {
    display: flex;
    overflow-x: auto;
    padding-bottom: .25rem;
  }
  .compliance-kpis a {
    flex: 0 0 185px;
  }
  .compliance-grid,
  .form-grid.two,
  .security-control-grid,
  .compliance-facts,
  .subprocessor-card dl {
    grid-template-columns: 1fr;
  }
  .panel-title,
  .inline-status-form {
    align-items: stretch;
    flex-direction: column;
  }
  .compliance-table {
    min-width: 680px;
  }
}

/* Company center */
.company-center-hero,
.company-page-head {
  background: linear-gradient(135deg, #0b6f43, #124d34);
  border-radius: 18px;
  color: #fff;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding: 1.25rem;
}
.company-page-head {
  display: block;
}
.company-center-hero span,
.company-page-head span {
  color: rgba(255,255,255,.72);
  display: block;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.company-center-hero h2,
.company-page-head h2 {
  font-size: clamp(1.45rem, 2vw, 2.15rem);
  margin: .12rem 0;
}
.company-center-hero p,
.company-page-head p {
  color: rgba(255,255,255,.84);
  margin: 0;
}
.company-center-hero aside {
  align-self: center;
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 16px;
  min-width: 260px;
  padding: .8rem;
}
.company-center-hero aside small,
.company-center-hero aside b {
  display: block;
}
.company-progress {
  background: rgba(255,255,255,.2);
  border-radius: 999px;
  height: 9px;
  margin-top: .65rem;
  overflow: hidden;
}
.company-progress i {
  background: #fff;
  display: block;
  height: 100%;
}
.company-kpis {
  display: grid;
  gap: .8rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 1rem;
}
.company-kpis a {
  align-items: center;
  background: #fff;
  border: 1px solid #dfe8e2;
  border-radius: 14px;
  color: #17241c;
  display: flex;
  gap: .8rem;
  padding: .85rem;
  text-decoration: none;
}
.company-kpis i {
  align-items: center;
  background: #e6f5eb;
  border-radius: 12px;
  color: #0c7a45;
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}
.company-kpis b,
.company-kpis small {
  display: block;
}
.company-kpis b {
  font-size: 1.3rem;
}
.company-kpis small {
  color: #65766d;
}
.company-section {
  margin-bottom: 1rem;
  overflow: hidden;
}
.company-card-grid,
.company-service-grid,
.company-integration-grid {
  display: grid;
  gap: .85rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: .9rem;
}
.company-config-card,
.company-service-card,
.integration-card,
.qa-card,
.company-task-list article {
  background: #fff;
  border: 1px solid #dfe8e2;
  border-radius: 14px;
  color: #17241c;
  padding: .95rem;
  text-decoration: none;
}
.company-config-card {
  display: flex;
  gap: .85rem;
}
.company-config-card > i,
.company-task-list article > i,
.integration-card header > i {
  align-items: center;
  background: #e9f7ee;
  border-radius: 13px;
  color: #0c7a45;
  display: inline-flex;
  flex: 0 0 auto;
  height: 44px;
  justify-content: center;
  width: 44px;
}
.company-config-card h3,
.company-service-card b,
.integration-card h3,
.qa-card h3 {
  font-size: 1rem;
  margin: 0 0 .25rem;
}
.company-config-card p,
.company-service-card p,
.integration-card p,
.qa-card p,
.company-task-list p {
  color: #63756b;
  margin: 0;
}
.company-config-card span,
.soft-badge,
.status-pill {
  background: #edf6f0;
  border-radius: 999px;
  color: #0c6f42;
  display: inline-flex;
  font-size: .75rem;
  font-weight: 800;
  margin-top: .55rem;
  padding: .18rem .55rem;
}
.status-pill.warn {
  background: #fff3cf;
  color: #7b5200;
}
.status-pill.muted {
  background: #eef2ef;
  color: #617168;
}
.status-pill.danger {
  background: #fee4e2;
  color: #9a221a;
}
.company-service-card header small {
  display: block;
  margin-top: .2rem;
}
.company-card-actions {
  align-items: center;
  border-top: 1px solid #e6eee9;
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .75rem;
  padding-top: .75rem;
}
.company-card-actions form {
  margin: 0;
}
.company-task-list {
  display: grid;
  gap: .7rem;
  padding: .9rem;
}
.company-task-list article {
  align-items: center;
  display: grid;
  gap: .75rem;
  grid-template-columns: auto minmax(0,1fr) auto;
}
.company-tabs {
  display: flex;
  gap: .5rem;
  margin-bottom: 1rem;
  overflow-x: auto;
}
.company-tabs a {
  background: #fff;
  border: 1px solid #dfe8e2;
  border-radius: 999px;
  color: #163523;
  font-weight: 780;
  padding: .55rem .8rem;
  text-decoration: none;
  white-space: nowrap;
}
.company-form-layout {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0,1fr) minmax(310px, 380px);
}
.company-form-layout.single {
  grid-template-columns: minmax(0, 900px);
}
.company-form-card,
.company-email-card {
  margin-bottom: 1rem;
  overflow: hidden;
}
.company-alert {
  align-items: center;
  display: flex;
  gap: .55rem;
}
.company-note {
  background: #f6faf7;
  border: 1px solid #e1ebe4;
  border-radius: 12px;
  color: #66766d;
  margin-top: .75rem;
  padding: .7rem;
}
.company-role-help {
  background: #f7fbf8;
  border: 1px solid #e1ebe4;
  border-radius: 14px;
  margin: 1rem 0;
  padding: .9rem;
}
.company-role-help h3 {
  font-size: 1rem;
  margin: 0 0 .5rem;
}
.company-role-help ul {
  display: grid;
  gap: .35rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding-left: 1.1rem;
}
.sticky-actions {
  align-items: center;
  background: rgba(255,255,255,.94);
  border-top: 1px solid #e1ebe4;
  bottom: 0;
  display: flex;
  gap: .5rem;
  margin: 1rem -1rem -1rem;
  padding: .8rem 1rem;
  position: sticky;
  z-index: 5;
}
.company-brand-row {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: 240px minmax(0,1fr);
}
.company-save-footer {
  align-items: center;
  border-top: 1px solid #e1ebe4;
  display: flex;
  justify-content: flex-end;
  padding: 1rem;
}
.company-bottom-save {
  justify-content: center;
  min-height: 46px;
  min-width: 190px;
}
.company-logo-preview {
  align-items: center;
  background: #f6faf7;
  border: 1px dashed #bdd3c6;
  border-radius: 16px;
  display: grid;
  min-height: 150px;
  padding: 1rem;
  text-align: center;
}
.company-logo-preview span {
  align-items: center;
  background: #e7f5eb;
  border-radius: 16px;
  color: #0c7a45;
  display: inline-flex;
  font-size: 1.4rem;
  height: 58px;
  justify-content: center;
  justify-self: center;
  width: 58px;
}
.company-logo-preview img {
  border-radius: 12px;
  justify-self: center;
  max-height: 78px;
  max-width: 180px;
  object-fit: contain;
}
.company-email-card dl,
.company-service-card dl,
.reports-crew-card dl,
.company-service-card dl,
.reports-customer-row dl {
  display: grid;
  gap: .55rem;
}
.company-email-card dt,
.company-service-card dt {
  color: #64766d;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}
.company-email-card dd,
.company-service-card dd {
  margin: 0;
  font-weight: 760;
}

.email-advanced-page{display:grid;gap:20px}.email-advanced-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;border-radius:24px;background:linear-gradient(135deg,#075b38,#12834e);color:#fff}.email-advanced-hero h2{margin:4px 0 6px}.email-advanced-hero p{margin:0;color:#e6f7ed}.email-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.email-metrics-grid article{display:flex;align-items:center;gap:14px;padding:20px;background:#fff;border:1px solid #dce8e1;border-radius:18px}.email-metrics-grid article>i{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#e7f7ee;color:#078148;font-size:1.25rem}.email-metrics-grid small,.email-metrics-grid strong{display:block}.email-metrics-grid strong{font-size:1.55rem}.email-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:18px}.connected-mailbox{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #cfe3d7;border-radius:16px;background:#f6fcf8;margin-bottom:14px}.connected-mailbox strong,.connected-mailbox span,.connected-mailbox small{display:block}.provider-logo{display:grid!important;place-items:center;width:48px;height:48px;border-radius:14px;background:#fff;color:#087c46;font-size:1.3rem}.email-provider-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.email-provider-actions form,.email-provider-actions button{width:100%}.email-provider-actions small{display:block;margin-top:6px;color:#7b887f}.email-domain-form>div{display:flex;gap:8px}.email-domain-row{padding:15px 0;border-top:1px solid #e0e8e3}.email-domain-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.dns-record{display:grid;gap:6px;margin:10px 0;padding:10px;border-radius:12px;background:#f5f8f6;overflow-wrap:anywhere}.dns-record code{white-space:normal}.email-domain-actions{display:flex;justify-content:flex-end;gap:8px}.email-history-panel .card-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.email-history-panel table{width:100%;min-width:760px}.email-history-panel th,.email-history-panel td{padding:13px;border-top:1px solid #e4ebe7;text-align:left}.responsive-table{overflow-x:auto}.empty-state.compact{padding:24px;text-align:center;color:#6d7b73}

@media(max-width:900px){.email-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.email-settings-grid{grid-template-columns:1fr}.email-history-panel .card-header{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.email-advanced-hero{align-items:flex-start;flex-direction:column;padding:20px}.email-metrics-grid{grid-template-columns:1fr}.email-provider-actions{grid-template-columns:1fr}.email-domain-form>div{align-items:stretch;flex-direction:column}.email-metrics-grid article{padding:16px}}
.email-status-pill {
  border-radius: 999px;
  font-weight: 800;
  margin-bottom: .8rem;
  padding: .35rem .65rem;
  width: fit-content;
}
.email-status-pill.ok {
  background: #e1f6e8;
  color: #0b7142;
}
.email-status-pill.warn {
  background: #fff3cf;
  color: #7b5200;
}
.company-filter-card {
  margin-bottom: 1rem;
  padding: .9rem;
}
.company-filters {
  align-items: end;
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(3, minmax(0,1fr)) auto auto;
}
.company-filters label span {
  color: #30463a;
  display: block;
  font-size: .78rem;
  font-weight: 800;
  margin-bottom: .25rem;
}
.company-table-wrap {
  overflow-x: auto;
}
.company-table {
  margin: 0;
  width: 100%;
}
.company-table th,
.company-table td {
  border-bottom: 1px solid #e5eee8;
  padding: .85rem;
  vertical-align: middle;
}
.company-table th {
  color: #52665b;
  font-size: .78rem;
  text-transform: uppercase;
  white-space: nowrap;
}
.company-invite-options {
  display: grid;
  gap: .85rem;
  grid-template-columns: repeat(2, minmax(0,1fr));
  margin: 1rem 0;
}
.company-invite-options > div {
  background: #f8fbf9;
  border: 1px solid #e1ebe4;
  border-radius: 14px;
  padding: .9rem;
}
.company-service-card header,
.integration-card header {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  gap: .75rem;
}
.company-service-card dl {
  grid-template-columns: repeat(2, minmax(0,1fr));
  margin: .8rem 0;
}
.audit-integrity-card {
  align-items: center;
  border-left: 5px solid #18864f;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding: 1rem;
}
.audit-integrity-card.danger {
  border-left-color: #b42318;
}
.audit-integrity-card > div:first-child {
  align-items: center;
  display: flex;
  gap: .85rem;
}
.audit-integrity-icon {
  align-items: center;
  background: #e6f5eb;
  border-radius: 14px;
  color: #0c7a45;
  display: inline-flex;
  flex: 0 0 auto;
  height: 48px;
  justify-content: center;
  width: 48px;
}
.audit-integrity-card.danger .audit-integrity-icon {
  background: #fee4e2;
  color: #b42318;
}
.audit-integrity-card h3 {
  font-size: 1.05rem;
  margin: 0 0 .2rem;
}
.audit-integrity-card p,
.audit-integrity-card small {
  color: #65766d;
  margin: 0;
}
.audit-table td small,
.company-table td small {
  color: #6b7a70;
  display: block;
  margin-top: .15rem;
}
.audit-detail summary {
  color: #0c6f42;
  cursor: pointer;
  font-weight: 800;
}
.audit-detail dl {
  background: #f7fbf8;
  border: 1px solid #e1ebe4;
  border-radius: 12px;
  margin: .5rem 0 0;
  min-width: 260px;
  padding: .7rem;
}
.audit-detail dt {
  color: #65766d;
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
}
.audit-detail dd {
  margin: 0 0 .45rem;
}
.audit-detail pre {
  max-height: 180px;
  overflow: auto;
  white-space: pre-wrap;
}
.integration-card {
  display: grid;
  gap: .75rem;
}
.integration-card.quickbooks-card {
  grid-column: 1 / -1;
}
.quickbooks-meta {
  display: grid;
  gap: .65rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.quickbooks-meta span {
  background: #f6faf7;
  border: 1px solid #e1ebe4;
  border-radius: 12px;
  min-width: 0;
  padding: .7rem;
}
.quickbooks-meta b,
.quickbooks-meta code {
  display: block;
}
.quickbooks-meta b {
  color: #607268;
  font-size: .72rem;
  margin-bottom: .2rem;
  text-transform: uppercase;
}
.quickbooks-meta code {
  overflow-wrap: anywhere;
  white-space: normal;
}
.quickbooks-notice {
  align-items: flex-start;
  background: #fff9e8;
  border: 1px solid #efd88d;
  border-radius: 12px;
  display: flex;
  gap: .7rem;
  padding: .8rem;
}
.quickbooks-notice.danger {
  background: #fff2f1;
  border-color: #f0b7b2;
  color: #8f251d;
}
.quickbooks-notice p {
  margin: .15rem 0;
}
.quickbooks-preview {
  border: 1px solid #e1ebe4;
  border-radius: 12px;
  overflow: hidden;
}
.quickbooks-preview > div:first-child {
  align-items: center;
  background: #f6faf7;
  display: flex;
  justify-content: space-between;
  padding: .7rem .8rem;
}
.quickbooks-preview small {
  color: #65766d;
}
.quickbooks-preview .table-responsive {
  max-height: 310px;
}
.quickbooks-preview table {
  margin: 0;
  min-width: 480px;
}
.quickbooks-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.quickbooks-actions form {
  margin: 0;
}
.quickbooks-sync-panel {
  background: #fbfdfb;
  border: 1px solid #dce9df;
  border-radius: 16px;
  display: grid;
  gap: 1rem;
  padding: 1rem;
}
.quickbooks-sync-heading,
.quickbooks-form-head,
.quickbooks-setup-step,
.quickbooks-execute-form {
  align-items: center;
  display: flex;
  gap: .8rem;
  justify-content: space-between;
}
.quickbooks-sync-heading h4,
.quickbooks-sync-heading p,
.quickbooks-form-head p,
.quickbooks-setup-step p {
  margin: 0;
}
.quickbooks-sync-heading > div > span {
  color: #187b46;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.quickbooks-ownership {
  align-items: center;
  display: grid;
  gap: .75rem;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}
.quickbooks-ownership > div {
  align-items: flex-start;
  background: #eef8f1;
  border: 1px solid #d9eade;
  border-radius: 12px;
  display: flex;
  gap: .65rem;
  padding: .8rem;
}
.quickbooks-ownership span,
.quickbooks-ownership b {
  display: block;
}
.quickbooks-ownership span {
  color: #64766d;
  font-size: .85rem;
}
.quickbooks-ownership b {
  color: #153c29;
  margin-bottom: .15rem;
}
.quickbooks-setup-step,
.quickbooks-mapping-form,
.quickbooks-selection-form,
.quickbooks-controlled-preview,
.quickbooks-sync-result {
  background: #fff;
  border: 1px solid #e1ebe4;
  border-radius: 12px;
  padding: .9rem;
}
.quickbooks-mapping-form,
.quickbooks-selection-form,
.quickbooks-controlled-preview,
.quickbooks-sync-result {
  display: grid;
  gap: .85rem;
}
.quickbooks-form-head > span,
.quickbooks-setup-step > div > span {
  align-items: center;
  background: #16834b;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  flex: 0 0 2rem;
  font-weight: 900;
  height: 2rem;
  justify-content: center;
}
.quickbooks-form-head > div,
.quickbooks-setup-step > div > div {
  flex: 1;
}
.quickbooks-setup-step > div {
  align-items: center;
  display: flex;
  gap: .8rem;
}
.quickbooks-mapping-grid {
  display: grid;
  gap: .8rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.quickbooks-mapping-grid label {
  font-weight: 800;
  min-width: 0;
}
.quickbooks-mapping-grid select {
  margin-top: .3rem;
  max-width: 100%;
}
.quickbooks-mapping-grid small {
  color: #687a70;
  display: block;
  font-weight: 500;
  margin-top: .25rem;
}
.quickbooks-entity-grid {
  display: grid;
  gap: .55rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.quickbooks-entity-grid label {
  align-items: center;
  background: #f5faf7;
  border: 1px solid #dfeae2;
  border-radius: 10px;
  display: flex;
  gap: .45rem;
  min-width: 0;
  padding: .65rem;
}
.quickbooks-controlled-preview .table-responsive {
  border: 1px solid #e1ebe4;
  border-radius: 10px;
}
.quickbooks-controlled-preview table {
  margin: 0;
  min-width: 760px;
}
.quickbooks-missing-row td {
  color: #875d00;
  font-size: .82rem;
}
.quickbooks-execute-form {
  align-items: flex-start;
}
.quickbooks-execute-form label {
  display: flex;
  gap: .55rem;
  max-width: 850px;
}
.quickbooks-execute-form input {
  margin-top: .25rem;
}
.quickbooks-sync-result > div {
  display: grid;
  gap: .55rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.quickbooks-sync-result span {
  background: #f4f9f6;
  border-radius: 10px;
  color: #65766d;
  padding: .65rem;
  text-align: center;
}
.quickbooks-sync-result strong {
  color: #173e2b;
  display: block;
  font-size: 1.2rem;
}
.qa-list {
  display: grid;
  gap: .85rem;
}
.qa-card {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0,1fr) minmax(310px, 430px);
}
.qa-card.failed {
  border-left: 5px solid #d34235;
}
.qa-card.passed {
  border-left: 5px solid #18a558;
}
.qa-form {
  display: grid;
  gap: .5rem;
}
.qa-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  justify-content: flex-end;
}
@media (max-width: 1100px) {
  .company-card-grid,
  .company-service-grid,
  .company-integration-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .company-form-layout,
  .qa-card {
    grid-template-columns: 1fr;
  }
  .company-role-help ul {
    grid-template-columns: 1fr;
  }
  .audit-integrity-card {
    align-items: stretch;
    flex-direction: column;
  }
  .quickbooks-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .quickbooks-entity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .company-center-hero {
    display: grid;
  }
  .company-center-hero aside {
    min-width: 0;
  }
  .company-kpis,
  .company-card-grid,
  .company-service-grid,
  .company-integration-grid,
  .company-brand-row,
  .company-invite-options {
    grid-template-columns: 1fr;
  }
  .company-filters {
    grid-template-columns: 1fr;
  }
  .company-bottom-save {
    width: 100%;
  }
  .quickbooks-meta {
    grid-template-columns: 1fr;
  }
  .quickbooks-preview > div:first-child {
    align-items: flex-start;
    flex-direction: column;
    gap: .2rem;
  }
  .quickbooks-actions,
  .quickbooks-actions form,
  .quickbooks-actions .btn {
    width: 100%;
  }
  .quickbooks-sync-heading,
  .quickbooks-form-head,
  .quickbooks-setup-step,
  .quickbooks-execute-form {
    align-items: stretch;
    flex-direction: column;
  }
  .quickbooks-sync-heading .status-pill,
  .quickbooks-form-head .btn,
  .quickbooks-setup-step form,
  .quickbooks-setup-step .btn,
  .quickbooks-execute-form .btn {
    width: 100%;
  }
  .quickbooks-ownership {
    grid-template-columns: 1fr;
  }
  .quickbooks-ownership > i {
    transform: rotate(90deg);
    justify-self: center;
  }
  .quickbooks-mapping-grid,
  .quickbooks-entity-grid,
  .quickbooks-sync-result > div {
    grid-template-columns: 1fr;
  }
  .company-task-list article {
    align-items: start;
    grid-template-columns: auto minmax(0,1fr);
  }
  .company-task-list article .btn {
    grid-column: 1 / -1;
    width: 100%;
  }
  .company-table thead {
    display: none;
  }
  .company-table tr {
    border-bottom: 1px solid #e5eee8;
    display: grid;
    gap: .35rem;
    padding: .85rem;
  }
  .company-table td {
    border: 0;
    display: flex;
    justify-content: space-between;
    padding: .1rem 0;
  }
  .company-table td::before {
    color: #64766d;
    content: attr(data-label);
    font-weight: 800;
    padding-right: 1rem;
  }
}

/* Notifications center */
.notifications-shell {
  display: grid;
  gap: 1rem;
}
.notifications-hero {
  align-items: center;
  background: linear-gradient(135deg, #0b6f43, #124d34);
  border-radius: 18px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  padding: 1.15rem 1.25rem;
}
.notifications-hero .eyebrow {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  color: #0b6f43;
  display: inline-flex;
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.04em;
  margin-bottom: 0.65rem;
  padding: 0.45rem 0.7rem;
  text-shadow: none;
  text-transform: uppercase;
}
.notifications-hero h2 {
  font-size: clamp(1.35rem, 2vw, 2rem);
  margin: 0.1rem 0;
}
.notifications-hero p {
  color: rgba(255, 255, 255, 0.82);
  margin: 0;
}
.notifications-hero-badge {
  align-items: center;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  display: inline-flex;
  font-weight: 760;
  gap: 0.45rem;
  padding: 0.55rem 0.8rem;
  white-space: nowrap;
}
.notification-metrics {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.notification-metric {
  align-items: center;
  background: #fff;
  border: 1px solid #dfe8e2;
  border-radius: 14px;
  color: #122119;
  display: grid;
  gap: 0.15rem;
  grid-template-columns: auto 1fr;
  padding: 0.8rem;
  text-decoration: none;
}
.notification-metric b {
  font-size: 1.35rem;
  line-height: 1;
}
.notification-metric small {
  color: #66766d;
  grid-column: 2;
}
.metric-icon {
  align-items: center;
  border-radius: 12px;
  display: inline-flex;
  grid-row: span 2;
  height: 42px;
  justify-content: center;
  width: 42px;
}
.metric-icon.success { background: #dff5e8; color: #0c7a45; }
.metric-icon.warning { background: #fff3cf; color: #9a6500; }
.metric-icon.danger { background: #fde1df; color: #b42318; }
.metric-icon.neutral { background: #eef3f0; color: #5f7168; }
.notification-tabs {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding-bottom: 0.1rem;
}
.notification-tab {
  align-items: center;
  background: #fff;
  border: 1px solid #dbe7df;
  border-radius: 12px;
  color: #1c2a22;
  display: inline-flex;
  font-weight: 780;
  gap: 0.55rem;
  min-height: 42px;
  padding: 0.6rem 0.9rem;
  text-decoration: none;
  white-space: nowrap;
}
.notification-tab span {
  background: #eef5f0;
  border-radius: 999px;
  color: #0f6f42;
  font-size: 0.75rem;
  padding: 0.12rem 0.45rem;
}
.notification-tab.active {
  background: #0f7a46;
  border-color: #0f7a46;
  color: #fff;
}
.notification-tab.active span {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}
.notifications-layout {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
}
.notification-panel,
.notification-settings-card {
  overflow: hidden;
}
.notification-panel-head small,
.notification-settings-card .card-header small {
  color: #6b7b72;
}
.notification-list {
  display: grid;
  gap: 0.72rem;
  padding: 0.85rem;
}
.notification-card {
  align-items: flex-start;
  background: #fff;
  border: 1px solid #dfe8e2;
  border-left: 5px solid #b8c7bd;
  border-radius: 14px;
  display: grid;
  gap: 0.8rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 0.8rem;
}
.notification-card.notification-info { border-left-color: #4b8fd8; }
.notification-card.notification-success { border-left-color: #19a55a; }
.notification-card.notification-warning { border-left-color: #e0a423; }
.notification-card.notification-danger { border-left-color: #d34235; }
.notification-icon {
  align-items: center;
  background: #f1f6f3;
  border-radius: 12px;
  color: #0e6f43;
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}
.notification-main header {
  align-items: flex-start;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}
.notification-main h3 {
  font-size: 1rem;
  margin: 0;
}
.notification-main p {
  color: #4e5f56;
  margin: 0.18rem 0 0;
}
.notification-meta {
  color: #697a71;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.78rem;
  gap: 0.4rem 0.55rem;
  margin-top: 0.55rem;
}
.notification-meta span:not(:last-child)::after {
  color: #a1afa7;
  content: "·";
  margin-left: 0.55rem;
}
.notification-meta .demo-chip::after,
.notification-meta span:last-child::after {
  content: "";
  margin: 0;
}
.demo-chip {
  background: #ecf8ef;
  border-radius: 999px;
  color: #0b7b45;
  font-weight: 760;
  padding: 0.02rem 0.45rem;
}
.notification-status {
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 800;
  padding: 0.25rem 0.55rem;
  white-space: nowrap;
}
.status-pending,
.status-sent { background: #fff3cf; color: #7b5200; }
.status-read { background: #e6f5eb; color: #0b6f43; }
.status-failed { background: #fde1df; color: #a32117; }
.status-archived { background: #eef2ef; color: #5c6b63; }
.notification-error {
  background: #fff5f4;
  border: 1px solid #f5c7c2;
  border-radius: 10px;
  color: #8e271f;
  font-size: 0.78rem;
  margin-top: 0.55rem;
  padding: 0.45rem 0.55rem;
}
.notification-actions {
  align-items: flex-end;
  display: flex;
  gap: 0.45rem;
}
.notification-empty {
  align-items: center;
  color: #617168;
  display: grid;
  justify-items: center;
  min-height: 260px;
  padding: 2rem;
  text-align: center;
}
.notification-empty i {
  align-items: center;
  background: #eef7f1;
  border-radius: 18px;
  color: #0d7b47;
  display: inline-flex;
  font-size: 1.6rem;
  height: 64px;
  justify-content: center;
  margin-bottom: 0.8rem;
  width: 64px;
}
.notification-empty h3 {
  color: #18261d;
  font-size: 1.05rem;
}
.notification-provider-note {
  align-items: flex-start;
  background: #f6fbf7;
  border-bottom: 1px solid #e3ece6;
  color: #52655b;
  display: flex;
  gap: 0.5rem;
  padding: 0.8rem 1rem;
}
.notification-settings-list {
  display: grid;
  gap: 0.65rem;
  padding: 0.85rem;
}
.notification-setting-row {
  border: 1px solid #e1eae5;
  border-radius: 13px;
  display: grid;
  gap: 0.65rem;
  padding: 0.75rem;
}
.setting-copy b,
.setting-copy small,
.setting-copy span {
  display: block;
}
.setting-copy small {
  color: #65776e;
  margin-top: 0.12rem;
}
.setting-copy span {
  color: #0d7444;
  font-size: 0.74rem;
  font-weight: 780;
  margin-top: 0.28rem;
  text-transform: uppercase;
}
.setting-channels {
  display: grid;
  gap: 0.42rem;
}
.channel-toggle {
  align-items: center;
  background: #f8fbf9;
  border: 1px solid #dfe9e3;
  border-radius: 10px;
  display: flex;
  font-weight: 720;
  gap: 0.45rem;
  padding: 0.45rem 0.55rem;
}
.channel-soon {
  background: #f4f6f5;
  border-radius: 10px;
  color: #718078;
  font-size: 0.78rem;
  padding: 0.42rem 0.55rem;
}

@media (max-width: 1100px) {
  .notifications-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .notifications-hero {
    align-items: flex-start;
    display: grid;
    gap: 0.8rem;
  }
  .notifications-hero-badge {
    justify-content: center;
    white-space: normal;
  }
  .notification-metrics {
    display: flex;
    overflow-x: auto;
    padding-bottom: 0.25rem;
  }
  .notification-metric {
    flex: 0 0 175px;
  }
  .notification-card {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .notification-actions {
    align-items: stretch;
    flex-wrap: wrap;
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
  .notification-main header {
    display: grid;
  }
}
*{box-sizing:border-box}
body{background:radial-gradient(circle at 18% 0%,rgba(216,170,63,.10),transparent 26%),linear-gradient(180deg,#f7faf5,var(--bg));color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;letter-spacing:.005em}
a{text-decoration:none;color:#17683c}a:hover{color:#0d4426}.app-shell{display:flex;min-height:100vh}.sidebar{width:292px;background:linear-gradient(180deg,#0e2117,#173624 62%,#10291b);color:white;position:fixed;inset:0 auto 0 0;padding:24px 22px;display:flex;flex-direction:column;z-index:1000;box-shadow:24px 0 48px rgba(6,15,10,.18)}.brand{display:flex;align-items:center;gap:12px;color:white;margin-bottom:30px}.brand:hover{color:white}.brand-mark{width:50px;height:50px;border-radius:18px;background:linear-gradient(135deg,var(--gold),#72c96e);display:grid;place-items:center;font-weight:950;color:#112016;box-shadow:0 10px 28px rgba(216,170,63,.32)}.brand-logo-wrap{width:58px;height:58px;border-radius:20px;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 12px 28px rgba(6,15,10,.22);border:1px solid rgba(255,255,255,.22);overflow:hidden;flex:0 0 auto}.brand-logo-wrap-light{background:#fff;box-shadow:0 12px 28px rgba(18,44,27,.10);border:1px solid var(--line)}.brand-logo{width:46px;height:46px;object-fit:contain;display:block}.public-brand{margin-bottom:1.3rem}.public-brand .brand-logo-wrap{width:68px;height:68px;border-radius:24px}.public-brand .brand-logo{width:56px;height:56px}.brand b{display:block;font-size:1.2rem;letter-spacing:.4px}.brand small{display:block;color:#c4dacb;margin-top:-1px}.side-nav{display:grid;gap:8px}.side-nav a{color:#d8eadc;padding:12px 14px;border-radius:17px;display:flex;align-items:center;gap:12px;font-weight:720;transition:.16s ease}.side-nav a i{font-size:1.1rem}.side-nav a:hover,.side-nav a.active{background:rgba(255,255,255,.13);color:#fff;transform:translateX(2px);box-shadow:inset 3px 0 0 rgba(216,170,63,.9)}.sidebar-footer{margin-top:auto}.mini-plan{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:11px}.mini-plan-dot{width:10px;height:10px;border-radius:999px;background:#8ee78e;box-shadow:0 0 0 5px rgba(142,231,142,.12)}.mini-plan b{display:block}.mini-plan small{color:#bfd7c5}.user-pill{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.105);padding:10px;border-radius:18px}.avatar{width:38px;height:38px;border-radius:13px;background:#f7d778;color:#13251b;display:grid;place-items:center;font-weight:950}.user-pill small{display:block;color:#cde0d1}.main-content{margin-left:292px;width:calc(100% - 292px);padding:28px 34px 54px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.topbar h1{font-size:1.9rem;margin:0;font-weight:900;letter-spacing:-.035em}.top-title{min-width:0}.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{border-radius:14px;font-weight:750}.btn-primary{background:linear-gradient(135deg,var(--green),#1d8a4f);border-color:#1d7c48;box-shadow:0 10px 24px rgba(36,118,71,.18)}.btn-primary:hover{background:var(--green-dark);border-color:var(--green-dark)}.btn-outline-success{border-color:#2a8a52;color:#17683c}.btn-outline-success:hover{background:#17683c;border-color:#17683c}.btn-light{background:#fff;border:1px solid var(--line)}.btn-gold{background:var(--gold);border-color:var(--gold);color:#172315;font-weight:850}.flash-wrap{position:relative;z-index:3}.card-soft{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);backdrop-filter:blur(8px)}.card-soft .card-header{background:transparent;border-bottom:1px solid var(--line);padding:18px 22px;border-radius:26px 26px 0 0}.card-soft .card-body{padding:22px}.hero-panel{display:flex;justify-content:space-between;gap:22px;align-items:stretch;padding:26px;border-radius:30px;background:linear-gradient(135deg,#102017,#1f5a36 65%,#e0b64d);color:white;box-shadow:0 24px 60px rgba(16,32,23,.20);overflow:hidden;position:relative}.hero-panel:after{content:"";position:absolute;right:-80px;top:-100px;width:260px;height:260px;border-radius:999px;background:rgba(255,255,255,.12)}.hero-panel h2{font-weight:950;letter-spacing:-.045em;max-width:830px;font-size:clamp(1.5rem,3vw,2.45rem)}.hero-panel p{margin:0;color:#dbeee1;max-width:700px}.hero-score{position:relative;z-index:2;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:18px;min-width:180px;display:flex;flex-direction:column;justify-content:center}.hero-score small{color:#dbeee1;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.hero-score strong{font-size:3rem;line-height:1;font-weight:950}.progress{height:10px;border-radius:999px;background:rgba(255,255,255,.20)}.progress-bar{background:#fff;border-radius:999px}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:850;margin-bottom:16px;border:1px solid rgba(255,255,255,.18)}.metric{background:var(--panel);border:1px solid var(--line);border-radius:25px;padding:20px;box-shadow:var(--shadow-sm);height:100%;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;inset:auto -30px -45px auto;width:110px;height:110px;border-radius:999px;background:var(--green-soft)}.metric small{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.055em;position:relative;z-index:1}.metric .value{font-size:2rem;font-weight:950;margin-top:8px;position:relative;z-index:1}.metric i{width:46px;height:46px;border-radius:17px;background:var(--green-soft);display:grid;place-items:center;color:var(--green);font-size:1.3rem;position:relative;z-index:1}.metric-blue i,.metric-blue:after{background:#e8f0ff}.metric-blue i{color:var(--blue)}.metric-gold i,.metric-gold:after{background:#fff5d9}.metric-gold i{color:#8a5b00}.metric-success i,.metric-success:after{background:#e7f8ec}.metric-success i{color:#176331}.quick-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:21px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);margin-bottom:12px}.job-row{position:relative;overflow:hidden}.job-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#a6b7ab}.priority-high:before{background:#f59e0b}.priority-urgent:before{background:#dc2626}.priority-low:before{background:#7aa98a}.job-main{display:flex;align-items:center;gap:14px;min-width:0}.route-number{width:40px;height:40px;border-radius:14px;background:#eef7f0;display:grid;place-items:center;font-weight:950;color:#14532d;flex:0 0 auto}.badge-status{border-radius:999px;padding:.48rem .72rem;font-weight:850;white-space:nowrap}.status-new{background:#eef2f7;color:#334155}.status-scheduled{background:#e7f0ff;color:#174ea6}.status-confirmed{background:#e5f8f0;color:#075e44}.status-on_route{background:#fff4d6;color:#8a5b00}.status-arrived{background:#e0f2fe;color:#075985}.status-in_progress{background:#e7f8ec;color:#176331}.status-paused{background:#fef3c7;color:#92400e}.status-completed{background:#dff5e5;color:#14532d}.status-invoiced{background:#ede9fe;color:#5b21b6}.status-cancelled{background:#ffe5e5;color:#8a1f1f}.status-needs_follow_up{background:#f1e7ff;color:#5a2ca0}.status-draft{background:#eef2f7;color:#334155}.status-sent{background:#e7f0ff;color:#174ea6}.status-approved,.status-paid{background:#dff5e5;color:#14532d}.status-rejected,.status-void{background:#ffe5e5;color:#8a1f1f}.status-partial{background:#fff4d6;color:#8a5b00}.form-control,.form-select{border-radius:15px;border-color:#d7e5dc;padding:.76rem .88rem}.form-control:focus,.form-select:focus{border-color:#47a366;box-shadow:0 0 0 .25rem rgba(36,118,71,.12)}.form-label{font-weight:780;color:#263b2c}.filter-card .form-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.table{vertical-align:middle}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.photo-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.photo-card img{width:100%;height:145px;object-fit:cover}.photo-card div{padding:10px}.landing-hero{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#ecf9ed,#f8fbf6 40%,#e8f1ea);padding:32px}.landing-card{max-width:980px;background:white;border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow);padding:44px}.landing-card h1{font-weight:950;font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.04em}.empty-state{text-align:center;padding:46px 20px;color:var(--muted)}.language-switch .btn{border-radius:14px;font-weight:850;letter-spacing:.04em}.pipeline-row{display:grid;grid-template-columns:125px 1fr 24px;gap:10px;align-items:center;padding:9px 0}.pipeline-row span{font-weight:750}.pipeline-bar{height:10px;background:#edf4ef;border-radius:999px;overflow:hidden}.pipeline-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),#6dbb6d)}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.action-grid a{padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff;display:flex;gap:10px;align-items:center;font-weight:850;color:var(--ink);box-shadow:var(--shadow-sm)}.action-grid a i{width:38px;height:38px;border-radius:14px;background:#edf7ef;color:var(--green);display:grid;place-items:center}.info-grid>div{background:#f7faf7;border:1px solid var(--line);border-radius:18px;padding:14px}.info-grid span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;font-weight:800}.info-grid b{display:block;margin-top:4px}.money-box{background:#f7faf7;border:1px solid var(--line);border-radius:20px;padding:14px 18px;min-width:140px}.money-box small{display:block;color:var(--muted);text-transform:uppercase;font-weight:800}.money-box strong{font-size:1.7rem}.status-flow{display:flex;gap:9px;flex-wrap:wrap}.status-step{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:820;color:#263b2c}.status-step.active{background:var(--green);color:#fff;border-color:var(--green)}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px}.aside-tip{display:flex;gap:12px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;margin-bottom:12px}.aside-tip i{width:38px;height:38px;border-radius:14px;background:#edf7ef;color:var(--green);display:grid;place-items:center;flex:0 0 auto}.aside-tip p{margin:2px 0 0;color:var(--muted);font-size:.92rem}.crew-date-nav{display:flex;align-items:center;gap:10px;padding:12px}.crew-date-nav form{flex:1}.mobile-route-wrap{max-width:920px}.crew-mobile-section{margin-bottom:24px}.crew-mobile-section h5{display:flex;justify-content:space-between;align-items:center;font-weight:900}.crew-mobile-section h5 span{font-size:.85rem;background:#edf7ef;color:var(--green-dark);border-radius:999px;padding:5px 10px}.mobile-job-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;margin-bottom:14px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.mobile-job-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#a6b7ab}.status-left-scheduled:before{background:#174ea6}.status-left-confirmed:before{background:#075e44}.status-left-on_route:before{background:#c98200}.status-left-arrived:before{background:#0284c7}.status-left-in_progress:before{background:#16a34a}.status-left-completed:before{background:#14532d}.mobile-job-card p{margin:4px 0 0;color:var(--muted)}.mobile-job-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.mobile-job-actions a{background:#f7faf7;border:1px solid var(--line);border-radius:14px;padding:10px;text-align:center;font-weight:800;color:var(--ink)}.mobile-status-actions{display:flex;gap:7px;overflow-x:auto;padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}.mobile-status-actions form{flex:0 0 auto}.mobile-status-actions button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:.85rem;font-weight:800}.mobile-status-actions button.active{background:var(--green);border-color:var(--green);color:#fff}.mobile-scrim{display:none}
@media(max-width:1199px){.form-layout{grid-template-columns:1fr}.form-aside{order:-1}.hero-panel{flex-direction:column}.hero-score{max-width:260px}}
@media(max-width:991px){.sidebar{transform:translateX(-105%);transition:.2s}.sidebar.open{transform:translateX(0)}.mobile-scrim.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:999}.main-content{margin-left:0;width:100%;padding:18px}.topbar{align-items:flex-start;gap:12px}.top-actions{flex-wrap:wrap}.table-responsive{border-radius:18px}.metric .value{font-size:1.55rem}.hero-panel{padding:22px}.action-grid{grid-template-columns:1fr}}
@media(max-width:575px){.topbar{display:grid;grid-template-columns:auto 1fr;align-items:start}.top-actions{grid-column:1/3;width:100%}.top-actions .btn{flex:1}.quick-card{align-items:flex-start;flex-direction:column}.job-main{align-items:flex-start}.mobile-job-actions{grid-template-columns:1fr}.hero-panel h2{font-size:1.55rem}.main-content{padding:14px}.card-soft{border-radius:22px}.card-soft .card-body{padding:16px}.pipeline-row{grid-template-columns:110px 1fr 22px}}
/* Phase 3 inventory / job costing */
.inner-card{box-shadow:none;background:#fbfdfb;border-radius:20px}.inner-card .card-header{padding:12px 16px}.inner-card .card-body{padding:16px}.status-planned{background:#e7f0ff;color:#174ea6}.status-reserved{background:#fff4d6;color:#8a5b00}.status-consumed{background:#dff5e5;color:#14532d}.status-not_planned{background:#eef2f7;color:#334155}.badge-soft{display:inline-flex;align-items:center;border-radius:999px;padding:.42rem .65rem;background:#f1f7f3;border:1px solid var(--line);font-weight:800;color:#263b2c}.table td,.table th{white-space:nowrap}.table td:first-child,.table th:first-child{white-space:normal}.metric .value{overflow-wrap:anywhere}.form-aside .aside-tip:last-child{margin-bottom:0}
@media(max-width:575px){.top-actions form.d-inline{width:100%}.top-actions form.d-inline .btn{width:100%}.table td,.table th{font-size:.9rem}.metric{padding:16px}.metric .value{font-size:1.35rem}}

/* Internal product refresh - Aureo Job */
:root{
  --bg:#f5f7f4;
  --panel:#ffffff;
  --ink:#132018;
  --muted:#65746b;
  --green:#1f7a49;
  --green-dark:#0b3d24;
  --green-soft:#e7f3eb;
  --gold:#d3a53a;
  --blue:#2563eb;
  --red:#b42318;
  --line:#dfe8e1;
  --shadow:0 14px 34px rgba(19,38,27,.08);
  --shadow-sm:0 8px 20px rgba(19,38,27,.06);
}
html,body{min-width:0}
body{background:var(--bg);letter-spacing:0}
.app-shell{background:var(--bg)}
.sidebar{width:248px;padding:18px 14px;background:#0b2f1d;box-shadow:14px 0 30px rgba(6,15,10,.13)}
.sidebar-brand-row{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.brand{min-width:0;margin:0;gap:10px;flex:1}
.brand-logo-wrap{width:44px;height:44px;border-radius:14px;box-shadow:none}
.brand-logo{width:36px;height:36px}
.brand b{font-size:1rem}.brand small{font-size:.78rem}
.sidebar-collapse-btn{width:38px;height:38px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center}
.side-nav{gap:4px;padding-right:0}
.side-nav a{min-height:42px;padding:9px 11px;border-radius:11px;font-weight:760;gap:10px;color:#d6e8db;transform:none!important;box-shadow:none!important}
.side-nav a i{width:20px;text-align:center;font-size:1rem}
.side-nav a:hover,.side-nav a.active{background:rgba(255,255,255,.10);box-shadow:inset 2px 0 0 var(--gold)!important}
.sidebar-footer{display:grid;gap:10px;padding-bottom:6px}
.mini-plan{padding:10px;border-radius:12px;margin:0!important}
.mini-plan b,.mini-plan small,.user-pill b,.user-pill small{display:block;line-height:1.15}
.user-menu-toggle{width:100%;border:1px solid rgba(255,255,255,.12);color:#fff;text-align:left}
.user-menu-toggle:hover{color:#fff;background:rgba(255,255,255,.14)}
.user-pill{border-radius:12px;background:rgba(255,255,255,.09);padding:8px}
.avatar,.top-avatar{width:34px;height:34px;border-radius:10px;background:#f2c94c;color:#102017;display:grid;place-items:center;font-weight:950;flex:0 0 auto;border:0}
.sidebar-user-dropdown .dropdown-item{display:flex;align-items:center;gap:8px}
.sidebar-customize-btn{width:100%;min-height:40px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:rgba(255,255,255,.07);color:#d6e8db;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:9px 11px;font-weight:760;text-align:left}.sidebar-customize-btn:hover,.sidebar-customize-btn:focus-visible{background:rgba(255,255,255,.14);color:#fff}.sidebar-customize-btn i{width:20px;text-align:center}.sidebar-collapsed .sidebar-customize-btn{justify-content:center}.sidebar-collapsed .sidebar-customize-btn span{display:none}
.sidebar-preferences-modal .modal-dialog{max-width:590px}.sidebar-preferences-modal .modal-content{border:0;border-radius:18px;overflow:hidden}.sidebar-preferences-modal .modal-header,.sidebar-preferences-modal .modal-footer{padding:16px 18px}.sidebar-preferences-modal .modal-body{padding:18px}.sidebar-preference-list{display:grid;gap:8px}.sidebar-preference-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;gap:10px;align-items:center;min-height:58px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:grab}.sidebar-preference-row:active{cursor:grabbing}.sidebar-preference-row.is-dragging{opacity:.48;border-color:var(--green);background:var(--green-soft)}.sidebar-preference-drag{color:var(--muted);font-size:1.15rem}.sidebar-preference-identity{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-preference-identity>i,.sidebar-preference-identity>.copilot-nav-icon{width:34px;height:34px;border-radius:10px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;flex:0 0 auto}.sidebar-preference-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-preference-controls{display:flex;gap:4px}.sidebar-preference-move{width:34px;min-height:34px;padding:0;display:grid;place-items:center}.sidebar-preference-visible{margin:0;padding-left:2.6em}.sidebar-preference-visible .form-check-input{width:2.25em;height:1.25em;margin-left:-2.6em}.sidebar-preference-status{min-height:24px;margin:12px 0 0;color:var(--muted);font-weight:700}.sidebar-preference-actions{gap:8px}
.main-content{margin-left:248px;width:calc(100% - 248px);padding:18px 24px 42px;transition:margin-left .18s ease,width .18s ease}
.sidebar-collapsed .sidebar{width:74px}
.sidebar-collapsed .main-content{margin-left:74px;width:calc(100% - 74px)}
.sidebar-collapsed .brand-wordmark,.sidebar-collapsed .side-nav span,.sidebar-collapsed .mini-plan,.sidebar-collapsed .user-pill-copy,.sidebar-collapsed .user-menu-toggle .bi-chevron-up{display:none}
.sidebar-collapsed .sidebar-brand-row{justify-content:center}.sidebar-collapsed .sidebar-collapse-btn{display:none}
.sidebar-collapsed .brand{justify-content:center;flex:0 0 auto}.sidebar-collapsed .side-nav a{justify-content:center}.sidebar-collapsed .user-pill{justify-content:center}
.topbar{position:sticky;top:0;z-index:900;display:grid;grid-template-columns:minmax(190px,320px) minmax(260px,1fr) auto;gap:14px;align-items:center;margin:-18px -24px 18px;padding:14px 24px;background:rgba(245,247,244,.92);border-bottom:1px solid rgba(223,232,225,.86);backdrop-filter:blur(16px)}
.topbar h1{font-size:1.48rem;font-weight:880;letter-spacing:0;line-height:1.1}
.top-title .small{font-weight:760}.top-actions{gap:8px;flex-wrap:nowrap}.top-actions .btn{white-space:nowrap}
.btn{border-radius:10px;font-weight:760;min-height:40px}.btn-sm{min-height:34px;border-radius:9px}
.btn-primary{background:#1f7a49;border-color:#1f7a49;box-shadow:none}.btn-primary:hover{background:#155d37;border-color:#155d37}
.btn-light{background:#fff;border:1px solid var(--line);color:#18271e}.btn-light:hover{background:#f3f7f4;border-color:#cddbd1}
.icon-only{width:40px;padding-inline:0;display:inline-grid;place-items:center}
.global-search{position:relative;display:flex;align-items:center;gap:8px;min-width:0;height:42px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 12px;box-shadow:var(--shadow-sm)}
.global-search i{color:#708078}.global-search input{border:0;outline:0;width:100%;min-width:0;height:100%;background:transparent;color:var(--ink)}
.global-search-results{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:420px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px rgba(19,38,27,.16);padding:6px;z-index:1100}
.global-search-results.open{display:grid;gap:4px}.global-search-item{display:flex;gap:10px;align-items:center;padding:10px;border-radius:10px;color:var(--ink)}
.global-search-item:hover{background:#f3f7f4;color:var(--ink)}.global-search-item i{width:34px;height:34px;border-radius:10px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}
.global-search-item b,.global-search-item small{display:block}.global-search-item small,.global-search-empty{color:var(--muted);font-size:.86rem}.global-search-empty{padding:12px}
.panel,.card-soft{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}
.panel-head,.card-soft .card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);background:#fff;border-radius:0}
.panel-head h3,.panel-head h5,.card-soft .card-header h5{font-size:1rem;font-weight:860;margin:0;color:var(--ink)}
.panel-head p{margin:2px 0 0;color:var(--muted);font-size:.9rem}.panel>.table-responsive,.panel>.work-list,.panel>.compact-list,.panel>.attention-list,.panel>.crew-stack,.panel>.action-grid{padding:12px}
.eyebrow{display:inline-flex;align-items:center;gap:6px;color:#2b6948;background:var(--green-soft);border:1px solid #d1e7d7;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:860;text-transform:uppercase}
.ops-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow-sm)}
.ops-strip h2{font-size:1.25rem;margin:4px 0 0;font-weight:880}.ops-strip-metrics{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.ops-strip-metrics span{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid var(--line);background:#f8faf8;border-radius:999px;padding:0 10px;font-weight:760;color:#2c4034}
.ops-strip-metrics .attention{background:#fff8e6;border-color:#f0d58c;color:#7a5412}.ops-strip-metrics .critical{background:#fff0f0;border-color:#ffd1d1;color:#8a1f1f}
.ops-strip-metrics span>i{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#e8f5ec;color:#147342}
.ops-strip-metrics .attention>i{background:#fff3d6;color:#b96800}.ops-strip-metrics .critical>i{background:#fde5e2;color:#b42318}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi-card{position:relative;display:grid;gap:6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;color:var(--ink);box-shadow:var(--shadow-sm)}
.kpi-card:hover{color:var(--ink);border-color:#bed4c5}.kpi-card small{font-weight:820;color:var(--muted);text-transform:uppercase;font-size:.72rem}.kpi-card strong{font-size:1.55rem;line-height:1;font-weight:900}.kpi-card em{font-style:normal;color:var(--muted);font-size:.88rem}
.kpi-icon{position:absolute;right:12px;top:12px;width:38px;height:38px;border-radius:11px;display:grid;place-items:center}.tone-blue{background:#e8f0ff;color:var(--blue)}.tone-green{background:var(--green-soft);color:var(--green)}.tone-gold{background:#fff5d9;color:#8a5b00}
.signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.signal-grid a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:760}.signal-grid b{font-size:1.15rem}.signal-grid span{color:var(--muted);font-size:.9rem}.signal-grid .warning{border-color:#f0d58c;background:#fff9e8}
.setup-panel{display:grid;grid-template-columns:auto minmax(0,1fr) 360px;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow-sm)}
.setup-ring{width:94px;height:94px;border-radius:50%;background:conic-gradient(var(--green) var(--setup-percent),#edf3ee 0);display:grid;place-items:center;position:relative}.setup-ring:before{content:"";position:absolute;inset:9px;background:#fff;border-radius:50%}.setup-ring strong,.setup-ring span{position:relative;display:block;text-align:center}.setup-ring strong{font-size:1.35rem}.setup-ring span{font-size:.72rem;color:var(--muted);margin-top:-18px}
.setup-copy h3{margin:6px 0 4px;font-weight:880}.setup-copy p{color:var(--muted);margin:0 0 10px}.setup-checklist{display:grid;grid-template-columns:1fr 1fr;gap:7px}.setup-checklist span{display:flex;gap:7px;align-items:center;border:1px solid var(--line);background:#f8faf8;border-radius:10px;padding:8px;font-size:.85rem;font-weight:760}.setup-checklist .done{color:#176331;background:#edf8ef}
.work-list{display:grid;gap:10px}.work-item{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;position:relative;overflow:hidden}
.work-item:before,.dispatch-card:before,.unassigned-job-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#a6b7ab}.priority-high:before{background:#f59e0b}.priority-urgent:before{background:#dc2626}.priority-low:before{background:#7aa98a}
.work-time b,.work-time span,.work-copy h4,.work-copy p{display:block}.work-time b{font-size:.95rem}.work-time span,.work-copy p{color:var(--muted);font-size:.9rem;margin:0}.work-copy h4{font-size:1rem;margin:0 0 3px;font-weight:860}.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.chip-row span,.priority-pill{display:inline-flex;border-radius:999px;background:#f1f6f2;border:1px solid var(--line);padding:4px 8px;font-size:.78rem;font-weight:760;color:#34483b}
.work-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.attention-list{display:grid;gap:9px}.attention-item{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--ink)}.attention-item:hover{color:var(--ink);background:#f8faf8}.attention-item span{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--green-soft);color:var(--green)}.attention-item small{display:block;color:var(--muted)}.attention-item.tone-red span{background:#fff0f0;color:var(--red)}.attention-item.tone-gold span{background:#fff5d9;color:#8a5b00}.attention-item.tone-blue span{background:#e8f0ff;color:var(--blue)}
.compact-list{display:grid;gap:8px}.compact-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;color:var(--ink)}.compact-row:hover{color:var(--ink);background:#f8faf8}.compact-row strong,.compact-row small{display:block}.compact-row small{color:var(--muted)}
.date-pill{width:46px;height:46px;border-radius:12px;background:var(--green-soft);color:var(--green-dark);display:grid;place-items:center;line-height:1}.date-pill b{font-size:1rem}.date-pill small{font-size:.68rem;text-transform:uppercase}
.toolbar-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:var(--shadow-sm)}.toolbar-grid{display:grid;grid-template-columns:minmax(240px,1fr) 170px 150px 150px auto auto;gap:8px;align-items:end}.jobs-toolbar{grid-template-columns:150px minmax(220px,1fr) 180px 170px 150px auto auto}.dispatch-toolbar{grid-template-columns:170px 150px 170px auto minmax(240px,1fr)}.unassigned-toolbar{grid-template-columns:180px auto minmax(240px,1fr)}
.toolbar-grid label{margin:0}.toolbar-search{position:relative}.toolbar-search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);z-index:1}.toolbar-search .form-control{padding-left:36px}.toolbar-summary{min-height:40px;display:flex;align-items:center;color:var(--muted);font-weight:760}
.tabs-bar{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.tabs-bar a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-weight:780}.tabs-bar a b{background:#edf3ee;color:#516357;border-radius:999px;padding:2px 7px;font-size:.8rem}.tabs-bar a.active{background:#102017;color:#fff;border-color:#102017}.tabs-bar a.active b{background:rgba(255,255,255,.16);color:#fff}
.data-table{margin:0}.data-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:850;border-bottom:1px solid var(--line)}.data-table td{border-color:#edf2ee}.table-title{font-weight:860;color:var(--ink)}.row-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.pagination-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px;border-top:1px solid var(--line);color:var(--muted);font-weight:760}
.rich-empty{display:grid;place-items:center;gap:8px;min-height:190px;text-align:center;padding:24px;color:var(--muted)}.rich-empty.compact{min-height:130px}.rich-empty i{width:52px;height:52px;border-radius:16px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:1.35rem}.rich-empty h3{font-size:1.05rem;color:var(--ink);font-weight:880;margin:0}.rich-empty p{max-width:460px;margin:0}.rich-empty>div{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.record-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}.record-main{display:grid;gap:14px}.record-summary{position:sticky;top:86px}.form-section{padding-bottom:4px}.form-section>.row,.form-section>.conditional-fields,.form-section>.advanced-panel{padding:0 16px 14px}.form-help{min-height:48px;display:flex;align-items:center;margin:0;color:var(--muted);background:#f8faf8;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.switch-line{display:inline-flex;gap:8px;align-items:center;margin:0;font-weight:780;color:var(--ink)}.switch-line input{width:18px;height:18px}.conditional-fields{display:none}.conditional-fields.show{display:block}.summary-list{display:grid;gap:8px;padding:0 16px}.summary-list span{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf2ee;padding:8px 0}.summary-list b{color:var(--muted);font-size:.82rem}.summary-list em{font-style:normal;font-weight:800;text-align:right}.missing-fields{margin:12px 16px 0;padding:10px;border-radius:10px;background:#f8faf8;border:1px solid var(--line);color:var(--muted);font-weight:760}
.advanced-panel{border-top:1px dashed var(--line)}.advanced-panel summary{cursor:pointer;font-weight:820;color:var(--green-dark);padding-top:12px}.optional-costing-panel{padding:0}.optional-costing-panel summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px}.optional-costing-panel summary::-webkit-details-marker{display:none}.optional-costing-panel summary b,.optional-costing-panel summary small{display:block}.optional-costing-panel summary small{color:var(--muted);font-weight:500}.optional-badge{border-radius:999px;background:#fff5d9;color:#8a5b00;padding:5px 9px;font-weight:850}.optional-costing-body{padding:0 16px 16px;border-top:1px solid var(--line)}
.quick-create-field{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:start}.quick-create-field .mb-3{margin-bottom:0!important}.quick-plus{width:44px;height:44px;border-radius:10px;margin-top:30px;box-shadow:none}
.quick-modal-backdrop{display:block!important;position:fixed!important;inset:0!important;background:rgba(6,15,10,.38)!important;backdrop-filter:blur(5px)!important;z-index:2990!important;opacity:0!important;pointer-events:none!important}.quick-modal-backdrop.show{opacity:1!important;pointer-events:auto!important}
.quick-modal,.quick-inline-host .quick-modal{display:none;position:fixed!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:min(720px,calc(100vw - 32px))!important;max-height:calc(100vh - 32px)!important;overflow:auto!important;z-index:3000!important;opacity:1!important;pointer-events:auto!important;margin:0!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:0 26px 80px rgba(6,15,10,.24)!important}
.quick-modal.open{display:block!important}.quick-modal header,.quick-modal footer{position:sticky!important;background:#fff!important;z-index:1}.quick-modal header{top:0;border-radius:14px 14px 0 0}.quick-modal footer{bottom:0;border-radius:0 0 14px 14px}.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-form-grid .span-2{grid-column:1/-1}.quick-full-link{align-self:end;font-weight:850}
body.quick-modal-open{overflow:hidden!important}.quick-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:3100;background:#102017;color:#fff;border-radius:999px;padding:10px 14px;box-shadow:var(--shadow)}
.import-shell{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:16px}.stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;list-style:none;padding:0;margin:0 0 16px}.stepper li{display:flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:8px;font-weight:780;color:var(--muted)}.stepper b{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:#edf3ee}.stepper .active{color:var(--green-dark);background:var(--green-soft);border-color:#cfe5d5}.upload-zone{display:grid;place-items:center;gap:8px;min-height:230px;border:1px dashed #b8cfc0;border-radius:14px;background:#f8faf8;padding:18px;text-align:center;cursor:pointer}.upload-zone i{font-size:2rem;color:var(--green)}.upload-zone input{max-width:420px}.import-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mapping-list{display:grid;gap:8px;padding:12px}.mapping-list span{display:block;border:1px solid var(--line);border-radius:10px;padding:9px;background:#f8faf8}.mapping-list b,.mapping-list em{display:block}.mapping-list em{font-style:normal;color:var(--muted);font-size:.86rem}
.dispatch-workspace{display:grid;grid-template-columns:300px minmax(0,1fr) 320px;gap:14px;align-items:start}.dispatch-column,.dispatch-map-panel,.dispatch-timeline{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}.dispatch-list,.dispatch-timeline,.dispatch-map-panel .compact-list{padding:12px}.dispatch-list{display:grid;gap:10px;max-height:calc(100vh - 210px);overflow:auto}.dispatch-card{position:relative;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.dispatch-card h4{font-size:.98rem;margin:8px 0 4px;font-weight:860}.dispatch-card p,.dispatch-card small{display:block;color:var(--muted);margin:0}.dispatch-card-actions{display:flex;gap:10px;margin-top:10px;font-weight:850}.dispatch-timeline{display:grid;gap:12px;background:transparent;border:0;box-shadow:none;overflow:visible;padding:0}.dispatch-lane{border-radius:12px;padding:12px;box-shadow:var(--shadow-sm);background:#fff}.timeline-track{display:grid;gap:8px}.map-placeholder{display:grid;place-items:center;text-align:center;gap:8px;margin:12px;border:1px dashed var(--line);border-radius:12px;min-height:180px;background:#f8faf8;color:var(--muted);padding:16px}.map-placeholder i{font-size:2rem;color:var(--green)}
.crew-stack{display:grid;gap:8px}.crew-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--ink)}.crew-card:hover{color:var(--ink);background:#f8faf8}.crew-card small{display:block;color:var(--muted)}.crew-card em{font-style:normal;color:var(--muted);font-size:.84rem}.crew-dot{width:10px;height:10px;border-radius:50%;background:var(--green)}
.unassigned-job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;padding:12px}.unassigned-job-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:14px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px}.unassigned-job-card h3{font-size:1.05rem;font-weight:860;margin:10px 0 4px}.unassigned-job-card p,.unassigned-job-card small{color:var(--muted);margin:0}
.badge-status{border-radius:999px;padding:.38rem .62rem;font-size:.78rem;font-weight:850;display:inline-flex;align-items:center;white-space:nowrap}.status-active{background:#dff5e5;color:#14532d}.status-inactive{background:#eef2f7;color:#334155}.status-lead{background:#e7f0ff;color:#174ea6}
@media(max-width:1280px){.topbar{grid-template-columns:minmax(180px,260px) minmax(220px,1fr);}.top-actions{grid-column:1/-1;justify-content:flex-end}.dispatch-workspace{grid-template-columns:280px minmax(0,1fr)}.dispatch-map-panel{grid-column:1/-1}.kpi-grid,.signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-panel{grid-template-columns:auto minmax(0,1fr)}.setup-checklist{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}}
@media(max-width:991px){.sidebar{transform:translateX(-105%);width:260px}.sidebar.open{transform:translateX(0)}.sidebar-collapsed .sidebar{width:260px}.main-content,.sidebar-collapsed .main-content{margin-left:0;width:100%;padding:14px}.topbar{margin:-14px -14px 14px;padding:12px 14px;grid-template-columns:auto minmax(0,1fr)}.global-search{grid-column:1/-1}.top-actions{display:none}.record-layout,.import-shell,.dispatch-workspace{grid-template-columns:1fr}.record-summary{position:static}.toolbar-grid,.jobs-toolbar,.dispatch-toolbar,.unassigned-toolbar{grid-template-columns:1fr 1fr}.toolbar-search{grid-column:1/-1}.unassigned-job-card{grid-template-columns:1fr}.ops-strip{display:grid}.ops-strip-metrics{justify-content:flex-start}}
@media(max-width:575px){.main-content{padding:calc(var(--mobile-header,56px) + env(safe-area-inset-top) + 14px) 12px calc(112px + env(safe-area-inset-bottom))}.kpi-grid,.signal-grid,.toolbar-grid,.jobs-toolbar,.dispatch-toolbar,.unassigned-toolbar,.setup-checklist,.stepper{grid-template-columns:1fr}.work-item{grid-template-columns:1fr}.work-actions{justify-content:flex-start}.compact-row{grid-template-columns:auto minmax(0,1fr)}.modal-form-grid{grid-template-columns:1fr}.quick-modal,.quick-inline-host .quick-modal{top:auto!important;left:12px!important;right:12px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important;max-height:calc(100vh - 34px - env(safe-area-inset-top))!important;transform:none!important;border-radius:16px 16px 0 0!important}.quick-modal header{border-radius:16px 16px 0 0}.quick-modal footer{display:grid;grid-template-columns:1fr;gap:8px}.quick-modal footer .btn{width:100%}.ops-strip-metrics span{width:100%;justify-content:space-between}.rich-empty>div{display:grid;width:100%}.rich-empty .btn{width:100%}.panel-head{align-items:flex-start;flex-direction:column}.row-actions{justify-content:flex-start}.pagination-row{justify-content:center}.optional-costing-panel summary{grid-template-columns:1fr}.upload-zone{min-height:190px}}
@media(max-width:575px){.sidebar-preference-row{grid-template-columns:20px minmax(0,1fr) auto}.sidebar-preference-controls{grid-column:2;justify-content:flex-start}.sidebar-preference-visible{grid-column:3;grid-row:1/3}.sidebar-preference-actions{display:grid;grid-template-columns:1fr}.sidebar-preference-actions .btn{width:100%;margin:0!important}}

@media(max-width:575px){.brand-logo-wrap{width:52px;height:52px;border-radius:18px}.brand-logo{width:42px;height:42px}.public-brand .brand-logo-wrap{width:62px;height:62px}.public-brand .brand-logo{width:50px;height:50px}}


/* Commercial polish fixes */
.sidebar{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;min-height:0}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px}.side-nav{padding-right:4px}.sidebar-footer{padding-bottom:12px}.field-with-action{display:flex;gap:10px;align-items:flex-end}.field-with-action .form-group,.field-with-action .mb-3{margin-bottom:0!important}.btn-field-action{height:48px;min-width:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;margin-bottom:0}.btn-field-action.disabled{pointer-events:auto;opacity:.55}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-bottom:8px}.estimate-item-row{padding:10px 0;border-bottom:1px dashed rgba(16,32,23,.12)}.form-card-wide{max-width:1180px}.main-content{min-width:0}

/* Company branding */
.user-brand-card{position:relative;isolation:isolate;width:100%;min-height:82px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.06));color:#fff;display:flex;align-items:center;gap:12px;padding:12px;overflow:hidden;text-align:left}.user-brand-card.has-brand-banner{background-image:var(--brand-card-bg);background-size:cover;background-position:center}.user-brand-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,25,13,.72),rgba(4,25,13,.34))}.brand-avatar,.profile-avatar-lg,.mobile-brand-avatar{border-radius:999px;background:#f2c94c;color:#102017;display:grid;place-items:center;font-weight:950;overflow:hidden;flex:0 0 auto}.brand-avatar{width:48px;height:48px;border:2px solid rgba(255,255,255,.72)}.brand-avatar img,.top-avatar img,.profile-avatar-lg img,.mobile-brand-avatar img{width:100%;height:100%;object-fit:cover;display:block}.user-brand-card b,.user-brand-card small{display:block;line-height:1.12;text-shadow:0 1px 7px rgba(0,0,0,.35)}.user-brand-card small{color:rgba(255,255,255,.86)}.top-avatar{overflow:hidden}.sidebar-collapsed .user-brand-card{justify-content:center;min-height:58px}.sidebar-collapsed .user-brand-card .user-pill-copy,.sidebar-collapsed .user-brand-card .bi-chevron-up{display:none}.company-brand-stack{display:grid;gap:1rem}.company-banner-preview{align-items:center;background:#f6faf7;border:1px dashed #bdd3c6;border-radius:16px;display:grid;min-height:130px;padding:1rem;text-align:center;overflow:hidden;position:relative}.company-banner-preview.has-image{min-height:150px;color:#fff}.company-banner-preview.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.46))}.company-banner-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.company-banner-preview b,.company-banner-preview small,.company-banner-preview span{position:relative;z-index:1}.company-banner-preview span{align-items:center;background:#e7f5eb;border-radius:16px;color:#0c7a45;display:inline-flex;font-size:1.4rem;height:58px;justify-content:center;justify-self:center;width:58px}.profile-identity-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.profile-avatar-lg{width:76px;height:76px;border-radius:24px;font-size:1.7rem}.profile-photo-form{border-top:1px solid var(--line);padding-top:1rem;margin-bottom:1rem}.profile-photo-actions{display:flex;gap:.65rem;align-items:center}.profile-photo-actions .form-control{max-width:360px}
@media(max-height:760px){.brand{margin-bottom:14px}.side-nav{gap:4px}.side-nav a{padding:9px 12px}.mini-plan{display:none}}
@media(max-width:991px){.sidebar{max-height:100vh}.field-with-action{align-items:stretch}.btn-field-action{height:auto;min-height:48px}}

/* Second-pass responsive correction for Jobs with the desktop sidebar present. */
@media(max-width:1280px){
  .main-content .tabs-bar{
    flex-wrap:wrap;
    overflow-x:visible;
    max-width:100%;
  }
  .jobs-toolbar{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .jobs-toolbar .toolbar-search{
    grid-column:1/-1;
  }
}


/* Scheduling board */
.schedule-shell{display:grid;gap:12px;position:relative}
.schedule-view-tabs{display:flex;gap:6px;flex-wrap:wrap}
.schedule-view-tabs a{min-height:38px;display:inline-flex;align-items:center;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:0 14px;font-weight:680}
.schedule-view-tabs a.active{background:var(--green);border-color:var(--green);color:#fff}
.schedule-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:var(--shadow-sm)}
.schedule-date-form{display:flex;align-items:end;gap:8px;margin:0}
.schedule-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}
.schedule-summary>div{display:grid;grid-template-columns:36px auto;grid-template-rows:auto auto;align-items:center;gap:0 10px;padding:12px 14px;border-right:1px solid var(--line)}
.schedule-summary>div:last-child{border-right:0}
.schedule-summary i{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--green-soft);color:var(--green)}
.schedule-summary b{font-size:1.12rem;line-height:1;font-weight:860}
.schedule-summary span{color:var(--muted);font-size:.82rem}
.schedule-filter-drawer{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:var(--shadow-sm)}
.schedule-filter-grid{grid-template-columns:minmax(240px,1fr) 180px 160px auto!important}
.schedule-crew-filter{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.schedule-crew-filter label{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#f8faf8;border-radius:999px;padding:8px 11px;font-weight:680}
.schedule-board{display:grid;grid-template-columns:64px repeat(auto-fit,minmax(230px,1fr)) minmax(250px,300px);align-items:start;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);overflow:auto;max-height:calc(100vh - 250px)}
.schedule-hour-rail,.schedule-crew-column,.schedule-unassigned-column{min-width:0;border-right:1px solid var(--line);background:#fff}
.schedule-unassigned-column{border-right:0;position:sticky;right:0;z-index:4}
.schedule-column-head{position:sticky;top:0;z-index:5;min-height:68px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);padding:10px 12px}
.schedule-column-head b,.schedule-column-head small,.schedule-column-head em{display:block}
.schedule-column-head small,.schedule-column-head em{color:var(--muted);font-size:.78rem;font-style:normal}
.crew-avatar-stack span{width:32px;height:32px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);display:grid;place-items:center;font-weight:860}
.schedule-time-grid,.schedule-day-track{position:relative;height:var(--schedule-height);min-height:540px;background:repeating-linear-gradient(to bottom,#fff 0,#fff 119px,#edf2ee 120px)}
.schedule-time-grid span{position:absolute;left:10px;transform:translateY(-8px);font-size:.78rem;font-weight:760;color:#34483b}
.schedule-empty-slot{position:absolute;left:6px;right:6px;border:0;background:transparent;border-radius:8px;color:transparent;z-index:1}
.schedule-empty-slot:hover,.schedule-empty-slot:focus{background:rgba(31,122,73,.08);outline:1px dashed rgba(31,122,73,.35);color:var(--green);font-weight:900}
.schedule-job-card{position:absolute;left:8px;right:8px;z-index:2;border:1px solid #cfe2d4;border-left:4px solid var(--green);border-radius:10px;overflow:hidden;background:#edf8f0}
.schedule-job-card button,.schedule-unassigned-card button{width:100%;height:100%;border:0;background:transparent;text-align:left;color:var(--ink);padding:9px 10px}
.schedule-job-card strong,.schedule-job-card span,.schedule-job-card small,.schedule-job-card em,.schedule-unassigned-card b,.schedule-unassigned-card span,.schedule-unassigned-card small,.schedule-unassigned-card em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.schedule-job-card strong{font-size:.86rem}.schedule-job-card span,.schedule-job-card small{font-size:.78rem}.schedule-job-card em,.schedule-unassigned-card em{font-style:normal;font-size:.72rem;font-weight:760;color:var(--green-dark)}
.schedule-job-card.status-in_progress{background:#e8f0ff;border-color:#bcd3ff;border-left-color:var(--blue)}
.schedule-job-card.status-completed{background:#f1f6f2;border-color:#d7e2d9;border-left-color:#7aa98a}
.schedule-job-card.status-pending_assignment,.schedule-unassigned-card{background:#fff8e6;border-color:#f0d58c;border-left-color:#d8aa3f}
.schedule-job-card.status-cancelled{background:#f1f3f4;border-color:#d8dee3;border-left-color:#94a3b8}
.schedule-job-card.priority-urgent,.schedule-unassigned-card.priority-urgent{border-top-color:#ef4444}
.schedule-travel-block{position:absolute;left:14px;right:14px;min-height:28px;border-radius:8px;background:#f3f5f4;color:var(--muted);font-size:.74rem;display:flex;align-items:center;gap:7px;padding:4px 8px;z-index:1;transform:translateY(4px)}
.schedule-unassigned-tools{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px;padding:10px;border-bottom:1px solid var(--line)}
.schedule-unassigned-list{display:grid;gap:8px;padding:10px;max-height:calc(100vh - 370px);overflow:auto}
.schedule-unassigned-card{border:1px solid #f0d58c;border-left:4px solid #d8aa3f;border-radius:10px;background:#fffdf5}
.schedule-week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;overflow:auto}
.schedule-week-grid article,.schedule-month-grid a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--ink);box-shadow:var(--shadow-sm)}
.schedule-week-grid header{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.schedule-week-grid button{display:block;width:100%;border:1px solid var(--line);background:#f8faf8;border-radius:8px;margin-top:7px;padding:7px;text-align:left;color:var(--ink)}
.schedule-day-open{display:grid!important;place-items:center;text-align:center!important;color:var(--green)!important;font-weight:900}
.schedule-month-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px}
.schedule-month-grid a{min-height:110px;display:grid;align-content:start;gap:5px}.schedule-month-grid b{font-size:1.05rem}.schedule-month-grid span,.schedule-month-grid small{color:var(--muted)}
.schedule-timeline-view{display:grid;gap:10px;overflow-x:auto;max-width:100%;padding-bottom:8px}
.schedule-timeline-view article{display:grid;grid-template-columns:190px minmax(var(--schedule-height),1fr);background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.schedule-timeline-view header{padding:12px;border-right:1px solid var(--line);background:#f8faf8}.schedule-timeline-view small{display:block;color:var(--muted)}
.schedule-timeline-track{position:relative;min-height:66px;background:repeating-linear-gradient(to right,#fff 0,#fff 119px,#edf2ee 120px)}
.schedule-timeline-job{position:absolute;top:12px;bottom:12px;border:1px solid #cfe2d4;background:#edf8f0;border-radius:9px;color:var(--ink);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px}
.schedule-side-panel{position:fixed;top:0;right:0;width:min(460px,100vw);height:100vh;background:#fff;border-left:1px solid var(--line);box-shadow:-22px 0 54px rgba(15,44,31,.14);z-index:2200;transform:translateX(105%);transition:.2s ease;display:flex;flex-direction:column}
.schedule-side-panel.open{transform:translateX(0)}
.schedule-panel-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:20px 18px 18px;border-bottom:1px solid var(--line)}
.schedule-panel-title-stack{display:flex;flex-direction:column;gap:5px;min-width:0}
.schedule-panel-title{display:block;margin:0;color:var(--ink);font-size:1.42rem;font-weight:940;line-height:1.12;letter-spacing:0;overflow-wrap:anywhere}
.schedule-panel-subtitle{display:block;margin:0;color:#66746c;font-size:.94rem;font-weight:520;line-height:1.34;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.schedule-panel-head button{border:0;background:#f3f7f4;border-radius:14px;width:42px;height:42px;display:grid;place-items:center;color:var(--green-dark);flex:0 0 auto}
.schedule-detail-view,.schedule-create-form{padding:16px;overflow:auto}
.schedule-detail-icon{width:50px;height:50px;border-radius:16px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:1.4rem;margin-bottom:12px}
.schedule-detail-view dl{display:grid;gap:0;margin:0}.schedule-detail-view dl div{border-bottom:1px solid #edf2ee;padding:13px 0}.schedule-detail-view dl div:first-child{border-top:1px solid #edf2ee}.schedule-detail-view dt{font-size:.7rem;line-height:1;color:#6a786f;font-weight:860;text-transform:uppercase;letter-spacing:0;margin-bottom:7px}.schedule-detail-view dd{margin:0;color:var(--ink);font-size:1.02rem;font-weight:560;line-height:1.36}.schedule-detail-actions,.schedule-form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.schedule-create-form section{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:12px}.schedule-create-form h3{font-size:.96rem;font-weight:820;margin-bottom:10px}
.schedule-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.schedule-form-grid label{font-size:.82rem;font-weight:680;color:#31463a}.schedule-form-grid .span-2{grid-column:1/-1}
.schedule-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:2500;background:#102017;color:#fff;border-radius:999px;padding:10px 12px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px}.schedule-toast button{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:999px;padding:5px 10px}
.quick-modal-hint{margin:0;color:var(--muted);font-size:.84rem}
@media(max-width:1280px){.schedule-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-summary>div{border-bottom:1px solid var(--line)}.schedule-board{grid-template-columns:58px repeat(auto-fit,minmax(220px,280px)) minmax(240px,280px)}}
@media(max-width:991px){.schedule-controls{align-items:stretch}.schedule-date-form{display:grid;grid-template-columns:1fr 1fr}.schedule-summary{grid-template-columns:1fr 1fr}.schedule-board{display:block;max-height:none;overflow:visible;background:transparent;border:0;box-shadow:none}.schedule-hour-rail{display:none}.schedule-crew-column,.schedule-unassigned-column{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}.schedule-column-head{position:static}.schedule-day-track{height:auto;min-height:0;background:#fff;display:grid;gap:8px;padding:10px}.schedule-empty-slot{position:static;height:44px!important;color:var(--green);background:#f8faf8;border:1px dashed #cfe2d4}.schedule-job-card{position:static;height:auto!important}.schedule-travel-block{position:static;transform:none}.schedule-unassigned-list{max-height:none}.schedule-week-grid,.schedule-month-grid{grid-template-columns:1fr 1fr}.schedule-timeline-view article{grid-template-columns:1fr}.schedule-timeline-track{overflow-x:auto}.schedule-side-panel{width:100vw}.schedule-filter-grid{grid-template-columns:1fr!important}}
@media(max-width:575px){.schedule-view-tabs,.schedule-controls{display:grid;grid-template-columns:1fr 1fr}.schedule-date-form{grid-column:1/-1}.schedule-summary{grid-template-columns:1fr}.schedule-summary>div{border-right:0}.schedule-week-grid,.schedule-month-grid,.schedule-form-grid{grid-template-columns:1fr}.schedule-unassigned-tools{grid-template-columns:1fr}.schedule-panel-head{padding-top:calc(16px + env(safe-area-inset-top))}}

/* Premium Aureo Job landing refresh */
.landing-premium{
  min-height:100vh;
  position:relative;
  overflow:hidden;
  padding:28px;
  background:
    radial-gradient(circle at 10% 12%, rgba(216,170,63,.16), transparent 24%),
    radial-gradient(circle at 86% 4%, rgba(36,118,71,.16), transparent 28%),
    linear-gradient(135deg, #f7fbf5 0%, #eef7ef 55%, #f8f6ec 100%);
}
.landing-premium:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(16,32,23,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,32,23,.035) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.7), transparent 72%);
  pointer-events:none;
}
.landing-orb{
  position:absolute;
  border-radius:999px;
  filter:blur(4px);
  opacity:.7;
  pointer-events:none;
}
.landing-orb-one{
  width:360px;
  height:360px;
  right:-120px;
  top:120px;
  background:radial-gradient(circle, rgba(216,170,63,.42), transparent 66%);
}
.landing-orb-two{
  width:300px;
  height:300px;
  left:-120px;
  bottom:120px;
  background:radial-gradient(circle, rgba(36,118,71,.25), transparent 68%);
}
.landing-nav{
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:0 auto 28px;
  padding:14px 16px;
  border:1px solid rgba(219,232,223,.9);
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(16px);
  border-radius:26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  box-shadow:0 18px 45px rgba(19,38,27,.07);
}
.landing-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--ink);
}
.landing-brand:hover{color:var(--ink)}
.landing-brand-logo{
  width:54px;
  height:54px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--line);
  display:grid;
  place-items:center;
  box-shadow:0 12px 26px rgba(18,44,27,.08);
  overflow:hidden;
}
.landing-brand-logo img{
  width:44px;
  height:44px;
  object-fit:contain;
}
.landing-brand b{
  display:block;
  font-size:1.05rem;
  font-weight:950;
}
.landing-brand small{
  display:block;
  color:var(--muted);
  margin-top:-2px;
}
.landing-nav-actions{
  display:flex;
  align-items:center;
  gap:14px;
  font-weight:850;
}
.landing-nav-actions a:not(.btn){
  color:#315242;
}
.landing-premium-grid{
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  gap:28px;
  align-items:center;
}
.landing-copy{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(219,232,223,.95);
  box-shadow:0 28px 70px rgba(19,38,27,.10);
  border-radius:38px;
  padding:clamp(30px,5vw,58px);
}
.landing-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 13px;
  border-radius:999px;
  background:#e8f5ec;
  color:#14532d;
  border:1px solid #cae7d2;
  font-weight:950;
  letter-spacing:.02em;
  margin-bottom:18px;
}
.landing-kicker-soft{
  background:#fff;
}
.landing-kicker-dark{
  background:rgba(255,255,255,.13);
  color:#fff;
  border-color:rgba(255,255,255,.22);
}
.landing-copy h1{
  max-width:860px;
  font-size:clamp(2.55rem,6.5vw,5.4rem);
  line-height:.96;
  letter-spacing:-.065em;
  font-weight:1000;
  margin:0;
}
.landing-lead{
  max-width:760px;
  margin:22px 0 0;
  color:#617168;
  font-size:1.12rem;
  line-height:1.7;
}
.landing-actions{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  margin-top:28px;
}
.landing-actions form{
  display:inline-flex;
}
.landing-trust-row{
  margin-top:30px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.landing-trust-row div{
  background:#f8fbf7;
  border:1px solid var(--line);
  border-radius:20px;
  padding:14px;
}
.landing-trust-row strong{
  display:block;
  font-weight:950;
}
.landing-trust-row span{
  display:block;
  color:var(--muted);
  font-size:.9rem;
  margin-top:2px;
}
.landing-showcase{
  border-radius:34px;
  background:linear-gradient(180deg,#102017,#173b27);
  color:#fff;
  padding:18px;
  box-shadow:0 30px 75px rgba(16,32,23,.24);
  border:1px solid rgba(255,255,255,.12);
  transform:rotate(1deg);
}
.showcase-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}
.showcase-brand-mini{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:950;
}
.showcase-brand-mini img{
  width:38px;
  height:38px;
  object-fit:contain;
  background:#fff;
  border-radius:14px;
  padding:3px;
}
.showcase-badge{
  background:rgba(216,170,63,.20);
  color:#ffe4a1;
  border:1px solid rgba(216,170,63,.28);
  border-radius:999px;
  padding:7px 10px;
  font-weight:850;
  font-size:.82rem;
}
.showcase-hero-card{
  background:linear-gradient(135deg,#1f6f43,#d8aa3f);
  border-radius:25px;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.showcase-hero-card span,
.showcase-hero-card small{
  display:block;
  color:rgba(255,255,255,.82);
  font-weight:750;
}
.showcase-hero-card strong{
  display:block;
  font-size:1.25rem;
  font-weight:950;
}
.showcase-hero-card i{
  font-size:2.4rem;
  opacity:.9;
}
.showcase-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:14px;
}
.showcase-metrics div{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.11);
  border-radius:19px;
  padding:14px;
}
.showcase-metrics span{
  display:block;
  color:#cde0d1;
  font-size:.78rem;
  text-transform:uppercase;
  font-weight:900;
}
.showcase-metrics strong{
  display:block;
  font-size:1.45rem;
  margin-top:3px;
  font-weight:1000;
}
.showcase-list{
  display:grid;
  gap:10px;
}
.showcase-list div{
  display:flex;
  align-items:center;
  gap:12px;
  background:rgba(255,255,255,.94);
  color:var(--ink);
  border-radius:20px;
  padding:13px;
}
.showcase-list i{
  width:40px;
  height:40px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:#e8f5ec;
  color:var(--green);
  flex:0 0 auto;
}
.showcase-list span{
  flex:1;
}
.showcase-list b,
.showcase-list small{
  display:block;
}
.showcase-list small{
  color:var(--muted);
}
.showcase-list em{
  font-style:normal;
  color:#14532d;
  background:#e8f5ec;
  border-radius:999px;
  padding:5px 9px;
  font-weight:900;
  font-size:.76rem;
}
.landing-feature-section{
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:28px auto 0;
}
.section-heading{
  max-width:760px;
  margin-bottom:18px;
}
.section-heading h2{
  font-size:clamp(1.8rem,3vw,2.8rem);
  line-height:1.05;
  letter-spacing:-.045em;
  font-weight:1000;
  margin:0;
}
.landing-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.landing-feature-card{
  background:rgba(255,255,255,.86);
  border:1px solid var(--line);
  border-radius:26px;
  padding:22px;
  box-shadow:0 18px 45px rgba(19,38,27,.07);
}
.landing-feature-card i{
  width:46px;
  height:46px;
  border-radius:17px;
  display:grid;
  place-items:center;
  background:#e8f5ec;
  color:var(--green);
  margin-bottom:14px;
  font-size:1.25rem;
}
.landing-feature-card h3{
  font-size:1.1rem;
  font-weight:950;
  margin:0 0 7px;
}
.landing-feature-card p{
  color:var(--muted);
  margin:0;
  line-height:1.55;
}
.landing-ops-band{
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:28px auto 0;
  border-radius:34px;
  padding:30px;
  color:#fff;
  background:
    radial-gradient(circle at 92% 0%, rgba(216,170,63,.35), transparent 38%),
    linear-gradient(135deg,#102017,#1c6b3f);
  box-shadow:0 28px 70px rgba(19,38,27,.16);
  display:grid;
  grid-template-columns:1fr 380px;
  gap:24px;
  align-items:center;
}
.landing-ops-band h2{
  font-size:clamp(1.8rem,3vw,3rem);
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:1000;
  margin:0;
}
.landing-ops-band p{
  color:#dceee2;
  margin:15px 0 0;
  line-height:1.65;
  max-width:720px;
}
.ops-card-stack{
  display:grid;
  gap:10px;
}
.ops-card-stack div{
  display:flex;
  align-items:center;
  gap:12px;
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  padding:14px;
  font-weight:900;
}
.ops-card-stack i{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.16);
}
@media(max-width:1050px){
  .landing-premium-grid,
  .landing-ops-band{
    grid-template-columns:1fr;
  }
  .landing-showcase{
    transform:none;
    max-width:620px;
    margin:0 auto;
  }
}
@media(max-width:760px){
  .landing-premium{
    padding:16px;
  }
  .landing-nav{
    align-items:flex-start;
  }
  .landing-nav-actions{
    display:none;
  }
  .landing-copy{
    padding:28px;
    border-radius:28px;
  }
  .landing-trust-row,
  .landing-feature-grid,
  .showcase-metrics{
    grid-template-columns:1fr;
  }
  .landing-actions .btn,
  .landing-actions form{
    width:100%;
  }
  .landing-actions form .btn{
    width:100%;
  }
}
/* Time clock and payroll */
.camera-box{border:1px solid var(--line);border-radius:22px;background:#f7faf7;padding:14px}
.camera-box video,.camera-box canvas{width:100%;max-height:360px;object-fit:cover;border-radius:18px;background:#102017}
.camera-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.timeclock-kiosk-card{max-width:860px}
.timeclock-public .landing-card h1{font-size:clamp(2rem,4vw,3.2rem)}

@media(max-width:1200px){
  .action-grid{grid-template-columns:1fr!important}
  .quick-card{align-items:flex-start}
  .quick-card .btn{white-space:normal}
}

@media(max-width:767px){
  .pipeline-row{grid-template-columns:1fr 1fr 24px}
  .quick-card{flex-direction:column;align-items:flex-start}
  .job-main{align-items:flex-start}
  .card-soft .card-body{padding:16px}
  .landing-card{padding:24px}
  .camera-actions .btn{width:100%}
  .worker-hour-card dl{grid-template-columns:1fr}
  .worker-pass-card{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
}

.clock-photo-preview{width:100%;max-height:360px;object-fit:cover;border-radius:18px;background:#102017}
.worker-pass-identity{border:1px solid var(--line);border-radius:22px;background:#f7faf7;padding:18px}
.worker-pass-card{max-width:760px}
.worker-clock-identity{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:18px;background:#f7faf7;padding:14px}
.worker-clock-identity i{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e5f5eb;color:#17884f;font-size:1.25rem}
.worker-clock-identity b,.worker-clock-identity small{display:block}
.worker-clock-identity small{color:var(--muted)}
.worker-work-context{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px 14px}
.worker-work-context span,.worker-work-context b{display:block}
.worker-work-context span{font-size:.8rem;font-weight:800;color:var(--muted);text-transform:uppercase}
.worker-hours-list{display:grid;gap:12px}
.worker-hour-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;box-shadow:var(--shadow-sm)}
.worker-hour-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.worker-hour-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}
.worker-hour-card dt{color:var(--muted);font-size:.78rem;font-weight:800;margin:0}
.worker-hour-card dd{font-weight:850;margin:0}
.worker-hour-job{margin:0 0 12px;color:#40544a}
.time-history-table{min-width:1040px}

/* Competitive review additions */
.onboarding-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  box-shadow:var(--shadow-sm);
  padding:22px;
}
.onboarding-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:16px;
}
.onboarding-head .pill{
  background:#eef7f0;
  color:#14532d;
  border-color:#d7ebdd;
  margin-bottom:10px;
}
.onboarding-head h3{
  font-weight:950;
  letter-spacing:-.025em;
  margin:0;
}
.onboarding-head p{
  color:var(--muted);
  margin:5px 0 0;
}
.onboarding-score{
  min-width:148px;
  border:1px solid var(--line);
  background:#f7faf7;
  border-radius:20px;
  padding:14px;
}
.onboarding-score strong{
  display:block;
  font-size:1.8rem;
  line-height:1;
  font-weight:950;
}
.onboarding-score span{
  display:block;
  color:var(--muted);
  font-size:.82rem;
  font-weight:850;
  text-transform:uppercase;
  margin:3px 0 10px;
}
.onboarding-score .progress{background:#e4efe7}
.onboarding-score .progress-bar{background:var(--green)}
.onboarding-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.onboarding-step{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:92px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fbfdfb;
  padding:14px;
}
.onboarding-step>i{
  width:42px;
  height:42px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:#eef7f0;
  color:var(--green);
  flex:0 0 auto;
  font-size:1.15rem;
}
.onboarding-step b,
.onboarding-step span{
  display:block;
}
.onboarding-step b{
  font-weight:900;
}
.onboarding-step span{
  color:var(--muted);
  font-size:.9rem;
  line-height:1.35;
}
.onboarding-step .btn{
  margin-left:auto;
  white-space:nowrap;
}
.onboarding-step.done{
  background:#f5fbf7;
}
.onboarding-check{
  margin-left:auto;
  width:32px;
  height:32px;
  border-radius:12px;
  display:grid!important;
  place-items:center;
  background:#dff5e5;
  color:#14532d!important;
}
.import-columns{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.import-columns span{
  border:1px solid var(--line);
  background:#f7faf7;
  border-radius:999px;
  padding:7px 10px;
  font-weight:800;
  color:#263b2c;
  font-size:.88rem;
}
.portal-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:linear-gradient(135deg,#f7fbf5,#edf6ef);
}
.portal-card{
  width:min(980px,100%);
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:28px;
}
.portal-card-small{
  width:min(640px,100%);
}
.portal-brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
}
.portal-brand img{
  width:54px;
  height:54px;
  object-fit:contain;
  border:1px solid var(--line);
  border-radius:18px;
  padding:7px;
  background:#fff;
}
.portal-brand b,
.portal-brand span{
  display:block;
}
.portal-brand b{
  font-weight:950;
}
.portal-brand span{
  color:var(--muted);
}
.portal-heading{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:flex-start;
  margin-bottom:22px;
}
.portal-heading h1{
  margin:12px 0 6px;
  font-weight:950;
  letter-spacing:-.035em;
}
.portal-heading p{
  margin:0;
  color:var(--muted);
}
.portal-total{
  min-width:190px;
  border:1px solid var(--line);
  background:#f7faf7;
  border-radius:22px;
  padding:18px;
}
.portal-total small{
  display:block;
  color:var(--muted);
  text-transform:uppercase;
  font-weight:850;
}
.portal-total strong{
  display:block;
  font-size:2rem;
  font-weight:950;
}
.portal-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.portal-summary div,
.portal-notes{
  border:1px solid var(--line);
  background:#f7faf7;
  border-radius:18px;
  padding:14px;
}
.portal-summary small,
.portal-summary b{
  display:block;
}
.portal-summary small{
  color:var(--muted);
  text-transform:uppercase;
  font-weight:850;
}
.portal-summary b{
  font-size:1.15rem;
  margin-top:3px;
}
.portal-notes{
  margin-top:18px;
}
.portal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:22px;
}
.crew-mobile-toolbar{
  position:sticky;
  top:14px;
  z-index:5;
  display:grid;
  grid-template-columns:52px 1fr 52px;
  gap:10px;
  align-items:center;
  border:1px solid var(--line);
  background:rgba(255,255,255,.96);
  border-radius:22px;
  box-shadow:var(--shadow-sm);
  padding:10px;
  margin-bottom:16px;
}
.crew-mobile-toolbar .btn{
  min-height:48px;
}
.crew-mobile-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:18px 0 10px;
}
.crew-mobile-heading h5{
  margin:0;
  font-weight:950;
}
.crew-mobile-heading span{
  border-radius:999px;
  background:#edf7ef;
  color:var(--green-dark);
  padding:5px 10px;
  font-weight:850;
  font-size:.85rem;
}
.crew-mobile-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow-sm);
  padding:16px;
  margin-bottom:14px;
  position:relative;
  overflow:hidden;
}
.crew-mobile-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  background:#a6b7ab;
}
.crew-card-top{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}
.crew-stop{
  width:44px;
  height:44px;
  border-radius:15px;
  background:#eef7f0;
  color:#14532d;
  display:grid;
  place-items:center;
  font-weight:950;
}
.crew-card-top h3{
  margin:0;
  font-size:1.05rem;
  line-height:1.2;
  font-weight:950;
}
.crew-card-top p,
.crew-address,
.crew-note{
  color:var(--muted);
}
.crew-card-top p{
  margin:3px 0 0;
}
.crew-chip{
  border-radius:999px;
  padding:7px 10px;
  font-weight:850;
  font-size:.78rem;
  white-space:nowrap;
}
.crew-status-advance{
  margin:0;
  justify-self:end;
}
.crew-chip-button{
  border:0;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(124,83,0,.08);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.crew-chip-button i{
  font-size:.72rem;
}
.crew-chip-button:hover,
.crew-chip-button:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(19,38,27,.12);
  filter:saturate(1.04);
}
.crew-chip-button:focus-visible{
  outline:3px solid rgba(24,128,75,.24);
  outline-offset:2px;
}
.crew-address,
.crew-note{
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin-top:12px;
  line-height:1.45;
}
.crew-note{
  border:1px dashed #d4e5d8;
  background:#f8fbf7;
  border-radius:16px;
  padding:10px;
}
.crew-mobile-actions{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(86px,1fr));
  gap:8px;
  margin-top:14px;
}
.crew-mobile-actions a{
  min-height:64px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#f7faf7;
  color:var(--ink);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  font-weight:850;
  text-align:center;
}
.crew-mobile-actions i{
  color:var(--green);
  font-size:1.12rem;
}
.crew-status-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.crew-status-grid button{
  width:100%;
  min-height:42px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:8px;
  color:#263b2c;
  font-size:.82rem;
  font-weight:850;
}
.crew-status-grid button.active{
  background:var(--green);
  color:#fff;
  border-color:var(--green);
}
@media(max-width:991px){
  .onboarding-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:575px){
  .onboarding-head{display:block}
  .onboarding-score{margin-top:12px;width:100%}
  .onboarding-grid{grid-template-columns:1fr}
  .onboarding-step{align-items:flex-start}
  .portal-heading{display:block}
  .portal-total{margin-top:14px;min-width:0}
  .portal-summary{grid-template-columns:1fr 1fr}
  .portal-actions .btn,
  .portal-actions form{width:100%}
  .portal-actions form .btn{width:100%}
  .crew-mobile-actions{grid-template-columns:repeat(3,1fr)}
  .crew-status-grid{grid-template-columns:repeat(2,1fr)}
  .crew-card-top{grid-template-columns:40px minmax(0,1fr)}
  .crew-chip,
  .crew-status-advance{grid-column:2;justify-self:start}
  .crew-stop{width:40px;height:40px}
}

/* Competitive readiness additions */
.guided-steps{display:grid;gap:14px}.guided-step{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow-sm)}.guided-step.done{background:#f7fcf8}.guided-step-icon{width:58px;height:58px;border-radius:20px;background:#e8f5ec;color:var(--green);display:grid;place-items:center;font-size:1.35rem}.guided-step-copy span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;font-weight:900;letter-spacing:.05em}.guided-step-copy h3{font-size:1.08rem;margin:2px 0 4px;font-weight:950}.guided-step-copy p{margin:0;color:var(--muted)}.checklist-mini{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid rgba(219,232,223,.75)}.checklist-mini:last-child{border-bottom:0}.checklist-mini i{color:var(--green);font-size:1.1rem;flex:0 0 auto}.help-hero{border-radius:30px;padding:28px;background:linear-gradient(135deg,#102017,#2a7648);color:#fff;box-shadow:0 24px 60px rgba(16,32,23,.18)}.help-hero h2{font-size:clamp(1.7rem,3vw,2.8rem);font-weight:950;letter-spacing:-.04em;max-width:760px}.help-hero p{color:#dbeee1;max-width:680px;margin:0}.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.resource-grid a{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;color:var(--ink);font-weight:850;box-shadow:var(--shadow-sm)}.resource-grid i,.video-tile i{width:42px;height:42px;border-radius:15px;background:#e8f5ec;color:var(--green);display:grid;place-items:center;flex:0 0 auto}.video-grid{display:grid;gap:12px}.video-tile{display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px}.video-tile b,.video-tile span{display:block}.video-tile span{color:var(--muted);font-size:.92rem}.support-contact{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:10px;background:#f8fbf7}.support-contact span{color:var(--muted);overflow-wrap:anywhere}.automation-task{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.automation-task h3{font-size:1.05rem;font-weight:950;margin:8px 0 4px}.automation-task p{color:var(--muted);margin:0;line-height:1.45}.automation-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.automation-actions form{display:inline-flex}.dispatch-summary{height:100%;min-height:48px;display:flex;align-items:center;color:var(--muted);background:#f7faf7;border:1px solid var(--line);border-radius:16px;padding:10px 14px}.dispatch-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;align-items:start}.dispatch-lane{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:16px}.dispatch-lane-unassigned{border-style:dashed}.dispatch-lane-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:12px}.dispatch-lane-head h3{font-size:1.12rem;font-weight:950;margin:0}.dispatch-lane-head span{color:var(--muted);font-size:.9rem}.zone-strip{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.zone-strip span{border-radius:999px;background:#eef7f0;color:#14532d;padding:5px 9px;font-weight:850;font-size:.78rem}.dispatch-stop{background:#fff;border:1px solid var(--line);border-radius:20px;padding:13px;margin-bottom:10px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.dispatch-stop:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#a6b7ab}.dispatch-stop-top{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:start}.dispatch-stop-top>b{width:36px;height:36px;border-radius:13px;background:#eef7f0;color:#14532d;display:grid;place-items:center}.dispatch-stop h4{font-size:.98rem;font-weight:950;margin:0}.dispatch-stop p,.dispatch-address{color:var(--muted);margin:2px 0 0}.dispatch-address{font-size:.92rem;line-height:1.4;margin-top:10px}.dispatch-stop-actions{display:flex;gap:10px;margin-top:10px;font-weight:850}.portal-history-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:20px}.portal-history-grid h2{font-size:1.1rem;font-weight:950;margin-bottom:10px}.portal-history-item{border:1px solid var(--line);border-radius:17px;background:#fff;padding:12px;margin-bottom:9px}.portal-history-item b,.portal-history-item span{display:block}.portal-history-item span{color:var(--muted);font-size:.92rem}.portal-history-item a{display:inline-flex;margin-top:6px;font-weight:850}
@media(max-width:575px){.guided-step{grid-template-columns:1fr}.guided-step-action{width:100%}.guided-step-action .btn{width:100%}.resource-grid{grid-template-columns:1fr}.automation-task{grid-template-columns:1fr}.dispatch-stop-top{grid-template-columns:34px minmax(0,1fr)}.dispatch-stop-top .badge-status{grid-column:2;justify-self:start}.support-contact{display:block}.crew-mobile-actions{grid-template-columns:repeat(2,1fr)}}

/* Stability and motion pass */
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(142,231,142,.38)}70%{box-shadow:0 0 0 18px rgba(142,231,142,0)}100%{box-shadow:0 0 0 0 rgba(142,231,142,0)}}
@keyframes shine{0%{transform:translateX(-120%)}100%{transform:translateX(160%)}}
.main-content>*,.card-soft,.metric,.quick-card{animation:fadeUp .34s ease both}.quick-card:nth-child(2){animation-delay:.04s}.quick-card:nth-child(3){animation-delay:.08s}.btn,.side-nav a,.quick-card,.resource-grid a,.crew-mobile-actions a{transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}.btn:hover,.resource-grid a:hover,.crew-mobile-actions a:hover{transform:translateY(-1px)}.quick-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(19,38,27,.10)}.side-nav a.active{position:relative}.side-nav a.active:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);animation:shine 2.8s ease infinite;pointer-events:none}.timeclock-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;border-radius:30px;padding:24px;background:linear-gradient(135deg,#102017,#23683e 68%,#d8aa3f);color:#fff;box-shadow:0 24px 60px rgba(16,32,23,.18);overflow:hidden;position:relative}.timeclock-hero h2{font-size:clamp(1.45rem,3vw,2.25rem);font-weight:950;letter-spacing:-.04em;max-width:760px}.timeclock-hero p{color:#dceee2;margin:0;max-width:700px}.timeclock-pulse{width:132px;height:132px;border-radius:32px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;text-align:center;position:relative;flex:0 0 auto}.timeclock-pulse span{width:15px;height:15px;border-radius:999px;background:#8ee78e;animation:pulseRing 2s ease infinite}.timeclock-pulse b{font-size:2.4rem;line-height:.8;font-weight:950}.timeclock-pulse small{color:#dceee2;font-weight:850;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em}.timeclock-worker-card{border-left:5px solid var(--green)}.action-empty{display:grid;place-items:center;gap:7px}.action-empty i{width:54px;height:54px;border-radius:20px;background:#e8f5ec;color:var(--green);display:grid;place-items:center;font-size:1.35rem}.action-empty b{color:var(--ink)}.action-empty span{color:var(--muted)}
@media(max-width:575px){.timeclock-hero{display:block}.timeclock-pulse{width:100%;height:auto;min-height:110px;margin-top:14px}.top-actions .btn,.top-actions form{width:100%}.top-actions form .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Internal UI QA polish: keep numeric badges visually separated from labels. */
.main-content .tabs-bar{
  display:flex!important;
  gap:8px!important;
  overflow-x:auto;
  scrollbar-width:thin;
}
.main-content .tabs-bar>a{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  white-space:nowrap!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--ink)!important;
  padding:9px 12px!important;
  line-height:1!important;
}
.main-content .tabs-bar>a>b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:24px;
  min-height:22px;
  border-radius:999px;
  background:#edf3ee;
  color:#516357;
  font-size:.8rem;
  padding:2px 7px;
  margin-left:2px;
}
.main-content .tabs-bar>a.active{
  background:#102017!important;
  border-color:#102017!important;
  color:#fff!important;
}
.main-content .tabs-bar>a.active>b{
  background:rgba(255,255,255,.16);
  color:#fff;
}
.ops-strip-metrics span b{
  display:inline-block;
  margin:0 3px;
}
.signal-grid a{
  justify-content:flex-start;
}
.signal-grid a b{
  display:inline-block;
  flex:0 0 auto;
  min-width:1.4em;
  margin-right:3px;
  text-align:right;
}
.signal-grid a span{
  min-width:0;
}
@media(max-width:575px){
  .main-content .tabs-bar{
    margin-left:-2px;
    margin-right:-2px;
    padding:2px 2px 8px;
  }
  .main-content .tabs-bar>a{
    min-height:40px;
  }
  .signal-grid a{
    justify-content:flex-start!important;
  }
}
@media(max-width:1320px){
  .jobs-toolbar{
    grid-template-columns:150px minmax(220px,1fr) repeat(3,minmax(140px,1fr))!important;
  }
  .jobs-toolbar>button,
  .jobs-toolbar>a.btn{
    justify-self:start;
  }
}

/* Enterprise SaaS upgrade */
.wizard-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}
.wizard-rail{position:sticky;top:20px;display:grid;gap:10px}
.wizard-step{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:18px;padding:13px 14px;font-weight:900;box-shadow:var(--shadow-sm)}
.wizard-step:hover{transform:translateY(-1px)}
.wizard-step.completed{background:#f0f9f2;border-color:#bee6c9}
.wizard-step.current{background:#123d25;color:#fff;border-color:#123d25}
.wizard-dot{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:#e8f5ec;color:#14532d;flex:0 0 auto}
.wizard-step.current .wizard-dot{background:#ffd96b;color:#13261b}
.mini-table{display:grid;gap:9px}.mini-table>div{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff}.mini-table span{color:var(--muted)}
.qr-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.qr-strip>div{border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff;text-align:center}.qr-strip img{width:96px;height:96px;display:block;margin:0 auto 8px}.qr-strip b,.qr-strip span{display:block}.qr-strip span{color:var(--muted);font-size:.85rem}
.checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.checklist-grid>div{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:11px;font-weight:850}.checklist-grid>div.done{background:#f0f9f2;color:#14532d}
.owner-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.page-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.evidence-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.evidence-grid figure{margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.evidence-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.evidence-grid figcaption{padding:8px 10px;color:var(--muted);font-size:.86rem}
.report-sheet{max-width:1120px;margin:0 auto}.signature-img{max-width:320px;border:1px solid var(--line);border-radius:12px;background:#fff}
.notification-row.pending{border-left:5px solid #d8aa3f}.notification-row.failed{border-left:5px solid #b42318}.notification-row.sent,.notification-row.read{border-left:5px solid var(--green)}
.motion-fade{animation:fadeUp .32s ease both}.motion-pop{animation:fadeUp .38s cubic-bezier(.2,.8,.2,1) both}
@media(max-width:991px){.wizard-shell{grid-template-columns:1fr}.wizard-rail{position:static;grid-template-columns:repeat(5,1fr);overflow:auto}.wizard-step{min-width:150px}.owner-metrics{grid-template-columns:repeat(2,1fr)}.page-grid.two,.evidence-columns{grid-template-columns:1fr}}
@media(max-width:575px){.wizard-rail{grid-template-columns:1fr}.owner-metrics{grid-template-columns:1fr}.mini-table>div{display:block}.evidence-grid{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.top-actions,.mobile-scrim{display:none!important}.app-shell{display:block}.main-content{padding:0;background:#fff}.card-soft{box-shadow:none!important;border:0!important}.report-sheet{max-width:none}}

/* Commercial landing, support and pilot readiness */
.commercial-site{min-height:100vh;background:#f4f7f1;color:#102018}.commercial-nav,.commercial-section,.commercial-footer{width:min(1180px,calc(100% - 32px));margin:0 auto}.commercial-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0}.commercial-brand{display:flex;align-items:center;gap:11px;color:#102018;text-decoration:none;font-weight:950}.commercial-brand img{width:44px;height:44px;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(16,32,24,.08)}.commercial-links{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.commercial-links a,.commercial-links button{border:0;background:transparent;color:#31463a;text-decoration:none;font-weight:850;padding:8px 10px}.commercial-login{border:1px solid rgba(35,118,72,.25)!important;border-radius:8px!important;background:#fff!important}.commercial-hero{background:#0b2818;color:#fff;min-height:680px;display:grid;align-items:center;position:relative;overflow:hidden}.commercial-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(228,189,69,.28),transparent 28%),linear-gradient(90deg,rgba(10,37,22,.98),rgba(10,37,22,.86) 55%,rgba(10,37,22,.55));z-index:0}.commercial-hero-inner{position:relative;z-index:1;width:min(1180px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:44px;align-items:center;padding:70px 0}.commercial-copy h1{font-size:clamp(2.7rem,6vw,5.8rem);line-height:.96;font-weight:950;letter-spacing:0;margin:0;max-width:820px}.commercial-copy p{font-size:1.14rem;line-height:1.7;color:rgba(255,255,255,.82);max-width:700px;margin:22px 0 0}.landing-pill{display:inline-flex;align-items:center;border-radius:999px;background:rgba(255,255,255,.13);color:#e8f3ed;padding:8px 12px;font-weight:950;text-transform:uppercase;font-size:.76rem;letter-spacing:.06em;margin-bottom:16px}.landing-pill.dark{background:#e7f2ea;color:#14532d}.landing-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn-hero{min-height:50px;border-radius:8px;background:#e4bd45;color:#102018;text-decoration:none;font-weight:950;display:inline-flex;align-items:center;justify-content:center;padding:0 20px}.btn-ghost{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);color:#fff}.btn-ghost-dark{background:#fff;border:1px solid #d7e2d9;color:#102018}.trust-badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.trust-badges span{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 11px;color:#e8f3ed;font-weight:850;font-size:.88rem}.field-proof-panel{display:grid;place-items:center}.proof-phone{width:min(100%,380px);border-radius:34px;background:#f7faf7;color:#102018;padding:22px;box-shadow:0 30px 90px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.3);transform:rotate(1deg)}.proof-phone-bar{width:72px;height:7px;border-radius:999px;background:#d7e2d9;margin:0 auto 18px}.proof-phone h3{font-size:1rem;font-weight:950;margin-bottom:16px}.proof-card{border:1px solid #dfe9e2;background:#fff;border-radius:18px;padding:14px;margin-bottom:12px}.proof-card b,.proof-card span{display:block}.proof-card span{color:#66756b}.proof-card.complete{border-left:6px solid #237648}.commercial-section{padding:66px 0}.commercial-section h2{font-size:clamp(2rem,4vw,3.55rem);line-height:1.05;font-weight:950;letter-spacing:0;max-width:860px}.section-lead{color:#66756b;line-height:1.7;max-width:720px}.problem-grid{display:grid;grid-template-columns:1fr .9fr;gap:40px;align-items:start}.pain-list{display:grid;gap:10px}.pain-list div{background:#fff;border:1px solid #dde8df;border-radius:16px;padding:15px 16px;font-weight:850;box-shadow:0 12px 30px rgba(16,32,24,.06)}.solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}.solution-grid>div{background:#fff;border:1px solid #dde8df;border-radius:18px;padding:18px;box-shadow:0 12px 30px rgba(16,32,24,.06)}.solution-grid i{color:#237648;font-size:1.35rem}.solution-grid b,.solution-grid span{display:block}.solution-grid b{margin:12px 0 5px}.solution-grid span{color:#66756b}.pricing-band{background:#102018;color:#fff}.pricing-band .commercial-section h2{color:#fff}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pricing-card{background:#fff;color:#102018;border:1px solid #dde8df;border-radius:22px;padding:22px;box-shadow:0 16px 44px rgba(16,32,24,.08)}.pricing-card.featured{border:2px solid #e4bd45;transform:translateY(-4px)}.pricing-card h3{font-weight:950}.pricing-card p{color:#66756b;min-height:72px}.pricing-card b{display:block;font-size:2rem}.pricing-card span{color:#66756b}.manual-billing-note{color:#d9e8de;margin-top:18px}.final-cta{text-align:center}.final-cta h2,.final-cta p{margin-left:auto;margin-right:auto}.commercial-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:30px 0;color:#66756b}.commercial-footer a{color:#31463a;text-decoration:none;font-weight:850;margin-left:14px}.trial-page{min-height:100vh;background:#f4f7f1;display:grid;place-items:center;padding:28px}.trial-card{width:min(900px,100%)}.trial-card h1{font-size:clamp(2rem,4vw,3.4rem);font-weight:950;line-height:1.05}.billing-status-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.usage-bars{display:grid;gap:16px}.usage-bars span,.usage-bars b{display:inline-block}.usage-bars b{float:right}.support-impersonation-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff3cd;border:1px solid #ffe69c;border-radius:16px;padding:10px 14px;margin-bottom:14px}.support-impersonation-banner form{margin:0}.support-impersonate-form{display:grid;grid-template-columns:minmax(140px,220px) auto;gap:8px;align-items:center}.error-log-row{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;background:#fff}.error-log-row summary{cursor:pointer}.error-log-row pre{white-space:pre-wrap;max-height:360px;overflow:auto;background:#102018;color:#f8fff9;border-radius:12px;padding:12px}.help-article{max-width:900px}.help-article h1{font-weight:950}.help-article h2{font-size:1.15rem;font-weight:950;margin-top:24px}.screenshot-placeholder{height:220px;border:1px dashed #bdd4c4;border-radius:18px;background:#f7faf7;display:grid;place-items:center;color:#66756b;margin:20px 0}.screenshot-placeholder i{font-size:2rem;color:#237648}.article-links{display:flex;gap:10px;flex-wrap:wrap}.qa-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:14px;border:1px solid var(--line);border-left-width:6px;border-radius:16px;padding:14px;margin-bottom:12px;background:#fff}.qa-row.passed{border-left-color:#237648}.qa-row.failed{border-left-color:#b42318}.qa-row.pending{border-left-color:#d8aa3f}.qa-row p{color:#66756b;margin:4px 0}.qa-form{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:8px;align-items:center}
@media(max-width:991px){.commercial-hero-inner,.problem-grid,.billing-status-grid{grid-template-columns:1fr}.commercial-hero{min-height:auto}.field-proof-panel{justify-content:start}.solution-grid,.pricing-grid{grid-template-columns:1fr 1fr}.qa-row{grid-template-columns:1fr}.owner-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575px){.commercial-nav,.commercial-links{display:block}.commercial-links a,.commercial-links form,.commercial-links button{display:inline-block}.commercial-copy h1{font-size:2.45rem}.commercial-hero-inner{padding:42px 0}.solution-grid,.pricing-grid{grid-template-columns:1fr}.pricing-card.featured{transform:none}.commercial-footer span{display:block}.commercial-footer a{display:block;margin:8px 0 0}.support-impersonate-form,.qa-form{grid-template-columns:1fr}.support-impersonation-banner{display:block}.support-impersonation-banner form{margin-top:8px}}

/* Stripe checkout activation */
.trial-checkout-page{
  min-height:100vh;
  background:#eef3ef;
  color:#112018;
  padding:28px;
}
.trial-checkout-shell{
  width:min(1160px,100%);
  margin:0 auto;
  display:grid;
  gap:16px;
}
.trial-checkout-shell-narrow{
  width:min(1040px,100%);
}
.trial-hero-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,390px);
  gap:22px;
  align-items:stretch;
  background:#102017;
  border:1px solid #1d3a28;
  border-radius:8px;
  padding:26px;
  color:#fff;
  box-shadow:0 18px 42px rgba(13,34,22,.16);
}
.trial-hero-copy{
  display:grid;
  align-content:center;
  gap:12px;
}
.trial-hero-copy h1{
  margin:0;
  max-width:760px;
  font-size:clamp(2rem,5vw,4.4rem);
  line-height:1;
  font-weight:950;
  letter-spacing:0;
}
.trial-hero-copy p:not(.trial-eyebrow){
  max-width:720px;
  margin:0;
  color:#d7e8dc;
  font-size:1.08rem;
  line-height:1.65;
}
.trial-eyebrow{
  display:inline-flex;
  width:max-content;
  align-items:center;
  gap:7px;
  min-height:28px;
  margin:0;
  padding:4px 9px;
  border:1px solid #cfe4d5;
  border-radius:999px;
  background:#e7f3eb;
  color:#1c6840;
  font-size:.72rem;
  font-weight:860;
  text-transform:uppercase;
}
.trial-stripe-card{
  display:grid;
  align-content:space-between;
  gap:18px;
  min-height:250px;
  background:#fff;
  color:#112018;
  border:1px solid #dbe8df;
  border-radius:8px;
  padding:20px;
  box-shadow:0 16px 34px rgba(6,15,10,.18);
}
.trial-stripe-topline,.trial-stripe-row,.trial-payment-title-row,.trial-summary-line,.trial-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.trial-stripe-wordmark{
  font-size:1.35rem;
  font-weight:950;
  letter-spacing:0;
  color:#635bff;
}
.trial-status-pill,.trial-powered{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  border-radius:999px;
  padding:0 10px;
  font-size:.78rem;
  font-weight:850;
  white-space:nowrap;
}
.trial-status-pill.is-ready{
  color:#13633a;
  background:#e8f6ed;
  border:1px solid #c7e6d0;
}
.trial-status-pill.is-paused{
  color:#8a5b00;
  background:#fff7df;
  border:1px solid #ecd58d;
}
.trial-stripe-total{
  display:grid;
  gap:4px;
}
.trial-stripe-total span,.trial-stripe-row span,.trial-summary-line span{
  color:#65756c;
  font-weight:760;
}
.trial-stripe-total strong{
  font-size:3.4rem;
  line-height:1;
  font-weight:950;
  letter-spacing:0;
}
.trial-stripe-row{
  border-top:1px solid #dfe8e1;
  padding-top:14px;
}
.trial-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.trial-step{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  background:#fff;
  border:1px solid #dbe8df;
  border-radius:8px;
  padding:12px;
  box-shadow:0 8px 20px rgba(19,38,27,.06);
}
.trial-step>span{
  width:34px;
  height:34px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#edf4ef;
  color:#1f7a49;
  font-weight:900;
}
.trial-step.is-active{
  border-color:#1f7a49;
}
.trial-step.is-active>span,.trial-step.is-complete>span{
  background:#1f7a49;
  color:#fff;
}
.trial-step strong,.trial-step small{
  display:block;
  min-width:0;
}
.trial-step strong{
  color:#112018;
  font-size:.96rem;
  font-weight:880;
}
.trial-step small{
  color:#65756c;
  line-height:1.35;
}
.trial-checkout-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
  gap:16px;
  align-items:start;
}
.trial-panel{
  background:#fff;
  border:1px solid #dbe8df;
  border-radius:8px;
  box-shadow:0 12px 30px rgba(19,38,27,.07);
  padding:22px;
}
.trial-panel-header{
  display:grid;
  gap:9px;
  margin-bottom:20px;
}
.trial-panel-header h2{
  margin:0;
  color:#112018;
  font-size:clamp(1.55rem,2.3vw,2rem);
  font-weight:930;
  line-height:1.12;
  letter-spacing:0;
}
.trial-panel-header p:not(.trial-eyebrow){
  margin:0;
  color:#65756c;
  line-height:1.55;
}
.trial-form .form-label{
  color:#263b2c;
  font-weight:820;
}
.trial-operation-card{
  border:1px solid #dbe8df;
  border-radius:8px;
  background:#fbfdfb;
  padding:16px;
}
.trial-operation-heading{
  display:grid;
  gap:8px;
  margin-bottom:14px;
}
.trial-operation-heading .trial-eyebrow{
  margin:0;
}
.trial-operation-heading p:not(.trial-eyebrow){
  margin:0;
  color:#65756c;
  line-height:1.5;
}
.trial-operation-card textarea.form-control{
  min-height:96px;
  resize:vertical;
}
.trial-actions{
  justify-content:flex-start;
  flex-wrap:wrap;
  margin-top:4px;
}
.trial-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
}
.trial-payment-panel{
  position:sticky;
  top:18px;
}
.trial-payment-title-row{
  align-items:flex-start;
}
.trial-powered{
  color:#4f46e5;
  background:#f1f0ff;
  border:1px solid #dddafe;
}
.trial-payment-summary{
  display:grid;
  gap:0;
  border:1px solid #dfe8e1;
  border-radius:8px;
  overflow:hidden;
  background:#fbfdfb;
}
.trial-summary-line{
  padding:13px 14px;
  border-bottom:1px solid #dfe8e1;
}
.trial-summary-line:last-child{
  border-bottom:0;
}
.trial-summary-line strong{
  color:#102017;
  text-align:right;
}
.trial-payment-callout{
  margin-top:18px;
  border:1px solid #cce5d4;
  border-radius:8px;
  background:#f2faf5;
  padding:16px;
}
.trial-payment-callout h3{
  margin:0 0 10px;
  font-size:1rem;
  font-weight:900;
}
.trial-payment-callout ul{
  display:grid;
  gap:10px;
}
.trial-payment-callout li{
  display:flex;
  gap:9px;
  line-height:1.45;
  color:#263b2c;
}
.trial-payment-callout i{
  color:#1f7a49;
  flex:0 0 auto;
}
.trial-payment-note{
  display:flex;
  gap:12px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #dfe8e1;
}
.trial-payment-note>i{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:8px;
  background:#eef6f0;
  color:#1f7a49;
  font-size:1.1rem;
}
.trial-payment-note strong{
  display:block;
  margin-bottom:3px;
  color:#112018;
}
.trial-payment-note p{
  margin:0;
  color:#65756c;
  line-height:1.45;
}
.trial-includes-panel{
  padding:20px;
}
.trial-includes-panel h2{
  margin:0 0 18px;
  color:#112018;
  font-size:1.08rem;
  font-weight:930;
  letter-spacing:0;
}
.trial-includes-list{
  display:grid;
  gap:22px;
}
.trial-include-item{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.trial-include-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e4f6ec;
  color:#168044;
  box-shadow:inset 0 0 0 1px #c9ecd6;
  font-size:1.15rem;
}
.trial-include-item strong{
  display:block;
  color:#112018;
  font-size:.98rem;
  font-weight:930;
  line-height:1.3;
}
.trial-include-item p{
  margin:5px 0 0;
  color:#53645b;
  line-height:1.5;
}
.trial-include-item p strong{
  display:inline;
  color:#168044;
  font-size:inherit;
  font-weight:820;
}
.trial-includes-divider{
  height:1px;
  background:#e0e8e2;
  margin:22px 0;
}
.trial-stripe-assurance{
  display:grid;
  gap:10px;
}
.trial-stripe-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.trial-stripe-heading strong{
  color:#112018;
  font-size:1rem;
  font-weight:930;
  line-height:1.3;
}
.trial-stripe-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:0 11px;
  border:1px solid #d8d6ff;
  border-radius:8px;
  color:#5c48f3;
  background:#f8f7ff;
  font-weight:950;
  white-space:nowrap;
}
.trial-stripe-badge i{
  font-size:.78rem;
}
.trial-stripe-assurance p{
  margin:0;
  color:#53645b;
  line-height:1.55;
}
.trial-help-item a{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:6px;
  color:#168044;
  text-decoration:none;
  font-weight:850;
}
.trial-help-item a:hover{
  color:#0f6535;
  text-decoration:underline;
}
.trial-terms-box{
  border:1px solid #cce5d4;
  border-radius:8px;
  background:#f8fbf9;
  padding:16px;
  margin-bottom:14px;
}
.trial-confirm-form .form-check{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.trial-confirm-form .form-check-input{
  flex:0 0 auto;
  margin-top:.2rem;
}
.trial-confirm-form .form-check-label{
  color:#263b2c;
  line-height:1.55;
  font-weight:760;
}
body.checkout-lock .sidebar,
body.checkout-lock .mobile-app-header,
body.checkout-lock .mobile-nav,
body.checkout-lock .mobile-scrim,
body.checkout-lock .topbar{
  display:none!important;
}
body.checkout-lock .main-content{
  width:100%;
  margin-left:0;
  padding:0;
  background:#eef3ef;
}
body.checkout-lock .flash-wrap{
  width:min(1040px,calc(100% - 32px));
  margin:14px auto 0;
}
.trial-redirect-panel{
  display:grid;
  gap:14px;
  justify-items:start;
  margin-top:clamp(32px,9vh,90px);
}
.trial-redirect-panel h1{
  margin:0;
  color:#112018;
  font-size:clamp(2rem,5vw,3.5rem);
  line-height:1;
  font-weight:950;
  letter-spacing:0;
}
.trial-redirect-panel p{
  max-width:680px;
  margin:0;
  color:#65756c;
  font-size:1.05rem;
  line-height:1.6;
}
.trial-redirect-note{
  font-size:.92rem!important;
}
.trial-actions form{
  margin:0;
}
.legal-accept-panel{
  display:grid;
  gap:16px;
  margin-top:clamp(28px,8vh,76px);
}
.legal-accept-panel h1{
  margin:0;
  color:#112018;
  font-size:clamp(2rem,5vw,3.3rem);
  line-height:1;
  font-weight:950;
  letter-spacing:0;
}
.legal-accept-panel>p:not(.trial-eyebrow){
  max-width:760px;
  margin:0;
  color:#65756c;
  line-height:1.6;
}
.legal-accept-docs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.legal-accept-docs a{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  border:1px solid #dbe8df;
  border-radius:8px;
  background:#fbfdfb;
  padding:14px;
  color:#112018;
  text-decoration:none;
}
.legal-accept-docs a:hover{
  border-color:#1f7a49;
  background:#f2faf5;
}
.legal-accept-docs i:first-child{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:8px;
  background:#eef6f0;
  color:#1f7a49;
}
.legal-accept-docs span{
  min-width:0;
  flex:1;
}
.legal-accept-docs strong,.legal-accept-docs small{
  display:block;
}
.legal-accept-docs small{
  color:#65756c;
  margin-top:2px;
}
.legal-accept-docs i:last-child{
  color:#65756c;
  flex:0 0 auto;
}
.legal-accept-form{
  display:grid;
  gap:14px;
}
.legal-public-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.legal-language-switch{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border:1px solid #dbe8df;
  border-radius:8px;
  background:#fff;
}
.legal-language-switch a{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 10px;
  border-radius:6px;
  color:#263b2c;
  font-weight:850;
  text-decoration:none;
}
.legal-language-switch a.active{
  background:#1f7a49;
  color:#fff;
}
@media(max-width:991px){
  .trial-checkout-page{padding:18px}
  .trial-hero-panel,.trial-checkout-grid{grid-template-columns:1fr}
  .trial-payment-panel{position:static}
  .trial-steps{grid-template-columns:1fr}
}
@media(max-width:575px){
  .trial-checkout-page{padding:10px}
  .trial-hero-panel,.trial-panel,.trial-stripe-card{padding:16px}
  .trial-hero-copy h1{font-size:2.25rem}
  .legal-accept-docs{grid-template-columns:1fr}
  .trial-stripe-topline,.trial-stripe-row,.trial-payment-title-row,.trial-summary-line{
    align-items:flex-start;
    flex-direction:column;
  }
  .trial-summary-line strong{text-align:left}
  .trial-actions .btn{width:100%}
}

/* Internal UI second-pass polish */
.topbar{
  grid-template-columns:minmax(220px,340px) minmax(420px,1fr) auto!important;
  align-items:start;
}
.top-title .small{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.top-title-expanded .small{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.25;
}
.top-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.top-actions .btn,
.top-actions .dropdown>button{
  font-weight:680;
}
.global-search{
  width:100%;
  min-width:360px;
}
.global-search-close,
.global-search-open{
  display:none;
}
.top-user-menu{
  display:none;
}
.sidebar-collapsed .top-user-menu{
  display:block;
}
.install-app-prompt{
  display:grid;
  grid-template-columns:minmax(0,1fr) 32px;
  gap:6px;
  align-items:center;
  margin-top:10px;
  opacity:.82;
}
.install-app-prompt.d-none{
  display:none!important;
}
.install-app-prompt .btn{
  min-height:34px;
  font-size:.82rem;
  font-weight:680;
}
.install-dismiss{
  width:32px;
  height:32px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:10px;
  background:rgba(255,255,255,.08);
  color:#d9eadf;
}
.side-nav a,
.tabs-bar a,
.btn-light,
.filter-label,
.data-table th{
  font-weight:650!important;
}
.btn-primary{
  font-weight:760!important;
}
.setup-panel-compact{
  grid-template-columns:86px minmax(0,1fr) auto!important;
  min-height:0;
  padding:12px 14px;
}
.setup-panel-compact .setup-ring{
  width:76px;
  height:76px;
}
.setup-panel-compact .setup-ring:before{
  inset:8px;
}
.setup-panel-compact .setup-ring strong{
  font-size:1.08rem;
}
.setup-panel-compact .setup-ring span{
  font-size:.66rem;
}
.setup-panel-compact .setup-copy h3{
  font-size:1.1rem;
}
.setup-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.setup-dismiss{
  width:38px;
  padding-inline:0;
}
.attention-empty{
  display:grid;
  gap:4px;
  place-items:start;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f7fbf8;
}
.attention-empty i{
  color:var(--green);
  font-size:1.2rem;
}
.attention-empty strong{
  font-weight:760;
}
.attention-empty span{
  color:var(--muted);
}
.toolbar-grid{
  align-items:end;
}
.filter-field{
  display:grid;
  gap:5px;
  min-width:0;
  margin:0;
}
.filter-label{
  color:var(--muted);
  font-size:.72rem;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.filter-apply{
  display:none!important;
}
.toolbar-search{
  display:grid;
  gap:5px;
}
.toolbar-search i{
  top:auto!important;
  bottom:12px;
  transform:none!important;
}
.jobs-toolbar{
  grid-template-columns:auto minmax(260px,1.35fr) 150px repeat(3,minmax(140px,1fr)) auto!important;
}
.jobs-toolbar-action{
  min-height:54px;
  white-space:nowrap;
  align-self:end;
}
.jobs-toolbar .toolbar-search{
  grid-column:auto!important;
}
@media(min-width:992px) and (max-width:1320px){
  .jobs-toolbar{
    grid-template-columns:minmax(190px,max-content) minmax(320px,1fr) repeat(3,minmax(140px,1fr))!important;
  }
  .jobs-toolbar .toolbar-search{
    grid-column:auto!important;
  }
}
.jobs-toolbar:not(.show-custom-dates) .custom-date-field{
  display:none;
}
.context-metrics{
  display:grid;
  gap:10px;
  padding:12px;
}
.context-metrics a{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:10px;
  align-items:center;
  color:var(--ink);
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
  background:#fff;
}
.context-metrics a:hover{
  color:var(--ink);
  background:#f8faf8;
}

/* Aureo Job Copilot */
.copilot-page{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,420px);
  gap:18px;
  align-items:start;
}
.copilot-chat{
  overflow:hidden;
}
.copilot-chat-head{
  align-items:flex-start;
  background:linear-gradient(135deg,#102018,#1f6840);
  color:#fff;
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:24px;
}
.copilot-chat-head h2{
  font-size:clamp(1.6rem,3vw,2.5rem);
  font-weight:950;
  letter-spacing:0;
  margin:8px 0 6px;
}
.copilot-chat-head p{
  color:#dceee4;
  margin:0;
  max-width:760px;
}
.copilot-pill,.copilot-status{
  align-items:center;
  border-radius:999px;
  display:inline-flex;
  gap:8px;
  font-weight:850;
}
.copilot-pill{
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  color:#eef8f1;
  padding:7px 11px;
}
.copilot-status{
  background:#fff;
  color:var(--green);
  flex:0 0 auto;
  padding:10px 12px;
}
.copilot-thread{
  display:grid;
  gap:14px;
  max-height:58vh;
  overflow:auto;
  padding:22px;
}
.copilot-message{
  display:grid;
  gap:10px;
  grid-template-columns:44px minmax(0,1fr);
}
.copilot-message.from-user{
  grid-template-columns:minmax(0,1fr) 44px;
}
.copilot-message.from-user .copilot-avatar{
  grid-column:2;
  grid-row:1;
}
.copilot-message.from-user .copilot-bubble{
  background:#eaf6ef;
  border-color:#c8e8d4;
  grid-column:1;
  justify-self:end;
}
.copilot-avatar{
  align-items:center;
  background:#e9f5ee;
  border-radius:16px;
  color:var(--green);
  display:flex;
  height:44px;
  justify-content:center;
  overflow:visible;
  position:relative;
  width:44px;
}
.copilot-avatar img{
  display:block;
  height:48px;
  object-fit:contain;
  width:48px;
}
.copilot-avatar-bot{
  background:transparent;
}
.copilot-avatar.is-thinking{
  animation:copilotBotPulse 1.1s ease-in-out infinite;
}
.copilot-avatar.is-thinking:after{
  align-items:center;
  animation:copilotQuestion 1.1s ease-in-out infinite;
  background:#fff7c8;
  border:1px solid rgba(216,170,63,.55);
  border-radius:999px;
  box-shadow:0 8px 20px rgba(16,32,24,.18);
  color:#12321f;
  content:"?";
  display:flex;
  font-size:.86rem;
  font-weight:950;
  height:22px;
  justify-content:center;
  line-height:1;
  position:absolute;
  right:-7px;
  top:-9px;
  width:22px;
}
.copilot-bubble{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  max-width:780px;
  padding:13px 15px;
}
.copilot-bubble small{
  color:var(--muted);
  display:block;
  font-weight:850;
  margin-bottom:4px;
}
.copilot-bubble p{
  line-height:1.55;
  margin:0;
  overflow-wrap:anywhere;
  white-space:pre-line;
}
.copilot-entity-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:13px;
}
.copilot-entity-card{
  background:#f8fbf8;
  border:1px solid #d6e7dc;
  border-radius:15px;
  display:grid;
  gap:7px;
  min-width:0;
  padding:11px;
}
.copilot-entity-card-head{
  align-items:center;
  display:grid;
  gap:8px;
  grid-template-columns:34px minmax(0,1fr) auto;
}
.copilot-entity-card-head>span{
  align-items:center;
  background:#e4f3e9;
  border-radius:11px;
  color:var(--green);
  display:flex;
  height:34px;
  justify-content:center;
  width:34px;
}
.copilot-entity-card-head>div{
  min-width:0;
}
.copilot-entity-card-head small{
  color:var(--muted);
  display:block;
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.04em;
  margin:0;
  text-transform:uppercase;
}
.copilot-entity-card-head b{
  display:block;
  font-size:.86rem;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.copilot-entity-card-head em{
  background:#e4f3e9;
  border-radius:999px;
  color:#17683c;
  font-size:.62rem;
  font-style:normal;
  font-weight:850;
  max-width:92px;
  overflow:hidden;
  padding:5px 7px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.copilot-entity-card-head em.status-low,
.copilot-entity-card-head em.status-expired,
.copilot-entity-card-head em.status-warning{
  background:#fff0cd;
  color:#855900;
}
.copilot-entity-card-head em.status-cancelled,
.copilot-entity-card-head em.status-rejected,
.copilot-entity-card-head em.status-void,
.copilot-entity-card-head em.status-urgent{
  background:#fee8e8;
  color:#8c2525;
}
.copilot-entity-card-head em.status-info{
  background:#e8f1ff;
  color:#245a9b;
}
.copilot-entity-card>p{
  color:#425c4a;
  font-size:.78rem;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.copilot-entity-detail{
  color:var(--muted);
  font-size:.72rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.copilot-entity-actions{
  display:flex;
  gap:7px;
  margin-top:2px;
}
.copilot-entity-actions a,
.copilot-entity-actions button{
  align-items:center;
  background:#fff;
  border:1px solid #cfe2d5;
  border-radius:10px;
  color:#175f38;
  display:inline-flex;
  flex:1 1 auto;
  font-size:.7rem;
  font-weight:850;
  gap:5px;
  justify-content:center;
  min-height:34px;
  padding:6px 8px;
}
.copilot-entity-actions a:hover,
.copilot-entity-actions button:hover{
  background:#eaf6ee;
  border-color:#8fc5a2;
  color:#103d25;
}
.copilot-context-used{
  align-items:center;
  color:#47705a;
  display:flex;
  font-size:.7rem;
  font-weight:750;
  gap:5px;
  margin-top:9px;
}
.copilot-bubble-error{
  background:#fff5f5;
  border-color:#f1b8b8;
  color:#7f1d1d;
}
.copilot-empty{
  color:var(--muted);
  display:grid;
  gap:6px;
  justify-items:center;
  padding:44px 12px;
  text-align:center;
}
.copilot-empty-avatar{
  align-items:center;
  background:#e8f5ec;
  border-radius:20px;
  color:var(--green);
  display:flex;
  height:58px;
  justify-content:center;
  overflow:visible;
  position:relative;
  width:58px;
}
.copilot-empty-avatar img{
  display:block;
  height:70px;
  object-fit:contain;
  width:70px;
}
.copilot-empty b{
  color:var(--ink);
}
.copilot-local-tools{
  display:grid;
  gap:9px;
  padding:0 18px 12px;
}
.copilot-local-tools>span{
  display:flex;
  align-items:center;
  gap:7px;
  color:#47705a;
  font-size:.78rem;
  font-weight:850;
}
.copilot-local-tools>span i{color:var(--green)}
.copilot-local-tools>div{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:1px 1px 5px;
  scrollbar-width:thin;
}
.copilot-local-tools button{
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid #cee1d5;
  border-radius:999px;
  background:#f7fbf8;
  color:#173d28;
  font-size:.8rem;
  font-weight:800;
  white-space:nowrap;
}
.copilot-local-tools button:hover,
.copilot-local-tools button:focus-visible{
  border-color:#79bd91;
  background:#eaf7ee;
  outline:0;
}
.copilot-question-bank-trigger{
  background:#e8f5ec;
  border-color:#bfddc9;
  color:#175f39;
}
.copilot-question-bank-trigger:hover,
.copilot-question-bank-trigger:focus-visible{
  background:#d8eddf;
  border-color:#91c6a3;
  color:#104d2e;
}
.copilot-question-bank-modal .modal-dialog{
  max-width:min(1120px,calc(100vw - 32px));
}
.copilot-question-bank-modal .modal-content{
  border:1px solid #cfe1d5;
  border-radius:22px;
  box-shadow:0 30px 90px rgba(9,38,23,.24);
  overflow:hidden;
}
.copilot-question-bank-modal .modal-header{
  align-items:flex-start;
  background:linear-gradient(135deg,#e7f5eb,#f7fbf8 62%,#fff8df);
  border-bottom:1px solid #d8e7dd;
  padding:20px 22px;
}
.copilot-question-bank-heading{
  align-items:flex-start;
  display:flex;
  gap:14px;
  min-width:0;
}
.copilot-question-bank-heading>span{
  align-items:center;
  background:#176d40;
  border-radius:15px;
  box-shadow:0 10px 24px rgba(23,109,64,.18);
  color:#fff;
  display:flex;
  flex:0 0 48px;
  font-size:1.2rem;
  height:48px;
  justify-content:center;
}
.copilot-question-bank-heading small{
  color:#2d6948;
  display:block;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.07em;
  margin-bottom:3px;
  text-transform:uppercase;
}
.copilot-question-bank-heading h2{
  color:#102018;
  font-size:1.45rem;
  font-weight:950;
  line-height:1.15;
}
.copilot-question-bank-heading p{
  color:#607267;
  margin:5px 0 0;
  max-width:760px;
}
.copilot-question-bank-modal .modal-body{
  background:#f6f9f6;
  padding:18px 20px 22px;
}
.copilot-question-bank-toolbar{
  align-items:center;
  background:#f6f9f6;
  display:flex;
  gap:12px;
  justify-content:space-between;
  margin-bottom:16px;
  position:sticky;
  top:-18px;
  z-index:2;
  padding:2px 0 10px;
}
.copilot-question-bank-toolbar label{
  align-items:center;
  background:#fff;
  border:1px solid #ceded4;
  border-radius:13px;
  display:flex;
  flex:1 1 560px;
  gap:10px;
  min-height:46px;
  padding:0 13px;
}
.copilot-question-bank-toolbar label:focus-within{
  border-color:#5da97a;
  box-shadow:0 0 0 4px rgba(36,118,71,.10);
}
.copilot-question-bank-toolbar label i{color:#5e7467}
.copilot-question-bank-toolbar input{
  background:transparent;
  border:0;
  color:#17251d;
  flex:1;
  min-width:0;
  outline:0;
}
.copilot-question-bank-toolbar>span{
  background:#e3f2e8;
  border:1px solid #c8e2d1;
  border-radius:999px;
  color:#276244;
  flex:0 0 auto;
  font-size:.82rem;
  font-weight:850;
  padding:8px 11px;
}
.copilot-question-bank-grid{
  align-items:start;
  display:grid;
  gap:14px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.copilot-question-category{
  background:#fff;
  border:1px solid #d7e4db;
  border-radius:17px;
  box-shadow:0 8px 22px rgba(16,45,28,.05);
  min-width:0;
  overflow:hidden;
}
.copilot-question-category>header{
  align-items:flex-start;
  background:#fbfdfb;
  border-bottom:1px solid #e2ece5;
  display:flex;
  gap:11px;
  padding:14px;
}
.copilot-question-category>header>span{
  align-items:center;
  background:#e4f3e9;
  border-radius:12px;
  color:#197044;
  display:flex;
  flex:0 0 40px;
  font-size:1.05rem;
  height:40px;
  justify-content:center;
}
.copilot-question-category h3{
  color:#16251c;
  font-size:1rem;
  font-weight:900;
  margin:0 0 3px;
}
.copilot-question-category p{
  color:#6b7c71;
  font-size:.82rem;
  line-height:1.35;
  margin:0;
}
.copilot-question-category>div{
  display:grid;
  padding:5px 9px 9px;
}
.copilot-question-option{
  align-items:center;
  background:transparent;
  border:0;
  border-bottom:1px solid #edf2ee;
  color:#1a2b20;
  display:grid;
  gap:9px;
  grid-template-columns:auto minmax(0,1fr) auto;
  min-height:54px;
  padding:9px 5px;
  text-align:left;
  width:100%;
}
.copilot-question-option:last-child{border-bottom:0}
.copilot-question-option[hidden],
.copilot-question-category[hidden],
.copilot-question-bank-empty[hidden]{display:none!important}
.copilot-question-option:hover,
.copilot-question-option:focus-visible{
  background:#eef8f1;
  border-radius:10px;
  outline:0;
}
.copilot-question-kind{
  border-radius:999px;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.035em;
  padding:4px 7px;
  text-transform:uppercase;
}
.copilot-question-kind.query{
  background:#e8f2ff;
  color:#275a94;
}
.copilot-question-kind.action{
  background:#fff1c9;
  color:#7b570b;
}
.copilot-question-copy{min-width:0}
.copilot-question-copy b{
  display:block;
  font-size:.86rem;
  line-height:1.35;
}
.copilot-question-copy small{
  color:#77877d;
  display:block;
  font-size:.7rem;
  line-height:1.3;
  margin-top:3px;
}
.copilot-question-option>i{
  color:#40825d;
  font-size:.9rem;
}
.copilot-question-bank-empty{
  align-items:center;
  color:#64766b;
  display:flex;
  flex-direction:column;
  gap:5px;
  justify-content:center;
  min-height:230px;
  text-align:center;
}
.copilot-question-bank-empty i{
  align-items:center;
  background:#e7f3eb;
  border-radius:15px;
  color:#257248;
  display:flex;
  font-size:1.25rem;
  height:50px;
  justify-content:center;
  margin-bottom:5px;
  width:50px;
}
.copilot-question-bank-empty b{color:#203128}
.copilot-question-bank-footer{
  align-items:center;
  background:#fff;
  border-top:1px solid #dae6de;
  display:flex;
  justify-content:space-between;
  padding:12px 18px;
}
.copilot-question-bank-footer>span{
  color:#50675a;
  font-size:.78rem;
  font-weight:750;
}
.copilot-question-bank-footer>span i{color:#197044}
@media(max-width:768px){
  .copilot-question-bank-modal .modal-dialog{
    align-items:flex-end;
    height:calc(100% - env(safe-area-inset-top));
    margin:env(safe-area-inset-top) 0 0;
    max-width:none;
    min-height:0;
  }
  .copilot-question-bank-modal .modal-content{
    border-radius:22px 22px 0 0;
    max-height:calc(100vh - env(safe-area-inset-top) - 8px);
  }
  .copilot-question-bank-modal .modal-header{padding:16px 14px}
  .copilot-question-bank-heading{gap:10px}
  .copilot-question-bank-heading>span{flex-basis:42px;height:42px;border-radius:13px}
  .copilot-question-bank-heading h2{font-size:1.2rem}
  .copilot-question-bank-heading p{font-size:.8rem;line-height:1.35}
  .copilot-question-bank-modal .modal-body{padding:12px}
  .copilot-question-bank-toolbar{
    align-items:stretch;
    display:grid;
    gap:8px;
    grid-template-columns:minmax(0,1fr) auto;
    margin-bottom:10px;
    padding-top:2px;
    top:-12px;
  }
  .copilot-question-bank-toolbar label{min-height:44px}
  .copilot-question-bank-toolbar>span{align-self:center;font-size:.72rem;padding:7px 8px}
  .copilot-question-bank-grid{grid-template-columns:1fr;gap:10px}
  .copilot-question-category>header{padding:12px}
  .copilot-question-option{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:10px 6px}
  .copilot-question-kind{grid-column:1;justify-self:start;margin-bottom:1px}
  .copilot-question-copy{grid-column:1}
  .copilot-question-option>i{grid-column:2;grid-row:1/3}
  .copilot-question-bank-footer{align-items:flex-start;gap:9px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .copilot-question-bank-footer>span{line-height:1.35}
}
.copilot-compose-shell{
  align-items:flex-end;
  background:#fff;
  border:1px solid #d7e5dc;
  border-radius:30px;
  box-shadow:0 18px 42px rgba(16,32,24,.08);
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 22px 22px;
  padding:8px;
}
.copilot-import-form{
  display:none;
}
.copilot-attach-button{
  align-items:center;
  align-self:flex-end;
  background:#f7fbf8;
  border:1px solid #dcebe2;
  border-radius:999px;
  color:#102018;
  cursor:pointer;
  display:inline-flex;
  flex:0 0 48px;
  height:48px;
  justify-content:center;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
  width:48px;
}
.copilot-attach-button:hover{
  background:#eaf8ef;
  border-color:#bfe4cc;
  color:var(--green);
  transform:translateY(-1px);
}
.copilot-file-chip{
  align-items:center;
  align-self:flex-end;
  background:#f0f8f3;
  border:1px solid #cce8d5;
  border-radius:999px;
  color:#365545;
  display:inline-flex;
  flex:0 1 190px;
  gap:8px;
  min-height:48px;
  min-width:0;
  padding:0 13px;
}
.copilot-file-chip[hidden]{
  display:none;
}
.copilot-file-chip > i{
  color:var(--green);
  flex:0 0 auto;
}
.copilot-file-chip span{
  color:#102018;
  font-weight:850;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.copilot-file-chip small{
  align-items:center;
  color:#607065;
  display:inline-flex;
  flex:0 0 auto;
  gap:5px;
  font-size:.78rem;
  font-weight:800;
  white-space:nowrap;
}
.copilot-file-chip small i{
  color:var(--green);
}
.copilot-compose{
  align-items:flex-end;
  display:flex;
  flex:1 1 560px;
  gap:8px;
  min-width:0;
}
.copilot-compose textarea{
  background:transparent;
  border:0;
  border-radius:22px;
  flex:1 1 auto;
  min-height:48px;
  min-width:260px;
  max-height:152px;
  padding:13px 6px;
  resize:vertical;
  width:100%;
}
.copilot-compose textarea:focus{
  box-shadow:none;
  outline:0;
}
.copilot-compose .btn,
.copilot-clear-form .btn{
  align-items:center;
  border-radius:999px;
  display:inline-flex;
  flex:0 0 auto;
  gap:8px;
  justify-content:center;
  min-height:48px;
  padding:0 16px;
  font-weight:900;
  white-space:nowrap;
}
.copilot-clear-form{
  align-self:flex-end;
  margin:0;
}
.copilot-compose-shell.has-file{
  border-color:#9fd3b2;
  box-shadow:0 18px 46px rgba(35,118,72,.14);
}
.copilot-compose-shell.has-file .copilot-attach-button{
  background:#e4f5ea;
  border-color:#bfe4cc;
  color:var(--green);
}
.copilot-card-header-actions{
  align-items:center;
  display:flex;
  gap:10px;
  justify-content:space-between;
}
.copilot-card-header-actions form{
  margin:0;
}
.copilot-suggestions-heading{
  min-width:0;
}
.copilot-suggestions-heading small{
  color:var(--muted);
  display:block;
  font-size:12px;
  line-height:1.35;
  margin-top:3px;
}
.copilot-side{
  display:grid;
  gap:16px;
}
.copilot-note{
  align-items:flex-start;
  background:#f0f8f3;
  border:1px solid #cfe8d8;
  border-radius:16px;
  color:#365545;
  display:flex;
  gap:9px;
  padding:11px 12px;
}
.copilot-suggestions .card-body{
  display:grid;
  gap:12px;
}
.copilot-suggestion-card{
  background:#fff;
  border:1px solid var(--line);
  border-left:5px solid #9fb2a6;
  border-radius:18px;
  box-shadow:var(--shadow-sm);
  padding:13px;
}
.copilot-suggestion-card.severity-urgent{border-left-color:#b42318}
.copilot-suggestion-card.severity-warning{border-left-color:var(--gold)}
.copilot-suggestion-card.severity-opportunity{border-left-color:var(--green)}
.copilot-suggestion-card.type-daily_brief{
  background:linear-gradient(145deg,#f4fbf6,#fff 72%);
}
.copilot-suggestion-card.type-payroll_control{
  background:linear-gradient(145deg,#fffaf2,#fff 72%);
}
.copilot-suggestion-head{
  align-items:flex-start;
  display:flex;
  gap:10px;
}
.copilot-suggestion-head b,.copilot-suggestion-head small{
  display:block;
}
.copilot-suggestion-head small{
  color:var(--muted);
  font-weight:760;
  margin-top:2px;
}
.copilot-suggestion-icon{
  align-items:center;
  background:#edf8f1;
  border-radius:14px;
  color:var(--green);
  display:inline-flex;
  flex:0 0 38px;
  height:38px;
  justify-content:center;
  width:38px;
}
.severity-urgent .copilot-suggestion-icon{
  background:#fff0ee;
  color:#b42318;
}
.severity-warning .copilot-suggestion-icon{
  background:#fff7db;
  color:#8a5a00;
}
.copilot-suggestion-card p{
  color:#4f6257;
  margin:9px 0;
}
.copilot-suggestion-meta{
  display:grid;
  gap:5px;
  margin:9px 0 0;
}
.copilot-suggestion-meta div{
  display:flex;
  gap:10px;
  justify-content:space-between;
}
.copilot-suggestion-meta dt{
  color:var(--muted);
  font-weight:800;
}
.copilot-suggestion-meta dd{
  margin:0;
  text-align:right;
}
.copilot-suggestion-mini{
  display:grid;
  gap:6px;
  margin-top:10px;
}
.copilot-suggestion-mini span{
  background:#f7faf7;
  border:1px solid var(--line);
  border-radius:12px;
  color:#4f6257;
  padding:8px 10px;
}
.copilot-suggestion-source{
  align-items:flex-start;
  background:#f1f8f3;
  border:1px solid #d6eadc;
  border-radius:12px;
  color:#456052;
  display:flex;
  font-size:12px;
  gap:7px;
  line-height:1.4;
  margin-top:10px;
  overflow-wrap:anywhere;
  padding:8px 9px;
}
.copilot-suggestion-source i{
  color:var(--green);
  flex:0 0 auto;
  margin-top:1px;
}
.copilot-suggestion-records{
  display:grid;
  gap:6px;
  margin-top:10px;
  min-width:0;
}
.copilot-suggestion-records>b{
  color:var(--muted);
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.copilot-suggestion-records a{
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:11px;
  color:var(--ink);
  display:grid;
  gap:1px 8px;
  grid-template-columns:minmax(0,1fr) auto;
  padding:8px 9px;
  text-decoration:none;
}
.copilot-suggestion-records a:hover,
.copilot-suggestion-records a:focus-visible{
  background:#f5faf6;
  border-color:#bfdcca;
}
.copilot-suggestion-records a span,
.copilot-suggestion-records a small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.copilot-suggestion-records a span{
  font-size:12px;
  font-weight:800;
}
.copilot-suggestion-records a small{
  color:var(--muted);
  font-size:11px;
  grid-column:1;
}
.copilot-suggestion-records a i{
  color:var(--green);
  grid-column:2;
  grid-row:1 / span 2;
}
.copilot-suggestion-criteria{
  border-top:1px solid var(--line);
  margin-top:10px;
  padding-top:8px;
}
.copilot-suggestion-criteria summary{
  color:#466052;
  cursor:pointer;
  font-size:12px;
  font-weight:800;
  list-style:none;
}
.copilot-suggestion-criteria summary::-webkit-details-marker{display:none}
.copilot-suggestion-criteria p{
  font-size:12px;
  line-height:1.45;
  margin:7px 0 0;
}
.copilot-suggestion-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.copilot-suggestion-buttons form{
  margin:0;
}
.copilot-example-list{
  display:grid;
  gap:9px;
}
.copilot-example{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  color:var(--ink);
  font-weight:760;
  padding:10px 12px;
  text-align:left;
}
.copilot-example:hover{
  background:#f6fbf7;
  border-color:#c6dfce;
}
.copilot-nav-icon{
  align-items:center;
  display:inline-flex;
  flex:0 0 22px;
  height:22px;
  justify-content:center;
  margin-inline-end:0;
  width:22px;
}
.copilot-nav-icon img{
  display:block;
  height:28px;
  object-fit:contain;
  width:28px;
}
.sidebar-collapsed .side-nav .copilot-nav-icon{
  display:inline-flex;
}
.mobile-more-card .copilot-nav-icon{
  background:#e9f5ee;
  border-radius:16px;
  height:48px;
  width:48px;
}
.mobile-more-card .copilot-nav-icon img{
  height:54px;
  width:54px;
}
@keyframes copilotBotPulse{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-2px) scale(1.025)}
}
@keyframes copilotQuestion{
  0%,100%{opacity:.55;transform:translateY(0) rotate(-6deg) scale(.9)}
  50%{opacity:1;transform:translateY(-3px) rotate(5deg) scale(1)}
}
.copilot-action-card{
  background:#fff;
  border:1px solid var(--line);
  border-left:5px solid #9fb2a6;
  border-radius:18px;
  box-shadow:var(--shadow-sm);
  margin-bottom:12px;
  padding:13px;
}
.copilot-action-card.status-needs_confirmation{border-left-color:var(--gold)}
.copilot-action-card.status-executed{border-left-color:var(--green)}
.copilot-action-card.status-failed{border-left-color:#b42318}
.copilot-action-card.status-cancelled{opacity:.68}
.copilot-action-head{
  align-items:start;
  display:flex;
  gap:10px;
  justify-content:space-between;
}
.copilot-action-head b,.copilot-action-head small{
  display:block;
}
.copilot-action-head small{
  color:var(--muted);
}
.copilot-action-head span{
  background:#eff7f2;
  border-radius:999px;
  color:#19623c;
  flex:0 0 auto;
  font-size:.76rem;
  font-weight:850;
  padding:5px 8px;
}
.copilot-action-card p{
  color:#4f6257;
  margin:9px 0;
}
.copilot-preview-list{
  display:grid;
  gap:6px;
  margin:10px 0;
}
.copilot-preview-list div{
  display:flex;
  justify-content:space-between;
  gap:12px;
}
.copilot-preview-list dt{
  color:var(--muted);
  font-weight:750;
}
.copilot-preview-list dd{
  margin:0;
  text-align:right;
}
.copilot-mini-list{
  display:grid;
  gap:6px;
}
.copilot-mini-list span{
  background:#f7faf7;
  border:1px solid var(--line);
  border-radius:12px;
  padding:8px 10px;
}
.copilot-action-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.copilot-action-buttons .copilot-reinforced-form{
  display:flex;
  flex-basis:100%;
  flex-wrap:wrap;
  gap:8px;
}
.copilot-billing-confirmation{
  align-items:flex-start;
  background:#fff9e8;
  border:1px solid #ead28a;
  border-radius:10px;
  color:#614c08;
  display:flex;
  flex-basis:100%;
  font-size:.86rem;
  font-weight:750;
  gap:8px;
  padding:9px 10px;
}
.copilot-billing-confirmation input{
  flex:0 0 auto;
  margin-top:2px;
}
.copilot-error{
  background:#fff0ee;
  border:1px solid #f4c4bd;
  border-radius:12px;
  color:#8f1d14;
  margin-top:9px;
  padding:8px 10px;
}
.copilot-import-preview{
  margin-top:18px;
}
.copilot-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.copilot-summary-grid div{
  background:#f7faf7;
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
}
.copilot-summary-grid small,.copilot-summary-grid b{
  display:block;
}
.copilot-summary-grid small{
  color:var(--muted);
  font-weight:850;
  text-transform:uppercase;
}
.copilot-summary-grid b{
  font-size:1.35rem;
  margin-top:4px;
}
@media(max-width:1100px){
  .copilot-page{
    grid-template-columns:1fr;
  }
  .copilot-file-chip small{
    display:none;
  }
}
@media(max-width:575px){
  .copilot-chat-head,.copilot-card-header-actions{
    display:block;
  }
  .copilot-status,.copilot-card-header-actions .btn{
    margin-top:12px;
    width:100%;
  }
  .copilot-compose-shell{
    align-items:stretch;
    border-radius:24px;
    flex-wrap:wrap;
    margin:14px 12px 18px;
    padding:9px;
  }
  .copilot-local-tools{
    padding:0 12px 4px;
  }
  .copilot-attach-button{
    order:1;
  }
  .copilot-file-chip{
    flex:1 1 calc(100% - 58px);
    order:1;
  }
  .copilot-compose{
    flex:1 1 100%;
    flex-wrap:wrap;
    order:2;
  }
  .copilot-compose textarea{
    flex:1 1 100%;
    min-height:84px;
    padding-inline:8px;
  }
  .copilot-compose .btn,
  .copilot-clear-form .btn{
    margin-top:0;
    min-height:46px;
  }
  .copilot-clear-form{
    order:3;
  }
  .copilot-summary-grid{
    grid-template-columns:1fr 1fr;
  }
  .copilot-entity-grid{
    grid-template-columns:1fr;
  }
  .copilot-entity-card-head{
    grid-template-columns:34px minmax(0,1fr);
  }
  .copilot-entity-card-head em{
    grid-column:2;
    justify-self:start;
  }
}
.copilot-widget{
  position:fixed;
  right:22px;
  top:92px;
  z-index:1040;
}
.copilot-widget-launcher{
  align-items:center;
  animation:copilotWidgetFloat 3.4s ease-in-out infinite;
  background:#eaf8ed;
  border:1px solid #c8e8d4;
  border-radius:18px;
  box-shadow:0 14px 30px rgba(16,32,24,.16);
  display:flex;
  height:56px;
  justify-content:center;
  overflow:visible;
  padding:0;
  position:relative;
  transition:transform .16s ease, box-shadow .16s ease;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  cursor:grab;
  width:56px;
}
.copilot-widget.is-dragging{
  z-index:1095;
}
.copilot-widget.is-dragging .copilot-widget-launcher{
  animation:none;
  cursor:grabbing;
  transform:scale(1.04);
}
.copilot-widget-launcher:hover{
  box-shadow:0 18px 36px rgba(16,32,24,.2);
  transform:translateY(-1px);
}
.copilot-widget-launcher img{
  display:block;
  height:66px;
  object-fit:contain;
  width:66px;
}
.copilot-widget-question,
.copilot-widget-avatar.is-thinking:after{
  align-items:center;
  animation:copilotQuestion 1.15s ease-in-out infinite;
  background:#fff7c8;
  border:1px solid rgba(216,170,63,.55);
  border-radius:999px;
  box-shadow:0 8px 20px rgba(16,32,24,.18);
  color:#12321f;
  display:flex;
  font-size:.82rem;
  font-weight:950;
  height:22px;
  justify-content:center;
  line-height:1;
  position:absolute;
  right:-7px;
  top:-8px;
  width:22px;
}
.copilot-widget-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 24px 60px rgba(16,32,24,.22);
  display:grid;
  grid-template-rows:auto minmax(180px,1fr) auto auto;
  max-height:calc(100dvh - 120px);
  opacity:0;
  overflow:hidden;
  pointer-events:none;
  position:fixed;
  right:22px;
  top:92px;
  transform:translateY(8px) scale(.98);
  transform-origin:top right;
  transition:opacity .18s ease, transform .18s ease;
  width:min(390px,calc(100vw - 32px));
  will-change:left,top,opacity,transform;
}
.copilot-widget.open .copilot-widget-panel{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.copilot-widget.open .copilot-widget-launcher{
  opacity:0;
  pointer-events:none;
}
.copilot-widget-head{
  align-items:center;
  border-bottom:1px solid var(--line);
  display:grid;
  gap:10px;
  grid-template-columns:44px minmax(0,1fr) auto;
  padding:12px 14px;
}
.copilot-widget-mini-avatar,
.copilot-widget-avatar{
  align-items:center;
  background:#e9f5ee;
  border-radius:14px;
  color:var(--green);
  display:flex;
  flex:0 0 auto;
  height:38px;
  justify-content:center;
  overflow:visible;
  position:relative;
  width:38px;
}
.copilot-widget-mini-avatar img,
.copilot-widget-avatar img{
  display:block;
  height:48px;
  object-fit:contain;
  width:48px;
}
.copilot-widget-head b,
.copilot-widget-head small{
  display:block;
  line-height:1.2;
}
.copilot-widget-head small{
  color:var(--muted);
  margin-top:2px;
}
.copilot-widget-thread{
  display:grid;
  gap:12px;
  max-height:48dvh;
  overflow:auto;
  padding:14px;
}
.copilot-widget-message{
  display:grid;
  gap:8px;
  grid-template-columns:38px minmax(0,1fr);
}
.copilot-widget-message.from-user{
  grid-template-columns:minmax(0,1fr) 38px;
}
.copilot-widget-message.from-user .copilot-widget-avatar{
  grid-column:2;
  grid-row:1;
}
.copilot-widget-message.from-user .copilot-widget-bubble{
  background:#eaf6ef;
  border-color:#c8e8d4;
  justify-self:end;
}
.copilot-widget-bubble{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  max-width:100%;
  padding:10px 12px;
}
.copilot-widget-bubble small{
  color:var(--muted);
  display:block;
  font-size:.82rem;
  font-weight:850;
  margin-bottom:3px;
}
.copilot-widget-bubble p{
  font-size:.95rem;
  line-height:1.45;
  margin:0;
  overflow-wrap:anywhere;
  white-space:pre-line;
}
.copilot-widget-bot,
.copilot-widget-avatar.is-thinking{
  background:transparent;
}
.copilot-widget-avatar.is-thinking{
  animation:copilotBotPulse 1.1s ease-in-out infinite;
}
.copilot-widget-avatar.is-thinking:after{
  content:"?";
}
.copilot-widget-error{
  background:#fff5f5;
  border-color:#f1b8b8;
  color:#7f1d1d;
}
.copilot-widget-action-link{
  align-items:flex-start;
  background:#f0f8f3;
  border:1px solid #cfe8d8;
  border-radius:14px;
  color:#145a36;
  display:flex;
  gap:8px;
  margin:0 14px 12px;
  padding:10px 12px;
  text-decoration:none;
}
.copilot-widget-action-link:hover{
  color:#0f4c2d;
  background:#e9f5ee;
}
.copilot-widget-compose{
  align-items:end;
  border-top:1px solid var(--line);
  display:grid;
  gap:8px;
  grid-template-columns:minmax(0,1fr) 44px;
  padding:12px 14px;
}
.copilot-widget-compose textarea{
  border:1px solid #d7e5dc;
  border-radius:14px;
  min-height:58px;
  padding:10px 11px;
  resize:vertical;
  width:100%;
}
.copilot-widget-full-link{
  align-items:center;
  color:var(--green);
  display:flex;
  font-weight:850;
  gap:6px;
  justify-content:center;
  padding:0 14px 14px;
  text-decoration:none;
}
@keyframes copilotWidgetFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@media(max-width:991px){
  .copilot-widget{
    bottom:82px;
    right:14px;
    top:auto;
  }
  .copilot-widget-panel{
    bottom:78px;
    left:14px;
    max-height:calc(100dvh - 112px);
    right:14px;
    top:auto;
    transform-origin:bottom right;
    width:auto;
  }
}
.context-metrics b{
  width:54px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--green-soft);
  color:var(--green-dark);
  font-size:1.05rem;
}
.context-metrics .warning b{
  background:#fff5d9;
  color:#8a5b00;
}
.context-metrics span{
  color:var(--muted);
  font-weight:680;
}
.dispatch-control-panel{
  display:grid;
  grid-template-columns:auto minmax(320px,520px) minmax(260px,1fr);
  gap:10px;
  align-items:end;
}
.dispatch-date-form,
.dispatch-optimize-form{
  display:flex;
  gap:8px;
  align-items:end;
  margin:0;
}
.dispatch-date-form .form-control{
  min-width:170px;
}
.dispatch-optimize-form .form-select{
  min-width:190px;
}
.dispatch-optimize-form .btn{
  min-height:46px;
  white-space:nowrap;
}
.dispatch-optimize-form .btn:disabled{
  opacity:.58;
  cursor:not-allowed;
}
.dispatch-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  align-items:center;
}
.dispatch-badges span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:36px;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#33483b;
  font-weight:650;
}
.dispatch-badges b{
  font-weight:850;
}
.dispatch-badges .warning{
  background:#fff8e6;
  border-color:#f0d58c;
}
.dispatch-mobile-tabs{
  display:none;
}
.dispatch-lane-empty{
  padding-bottom:12px;
}
.dispatch-lane-empty .timeline-track{
  gap:0;
}
.dispatch-empty-route{
  display:flex;
  gap:10px;
  align-items:center;
  border:1px dashed var(--line);
  border-radius:12px;
  padding:10px;
  background:#f8fbf7;
}
.dispatch-empty-route i{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--green-soft);
  color:var(--green);
  flex:0 0 auto;
}
.dispatch-empty-route strong,
.dispatch-empty-route span{
  display:block;
}
.dispatch-empty-route strong{
  font-weight:760;
}
.dispatch-empty-route span{
  color:var(--muted);
  font-size:.9rem;
}
.single-map-empty{
  margin:12px;
}
.smart-dispatch-hero{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:end}
.smart-dispatch-hero h2{font-weight:950;margin:2px 0 4px}.smart-dispatch-hero p{color:var(--muted);margin:0}
.dispatch-kpis{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}
.dispatch-kpis span{display:grid;gap:2px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:13px 14px;color:var(--muted);font-weight:800;box-shadow:var(--shadow-sm)}
.dispatch-kpis b{color:var(--ink);font-size:1.35rem;line-height:1}.dispatch-kpis .warning{background:#fff8e6;border-color:#edd58a}
.route-plan-status{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;background:#fff;padding:13px 14px;box-shadow:var(--shadow-sm)}
.route-plan-status strong,.route-plan-status span,.route-plan-status small,.route-plan-status em{display:block}.route-plan-status span,.route-plan-status small{color:var(--muted)}.route-plan-status em{color:#9a5b00;font-style:normal;font-weight:850}
.route-plan-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.route-plan-actions form{margin:0}
.smart-dispatch-workspace{grid-template-columns:minmax(0,1fr) 320px 320px}
.dispatch-side-stack{display:grid;gap:14px;align-content:start;min-width:0}
.dispatch-side-stack>.dispatch-column{min-width:0}
.dispatch-stop.locked{border-color:#d8b95d;background:#fffdf6}
.route-warning{display:inline-flex;align-items:center;gap:6px;color:#8a5b00;background:#fff8e6;border:1px solid #edd58a;border-radius:999px;padding:5px 9px;font-size:.8rem;font-weight:850;margin-top:8px}
.route-stop-controls{display:grid;gap:7px;margin-top:10px}.route-stop-controls form{display:flex;gap:7px;align-items:center;margin:0}.route-stop-controls input[type=number]{width:72px}.smart-map-placeholder{min-height:220px}
@media(max-width:1320px){
  .topbar{
    grid-template-columns:minmax(220px,1fr) auto!important;
  }
  .global-search{
    grid-column:1/-1;
    grid-row:2;
    min-width:0;
  }
  .top-actions{
    grid-column:2;
    grid-row:1 / span 2;
  }
  .dispatch-control-panel{
    grid-template-columns:1fr;
  }
  .smart-dispatch-hero,.smart-dispatch-workspace{
    grid-template-columns:1fr;
  }
  .dispatch-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .route-plan-status{
    align-items:flex-start;
    flex-direction:column;
  }
  .route-plan-actions{
    justify-content:flex-start;
  }
  .dispatch-badges{
    justify-content:flex-start;
  }
}
@media(max-width:991px){
  .topbar{
    grid-template-columns:auto minmax(0,1fr) auto!important;
  }
  .top-title{
    grid-column:2;
  }
  .top-actions{
    grid-column:1/-1;
    grid-row:auto;
    justify-content:flex-start;
  }
  .global-search{
    grid-column:1/-1;
  }
  .top-user-menu{
    display:block;
  }
  .jobs-toolbar,
  .toolbar-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .toolbar-search{
    grid-column:1/-1;
  }
  .filter-apply{
    display:inline-flex!important;
  }
}
@media(max-width:768px){
  .dispatch-mobile-tabs{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding-bottom:8px;
    margin-bottom:8px;
  }
  .dispatch-mobile-tabs a{
    white-space:nowrap;
    border:1px solid var(--line);
    border-radius:999px;
    padding:9px 13px;
    background:#fff;
    color:var(--ink);
    font-weight:680;
  }
  .dispatch-workspace{
    grid-template-columns:1fr!important;
  }
}

/* Time Clock operational workspace */
.attendance-top-title{width:100%;align-self:center}
.attendance-top-title>.small{display:none}
.attendance-top-title h1{width:100%;margin:0}
.attendance-page-title{display:flex;align-items:center;width:100%;min-height:38px;padding:7px 14px;border:1px solid #b9ddc5;border-radius:7px;background:#e8f5ec;color:#17683c;font-size:.76rem;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:0}
.timeclock-subnav{display:flex;gap:7px;align-items:center;overflow-x:auto;padding:2px 0 4px;scrollbar-width:thin}
.timeclock-subnav a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:.84rem;font-weight:650;white-space:nowrap}
.timeclock-subnav a.active{background:#153f28;border-color:#153f28;color:#fff}
.timeclock-mobile-tabs,.timeclock-mobile-kiosk{display:none}
.timeclock-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 20px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}
.timeclock-hero .eyebrow{display:block;color:var(--green);font-size:.7rem;font-weight:750;letter-spacing:.05em}
.timeclock-hero h2{font-size:1.45rem;font-weight:760;margin:3px 0 3px;letter-spacing:0;color:var(--ink)}
.timeclock-hero p{margin:0;color:var(--muted);font-size:.9rem}
.timeclock-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0;color:#52665a;font-size:.78rem}
.timeclock-hero-meta span{display:inline-flex;align-items:center;gap:6px}
.timeclock-hero-meta .status-ok{color:#167342}
.timeclock-hero-chips{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px}
.timeclock-hero-chips span{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 10px;border:1px solid #d9e7dd;border-radius:999px;background:#f7fbf8;color:#405448;font-size:.78rem;white-space:nowrap}
.timeclock-hero-chips span.warning{border-color:#f0d58c;background:#fff9e8;color:#875c00}
.timeclock-hero-chips b{font-size:.9rem;font-weight:760}
.timeclock-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.timeclock-kpi-grid>a{display:grid;grid-template-columns:34px minmax(0,1fr) 14px;align-items:center;gap:9px;min-height:76px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}
.timeclock-kpi-grid>a>i:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e8f5ec;color:#167342}
.timeclock-kpi-grid>a>i:last-child{color:#8b9b90;font-size:.74rem}
.timeclock-kpi-grid>a.warning>i:first-child{background:#fff3d6;color:#946300}
.timeclock-kpi-grid span,.timeclock-kpi-grid b,.timeclock-kpi-grid small{display:block;min-width:0}
.timeclock-kpi-grid b{font-size:1.05rem;font-weight:760;line-height:1.1}
.timeclock-kpi-grid small{margin-top:3px;color:var(--muted);font-size:.7rem;line-height:1.2}
.timeclock-filters{padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-sm)}
.timeclock-filters form{display:grid;grid-template-columns:140px repeat(4,minmax(145px,1fr)) auto auto;align-items:end;gap:8px}
.timeclock-filters label{display:grid;gap:4px;min-width:0;margin:0}
.timeclock-filters label>span{font-size:.7rem;font-weight:680;color:#53665a}
.timeclock-filters .form-control,.timeclock-filters .form-select{min-height:38px;font-size:.82rem}
.timeclock-filter-more{position:relative}
.timeclock-filter-more summary{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#f8faf8;cursor:pointer;font-size:.8rem;font-weight:650;white-space:nowrap;list-style:none}
.timeclock-filter-more summary::-webkit-details-marker{display:none}
.timeclock-filter-more>div{position:absolute;right:0;top:44px;z-index:40;display:grid;grid-template-columns:repeat(3,150px);gap:8px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 42px rgba(15,44,31,.16)}
.timeclock-clear{min-height:38px;white-space:nowrap}
.timeclock-workspace{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:12px;align-items:start}
.timeclock-active-panel,.timeclock-alert-panel,.timeclock-records-panel{min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}
.timeclock-active-panel>header,.timeclock-alert-panel>header,.timeclock-records-panel>header{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:12px 14px;border-bottom:1px solid var(--line)}
.timeclock-active-panel header h3,.timeclock-alert-panel header h3,.timeclock-records-panel header h3{font-size:.94rem;font-weight:720;margin:0}
.timeclock-active-panel header p,.timeclock-alert-panel header p,.timeclock-records-panel header p{margin:2px 0 0;color:var(--muted);font-size:.75rem}
.timeclock-active-panel>header>span,.timeclock-alert-panel>header>span{padding:4px 8px;border-radius:999px;background:#e8f5ec;color:#167342;font-size:.74rem;font-weight:700;white-space:nowrap}
.timeclock-alert-panel>header>span.warning{background:#fff3d6;color:#946300}
.timeclock-records-panel{grid-column:2;grid-row:1/3}
.timeclock-records-panel>header>a{font-size:.78rem;font-weight:680;color:var(--green)}
.timeclock-active-list,.timeclock-alert-list{display:grid;gap:8px;padding:10px}
.timeclock-active-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;padding:10px;border:1px solid #e2ebe5;border-radius:10px;background:#fbfdfb}
.timeclock-active-card>div:nth-child(2){min-width:0}
.timeclock-active-card b,.timeclock-active-card small,.timeclock-active-card em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.timeclock-active-card b{font-size:.86rem;font-weight:700}.timeclock-active-card small{color:var(--muted);font-size:.72rem}.timeclock-active-card em{margin-top:4px;color:#325844;font-size:.72rem;font-style:normal}
.timeclock-worker-status{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:7px;border-top:1px solid #e6ede8}
.timeclock-worker-status>span,.status-muted,.status-ok,.status-warning{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:680}
.status-ok{color:#167342}.status-warning{color:#946300}.status-muted{color:#66776d}
.timeclock-card-actions{display:flex;gap:10px;flex-wrap:wrap}.timeclock-card-actions a{font-size:.72rem;font-weight:680}
.timeclock-alert-list>a{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border:1px solid #e2ebe5;border-radius:9px;color:var(--ink);background:#fff}
.timeclock-alert-list>a>i{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#f1f5f2;color:#52665a}
.timeclock-alert-list>a.severity-high>i{background:#fff0ed;color:#b42318}.timeclock-alert-list>a.severity-medium>i{background:#fff7df;color:#946300}
.timeclock-alert-list span,.timeclock-alert-list b,.timeclock-alert-list small{display:block;min-width:0}.timeclock-alert-list b{font-size:.78rem;font-weight:680}.timeclock-alert-list small{color:var(--muted);font-size:.68rem}.timeclock-alert-list strong{font-size:.9rem}
.timeclock-table-wrap{max-width:100%;overflow:auto}
.timeclock-table{width:100%;border-collapse:collapse;font-size:.77rem}
.timeclock-table th{padding:10px 9px;border-bottom:1px solid var(--line);background:#f8faf8;color:#607166;font-size:.66rem;font-weight:700;text-transform:uppercase;white-space:nowrap}
.timeclock-table td{padding:10px 9px;border-bottom:1px solid #edf2ee;vertical-align:middle;white-space:nowrap}
.timeclock-table td:first-child{min-width:150px}.timeclock-table td b,.timeclock-table td small{display:block}.timeclock-table td b{font-size:.78rem;font-weight:680}.timeclock-table td small{color:var(--muted);font-size:.67rem}
.entry-type,.review-status{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:0 8px;border-radius:999px;font-size:.68rem;font-weight:700;white-space:nowrap}
.entry-type.in{background:#dff5e5;color:#14532d}.entry-type.out{background:#e7f0ff;color:#174ea6}
.review-status.pending{background:#fff3d6;color:#875c00}.review-status.approved{background:#dff5e5;color:#14532d}.review-status.rejected{background:#fff0ed;color:#b42318}
.flag-reason{display:block!important;margin-top:4px!important;color:#b42318!important;font-size:.66rem!important;white-space:normal!important}
.icon-action{width:30px;height:30px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:#315b43}
button.icon-action{padding:0}
.timeclock-empty{display:grid;place-items:center;gap:7px;min-height:190px;padding:22px;text-align:center;color:var(--muted)}
.timeclock-empty.compact{min-height:150px}.timeclock-empty>i{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#e8f5ec;color:#167342;font-size:1.2rem}.timeclock-empty h3{font-size:.92rem;font-weight:720;color:var(--ink);margin:0}.timeclock-empty p{max-width:360px;margin:0;font-size:.78rem}
.timeclock-record-cards{display:none}
.timeclock-settings-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:14px;align-items:start}
.timeclock-settings-card{padding:20px}
.timeclock-settings-card header{margin-bottom:16px}
.timeclock-settings-card h2,.timeclock-settings-card h3{margin:3px 0 6px;font-weight:820;color:var(--ink)}
.timeclock-settings-card p{color:var(--muted)}
.timeclock-policy-toggle{display:flex;gap:12px;align-items:flex-start;padding:13px;border:1px solid #d9e7dd;border-radius:12px;background:#f6fbf8}
.timeclock-policy-toggle input{margin-top:5px}
.timeclock-policy-toggle b,.timeclock-policy-toggle small{display:block}
.timeclock-policy-toggle small{color:var(--muted)}
.timeclock-coordinate-help{display:flex;gap:9px;align-items:flex-start;padding:11px;border:1px solid #d9e7dd;border-radius:10px;background:#fbfdfb;color:#52665a;font-size:.86rem}
.timeclock-policy-summary{display:grid;gap:9px;margin:0 0 14px}
.timeclock-policy-summary div{display:flex;justify-content:space-between;gap:12px;padding:10px;border:1px solid #edf2ee;border-radius:10px;background:#fbfdfb}
.timeclock-policy-summary dt{color:var(--muted);font-size:.76rem;font-weight:760}
.timeclock-policy-summary dd{margin:0;color:var(--ink);font-weight:720;text-align:right}
@media(min-width:1200px) and (max-width:1500px){.timeclock-page .topbar{grid-template-columns:minmax(180px,260px) minmax(260px,1fr)}.timeclock-page .top-actions{grid-column:1/-1;width:100%;justify-content:flex-end;flex-wrap:nowrap;gap:6px}.timeclock-page .top-actions .btn{padding:.58rem .72rem;font-size:.8rem;white-space:nowrap}}
@media(min-width:1501px){.timeclock-page .topbar{grid-template-columns:200px minmax(260px,1fr) auto}.timeclock-page .top-actions{grid-column:auto;flex-wrap:nowrap;gap:6px}.timeclock-page .top-actions .btn{padding:.58rem .72rem;font-size:.8rem;white-space:nowrap}}
@media(max-width:1500px){.timeclock-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.timeclock-filters form{grid-template-columns:140px repeat(2,minmax(150px,1fr)) auto}.timeclock-filter-more>div{right:0}.timeclock-clear{grid-column:auto}}
@media(max-width:1100px){.timeclock-workspace{grid-template-columns:1fr}.timeclock-records-panel{grid-column:1;grid-row:auto}.timeclock-active-list{grid-template-columns:repeat(2,minmax(0,1fr))}.timeclock-alert-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){
  .timeclock-subnav{display:none}.timeclock-mobile-tabs{display:grid;grid-template-columns:repeat(4,1fr);position:sticky;top:56px;z-index:45;background:#f5f8f5;border:1px solid var(--line);border-radius:10px;padding:4px}.timeclock-mobile-tabs a{display:grid;place-items:center;min-height:36px;color:#3d5145;font-size:.72rem;font-weight:680}
  .timeclock-hero{display:block;padding:14px}.timeclock-hero h2{font-size:1.25rem}.timeclock-hero-meta{display:grid;grid-template-columns:1fr 1fr}.timeclock-hero-chips{justify-content:flex-start;margin-top:12px}
  .timeclock-kpi-grid{grid-template-columns:1fr 1fr}.timeclock-kpi-grid>a{min-height:70px}
  .timeclock-filters form{grid-template-columns:1fr 1fr}.timeclock-filter-more,.timeclock-clear{grid-column:1/-1}.timeclock-filter-more>div{position:static;grid-template-columns:1fr;margin-top:8px;box-shadow:none}.timeclock-filter-more summary{justify-content:flex-start}.timeclock-clear{width:100%}
  .timeclock-active-list,.timeclock-alert-list{grid-template-columns:1fr}
  .timeclock-settings-grid{grid-template-columns:1fr}
  .timeclock-table-wrap{display:none}.timeclock-record-cards{display:grid;gap:9px;padding:10px}.timeclock-record-cards article{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff}.timeclock-record-cards article>header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.timeclock-record-cards header b,.timeclock-record-cards header small{display:block}.timeclock-record-cards header b{font-size:.84rem;font-weight:700}.timeclock-record-cards header small{font-size:.7rem;color:var(--muted)}.timeclock-record-cards dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0 0}.timeclock-record-cards dl div{padding:7px;border-radius:8px;background:#f7faf8}.timeclock-record-cards dt{font-size:.62rem;color:var(--muted);text-transform:uppercase}.timeclock-record-cards dd{margin:1px 0 0;font-size:.76rem;font-weight:650}.timeclock-record-cards footer{display:flex;gap:12px;margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}.timeclock-record-cards footer a{font-size:.72rem;font-weight:680}
  .timeclock-mobile-kiosk{display:flex;position:fixed;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:90;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;background:var(--green);color:#fff;font-weight:720;box-shadow:0 14px 34px rgba(15,68,37,.25)}
}
@media(max-width:390px){.timeclock-kpi-grid{grid-template-columns:1fr}.timeclock-hero-meta{grid-template-columns:1fr}.timeclock-filters form{grid-template-columns:1fr}.timeclock-filter-more,.timeclock-clear{grid-column:1}.timeclock-mobile-tabs a{font-size:.66rem}.timeclock-record-cards dl{grid-template-columns:1fr 1fr}}
@media(max-width:575px){
  .global-search-open{
    display:inline-grid;
  }
  .global-search{
    display:none;
    position:fixed;
    left:12px;
    right:12px;
    top:calc(var(--mobile-header,56px) + env(safe-area-inset-top) + 8px);
    z-index:1200;
    min-width:0;
    box-shadow:0 18px 48px rgba(15,44,31,.2);
  }
  .global-search.mobile-open{
    display:flex;
  }
  .global-search-close{
    display:grid;
    border:0;
    background:transparent;
    color:var(--muted);
  }
  .jobs-toolbar,
  .toolbar-grid,
  .dispatch-date-form,
  .dispatch-optimize-form{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .dispatch-badges{
    display:grid;
    grid-template-columns:1fr;
  }
  .dispatch-kpis{
    grid-template-columns:1fr;
  }
  .route-stop-controls form{
    display:grid;
    grid-template-columns:1fr;
  }
  .route-stop-controls input[type=number]{
    width:100%;
  }
  .setup-panel-compact{
    grid-template-columns:1fr auto!important;
  }
  .setup-panel-compact .setup-ring{
    grid-row:1 / span 2;
  }
}

/* Operations polish: optional costing, properties, assignments and overflow hardening */
*,*:before,*:after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
.app-shell,.main-content,.card-soft,.card-body,.quick-card,.form-layout,.form-main,.form-aside,.table-responsive,.row,.col,.col-md-3,.col-md-4,.col-md-6,.col-md-8,.col-lg-4,.col-lg-8,.col-xl-4,.col-xl-8{min-width:0}
input,select,textarea,button,.btn{max-width:100%;min-width:0}
.card-title,.card-text,.quick-card,.table td,.table th,.property-card,.worker-chip{overflow-wrap:anywhere;word-break:break-word}
.optional-costing-panel{background:#f4fbf6;border:1px dashed #96c7a5;border-radius:22px;box-shadow:0 12px 28px rgba(17,73,39,.06);overflow:hidden}
.optional-costing-panel summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none}
.optional-costing-panel summary::-webkit-details-marker{display:none}
.optional-costing-panel summary b,.optional-costing-panel summary small{display:block}
.optional-costing-panel summary small{color:#587362;line-height:1.35;margin-top:2px}
.optional-costing-panel summary em{font-style:normal;color:#17683c;font-weight:850;font-size:.9rem;white-space:nowrap}
.optional-badge{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#dff1e5;color:#14532d;padding:7px 11px;font-weight:950;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.optional-costing-body{border-top:1px dashed #b9dbc4;padding:18px;background:rgba(255,255,255,.72)}

/* Advanced costing, equipment and procurement */
.costing-screen .content-wrap{max-width:1560px}
.costing-summary-band{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:0 0 22px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--line);box-shadow:var(--shadow-soft)}
.costing-summary-band>div{min-width:0;padding:18px;background:#fff}
.costing-summary-band span,.costing-summary-band small{display:block;color:var(--muted)}
.costing-summary-band span{font-size:.78rem;font-weight:850;text-transform:uppercase}
.costing-summary-band strong{display:block;margin:6px 0 2px;font-size:1.35rem;color:var(--ink);overflow-wrap:anywhere}
.costing-summary-band small{font-size:.82rem;line-height:1.35}
.costing-two-column,.equipment-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);gap:20px;align-items:start}
.costing-three-column,.procurement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.procurement-grid .span-2{grid-column:span 2}
.procurement-grid .table{min-width:720px}
.procurement-grid .table th,.procurement-grid .table td,.costing-document-layout .table th,.costing-document-layout .table td{white-space:nowrap}
.procurement-grid .table td:nth-child(2),.costing-document-layout .table td:first-child{white-space:normal;min-width:150px}
.costing-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.costing-form-grid.single-column{grid-template-columns:1fr}
.costing-form-grid label,.cost-line-form label,.procurement-document-form label{display:grid;gap:6px;color:var(--ink);font-size:.86rem;font-weight:800}
.costing-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:4px}
.costing-inline-form{display:grid;grid-template-columns:minmax(100px,.55fr) minmax(180px,1fr) minmax(150px,.8fr) auto;gap:10px;align-items:end;margin-top:16px}
.labor-rate-form{grid-template-columns:repeat(3,minmax(120px,1fr)) repeat(3,minmax(110px,.75fr)) auto}
.costing-code-list{display:flex;flex-wrap:wrap;gap:8px}
.costing-code-list span{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:#f8fbf9}
.costing-code-list b{color:var(--green-dark)}
.costing-code-list em{font-size:.72rem;font-style:normal;text-transform:uppercase;color:var(--muted)}
.compact-list{display:grid;gap:8px}
.compact-list>a,.plain-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.compact-list>a:last-child,.plain-row:last-child{border-bottom:0}
.compact-list span,.compact-list b,.compact-list small{display:block;min-width:0}
.compact-list small{color:var(--muted);margin-top:2px}
.compact-list em{font-style:normal;color:var(--muted);text-align:right}
.costing-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--line)}
.costing-detail-grid>div,.costing-metrics>div{padding:14px;background:#fff}
.costing-detail-grid span,.costing-metrics span{display:block;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}
.costing-detail-grid strong,.costing-metrics strong{display:block;margin-top:5px;font-size:1.1rem;overflow-wrap:anywhere}
.costing-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.costing-metrics>div{border:1px solid var(--line);border-radius:7px;background:#f8fbf9}
.cost-line-form{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(220px,1.7fr) repeat(3,minmax(100px,.65fr)) minmax(140px,.8fr) auto;gap:10px;align-items:end}
.costing-totals{display:grid;gap:1px;margin-left:auto;max-width:520px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--line)}
.costing-totals>div{display:flex;justify-content:space-between;gap:24px;padding:11px 14px;background:#fff}
.costing-totals .recommended{background:#eff8f2;color:var(--green-dark)}
.costing-confirm{padding:14px;border:1px solid #b9dbc4;border-radius:7px;background:#f2faf5}
.costing-empty-state{padding:32px 20px;text-align:center;color:var(--muted)}
.costing-empty-state i{display:block;margin-bottom:8px;font-size:2rem;color:var(--green)}
.costing-usage-row{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(90px,.65fr)) auto;gap:10px;align-items:end}
.procurement-document-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end}
.costing-document-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.costing-document-layout{margin-top:16px}
.procurement-lines{display:grid;gap:8px}
.procurement-line{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(90px,.65fr));gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:7px;background:#fbfdfb}
.procurement-line strong,.procurement-line small{display:block}
.procurement-line small{color:var(--muted)}
.match-exception{display:flex;gap:10px;align-items:flex-start;padding:12px;border-left:4px solid #d89b15;border-radius:4px;background:#fff8e6}
.match-exception span,.match-exception b,.match-exception small{display:block;min-width:0}
.match-exception small{margin-top:2px;color:var(--muted)}
.match-exception.danger{border-left-color:#c9342c;background:#fff1ef}
.finance-status{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;background:#edf4ef;color:#315d43;font-size:.76rem;font-weight:850;text-transform:capitalize;white-space:nowrap}
.finance-status.approved,.finance-status.matched,.finance-status.received{background:#e4f5e9;color:#146a37}
.finance-status.needs_review,.finance-status.partial{background:#fff2d5;color:#825700}
.finance-status.duplicate,.finance-status.void{background:#fde9e7;color:#9f2720}

@media(max-width:1180px){.costing-summary-band{grid-template-columns:repeat(3,minmax(0,1fr))}.costing-three-column,.procurement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.labor-rate-form,.cost-line-form{grid-template-columns:repeat(3,minmax(0,1fr))}.cost-line-form button,.labor-rate-form button{width:100%}.costing-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:840px){.costing-two-column,.equipment-layout,.costing-three-column,.procurement-grid{grid-template-columns:1fr}.procurement-grid .span-2{grid-column:auto}.costing-summary-band,.costing-form-grid,.costing-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.costing-inline-form,.labor-rate-form,.cost-line-form,.costing-usage-row,.procurement-document-form{grid-template-columns:1fr}.costing-form-actions{justify-content:stretch}.costing-form-actions .btn,.costing-inline-form .btn,.cost-line-form .btn,.procurement-document-form .btn{width:100%}.procurement-line{grid-template-columns:1fr 1fr}.costing-document-head{display:grid}}
@media(max-width:575px){.costing-summary-band,.costing-form-grid,.costing-metrics,.costing-detail-grid,.procurement-line{grid-template-columns:1fr}.costing-summary-band strong{font-size:1.18rem}.compact-list>a{align-items:flex-start}.costing-totals{max-width:none}}

/* Aureo Finance Operations 2.0 */
.finance-ops-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:18px;padding:24px;border-radius:28px;background:linear-gradient(135deg,#102017,#25663e 72%,#d9ad44);color:#fff;box-shadow:0 20px 50px rgba(16,32,23,.17);overflow:hidden}
.finance-ops-hero>div{min-width:0}.finance-ops-hero span{font-size:.76rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#dcefe2}.finance-ops-hero h2{margin:.35rem 0;font-size:clamp(1.45rem,3vw,2.25rem);font-weight:950;letter-spacing:-.04em}.finance-ops-hero p{max-width:760px;margin:0;color:#e1f0e5}.finance-as-of{display:flex;align-items:flex-end;gap:9px;flex:0 0 auto}.finance-as-of label{display:grid;gap:5px;font-size:.78rem;font-weight:850}.finance-as-of .form-control{min-width:158px;background:rgba(255,255,255,.96)}
.finance-ops-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.finance-ops-kpis article{display:grid;gap:4px;min-width:0;padding:18px 20px;border:1px solid var(--line);border-left:5px solid var(--green);border-radius:22px;background:#fff;box-shadow:var(--shadow-sm)}.finance-ops-kpis article.danger{border-left-color:#c43b32}.finance-ops-kpis article.warning{border-left-color:#d69420}.finance-ops-kpis small{color:var(--muted);font-size:.72rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.finance-ops-kpis strong{font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.1;color:var(--ink)}.finance-ops-kpis span{color:var(--muted);font-size:.82rem}
.finance-aging-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.finance-aging-grid article{display:grid;gap:5px;min-width:0;padding:15px;border:1px solid #dce9df;border-radius:18px;background:#f8fbf9}.finance-aging-grid span{font-size:.78rem;font-weight:800;color:#3a5846}.finance-aging-grid strong{font-size:1.15rem;color:var(--ink)}.finance-aging-grid small{font-size:.74rem;color:var(--muted)}
.finance-ops-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:18px;align-items:start}.finance-ops-layout>*{min-width:0}.finance-ops-wide{min-width:0}.finance-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.finance-section-head h5{margin:0}.finance-section-head small{color:var(--muted)}.finance-inline-filter{display:flex;align-items:center;gap:8px}.finance-inline-filter .form-select{min-width:145px}.finance-ops-table{margin:0;min-width:680px}.finance-ops-table th{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#617166}.finance-ops-table td small{display:block;color:var(--muted);font-size:.72rem}.finance-row-overdue{background:#fff9f7}.finance-alert-list{display:grid;gap:10px}.finance-alert-list>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid #e1ebe4;border-radius:16px;background:#fbfdfb;color:var(--ink)}.finance-alert-list>a i{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#edf7f0;color:#227344}.finance-alert-list>a.danger i{background:#fdeceb;color:#ad3029}.finance-alert-list>a.warning i{background:#fff4dc;color:#946000}.finance-alert-list>a span{min-width:0}.finance-alert-list>a b,.finance-alert-list>a small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-alert-list>a small{color:var(--muted);font-size:.72rem}.finance-alert-list>a strong{font-size:.84rem}
.finance-category-list{display:grid;gap:9px}.finance-category-list>span{display:grid;gap:2px;padding:11px 12px;border-radius:14px;background:#f6faf7;border:1px solid #dfebe2}.finance-category-list small{color:var(--muted)}.finance-stacked-form{display:grid;gap:10px}.finance-stacked-form label{display:grid;gap:5px;font-size:.82rem;font-weight:800}.finance-document-form{overflow:hidden}.finance-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.finance-form-grid label{display:grid;align-content:start;gap:6px;min-width:0;font-size:.82rem;font-weight:800}.finance-form-grid label.span-2{grid-column:span 2}.finance-form-grid label small{color:var(--muted);font-weight:600}.finance-form-actions{display:flex;justify-content:flex-end;padding:16px 22px;border-top:1px solid var(--line);background:#fbfdfb}
.finance-record-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:20px 22px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm)}.finance-record-head>div{min-width:0}.finance-record-head>div:first-child>span{color:var(--green);font-size:.76rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.finance-record-head h2{margin:3px 0;font-weight:950;letter-spacing:-.035em}.finance-record-head p{margin:0;color:var(--muted)}.finance-record-head>div:last-child{display:grid;justify-items:end;gap:7px}.finance-record-head>div:last-child strong{font-size:1.7rem;color:var(--ink)}.finance-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}.finance-record-grid>div{min-width:0;padding:12px;border:1px solid #e1ebe4;border-radius:15px;background:#fafcfb}.finance-record-grid dt{color:var(--muted);font-size:.71rem;letter-spacing:.04em;text-transform:uppercase}.finance-record-grid dd{margin:3px 0 0;overflow-wrap:anywhere;font-weight:800;color:var(--ink)}.finance-notes{margin-top:14px;padding:14px;border-radius:16px;background:#f7faf8}.finance-notes p{margin:5px 0 0;white-space:pre-wrap}.finance-action-stack{display:grid;gap:13px}.finance-void-form{padding-top:13px;border-top:1px solid var(--line)}.finance-summary-list{display:grid;gap:9px;margin:0}.finance-summary-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf2ee}.finance-summary-list dt{color:var(--muted)}.finance-summary-list dd{margin:0;font-weight:850;text-align:right;overflow-wrap:anywhere}.finance-vendor-picker{display:flex;align-items:flex-end;gap:10px;padding:18px 20px}.finance-vendor-picker label{display:grid;gap:6px;min-width:min(100%,360px);font-weight:800}.finance-allocation-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.finance-allocation-head h5{margin:0}.finance-allocation-head small{color:var(--muted)}.finance-allocation-input{min-width:130px}
.finance-status.posted,.finance-status.unpaid{background:#e7f0ff;color:#174ea6}.finance-status.paid{background:#dff5e5;color:#14532d}
@media(max-width:1100px){.finance-aging-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:840px){.finance-ops-hero{display:grid;align-items:start}.finance-as-of{width:100%;flex-wrap:wrap}.finance-as-of label{flex:1 1 170px}.finance-as-of .form-control{width:100%;min-width:0}.finance-ops-kpis{grid-template-columns:1fr}.finance-ops-layout{grid-template-columns:1fr}.finance-section-head{align-items:stretch;display:grid}.finance-inline-filter{display:grid;grid-template-columns:1fr 1fr}.finance-inline-filter .btn{grid-column:span 2}.finance-record-head{align-items:flex-start}.finance-tabs{flex-wrap:wrap;overflow:visible}}
@media(max-width:575px){.finance-aging-grid,.finance-form-grid,.finance-record-grid{grid-template-columns:1fr}.finance-form-grid label.span-2{grid-column:auto}.finance-record-head{display:grid}.finance-record-head>div:last-child{justify-items:start}.finance-inline-filter{grid-template-columns:1fr}.finance-inline-filter .btn{grid-column:auto}.finance-vendor-picker{display:grid}.finance-form-actions .btn{width:100%}}
.add-section-bar{display:flex;align-items:center;gap:10px;margin:22px 0 14px;padding:13px 15px;border-radius:18px;background:#edf8f0;border:1px solid #cfe7d6;color:#14532d;font-weight:950}
.add-section-bar i{width:32px;height:32px;border-radius:12px;background:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(17,73,39,.08)}
.add-section-form{border:1px solid var(--line);border-radius:20px;background:#fff;padding:16px}
.property-card-list{display:grid;gap:12px}
.property-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:15px;box-shadow:var(--shadow-sm)}
.property-card.inactive{background:#f8faf8;border-style:dashed;opacity:.9}
.property-card-main{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.property-instructions{margin-top:8px;border-left:4px solid #d8eadc;padding-left:10px;color:#5d7164}
.property-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.property-actions form{display:inline-flex;margin:0}
.crew-assignment-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.date-picker-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-right:auto}
.date-picker-form .form-control{min-width:180px}
.crew-assignment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;align-items:start}
.crew-leader-card{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:16px;min-width:0}
.crew-leader-card.unassigned-card{border-style:dashed;background:#f8fbf7}
.crew-leader-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.crew-leader-head span{display:block;color:var(--muted);text-transform:uppercase;font-weight:900;font-size:.74rem;letter-spacing:.05em}
.crew-leader-head h3{font-size:1.15rem;font-weight:950;margin:2px 0}
.crew-leader-head p{margin:0;color:var(--muted);font-size:.92rem}
.crew-leader-head>b{width:42px;height:42px;border-radius:15px;background:#e7f5ec;color:#14532d;display:grid;place-items:center;font-size:1.15rem}
.worker-chip-list{display:flex;flex-wrap:wrap;gap:8px;min-height:42px}
.worker-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #cfe3d5;background:#fff;border-radius:999px;padding:8px 10px;font-weight:850;box-shadow:0 8px 18px rgba(17,73,39,.06)}
.worker-chip.assigned{background:#edf8f0;color:#123d25}
.worker-chip form{display:inline-flex;margin:0}
.worker-chip button{border:0;background:#fff;color:#8a1f1f;width:26px;height:26px;border-radius:999px;display:grid;place-items:center}
.quick-add-worker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:14px}
.empty-mini{color:var(--muted);font-size:.92rem;padding:8px 0}
.crew-watch-row.overstaffed{border-color:#f4c56a;background:#fff9e8}
.overstaff-alert{border:1px solid #f4c56a;background:#fff8e4;color:#7a4d00;border-radius:14px;padding:10px 12px;font-weight:850}
@media(max-width:768px){.optional-costing-panel summary{grid-template-columns:1fr}.optional-costing-panel summary em{white-space:normal}.crew-assignment-toolbar,.date-picker-form{display:grid;grid-template-columns:1fr;width:100%}.crew-assignment-toolbar .btn,.date-picker-form .btn,.quick-add-worker{width:100%}.quick-add-worker{grid-template-columns:1fr}.property-card-main{display:block}.property-card-main .badge{margin-top:8px}.property-actions .btn,.property-actions form{flex:1 1 120px}.property-actions form button{width:100%}.main-content{padding-bottom:120px}}

/* Flow polish: quick work-order modals, workers, crew tabs and inventory wrapping */
.quick-create-field{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;align-items:end}
.quick-create-field>.mb-3{margin-bottom:0!important;min-width:0}
.quick-plus{width:48px;height:48px;border:1px solid #cfe2d4;border-radius:16px;background:#eef8f1;color:#14532d;display:grid;place-items:center;font-weight:950;box-shadow:0 10px 22px rgba(17,73,39,.08)}
.quick-plus:hover{background:#def0e4}
.quick-modal-backdrop{position:fixed;inset:0;background:rgba(8,22,14,.38);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1500;opacity:0;pointer-events:none;transition:opacity .18s ease}
.quick-modal-backdrop.show{opacity:1;pointer-events:auto}
.quick-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.98);width:min(560px,calc(100% - 28px));max-height:calc(100vh - 42px);overflow:auto;z-index:1510;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 80px rgba(15,44,31,.22);border-radius:26px;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.quick-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.quick-modal header,.quick-modal footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.quick-modal footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end}
.quick-modal h3{font-size:1.18rem;font-weight:950;margin:0}
.quick-modal header button{border:0;background:#f0f7f2;border-radius:14px;width:42px;height:42px;color:#123d25}
.quick-modal-body{display:grid;gap:12px;padding:18px}
.quick-modal-body label{display:grid;gap:6px;font-weight:850;color:#263b2c}
.quick-modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.quick-modal-error{color:#b42318;font-weight:850}
.weekly-repeat-panel{display:grid;grid-template-columns:minmax(0,220px) minmax(0,260px) minmax(0,1fr);gap:12px;align-items:end;border:1px dashed #b9dbc4;background:#f7fcf8;border-radius:18px;padding:12px}
.module-tabs,.jobs-quick-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.module-tabs a,.jobs-quick-bar a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;border-radius:999px;padding:10px 13px;font-weight:850;box-shadow:var(--shadow-sm)}
.module-tabs a.active,.jobs-quick-bar a.active{background:#123d25;color:#fff;border-color:#123d25}
.unassigned-job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.unassigned-job-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:14px;border:1px solid var(--line);border-radius:22px;background:#fff;padding:16px;box-shadow:var(--shadow-sm)}
.unassigned-job-card h3{font-size:1.08rem;font-weight:950;margin:8px 0 4px}
.unassigned-job-card p{color:var(--muted);margin:0 0 4px;line-height:1.4}
.worker-profile-strip{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:20px;background:#f7fbf8;padding:12px}
.worker-profile-strip img,.worker-profile-strip>span,.worker-avatar-sm{width:58px;height:58px;border-radius:18px;object-fit:cover;background:#e9f5ed;color:#14532d;display:grid;place-items:center;font-size:1.35rem;font-weight:950;flex:0 0 auto}
.worker-profile-strip b,.worker-profile-strip small{display:block}
.worker-profile-strip small{color:var(--muted)}
.worker-avatar-sm{width:42px;height:42px;border-radius:14px;font-size:1rem}
.worker-avatar-sm.empty{display:inline-grid}
.access-box{border:1px dashed #b9dbc4;background:#f7fcf8;border-radius:18px;padding:12px}
.inventory-screen .topbar{grid-template-columns:minmax(220px,340px) minmax(360px,1fr)!important;row-gap:10px}
.inventory-screen .global-search{grid-column:2;grid-row:1;min-width:0}
.inventory-screen .top-actions{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.inventory-screen .top-actions::-webkit-scrollbar{display:none}
.inventory-screen .top-actions .btn,.inventory-screen .top-actions .dropdown,.inventory-screen .top-actions form{flex:0 0 auto}
.inventory-screen .top-actions form.d-inline{display:inline-flex!important}
.inventory-screen .top-actions .btn{min-height:44px;padding:.58rem .8rem;border-radius:13px}
.inventory-page,.inventory-layout-grid,.inventory-main,.inventory-side,.inventory-action-card{max-width:100%;min-width:0;box-sizing:border-box}
.inventory-layout-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:24px;align-items:start}
.inventory-quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;width:100%;max-width:100%;min-width:0}
.inventory-action-card{width:100%;overflow:hidden;display:flex;align-items:flex-start;gap:11px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;padding:14px;box-shadow:var(--shadow-sm)}
.inventory-action-card i{width:42px;height:42px;border-radius:14px;background:#e8f5ec;color:#14532d;display:grid;place-items:center;flex:0 0 auto}
.inventory-action-card b,.inventory-action-card small{display:block;overflow-wrap:anywhere;word-break:break-word}
.inventory-action-card small{color:var(--muted);line-height:1.35;margin-top:3px}
.inventory-main .table-responsive{overflow-x:auto}
.inventory-items-table{min-width:920px;table-layout:auto}
.inventory-stock-table{min-width:1040px;table-layout:auto}
.inventory-items-table th,
.inventory-items-table td,
.inventory-stock-table th,
.inventory-stock-table td{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.inventory-items-table .inventory-col-item,
.inventory-stock-table .inventory-col-item,
.inventory-items-table .inventory-item-cell,
.inventory-stock-table .inventory-item-cell{min-width:260px;width:34%;white-space:normal}
.inventory-items-table .inventory-item-cell b,
.inventory-items-table .inventory-item-cell .small,
.inventory-stock-table .inventory-item-cell b,
.inventory-stock-table .inventory-item-cell .small{display:block;overflow-wrap:break-word;word-break:normal;line-height:1.35}
.inventory-items-table .inventory-col-actions,
.inventory-stock-table .inventory-col-actions{min-width:190px}
.inventory-stock-table .inventory-col-location{min-width:180px}
.inventory-stock-table .inventory-col-spot{min-width:190px}
.inventory-items-table td.text-end,
.inventory-stock-table td.text-end{white-space:nowrap}
.inventory-locator-card{padding:0;overflow:hidden}
.inventory-locator-form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(280px,520px) auto;gap:14px;align-items:center;padding:18px}
.inventory-locator-form h5{font-weight:950;margin:0;color:#102217}
.inventory-locator-form p{margin:4px 0 0;color:var(--muted);line-height:1.35}
.inventory-locator-control{position:relative;min-width:0}
.inventory-locator-control i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#0f7a43}
.inventory-locator-control input{width:100%;min-height:50px;border:1px solid var(--line);border-radius:16px;padding:12px 14px 12px 42px;font-weight:800;background:#fff;color:var(--ink);outline:none}
.inventory-locator-control input:focus{border-color:#168a4a;box-shadow:0 0 0 4px rgba(22,138,74,.12)}
.inventory-trace-cell{min-width:220px;white-space:normal!important;line-height:1.45}
.inventory-cost-cell{white-space:nowrap}
.inventory-movements-table{min-width:1040px}
.status-pending_assignment{background:#fff4d6;color:#8a5b00}
.status-pending_payment{background:#fef3c7;color:#92400e}
.status-left-pending_assignment:before{background:#d8aa3f}
.status-left-pending_payment:before{background:#b7791f}
@media(max-width:1100px){.inventory-layout-grid{grid-template-columns:1fr}}
@media(max-width:991px){.inventory-screen .top-actions{display:none}.inventory-screen .global-search{grid-column:1/-1;grid-row:auto}}
@media(max-width:900px){.inventory-locator-form{grid-template-columns:1fr}.inventory-locator-form .btn{width:100%}}
@media(max-width:768px){.quick-modal{top:auto;bottom:0;left:10px;right:10px;width:auto;max-height:88vh;border-radius:26px 26px 0 0;transform:translateY(16px)}.quick-modal.open{transform:translateY(0)}.quick-modal-grid,.weekly-repeat-panel,.unassigned-job-card{grid-template-columns:1fr}.inventory-page{padding:0}.inventory-quick-actions-grid{grid-template-columns:1fr}.module-tabs,.jobs-quick-bar{display:grid;grid-template-columns:1fr}.module-tabs a,.jobs-quick-bar a{justify-content:center}}

/* Final modal hardening for quick-create flows inside /jobs/new */
body.quick-modal-open{overflow:hidden}
.quick-create-field{grid-template-columns:minmax(0,1fr)}
.quick-create-field:has(.quick-plus){grid-template-columns:minmax(0,1fr) 48px}
.quick-modal-backdrop{z-index:2990}
.quick-modal{z-index:3000;outline:0;width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;overflow-x:hidden;background:#fff;border:1px solid #dbe9df;box-shadow:0 30px 90px rgba(15,44,31,.28)}
.quick-modal form{margin:0}
.quick-modal header,.quick-modal footer,.quick-modal-body{background:#fff}
.quick-modal header{border-radius:26px 26px 0 0}
.quick-modal footer{border-radius:0 0 26px 26px}
.quick-modal-body input,.quick-modal-body select,.quick-modal-body textarea{width:100%;min-width:0}
.modal-form-grid{display:grid;grid-template-columns:1fr;gap:16px;width:100%;max-width:100%;min-width:0}
.modal-form-grid .span-2{grid-column:1/-1}
.form-field{display:block;min-width:0;max-width:100%;font-weight:850;color:#263b2c;line-height:1.25;white-space:normal;overflow-wrap:break-word}
.form-field input,.form-field select,.form-field textarea{display:block;margin-top:7px}
.form-field.check-field{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid #d9e8dd;border-radius:16px;background:#f7fbf8}
.form-field.check-field input{width:auto;margin:0;min-height:20px}
.quick-inline-create{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.quick-inline-create label{display:block;margin:0;min-width:0}
.quick-inline-button{min-height:44px;border:1px solid #cfe2d4;border-radius:14px;background:#eef8f1;color:#14532d;font-weight:850;padding:8px 12px}
.quick-modal header button{min-width:44px;min-height:44px}
.quick-modal [data-quick-modal-close]{position:relative;z-index:2;pointer-events:auto;cursor:pointer}
.quick-modal-error:not(:empty){padding:10px 12px;border-radius:14px;background:#fff0f0;border:1px solid #ffd1d1}
.quick-toast{position:fixed;left:50%;bottom:max(96px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:3050;background:#123d25;color:#fff;border-radius:999px;padding:12px 18px;font-weight:850;box-shadow:0 18px 40px rgba(15,44,31,.22)}
@media(min-width:768px){.modal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.quick-modal{left:12px;right:12px;bottom:max(8px,env(safe-area-inset-bottom));width:auto;max-height:calc(100vh - 34px - env(safe-area-inset-top));overflow:auto}.quick-modal header{position:sticky;top:0;background:#fff;z-index:1}.quick-modal footer{position:sticky;bottom:0;background:#fff;display:grid;grid-template-columns:1fr;gap:8px}.quick-modal footer .btn{width:100%}.quick-toast{left:12px;right:12px;transform:none;text-align:center;border-radius:18px}}

/* Inline quick-create panels for /jobs/new. These replace the old blocking popup
   so the work-order form remains visible and usable while creating related data. */
.quick-modal-backdrop{display:none!important;opacity:0!important;pointer-events:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.quick-inline-host{display:none;margin:0 0 18px;max-width:100%;min-width:0}
.quick-inline-host.has-panel{display:block}
.quick-inline-host .quick-modal,
.quick-modal{display:none;position:static!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-height:none!important;overflow:visible!important;z-index:auto!important;opacity:1!important;pointer-events:auto!important;margin:0 0 18px;background:#fff;border:1px solid #dbe9df;box-shadow:0 18px 45px rgba(15,44,31,.12);border-radius:22px}
.quick-inline-host .quick-modal.open,
.quick-modal.open{display:block;transform:none!important}
.quick-modal header,.quick-modal footer{position:static!important;background:#fff!important}
.quick-modal header{border-radius:22px 22px 0 0}
.quick-modal footer{border-radius:0 0 22px 22px}
body.quick-modal-open{overflow:auto}

@media(max-width:768px){.quick-inline-host{margin-bottom:14px}.quick-modal{border-radius:20px!important;box-shadow:0 14px 34px rgba(15,44,31,.12)}.quick-modal header{border-radius:20px 20px 0 0}.quick-modal footer{display:grid;grid-template-columns:1fr;gap:8px;border-radius:0 0 20px 20px}.quick-modal footer .btn{width:100%}}

/* Scheduling polish: compact agenda, fixed quick-add modals and mobile list behavior */
.schedule-board{grid-template-columns:58px repeat(auto-fit,minmax(238px,1fr)) minmax(260px,310px);max-height:calc(100vh - 230px);overscroll-behavior:contain}
.schedule-board.no-unassigned{grid-template-columns:58px repeat(auto-fit,minmax(238px,1fr))}
.schedule-column-head{min-height:58px;padding:8px 10px;gap:8px;line-height:1.15}
.schedule-hour-head{justify-content:center;font-weight:760;color:#2d4336}
.schedule-column-head b{font-weight:760;font-size:.9rem}
.schedule-column-head small,.schedule-column-head em{font-size:.72rem;line-height:1.25}
.schedule-time-grid span{left:8px;font-size:.74rem;font-weight:680;color:#53665b}
.schedule-day-track{background:repeating-linear-gradient(to bottom,#fff 0,#fff 59px,#f1f5f2 60px,#f1f5f2 61px,#fff 62px,#fff 119px,#dfe7e2 120px)}
.schedule-job-card{left:7px;right:7px;border-radius:8px;box-shadow:0 3px 10px rgba(20,56,35,.06)}
.schedule-job-card button,.schedule-unassigned-card button{padding:7px 9px;position:relative}
.schedule-job-card strong{font-size:.8rem;font-weight:760;line-height:1.2}
.schedule-job-card span,.schedule-job-card small{font-size:.72rem;line-height:1.2}
.schedule-job-card em,.schedule-unassigned-card em{font-size:.68rem;font-weight:680}
.schedule-card-actions{position:absolute;right:6px;bottom:6px;display:none!important;gap:4px}
.schedule-card-actions a{width:24px;height:24px;display:grid;place-items:center;border:1px solid rgba(31,122,73,.2);border-radius:7px;background:rgba(255,255,255,.85);color:#0f5132}
.schedule-job-card[style*="height:8"],.schedule-job-card[style*="height:9"],.schedule-job-card[style*="height:1"]{min-height:44px}
.schedule-job-card:hover .schedule-card-actions{display:flex!important}
.schedule-travel-block{min-height:24px;font-size:.68rem;left:16px;right:16px;background:#f5f7f6;border:1px dashed #d7e2dc}
.schedule-unassigned-column{background:#fbfdfb}
.schedule-unassigned-tools{padding:8px;grid-template-columns:minmax(0,1fr) 108px}
.schedule-unassigned-list{padding:8px;gap:7px}
.schedule-unassigned-card{border-radius:8px}
.schedule-summary>div{padding:10px 12px}
.schedule-summary b{font-size:1.02rem;font-weight:780}
.schedule-summary span{font-size:.76rem}
@media(min-width:992px){.schedule-mobile-empty.compact{display:none}}
@media(max-width:1280px){.schedule-board.no-unassigned{grid-template-columns:58px repeat(auto-fit,minmax(220px,1fr))}}
.quick-modal-backdrop{display:block!important;position:fixed!important;inset:0!important;background:rgba(6,15,10,.38)!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;z-index:2990!important;opacity:0!important;pointer-events:none!important}
.quick-modal-backdrop.show{opacity:1!important;pointer-events:auto!important}
.quick-modal,.quick-inline-host .quick-modal{display:none!important;position:fixed!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:min(720px,calc(100vw - 32px))!important;max-height:calc(100vh - 32px)!important;overflow:auto!important;z-index:3000!important;opacity:1!important;pointer-events:auto!important;margin:0!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:0 26px 80px rgba(6,15,10,.24)!important}
.quick-modal.open,.quick-inline-host .quick-modal.open{display:block!important}
body.quick-modal-open{overflow:hidden!important}
.quick-modal header,.quick-modal footer{position:sticky!important;background:#fff!important;z-index:1}
.quick-modal header{top:0;border-radius:14px 14px 0 0!important}
.quick-modal footer{bottom:0;border-radius:0 0 14px 14px!important}
@media(max-width:991px){.schedule-board{display:block;max-height:none;overflow:visible;background:transparent;border:0;box-shadow:none}.schedule-crew-column,.schedule-unassigned-column{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}.schedule-column-head{position:static}.schedule-day-track{height:auto!important;min-height:0;background:#fff;display:grid;gap:8px;padding:10px}.schedule-empty-slot{position:static;height:38px!important;color:var(--green);background:#f8faf8;border:1px dashed #cfe2d4}.schedule-job-card{position:static;height:auto!important}.schedule-card-actions{display:flex!important}.schedule-travel-block{position:static;transform:none}.schedule-unassigned-list{max-height:none}}

/* Operational mobile fixes: filters, permissions, quick scheduling and bottom nav spacing. */
.schedule-configurable-bar{display:flex;align-items:center;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;padding-bottom:4px}
.schedule-configurable-bar::-webkit-scrollbar{display:none}
.schedule-configurable-bar a,.schedule-edit-views{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:10px 13px;font-weight:850;text-decoration:none;white-space:nowrap;box-shadow:var(--shadow-sm)}
.schedule-configurable-bar a.active{background:#123d25;color:#fff;border-color:#123d25}.schedule-edit-views{cursor:pointer}
.billing-gate-banner{display:flex;align-items:center;gap:12px;border:1px solid #f0c8c8;background:#fff1f1;color:#8a1f1f;border-radius:14px;padding:14px 16px;margin-bottom:14px;font-weight:800}
.billing-gate-banner.compact{margin:0 0 12px}.schedule-view-editor{display:grid;gap:10px}.drawer-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.schedule-view-row{display:grid;grid-template-columns:auto minmax(160px,1fr) auto auto 76px;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px}
.schedule-view-row span{display:grid}.schedule-view-row small{color:var(--muted);font-size:.82rem}
.permission-summary-note{border:1px solid var(--line);background:#f8faf8;border-radius:12px;padding:10px 12px;color:var(--muted)}
.permission-editor{display:grid;gap:16px;padding-bottom:88px}.permission-group{padding:18px}.permission-group-head h3{font-size:1.15rem;margin:0}.permission-group-head p{color:var(--muted);margin:4px 0 0}
.permission-switch-list{display:grid;gap:10px;margin-top:14px}.permission-switch-row{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}
.permission-switch-row span{display:grid;gap:2px}.permission-switch-row small,.permission-switch-row em{color:var(--muted);font-style:normal}.permission-switch-row input{width:22px;height:22px}
.sticky-form-actions{position:sticky;bottom:18px;z-index:12;display:flex;justify-content:flex-end;gap:10px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--shadow-md)}
@media(max-width:991px){
  .main-content .tabs-bar,.module-tabs,.jobs-quick-bar{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden;gap:8px;max-width:100%;padding:4px 2px 8px;scrollbar-width:none}
  .main-content .tabs-bar::-webkit-scrollbar,.module-tabs::-webkit-scrollbar,.jobs-quick-bar::-webkit-scrollbar{display:none}
  .main-content .tabs-bar>a,.module-tabs>a,.jobs-quick-bar>a{flex:0 0 auto;white-space:nowrap;justify-content:center}
  .schedule-empty-slot{display:none!important}.schedule-day-track{padding:10px!important}
  .schedule-side-panel{width:100vw;height:calc(100dvh - env(safe-area-inset-top));padding-bottom:calc(86px + env(safe-area-inset-bottom))}
  .schedule-create-form,.schedule-detail-view{overflow-y:auto;padding-bottom:calc(100px + env(safe-area-inset-bottom))}
  .schedule-form-actions{position:sticky;bottom:0;background:#fff;padding-top:10px;border-top:1px solid var(--line);z-index:3}
  .schedule-view-row{grid-template-columns:auto 1fr}.schedule-view-row label,.schedule-view-row .order-input{grid-column:2}
}
@media(max-width:768px){.quick-modal,.quick-inline-host .quick-modal{top:auto!important;left:12px!important;right:12px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important;max-height:calc(100vh - 34px - env(safe-area-inset-top))!important;transform:none!important;border-radius:16px 16px 0 0!important}.quick-modal header{border-radius:16px 16px 0 0!important}.quick-modal footer{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;border-radius:0!important}.quick-modal footer .btn{width:100%}}

/* Aureo Job brand sizing guard */
.brand-logo,.app-logo,.sidebar-logo{width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important;object-fit:contain!important;flex-shrink:0!important}
.login-logo,.landing-logo{width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important;object-fit:contain!important}

/* Operational dashboard: compact internal app, no marketing hero */
.ops-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px 20px;box-shadow:var(--shadow-sm)}
.ops-header h2{font-size:1.55rem;font-weight:950;margin:2px 0 4px;letter-spacing:-.025em}.ops-header p{margin:0;color:var(--muted)}.ops-date{font-weight:950;color:var(--green);background:#e8f5ec;border-radius:999px;padding:8px 12px}.compact-metric{padding:16px}.compact-metric .value{font-size:1.65rem}.setup-compact{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm);overflow:hidden}.setup-compact summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;font-weight:900}.setup-compact summary::-webkit-details-marker{display:none}.setup-compact summary span{display:flex;align-items:center;gap:9px;color:var(--green-dark)}.setup-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;padding:0 14px 14px}.setup-mini-item{display:flex;align-items:center;gap:9px;min-width:0;background:#f8fbf7;border:1px solid var(--line);border-radius:15px;padding:10px}.setup-mini-item i{color:var(--green);flex:0 0 auto}.setup-mini-item span{font-weight:800;min-width:0;overflow-wrap:anywhere}.setup-mini-item a{margin-left:auto;font-weight:850}.setup-mini-item.done{opacity:.72}
@media(max-width:575px){.ops-header{display:block}.ops-date{display:inline-flex;margin-top:10px}.compact-metric .value{font-size:1.35rem}.setup-compact summary{align-items:flex-start;flex-direction:column}.setup-mini-grid{grid-template-columns:1fr}}

/* Scheduling quick-add modal position fix.
   Keep these rules last so the modal flow used by /jobs/new cannot push
   Scheduling quick-add dialogs down the viewport. */
body.quick-modal-open{
  overflow:hidden!important;
}
body.quick-modal-open .quick-modal-backdrop{
  display:block!important;
  position:fixed!important;
  inset:0!important;
  z-index:2990!important;
  opacity:1!important;
  pointer-events:auto!important;
}
body.quick-modal-open .quick-modal{
  display:none!important;
}
body.quick-modal-open .quick-modal.open{
  display:flex!important;
  position:fixed!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate3d(-50%,-50%,0)!important;
  width:min(900px,calc(100vw - 48px))!important;
  max-height:min(760px,calc(100dvh - 56px))!important;
  overflow:hidden!important;
  margin:0!important;
  z-index:3000!important;
  opacity:1!important;
  pointer-events:auto!important;
  flex-direction:column!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  box-shadow:0 28px 86px rgba(6,15,10,.26)!important;
}
body.quick-modal-open .quick-modal.open form{
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
}
body.quick-modal-open .quick-modal.open header,
body.quick-modal-open .quick-modal.open footer{
  flex:0 0 auto!important;
  position:relative!important;
}
body.quick-modal-open .quick-modal.open .quick-modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
}
body.quick-modal-open .quick-modal.open header{
  border-radius:16px 16px 0 0!important;
}
body.quick-modal-open .quick-modal.open footer{
  border-radius:0 0 16px 16px!important;
}
@media(max-width:768px){
  body.quick-modal-open .quick-modal.open{
    top:auto!important;
    left:10px!important;
    right:10px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-height:calc(100dvh - 22px - env(safe-area-inset-top))!important;
    transform:none!important;
    border-radius:18px 18px 0 0!important;
  }
  body.quick-modal-open .quick-modal.open header{
    border-radius:18px 18px 0 0!important;
  }
  body.quick-modal-open .quick-modal.open footer{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    border-radius:0!important;
  }
  body.quick-modal-open .quick-modal.open footer .btn{
    width:100%!important;
  }
}

/* Work order detail: professional operational fiche */
.job-detail-page{display:grid;gap:18px}
.job-detail-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#102017,#1d6a3f 72%,#d8aa3f);color:#fff;border-radius:18px;padding:22px 24px;box-shadow:0 18px 42px rgba(16,32,23,.16)}
.job-detail-hero:after{content:"";position:absolute;right:-54px;top:-78px;width:210px;height:210px;border-radius:999px;background:rgba(255,255,255,.12)}
.job-detail-eyebrow{position:relative;z-index:1;color:#d8eadc;font-size:.82rem;font-weight:820;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.job-detail-hero-main{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.job-detail-hero h2{font-size:clamp(1.45rem,2.5vw,2.35rem);font-weight:930;letter-spacing:-.035em;margin:8px 0 6px;line-height:1.05;max-width:980px}
.job-detail-hero p{margin:0;color:#dbeee1;line-height:1.45;max-width:920px}
.job-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.job-status-chip,.job-priority-chip,.job-mini-warning{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;font-weight:820;font-size:.82rem;line-height:1;border:1px solid transparent}
.job-detail-hero .job-status-chip{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.22)}
.job-priority-chip{background:#fff3cd;color:#7c4a03;border-color:#f1d98d}
.job-priority-chip.priority-urgent{background:#ffe2e2;color:#991b1b;border-color:#ffc5c5}
.job-estimate-box{flex:0 0 auto;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:14px 16px;min-width:154px;text-align:right}
.job-estimate-box span{display:block;color:#dbeee1;font-weight:820;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}
.job-estimate-box strong{display:block;font-size:1.65rem;font-weight:930;line-height:1.1}
.job-summary-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm)}
.job-summary-strip article{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon label" "icon value";gap:2px 10px;background:#fff;padding:14px 16px;min-width:0}
.job-summary-strip i{grid-area:icon;width:36px;height:36px;border-radius:12px;background:#e8f5ec;color:var(--green);display:grid;place-items:center;align-self:center}
.job-summary-strip span{grid-area:label;color:var(--muted);font-size:.72rem;font-weight:820;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.job-summary-strip b{grid-area:value;color:var(--ink);font-size:.94rem;font-weight:820;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.job-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.job-detail-main,.job-detail-aside{display:grid;gap:18px;min-width:0}
.job-detail-aside{position:sticky;top:18px}
.job-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);padding:16px;min-width:0}
.job-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.job-card-head.compact{align-items:center;margin-bottom:12px}
.job-card-head h3{font-size:1.02rem;font-weight:860;margin:0;color:var(--ink);letter-spacing:-.01em}
.job-card-head p{margin:3px 0 0;color:var(--muted);font-size:.9rem;line-height:1.35}
.job-description-box{background:#f8fbf8;border:1px solid var(--line);border-radius:14px;padding:14px;color:#263b2c;line-height:1.55;max-height:220px;overflow:auto}
.job-description-box p{margin:0;white-space:pre-line}
.job-empty-inline{display:grid;gap:3px;color:var(--muted);padding:14px;border:1px dashed #cfe2d4;background:#fbfdfb;border-radius:14px}
.job-empty-inline b{color:var(--ink);font-weight:850}
.job-note-callout,.job-warning-callout{display:flex;gap:10px;align-items:flex-start;border-radius:14px;padding:12px 14px;margin-top:12px}
.job-note-callout{background:#eef8f1;color:#174b2d;border:1px solid #d3ead9}
.job-warning-callout{background:#fff8e6;color:#6d4d08;border:1px solid #f1dc9d}
.job-status-groups{display:grid;gap:14px}
.job-status-group>span{display:block;margin-bottom:8px;color:var(--muted);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.job-status-flow{display:flex;gap:8px;flex-wrap:wrap}
.job-status-flow form{margin:0}
.job-status-step{border:1px solid var(--line);background:#fff;color:#263b2c;border-radius:999px;padding:8px 11px;font-weight:760;font-size:.86rem;line-height:1;transition:.16s ease}
.job-status-step:hover{border-color:#b9d9c2;background:#f4faf6;transform:translateY(-1px)}
.job-status-step.active{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 8px 18px rgba(31,122,73,.16)}
.job-status-step.status-cancelled{color:#8a1f1f;border-color:#f1c8c8}
.job-status-step.status-cancelled.active{background:#8a1f1f;color:#fff;border-color:#8a1f1f}
.job-status-step.status-needs_review,.job-status-step.status-pending_payment{border-color:#ecd48c;background:#fffaf0}
.job-cost-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.job-cost-grid.compact{grid-template-columns:minmax(0,260px)}
.job-cost-grid article{background:#f8fbf8;border:1px solid var(--line);border-radius:14px;padding:13px;min-width:0}
.job-cost-grid span{display:block;color:var(--muted);font-weight:820;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}
.job-cost-grid b{display:block;margin-top:5px;font-size:1.35rem;font-weight:900;color:var(--ink)}
.job-cost-grid small{display:block;color:var(--muted);font-weight:760}
.job-cost-grid .margin-healthy{background:#edf8f0;border-color:#cbe8d3}
.job-cost-grid .margin-low{background:#fff8e6;border-color:#f1dc9d}
.job-cost-grid .margin-loss{background:#fff0f0;border-color:#f4c8c8}
.job-notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.job-notes-grid article{background:#f8fbf8;border:1px solid var(--line);border-radius:14px;padding:13px;min-width:0}
.job-notes-grid h4{font-size:.9rem;font-weight:860;margin:0 0 8px}
.job-notes-grid p{margin:0;color:#52655a;line-height:1.45;white-space:pre-line}
.job-service-list{display:grid;gap:9px}
.job-service-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfdfb}
.job-service-list i{width:36px;height:36px;border-radius:12px;background:#e8f5ec;color:var(--green);display:grid;place-items:center}
.job-service-list b,.job-service-list span{display:block;min-width:0;overflow-wrap:anywhere}
.job-service-list span{color:var(--muted);font-size:.88rem}
.job-service-list em{font-style:normal;font-weight:820;font-size:.78rem;border-radius:999px;padding:6px 9px;background:#eef7f0;color:#176331;white-space:nowrap}
.job-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.job-field-grid form{display:grid;gap:9px;background:#f8fbf8;border:1px solid var(--line);border-radius:14px;padding:12px}
.job-field-grid label{font-weight:850;color:var(--ink)}
.job-two-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.job-action-stack{display:grid;gap:9px}
.job-action-stack form{margin:0}
.job-contact-card{display:grid;gap:8px}
.job-contact-card b{font-size:1.05rem;font-weight:880}
.job-contact-card span{color:var(--muted)}
.job-contact-card dl,.job-invoice-card dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:7px 10px;margin:8px 0 0}
.job-contact-card dt,.job-invoice-card dt{color:var(--muted);font-weight:820}
.job-contact-card dd,.job-invoice-card dd{margin:0;min-width:0;overflow-wrap:anywhere}
.job-photo-form{display:grid;gap:10px;border:1px solid var(--line);border-radius:14px;background:#f8fbf8;padding:12px;margin-bottom:12px}
.job-photo-form label{display:grid;gap:6px;font-weight:850;color:var(--ink)}
.job-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.job-photo-tile{display:grid;gap:5px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff;color:var(--ink)}
.job-photo-tile img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#f0f5f1}
.job-photo-tile span{font-weight:850;padding:0 9px}
.job-photo-tile small{color:var(--muted);padding:0 9px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.job-mini-warning{background:#fff8e6;color:#7c4a03;border-color:#f1dc9d}
.job-address-text{color:#52655a;margin:0 0 12px;line-height:1.45}
.job-invoice-card{display:grid;gap:12px}
.job-more-menu .dropdown-item{display:flex;align-items:center;gap:9px;font-weight:760}
.job-more-menu form{margin:0}
.job-mobile-actionbar{display:none}
@media(max-width:1200px){
  .job-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .job-detail-layout{grid-template-columns:1fr}
  .job-detail-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .job-detail-aside .job-card:nth-child(3){grid-column:1/-1}
}
@media(max-width:768px){
  .job-detail-page{gap:12px}
  .job-detail-hero{border-radius:14px;padding:18px}
  .job-detail-hero-main{display:grid}
  .job-estimate-box{text-align:left;min-width:0;width:100%}
  .job-summary-strip{grid-template-columns:1fr 1fr;border-radius:12px}
  .job-summary-strip article{padding:12px}
  .job-detail-aside{grid-template-columns:1fr}
  .job-notes-grid,.job-cost-grid,.job-field-grid{grid-template-columns:1fr}
  .job-photo-gallery{grid-template-columns:1fr 1fr}
  .job-card{border-radius:14px;padding:14px}
  .job-card-head{align-items:flex-start;flex-direction:column}
  .job-status-flow{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
  .job-status-flow form{flex:0 0 auto}
  .job-mobile-actionbar{position:fixed;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));z-index:1040;display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 20px 50px rgba(15,44,31,.18)}
  .job-mobile-actionbar a{display:grid;place-items:center;gap:2px;color:var(--green-dark);font-weight:850;font-size:.78rem;padding:8px;border-radius:13px;background:#f2faf4}
  .job-mobile-actionbar i{font-size:1.05rem}
}
@media(max-width:420px){
  .job-summary-strip{grid-template-columns:1fr}
  .job-photo-gallery{grid-template-columns:1fr}
  .job-service-list article{grid-template-columns:auto minmax(0,1fr)}
  .job-service-list em{grid-column:2}
}

/* Work order detail final polish */
.job-detail-hero{padding:18px 22px;border-radius:16px}
.job-detail-hero h2{font-size:clamp(1.32rem,2.2vw,2.05rem);line-height:1.12;margin:6px 0 5px}
.job-detail-hero p{font-size:.94rem;line-height:1.38}
.job-estimate-box{min-width:136px;padding:12px 14px;border-radius:14px}
.job-estimate-box strong{font-size:1.42rem}
.job-estimate-box span{font-size:.7rem}
.job-summary-strip article{padding:12px 13px;grid-template-columns:32px minmax(0,1fr)}
.job-summary-strip i{width:32px;height:32px;border-radius:10px}
.job-summary-strip span{font-size:.68rem;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.05}
.job-summary-strip b{font-size:.88rem;line-height:1.18;white-space:normal;overflow:visible;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.job-status-card .job-card-head{margin-bottom:10px}
.job-status-card .job-card-head p{font-size:.85rem}
.job-status-compact{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.job-status-compact form{margin:0}
.job-status-compact .job-status-step{padding:7px 10px;font-size:.8rem;font-weight:740}
.job-more-statuses{position:relative}
.job-more-statuses summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:#f7faf7;color:#263b2c;border-radius:999px;padding:7px 11px;font-size:.8rem;font-weight:800}
.job-more-statuses summary::-webkit-details-marker{display:none}
.job-more-statuses[open] summary{background:#eef8f1;border-color:#cfe2d4;color:#14532d}
.job-more-statuses>div{position:absolute;right:0;top:calc(100% + 8px);z-index:5;display:grid;gap:7px;width:max-content;min-width:190px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(15,44,31,.14)}
.job-more-statuses>div .job-status-step{width:100%;text-align:left}
.job-card{padding:14px}
.job-card-head{margin-bottom:12px}
.job-card-head h3{font-size:.98rem}
.job-card-head p{font-size:.86rem}
.job-description-box{max-height:170px;padding:12px}
.job-field-grid form,.job-photo-form{padding:11px}
.job-photo-gallery{gap:8px}
.job-photo-tile small:last-child{padding-top:0;color:#7a8b81}
@media(max-width:1200px){
  .job-more-statuses>div{left:0;right:auto}
}
@media(max-width:768px){
  .job-detail-hero{padding:16px}
  .job-summary-strip article{grid-template-columns:30px minmax(0,1fr)}
  .job-status-compact{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;align-items:stretch}
  .job-status-compact form,.job-more-statuses{flex:0 0 auto}
  .job-more-statuses>div{position:fixed;left:12px;right:12px;top:auto;bottom:86px;width:auto;max-height:48vh;overflow:auto}
}
/* Help manual */
.help-hero-manual {
  background:
    radial-gradient(circle at 90% 12%, rgba(255, 255, 255, 0.2), transparent 24rem),
    linear-gradient(135deg, #073f28 0%, #0c6b42 62%, #14935a 100%);
  color: #fff;
  border: 0;
}

.help-hero-manual p,
.help-hero-manual h2 {
  color: #fff;
}

.help-hero-actions,
.manual-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.help-manual-card .card-body {
  align-items: center;
  display: flex;
  gap: 1.25rem;
  justify-content: space-between;
}

.help-manual-card h3 {
  margin-bottom: 0.35rem;
}

.help-manual-card p {
  color: var(--muted);
  margin-bottom: 0.85rem;
}

.help-manual-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.help-manual-meta span {
  align-items: center;
  background: #eef8f2;
  border: 1px solid #d4eadc;
  border-radius: 999px;
  color: #0d5b37;
  display: inline-flex;
  font-size: 0.84rem;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
}

.help-manual-card-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.6rem;
}

.manual-shell {
  color: #14241c;
}

.manual-hero {
  align-items: stretch;
  background:
    radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.22), transparent 18rem),
    linear-gradient(135deg, #062f1f 0%, #0c6b42 66%, #1da464 100%);
  border-radius: 22px;
  color: #fff;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) 260px;
  margin-bottom: 1.5rem;
  overflow: hidden;
  padding: clamp(1.25rem, 3vw, 2.5rem);
}

.manual-hero h1 {
  color: #fff;
  font-size: clamp(2rem, 5vw, 4rem);
  letter-spacing: 0;
  line-height: 1;
  margin: 0.65rem 0;
}

.manual-hero p {
  color: rgba(255, 255, 255, 0.86);
  font-size: 1.08rem;
  max-width: 760px;
}

.manual-cover-card {
  align-items: center;
  align-self: stretch;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 230px;
  padding: 1.25rem;
  text-align: center;
}

.manual-cover-card img {
  background: #fff;
  border-radius: 18px;
  height: 74px;
  margin-bottom: 1rem;
  object-fit: contain;
  padding: 0.5rem;
  width: 74px;
}

.manual-cover-card strong {
  font-size: 1.25rem;
}

.manual-cover-card span,
.manual-cover-card small {
  color: rgba(255, 255, 255, 0.78);
}

.manual-layout {
  align-items: start;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 240px minmax(0, 1fr);
}

.manual-toc {
  position: sticky;
  top: 1rem;
}

.manual-toc-inner {
  background: #fff;
  border: 1px solid #dfe8e2;
  border-radius: 16px;
  box-shadow: 0 18px 48px rgba(9, 33, 22, 0.07);
  display: grid;
  gap: 0.2rem;
  padding: 1rem;
}

.manual-toc-inner strong {
  color: #071b12;
  margin-bottom: 0.35rem;
}

.manual-toc-inner a {
  border-radius: 10px;
  color: #486057;
  font-weight: 650;
  padding: 0.5rem 0.6rem;
  text-decoration: none;
}

.manual-toc-inner a:hover {
  background: #eef8f2;
  color: #0b6b41;
}

.manual-content {
  display: grid;
  gap: 1rem;
}

.manual-section {
  background: #fff;
  border: 1px solid #dfe8e2;
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(9, 33, 22, 0.06);
  padding: clamp(1rem, 2vw, 1.5rem);
}

.manual-section h2 {
  color: #071b12;
  font-size: clamp(1.35rem, 2vw, 2rem);
  letter-spacing: 0;
  margin-bottom: 0.75rem;
}

.manual-section p,
.manual-section li {
  color: #40564d;
  font-size: 1rem;
}

.manual-section ol,
.manual-section ul {
  margin-bottom: 1rem;
}

.manual-screen,
.manual-screens figure {
  margin: 1rem 0 0;
}

.manual-screen img,
.manual-screens img {
  background: #f4f8f5;
  border: 1px solid #dce9e1;
  border-radius: 14px;
  display: block;
  height: auto;
  width: 100%;
}

.manual-screens {
  display: grid;
  gap: 1rem;
}

.manual-screens.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.manual-screens.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.manual-screens.three img {
  max-height: 520px;
  object-fit: cover;
  object-position: top;
}

.manual-screen figcaption,
.manual-screens figcaption {
  color: #6b7d74;
  font-size: 0.88rem;
  margin-top: 0.45rem;
}

.manual-callout {
  align-items: flex-start;
  background: #eef8f2;
  border: 1px solid #cfe8d8;
  border-radius: 14px;
  color: #0b4f31;
  display: flex;
  gap: 0.8rem;
  margin: 1rem 0;
  padding: 0.9rem 1rem;
}

.manual-callout.warning {
  background: #fff8e6;
  border-color: #f2dfac;
  color: #725600;
}

.manual-callout i {
  font-size: 1.2rem;
}

.manual-callout span {
  display: block;
}

.manual-step-grid,
.manual-checklists {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 1rem 0;
}

.manual-step-grid div,
.manual-checklists div {
  background: #f7faf8;
  border: 1px solid #dfe8e2;
  border-radius: 14px;
  padding: 0.9rem;
}

.manual-step-grid strong,
.manual-checklists strong {
  color: #0a3f29;
  display: block;
  margin-bottom: 0.35rem;
}

.manual-step-grid span,
.manual-checklists span {
  color: #60736a;
  display: block;
  font-size: 0.9rem;
}

.manual-table th {
  color: #0a3f29;
  white-space: nowrap;
}

.manual-faq {
  display: grid;
  gap: 0.65rem;
}

.manual-faq details {
  background: #f7faf8;
  border: 1px solid #dfe8e2;
  border-radius: 12px;
  padding: 0.85rem 1rem;
}

.manual-faq summary {
  color: #0a3f29;
  cursor: pointer;
  font-weight: 750;
}

.manual-faq p {
  margin: 0.55rem 0 0;
}

@media (max-width: 1100px) {
  .manual-layout {
    grid-template-columns: 1fr;
  }
  .manual-toc {
    position: static;
  }
  .manual-toc-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .manual-toc-inner strong {
    grid-column: 1 / -1;
  }
  .manual-step-grid,
  .manual-checklists {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .help-manual-card .card-body,
  .manual-hero {
    grid-template-columns: 1fr;
  }
  .help-manual-card .card-body {
    align-items: stretch;
    flex-direction: column;
  }
  .help-manual-card-actions,
  .manual-actions,
  .help-hero-actions {
    flex-direction: column;
  }
  .manual-cover-card {
    min-height: 170px;
  }
  .manual-toc-inner,
  .manual-screens.two,
  .manual-screens.three,
  .manual-step-grid,
  .manual-checklists {
    grid-template-columns: 1fr;
  }
}

/* Reports intelligence center */
.reports-hero {
  align-items: center;
  background: linear-gradient(135deg, #0c3b23, #175b35);
  border-radius: 18px;
  color: #fff;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding: 1.35rem;
}

.reports-hero h2 {
  color: #fff;
  font-weight: 900;
  letter-spacing: 0;
  margin: 0.35rem 0;
}

.reports-hero p,
.reports-period small {
  color: rgba(255,255,255,.82);
  margin: 0;
}

.reports-period {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 14px;
  min-width: 240px;
  padding: 0.85rem 1rem;
}

.reports-period small,
.reports-period b {
  display: block;
}

.reports-filter-card {
  margin-bottom: 1rem;
}

.reports-filters {
  align-items: end;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(150px, 1fr)) auto;
}

.reports-filters label {
  display: grid;
  gap: 0.35rem;
}

.reports-filters label span {
  color: #29443a;
  font-size: 0.76rem;
  font-weight: 760;
}

.reports-filter-actions {
  display: flex;
  gap: 0.5rem;
}

.reports-empty {
  margin-bottom: 1rem;
}

.reports-kpis {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 1rem;
}

.reports-kpis a {
  align-items: center;
  background: #fff;
  border: 1px solid #dfe8e2;
  border-radius: 15px;
  color: #102018;
  display: flex;
  gap: 0.75rem;
  min-height: 98px;
  padding: 0.9rem;
  text-decoration: none;
}

.reports-kpis a.danger {
  border-color: #f2b8b5;
  background: #fff7f6;
}

.reports-kpis i {
  background: #e9f7ef;
  border-radius: 12px;
  color: #0d7a48;
  display: grid;
  flex: 0 0 42px;
  height: 42px;
  place-items: center;
}

.reports-kpis small,
.reports-kpis b,
.reports-kpis em {
  display: block;
}

.reports-kpis small {
  color: #61746b;
  font-weight: 760;
}

.reports-kpis b {
  font-size: 1.25rem;
}

.reports-kpis em {
  color: #6a7b72;
  font-size: 0.76rem;
  font-style: normal;
}

.reports-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
}

.reports-bars {
  display: grid;
  gap: 0.8rem;
}

.reports-bar-row {
  display: grid;
  gap: 0.35rem;
  grid-template-columns: 96px minmax(0, 1fr);
}

.reports-bar-row > span {
  color: #354b41;
  font-weight: 780;
  grid-row: span 3;
}

.reports-bar-row > div {
  background: #edf3ef;
  border-radius: 999px;
  height: 10px;
  overflow: hidden;
}

.reports-bar-row i {
  display: block;
  height: 100%;
}

.reports-bar-row small {
  color: #687970;
  grid-column: 2;
}

.reports-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.85rem;
}

.reports-legend span {
  align-items: center;
  color: #53665c;
  display: inline-flex;
  gap: 0.35rem;
  font-size: 0.82rem;
  font-weight: 740;
}

.reports-legend i {
  border-radius: 999px;
  display: inline-block;
  height: 10px;
  width: 10px;
}

.reports-bar-row .billed,
.reports-legend .billed {
  background: #237648;
}

.reports-bar-row .collected,
.reports-legend .collected {
  background: #3b82f6;
}

.reports-bar-row .costs,
.reports-legend .costs {
  background: #d8aa3f;
}

.reports-alert-row,
.reports-crew-card,
.reports-customer-row,
.reports-inventory-row {
  background: #fff;
  border: 1px solid #dfe8e2;
  border-radius: 14px;
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  padding: 0.85rem;
}

.reports-alert-row small,
.reports-crew-card small,
.reports-customer-row small {
  color: #687970;
  display: block;
}

.reports-alert-row dl,
.reports-crew-card dl,
.reports-customer-row dl {
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.reports-alert-row dt,
.reports-crew-card dt,
.reports-customer-row dt {
  color: #61746b;
  font-size: 0.68rem;
  margin: 0;
  text-transform: uppercase;
}

.reports-alert-row dd,
.reports-crew-card dd,
.reports-customer-row dd {
  font-weight: 780;
  margin: 0;
}

.reports-alert-row footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.reports-section-header {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.reports-sort-form {
  min-width: 180px;
}

.reports-table-wrap {
  overflow-x: auto;
}

.reports-table {
  border-collapse: collapse;
  font-size: 0.84rem;
  min-width: 1180px;
  width: 100%;
}

.reports-table th {
  background: #f8faf8;
  border-bottom: 1px solid #dfe8e2;
  color: #586a60;
  font-size: 0.68rem;
  padding: 0.75rem 0.65rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.reports-table td {
  border-bottom: 1px solid #edf2ee;
  padding: 0.75rem 0.65rem;
  vertical-align: middle;
}

.reports-table td small {
  color: #687970;
  display: block;
}

.nowrap {
  white-space: nowrap;
}

.reports-badge,
.reports-margin {
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.74rem;
  font-weight: 800;
  padding: 0.28rem 0.55rem;
}

.reports-badge {
  background: #eef2f0;
  color: #52635b;
}

.reports-badge.completed,
.reports-badge.invoiced,
.reports-badge.paid,
.reports-margin.healthy {
  background: #dcfce7;
  color: #166534;
}

.reports-badge.in_progress,
.reports-badge.on_route,
.reports-badge.on_the_way {
  background: #dbeafe;
  color: #1d4ed8;
}

.reports-badge.pending_assignment,
.reports-badge.needs_review,
.reports-margin.low,
.reports-margin.incomplete {
  background: #fff7ed;
  color: #9a3412;
}

.reports-margin.negative {
  background: #fee2e2;
  color: #991b1b;
}

.reports-risk-negative {
  background: #fffafa;
}

.reports-risk-incomplete {
  color: #5f6f67;
}

.reports-crew-card header {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.reports-crew-card header span {
  background: #eef8f2;
  border-radius: 999px;
  color: #166534;
  font-size: 0.76rem;
  font-weight: 800;
  padding: 0.25rem 0.55rem;
  white-space: nowrap;
}

.reports-crew-card.muted {
  background: #f8faf8;
  color: #60736a;
}

.reports-status-list {
  display: grid;
  gap: 0.5rem;
}

.reports-status-list a {
  align-items: center;
  border: 1px solid #dfe8e2;
  border-radius: 12px;
  color: #102018;
  display: flex;
  justify-content: space-between;
  padding: 0.7rem 0.8rem;
  text-decoration: none;
}

.reports-status-list b {
  color: #0d7a48;
}

.reports-operational-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.85rem;
}

.reports-operational-notes span {
  background: #f7faf8;
  border: 1px solid #dfe8e2;
  border-radius: 999px;
  color: #53665c;
  font-size: 0.82rem;
  font-weight: 740;
  padding: 0.42rem 0.65rem;
}

.reports-customer-row {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr) auto;
  align-items: center;
}

.reports-customer-row dl {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.reports-inventory-row {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.reports-inventory-row span {
  color: #9a3412;
  font-weight: 820;
}

@media (max-width: 1280px) {
  .reports-filters,
  .reports-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .reports-hero,
  .reports-section-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .reports-grid,
  .reports-filters {
    grid-template-columns: 1fr;
  }
  .reports-period,
  .reports-sort-form {
    width: 100%;
  }
  .reports-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .reports-customer-row,
  .reports-inventory-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .reports-kpis {
    display: flex;
    overflow-x: auto;
    padding-bottom: 0.25rem;
  }
  .reports-kpis a {
    flex: 0 0 225px;
  }
  .reports-alert-row dl,
  .reports-crew-card dl,
  .reports-customer-row dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .reports-bar-row {
    grid-template-columns: 1fr;
  }
  .reports-bar-row > span,
  .reports-bar-row small {
    grid-column: 1;
  }
}
/* Finance center */
.finance-tabs {
  display: flex;
  gap: 0.45rem;
  margin-bottom: 1rem;
  overflow-x: auto;
  padding-bottom: 0.2rem;
}

.finance-tabs a {
  background: #fff;
  border: 1px solid #dfe8e2;
  border-radius: 999px;
  color: #29443a;
  flex: 0 0 auto;
  font-weight: 700;
  padding: 0.55rem 0.9rem;
  text-decoration: none;
}

.finance-tabs a.active,
.finance-tabs a:hover {
  background: #0d7a48;
  border-color: #0d7a48;
  color: #fff;
}

.finance-screen .topbar {
  grid-template-columns: minmax(220px,340px) minmax(360px,1fr)!important;
  row-gap: 10px;
}

.finance-screen .global-search {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

.finance-screen .top-actions {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  grid-column: 1 / -1;
  grid-row: 2;
  justify-content: flex-end;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: none;
}

.finance-screen .top-actions::-webkit-scrollbar {
  display: none;
}

.finance-screen .top-actions .btn,
.finance-screen .top-actions .dropdown,
.finance-screen .top-actions form {
  flex: 0 0 auto;
}

.finance-screen .top-actions .btn {
  border-radius: 13px;
  min-height: 44px;
  padding: .58rem .8rem;
}

.finance-focus-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: flex-end;
  margin: -0.1rem 0 1rem;
}

.finance-focus-button {
  align-items: center;
  background: #fff;
  border: 1px solid #dfe8e2;
  border-radius: 13px;
  color: #173b29;
  display: inline-flex;
  font-weight: 850;
  gap: 0.45rem;
  min-height: 44px;
  padding: 0.58rem 0.85rem;
  text-decoration: none;
}

.finance-focus-button:hover {
  border-color: #88c7a5;
  box-shadow: 0 12px 28px rgba(9, 33, 22, .08);
  color: #0b4e31;
}

.finance-focus-button-overdue {
  border-color: #f1c1bd;
  color: #7a271a;
}

.finance-focus-button-sent {
  border-color: #9fd5b8;
  color: #0d6b42;
}

.finance-hero {
  align-items: center;
  background: linear-gradient(135deg, #073f28, #0e7b4a);
  border-radius: 18px;
  color: #fff;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding: clamp(1rem, 2.5vw, 1.6rem);
}

.finance-hero h2 {
  color: #fff;
  font-size: clamp(1.7rem, 4vw, 2.8rem);
  letter-spacing: 0;
  margin: 0.45rem 0;
}

.finance-hero p {
  color: rgba(255,255,255,.84);
  margin: 0;
  max-width: 820px;
}

.finance-hero-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.55rem;
}

.finance-kpis {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-bottom: 1rem;
}

.finance-kpis a {
  align-items: flex-start;
  background: #fff;
  border: 1px solid #dfe8e2;
  border-radius: 16px;
  color: #13241b;
  display: flex;
  gap: 0.7rem;
  min-height: 116px;
  padding: 0.85rem;
  text-decoration: none;
}

.finance-kpis a:hover {
  border-color: #88c7a5;
  box-shadow: 0 16px 38px rgba(9, 33, 22, .08);
}

.finance-kpis a.danger {
  border-color: #f1c1bd;
}

.finance-kpis i {
  align-items: center;
  background: #e9f7ef;
  border-radius: 12px;
  color: #0d7a48;
  display: inline-flex;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.finance-kpis a.danger i {
  background: #fff0ef;
  color: #b42318;
}

.finance-kpis span {
  display: grid;
  gap: 0.15rem;
}

.finance-kpis small {
  color: #61746b;
  font-weight: 700;
}

.finance-kpis b {
  color: #071b12;
  font-size: 1.45rem;
  line-height: 1.05;
}

.finance-kpis em {
  color: #60736a;
  font-size: 0.82rem;
  font-style: normal;
}

.finance-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
}

.finance-alert {
  align-items: center;
  border: 1px solid #dfe8e2;
  border-radius: 14px;
  color: #16261e;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: auto 1fr auto;
  margin-bottom: 0.65rem;
  padding: 0.75rem;
  text-decoration: none;
}

.finance-alert b {
  align-items: center;
  background: #eef8f2;
  border-radius: 12px;
  color: #0b6b41;
  display: inline-flex;
  height: 42px;
  justify-content: center;
  min-width: 42px;
}

.finance-alert.danger b {
  background: #fff0ef;
  color: #b42318;
}

.finance-alert.warning b {
  background: #fff8e6;
  color: #8a6100;
}

.finance-alert span,
.finance-row div,
.finance-subscription-summary div {
  display: grid;
}

.finance-alert small,
.finance-row small,
.finance-subscription-summary small {
  color: #697a72;
}

.finance-bars {
  display: grid;
  gap: 0.65rem;
}

.finance-bar-row {
  align-items: center;
  display: grid;
  gap: 0.55rem;
  grid-template-columns: 100px 1fr 1fr;
}

.finance-bar-row span {
  color: #5f7269;
  font-size: 0.84rem;
  font-weight: 700;
}

.finance-bar-track {
  background: #edf3ef;
  border-radius: 999px;
  height: 12px;
  overflow: hidden;
}

.finance-bar-track i {
  border-radius: inherit;
  display: block;
  height: 100%;
  min-width: 3px;
}

.finance-bar-row small {
  color: #6b7c73;
  font-size: 0.72rem;
  grid-column: 2 / -1;
}

.finance-bar-track .billed,
.finance-legend .billed {
  background: #0d7a48;
}

.finance-bar-track .collected,
.finance-legend .collected {
  background: #4f8df7;
}

.finance-legend {
  display: flex;
  gap: 1rem;
  margin-top: 0.75rem;
}

.finance-legend span {
  align-items: center;
  color: #61746b;
  display: inline-flex;
  font-size: 0.86rem;
  gap: 0.35rem;
}

.finance-legend i {
  border-radius: 50%;
  height: 10px;
  width: 10px;
}

.finance-row {
  align-items: center;
  border-bottom: 1px solid #edf2ee;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0.85rem 0;
}

.finance-row:first-child {
  padding-top: 0;
}

.finance-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.finance-row > div > span {
  color: #263a31;
}

.finance-row-money {
  justify-items: end;
  min-width: 190px;
}

.finance-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-end;
}

.finance-status {
  background: #eef4f0;
  border-radius: 999px;
  color: #365348;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 800;
  padding: 0.25rem 0.5rem;
  white-space: nowrap;
}

.finance-status.paid,
.finance-status.approved,
.finance-status.active,
.finance-status.trialing {
  background: #dcfce7;
  color: #166534;
}

.finance-status.sent,
.finance-status.viewed,
.finance-status.partial,
.finance-status.scheduled {
  background: #e8f1ff;
  color: #1d4ed8;
}

.finance-status.overdue,
.finance-status.expired,
.finance-status.rejected,
.finance-status.void,
.finance-status.danger {
  background: #fee2e2;
  color: #991b1b;
}

.finance-status.draft,
.finance-status.pending_checkout {
  background: #fff7ed;
  color: #9a3412;
}

.finance-empty {
  align-items: center;
  background: #f7faf8;
  border: 1px dashed #cfe1d7;
  border-radius: 14px;
  color: #60736a;
  display: grid;
  gap: 0.45rem;
  justify-items: center;
  padding: 1rem;
  text-align: center;
}

.finance-empty.compact {
  min-height: 118px;
}

.finance-empty i {
  color: #0d7a48;
  font-size: 1.6rem;
}

.finance-cost-grid {
  display: grid;
  gap: 0.7rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.finance-cost-grid div {
  background: #f7faf8;
  border: 1px solid #dfe8e2;
  border-radius: 14px;
  display: grid;
  gap: 0.2rem;
  padding: 0.85rem;
}

.finance-cost-grid small {
  color: #61746b;
  font-weight: 700;
}

.finance-cost-grid b {
  color: #071b12;
  font-size: 1.25rem;
}

.finance-cost-grid .success {
  background: #eef8f2;
  border-color: #cce7d5;
}

.finance-cost-grid .danger {
  background: #fff0ef;
  border-color: #f1c1bd;
}

.finance-cost-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.85rem;
}

.finance-cost-notes span,
.finance-cost-notes a,
.finance-muted-pill {
  align-items: center;
  background: #fff8e6;
  border: 1px solid #f1dc9c;
  border-radius: 999px;
  color: #735500;
  display: inline-flex;
  font-size: 0.86rem;
  font-weight: 700;
  gap: 0.35rem;
  padding: 0.35rem 0.6rem;
  text-decoration: none;
}

.finance-low-margin {
  border-top: 1px solid #edf2ee;
  display: grid;
  gap: 0.7rem;
  margin-top: 1rem;
  padding-top: 1rem;
}

.finance-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.finance-section-heading h6 {
  color: #13241b;
  font-size: 0.96rem;
  font-weight: 780;
  margin: 0;
}

.finance-section-heading small {
  color: #60736a;
}

.finance-margin-card {
  background: #fffdf7;
  border: 1px solid #f0dfad;
  border-radius: 14px;
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem;
}

.finance-margin-card header {
  align-items: flex-start;
  display: flex;
  gap: 0.8rem;
  justify-content: space-between;
}

.finance-margin-card header b,
.finance-margin-card header small {
  display: block;
}

.finance-margin-card header small {
  color: #687970;
}

.finance-margin-card dl {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.finance-margin-card div {
  min-width: 0;
}

.finance-margin-card dt {
  color: #60736a;
  font-size: 0.68rem;
  font-weight: 760;
  text-transform: uppercase;
}

.finance-margin-card dd {
  color: #15251d;
  font-size: 0.86rem;
  font-weight: 700;
  margin: 0;
}

.finance-margin-card footer {
  border-top: 1px solid #f0e3bb;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  padding-top: 0.7rem;
}

.finance-activity-item {
  align-items: center;
  border-bottom: 1px solid #edf2ee;
  color: #16261e;
  display: grid;
  gap: 0.7rem;
  grid-template-columns: auto 1fr auto;
  padding: 0.75rem 0;
  text-decoration: none;
}

.finance-activity-item:first-child {
  padding-top: 0;
}

.finance-activity-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.finance-activity-item > i {
  align-items: center;
  background: #eef8f2;
  border-radius: 12px;
  color: #0d7a48;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.finance-activity-copy {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.finance-activity-copy strong,
.finance-activity-copy small {
  display: block;
  min-width: 0;
}

.finance-activity-copy strong {
  color: #17261e;
  font-weight: 780;
}

.finance-activity-copy small {
  color: #66786f;
  overflow-wrap: anywhere;
}

.finance-activity-item > b {
  font-variant-numeric: tabular-nums;
  justify-self: end;
  white-space: nowrap;
}

.finance-subscription-summary {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.finance-subscription-summary span:not(.finance-status) {
  color: #60736a;
}

.finance-subscription-status {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.finance-subscription-status div {
  background: #f7faf8;
  border: 1px solid #dfe8e2;
  border-radius: 14px;
  display: grid;
  padding: 0.8rem;
}

.subscription-cancel-banner {
  align-items: flex-start;
  background: #fff8e6;
  border: 1px solid #f1dc9c;
  border-radius: 14px;
  display: flex;
  gap: 0.75rem;
  margin-top: 1rem;
  padding: 0.85rem;
}

.subscription-cancel-banner div {
  display: grid;
  gap: 0.15rem;
}

.subscription-cancel-banner small {
  color: #6f5a1c;
}

.subscription-cancel-modal .modal-header {
  align-items: flex-start;
}

.subscription-cancel-warning {
  align-items: flex-start;
  background: #fff8e6;
  border: 1px solid #f1dc9c;
  border-radius: 14px;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: auto 1fr;
  padding: 0.9rem;
}

.subscription-cancel-warning > i {
  color: #946300;
  font-size: 1.3rem;
}

.subscription-cancel-warning p {
  color: #5e4b18;
  margin: 0.25rem 0 0;
}

.subscription-confirm-check {
  align-items: flex-start;
  background: #f7faf8;
  border: 1px solid #dfe8e2;
  border-radius: 12px;
  color: #29443a;
  display: flex;
  gap: 0.55rem;
  padding: 0.75rem;
}

.finance-subscription-status small {
  color: #60736a;
  font-weight: 700;
}

.finance-filter-card {
  position: relative;
  z-index: 1;
}

.finance-filters {
  align-items: end;
  display: grid;
  gap: 0.8rem;
  grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, .8fr)) auto;
}

.finance-filters label {
  color: #29443a;
  display: grid;
  font-weight: 700;
  gap: 0.35rem;
}

.finance-filter-actions {
  display: flex;
  gap: 0.5rem;
}

.finance-table th {
  color: #29443a;
  white-space: nowrap;
}

.finance-table th.finance-folio,
.finance-table td.finance-folio {
  min-width: 148px;
  white-space: nowrap;
}

.finance-table th.finance-order,
.finance-table td.finance-order {
  min-width: 116px;
  white-space: nowrap;
}

.finance-table td.finance-folio b,
.finance-table td.finance-order a {
  display: inline-block;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.finance-table td.finance-folio small {
  white-space: normal;
}

.finance-profitability-note {
  background: #f7faf8;
  border: 1px solid #dfe8e2;
  border-radius: 12px;
  color: #54685e;
  font-size: 0.84rem;
  margin: 0 0 0.75rem;
  padding: 0.65rem 0.75rem;
}

.flash-wrap {
  position: fixed;
  right: 1rem;
  top: 1rem;
  width: min(420px, calc(100vw - 2rem));
  z-index: 1080;
}

.flash-wrap .alert {
  box-shadow: 0 18px 44px rgba(9, 33, 22, .16);
}

@media (max-width: 1280px) {
  .finance-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .finance-hero,
  .finance-subscription-summary {
    align-items: flex-start;
    flex-direction: column;
  }
  .finance-grid,
  .finance-filters {
    grid-template-columns: 1fr;
  }
  .finance-cost-grid,
  .finance-subscription-status {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .finance-screen .top-actions {
    display: none;
  }
  .finance-screen .global-search {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

@media (max-width: 680px) {
  .finance-kpis {
    display: flex;
    overflow-x: auto;
    padding-bottom: 0.2rem;
  }
  .finance-kpis a {
    flex: 0 0 220px;
  }
  .finance-row {
    align-items: stretch;
    grid-template-columns: 1fr;
  }
  .finance-row-money {
    justify-items: start;
    min-width: 0;
  }
  .finance-row-actions,
  .finance-filter-actions,
  .finance-hero-actions,
  .finance-focus-actions {
    justify-content: flex-start;
  }
  .finance-activity-item {
    align-items: flex-start;
    grid-template-columns: auto minmax(0,1fr);
  }
  .finance-activity-item > b {
    grid-column: 2;
    justify-self: start;
  }
  .subscription-cancel-banner {
    flex-direction: column;
  }
  .subscription-cancel-warning {
    grid-template-columns: 1fr;
  }
  .finance-bar-row {
    grid-template-columns: 1fr;
  }
  .finance-bar-row small {
    grid-column: 1;
  }
  .finance-cost-grid,
  .finance-subscription-status {
    grid-template-columns: 1fr;
  }
  .finance-margin-card header {
    flex-direction: column;
  }
  .finance-margin-card dl {
    grid-template-columns: 1fr;
  }
}

/* Nomina polish */

.payroll-period {
  margin-bottom: 1rem;
}

.payroll-period-form {
  align-items: end;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 170px 170px minmax(180px, .8fr) minmax(230px, 1fr) auto;
}

.payroll-period-form label:not(.payroll-check) {
  display: grid;
  gap: 0.35rem;
}

.payroll-period-form label span {
  color: #29443a;
  font-size: 0.78rem;
  font-weight: 760;
}

.payroll-check {
  align-items: center;
  color: #43584d;
  display: flex;
  gap: 0.45rem;
  min-height: 40px;
}

.payroll-kpis {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 1rem;
}

.payroll-kpis a {
  align-items: center;
  background: #fff;
  border: 1px solid #dfe8e2;
  border-radius: 15px;
  color: #13241b;
  display: flex;
  gap: 0.7rem;
  min-height: 88px;
  padding: 0.8rem;
  text-decoration: none;
}

.payroll-kpis i {
  background: #e9f7ef;
  border-radius: 12px;
  color: #0d7a48;
  display: grid;
  flex: 0 0 36px;
  height: 36px;
  place-items: center;
}

.payroll-kpis small,
.payroll-kpis b {
  display: block;
}

.payroll-kpis small {
  color: #61746b;
  font-weight: 740;
}

.payroll-kpis b {
  font-size: 1.28rem;
}

.payroll-table-header {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.payroll-table-wrap {
  overflow-x: auto;
}

.payroll-table {
  border-collapse: collapse;
  font-size: 0.84rem;
  min-width: 1040px;
  width: 100%;
}

.payroll-table th {
  background: #f8faf8;
  border-bottom: 1px solid #dfe8e2;
  color: #586a60;
  font-size: 0.68rem;
  font-weight: 780;
  padding: 0.75rem 0.65rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.payroll-table td {
  border-bottom: 1px solid #edf2ee;
  padding: 0.75rem 0.65rem;
  vertical-align: middle;
}

.payroll-table td b,
.payroll-table td small {
  display: block;
}

.payroll-table td small {
  color: #687970;
}

.payroll-row.muted {
  color: #6e7f76;
  opacity: 0.72;
}

.payroll-status {
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.74rem;
  font-weight: 800;
  padding: 0.28rem 0.55rem;
  white-space: nowrap;
}

.payroll-status.approved {
  background: #dcfce7;
  color: #166534;
}

.payroll-status.pending {
  background: #fff7ed;
  color: #9a3412;
}

.payroll-status.alert {
  background: #fee2e2;
  color: #991b1b;
}

.payroll-status.no_hours {
  background: #eef2f0;
  color: #52635b;
}

.payroll-note {
  color: #53665c;
  display: block;
  max-width: 240px;
}

.payroll-cards {
  display: none;
}

@media (max-width: 1280px) {
  .payroll-period-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .payroll-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .payroll-period-form {
    grid-template-columns: 1fr;
  }
  .payroll-kpis {
    display: flex;
    overflow-x: auto;
    padding-bottom: 0.25rem;
  }
  .payroll-kpis a {
    flex: 0 0 190px;
  }
  .payroll-table-wrap {
    display: none;
  }
  .payroll-cards {
    display: grid;
    gap: 0.75rem;
    padding: 0.85rem;
  }
  .payroll-card {
    background: #fff;
    border: 1px solid #dfe8e2;
    border-radius: 14px;
    display: grid;
    gap: 0.75rem;
    padding: 0.85rem;
  }
  .payroll-card.muted {
    background: #f8faf8;
    opacity: 0.78;
  }
  .payroll-card header {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
  }
  .payroll-card header b,
  .payroll-card header small {
    display: block;
  }
  .payroll-card header small,
  .payroll-card p {
    color: #687970;
  }
  .payroll-card dl {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
  }
  .payroll-card dl div {
    background: #f7faf8;
    border-radius: 10px;
    padding: 0.55rem;
  }
  .payroll-card dt {
    color: #61746b;
    font-size: 0.66rem;
    text-transform: uppercase;
  }
  .payroll-card dd {
    font-weight: 760;
    margin: 0;
  }
  .payroll-card footer {
    border-top: 1px solid #edf2ee;
    display: flex;
    gap: 1rem;
    padding-top: 0.65rem;
  }
  .payroll-card footer a {
    color: #0d7a48;
    font-size: 0.82rem;
    font-weight: 760;
  }
}
/* Smart Dispatch closeout: crew bases and foreground live tracking */
.live-dispatch-panel .compact-row small {
  overflow-wrap: anywhere;
}

/* Dashboard accounting and alignment: keep progress and upcoming dates centered. */
body.dashboard-screen .setup-panel-compact .setup-ring {
  display: grid;
  grid-template-rows: 1fr;
  place-content: stretch;
  place-items: center;
  gap: 0;
  padding: 0;
  text-align: center;
}
body.dashboard-screen .setup-panel-compact .setup-ring strong {
  position: relative;
  z-index: 1;
  display: block;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}
body.dashboard-screen .dashboard-upcoming-panel .compact-list > .compact-row {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
}
body.dashboard-screen .dashboard-upcoming-panel .compact-row > div {
  min-width: 0;
}
body.dashboard-screen .dashboard-upcoming-panel .compact-row > .badge-status {
  justify-self: end;
}
body.dashboard-screen .dashboard-upcoming-panel .compact-row .date-pill {
  display: grid;
  grid-template-rows: auto auto;
  place-content: center;
  place-items: center;
  width: 52px;
  height: 52px;
  min-width: 52px;
  margin: 0;
  padding: 0;
  border-radius: 12px;
  line-height: 1;
  text-align: center;
}
body.dashboard-screen .dashboard-upcoming-panel .date-pill b,
body.dashboard-screen .dashboard-upcoming-panel .date-pill small {
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
  line-height: 1;
  text-align: center;
}
body.dashboard-screen .dashboard-upcoming-panel .date-pill small {
  margin-top: 3px;
}
@media (max-width: 575px) {
  body.dashboard-screen .dashboard-upcoming-panel .compact-list > .compact-row {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  body.dashboard-screen .dashboard-upcoming-panel .compact-row .date-pill {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }
  body.dashboard-screen .dashboard-upcoming-panel .compact-row > .badge-status {
    grid-column: 2;
    justify-self: start;
  }
}

.dispatch-base-form {
  display: grid;
  gap: .75rem;
}

.dispatch-base-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.worker-tracking-card {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(13, 68, 38, .12);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 35px rgba(13, 68, 38, .08);
}

.worker-tracking-card h3 {
  margin: .15rem 0;
  font-size: 1.05rem;
}

.worker-tracking-card p {
  margin: 0;
  color: var(--muted);
}

.worker-tracking-card.muted {
  justify-content: flex-start;
}

.worker-tracking-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  justify-content: flex-end;
}

/* Worker route cards: clean stop labels and actions for desktop/tablet too. */
.worker-stop-label,
.worker-route-context {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border-radius: 999px;
  padding: 0 .65rem;
  font-size: .78rem;
  font-weight: 900;
  line-height: 1;
}

.worker-stop-label {
  margin: 0 0 .45rem;
  color: #14532d;
  background: #e8f5ec;
}

.worker-route-context {
  color: #52685b;
  background: #f2f7f3;
  border: 1px solid #dbe8df;
  white-space: nowrap;
}

.mobile-card-actions .mobile-action-button {
  min-height: 44px;
  border-radius: 14px;
  text-decoration: none;
}

.mobile-inline-status form {
  margin: 0;
}

.mobile-inline-status .mobile-chip-button {
  min-height: 42px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}

@media (max-width: 680px) {
  .dispatch-base-grid {
    grid-template-columns: 1fr;
  }

  .worker-tracking-card {
    display: block;
  }

  .worker-tracking-actions {
    justify-content: flex-start;
    margin-top: .75rem;
  }
}

.feedback-page {
  display: grid;
  gap: 1rem;
}

.feedback-hero-card {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
  gap: 1.25rem;
  align-items: start;
  padding: 1.35rem;
}

.feedback-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .42rem .75rem;
  border: 1px solid rgba(8, 125, 67, .18);
  border-radius: 999px;
  background: rgba(12, 151, 78, .08);
  color: var(--green);
  font-weight: 800;
  font-size: .82rem;
  margin-bottom: .8rem;
}

.feedback-intro h2 {
  color: var(--ink);
  font-size: clamp(1.85rem, 3vw, 3rem);
  max-width: 720px;
  margin: 0 0 .65rem;
}

.feedback-intro p {
  color: var(--muted);
  font-size: 1.05rem;
  max-width: 620px;
}

.feedback-form {
  background: #f7fbf8;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 1rem;
}

.feedback-section-head h3 {
  margin: .25rem 0;
  font-size: 1.2rem;
}

.feedback-ticket-list {
  display: grid;
  gap: .85rem;
}

.feedback-ticket-card {
  padding: 1rem;
}

.feedback-ticket-head {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: flex-start;
  margin-bottom: .65rem;
}

.feedback-ticket-card h4 {
  margin: 0 0 .35rem;
}

.feedback-ticket-card p {
  color: var(--muted);
  margin-bottom: .75rem;
}

.feedback-badge,
.feedback-category {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .28rem .58rem;
  font-size: .78rem;
  font-weight: 800;
}

.feedback-badge.open {
  background: #fff6dd;
  color: #8a5b00;
}

.feedback-badge.answered {
  background: #e8f0ff;
  color: #1f56a8;
}

.feedback-badge.resolved {
  background: var(--green-soft);
  color: var(--green);
}

.feedback-category {
  background: #eef5f0;
  color: var(--muted);
  margin-left: .3rem;
}

.feedback-attachments {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: .65rem 0;
}

.feedback-thumb {
  width: 78px;
  height: 78px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #fff;
}

.feedback-response {
  background: rgba(12, 151, 78, .06);
  border: 1px solid rgba(12, 151, 78, .14);
  border-radius: 16px;
  padding: .85rem;
  margin-top: .75rem;
}

.feedback-response p,
.feedback-message-full {
  white-space: pre-wrap;
}

.feedback-thread,
.platform-feedback-thread {
  display: grid;
  gap: .7rem;
  margin-top: .85rem;
}

.feedback-thread-message {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: .85rem;
  background: #fff;
}

.feedback-thread-message.user {
  border-color: rgba(12, 151, 78, .18);
  background: rgba(12, 151, 78, .04);
}

.feedback-thread-message.superadmin {
  border-color: rgba(31, 86, 168, .16);
  background: rgba(232, 240, 255, .62);
}

.feedback-thread-message p {
  margin: .45rem 0 0;
  color: var(--muted);
  white-space: pre-wrap;
}

.feedback-thread-meta {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: baseline;
}

.feedback-thread-meta small,
.feedback-admin-note,
.feedback-closed-note {
  color: var(--muted);
}

.feedback-reply-form {
  display: grid;
  gap: .65rem;
  margin-top: .85rem;
  padding-top: .85rem;
  border-top: 1px solid var(--line);
}

.feedback-reply-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .65rem;
  align-items: center;
}

.feedback-closed-note {
  margin-top: .85rem;
  padding: .75rem .85rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f7fbf8;
  font-weight: 700;
}

.feedback-admin-reply {
  align-self: start;
}

.feedback-admin-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.platform-filter-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 190px 190px auto;
  gap: .75rem;
  align-items: end;
  margin-bottom: 1rem;
}

.platform-feedback-detail {
  min-height: 260px;
}

.platform-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.platform-page-head h1 {
  margin: .15rem 0 .25rem;
}

.platform-page-head p {
  color: var(--muted);
  margin: 0;
}

.platform-eyebrow {
  color: var(--green);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.platform-grid.two {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
  gap: 1rem;
}

@media (max-width: 900px) {
  .feedback-hero-card,
  .platform-filter-row,
  .platform-grid.two {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .feedback-hero-card {
    padding: 1rem;
  }

  .feedback-ticket-head {
    display: grid;
  }

  .feedback-reply-row {
    grid-template-columns: 1fr;
  }

  .feedback-thumb {
    width: 64px;
    height: 64px;
  }
}

/* Customer directory tablet hardening */
.customers-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.customers-table {
  min-width: 1040px;
  table-layout: auto;
}

.customers-table th,
.customers-table td {
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
  vertical-align: middle;
}

.customers-table th:first-child,
.customers-table td:first-child {
  min-width: 250px;
  width: 28%;
  white-space: normal;
}

.customers-table th:nth-child(2),
.customers-table td:nth-child(2) {
  min-width: 260px;
  white-space: normal;
}

.customers-table th:nth-child(8),
.customers-table td:nth-child(8) {
  min-width: 170px;
}

.customers-table .table-title,
.customers-table .small {
  overflow-wrap: break-word;
  word-break: normal;
}

.customers-table .row-actions {
  flex-wrap: nowrap;
}

@media (max-width: 1180px) {
  .customers-table-wrap {
    overflow: visible;
    padding: 12px;
  }

  .customers-table.mobile-card-table {
    min-width: 0;
    border-collapse: separate;
    border-spacing: 0 12px;
  }

  .customers-table.mobile-card-table thead {
    display: none;
  }

  .customers-table.mobile-card-table,
  .customers-table.mobile-card-table tbody,
  .customers-table.mobile-card-table tr,
  .customers-table.mobile-card-table td {
    display: block;
    width: 100%;
  }

  .customers-table.mobile-card-table tr {
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--shadow-sm);
    padding: 14px;
    margin-bottom: 12px;
  }

  .customers-table.mobile-card-table td {
    border: 0;
    min-width: 0;
    padding: 8px 0;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    display: grid;
    grid-template-columns: 138px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
  }

  .customers-table.mobile-card-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .72rem;
    font-weight: 850;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .customers-table.mobile-card-table td:first-child {
    display: block;
    min-width: 0;
    width: 100%;
    padding-top: 0;
  }

  .customers-table.mobile-card-table td:first-child::before {
    display: none;
  }

  .customers-table.mobile-card-table td.text-end {
    text-align: left !important;
  }

  .customers-table.mobile-card-table .row-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

@media (max-width: 575px) {
  .customers-table-wrap {
    padding: 10px;
  }

  .customers-table.mobile-card-table tr {
    padding: 12px;
  }

  .customers-table.mobile-card-table td {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

/* Estimate quick-create side panels */
.estimate-field-with-action {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 54px !important;
  gap: 10px !important;
  align-items: end !important;
}

.estimate-field-with-action .flex-grow-1 {
  min-width: 0;
}

.estimate-field-with-action .form-group,
.estimate-field-with-action .mb-3 {
  margin-bottom: 0 !important;
}

.estimate-field-with-action .btn-field-action {
  width: 54px;
  min-width: 54px;
  height: 54px;
  align-self: end;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.quick-modal-open .estimate-quick-panel.quick-modal.open {
  display: flex !important;
  flex-direction: column !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  width: min(560px, 100vw) !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  transform: none !important;
  border-radius: 24px 0 0 24px !important;
}

body.quick-modal-open .estimate-quick-panel.quick-modal.open form {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  margin: 0;
}

body.quick-modal-open .estimate-quick-panel.quick-modal.open .quick-modal-header,
body.quick-modal-open .estimate-quick-panel.quick-modal.open .quick-modal-footer {
  flex: 0 0 auto;
}

body.quick-modal-open .estimate-quick-panel.quick-modal.open .quick-modal-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 18px;
}

.estimate-quick-grid .span-2 {
  grid-column: 1 / -1;
}

.estimate-quick-panel .form-label {
  margin-bottom: 6px;
}

.estimate-quick-panel .quick-error {
  min-height: 1.25rem;
  color: var(--danger);
  font-weight: 750;
}

@media (max-width: 768px) {
  body.quick-modal-open .estimate-quick-panel.quick-modal.open {
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: min(88dvh, 760px) !important;
    border-radius: 24px 24px 0 0 !important;
  }

  body.quick-modal-open .estimate-quick-panel.quick-modal.open .quick-modal-body {
    grid-template-columns: 1fr;
  }

  .estimate-quick-grid .span-2 {
    grid-column: auto;
  }
}

/* Scheduling day view: field-first crew agenda */
.schedule-crew-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 16px;
  align-items: start;
}

.schedule-crew-lane {
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow-sm);
}

.schedule-crew-lane-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, #fbfefc, #f6faf7);
}

.schedule-crew-lane-title {
  min-width: 0;
  flex: 1;
}

.schedule-crew-lane-title h3 {
  margin: 0;
  color: var(--ink);
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1.2;
}

.schedule-crew-lane-title p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.3;
}

.schedule-route-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px 10px;
  color: var(--green);
  font-weight: 850;
  text-decoration: none;
  background: #fff;
  white-space: nowrap;
}

.schedule-stop-list {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.schedule-stop-card,
.schedule-unassigned-card.schedule-stop-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dbe8df;
  border-left: 5px solid var(--green);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(16, 44, 31, 0.05);
}

.schedule-stop-card.priority-urgent {
  border-left-color: #c53b3b;
}

.schedule-stop-card.priority-high {
  border-left-color: #d99a16;
}

.schedule-stop-card.status-completed {
  border-left-color: #22a06b;
}

.schedule-stop-main,
.schedule-unassigned-card.schedule-stop-card .schedule-stop-main {
  appearance: none;
  width: 100%;
  min-height: 0;
  height: auto;
  border: 0;
  background: transparent;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 14px;
  text-align: left;
  color: inherit;
}

.schedule-stop-number {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 14px;
  background: #e7f5ec;
  color: var(--green);
  font-weight: 950;
}

.schedule-stop-body {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.schedule-stop-title {
  display: block;
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  font-size: 1rem;
  font-weight: 900;
  color: var(--ink);
  line-height: 1.2;
}

.schedule-stop-subtitle {
  display: block;
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.schedule-stop-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}

.schedule-stop-meta em {
  display: inline-flex;
  min-width: 0;
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  font-style: normal;
  font-size: 0.78rem;
  font-weight: 800;
  color: #52645b;
  background: #f2f7f4;
  border: 1px solid #dbe8df;
  border-radius: 999px;
  padding: 4px 8px;
}

.schedule-stop-status {
  align-self: start;
  white-space: nowrap;
  border-radius: 999px;
  background: #eaf3ff;
  color: #1d5bbf;
  font-size: 0.78rem;
  font-weight: 900;
  padding: 6px 10px;
}

.schedule-stop-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 0 14px 14px 70px;
}

.schedule-stop-actions a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px 10px;
  color: var(--green);
  font-weight: 850;
  text-decoration: none;
  background: #fff;
}

.schedule-empty-lane {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 150px;
  padding: 18px;
  text-align: center;
  color: var(--muted);
  background: #f8fbf9;
  border: 1px dashed #d3e4d8;
  border-radius: 16px;
}

.schedule-empty-lane i {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #e7f5ec;
  color: var(--green);
  font-size: 1.15rem;
}

.schedule-empty-lane p {
  margin: 0;
  font-weight: 850;
  color: #5b6b62;
}

.schedule-lane-add {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--green);
  border-radius: 12px;
  background: #fff;
  color: var(--green);
  font-weight: 900;
  padding: 8px 12px;
}

.schedule-crew-lane-unassigned {
  border-style: dashed;
  background: #fcfffd;
}

.schedule-crew-lane-unassigned .crew-avatar-stack span {
  background: #fff8e6;
  color: #7a5600;
}

.schedule-unassigned-tools {
  padding: 12px;
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

@media (max-width: 1280px) {
  .schedule-crew-board {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

@media (max-width: 768px) {
  .schedule-crew-board {
    grid-template-columns: 1fr;
  }

  .schedule-stop-main,
  .schedule-unassigned-card.schedule-stop-card .schedule-stop-main {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
  }

  .schedule-stop-status {
    grid-column: 2;
    justify-self: start;
  }

  .schedule-stop-actions {
    padding-left: 64px;
  }

  .schedule-unassigned-tools {
    grid-template-columns: 1fr;
  }

  .schedule-route-link {
    padding: 7px 9px;
  }
}

@media (max-width: 480px) {
  .schedule-crew-lane-head {
    align-items: flex-start;
  }

  .schedule-stop-main,
  .schedule-unassigned-card.schedule-stop-card .schedule-stop-main {
    padding: 12px;
  }

  .schedule-stop-actions {
    padding: 0 12px 12px 60px;
  }

  .schedule-stop-actions a {
    flex: 1;
    justify-content: center;
  }

  .schedule-stop-title {
    font-size: 0.96rem;
  }
}

/* Advanced estimate scenarios, production rates and reusable assemblies. */
.assembly-list {
  display: grid;
  gap: 10px;
}

.assembly-editor {
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.assembly-editor summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}

.assembly-editor summary::-webkit-details-marker {
  display: none;
}

.assembly-editor summary span,
.assembly-editor summary small {
  display: block;
}

.assembly-editor summary small {
  margin-top: 3px;
  color: var(--muted);
}

.assembly-editor ul {
  display: grid;
  gap: 6px;
  margin: 12px 0;
  padding: 0;
  list-style: none;
}

.assembly-editor li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  background: #f7faf8;
  border-radius: 6px;
}

.assembly-editor li em {
  color: var(--muted);
  font-style: normal;
  text-align: right;
}

.costing-scenario-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.scenario-tabs {
  display: flex;
  gap: 8px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: thin;
}

.scenario-tabs a {
  display: grid;
  flex: 0 0 auto;
  gap: 2px;
  min-width: 135px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  text-decoration: none;
}

.scenario-tabs a.active {
  border-color: var(--green);
  box-shadow: inset 3px 0 0 var(--green);
}

.scenario-tabs small {
  color: var(--muted);
}

.costing-scenario-bar form {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto;
  gap: 8px;
  flex: 0 1 390px;
}

.assembly-apply-band {
  display: grid;
  grid-template-columns: minmax(160px, .6fr) minmax(0, 1.4fr);
  gap: 14px;
  align-items: end;
  margin: 12px 0;
  padding: 12px 0;
  border-block: 1px solid var(--line);
}

.assembly-apply-band small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
}

.assembly-apply-band form {
  display: grid;
  grid-template-columns: minmax(180px, 1.3fr) minmax(95px, .45fr) minmax(180px, 1fr) auto;
  gap: 8px;
}

@media (max-width: 900px) {
  .costing-scenario-bar,
  .assembly-apply-band {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .costing-scenario-bar {
    display: grid;
  }

  .costing-scenario-bar form,
  .assembly-apply-band form {
    grid-template-columns: 1fr;
    flex-basis: auto;
  }
}

@media (max-width: 991px) {
  .inventory-screen .topbar,
  .finance-screen .topbar {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center;
  }

  .inventory-screen #sidebarToggle,
  .finance-screen #sidebarToggle {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    display: inline-grid;
    place-items: center;
    width: 52px;
    min-width: 52px;
    height: 52px;
    padding: 0;
    border-radius: 13px;
  }

  .inventory-screen .top-title,
  .finance-screen .top-title {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }

  .inventory-screen .global-search,
  .finance-screen .global-search {
    grid-column: 1 / -1;
    grid-row: 2;
    min-width: 0;
  }

  .inventory-screen .global-search-open,
  .finance-screen .global-search-open {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }

  .inventory-screen .top-actions,
  .finance-screen .top-actions {
    display: none;
  }
}
/* Aureo Time branch management */
.branch-summary-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid #d9e6dd;border-radius:8px;overflow:hidden;background:#d9e6dd}.branch-summary-band>div{background:#fff;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.branch-summary-band span{color:#61736a;font-weight:700}.branch-summary-band strong{font-size:1.45rem}.branch-card.is-inactive{opacity:.72}.branch-card-metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dfe7e2;margin-top:1rem;padding-top:1rem}.branch-card-metrics div{display:flex;flex-direction:column}.branch-card-metrics strong{font-size:1.35rem}.branch-card-metrics span,.branch-assignment-row small{color:#687970}.branch-assignment-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid #e3eae6}.branch-assignment-row div{display:flex;flex-direction:column}.billing-confirmation{border:1px solid #f1c56c;background:#fff9e9;padding:1rem;border-radius:8px}.branch-price-change{display:flex;align-items:center;gap:.75rem;font-size:1.2rem;margin:.6rem 0}.branch-price-change strong{font-size:1.4rem}@media(max-width:991.98px){.branch-summary-band{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575.98px){.branch-summary-band{grid-template-columns:1fr}}
.branch-shift-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #e3eae6}.branch-shift-row:last-child{border-bottom:0}.branch-shift-row small{display:block;color:#687970;margin:3px 0 8px}.branch-inline-form{display:grid;grid-template-columns:minmax(0,1fr) 145px 44px;gap:8px}.branch-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.branch-weekdays input{position:absolute;opacity:0}.branch-weekdays span{display:grid;place-items:center;min-height:38px;border:1px solid #d9e6dd;border-radius:6px;cursor:pointer}.branch-weekdays input:checked+span{background:#16834b;color:#fff;border-color:#16834b}@media(max-width:767px){.branch-shift-row{grid-template-columns:1fr}.branch-inline-form{grid-template-columns:1fr 1fr 44px}}

/* Work order primary section headers */
.record-form .job-form-section-head{background:#DFE8E2;border-bottom-color:#DFE8E2}
.record-form .job-form-section-head h3{color:#000;font-weight:900;text-transform:uppercase;letter-spacing:0}
.record-form .job-form-section-head .switch-line,
.record-form .job-form-section-head .switch-line span{color:#000;font-weight:800}

/* Attendance progressive disclosure */
.timeclock-subnav{overflow:visible}
.timeclock-nav-more{position:relative}
.timeclock-nav-more>summary{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:.84rem;font-weight:650;white-space:nowrap;cursor:pointer;list-style:none}
.timeclock-nav-more>summary::-webkit-details-marker,.timeclock-summary-more>summary::-webkit-details-marker,.timeclock-filter-drawer>summary::-webkit-details-marker{display:none}
.timeclock-nav-menu{position:absolute;top:44px;right:0;z-index:60;display:grid;min-width:250px;padding:7px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 18px 42px rgba(15,44,31,.16)}
.timeclock-nav-menu a{border:0;border-radius:7px;box-shadow:none}
.timeclock-summary{display:grid;gap:8px}
.timeclock-primary-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.timeclock-primary-summary>a,.timeclock-summary-more>div>a{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}
.timeclock-primary-summary>a>i,.timeclock-summary-more>div>a>i{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#e8f5ec;color:#167342;font-size:1rem}
.timeclock-primary-summary span,.timeclock-primary-summary b,.timeclock-primary-summary small,.timeclock-summary-more span,.timeclock-summary-more b,.timeclock-summary-more small{display:block;min-width:0}
.timeclock-primary-summary b,.timeclock-summary-more b{font-size:1.05rem;font-weight:760;line-height:1.1}
.timeclock-primary-summary small,.timeclock-summary-more small{margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.2}
.timeclock-primary-summary>a.warning>i,.timeclock-summary-more>div>a.warning>i{background:#fff3d6;color:#946300}
.timeclock-summary-more{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm)}
.timeclock-summary-more>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 14px;color:#17683c;font-size:.78rem;font-weight:700;cursor:pointer;list-style:none}
.timeclock-summary-more[open]>summary{border-bottom:1px solid var(--line)}
.timeclock-summary-more[open]>summary i{transform:rotate(180deg)}
.timeclock-summary-more>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:9px}
.timeclock-summary-more>div>a{box-shadow:none;background:#fbfdfb}
.timeclock-filters form{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:end;gap:8px}
.timeclock-filter-drawer{min-width:0}
.timeclock-filter-drawer>summary{display:flex;align-items:center;justify-content:center;gap:7px;width:max-content;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:8px;background:#f8faf8;color:var(--ink);font-size:.8rem;font-weight:680;cursor:pointer;list-style:none}
.timeclock-filter-drawer>summary span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#17683c;color:#fff;font-size:.68rem}
.timeclock-filter-fields{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:8px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}
.timeclock-filter-fields .timeclock-clear{align-self:end;justify-self:start;min-height:38px}
@media(max-width:1100px){
  .timeclock-summary-more>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .timeclock-filter-fields{grid-template-columns:repeat(3,minmax(130px,1fr))}
}
@media(max-width:768px){
  body.attendance-filters-open .timeclock-mobile-kiosk,
  body.attendance-filters-open .mobile-bottom-nav,
  body.attendance-filters-open .copilot-widget{display:none}
  .timeclock-page .top-actions>:not(.attendance-top-more){display:none}
  .timeclock-page .top-actions{grid-column:3;grid-row:1;justify-self:end;width:auto}
  .timeclock-page .attendance-top-more .btn{min-height:42px;padding:0 12px}
  .timeclock-mobile-tabs{display:grid;grid-template-columns:repeat(3,1fr);position:sticky;top:56px;z-index:45;padding:4px;border:1px solid var(--line);border-radius:10px;background:#f5f8f5}
  .timeclock-mobile-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:0;border-radius:7px;background:transparent;color:#3d5145;font-size:.74rem;font-weight:700}
  .timeclock-mobile-tabs button.active{background:#fff;color:#17683c;box-shadow:0 2px 8px rgba(15,44,31,.08)}
  .timeclock-mobile-tabs button span{display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#fff3d6;color:#875c00;font-size:.64rem}
  .timeclock-hero{padding:10px 12px}
  .timeclock-hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
  .timeclock-hero-meta span:last-child{display:none}
  .timeclock-primary-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .timeclock-primary-summary>a{grid-template-columns:1fr;justify-items:center;min-height:82px;padding:8px 5px;text-align:center}
  .timeclock-primary-summary>a>i{width:30px;height:30px;border-radius:8px;font-size:.9rem}
  .timeclock-primary-summary b{font-size:.94rem}
  .timeclock-primary-summary small{font-size:.64rem}
  .timeclock-summary-more>div{grid-template-columns:1fr 1fr}
  .timeclock-summary-more>div>a{padding:9px}
  .timeclock-filters form{grid-template-columns:minmax(0,1fr) auto}
  .timeclock-filter-drawer>summary{min-width:44px;padding:0 11px}
  .timeclock-filter-drawer[open]{grid-column:1/-1}
  .timeclock-filter-fields{grid-template-columns:1fr 1fr}
  .timeclock-workspace>[data-attendance-panel]{display:none}
  .timeclock-workspace>[data-attendance-panel].is-mobile-active{display:block;grid-column:1;grid-row:auto}
}
@media(max-width:430px){
  .timeclock-hero-meta{grid-template-columns:1fr}
  .timeclock-hero-meta span:nth-child(3){display:none}
  .timeclock-summary-more>div,.timeclock-filter-fields{grid-template-columns:1fr}
}

/* Attendance visual hierarchy and integrated calendar */
.timeclock-page .timeclock-subnav,
.timeclock-page .timeclock-mobile-tabs,
.timeclock-page .timeclock-hero,
.timeclock-page .timeclock-summary{margin-bottom:14px}
.timeclock-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px 18px;
  overflow:visible;
  padding:14px 16px;
  border-radius:16px;
  background:linear-gradient(135deg,#fff 0%,#f4faf6 100%);
  box-shadow:0 10px 28px rgba(15,68,38,.08);
}
.timeclock-hero-main{min-width:0;align-self:center}
.timeclock-hero-meta{gap:7px 16px}
.timeclock-company-name{color:#334b3b;font-weight:760}
.timeclock-updated-at{color:#718077;font-size:.7rem}
.timeclock-hero-calendar{
  display:grid;
  grid-template-columns:minmax(190px,240px) auto;
  align-items:start;
  gap:8px;
  min-width:0;
}
.timeclock-date-control{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-height:42px;
  margin:0;
  padding:0 11px;
  border:1px solid #cfe1d5;
  border-radius:11px;
  background:#fff;
  color:#17683c;
  box-shadow:0 5px 14px rgba(15,68,38,.06);
}
.timeclock-date-control>i{font-size:1rem}
.timeclock-date-control input{
  width:100%;
  min-width:0;
  height:40px;
  padding:0;
  border:0;
  outline:0;
  color:var(--ink);
  background:transparent;
  font-size:.85rem;
  font-weight:760;
}
.timeclock-hero-calendar .timeclock-filter-drawer>summary{
  min-height:42px;
  padding:0 12px;
  border-color:#cfe1d5;
  border-radius:11px;
  background:#fff;
  box-shadow:0 5px 14px rgba(15,68,38,.06);
  white-space:nowrap;
}
.timeclock-hero-calendar .timeclock-filter-drawer>summary b{
  display:grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  color:#fff;
  background:#17683c;
  font-size:.68rem;
}
.timeclock-hero-calendar:has(.timeclock-filter-drawer[open]){grid-column:1/-1;width:100%}
.timeclock-hero-calendar .timeclock-filter-drawer[open]{grid-column:1/-1}
.timeclock-hero-calendar .timeclock-filter-drawer[open]>summary{width:max-content}
.timeclock-hero-calendar .timeclock-filter-fields{
  grid-template-columns:repeat(5,minmax(130px,1fr));
  margin-top:10px;
  padding:12px;
  border:1px solid #d9e6dd;
  border-radius:12px;
  background:#fff;
  box-shadow:0 16px 34px rgba(15,44,31,.1);
}
.timeclock-hero-calendar .timeclock-filter-fields label{display:grid;gap:4px;min-width:0;margin:0}
.timeclock-hero-calendar .timeclock-filter-fields label>span{color:#53665a;font-size:.7rem;font-weight:720}
.timeclock-summary{gap:12px}
.timeclock-primary-summary{gap:12px}
.timeclock-primary-summary>a,.timeclock-summary-more{border-radius:14px}
.timeclock-summary-more>summary{min-height:44px;font-size:.82rem}
.timeclock-workspace{gap:18px}
.timeclock-active-panel,.timeclock-alert-panel,.timeclock-records-panel{
  border-radius:16px;
  box-shadow:0 12px 30px rgba(15,68,38,.075);
}
.timeclock-active-panel>header,.timeclock-alert-panel>header,.timeclock-records-panel>header{
  min-height:70px;
  padding:14px 18px;
  background:var(--green-soft);
  border-bottom-color:#cfe1d5;
}
.timeclock-active-panel header h3,.timeclock-alert-panel header h3,.timeclock-records-panel header h3{
  color:#173422;
  font-size:1rem;
  font-weight:900;
  letter-spacing:-.01em;
}
.timeclock-active-list,.timeclock-alert-list{gap:12px;padding:16px}
.timeclock-active-card{gap:12px;padding:14px;border-radius:13px;background:#fff;box-shadow:0 5px 14px rgba(15,68,38,.045)}
.timeclock-active-card b{font-size:.92rem;font-weight:820}
.timeclock-active-card em{margin-top:6px;font-size:.76rem}
.timeclock-worker-status{margin-top:2px;padding-top:10px}
.timeclock-card-actions{gap:14px}

@media(max-width:1100px){
  .timeclock-hero-calendar .timeclock-filter-fields{grid-template-columns:repeat(3,minmax(130px,1fr))}
}
@media(max-width:768px){
  .timeclock-page .timeclock-mobile-tabs,
  .timeclock-page .timeclock-hero,
  .timeclock-page .timeclock-summary{margin-bottom:16px}
  .timeclock-hero{grid-template-columns:1fr;padding:12px;border-radius:14px}
  .timeclock-hero-meta{grid-template-columns:minmax(0,1fr) auto;gap:7px 12px}
  .timeclock-updated-at{display:none!important}
  .timeclock-hero-calendar{grid-template-columns:minmax(0,1fr) auto;width:100%}
  .timeclock-date-control{min-height:44px}
  .timeclock-date-control input{height:42px;font-size:.9rem}
  .timeclock-hero-calendar .timeclock-filter-drawer>summary{min-height:44px}
  .timeclock-hero-calendar:has(.timeclock-filter-drawer[open]){grid-column:auto}
  .timeclock-hero-calendar .timeclock-filter-drawer[open]{grid-column:1/-1}
  .timeclock-hero-calendar .timeclock-filter-fields{grid-template-columns:1fr 1fr;padding:10px;box-shadow:none}
  .timeclock-primary-summary{gap:8px}
  .timeclock-workspace{gap:16px}
  .timeclock-active-panel>header,.timeclock-alert-panel>header,.timeclock-records-panel>header{padding:14px 15px}
  .timeclock-active-list,.timeclock-alert-list{padding:14px}
}
@media(max-width:430px){
  .timeclock-company-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .timeclock-filter-label{display:none}
  .timeclock-hero-calendar .timeclock-filter-fields{grid-template-columns:1fr}
}

/* Premium application header for desktop and tablet landscapes. */
@media (min-width: 769px) {
  .main-content > .topbar {
    min-height: 88px;
    align-items: center !important;
    padding-top: 16px;
    padding-bottom: 16px;
    background: #eaf6ed;
    border-bottom: 2px solid #cbe4d3;
    box-shadow: 0 14px 34px rgba(15, 68, 38, 0.12);
    color: #173422;
    backdrop-filter: none;
  }

  .main-content > .topbar .top-title {
    align-self: center;
    min-width: 0;
  }

  .main-content > .topbar .top-title h1 {
    margin: 0;
    overflow: hidden;
    color: #173422;
    font-size: 1.72rem;
    font-weight: 950;
    letter-spacing: 0.045em;
    line-height: 1.08;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .main-content > .topbar .top-title .small {
    margin-bottom: 5px;
    color: #61786a !important;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.1;
    text-transform: uppercase;
  }

  .main-content > .topbar .global-search {
    height: 50px;
    border: 1px solid #cbe4d3;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 10px 22px rgba(15, 68, 38, 0.09);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .main-content > .topbar .global-search:focus-within {
    border-color: #9dceac;
    background: #fff;
  }

  .main-content > .topbar .global-search > i,
  .main-content > .topbar .global-search input {
    color: #173422;
  }

  .main-content > .topbar .global-search input::placeholder {
    color: #75877c;
  }

  .main-content > .topbar .top-actions {
    align-items: center;
    gap: 10px;
  }

  .main-content > .topbar .top-actions .btn-light,
  .main-content > .topbar .top-actions .dropdown > .btn-light,
  .main-content > .topbar .top-actions .icon-only,
  .main-content > .topbar .top-avatar {
    min-height: 48px;
    border: 1px solid #cbe4d3 !important;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.76) !important;
    color: #14532d !important;
    box-shadow: 0 10px 22px rgba(15, 68, 38, 0.09);
  }

  .main-content > .topbar .top-actions .btn-light:hover,
  .main-content > .topbar .top-actions .dropdown > .btn-light:hover,
  .main-content > .topbar .top-actions .icon-only:hover,
  .main-content > .topbar .top-avatar:hover {
    border-color: #9dceac !important;
    background: #fff !important;
    color: #0f6f3f !important;
  }

  .main-content > .topbar .top-actions .icon-only,
  .main-content > .topbar .top-avatar {
    width: 48px;
    min-width: 48px;
    height: 48px;
    padding: 0;
  }

  .main-content > .topbar .top-actions .btn-primary {
    min-height: 48px;
    border-color: #e0bb4e !important;
    border-radius: 15px;
    background: #f1cf67 !important;
    color: #173321 !important;
    box-shadow: 0 10px 24px rgba(3, 25, 14, 0.16);
  }

  .main-content > .topbar .top-actions .btn-primary:hover {
    background: #f6d978 !important;
    color: #102b1b !important;
  }
}

/* Clients directory header: one deliberate action row and a full-width search row. */
@media (min-width: 992px) {
  .clients-list-screen .main-content > .topbar {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "clients-title clients-actions"
      "clients-search clients-search";
    column-gap: 20px;
    row-gap: 14px;
    align-items: center !important;
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .clients-list-screen .main-content > .topbar .top-title {
    grid-area: clients-title;
    width: 100%;
  }

  .clients-list-screen .main-content > .topbar .top-title .small {
    max-width: none;
  }

  .clients-list-screen .main-content > .topbar .global-search {
    grid-area: clients-search;
    width: 100%;
    min-width: 0;
  }

  .clients-list-screen .main-content > .topbar .top-actions {
    grid-area: clients-actions;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    width: auto;
  }

  .clients-list-screen .main-content > .topbar .top-actions > * {
    flex: 0 0 auto;
  }
}

/* Customer record header: full customer name at left, search and actions stacked at right. */
@media (min-width: 992px) {
  .client-detail-screen .main-content > .topbar {
    grid-template-columns: minmax(260px, .8fr) minmax(300px, 1.2fr) !important;
    grid-template-areas:
      "client-detail-title client-detail-search"
      "client-detail-title client-detail-actions";
    column-gap: 22px;
    row-gap: 13px;
    align-items: start !important;
    min-height: 146px;
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .client-detail-screen .main-content > .topbar .top-title {
    grid-area: client-detail-title;
    align-self: center;
    width: 100%;
    min-width: 0;
  }

  .client-detail-screen .main-content > .topbar .top-title h1 {
    max-width: 100%;
    overflow: visible;
    color: #173422;
    font-size: clamp(1.55rem, 2vw, 2.1rem);
    line-height: 1.08;
    overflow-wrap: anywhere;
    text-overflow: clip;
    white-space: normal;
  }

  .client-detail-screen .main-content > .topbar .global-search {
    grid-area: client-detail-search;
    width: 100%;
    min-width: 0;
  }

  .client-detail-screen .main-content > .topbar .top-actions {
    grid-area: client-detail-actions;
    display: flex;
    justify-content: flex-end;
    align-self: end;
    width: 100%;
    min-width: 0;
    padding-top: 11px;
    border-top: 1px solid rgba(115, 151, 128, .3);
  }

  .client-detail-screen .main-content > .topbar .top-actions > * {
    flex: 0 0 auto;
  }
}

@media (min-width: 1400px) {
  .client-detail-screen .main-content > .topbar .top-actions {
    flex-wrap: nowrap;
  }
}

/* Dispatch layout: balanced empty states on desktop and a single readable flow on mobile. */
.dispatch-screen .smart-dispatch-workspace {
  grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
  grid-template-areas:
    "dispatch-routes dispatch-side"
    "dispatch-map dispatch-side"
    "dispatch-live dispatch-side";
  gap: 16px;
  align-items: start;
}

.dispatch-screen #dispatch-routes {
  grid-area: dispatch-routes;
  min-width: 0;
}

.dispatch-screen .dispatch-side-stack {
  grid-area: dispatch-side;
  min-width: 0;
}

.dispatch-screen #dispatch-map {
  grid-area: dispatch-map;
  min-width: 0;
}

.dispatch-screen #dispatch-live {
  grid-area: dispatch-live;
  min-width: 0;
}

.dispatch-routes-empty {
  overflow: hidden;
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}

.dispatch-routes-empty .rich-empty {
  min-height: 220px;
}

.dispatch-settings-empty {
  min-height: 220px;
  padding: 24px 18px;
}

.dispatch-screen .dispatch-column,
.dispatch-screen .dispatch-map-panel,
.dispatch-screen .dispatch-routes-empty {
  max-width: 100%;
}

@media (max-width: 1320px) {
  .dispatch-screen .smart-dispatch-workspace {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "dispatch-routes"
      "dispatch-side"
      "dispatch-map"
      "dispatch-live";
  }
}

@media (max-width: 768px) {
  .dispatch-screen .smart-dispatch-hero {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 12px;
    padding: 14px;
  }

  .dispatch-screen .dispatch-date-form,
  .dispatch-screen .dispatch-optimize-form,
  .dispatch-screen .dispatch-optimize-form .btn {
    width: 100%;
    min-width: 0;
  }

  .dispatch-screen .dispatch-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .dispatch-screen .dispatch-kpis span:last-child {
    grid-column: 1 / -1;
  }

  .dispatch-screen .dispatch-mobile-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
  }

  .dispatch-screen .dispatch-mobile-tabs a {
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 44px;
    padding: 8px 10px;
    text-align: center;
    white-space: normal;
  }

  .dispatch-screen .smart-dispatch-workspace,
  .dispatch-screen .dispatch-side-stack,
  .dispatch-screen .dispatch-base-form,
  .dispatch-screen .dispatch-base-grid {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .dispatch-screen .dispatch-base-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .dispatch-screen .smart-map-placeholder,
  .dispatch-screen .dispatch-routes-empty .rich-empty,
  .dispatch-screen .dispatch-settings-empty {
    min-height: 180px;
  }
}

/* Payroll header: compact, balanced actions without the redundant hero. */
.payroll-page .payroll-period {
  margin-top: 2px;
}

@media (min-width: 992px) {
  .payroll-page .main-content > .topbar {
    grid-template-columns: minmax(220px, 340px) minmax(360px, 525px) minmax(0, 1fr) !important;
    grid-template-rows: auto auto;
    min-height: 0;
    column-gap: 20px;
    row-gap: 12px;
  }

  .payroll-page .main-content > .topbar .top-title {
    grid-column: 1;
    grid-row: 1;
  }

  .payroll-page .main-content > .topbar .global-search {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }

  .payroll-page .main-content > .topbar .top-actions {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    align-self: end;
    justify-content: flex-start;
    gap: 8px;
    flex-wrap: wrap;
    padding-top: 2px;
  }

  .payroll-page .main-content > .topbar .top-actions > * {
    flex: 0 0 auto;
    margin-top: 0;
    margin-bottom: 0;
  }

  .payroll-page .main-content > .topbar .payroll-export-action {
    display: inline-flex !important;
    margin-right: auto;
  }

  .payroll-page .main-content > .topbar .top-actions .btn {
    min-height: 44px;
    padding: 0.56rem 0.78rem;
    border-radius: 13px;
    font-size: 0.82rem;
    box-shadow: 0 7px 16px rgba(15, 68, 38, 0.08);
  }

  .payroll-page .copilot-widget {
    top: auto;
    bottom: 24px;
  }

  .payroll-page .copilot-widget-panel {
    top: auto;
    bottom: 92px;
    max-height: calc(100dvh - 124px);
    transform-origin: bottom right;
  }
}

@media (min-width: 1320px) {
  .payroll-page .main-content > .topbar .top-actions {
    flex-wrap: nowrap;
  }
}

/* Login: field-service background with a quiet, high-contrast sign-in surface. */
.login-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #edf5ef;
}

.login-hero::before,
.login-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.login-hero::before {
  z-index: -2;
  background: url("/static/img/aureo-job-login-background.png") 50% 54% / cover no-repeat;
  filter: saturate(0.82) contrast(0.94);
  transform: scale(1.015);
}

.login-hero::after {
  z-index: -1;
  background:
    linear-gradient(135deg, rgba(244, 250, 246, 0.54), rgba(239, 248, 242, 0.62)),
    rgba(242, 249, 244, 0.12);
}

.login-card-panel {
  position: relative;
  width: min(460px, 100%);
  background: rgba(255, 255, 255, 0.94);
  border-color: rgba(205, 224, 211, 0.92);
  box-shadow: 0 26px 72px rgba(10, 45, 29, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.login-mobile-home-link {
  display: none;
}

.login-home-link {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 3;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px;
  border: 1px solid #b9dfc5;
  border-radius: 999px;
  color: #125d34;
  background: rgba(225, 245, 231, 0.94);
  box-shadow: 0 12px 30px rgba(10, 45, 29, 0.14);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1;
  transition: transform 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease;
}

.login-home-link:hover,
.login-home-link:focus-visible {
  color: #0d4426;
  background: #d3efdc;
  box-shadow: 0 15px 34px rgba(10, 45, 29, 0.2);
  transform: translateY(-2px);
}

@media (max-width: 575.98px) {
  body.login-page {
    padding-bottom: 0 !important;
  }

  .login-hero {
    align-items: start;
    min-height: 100dvh;
    padding: 16px 16px calc(20px + env(safe-area-inset-bottom));
  }

  .login-hero::before {
    background-position: 52% center;
  }

  .login-hero::after {
    background: rgba(243, 250, 245, 0.6);
  }

  .login-card-panel .card-body {
    padding: 1.45rem !important;
  }

  .login-home-link {
    display: none;
  }

  .login-mobile-home-link {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid #b9dfc5;
    border-radius: 999px;
    color: #125d34;
    background: rgba(225, 245, 231, 0.96);
    box-shadow: 0 8px 20px rgba(10, 45, 29, 0.12);
    font-size: 1.05rem;
  }

  .login-mobile-home-link:active {
    color: #0d4426;
    background: #d3efdc;
  }
}

@media (prefers-reduced-motion: reduce) {
  .login-home-link {
    transition: none;
  }
}

/* Aureo Finance Operations 2.0: operational reporting and source drill-down. */
.finance-report-screen {
  overflow-x: hidden;
}

.finance-report-screen .main-content > * {
  min-width: 0;
}

.finance-report-filter {
  margin-bottom: 14px;
  padding: 16px;
}

.finance-report-filter form {
  display: grid;
  grid-template-columns: minmax(150px, .8fr) repeat(2, minmax(150px, .85fr)) minmax(180px, 1fr) minmax(180px, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.finance-report-filter label {
  min-width: 0;
}

.finance-report-filter label > span {
  display: block;
  margin: 0 0 6px 3px;
  color: var(--muted);
  font-size: .73rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.finance-report-filter .btn {
  min-height: 48px;
  white-space: nowrap;
}

.finance-report-notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
  padding: 13px 16px;
  border: 1px solid #cde2d3;
  border-radius: 15px;
  background: #eef8f1;
  color: #174e2e;
}

.finance-report-notice > i {
  margin-top: 1px;
  font-size: 1.05rem;
}

.finance-report-notice strong,
.finance-report-notice span {
  display: block;
}

.finance-report-notice span {
  margin-top: 2px;
  color: #4d6d59;
  font-size: .86rem;
}

.finance-report-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.finance-report-kpis > a {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 11px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: #fff;
  color: var(--ink);
  box-shadow: var(--shadow-sm);
}

.finance-report-kpis > a > i {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #e8f5ec;
  color: var(--green);
}

.finance-report-kpis > a.danger > i {
  background: #fde9e7;
  color: #a12820;
}

.finance-report-kpis > a > span,
.finance-report-kpis small,
.finance-report-kpis b,
.finance-report-change {
  display: block;
  min-width: 0;
}

.finance-report-kpis small {
  overflow: hidden;
  color: var(--muted);
  font-size: .75rem;
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.finance-report-kpis b {
  margin-top: 2px;
  font-size: 1.12rem;
  font-weight: 920;
}

.finance-report-change {
  margin-top: 2px;
  color: #65766b;
  font-size: .69rem;
  font-style: normal;
  font-weight: 760;
}

.finance-report-change.up { color: #15723d; }
.finance-report-change.down { color: #a12820; }

.finance-report-section {
  margin-bottom: 16px;
}

.finance-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.finance-section-head h5,
.finance-subsection-head h6 {
  margin: 0;
  font-weight: 900;
}

.finance-section-head small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
}

.finance-report-period {
  padding: 6px 10px;
  border-radius: 999px;
  background: #eff6f1;
  color: #335c43;
  font-size: .78rem;
  font-weight: 820;
}

.finance-ar-buckets {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.finance-ar-buckets a {
  min-width: 0;
  padding: 13px;
  border: 1px solid #d7e5dc;
  border-radius: 15px;
  background: #f8fbf9;
  color: var(--ink);
}

.finance-ar-buckets a.active {
  border-color: #20824b;
  background: #eaf7ee;
  box-shadow: inset 0 0 0 1px #20824b;
}

.finance-ar-buckets span,
.finance-ar-buckets strong,
.finance-ar-buckets small {
  display: block;
}

.finance-ar-buckets span,
.finance-ar-buckets small {
  color: var(--muted);
  font-size: .75rem;
  font-weight: 760;
}

.finance-ar-buckets strong {
  margin: 3px 0;
  font-size: 1.05rem;
}

.finance-report-two-columns,
.finance-report-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.finance-report-split > * {
  min-width: 0;
}

.finance-subsection {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
}

.finance-subsection-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  background: #fafcfb;
}

.finance-subsection-head span,
.finance-subsection-head a {
  color: var(--muted);
  font-size: .77rem;
  font-weight: 780;
}

.finance-responsive-table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.finance-report-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .84rem;
}

.finance-report-table th,
.finance-report-table td {
  padding: 11px 13px;
  border-bottom: 1px solid #e4ece6;
  vertical-align: middle;
}

.finance-report-table th {
  color: #587064;
  background: #f8faf8;
  font-size: .7rem;
  font-weight: 880;
  letter-spacing: .035em;
  text-transform: uppercase;
  white-space: nowrap;
}

.finance-report-table tbody tr:last-child td { border-bottom: 0; }
.finance-report-table td:not(:first-child) { white-space: nowrap; }
.finance-report-table td strong,
.finance-report-table td small { display: block; }
.finance-report-table td small { color: var(--muted); font-size: .73rem; }
.finance-report-table td a:not(.btn) { font-weight: 810; }

.finance-pl-table tr.total td {
  border-top: 2px solid #cddbd1;
  font-weight: 850;
}

.finance-pl-table tr.result td {
  background: #eaf7ee;
  color: #135e34;
  font-weight: 920;
}

.finance-pl-table tr.result.negative td {
  background: #fff0ee;
  color: #98251f;
}

.finance-pl-table tr.muted td { color: #65766b; }

.finance-cash-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.finance-cash-kpis a {
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #f8fbf9;
  color: var(--ink);
}

.finance-cash-kpis span,
.finance-cash-kpis strong { display: block; }
.finance-cash-kpis span { color: var(--muted); font-size: .72rem; font-weight: 760; }
.finance-cash-kpis strong { margin-top: 3px; }
.finance-cash-kpis .net { background: #eaf7ee; border-color: #bbdec6; }
.finance-cash-kpis .net.negative { background: #fff0ee; border-color: #f0c9c5; }

.finance-cash-filters,
.finance-group-tabs {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  scrollbar-width: none;
}

.finance-cash-filters {
  margin: 14px 0 8px;
}

.finance-cash-filters::-webkit-scrollbar,
.finance-group-tabs::-webkit-scrollbar { display: none; }

.finance-cash-filters a,
.finance-group-tabs a {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #4f6858;
  font-size: .75rem;
  font-weight: 820;
  white-space: nowrap;
}

.finance-cash-filters a.active,
.finance-group-tabs a.active {
  border-color: var(--green);
  background: var(--green);
  color: #fff;
}

.finance-cash-list article {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid #e6eee8;
}

.finance-cash-list article > i {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #eaf7ee;
  color: #15723d;
}

.finance-cash-list article > span { min-width: 0; flex: 1; }
.finance-cash-list article strong,
.finance-cash-list article small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.finance-cash-list article small { color: var(--muted); font-size: .72rem; }
.finance-cash-list article > b { flex: 0 0 auto; color: #15723d; }
.finance-cash-list article > b.out { color: #a12820; }

.finance-profit-drill {
  padding: 16px;
  border-top: 1px solid var(--line);
  background: #fbfdfb;
}

.finance-job-drill-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 11px;
}

.finance-job-drill-grid > a {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
}

.finance-job-drill-grid span { min-width: 0; }
.finance-job-drill-grid strong,
.finance-job-drill-grid small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.finance-job-drill-grid small { color: var(--muted); font-size: .73rem; }
.finance-job-drill-grid b { flex: 0 0 auto; text-align: right; }

.positive-money { color: #15723d; font-weight: 850; }
.negative-money { color: #a12820; font-weight: 850; }

.finance-detail-section {
  border-color: #b9d9c3;
  box-shadow: 0 14px 35px rgba(18, 72, 40, .11);
}

.finance-export-menu {
  min-width: 260px;
  max-height: min(72vh, 520px);
  overflow-y: auto;
  padding: 8px;
  border-color: var(--line);
  border-radius: 15px;
}

.finance-export-menu h6 {
  margin: 8px 8px 4px;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 880;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.finance-export-menu form { margin: 0; }
.finance-export-menu button {
  width: 100%;
  padding: 8px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--ink);
  text-align: left;
  font-size: .82rem;
  font-weight: 760;
}
.finance-export-menu button:hover { background: #eef7f0; }

@media (max-width: 1399.98px) {
  .finance-report-filter form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .finance-report-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1199.98px) {
  .finance-report-two-columns,
  .finance-report-split { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767.98px) {
  .finance-report-filter form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-report-filter .btn { width: 100%; }
  .finance-ar-buckets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-ar-buckets a:first-child { grid-column: span 2; }
  .finance-job-drill-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 575.98px) {
  .finance-report-filter { padding: 12px; }
  .finance-report-filter form { grid-template-columns: minmax(0, 1fr); }
  .finance-report-kpis { grid-template-columns: minmax(0, 1fr); }
  .finance-report-kpis > a { padding: 12px; }
  .finance-section-head { align-items: flex-start; }
  .finance-report-section > .card-body { padding: 12px; }
  .finance-report-table { min-width: 660px; }
  .finance-pl-table { min-width: 520px; }
  .finance-ar-buckets { grid-template-columns: minmax(0, 1fr); }
  .finance-ar-buckets a:first-child { grid-column: auto; }
  .finance-cash-kpis { grid-template-columns: minmax(0, 1fr); }
  .finance-group-tabs { width: 100%; }
  .finance-report-notice { padding: 12px; }
}

@media print {
  .finance-report-filter,
  .finance-report-notice,
  .finance-group-tabs,
  .finance-cash-filters,
  .finance-export-menu { display: none !important; }
  .finance-report-split,
  .finance-report-two-columns { grid-template-columns: 1fr; }
  .finance-responsive-table { overflow: visible; }
}

/* Data migration center */
.migration-hero,.migration-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 34px;border-radius:28px;background:linear-gradient(135deg,#075d39,#11824d);color:#fff;overflow:hidden}.migration-hero h2,.migration-detail-hero h2{margin:10px 0 8px;font-size:clamp(28px,4vw,42px)}.migration-hero p,.migration-detail-hero p{margin:0;max-width:780px;color:#dff5e7}.migration-hero .eyebrow,.migration-detail-hero .eyebrow{display:inline-flex;gap:8px;align-items:center;padding:7px 12px;border-radius:999px;background:#e8f7ed;color:#145d3b;font-size:12px;font-weight:800;letter-spacing:.04em}.migration-hero-stat{display:grid;place-items:center;min-width:150px;padding:20px;border:1px solid rgba(255,255,255,.3);border-radius:22px;background:rgba(255,255,255,.12);text-align:center}.migration-hero-stat strong{font-size:40px}.migration-hero-stat span{font-size:13px}.migration-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.75fr);gap:20px;margin-top:20px}.migration-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:22px}.migration-form label>span{display:block;margin-bottom:7px;font-weight:750}.migration-drop{grid-column:1/-1;display:grid!important;place-items:center;gap:5px;min-height:170px;padding:24px;border:2px dashed #a9cdb6;border-radius:22px;background:#f5fbf7;text-align:center;cursor:pointer}.migration-drop i{font-size:36px;color:#15804b}.migration-drop input{max-width:420px;margin-top:10px}.migration-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}.migration-safe-flow{display:grid;gap:12px;margin:0;padding:22px;list-style:none}.migration-safe-flow li{display:flex;gap:12px;align-items:center}.migration-safe-flow li>b{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:#e8f7ed;color:#157c49}.migration-safe-flow span{display:grid}.migration-safe-flow small{color:#64766b}.migration-note{margin:0 22px 22px;padding:13px;border-radius:14px;background:#edf8f1;color:#1c603e}.migration-batch-list{display:grid}.migration-batch-row{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto auto;gap:16px;align-items:center;padding:17px 20px;border-top:1px solid #e2ebe5;color:inherit;text-decoration:none}.migration-batch-row:hover{background:#f6fbf8}.migration-batch-row small{display:block;color:#708078}.migration-source{padding:7px 10px;border-radius:10px;background:#e8f7ed;color:#126b40;font-size:12px;font-weight:800}.migration-counts{display:flex;gap:7px;flex-wrap:wrap}.migration-counts em{padding:5px 8px;border-radius:999px;background:#f1f4f2;font-size:11px;font-style:normal}.migration-counts .ok{color:#147a48}.migration-counts .warn{color:#906100}.migration-counts .bad{color:#b43a3a}.status-chip,.row-status{display:inline-flex;padding:7px 11px;border-radius:999px;background:#eef2ef;font-size:12px;font-weight:800;text-transform:capitalize}.status-ready,.row-valid,.row-created{background:#dcf6e5;color:#0d6b3d}.status-imported{background:#dff1ff;color:#145b84}.status-reverted,.row-reverted{background:#eee9ff;color:#5e43a5}.row-duplicate,.row-skipped{background:#fff2cf;color:#805a00}.row-error,.status-failed{background:#ffe2e2;color:#a72c2c}.migration-detail-hero code{color:#fff}.migration-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.migration-kpis article{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;padding:18px;border:1px solid #dce7df;border-radius:18px;background:#fff}.migration-kpis i{grid-row:1/3;font-size:25px;color:#557067}.migration-kpis span{color:#63746a}.migration-kpis strong{font-size:26px}.migration-kpis .ok i{color:#14814b}.migration-kpis .warn i{color:#9a6b00}.migration-kpis .bad i{color:#b83737}.migration-confirm-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:18px 20px;border:1px solid #baddc7;border-radius:20px;background:#eefaf2}.migration-confirm-bar>div{display:grid;flex:1;min-width:220px}.migration-confirm-bar>div span{color:#5f7367}.migration-final-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.migration-final-form label{font-size:13px}.migration-confirm-bar.imported{border-color:#bad7ec;background:#f0f8fd}.migration-table-wrap{max-height:680px}.migration-table{min-width:920px;margin:0}.migration-table th{position:sticky;top:0;z-index:1;background:#f6faf7}.migration-data-chips{display:flex;flex-wrap:wrap;gap:6px;max-width:680px}.migration-data-chips span{display:inline-flex;gap:5px;padding:5px 8px;border-radius:8px;background:#f0f5f2;font-size:11px}.migration-data-chips b{color:#557066}.migration-errors{margin:0;padding-left:18px;color:#a72c2c;font-size:12px}
@media(max-width:900px){.migration-layout{grid-template-columns:1fr}.migration-kpis{grid-template-columns:1fr 1fr}.migration-batch-row{grid-template-columns:auto 1fr auto}.migration-counts{grid-column:2/4}.migration-batch-row>.status-chip{grid-column:2}.migration-batch-row>i{grid-column:3;grid-row:1}}
@media(max-width:620px){.migration-hero,.migration-detail-hero{align-items:flex-start;flex-direction:column;padding:24px 20px}.migration-hero-stat{width:100%}.migration-form{grid-template-columns:1fr;padding:16px}.migration-drop,.migration-actions{grid-column:1}.migration-actions .btn{width:100%;justify-content:center}.migration-kpis{grid-template-columns:1fr 1fr}.migration-confirm-bar,.migration-final-form{align-items:stretch;flex-direction:column}.migration-confirm-bar form,.migration-confirm-bar .btn{width:100%}.migration-batch-row{gap:10px;padding:14px}.migration-counts{grid-column:1/4}.migration-detail-hero h2{overflow-wrap:anywhere}}

/* Customer Portal V1.1 */
.customer-portal-v11{--cp-green:#147a47;--cp-dark:#173223;--cp-muted:#67776d;--cp-line:#dbe7df;--cp-bg:#f3f7f4;min-height:100vh;padding:22px clamp(16px,4vw,52px) 30px;background:var(--cp-bg);color:var(--cp-dark)}
.cp-shell-header{width:min(1180px,100%);min-height:70px;margin:0 auto 22px;padding:10px 14px;display:flex;align-items:center;gap:20px;border:1px solid var(--cp-line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(20,58,37,.06)}
.cp-brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none;min-width:190px}.cp-brand img{width:44px;height:44px;object-fit:contain;border-radius:12px}.cp-brand span{display:grid;line-height:1.1}.cp-brand b{font-size:16px}.cp-brand small{margin-top:4px;color:var(--cp-muted);font-size:12px}
.cp-nav{display:flex;justify-content:center;gap:5px;margin-left:auto}.cp-nav a{padding:10px 13px;border-radius:10px;color:#516158;text-decoration:none;font-size:14px;font-weight:750}.cp-nav a:hover,.cp-nav a.active{background:#eaf6ee;color:#116c3f}
.cp-logout{margin:0}.cp-logout button{display:flex;align-items:center;gap:7px;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:#63736a;font-weight:700}.cp-logout button:hover{background:#f2f5f3;color:#1c3827}
.cp-flashes{width:min(1180px,100%);margin:0 auto 16px}.cp-flashes .alert{border-radius:13px}
.cp-page-heading{width:min(1180px,100%);margin:0 auto 18px;padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #cfe2d5;border-radius:20px;background:#eaf6ee}.cp-page-heading h1{margin:5px 0 5px;font-size:clamp(28px,4vw,40px);letter-spacing:-.03em}.cp-page-heading p{margin:0;color:#5e7265}.cp-page-heading.compact-heading{background:#fff}.cp-eyebrow{display:inline-flex;color:#27734d;font-size:11px;font-weight:850;letter-spacing:.08em}.cp-balance{min-width:190px;padding:14px 18px;border:1px solid #bcd9c6;border-radius:15px;background:rgba(255,255,255,.72);text-align:right}.cp-balance small{display:block;color:#62766a;font-size:12px;font-weight:700}.cp-balance strong{display:block;margin-top:2px;font-size:28px}.cp-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:8px;color:#27734d;text-decoration:none;font-weight:750;font-size:13px}
.cp-kpi-grid{width:min(1180px,100%);margin:0 auto 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cp-kpi-grid article{display:grid;grid-template-columns:auto 1fr;gap:2px 11px;align-items:center;padding:16px 17px;border:1px solid var(--cp-line);border-radius:16px;background:#fff}.cp-kpi-grid i{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e8f6ed;color:#14804a;font-size:18px}.cp-kpi-grid span{color:var(--cp-muted);font-size:12px}.cp-kpi-grid strong{font-size:22px}
.cp-content-grid{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}.cp-content-grid.requests-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}.cp-card{min-width:0;border:1px solid var(--cp-line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(20,58,37,.04)}.cp-card-wide{grid-column:1/-1}.cp-card>header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--cp-line)}.cp-card>header h2{margin:0;font-size:18px}.cp-card>header p{margin:3px 0 0;color:var(--cp-muted);font-size:13px}
.cp-list{display:grid}.cp-list-row{min-width:0;display:flex;align-items:center;gap:13px;padding:14px 18px;border-top:1px solid #e8efea;color:inherit;text-decoration:none}.cp-list-row:first-child{border-top:0}.cp-list-row[href]:hover{background:#f7fbf8}.cp-list-main{display:grid;min-width:0;flex:1}.cp-list-main b,.cp-list-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-list-main small{margin-top:3px;color:var(--cp-muted);font-size:12px}.cp-date{display:grid;place-items:center;flex:0 0 44px;height:48px;border-radius:11px;background:#edf7f0}.cp-date b{font-size:17px}.cp-date small{font-size:10px;text-transform:uppercase}.cp-list.compact .cp-list-row{min-height:66px}.cp-list-row>strong{white-space:nowrap}.cp-list-row>i{color:#799086}.cp-empty{padding:24px;color:#77877e;text-align:center}
.cp-status{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#edf1ee;color:#52635a;font-size:11px;font-weight:800;text-transform:capitalize;white-space:nowrap}.cp-status.status-completed,.cp-status.status-paid,.cp-status.status-approved,.cp-status.status-submitted{background:#dff5e7;color:#10673c}.cp-status.status-scheduled,.cp-status.status-sent,.cp-status.status-reviewing{background:#e4f1fb;color:#185c82}.cp-status.status-in_progress,.cp-status.status-partial{background:#fff0cd;color:#805a00}.cp-status.status-rejected,.cp-status.status-cancelled{background:#fde5e5;color:#9d3030}
.cp-action-list{display:grid;padding:10px}.cp-action-list a{display:flex;align-items:center;gap:12px;padding:13px;border-radius:12px;color:inherit;text-decoration:none}.cp-action-list a:hover{background:#f1f8f3}.cp-action-list i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e8f6ed;color:#147b47}.cp-action-list span{display:grid}.cp-action-list small{color:var(--cp-muted);font-size:12px}
.cp-auth-card{width:min(470px,100%);margin:8vh auto;padding:34px;border:1px solid var(--cp-line);border-radius:22px;background:#fff;text-align:left;box-shadow:0 18px 45px rgba(17,54,32,.08)}.cp-auth-card h1{margin:8px 0;font-size:30px}.cp-auth-card>p{margin:0 0 22px;color:var(--cp-muted)}.cp-auth-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:17px;border-radius:14px;background:#e4f5ea;color:#137844;font-size:24px}.cp-auth-icon.warning{background:#fff2d5;color:#8a6204}.cp-auth-form{display:grid;gap:9px}.cp-auth-form label,.cp-form label{font-size:13px;font-weight:750}.cp-auth-form input,.cp-form input,.cp-form select,.cp-form textarea,.cp-copilot-form input{width:100%;border:1px solid #cadbd0;border-radius:11px;background:#fff;color:#1b2d22;outline:none}.cp-auth-form input{height:48px;padding:0 13px;margin-bottom:5px}.cp-auth-form input:focus,.cp-form input:focus,.cp-form select:focus,.cp-form textarea:focus,.cp-copilot-form input:focus{border-color:#3d9767;box-shadow:0 0 0 3px rgba(45,143,91,.12)}.cp-language{display:inline-flex;margin-top:18px;color:#27734d;font-size:13px;font-weight:700}
.cp-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:43px;padding:10px 16px;border:1px solid transparent;border-radius:10px;text-decoration:none;font-size:14px;font-weight:800}.cp-btn-primary{background:var(--cp-green);color:#fff}.cp-btn-primary:hover{background:#106c3e;color:#fff}.cp-btn-secondary{border-color:#bdd5c5;background:#fff;color:#226b46}.cp-btn-secondary:hover{background:#eff7f2;color:#155e38}
.cp-document{width:min(980px,100%);margin:0 auto;padding:22px}.cp-document-status{display:flex;justify-content:flex-end;margin-bottom:14px}.cp-table-wrap{overflow:auto;border:1px solid var(--cp-line);border-radius:13px}.cp-table{width:100%;min-width:580px;border-collapse:collapse}.cp-table th,.cp-table td{padding:13px 14px;border-bottom:1px solid #e5ede8;text-align:left}.cp-table th{background:#f6f9f7;color:#607066;font-size:11px;text-transform:uppercase}.cp-table tr:last-child td{border-bottom:0}.cp-table th:not(:first-child),.cp-table td:not(:first-child){text-align:right}.cp-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.cp-detail-grid>div{display:grid;padding:15px;border:1px solid var(--cp-line);border-radius:12px;background:#f9fbfa}.cp-detail-grid small{color:var(--cp-muted);font-size:11px}.cp-detail-grid b{margin-top:4px}.cp-note{margin-top:16px;padding:16px;border-left:3px solid #63a77f;border-radius:8px;background:#f4f9f6}.cp-note h2{margin:0 0 5px;font-size:15px}.cp-note p{margin:0;color:#53645a;white-space:pre-line}.cp-document-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.cp-document-actions form{margin:0}.cp-payment-note{display:flex;align-items:center;gap:10px;margin-top:18px;padding:13px;border-radius:11px;background:#eef5f0;color:#53645a}.cp-payment-note.success{background:#e2f6e9;color:#12673c}
.cp-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:20px}.cp-form label{display:grid;gap:6px}.cp-form .full{grid-column:1/-1}.cp-form input,.cp-form select{height:44px;padding:0 11px}.cp-form textarea{padding:11px;resize:vertical}.cp-form .cp-btn{justify-self:start}
.cp-copilot-card{width:min(780px,100%);margin:0 auto;padding:24px}.cp-prompt-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.cp-prompt-chips button{padding:8px 12px;border:1px solid #c9ddd0;border-radius:999px;background:#f7fbf8;color:#276646;font-size:12px;font-weight:750}.cp-copilot-form{display:flex;gap:9px}.cp-copilot-form input{height:50px;padding:0 15px}.cp-copilot-form .cp-btn{flex:0 0 50px;padding:0}.cp-copilot-answer{display:flex;gap:11px;margin-top:18px;padding:16px;border:1px solid #cfe3d6;border-radius:14px;background:#edf8f1}.cp-copilot-answer i{color:#137a45}.cp-copilot-answer p{margin:0}.cp-confirm-card{margin-top:18px;padding:18px;border:1px solid #bcd9c6;border-radius:15px}.cp-confirm-card h2{margin:5px 0;font-size:19px}.cp-confirm-card p{color:#586a5f}.cp-confirm-card>div{display:flex;gap:9px}.cp-confirm-card form{margin:0}
.cp-footer{width:min(1180px,100%);margin:24px auto 0;display:flex;justify-content:space-between;color:#7b8981;font-size:11px}.customer-portal-admin-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px}.customer-portal-admin-card>div{display:flex;align-items:center;gap:13px}.customer-portal-admin-card span span,.customer-portal-admin-card>div>span:last-child{display:grid}.customer-portal-admin-card small{margin-top:3px;color:#6c7c72}.customer-portal-admin-icon{display:grid!important;place-items:center;width:42px;height:42px;border-radius:12px;background:#e5f5ea;color:#147b47;font-size:19px}.customer-portal-admin-actions{display:flex!important;align-items:center;gap:9px!important}.customer-portal-admin-actions form{margin:0}.portal-admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:22px 24px;border:1px solid #d2e4d8;border-radius:18px;background:#edf7f0}.portal-admin-heading span{color:#27734d;font-size:11px;font-weight:850;letter-spacing:.08em}.portal-admin-heading h2{margin:4px 0;font-size:26px}.portal-admin-heading p{margin:0;color:#62756a}.portal-admin-heading form{min-width:190px}.portal-admin-heading label{display:grid;gap:5px;font-size:12px;font-weight:750}.portal-admin-list{overflow:hidden}.portal-admin-list>.card-header{display:flex;justify-content:space-between}.portal-admin-list>.card-header h5{margin:0}.portal-admin-list>.card-header small{color:#6c7c72}.portal-request-rows{display:grid}.portal-request-rows article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-top:1px solid #e2ebe5}.portal-request-rows article:first-child{border-top:0}.portal-request-main{min-width:0}.portal-request-title{display:flex;align-items:center;gap:9px}.portal-request-main p{margin:8px 0;color:#405248;white-space:pre-line}.portal-request-main small{color:#74837a}.portal-request-main small a{color:#167344;font-weight:750}.portal-request-rows article>form{display:flex;align-items:center;gap:8px;flex:0 0 auto}.portal-request-rows article>form .form-select{min-width:145px}.portal-admin-empty{display:grid;place-items:center;gap:8px;padding:42px;color:#6f8076}.portal-admin-empty i{font-size:28px;color:#218154}
@media(max-width:850px){.cp-shell-header{flex-wrap:wrap}.cp-nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto}.cp-kpi-grid{grid-template-columns:1fr 1fr}.cp-content-grid,.cp-content-grid.requests-grid{grid-template-columns:1fr}.cp-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.customer-portal-v11{padding:10px 10px 24px}.cp-shell-header{margin-bottom:12px;border-radius:14px}.cp-brand{min-width:0;margin-right:auto}.cp-nav{gap:2px}.cp-nav a{padding:9px 10px;font-size:12px}.cp-logout span{display:none}.cp-page-heading{align-items:flex-start;flex-direction:column;padding:19px;border-radius:16px}.cp-page-heading h1{font-size:28px}.cp-balance{width:100%;text-align:left}.cp-kpi-grid{gap:8px}.cp-kpi-grid article{padding:12px}.cp-kpi-grid span{font-size:10px}.cp-content-grid{gap:12px}.cp-list-row{padding:12px}.cp-list-row .cp-status{max-width:86px;overflow:hidden;text-overflow:ellipsis}.cp-auth-card{margin:5vh auto;padding:24px 19px}.cp-document{padding:14px}.cp-detail-grid{grid-template-columns:1fr 1fr}.cp-form{grid-template-columns:1fr;padding:15px}.cp-form .full{grid-column:1}.cp-form .cp-btn{width:100%}.cp-copilot-card{padding:16px}.cp-footer{padding:0 5px}.customer-portal-admin-card{align-items:stretch;flex-direction:column}.customer-portal-admin-actions{align-items:stretch!important;flex-direction:column}.customer-portal-admin-card form,.customer-portal-admin-card .btn{width:100%}.portal-admin-heading{align-items:stretch;flex-direction:column;padding:18px}.portal-admin-heading form{min-width:0}.portal-request-rows article{align-items:stretch;flex-direction:column}.portal-request-rows article>form{width:100%}.portal-request-rows article>form .form-select{min-width:0;flex:1}}
/* Jobs: crew navigation, compact disclosures and operational title bars. */
.jobs-crew-filter{
  display:flex;
  gap:8px;
  min-width:0;
  margin-bottom:10px;
  padding:9px;
  overflow-x:auto;
  scrollbar-width:none;
  scroll-snap-type:x proximity;
  border:1px solid rgba(207,226,212,.9);
  border-radius:20px;
  background:rgba(255,255,255,.9);
  box-shadow:0 12px 28px rgba(15,44,31,.09);
  -webkit-overflow-scrolling:touch;
}
.jobs-crew-filter::-webkit-scrollbar{
  display:none;
}
.jobs-crew-filter .mobile-crew-filter-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex:0 0 auto;
  min-height:44px;
  padding:0 15px;
  scroll-snap-align:start;
  border:1px solid #d6e6da;
  border-radius:14px;
  color:#365443;
  background:#f7faf7;
  font-size:.84rem;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.jobs-crew-filter .mobile-crew-filter-pill.is-active{
  border-color:#155f39;
  color:#fff;
  background:#155f39;
  box-shadow:0 8px 18px rgba(21,95,57,.22);
}
.jobs-crew-filter .mobile-crew-filter-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#49a86f;
}
.jobs-crew-filter .mobile-crew-filter-pill.is-active .mobile-crew-filter-dot{
  background:#b8f0ca;
}
.jobs-list-controls{
  display:grid;
  gap:10px;
  align-items:start;
}
.jobs-workflow-filter{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.jobs-workflow-filter>a{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-height:50px;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  color:var(--ink);
  background:#fff;
  text-decoration:none;
  font-weight:850;
}
.jobs-workflow-filter>a i{color:var(--green)}
.jobs-workflow-filter>a b{
  min-width:28px;
  padding:3px 7px;
  border-radius:999px;
  color:var(--green-dark);
  background:var(--green-soft);
  text-align:center;
}
.jobs-workflow-filter>a.is-active{
  border-color:#155f39;
  color:#fff;
  background:#155f39;
}
.jobs-workflow-filter>a.is-active i{color:#b8f0ca}
.jobs-workflow-filter>a.is-active b{background:#fff;color:#155f39}
.jobs-primary-action{
  justify-self:stretch;
  justify-content:center;
  width:100%;
  min-height:44px;
  padding:10px 16px;
  white-space:nowrap;
}
.jobs-filter-disclosure{
  padding:0;
  overflow:hidden;
}
.jobs-filter-disclosure>summary{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:52px;
  padding:10px 14px;
  color:var(--ink);
  cursor:pointer;
  list-style:none;
  user-select:none;
  background:var(--green-soft);
}
.jobs-filter-disclosure>summary::-webkit-details-marker{
  display:none;
}
.jobs-filter-summary-label{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-width:0;
  font-weight:820;
}
.jobs-filter-summary-label>i{
  color:var(--green);
  font-size:1.05rem;
}
.jobs-filter-active-badge{
  margin-left:auto;
  padding:4px 8px;
  border-radius:999px;
  background:var(--green-soft);
  color:var(--green-dark);
  font-size:.7rem;
  font-weight:850;
  white-space:nowrap;
}
.jobs-filter-chevron{
  margin-left:auto;
  color:var(--muted);
  transition:transform .18s ease;
}
.jobs-filter-active-badge+.jobs-filter-chevron{
  margin-left:0;
}
.jobs-filter-disclosure[open]>summary{
  border-bottom:1px solid var(--line);
}
.jobs-filter-disclosure[open]>summary .jobs-filter-chevron{
  transform:rotate(180deg);
}
.jobs-filter-fields{
  grid-template-columns:minmax(260px,1.35fr) 150px repeat(3,minmax(140px,1fr)) auto!important;
  padding:12px;
}
.jobs-filter-fields .toolbar-search{
  grid-column:auto!important;
}
.jobs-list-screen .panel-head{
  align-items:center;
  flex-direction:row;
  background:var(--green-soft);
}
.jobs-list-screen .panel-head p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:.78rem;
}
.jobs-list-screen .work-item .work-time{grid-column:1;grid-row:1}
.jobs-list-screen .work-item .work-copy{grid-column:2;grid-row:1}
.jobs-list-screen .work-item .work-actions{grid-column:3;grid-row:1}
.jobs-quick-crew{
  grid-column:2/-1;
  grid-row:2;
  display:grid;
  grid-template-columns:minmax(150px,.55fr) minmax(220px,1fr);
  align-items:center;
  gap:8px 12px;
  width:100%;
  padding:10px;
  border:1px solid #cfe1d5;
  border-radius:12px;
  background:var(--green-soft);
}
.jobs-quick-crew label{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:var(--green-dark);
  font-weight:850;
}
.jobs-quick-crew .form-select{min-height:42px;background-color:#fff}
.jobs-quick-crew small{grid-column:1/-1;min-height:0;color:var(--muted)}
.jobs-quick-crew small:empty{display:none}
.jobs-quick-crew small.is-error{display:block;color:#a52323}
.work-item.is-assigned-away{opacity:0;transform:scale(.985);transition:opacity .2s ease,transform .2s ease}
.jobs-crews-disclosure{
  overflow:hidden;
}
.jobs-crews-disclosure>summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  min-height:58px;
  padding:12px 16px;
  border-bottom:0;
  color:var(--ink);
  background:var(--green-soft);
  cursor:pointer;
  list-style:none;
  font-size:1rem;
  font-weight:860;
  user-select:none;
}
.jobs-crews-disclosure>summary::-webkit-details-marker{
  display:none;
}
.jobs-active-crew-count{
  min-width:28px;
  color:var(--green-dark);
  font-size:1.05rem;
  text-align:center;
}
.jobs-crews-chevron{
  color:var(--green-dark);
  transition:transform .18s ease;
}
.jobs-crews-disclosure[open]>summary{
  border-bottom:1px solid var(--line);
}
.jobs-crews-disclosure[open]>summary .jobs-crews-chevron{
  transform:rotate(180deg);
}
.jobs-crews-disclosure .crew-card{
  grid-template-columns:minmax(0,1fr) auto;
  min-height:58px;
}
.crew-activity-indicator{
  display:block;
  width:46px;
  height:38px;
  border:1px solid #cfe1d5;
  border-radius:11px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);
}
.crew-activity-indicator.is-active{
  border-color:#c5decf;
  background:var(--green-soft);
}
@media(max-width:1280px){
  .jobs-filter-fields{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .jobs-filter-fields .toolbar-search{
    grid-column:1/-1!important;
  }
}
@media(max-width:575px){
  .jobs-workflow-filter{grid-template-columns:1fr 1fr}
  .jobs-workflow-filter>a{padding:9px 10px;font-size:.82rem}
  .jobs-list-controls{
    gap:8px;
  }
  .jobs-primary-action{
    width:100%;
    min-height:42px;
    padding:9px 14px;
    font-size:.88rem;
  }
  .jobs-filter-disclosure>summary{
    min-height:48px;
    padding:9px 12px;
  }
  .jobs-filter-fields{
    grid-template-columns:1fr!important;
    padding:12px;
  }
  .jobs-filter-fields .toolbar-search{
    grid-column:auto!important;
  }
  .jobs-filter-fields .btn{
    width:100%;
    justify-content:center;
  }
  .jobs-quick-crew{
    grid-column:1;
    grid-row:auto;
    grid-template-columns:1fr;
  }
  .jobs-list-screen .work-item .work-time,
  .jobs-list-screen .work-item .work-copy,
  .jobs-list-screen .work-item .work-actions{grid-column:1;grid-row:auto}
  .jobs-quick-crew small{grid-column:1}
}
@media(prefers-reduced-motion:reduce){
  .jobs-filter-chevron,
  .jobs-crews-chevron{
    transition:none;
  }
}

/* Payment receipts: job traceability, back office delivery and customer portal */
.job-invoice-card{display:grid;gap:12px;background:linear-gradient(145deg,#fff 0%,#f2faf4 100%);border-color:#cfe3d5}.job-invoice-card .job-card-head{margin-bottom:0}.job-invoice-card .job-card-head h3{display:flex;align-items:center;gap:8px}.job-invoice-card .job-card-head h3 i{color:var(--green)}
.job-invoice-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #d7e7dc;border-radius:14px;background:#fff}.job-invoice-summary>div{display:grid;min-width:0}.job-invoice-summary small{color:var(--green);font-size:.72rem;font-weight:900;letter-spacing:.05em}.job-invoice-summary b{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-invoice-summary span{margin-top:4px;color:var(--muted);font-size:.78rem}.job-invoice-summary>strong{font-size:1.32rem;color:var(--green);white-space:nowrap}
.job-invoice-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.job-invoice-actions form{margin:0}.job-invoice-actions .btn,.job-invoice-actions form .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;width:100%;height:100%}.job-invoice-empty{display:flex;align-items:center;gap:12px;padding:13px;border:1px dashed #bcd8c5;border-radius:14px;background:#fff}.job-invoice-empty>i{font-size:1.35rem;color:var(--green)}.job-invoice-empty span{display:grid}.job-invoice-empty small{color:var(--muted)}
.payment-receipt-row{align-items:stretch;flex-direction:column}.payment-receipt-actions{display:flex;flex-wrap:wrap;gap:7px}.payment-receipt-actions form{margin:0}.payment-receipt-actions .btn{display:inline-flex;align-items:center;gap:6px}
.cp-receipts{margin-top:20px;padding:18px;border:1px solid #cbe1d2;border-radius:15px;background:linear-gradient(145deg,#f8fcf9,#edf8f1)}.cp-receipts-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.cp-receipts-head h2{margin:3px 0 0;font-size:18px}.cp-receipts-head>i{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#dff3e5;color:#147a47;font-size:20px}.cp-receipts article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid #d9e8de}.cp-receipts article:first-of-type{border-top:0}.cp-receipts article>div{display:grid}.cp-receipts article small{margin-top:3px;color:var(--cp-muted);font-size:12px}
@media(max-width:560px){.job-invoice-summary{align-items:flex-start;flex-direction:column}.job-invoice-actions{grid-template-columns:1fr}.cp-receipts article{align-items:stretch;flex-direction:column}.cp-receipts article .cp-btn{width:100%}.payment-receipt-actions{display:grid;grid-template-columns:1fr}.payment-receipt-actions .btn,.payment-receipt-actions form,.payment-receipt-actions form .btn{width:100%;justify-content:center}}

/* Shared operations header: wide search above a single, stable action row. */
@media (min-width: 1200px) {
  .stacked-action-topbar .main-content > .topbar {
    grid-template-columns: minmax(240px, 340px) minmax(0, 1fr) !important;
    grid-template-areas:
      "stacked-title stacked-search"
      "stacked-title stacked-actions";
    column-gap: 28px;
    row-gap: 14px;
    align-items: start !important;
    min-height: 152px;
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .stacked-action-topbar .main-content > .topbar .top-title {
    grid-area: stacked-title;
    align-self: center;
  }

  .stacked-action-topbar .main-content > .topbar .global-search {
    grid-area: stacked-search;
    width: 100%;
    min-width: 0;
  }

  .stacked-action-topbar .main-content > .topbar .top-actions {
    grid-area: stacked-actions;
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    align-self: end;
    justify-content: flex-end;
    flex-wrap: nowrap;
  }

  .stacked-action-topbar .main-content > .topbar .top-actions > * {
    flex: 0 0 auto;
  }

  .stacked-action-topbar .main-content > .topbar .top-actions > form {
    display: flex !important;
    align-items: center;
    flex-wrap: nowrap !important;
    margin: 0;
  }
}
.customer-work-history{overflow:hidden}.customer-work-history>.card-header{display:flex;justify-content:space-between}.customer-work-history>.card-header small{color:#6c7c72}.customer-work-history-list{display:grid}.customer-work-history-list>a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:13px 18px;border-top:1px solid #e2ebe5;color:inherit;text-decoration:none}.customer-work-history-list>a:first-child{border-top:0}.customer-work-history-list>a:hover{background:#f2f8f4}.customer-work-history-list>a>span{display:grid;min-width:0}.customer-work-history-list small{color:#6c7c72}.customer-work-history-list>a>span:nth-child(2){text-align:right}.customer-work-history-list i{color:#258154}@media(max-width:560px){.customer-work-history-list>a{grid-template-columns:minmax(0,1fr) auto;gap:9px}.customer-work-history-list>a>span:nth-child(2){grid-column:1;text-align:left}.customer-work-history-list>a>i{grid-column:2;grid-row:1/3}}

/* Estimates: the desktop topbar is intentionally hidden on mobile, so keep the primary action in the page flow. */
.estimate-mobile-create{margin:0 0 14px}
.estimate-mobile-create .btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:54px;border:1px solid #d8ad34;border-radius:16px;background:#f1cf67;color:#173321;font-size:1rem;font-weight:900;box-shadow:0 10px 24px rgba(80,61,5,.15)}
.estimate-mobile-create .btn:active{background:#e8c04f;transform:translateY(1px)}
