.content.is-quote-editor {
  height: calc(100vh - 113px);
  min-height: 0;
  overflow: hidden;
  padding: 0;
  background: #080c0f;
}

.qg-shell {
  --qg-gold: #d89a3c;
  --qg-gold-soft: #efbd70;
  --qg-gold-dark: #9c6723;
  display: grid;
  grid-template-columns: 400px minmax(620px, 1fr);
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  color: #e8ecee;
  background: radial-gradient(circle at 65% 20%, rgba(216,154,60,.05), transparent 30%), #080c0f;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.qg-shell button, .qg-shell input, .qg-shell textarea { font: inherit; }
.qg-shell button { color: inherit; }

.qg-editor {
  position: relative;
  z-index: 5;
  display: flex;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  flex-direction: column;
  border-right: 1px solid #263139;
  background: linear-gradient(180deg, rgba(255,255,255,.018), transparent 24%), #0d1317;
  box-shadow: 18px 0 45px rgba(0,0,0,.3);
}

.qg-editor-header {
  display: flex;
  min-height: 82px;
  flex: 0 0 auto;
  align-items: center;
  gap: 12px;
  padding: 11px 17px;
  border-bottom: 1px solid #242e34;
}

.qg-editor-header img { width: 57px; height: 57px; object-fit: contain; filter: drop-shadow(0 7px 13px rgba(0,0,0,.45)); }
.qg-editor-header > div { min-width: 0; }
.qg-editor-header span { display: block; margin-bottom: 2px; color: var(--qg-gold); font-size: 9px; font-weight: 800; letter-spacing: .22em; }
.qg-editor-header h2 { margin: 0; color: #f3f0e9; font-size: 17px; font-weight: 650; letter-spacing: -.02em; }
.qg-editor-header p { margin: 3px 0 0; color: #7f8b92; font-size: 10px; }

.qg-primary-toolbar {
  display: grid;
  grid-template-columns: 38px minmax(92px, 1fr) 38px minmax(132px, 1.25fr);
  flex: 0 0 auto;
  gap: 7px;
  padding: 10px 13px;
  border-bottom: 1px solid #242e34;
}

.qg-primary-toolbar button, .qg-workspace-actions button, .qg-wide-button {
  display: inline-flex;
  min-height: 37px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 10px;
  border: 1px solid #313d44;
  border-radius: 8px;
  color: #dce2e5;
  background: #151d22;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
  transition: 150ms ease;
}

.qg-primary-toolbar button:hover, .qg-workspace-actions button:hover, .qg-wide-button:hover { border-color: #7b5b30; background: #1b252b; color: #fff; }
.qg-primary-toolbar .qg-save-button { border-color: #91652d; color: #f1c37e; }
.qg-primary-toolbar .qg-finalize-button { border-color: #bc7d2b; color: #090d0f; background: linear-gradient(135deg, #dfa549, #a56622); }

.qg-editor-scroll {
  height: 0;
  flex: 1 1 auto;
  overflow-x: hidden;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 13px 13px 100px;
  scrollbar-color: #4c575d transparent;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

.qg-client-selector { position: relative; display: grid; gap: 8px; margin-bottom: 11px; padding: 13px; border: 1px solid #795725; border-radius: 10px; background: rgba(216,154,60,.065); }
.qg-client-selector > label { display: grid; gap: 6px; }
.qg-client-selector > label > span { color: var(--qg-gold); font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.qg-client-selector input { width: 100%; height: 42px; padding: 0 11px; border: 1px solid #70532b; border-radius: 7px; outline: 0; color: #f1f2f0; background: #11191d; }
.qg-client-selector input:focus { border-color: #c58a3a; box-shadow: 0 0 0 3px rgba(216,154,60,.12); }
.qg-client-options { position: absolute; top: 70px; right: 13px; left: 13px; z-index: 30; max-height: 280px; overflow-y: auto; padding: 6px; border: 1px solid #4b565c; border-radius: 9px; background: #10181c; box-shadow: 0 18px 45px rgba(0,0,0,.55); }
.qg-client-options button { display: grid; width: 100%; gap: 2px; padding: 9px 10px; border: 0; border-bottom: 1px solid #283239; color: #dce1e3; background: transparent; cursor: pointer; text-align: left; }
.qg-client-options button:hover { background: rgba(216,154,60,.09); }
.qg-client-options button:last-child { border-bottom: 0; }
.qg-client-options strong { font-size: 11px; }
.qg-client-options span { color: #7f8c92; font-size: 9px; }
.qg-client-options .qg-create-client { color: var(--qg-gold-soft); font-weight: 750; }
.qg-client-summary { display: grid; gap: 2px; padding-top: 7px; border-top: 1px solid rgba(216,154,60,.2); }
.qg-client-summary strong { color: #e8ecee; font-size: 11px; }
.qg-client-summary span { color: #859198; font-size: 10px; }
.qg-client-summary small { color: #ae7d3a; font-size: 8px; }

.qg-fields { min-width: 0; margin: 0; padding: 0; border: 0; }
.qg-fields:disabled { opacity: .42; filter: grayscale(.35); }
.qg-fields:disabled .qg-editor-section { pointer-events: none; }
.qg-editor-section { margin-bottom: 9px; overflow: hidden; border: 1px solid #273239; border-radius: 10px; background: rgba(16,23,27,.9); }
.qg-editor-section summary { display: grid; grid-template-columns: 28px 1fr auto; min-height: 50px; align-items: center; gap: 7px; padding: 0 13px; color: #e6e9ea; cursor: pointer; list-style: none; user-select: none; }
.qg-editor-section summary::-webkit-details-marker { display: none; }
.qg-editor-section summary strong { font-size: 12px; }
.qg-editor-section-icon { display: grid; color: var(--qg-gold); place-items: center; }
.qg-chevron { color: #727f86; transition: transform 160ms ease; }
.qg-editor-section[open] .qg-chevron { transform: rotate(180deg); }
.qg-editor-section-body { display: grid; gap: 12px; padding: 14px; border-top: 1px solid #273239; background: #0b1114; }

.qg-field { display: grid; gap: 5px; min-width: 0; }
.qg-field > span, .qg-image-controls label { color: #9ba5aa; font-size: 9px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.qg-field input, .qg-field select, .qg-field textarea, .qg-tech-editor input, .qg-tech-editor textarea {
  width: 100%;
  border: 1px solid #303b42;
  border-radius: 7px;
  outline: 0;
  color: #e8edef;
  background: #11191d;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
.qg-field input, .qg-field select { height: 39px; padding: 0 10px; }
.qg-field textarea { padding: 9px 10px; resize: vertical; line-height: 1.45; }
.qg-field input:focus, .qg-field select:focus, .qg-field textarea:focus, .qg-tech-editor input:focus, .qg-tech-editor textarea:focus { border-color: #b4792b; box-shadow: 0 0 0 3px rgba(216,154,60,.1); }
.qg-field input[readonly] { color: var(--qg-gold-soft); background: #0d1417; }
.qg-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.qg-field-help { margin: -2px 0 0; color: #6f7d84; font-size: 10px; line-height: 1.45; }
.qg-readonly-client { display: grid; grid-template-columns: 110px 1fr; gap: 5px 8px; padding: 10px; border: 1px solid #273239; border-radius: 8px; background: #0f171b; }
.qg-readonly-client span { color: #7d898f; font-size: 9px; text-transform: uppercase; }
.qg-readonly-client strong { overflow: hidden; color: #dce1e3; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.qg-stack, .qg-detail-list { display: grid; gap: 9px; }

.qg-tech-editor { display: grid; grid-template-columns: 28px 1fr; gap: 8px; padding: 8px; border: 1px solid #263138; border-radius: 8px; background: #0f171b; }
.qg-tech-editor > span { display: grid; width: 26px; height: 26px; color: var(--qg-gold); border: 1px solid #795725; border-radius: 6px; font-size: 9px; font-weight: 800; place-items: center; }
.qg-tech-editor > div { display: grid; gap: 5px; }
.qg-tech-editor input, .qg-tech-editor textarea { padding: 7px 8px; font-size: 10px; }
.qg-tech-editor input { color: var(--qg-gold-soft); font-weight: 800; }
.qg-tech-editor textarea { resize: vertical; line-height: 1.35; }

.qg-highlight-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.qg-highlight-option { position: relative; display: grid; grid-template-columns: 21px 1fr; min-height: 44px; align-items: center; gap: 6px; padding: 6px 22px 6px 7px; border: 1px solid #29353b; border-radius: 8px; color: #8f9aa0; background: #10181c; cursor: pointer; text-align: left; }
.qg-highlight-option span { font-size: 8px; font-weight: 800; line-height: 1.25; }
.qg-highlight-option b { position: absolute; top: 5px; right: 6px; color: var(--qg-gold); font-size: 10px; }
.qg-highlight-option.is-active { border-color: #976729; color: #eee9df; background: rgba(216,154,60,.085); }
.qg-icon { display: grid; color: var(--qg-gold); font-size: 19px; font-style: normal; place-items: center; }

.qg-image-drop { position: relative; display: grid; min-height: 118px; overflow: hidden; cursor: pointer; place-content: center; justify-items: center; border: 1px dashed #82602f; border-radius: 9px; color: var(--qg-gold); background: rgba(216,154,60,.04); }
.qg-image-drop input, .qg-detail-upload input { display: none; }
.qg-image-drop:has(.qg-framed-image) { height: auto; aspect-ratio: 471 / 331; }
.qg-image-drop strong { margin-top: 7px; color: #e3e7e8; font-size: 11px; }
.qg-image-drop span { margin-top: 3px; color: #728087; font-size: 9px; }
.qg-image-controls { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.qg-image-controls label { display: grid; gap: 3px; }
.qg-image-controls input { width: 100%; height: 20px; accent-color: var(--qg-gold); }
.qg-wide-button { width: 100%; }
.qg-danger-text { color: #d78181; border-color: #493033; }

.qg-page-toggle { position: relative; display: flex; min-height: 60px; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 12px; border: 1px solid #4c3b22; border-radius: 9px; background: rgba(216,154,60,.055); cursor: pointer; }
.qg-page-toggle > div { display: grid; gap: 3px; }
.qg-page-toggle strong { color: #e5e9ea; font-size: 11px; }
.qg-page-toggle span { color: #79878d; font-size: 9px; }
.qg-page-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.qg-page-toggle i { position: relative; display: block; width: 41px; height: 22px; flex: 0 0 auto; border: 1px solid #414d53; border-radius: 999px; background: #11191d; transition: 160ms ease; }
.qg-page-toggle i::after { position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #78858b; content: ""; transition: 160ms ease; }
.qg-page-toggle input:checked + i { border-color: #c18434; background: rgba(216,154,60,.16); }
.qg-page-toggle input:checked + i::after { left: 22px; background: var(--qg-gold); box-shadow: 0 0 12px rgba(216,154,60,.38); }

.qg-detail-editor { display: grid; gap: 9px; padding: 10px; border: 1px solid #2c373d; border-radius: 10px; background: #0f171b; }
.qg-detail-editor > header { display: flex; align-items: center; justify-content: space-between; color: var(--qg-gold); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.qg-detail-editor > header button, .qg-item-head button { display: grid; width: 27px; height: 27px; padding: 0; border: 1px solid #493033; border-radius: 7px; color: #cf7174; background: #1b1517; cursor: pointer; place-items: center; }
.qg-detail-upload { position: relative; display: grid; height: 112px; overflow: hidden; cursor: pointer; place-content: center; justify-items: center; gap: 6px; border: 1px dashed #7d5a2b; border-radius: 8px; color: var(--qg-gold); background: #0a1114; }
.qg-detail-upload span { color: #8a969b; font-size: 9px; font-weight: 700; }
.qg-detail-upload.has-image { height: auto; aspect-ratio: 471 / 437; }
.qg-detail-upload.has-image::after { position: absolute; right: 7px; bottom: 7px; padding: 4px 7px; border: 1px solid rgba(216,154,60,.8); border-radius: 6px; color: #f1bc68; background: rgba(5,9,11,.8); content: "REEMPLAZAR"; font-size: 7px; font-weight: 800; letter-spacing: .08em; }

.qg-item-editor { display: grid; gap: 9px; padding: 10px; border: 1px solid #273239; border-radius: 8px; background: #0f171b; }
.qg-item-head { display: flex; align-items: center; justify-content: space-between; color: var(--qg-gold); font-size: 10px; }
.qg-calculation { display: flex; align-items: center; justify-content: space-between; padding-top: 12px; border-top: 1px solid #2d373d; color: #949fa4; font-size: 11px; }
.qg-calculation strong { color: var(--qg-gold-soft); font-size: 16px; }

.qg-workspace { display: flex; min-width: 0; min-height: 0; overflow: hidden; flex-direction: column; background: linear-gradient(rgba(255,255,255,.011) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.011) 1px, transparent 1px), #080d10; background-size: 24px 24px; }
.qg-workspace-toolbar { display: flex; min-height: 62px; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 16px; border-bottom: 1px solid #242d33; background: rgba(12,18,21,.96); }
.qg-save-state { display: flex; align-items: center; gap: 9px; }
.qg-save-state > i { width: 8px; height: 8px; border-radius: 50%; background: #8a969b; box-shadow: 0 0 0 5px rgba(138,150,155,.08); }
.qg-save-state[data-mode="saved"] > i { background: #56b883; box-shadow: 0 0 0 5px rgba(86,184,131,.09); }
.qg-save-state[data-mode="saving"] > i { background: var(--qg-gold); animation: qg-pulse .8s ease infinite alternate; }
.qg-save-state[data-mode="error"] > i { background: #d06e70; }
.qg-save-state > div { display: grid; gap: 2px; }
.qg-save-state strong { color: #dce1e3; font-size: 11px; }
.qg-save-state small { max-width: 225px; overflow: hidden; color: #718087; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.qg-workspace-actions { display: flex; align-items: center; gap: 6px; }
.qg-workspace-actions button { min-height: 37px; padding: 0 11px; }
.qg-workspace-actions button:disabled { cursor: wait; opacity: .55; }
.qg-workspace-actions .qg-gold-button { border-color: #c98931; color: #0a0d0f; background: linear-gradient(135deg, #e0a54f, #ad6d26); }
.qg-zoom { display: flex; height: 37px; align-items: center; gap: 6px; padding: 0 8px; border: 1px solid #2f3a41; border-radius: 8px; color: #8e9a9f; background: #11191d; font-size: 9px; }
.qg-zoom input { width: 62px; accent-color: var(--qg-gold); }
.qg-zoom span { width: 26px; color: #b9c0c3; }

.qg-preview-stage { flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 30px 30px 90px; scrollbar-color: #4b555b #0a1013; scrollbar-gutter: stable both-edges; scrollbar-width: thin; }
.qg-editor-scroll::-webkit-scrollbar, .qg-preview-stage::-webkit-scrollbar { width: 11px; height: 11px; }
.qg-editor-scroll::-webkit-scrollbar-track, .qg-preview-stage::-webkit-scrollbar-track { background: #0a1013; }
.qg-editor-scroll::-webkit-scrollbar-thumb, .qg-preview-stage::-webkit-scrollbar-thumb { border: 3px solid #0a1013; border-radius: 999px; background: #566168; }
.qg-pages-stack { display: grid; width: max-content; gap: 55px; margin: 0 auto; padding-top: 3px; }
.qg-preview-scale { position: relative; margin: 0 auto; transition: width 160ms ease, height 160ms ease; }
.qg-page-badge { position: absolute; top: -21px; left: 0; color: #8e9a9f; font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.qg-preview-transform { position: absolute; top: 0; left: 0; width: 1024px; height: 1536px; transform-origin: top left; }

.qg-budget-canvas {
  position: relative;
  display: grid;
  width: 1024px;
  height: 1536px;
  grid-template-rows: 100px 172px 486px 120px 430px 116px;
  gap: 12px;
  overflow: hidden;
  padding: 26px 32px;
  color: #f0eee9;
  background: radial-gradient(circle at 78% 70%, rgba(201,138,48,.035), transparent 26%), radial-gradient(circle at 15% 12%, rgba(255,255,255,.03), transparent 24%), linear-gradient(135deg, #080d10, #060b0d 55%, #0b1013);
  box-shadow: 0 28px 70px rgba(0,0,0,.56);
  font-family: "Segoe UI", Arial, sans-serif;
}
.qg-budget-canvas.qg-details-page { grid-template-rows: 100px 120px 1112px 116px; }
.qg-budget-header { display: flex; align-items: center; justify-content: space-between; }
.qg-brand-lockup { display: flex; align-items: center; width: 55%; }
.qg-brand-lockup img { width: 104px; height: 96px; object-fit: contain; margin-right: 11px; filter: drop-shadow(0 8px 12px rgba(0,0,0,.65)); }
.qg-brand-name { color: var(--qg-gold); font-family: Georgia, "Times New Roman", serif; font-size: 37px; font-weight: 700; letter-spacing: -.035em; white-space: nowrap; }
.qg-brand-name span { color: #f4f1eb; }
.qg-brand-lockup p { margin: 5px 0 0; color: #d8d7d2; font-size: 14px; }
.qg-brand-lockup > b { margin: 23px 0 0 12px; color: var(--qg-gold); font-size: 26px; font-weight: 400; }
.qg-budget-title { display: grid; width: 43%; justify-items: center; color: #f2e7d7; font-family: Georgia, "Times New Roman", serif; }
.qg-budget-title strong { font-size: 38px; font-weight: 500; letter-spacing: .035em; }
.qg-budget-title span { margin-top: 2px; font-size: 27px; letter-spacing: .025em; }
.qg-budget-title i { width: 82%; height: 1px; margin-top: 10px; background: linear-gradient(90deg, transparent, #bd7d2d 16%, #bd7d2d 84%, transparent); }

.qg-budget-box { overflow: hidden; border: 1.5px solid #bf7f2c; border-radius: 9px; background: rgba(8,14,17,.86); }
.qg-budget-top-grid, .qg-budget-middle-grid, .qg-budget-bottom-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.qg-budget-section-title { display: grid; height: 52px; grid-template-columns: 49px auto 1fr; align-items: center; gap: 13px; padding: 0 18px; color: var(--qg-gold); }
.qg-budget-section-title > span { display: grid; font-size: 27px; place-items: center; }
.qg-budget-section-title strong { font-family: Georgia, "Times New Roman", serif; font-size: 17px; font-weight: 500; white-space: nowrap; }
.qg-budget-section-title i { height: 1px; background: linear-gradient(90deg, #936124, transparent); }
.qg-budget-top-grid dl { display: grid; grid-template-columns: 121px minmax(0,1fr); row-gap: 7px; margin: 7px 21px 0 79px; color: #e9e7e2; font-size: 13px; line-height: 1.15; }
.qg-budget-top-grid dt, .qg-budget-top-grid dd { min-width: 0; margin: 0; }
.qg-budget-top-grid dd { overflow: hidden; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.qg-detail-card dl { grid-template-columns: 142px minmax(0,1fr); margin-left: 76px; row-gap: 6px; }

.qg-description-card { padding-bottom: 18px; }
.qg-description-copy { display: -webkit-box; overflow: hidden; margin: 8px 20px 0; color: #e7e7e3; font-size: 14.2px; line-height: 1.57; white-space: pre-line; -webkit-box-orient: vertical; -webkit-line-clamp: 17; }
.qg-technical-card .qg-budget-section-title { border-bottom: 1px solid rgba(191,127,44,.5); }
.qg-tech-table { display: grid; height: 432px; grid-template-rows: repeat(7, 1fr); }
.qg-tech-row { display: grid; min-height: 0; grid-template-columns: 62px 150px 1fr; align-items: center; border-bottom: 1px solid rgba(191,127,44,.44); }
.qg-tech-row:last-child { border-bottom: 0; }
.qg-tech-icon { display: grid; height: 100%; color: var(--qg-gold); border-right: 1px solid rgba(191,127,44,.34); font-size: 25px; place-items: center; }
.qg-tech-row strong { padding: 0 12px; color: #e9e7e2; font-size: 11px; font-weight: 500; }
.qg-tech-row p { display: -webkit-box; overflow: hidden; align-self: stretch; margin: 0; padding: 8px 10px 6px 13px; border-left: 1px solid rgba(191,127,44,.34); color: #e2dfd8; font-size: 11.4px; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

.qg-highlights-card { padding: 8px 17px 10px; }
.qg-highlights-card h2 { margin: 0 0 8px; color: var(--qg-gold); font-family: Georgia, "Times New Roman", serif; font-size: 15px; font-weight: 500; }
.qg-highlight-grid { display: grid; height: 79px; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
.qg-highlight-grid > div { min-width: 0; display: grid; align-content: start; justify-items: center; gap: 6px; padding: 0 5px; color: var(--qg-gold); }
.qg-highlight-grid .qg-icon { width: 100%; height: 30px; font-family: Georgia, "Times New Roman", serif; font-size: 25px; line-height: 1; }
.qg-highlight-grid span:not(.qg-icon) { width: 100%; color: #e6e3dc; font-size: 8.2px; font-weight: 600; line-height: 1.16; text-align: center; }

.qg-visual-column, .qg-financial-column { display: grid; min-width: 0; gap: 12px; }
.qg-visual-column { grid-template-rows: 334px 84px; }
.qg-financial-column { grid-template-rows: 84px 132px 190px; }
.qg-product-image { position: relative; overflow: hidden; border: 1.5px solid #bf7f2c; border-radius: 9px; background: #14191b; }
.qg-product-image::after, .qg-detail-photo::after { position: absolute; inset: 0; pointer-events: none; content: ""; box-shadow: inset 0 0 35px rgba(0,0,0,.25); }
.qg-framed-image { position: absolute; display: block; max-width: none; max-height: none; margin: 0; }
.qg-framed-image:not([data-ready="true"]) { visibility: hidden; }
.qg-image-placeholder, .qg-detail-placeholder { display: grid; width: 100%; height: 100%; place-content: center; justify-items: center; gap: 12px; color: #75562e; background: linear-gradient(135deg, transparent 49.5%, rgba(191,127,44,.12) 50%, transparent 50.5%), #0e1518; font-size: 48px; }
.qg-image-placeholder span, .qg-detail-placeholder span { color: #7c878b; font-size: 12px; }
.qg-observations-card { display: grid; grid-template-columns: 54px 1fr; align-items: center; padding: 8px 14px; color: var(--qg-gold); }
.qg-observations-card > b { justify-self: center; font-size: 24px; }
.qg-observations-card strong { font-family: Georgia, "Times New Roman", serif; font-size: 13px; font-weight: 500; }
.qg-observations-card p { display: -webkit-box; overflow: hidden; margin: 4px 0 0; color: #e2dfd9; font-size: 9.5px; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

.qg-item-table-head, .qg-item-line { display: grid; grid-template-columns: 58px 1fr 57px 111px; align-items: center; text-align: center; }
.qg-item-table-head { height: 31px; color: var(--qg-gold); font-size: 10px; font-weight: 700; }
.qg-item-line { min-height: 50px; border-top: 1px solid rgba(191,127,44,.45); color: #e9e7e2; font-size: 11px; }
.qg-item-line strong { display: -webkit-box; overflow: hidden; padding: 0 7px; font-size: 11px; font-weight: 500; line-height: 1.22; text-align: left; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.qg-pricing-card { display: grid; grid-template-rows: 25px 25px 1fr; padding: 7px 16px; }
.qg-pricing-card > div:not(.qg-total-lockup) { display: flex; align-items: center; justify-content: space-between; color: #e4e2dc; font-size: 11px; }
.qg-pricing-card .qg-included { color: var(--qg-gold); }
.qg-pricing-card .qg-discount { color: #a8d781; }
.qg-total-lockup { display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 4px 13px; border: 1px solid #aa7027; background: linear-gradient(90deg, rgba(216,154,60,.035), rgba(216,154,60,.09)); }
.qg-total-lockup > span { align-self: end; color: var(--qg-gold); font-family: Georgia, "Times New Roman", serif; font-size: 13px; }
.qg-total-lockup > strong { grid-row: span 2; color: var(--qg-gold-soft); font-family: Georgia, "Times New Roman", serif; font-size: 31px; font-weight: 500; }
.qg-total-lockup small { align-self: start; color: #aba59a; font-size: 7px; letter-spacing: .12em; }

.qg-includes-card { position: relative; padding: 10px 15px; }
.qg-includes-card h3 { margin: 0; color: var(--qg-gold); font-family: Georgia, "Times New Roman", serif; font-size: 13px; font-weight: 500; }
.qg-includes-card ul { display: grid; gap: 2px; margin: 7px 0 0; padding-left: 16px; color: #e7e4de; font-size: 9.5px; line-height: 1.18; }
.qg-payment-line { position: absolute; right: 12px; bottom: 11px; left: 14px; display: flex; width: calc(100% - 95px); align-items: center; gap: 6px; padding-top: 7px; border-top: 1px solid rgba(191,127,44,.45); color: var(--qg-gold-soft); font-size: 9px; font-weight: 700; }
.qg-delivery-mark { position: absolute; right: 14px; bottom: 9px; color: var(--qg-gold); font-size: 48px; }

.qg-budget-footer { display: grid; grid-template-columns: 270px 210px 1fr 77px; align-items: center; padding: 11px 10px; border-top: 1px solid rgba(191,127,44,.74); border-bottom: 1px solid rgba(191,127,44,.45); }
.qg-footer-message { display: grid; padding-left: 17px; color: var(--qg-gold); font-family: "Segoe Script", "Brush Script MT", cursive; font-size: 18px; transform: rotate(-2deg); }
.qg-footer-message strong { font-weight: 400; }
.qg-footer-seal { display: flex; align-items: center; gap: 9px; padding-left: 20px; border-left: 1px solid rgba(191,127,44,.35); color: var(--qg-gold); }
.qg-footer-seal b { font-size: 28px; }
.qg-footer-seal span { color: #d9d5cc; font-size: 8px; font-weight: 700; line-height: 1.35; }
.qg-footer-contact { display: grid; gap: 4px; padding-left: 20px; border-left: 1px solid rgba(191,127,44,.35); color: #c7c7c2; font-size: 9px; }
.qg-budget-footer > img { width: 74px; height: 74px; object-fit: contain; }

.qg-details-heading { position: relative; padding-right: 190px; }
.qg-details-heading .qg-budget-section-title { height: 49px; }
.qg-details-heading p { display: -webkit-box; overflow: hidden; margin: 3px 20px 0; color: #e5e2db; font-size: 12px; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.qg-details-heading > span { position: absolute; top: 18px; right: 18px; width: 165px; padding: 15px 0 15px 17px; border-left: 1px solid rgba(191,127,44,.52); color: var(--qg-gold-soft); font-size: 9px; font-weight: 700; line-height: 1.45; text-align: right; }
.qg-details-gallery { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 18px; }
.qg-detail-figure { display: grid; min-width: 0; min-height: 0; grid-template-rows: 438px 1fr; overflow: hidden; margin: 0; border: 1.5px solid #bf7f2c; border-radius: 10px; background: rgba(8,14,17,.88); }
.qg-detail-photo { position: relative; overflow: hidden; border-bottom: 1px solid rgba(191,127,44,.6); background: #10171a; }
.qg-detail-figure figcaption { display: grid; min-height: 0; grid-template-columns: 50px 1fr; align-items: start; gap: 11px; padding: 14px 16px 10px; }
.qg-detail-figure figcaption > span { display: grid; width: 38px; height: 38px; border: 1px solid #9c6723; border-radius: 50%; color: var(--qg-gold); font-family: Georgia, "Times New Roman", serif; font-size: 14px; place-items: center; }
.qg-detail-figure figcaption strong { display: block; overflow: hidden; color: var(--qg-gold-soft); font-family: Georgia, "Times New Roman", serif; font-size: 13px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.qg-detail-figure figcaption p { display: -webkit-box; overflow: hidden; margin: 6px 0 0; color: #ddd9d1; font-size: 10.5px; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }

.qg-loader { min-height: 100%; color: #c9cfd2; background: #080c0f; }
@keyframes qg-pulse { to { opacity: .45; transform: scale(.8); } }

/* Editor typography stays independent from the exported document. */
.qg-editor .qg-field input, .qg-editor .qg-field select, .qg-editor .qg-field textarea,
.qg-editor .qg-client-selector input { font-size: 14px; line-height: 1.45; }
.qg-editor .qg-tech-editor input, .qg-editor .qg-tech-editor textarea { font-size: 13px; }
.qg-editor .qg-field > span, .qg-editor .qg-image-controls label,
.qg-editor .qg-client-selector > label > span, .qg-editor .qg-readonly-client span { font-size: 11px; }
.qg-editor .qg-field-help, .qg-editor .qg-client-summary span, .qg-editor .qg-client-summary small,
.qg-editor .qg-readonly-client strong, .qg-editor .qg-page-toggle span,
.qg-editor .qg-image-drop span, .qg-editor .qg-detail-upload span,
.qg-editor .qg-highlight-option span, .qg-editor .qg-client-options span { font-size: 11px; line-height: 1.4; }
.qg-editor .qg-field-help { color: #98a4aa; }

@media (max-width: 1320px) {
  .qg-shell { grid-template-columns: 370px minmax(560px, 1fr); }
  .qg-zoom { display: none; }
  .qg-workspace-actions button { padding-inline: 8px; }
}

@media (max-width: 1120px) {
  .content.is-quote-editor { height: auto; min-height: 0; overflow: visible; }
  .qg-shell { display: block; height: auto; overflow: visible; }
  .qg-editor { height: auto; border-right: 0; }
  .qg-editor-scroll { height: auto; flex: none; max-height: none; overflow: visible; padding-bottom: 24px; }
  .qg-workspace { min-height: 850px; }
  .qg-workspace-toolbar { position: sticky; top: 112px; z-index: 15; }
  .qg-preview-stage { min-height: 760px; }
}

@media (max-width: 720px) {
  .content.is-quote-editor { padding-bottom: env(safe-area-inset-bottom); }
  .qg-editor-header { min-height: 72px; }
  .qg-primary-toolbar { grid-template-columns: 42px 1fr 42px; }
  .qg-finalize-button { grid-column: 1 / -1; }
  .qg-field-grid, .qg-highlight-picker { grid-template-columns: 1fr; }
  .qg-image-controls { grid-template-columns: 1fr; }
  .qg-workspace { min-height: 720px; }
  .qg-workspace-toolbar { top: 69px; align-items: stretch; flex-direction: column; }
  .qg-workspace-actions { display: grid; grid-template-columns: repeat(3, 1fr); }
  .qg-workspace-actions button { white-space: nowrap; }
  .qg-save-state small { max-width: 100%; }
  .qg-preview-stage { padding: 28px 12px 70px; }
}

@media print {
  .sidebar, .topbar, .qg-editor, .qg-workspace-toolbar { display: none !important; }
  .app-shell, .main-area, .content.is-quote-editor, .qg-shell, .qg-workspace, .qg-preview-stage { display: block; width: auto; height: auto; min-height: 0; overflow: visible; padding: 0; background: #fff; }
}

/* Posicionamiento discreto: evita estilos inline y conserva la CSP estricta. */
.qg-preview-scale.qg-scale-42 { width: 430.08px; height: 645.12px; }
.qg-scale-42 .qg-preview-transform { transform: scale(0.42); }
.qg-preview-scale.qg-scale-44 { width: 450.56px; height: 675.84px; }
.qg-scale-44 .qg-preview-transform { transform: scale(0.44); }
.qg-preview-scale.qg-scale-46 { width: 471.04px; height: 706.56px; }
.qg-scale-46 .qg-preview-transform { transform: scale(0.46); }
.qg-preview-scale.qg-scale-48 { width: 491.52px; height: 737.28px; }
.qg-scale-48 .qg-preview-transform { transform: scale(0.48); }
.qg-preview-scale.qg-scale-50 { width: 512.00px; height: 768.00px; }
.qg-scale-50 .qg-preview-transform { transform: scale(0.50); }
.qg-preview-scale.qg-scale-52 { width: 532.48px; height: 798.72px; }
.qg-scale-52 .qg-preview-transform { transform: scale(0.52); }
.qg-preview-scale.qg-scale-54 { width: 552.96px; height: 829.44px; }
.qg-scale-54 .qg-preview-transform { transform: scale(0.54); }
.qg-preview-scale.qg-scale-56 { width: 573.44px; height: 860.16px; }
.qg-scale-56 .qg-preview-transform { transform: scale(0.56); }
.qg-preview-scale.qg-scale-58 { width: 593.92px; height: 890.88px; }
.qg-scale-58 .qg-preview-transform { transform: scale(0.58); }
.qg-preview-scale.qg-scale-60 { width: 614.40px; height: 921.60px; }
.qg-scale-60 .qg-preview-transform { transform: scale(0.60); }
.qg-preview-scale.qg-scale-62 { width: 634.88px; height: 952.32px; }
.qg-scale-62 .qg-preview-transform { transform: scale(0.62); }
.qg-preview-scale.qg-scale-64 { width: 655.36px; height: 983.04px; }
.qg-scale-64 .qg-preview-transform { transform: scale(0.64); }
.qg-preview-scale.qg-scale-66 { width: 675.84px; height: 1013.76px; }
.qg-scale-66 .qg-preview-transform { transform: scale(0.66); }
.qg-preview-scale.qg-scale-68 { width: 696.32px; height: 1044.48px; }
.qg-scale-68 .qg-preview-transform { transform: scale(0.68); }
.qg-preview-scale.qg-scale-70 { width: 716.80px; height: 1075.20px; }
.qg-scale-70 .qg-preview-transform { transform: scale(0.70); }
.qg-preview-scale.qg-scale-72 { width: 737.28px; height: 1105.92px; }
.qg-scale-72 .qg-preview-transform { transform: scale(0.72); }
.qg-preview-scale.qg-scale-74 { width: 757.76px; height: 1136.64px; }
.qg-scale-74 .qg-preview-transform { transform: scale(0.74); }
.qg-preview-scale.qg-scale-76 { width: 778.24px; height: 1167.36px; }
.qg-scale-76 .qg-preview-transform { transform: scale(0.76); }
.qg-preview-scale.qg-scale-78 { width: 798.72px; height: 1198.08px; }
.qg-scale-78 .qg-preview-transform { transform: scale(0.78); }
.qg-preview-scale.qg-scale-80 { width: 819.20px; height: 1228.80px; }
.qg-scale-80 .qg-preview-transform { transform: scale(0.80); }
.qg-preview-scale.qg-scale-82 { width: 839.68px; height: 1259.52px; }
.qg-scale-82 .qg-preview-transform { transform: scale(0.82); }

.qg-download-link { display: block; color: #efbd70; font-size: 11px; }
