/* Osrilo Build 127 FINAL — Workflow Cohesion Hotfix 22.2
   Estimate + Invoice Final Document Card Polish
   Visual-only follow-up to H22.1. No workflow, document, payment, notification,
   permission, SQL, or API behavior changes. */

/* Let document action menus float above neighboring cards instead of being
   visually trapped by the card/action-strip clipping boundary. */
body:not(.landing-visible) #estimatesPage .estimate-card,
body:not(.landing-visible) #invoicesPage .invoice-card{
  overflow:visible;
}
body:not(.landing-visible) #estimatesPage .estimate-card-main,
body:not(.landing-visible) #invoicesPage .invoice-card-main{
  border-radius:var(--document-card-radius) var(--document-card-radius) 0 0;
}
body:not(.landing-visible) #estimatesPage .estimate-card-actions,
body:not(.landing-visible) #invoicesPage .invoice-card-actions{
  overflow:visible;
  border-radius:0 0 var(--document-card-radius) var(--document-card-radius);
}
body:not(.landing-visible) #estimatesPage .estimate-card:has(.card-action-menu[open]),
body:not(.landing-visible) #invoicesPage .invoice-card:has(.card-action-menu[open]){
  position:relative;
  z-index:2400;
}
body:not(.landing-visible) #estimatesPage .card-action-menu[open],
body:not(.landing-visible) #invoicesPage .card-action-menu[open]{
  z-index:2450;
}
body:not(.landing-visible) #estimatesPage .card-action-popover,
body:not(.landing-visible) #invoicesPage .card-action-popover{
  z-index:2500;
  width:min(248px,calc(100vw - 24px));
  min-width:min(220px,calc(100vw - 24px));
  padding:7px;
  gap:4px;
  border-radius:12px;
  box-shadow:0 18px 42px rgba(15,23,42,.20),0 4px 10px rgba(15,23,42,.07);
}
body:not(.landing-visible) #estimatesPage .card-action-popover button,
body:not(.landing-visible) #invoicesPage .card-action-popover button{
  min-height:38px;
  padding:8px 10px;
  border-radius:8px;
  font-size:13px;
  line-height:1.25;
}

/* Passive View actions match across Estimate and Invoice cards. Teal remains
   reserved for a real next workflow action such as Share, Record Decision,
   Schedule, Finalize, Send, or Record Payment. */
body:not(.landing-visible) #estimatesPage .estimate-card-actions>.primary-action:not(.workflow-next-action),
body:not(.landing-visible) #invoicesPage .invoice-card-actions>.completed-document-action{
  border-color:#cbd5e1!important;
  background:#f8fafc!important;
  color:#334155!important;
  box-shadow:none!important;
}
body:not(.landing-visible) #estimatesPage .estimate-card-actions>.primary-action:not(.workflow-next-action):hover,
body:not(.landing-visible) #invoicesPage .invoice-card-actions>.completed-document-action:hover{
  border-color:#aebbc7!important;
  background:#eef2f5!important;
  color:#172033!important;
}

/* Estimate state summaries become compact status chips instead of full-width
   bands. This keeps the card rhythm aligned with Work and Invoices. */
body:not(.landing-visible) #estimatesPage .estimate-card-actions>.workflow-waiting-pill,
body:not(.landing-visible) #estimatesPage .estimate-card-actions>.manual-acceptance-pill,
body:not(.landing-visible) #estimatesPage .estimate-card-actions>.workflow-complete-pill{
  grid-column:auto;
  width:max-content;
  max-width:100%;
  min-width:0;
  min-height:24px;
  margin:0;
  padding:4px 8px;
  border-radius:999px;
  justify-self:start;
  justify-content:flex-start;
  font-size:10px;
  font-weight:800;
  line-height:1.25;
  white-space:normal;
  box-shadow:none;
}
body:not(.landing-visible) #estimatesPage .estimate-card-actions>.workflow-waiting-pill{
  border:1px solid #fed7aa;
  background:#fff7ed;
  color:#9a3412;
}
body:not(.landing-visible) #estimatesPage .estimate-card-actions>.workflow-complete-pill{
  border:1px solid #bbf7d0;
  background:#ecfdf5;
  color:#166534;
}
/* Contractor-recorded approval is positive/neutral, not destructive red. */
body:not(.landing-visible) #estimatesPage .estimate-card:has(.estimate-status-accepted) .manual-acceptance-pill{
  border:1px solid #99f6e4;
  background:#f0fdfa;
  color:#0f766e;
}
/* A contractor-recorded decline remains destructive/error colored. */
body:not(.landing-visible) #estimatesPage .estimate-card:has(.estimate-status-declined) .manual-acceptance-pill{
  border:1px solid #fecaca;
  background:#fef2f2;
  color:#b91c1c;
}

/* Keep status chips from fighting the More trigger for room on narrower cards. */
@media(max-width:900px){
  body:not(.landing-visible) #estimatesPage .estimate-card-actions>.workflow-waiting-pill,
  body:not(.landing-visible) #estimatesPage .estimate-card-actions>.manual-acceptance-pill,
  body:not(.landing-visible) #estimatesPage .estimate-card-actions>.workflow-complete-pill{
    grid-column:1/-1;
  }
}

@media(max-width:650px){
  body:not(.landing-visible) #estimatesPage .card-action-popover,
  body:not(.landing-visible) #invoicesPage .card-action-popover{
    width:min(280px,calc(100vw - 24px));
    min-width:min(220px,calc(100vw - 24px));
  }
  body:not(.landing-visible) #estimatesPage .estimate-card-actions>.workflow-waiting-pill,
  body:not(.landing-visible) #estimatesPage .estimate-card-actions>.manual-acceptance-pill,
  body:not(.landing-visible) #estimatesPage .estimate-card-actions>.workflow-complete-pill{
    width:auto;
    max-width:100%;
  }
}
