.brand { display:block; width:112px; margin:0 8px 32px; color:#fff; text-decoration:none; }
.brand img { display:block; width:100%; height:64px; object-fit:contain; object-position:left center; }
.catalog-searchbox { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 18px; margin:8px 0 16px; padding:18px 20px; border-radius:18px; background:var(--navy); box-shadow:0 12px 34px rgba(3,49,71,.16); }
.catalog-searchbox label { color:#fff; font-weight:850; font-size:16px; }
.catalog-searchbox input { grid-column:1/-1; min-height:52px; border:0; border-radius:12px; padding:0 16px; font:inherit; font-size:15px; }
.catalog-searchbox span { grid-row:1; grid-column:2; color:#bcd4df; font-size:12px; align-self:center; }
.catalog-summary { min-height:20px; margin:4px 0 14px; color:#607783; font-size:13px; }
.category-browser { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; margin:4px 0 24px; }
.category-card { display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:13px; border:1px solid var(--line); border-radius:18px; padding:18px; background:#fff; color:var(--navy); font:inherit; text-align:left; cursor:pointer; box-shadow:0 8px 28px rgba(3,49,71,.06); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.category-card:hover { transform:translateY(-2px); border-color:#8ab4c6; box-shadow:0 13px 32px rgba(3,49,71,.11); }
.category-card strong,.category-card small { display:block; }
.category-card strong { font-size:16px; }
.category-card small { margin-top:4px; color:#69808d; font-size:11px; }
.category-card b { color:var(--pink); font-size:11px; }
.category-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background:#eaf5f9; color:var(--navy); font-size:22px; }
.subcategory-group { grid-column:1/-1; margin:0 0 12px; padding:20px; border:1px solid var(--line); border-radius:20px; background:#f9fcfd; }
.subcategory-group>header { display:flex; justify-content:space-between; align-items:end; margin-bottom:14px; }
.subcategory-group>header h3 { margin:2px 0 0; font-size:20px; }
.subcategory-group>header span { color:#69808d; font-size:12px; }
.subcategory-products { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:14px; }
.text-action { margin-top:15px; border:0; background:transparent; color:var(--pink); font:inherit; font-weight:800; cursor:pointer; }
.wide-result { grid-column:1/-1; }
.supplier-origin { display:inline-block; margin-top:5px; border-radius:999px; padding:4px 7px; background:#e8f6fa; color:var(--navy); font-size:10px; font-weight:850; }
.supplier-count { color:var(--navy); font-weight:850; }
.secondary.compact { padding:8px 12px; font-size:11px; white-space:nowrap; }
.product-card { display:flex; min-width:0; min-height:410px; flex-direction:column; overflow:hidden; background:#fff; }
.product-image { position:relative; display:block; flex:0 0 190px; width:100%; height:190px; min-height:0; overflow:hidden; background:#eef5f7; }
.product-image img { position:absolute; inset:0; display:block; width:100%!important; height:100%!important; min-width:0; min-height:0; max-width:100%; max-height:100%; object-fit:contain; object-position:center; background:#fff; }
.product-body { position:relative; z-index:1; display:flex; min-width:0; flex:1; flex-direction:column; overflow:hidden; background:#fff; }
.product-body h3 { min-height:2.5em; line-height:1.25; overflow-wrap:anywhere; }
.product-body .meta { min-height:2.6em; line-height:1.3; overflow-wrap:anywhere; }
.product-body .product-edit { margin-top:auto; }
.danger { border:1px solid #ef9baa; border-radius:12px; padding:11px 18px; background:#fff1f4; color:#a51032; font:inherit; font-weight:850; cursor:pointer; }
.danger:hover { border-color:#d92d50; background:#ffe4ea; }
.danger:disabled { opacity:.6; cursor:wait; }
.product-delete { margin:10px 0; }
.dgii-lookup { display:grid; grid-template-columns:1fr 180px auto; gap:12px; align-items:end; margin-bottom:18px; padding:16px; border-radius:16px; background:#eef7fa; }
.dgii-lookup>div strong,.dgii-lookup>div span { display:block; }
.dgii-lookup>div span { margin-top:4px; color:#607783; font-size:11px; }
.dgii-lookup label { margin:0; }
.dgii-lookup p { grid-column:1/-1; margin:0; min-height:16px; font-size:12px; }
.dgii-lookup p.success { color:#087d55; }
.dgii-lookup p.error { color:#b42318; }
.dgii-lookup p.loading { color:var(--navy); }
.client-picker { display:grid; grid-template-columns:minmax(250px,1fr) 190px auto; gap:12px; align-items:end; margin-bottom:15px; padding:16px; border:1px solid var(--line); border-radius:16px; background:#f8fbfc; }
.client-picker label { display:grid; gap:6px; color:var(--muted); font-size:12px; font-weight:800; }
.client-picker small { display:block; margin-top:6px; color:#607783; font-size:11px; }
.quote-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; max-height:430px; overflow-y:auto; overflow-x:hidden; padding:12px 3px 3px 0; }
.quote-result { display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:11px; align-items:center; min-width:0; padding:10px; border:1px solid var(--line); border-radius:13px; background:#fff; }
.quote-result-image { display:grid; place-items:center; width:58px; height:58px; overflow:hidden; border-radius:10px; background:#edf4f7; color:#89a0ab; font-size:9px; }
.quote-result-image img { width:100%; height:100%; object-fit:cover; }
.photo-placeholder { display:grid; place-items:center; width:64px; height:64px; border-radius:18px; background:#fff; color:#5c879b; font-size:34px; box-shadow:0 8px 24px rgba(7,52,75,.08); }
.product-edit { width:100%; margin-top:14px; }
.product-photo-editor { display:grid; grid-template-columns:160px 1fr; gap:18px; padding:16px; border:1px solid #dbe7ed; border-radius:16px; background:#f5fafc; }
.product-photo-editor > div:last-child { display:grid; gap:10px; }
.product-photo-editor small { color:#60788a; font-weight:500; }
.product-photo-preview { min-height:150px; display:grid; place-items:center; overflow:hidden; border-radius:14px; background:#e7f1f5; color:#5c879b; }
.product-photo-preview img { width:100%; height:150px; object-fit:contain; background:#fff; }
.product-photo-preview span { display:grid; place-items:center; gap:4px; font-size:38px; }
.product-photo-preview small { font-size:11px; }
.catalog-toolbar { display:grid; grid-template-columns:repeat(3,minmax(190px,1fr)) auto; align-items:center; }
.supplier-products { padding:4px 0; font-size:11px; white-space:nowrap; }
@media(max-width:560px){.product-photo-editor{grid-template-columns:1fr}.product-photo-preview{min-height:180px}}
@media(max-width:980px){.catalog-toolbar{grid-template-columns:1fr 1fr}.catalog-toolbar .secondary{width:100%}}
@media(max-width:620px){.catalog-toolbar{grid-template-columns:1fr}}
.quote-result strong,.quote-result span,.quote-result small { display:block; }
.quote-result strong { margin:3px 0; font-size:12px; line-height:1.25; }
.quote-result small { color:#68808c; font-size:9px; text-transform:uppercase; }
.quote-result span { color:var(--navy); font-size:11px; font-weight:800; }
.quote-result .secondary { padding:8px 10px; font-size:10px; }
.quote-row { grid-template-columns:minmax(0,1fr) auto auto auto; }
.module-open { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.embedded-module { min-height:720px; overflow:hidden; border:1px solid #d8e5eb; border-radius:22px; background:#fff; box-shadow:0 16px 42px rgba(7,52,75,.08); }
.embedded-module iframe { display:block; width:100%; height:calc(100vh - 205px); min-height:720px; border:0; background:#fff; }
.client-searchbox { margin-bottom:18px; }
.client-stats { grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:18px; }
.clients-table td:nth-child(3),.clients-table td:nth-child(4) { white-space:nowrap; }
.reservation-stats { margin-bottom:18px; }
.reservation-toolbar { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:12px; margin-bottom:18px; }
.reservation-toolbar input,.reservation-toolbar select { min-height:46px; padding:0 15px; border:1px solid #c7dce5; border-radius:13px; background:#fff; font:inherit; }
.reservation-panel { min-height:260px; }
.sync-status { margin-bottom:15px; padding:12px 14px; border-radius:12px; background:#eef6f9; color:#476477; font-size:12px; }
.sync-status.success { background:#e9f8f0; color:#177245; }
.sync-status.error { background:#fff0f3; color:#a0003a; }
.reservation-list { display:grid; gap:11px; }
.reservation-card { display:grid; grid-template-columns:minmax(0,1fr) 150px 110px auto; gap:20px; align-items:center; padding:17px 19px; border:1px solid #dce8ed; border-radius:16px; }
.reservation-card h3,.reservation-card p { margin:0; }
.reservation-card p { margin-top:4px; color:#526d7c; font-size:12px; }
.reservation-card small { display:block; margin-top:7px; color:#718692; }
.reservation-money strong,.reservation-money span { display:block; }
.reservation-money span { margin-top:4px; color:#687e89; font-size:10px; }
.reservation-badge { display:inline-flex; justify-content:center; padding:7px 10px; border-radius:999px; background:#fff3c4; color:#765a00; font-size:9px; font-weight:900; text-transform:uppercase; }
.reservation-badge.confirmada,.reservation-badge.completada { background:#dcf7e8; color:#126b3d; }
.reservation-badge.rechazada { background:#ffe4ea; color:#a0003a; }
.reservation-badge.en-progreso { background:#e3f4ff; color:#075c8b; }
.reservation-detail { width:min(760px,94vw); }
.reservation-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.reservation-detail-grid>div { padding:13px; border-radius:12px; background:#f3f8fa; }
.reservation-detail-grid .detail-wide { grid-column:1/-1; }
.reservation-detail-grid span,.reservation-detail-grid strong { display:block; }
.reservation-detail-grid span { margin-bottom:5px; color:#647c89; font-size:10px; text-transform:uppercase; }
.reservation-services { margin-top:16px; padding:16px; border:1px solid #dce8ed; border-radius:14px; }
.reservation-payment-admin { margin-top:16px; padding:18px; border:1px solid #9bcbdc; border-radius:16px; background:#f0f9fc; }
.reservation-payment-admin h3 { margin:3px 0 5px; }
.reservation-payment-admin>div>span { color:#58717e; font-size:12px; }
.payment-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0 12px; }
.payment-form-grid label { display:grid; gap:6px; color:#60788a; font-size:12px; font-weight:800; }
.payment-form-grid .wide { grid-column:1/-1; }
.payment-receipts { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.payment-receipts a { padding:7px 10px; border-radius:9px; background:#fff; color:#0879ad; font-size:11px; font-weight:800; text-decoration:none; }
.reservation-services h3,.reservation-services p { margin:0; }
.reservation-services p { margin-top:7px; color:#58717e; line-height:1.5; }
.reservation-service-lines { display:grid; gap:8px; margin-top:12px; }
.reservation-service-lines>div { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:14px; align-items:center; padding:11px 12px; border-radius:11px; background:#f3f8fa; }
.reservation-service-lines span { color:#647c89; font-size:11px; }
.reservation-service-lines b { color:var(--navy); }
.preview-dialog { width:min(980px,96vw); max-width:none; max-height:94vh; }
.preview-shell { padding:22px; }
.preview-toolbar-actions { display:flex; align-items:center; gap:10px; }
.quote-document { width:820px; min-height:1061px; margin:0 auto; padding:52px 54px 40px; border:1px solid #dbe7ed; background:#fff; color:#111; box-shadow:0 10px 35px rgba(7,52,75,.08); font-family:Arial,Helvetica,sans-serif; }
.document-brand { display:flex; justify-content:space-between; align-items:center; padding-bottom:24px; border-bottom:3px solid var(--navy); }
.document-brand img { width:112px; height:62px; object-fit:contain; object-position:left center; }
.document-brand div { text-align:right; }
.document-brand strong,.document-brand span { display:block; }
.document-brand strong { color:var(--navy); font-size:24px; }
.document-brand span { margin-top:4px; color:var(--pink); font-weight:900; }
.document-parties { display:grid; grid-template-columns:1fr 260px; gap:30px; margin:28px 0; }
.document-parties small { color:#66808d; font-weight:900; letter-spacing:.12em; }
.document-parties h3 { margin:6px 0 10px; font-size:21px; }
.document-parties p { margin:3px 0; color:#607783; font-size:12px; }
.document-parties dl { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:0; }
.document-parties dt { color:#607783; }
.document-parties dd { margin:0; text-align:right; font-weight:800; }
.quote-document>h2 { margin:0 0 15px; font-size:20px; }
.document-lines { width:100%; border-collapse:collapse; }
.document-lines th { padding:10px; background:var(--navy); color:#fff; text-align:right; font-size:11px; }
.document-lines th:first-child,.document-lines td:first-child { text-align:left; }
.document-lines td { padding:12px 10px; border-bottom:1px solid #e2eaee; text-align:right; font-size:12px; }
.document-lines td strong,.document-lines td small { display:block; }
.document-lines td small { margin-top:3px; color:#718792; }
.document-total { display:flex; justify-content:flex-end; margin-top:18px; }
.document-total dl { width:min(360px,100%); margin:0; }
.document-total dl>div { display:flex; justify-content:space-between; padding:7px 0; }
.document-total dd { margin:0; font-weight:800; }
.document-total .grand-total { margin-top:8px; padding:14px; border-radius:10px; background:#edf7fa; color:var(--navy); font-size:18px; font-weight:900; }
.document-notes { margin-top:25px; padding:16px; border-radius:12px; background:#fff8dc; }
.document-notes p { margin:7px 0 0; font-size:12px; line-height:1.55; }
.document-footer { display:grid; gap:5px; margin-top:30px; padding-top:18px; border-top:1px solid #dbe7ed; }
.document-footer span,.document-footer small { color:#607783; font-size:11px; line-height:1.45; }
.quote-share-actions { display:flex; align-items:center; gap:10px; margin-top:16px; padding:15px; border-radius:15px; background:#edf6f9; }
.quote-share-actions>div { margin-right:auto; }
.quote-share-actions strong,.quote-share-actions small { display:block; }
.quote-share-actions small,.share-warning { color:#607783; font-size:11px; }
.quote-share-actions a { text-decoration:none; text-align:center; }
.legacy-document-head { display:grid; grid-template-columns:1fr 300px; gap:76px; align-items:start; margin-bottom:28px; }
.legacy-company { display:flex; flex-direction:column; align-items:flex-start; font-size:12px; line-height:1.45; }
.legacy-company img { width:154px; height:92px; margin-bottom:4px; object-fit:contain; object-position:left center; }
.legacy-company strong { color:#078bd1; font-size:14px; font-style:italic; }
.legacy-company a { color:#078bd1; }
.legacy-quote-data { display:flex; flex-direction:column; align-items:center; }
.legacy-castle { display:block; width:112px; height:76px; margin:0 auto 8px; object-fit:contain; }
.legacy-quote-data>div { display:grid; grid-template-columns:110px 1fr; }
.legacy-quote-data b { padding:3px 6px; background:#078bd1; color:#fff; font-size:12px; font-style:italic; }
.legacy-quote-data span { min-width:190px; padding:3px 6px; background:#fffeb9; color:#111; font-size:12px; }
.legacy-contact { display:flex; flex-direction:column; align-items:flex-start; min-height:126px; margin-bottom:12px; }
.legacy-contact h3 { margin:0 0 5px; color:#078bd1; font-size:15px; }
.legacy-contact strong,.legacy-contact em,.legacy-contact span { font-size:12px; }
.legacy-subject { margin:0 0 14px; color:#078bd1; font-size:13px; font-weight:800; }
.legacy-lines th { height:64px; padding:15px 10px; background:#078bd1; border-right:1px solid #fff; text-align:center!important; vertical-align:middle; font-size:12px; }
.legacy-lines th:nth-child(1) { width:110px; }
.legacy-lines th:nth-child(3),.legacy-lines th:nth-child(4) { width:145px; }
.legacy-lines td { border:0; padding:8px 10px; color:#111; font-size:12px; }
.legacy-lines td:first-child { text-align:center; }
.legacy-bottom { display:grid; grid-template-columns:1fr 300px; gap:46px; align-items:end; margin-top:20px; }
.legacy-scan { display:block; width:185px; margin:0 auto; }
.legacy-scan img { display:block; width:100%; height:auto; }
.legacy-total { margin:0; }
.legacy-total dl { width:100%; }
.legacy-total dl>div { padding:0; }
.legacy-total dt { width:48%; padding:6px 10px; color:#ff2f72; font-style:italic; font-weight:900; }
.legacy-total dd { width:52%; padding:6px 10px; border:1px solid #999; background:#72c4ef; color:#111; text-align:right; }
.legacy-total .grand-total { margin:0; padding:0; border-radius:0; background:transparent; font-size:14px; }
.legacy-total .grand-total dt { background:transparent; color:#ff2f72; }
.legacy-total .grand-total dd { background:#72c4ef; color:#111; font-size:15px; }
.legacy-footer { display:flex; flex-direction:column; align-items:flex-end; margin-top:18px; color:#111; }
.legacy-footer>img { width:300px; height:auto; }
.legacy-footer>strong { margin-right:10px; font-size:17px; font-weight:500; }
.legacy-footer>small { max-width:500px; margin-top:12px; color:#607783; text-align:right; }
@media (max-width:900px) {
  .brand { width:54px; margin:0 auto 30px; }
  .brand img { height:54px; object-position:center; }
  .dgii-lookup { grid-template-columns:1fr; }
  .catalog-searchbox { grid-template-columns:1fr; }
  .catalog-searchbox span { grid-row:auto; grid-column:auto; }
  .client-picker { grid-template-columns:1fr; }
  .quote-results { grid-template-columns:1fr; }
  .client-stats { grid-template-columns:1fr; }
  .reservation-toolbar,.reservation-card,.reservation-detail-grid { grid-template-columns:1fr; }
  .reservation-detail-grid .detail-wide { grid-column:auto; }
  .reservation-service-lines>div { grid-template-columns:1fr; gap:4px; }
  .embedded-module,.embedded-module iframe { min-height:640px; }
  .document-parties { grid-template-columns:1fr; }
  .quote-share-actions { align-items:stretch; flex-direction:column; }
  .quote-share-actions>div { margin-right:0; }
  .legacy-document-head,.legacy-bottom { grid-template-columns:1fr; }
  .quote-document { width:100%; min-height:0; padding:30px 24px; }
}
@media print {
  body>*:not(.preview-dialog) { display:none!important; }
  .preview-dialog { position:static; width:auto; max-height:none; display:block; box-shadow:none; }
  .preview-toolbar,.quote-share-actions { display:none!important; }
  @page { size:letter; margin:0; }
  .preview-shell { padding:0; }
  .quote-document { width:8.5in; min-height:11in; padding:.55in .58in .4in; border:0; box-shadow:none; }
}

.dgcp-list{display:grid;gap:12px}.dgcp-card{display:grid;grid-template-columns:58px minmax(0,1fr) 170px auto;gap:16px;align-items:center;padding:18px;border:1px solid #d8e5eb;border-radius:16px;background:#fff}.dgcp-card h3{margin:3px 0 6px;font-size:16px}.dgcp-card p,.dgcp-card small{margin:0;color:#607687}.dgcp-score{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e7f5ee;color:#08754d;font-weight:800}.dgcp-score.medium{background:#fff3c8;color:#7c5900}.dgcp-score.low{background:#f1f3f5;color:#58626b}.dgcp-stats strong{font-size:22px!important}.dgcp-card .reservation-money{text-align:right}.dgcp-card .reservation-money span{display:block;margin-top:5px;font-size:10px}.reservation-dialog .dialog-shell{max-width:1050px}.reservation-dialog .table-scroll{overflow:auto}.reservation-dialog .data-table{min-width:760px}
@media(max-width:850px){.dgcp-card{grid-template-columns:48px 1fr}.dgcp-card .reservation-money,.dgcp-card button{grid-column:2;text-align:left}.dgcp-card .reservation-money{justify-self:start}}

/* Cotización oficial RentablesRD — composición fiel al formato aprobado. */
.quote-document { width:816px; min-height:1056px; padding:0; overflow:hidden; border:0; background:#fafaf7; color:#263342; box-shadow:0 12px 38px rgba(7,52,75,.13); font-family:Manrope,Arial,sans-serif; }
.rrd-quote-sheet { box-sizing:border-box; min-height:1056px; padding:52px 56px 38px; display:flex; flex-direction:column; gap:20px; background:#fafaf7; }
.rrd-quote-header { display:grid; grid-template-columns:minmax(0,1fr) 306px; gap:55px; align-items:start; }
.rrd-company { display:flex; flex-direction:column; align-items:flex-start; padding-top:2px; color:#76808e; font-size:11.5px; line-height:1.55; }
.rrd-company img { width:99px; height:63px; margin:0 0 3px; object-fit:contain; object-position:left center; }
.rrd-company strong { margin-bottom:11px; color:#0ea5e9; font-size:13px; font-style:italic; font-weight:700; }
.rrd-meta-card { padding:16px 18px 13px; border:1px solid #e2ded7; border-radius:14px; background:rgba(255,255,255,.58); }
.rrd-meta-card h2 { margin:0 0 9px; color:#0ea5e9; font-family:Fredoka,Manrope,sans-serif; font-size:11px; letter-spacing:.02em; }
.rrd-meta-card dl { margin:0; }
.rrd-meta-card dl>div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:8px; align-items:start; min-height:24px; }
.rrd-meta-card dt { color:#77818e; font-size:12.5px; }
.rrd-meta-card dd { margin:0; color:#263342; text-align:right; font-size:12px; font-weight:700; overflow-wrap:anywhere; }
.rrd-meta-card .valid { margin-top:3px; padding-top:8px; border-top:1px dashed #dedbd4; }
.rrd-meta-card .valid dd { color:#ff658d; }
.rrd-attended { display:flex; align-items:center; min-height:39px; padding:0 17px; border:1px solid #e2ded7; border-radius:10px; background:rgba(255,255,255,.48); font-size:11px; }
.rrd-attended b { color:#6f7885; font-size:10px; letter-spacing:.02em; }
.rrd-attended i { width:4px; height:4px; margin:0 12px; border-radius:50%; background:#d8d4cb; }
.rrd-attended strong { margin-right:15px; color:#263342; }
.rrd-attended span { color:#737d8b; }
.rrd-lines { width:100%; border-spacing:0; border-collapse:separate; font-size:11px; }
.rrd-lines th { padding:12px 14px; background:#0ea5e9; color:#fff; font-family:Fredoka,Manrope,sans-serif; font-size:10.5px; text-align:right; }
.rrd-lines th:first-child { width:54px; border-radius:11px 0 0; text-align:center; }
.rrd-lines th:nth-child(2) { text-align:left; }
.rrd-lines th:nth-child(3) { width:105px; }
.rrd-lines th:last-child { width:96px; border-radius:0 11px 0 0; }
.rrd-lines td { padding:10px 14px; border-bottom:1px solid #e9e5df; background:rgba(255,255,255,.48); text-align:right; vertical-align:top; }
.rrd-lines tr:nth-child(even) td { background:#f8f6f1; }
.rrd-lines td:first-child { text-align:center; }
.rrd-lines td:nth-child(2) { text-align:left; }
.rrd-lines td small { display:block; margin-top:2px; color:#7d8792; font-size:8px; }
.rrd-quote-bottom { display:grid; grid-template-columns:1fr 306px; gap:55px; align-items:end; }
.rrd-whatsapp { display:flex; flex-direction:column; align-items:flex-start; color:#75808e; font-size:10px; line-height:1.45; }
.rrd-whatsapp>strong { margin-bottom:8px; color:#6e7784; font-size:9.5px; }
.rrd-whatsapp a { display:block; }
.rrd-whatsapp img { display:block; width:82px; height:82px; }
.rrd-whatsapp span { margin-top:8px; }
.rrd-totals { padding:15px 18px 12px; border:1px solid #e2ded7; border-radius:14px; background:rgba(255,255,255,.56); }
.rrd-totals dl { margin:0; }
.rrd-totals dl>div { display:flex; justify-content:space-between; gap:20px; padding:4px 0; font-size:12px; }
.rrd-totals dt { color:#75808d; }
.rrd-totals dd { margin:0; color:#263342; font-weight:700; }
.rrd-totals .grand { margin-top:8px; padding-top:13px; border-top:1px solid #dedbd4; align-items:center; }
.rrd-totals .grand dt { color:#263342; font-size:13px; font-weight:800; }
.rrd-totals .grand dd { color:#0ea5e9; font-family:Fredoka,Manrope,sans-serif; font-size:20px; font-weight:700; }
.rrd-notes { padding:10px 14px; border-left:3px solid #0ea5e9; background:#f2f7f8; font-size:9px; }
.rrd-notes strong { color:#263342; }
.rrd-notes p { margin:3px 0 0; color:#687581; line-height:1.45; }
.rrd-quote-footer { margin-top:auto; }
.rrd-colorbar { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; height:4px; overflow:hidden; border-radius:4px; }
.rrd-colorbar i:nth-child(1) { background:#0ea5e9; }
.rrd-colorbar i:nth-child(2) { background:#ff7196; }
.rrd-colorbar i:nth-child(3) { background:#149f91; }
.rrd-colorbar i:nth-child(4) { background:#ffb511; }
.rrd-quote-footer>div:last-child { display:flex; justify-content:space-between; padding-top:11px; color:#77818d; font-size:9px; }
.rrd-quote-footer strong { color:#0ea5e9; font-size:10px; font-style:italic; }

@media (max-width:900px) {
  .quote-document { width:816px; min-height:1056px; padding:0; transform-origin:top left; }
}
@media print {
  .quote-document { width:8.5in; min-height:11in; padding:0; overflow:hidden; background:#fafaf7; }
  .rrd-quote-sheet { min-height:11in; padding:.54in .58in .38in; }
}

.reservation-location{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0;padding:16px 18px;border:1px solid #cfe0e8;border-radius:14px;background:#f2f8fa}.reservation-location div{display:flex;flex-direction:column;gap:4px}.reservation-location span,.reservation-location small{color:#627787;font-size:12px}.reservation-location strong{color:#07344b}.transport-service{flex-wrap:wrap}.transport-destination{flex:1 0 100%;display:flex!important;justify-content:space-between;align-items:center;margin-top:7px;padding-top:8px;border-top:1px dashed #cbdce4;color:#526b7a}.transport-destination a{color:#0879ad;font-weight:800;text-decoration:none}.transport-destination em{color:#ad6715;font-size:12px;font-style:normal}
@media(max-width:650px){.reservation-location,.transport-destination{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.payment-form-grid{grid-template-columns:1fr}.payment-form-grid .wide{grid-column:auto}}

.supplier-import-box{display:grid;gap:14px;margin:22px 0;padding:20px;border:1px solid #bcdbe8;border-radius:16px;background:#f1f9fc}.supplier-import-box h3{margin:3px 0}.supplier-import-box>div>span{color:#60788a;font-size:12px}.supplier-import-box label{display:grid;gap:6px;color:#60788a;font-size:12px;font-weight:800}.supplier-import-box .sync-status{margin:0}.brand img{filter:none!important}
.supplier-import-direct{margin-right:7px;white-space:nowrap}
.sidebar{overflow-y:auto}.module-form{display:grid;gap:18px}.module-form>button{justify-self:start}.module-form textarea{width:100%;padding:12px;border:1px solid #c9dce5;border-radius:11px;font:inherit}.badge.success{background:#d9f5e4;color:#14623b}.badge.warning{background:#fff0c2;color:#805800}#packages-list .reservation-card,#offers-list .reservation-card{grid-template-columns:minmax(0,1fr) auto auto auto}#visits-list .stats{margin-bottom:22px}#levels-list input{max-width:95px;padding:8px;border:1px solid #c9dce5;border-radius:8px}@media(max-width:800px){#packages-list .reservation-card,#offers-list .reservation-card{grid-template-columns:1fr}.module-form>button{width:100%}}
