/* ============================================================
   LUMINI · CENTRAL DE ORÇAMENTOS PARA PACIENTES
   Bloco canônico. Painel Clínico v2 · sem tema Dia/Noite.
   A assinatura visual é o "raio-X do orçamento": uma coluna Noir
   que abre a anatomia financeira sem contaminar a proposta da paciente.
   ============================================================ */

.v2q-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.v2q-btn { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid var(--v2-line-strong); border-radius:var(--v2-r-btn); padding:9px 15px; background:#fff; color:var(--v2-ink); font:600 11.5px/1 'Helvetica Neue',Helvetica,Arial,sans-serif; cursor:pointer; }
.v2q-btn:hover { border-color:rgba(202,169,103,.8); }
.v2q-btn.dark { color:#F6F2EE; background:var(--v2-sidebar); border-color:var(--v2-sidebar); }
.v2q-btn.gold { color:#2B221B; background:var(--v2-gold); border-color:var(--v2-gold); }
.v2q-btn.danger { color:var(--v2-vermelho); border-color:rgba(165,88,78,.35); }
.v2q-btn:disabled { opacity:.45; cursor:default; }

.v2q-kpis { display:grid; grid-template-columns:repeat(5,minmax(145px,1fr)); overflow-x:auto; background:#fff; border:1px solid var(--v2-line); border-radius:var(--v2-r-card); box-shadow:var(--v2-shadow); margin-bottom:16px; }
.v2q-kpi { min-width:145px; padding:16px 18px; border-left:1px solid var(--v2-line); }
.v2q-kpi:first-child { border-left:0; }
.v2q-kpi .k { font-size:9.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--v2-ter); }
.v2q-kpi .v { margin-top:9px; font:600 23px/1 'Mirante','Helvetica Neue',serif; color:var(--v2-ink); white-space:nowrap; }
.v2q-kpi .s { margin-top:6px; font-size:10.5px; color:var(--v2-sub); }

.v2q-toolbar { display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-bottom:14px; }
.v2q-search { flex:1; min-width:220px; min-height:44px; border:1px solid var(--v2-line-strong); border-radius:var(--v2-r-input); padding:9px 13px; background:#fff; color:var(--v2-ink); font:12.5px 'Helvetica Neue',Helvetica,Arial,sans-serif; }
.v2q-filter { min-height:44px; border:1px solid var(--v2-line-strong); border-radius:var(--v2-r-pill); padding:8px 13px; background:#fff; color:var(--v2-sub); font:600 11px 'Helvetica Neue',Helvetica,Arial,sans-serif; cursor:pointer; }
.v2q-filter.on { background:var(--v2-sidebar); border-color:var(--v2-sidebar); color:#F6F2EE; }

.v2q-table { overflow:hidden; background:#fff; border:1px solid var(--v2-line); border-radius:var(--v2-r-card); box-shadow:var(--v2-shadow); }
.v2q-thead,.v2q-row { display:grid; grid-template-columns:1.25fr 1.65fr .85fr .9fr .85fr .9fr .55fr; gap:13px; align-items:center; }
.v2q-thead { padding:10px 18px; background:#FBF9F5; color:var(--v2-ter); font-size:9.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.v2q-row { padding:13px 18px; border-top:1px solid var(--v2-line); color:var(--v2-ink); }
.v2q-row:hover { background:#FDFBF7; }
.v2q-row .main { min-width:0; padding:0!important; background:transparent; }
.v2q-row .main b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12.5px; font-weight:650; }
.v2q-row .main small { display:block; margin-top:2px; color:var(--v2-sub); font-size:10.5px; }
.v2q-money { font-size:12px; font-weight:650; color:var(--v2-ink); white-space:nowrap; }
.v2q-money.good { color:var(--v2-verde); }
.v2q-muted { font-size:11px; color:var(--v2-sub); }
.v2q-empty { padding:42px 24px; text-align:center; color:var(--v2-sub); font-size:12.5px; line-height:1.6; }
.v2q-pending { padding:13px 16px; margin-bottom:14px; border-left:3px solid var(--v2-ambar); border-radius:7px; background:#FBF5E8; color:var(--v2-ink); font-size:12px; line-height:1.55; }
.v2q-status { display:inline-flex; align-items:center; gap:5px; width:max-content; padding:4px 8px; border:1px solid var(--v2-line-strong); border-radius:var(--v2-r-chip); color:var(--v2-sub); font-size:9.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.v2q-status::before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; }
.v2q-status.sent { color:var(--v2-ambar); background:#FBF5E8; }
.v2q-status.accepted { color:var(--v2-verde); background:#E7EFE9; }
.v2q-status.declined,.v2q-status.cancelled,.v2q-status.expired { color:var(--v2-vermelho); background:#F7ECE8; }

.v2q-back { display:inline-flex; align-items:center; min-height:44px; border:0; background:transparent; color:var(--v2-link); padding:4px 0; font:600 11.5px 'Helvetica Neue',Helvetica,Arial,sans-serif; cursor:pointer; }
.v2q-builder { display:grid; grid-template-columns:minmax(0,1fr) minmax(290px,360px); gap:16px; align-items:start; }
.v2q-paper { min-width:0; background:#fff; border:1px solid var(--v2-line); border-radius:var(--v2-r-card-lg); box-shadow:var(--v2-shadow); overflow:hidden; }
.v2q-paper-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:20px 22px; border-bottom:1px solid var(--v2-line); background:linear-gradient(120deg,#FFFFFF 0%,#FBF7EF 100%); }
.v2q-paper-head h2 { margin:0; color:var(--v2-ink); font:600 20px/1.18 'Mirante','Helvetica Neue',serif; }
.v2q-paper-head p { margin:4px 0 0; color:var(--v2-sub); font-size:11px; }
.v2q-section { padding:19px 22px; border-top:1px solid var(--v2-line); }
.v2q-section:first-child { border-top:0; }
.v2q-section-title { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:11px; color:var(--v2-ink); font:600 14px 'Mirante','Helvetica Neue',serif; }
.v2q-section-title small { color:var(--v2-ter); font:400 10.5px 'Helvetica Neue',Helvetica,Arial,sans-serif; }
.v2q-grid2,.v2q-grid3 { display:grid; gap:10px; }
.v2q-grid2 { grid-template-columns:1fr 1fr; }
.v2q-grid3 { grid-template-columns:1.2fr .8fr .8fr; }
.v2q-field { display:flex; flex-direction:column; gap:5px; min-width:0; }
.v2q-field > span { color:var(--v2-sub); font-size:9.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.v2q-field input,.v2q-field select,.v2q-field textarea,.v2q-input { width:100%; min-height:44px; border:1px solid var(--v2-line-strong); border-radius:var(--v2-r-input); padding:9px 11px; background:#fff; color:var(--v2-ink); font:12.5px 'Helvetica Neue',Helvetica,Arial,sans-serif; }
.v2q-field textarea { min-height:78px; resize:vertical; line-height:1.5; }
.v2q-field input:focus,.v2q-field select:focus,.v2q-field textarea:focus,.v2q-input:focus { border-color:var(--v2-gold); outline:none; box-shadow:0 0 0 3px rgba(202,169,103,.16); }

.v2q-addbar { display:grid; grid-template-columns:minmax(180px,1fr) auto auto; gap:8px; align-items:center; }
.v2q-item { border:1px solid var(--v2-line); border-radius:14px; margin-top:10px; overflow:hidden; background:#fff; }
.v2q-item:first-child { margin-top:0; }
.v2q-item-head { display:grid; grid-template-columns:minmax(170px,1.5fr) 90px 110px 118px 40px; gap:8px; align-items:end; padding:13px 14px; background:#FCFAF6; }
.v2q-item-head .v2q-field > span { font-size:8.5px; }
.v2q-remove { min-width:40px; min-height:44px; border:0; border-radius:9px; background:transparent; color:var(--v2-vermelho); font-size:18px; cursor:pointer; }
.v2q-item-sub { display:grid; grid-template-columns:minmax(0,1fr) 112px; gap:10px; padding:0 14px 13px; background:#FCFAF6; }
.v2q-item-total { display:flex; flex-direction:column; align-items:flex-end; justify-content:center; color:var(--v2-ink); }
.v2q-item-total b { font:600 17px 'Mirante','Helvetica Neue',serif; }
.v2q-item-total small { color:var(--v2-sub); font-size:9.5px; }
.v2q-usage { border-top:1px solid var(--v2-line); padding:12px 14px 14px; }
.v2q-usage summary { min-height:36px; display:flex; align-items:center; gap:7px; color:var(--v2-link); font-size:11px; font-weight:650; cursor:pointer; list-style:none; }
.v2q-usage summary::-webkit-details-marker { display:none; }
.v2q-usage summary::before { content:"+"; display:grid; place-items:center; width:18px; height:18px; border:1px solid rgba(155,123,62,.35); border-radius:50%; }
.v2q-usage[open] summary::before { content:"−"; }
.v2q-use-row { display:grid; grid-template-columns:minmax(150px,1.5fr) 82px 82px 100px 34px; gap:7px; align-items:end; margin-top:8px; }
.v2q-use-row .v2q-field > span { font-size:8px; }
.v2q-use-row input { min-height:38px; padding:7px 9px; font-size:11.5px; }
.v2q-use-source { margin-top:3px; color:var(--v2-ter); font-size:9.5px; }
.v2q-usage-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:10px; }
.v2q-mini { min-height:38px; border:1px dashed var(--v2-line-strong); border-radius:9px; padding:7px 11px; background:transparent; color:var(--v2-sub); font:600 10.5px 'Helvetica Neue',Helvetica,Arial,sans-serif; cursor:pointer; }

.v2q-xray { position:sticky; top:0; overflow:hidden; background:var(--v2-sidebar); border:1px solid rgba(232,224,206,.12); border-radius:var(--v2-r-card-lg); color:#F6F2EE; box-shadow:0 22px 50px -35px rgba(33,29,24,.8); }
.v2q-xray-head { padding:20px 20px 15px; border-bottom:1px solid rgba(232,224,206,.12); }
.v2q-xray-head .ey { color:var(--v2-gold); font-size:9px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.v2q-xray-head h3 { margin:7px 0 0; font:600 18px 'Mirante','Helvetica Neue',serif; }
.v2q-xray-body { padding:16px 20px; }
.v2q-xrow { display:flex; justify-content:space-between; gap:12px; padding:5px 0; color:#C9BCAB; font-size:11.5px; }
.v2q-xrow span:last-child { color:#F6F2EE; font-weight:650; white-space:nowrap; }
.v2q-xrow.cut span:last-child { color:#E3B0A4; }
.v2q-xsep { height:1px; margin:9px 0; background:rgba(232,224,206,.14); }
.v2q-profit { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:12px; padding-top:14px; border-top:1px solid rgba(232,224,206,.18); }
.v2q-profit .l { color:#C9BCAB; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.v2q-profit .n { margin-top:5px; color:var(--v2-gold); font:600 25px/1 'Mirante','Helvetica Neue',serif; }
.v2q-profit .pct { color:#F6F2EE; font:600 17px 'Mirante','Helvetica Neue',serif; }
.v2q-profit.bad .n,.v2q-profit.bad .pct { color:#E3B0A4; }
.v2q-xnote { margin-top:13px; color:#A99B8C; font-size:9.8px; line-height:1.5; }
.v2q-health { display:flex; align-items:center; gap:8px; margin:14px 0 0; padding:10px 11px; border:1px solid rgba(232,224,206,.12); border-radius:10px; color:#C9BCAB; font-size:10.5px; }
.v2q-health i { width:7px; height:7px; border-radius:50%; background:var(--v2-verde); box-shadow:0 0 0 4px rgba(95,107,78,.2); }
.v2q-health.warn i { background:var(--v2-ambar); box-shadow:0 0 0 4px rgba(176,138,46,.2); }
.v2q-health.bad i { background:var(--v2-vermelho); box-shadow:0 0 0 4px rgba(165,88,78,.2); }
.v2q-xactions { display:grid; gap:8px; padding:0 20px 20px; }
.v2q-xactions .v2q-btn { width:100%; }

.v2q-detail-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:16px; }
.v2q-detail-card { background:#fff; border:1px solid var(--v2-line); border-radius:var(--v2-r-card); padding:19px 21px; box-shadow:var(--v2-shadow); }
.v2q-detail-item { display:grid; grid-template-columns:1fr auto; gap:12px; padding:11px 0; border-top:1px solid var(--v2-line); }
.v2q-detail-item:first-of-type { border-top:0; }
.v2q-detail-item b { color:var(--v2-ink); font-size:12.5px; }
.v2q-detail-item small { display:block; margin-top:2px; color:var(--v2-sub); font-size:10.5px; }

@media (max-width:1150px) {
  .v2q-builder,.v2q-detail-grid { grid-template-columns:1fr; }
  .v2q-xray { position:relative; }
  .v2q-thead,.v2q-row { grid-template-columns:1.2fr 1.5fr .8fr .85fr .8fr .5fr; }
  .v2q-thead > :nth-child(4),.v2q-row > :nth-child(4) { display:none; }
}
@media (max-width:760px) {
  .v2q-kpis { margin-left:-2px; margin-right:-2px; }
  .v2q-toolbar { align-items:stretch; }
  .v2q-search { width:100%; flex-basis:100%; }
  .v2q-table { overflow:visible; background:transparent; border:0; box-shadow:none; }
  .v2q-thead { display:none; }
  .v2q-row { grid-template-columns:1fr auto; gap:8px 12px; margin-bottom:9px; padding:14px; background:#fff; border:1px solid var(--v2-line); border-radius:14px; }
  .v2q-row > :nth-child(3),.v2q-row > :nth-child(4),.v2q-row > :nth-child(5) { display:none; }
  .v2q-row > :nth-child(6) { grid-column:1; }
  .v2q-row > :nth-child(7) { grid-column:2; grid-row:1 / span 2; }
  .v2q-paper-head,.v2q-section { padding-left:15px; padding-right:15px; }
  .v2q-grid2,.v2q-grid3,.v2q-item-head,.v2q-item-sub,.v2q-addbar { grid-template-columns:1fr; }
  .v2q-item-head { align-items:stretch; }
  .v2q-remove { justify-self:end; margin-top:-52px; }
  .v2q-item-total { align-items:flex-start; }
  .v2q-use-row { grid-template-columns:1fr 1fr; padding:10px; border:1px solid var(--v2-line); border-radius:10px; }
  .v2q-use-row > :first-child { grid-column:1 / -1; }
  .v2q-use-row .v2q-remove { grid-column:2; justify-self:end; margin-top:-46px; }
  .v2q-usage-foot { align-items:flex-start; flex-direction:column; }
}

@media print {
  .v2q-xray,.v2q-actions,.v2q-toolbar,.v2q-back { display:none!important; }
}
