.treatment-plans-page{padding:38px clamp(24px,5vw,76px) 70px;max-width:1500px;margin:auto}.plan-title-actions{display:flex;gap:10px;flex-wrap:wrap}.treatment-module-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;align-items:start}.treatment-section-content{display:grid;gap:16px;min-width:0}.treatment-section-nav button>span{font-size:15px}.treatment-panel-stack{display:grid;gap:16px}.treatment-card{padding:20px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.treatment-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}.treatment-card-heading h2,.treatment-card-heading p{margin:0}.treatment-card-heading h2{margin-top:3px;font-size:20px}.treatment-card-heading p:not(.eyebrow){margin-top:4px;color:var(--muted);font-size:12px}.treatment-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.treatment-kpis article{display:grid;gap:5px;padding:16px;border:1px solid #dce8e5;border-radius:12px;background:linear-gradient(145deg,#fff,#f4faf8)}.treatment-kpis small{color:var(--muted);font-size:10px;font-weight:750}.treatment-kpis b{color:var(--teal);font-size:25px}.treatment-kpis span{color:#60716f;font-size:10px}.treatment-alert-list,.treatment-list{display:grid;gap:8px}.treatment-alert,.treatment-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px;border:1px solid #e0eae8;border-radius:11px;background:#fbfdfc}.treatment-list-row{grid-template-columns:auto minmax(180px,1.2fr) minmax(150px,.8fr) auto auto}.treatment-list-row>span{display:grid;gap:3px;min-width:0}.treatment-list-row b{overflow:hidden;text-overflow:ellipsis}.treatment-list-row small{color:var(--muted);font-size:10px}.treatment-list-row strong{font-size:13px}.treatment-list-row .row-actions,.treatment-alert .row-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.treatment-list-row button,.treatment-alert button{padding:8px 10px;font-size:10px}.treatment-status{display:inline-flex;justify-content:center;padding:5px 8px;border-radius:999px;background:#edf2f1;color:#536763;font-size:9px;font-style:normal;font-weight:850;white-space:nowrap}.treatment-status.accepted,.treatment-status.active,.treatment-status.completed{background:#ddf4e9;color:#176949}.treatment-status.sent,.treatment-status.planned{background:#e5eff9;color:#315f84}.treatment-status.rejected,.treatment-status.cancelled{background:#fee9e5;color:#a4473d}.treatment-status.paused,.treatment-status.expired{background:#fff0d9;color:#8f611f}.treatment-empty{margin:0;padding:30px 16px;border:1px dashed #b9d0cc;border-radius:12px;color:var(--muted);text-align:center}.treatment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.treatment-toolbar label{display:flex;align-items:center;gap:7px;min-width:min(100%,360px);padding:0 11px;border:1px solid #cfdfdc;border-radius:9px;background:#fff}.treatment-toolbar input{width:100%;padding:11px 0;border:0;outline:0;background:transparent}.quote-editor-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:16px}.quote-form-card label,.catalog-editor label,.plan-form-grid label{display:grid;gap:6px;margin:0;color:#405652;font-size:10px;font-weight:800}.quote-form-card input,.quote-form-card select,.quote-form-card textarea,.catalog-editor input,.catalog-editor select,.catalog-editor textarea,.plan-form-grid input,.plan-form-grid select,.plan-form-grid textarea{width:100%;min-width:0;padding:10px;border:1px solid #cfdfdc;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-weight:500}.quote-client-row,.quote-composer-grid,.quote-discount-grid,.plan-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quote-composer{display:grid;gap:12px;margin-top:16px;padding:15px;border:1px solid #dbe8e5;border-radius:12px;background:#f7fbfa}.quote-composer h3,.quote-lines h3{margin:0;font-size:15px}.laser-sex-picker{display:flex;gap:6px}.laser-sex-picker button,.laser-zone-grid button{border:1px solid #bed5d0;border-radius:8px;background:#fff;color:#42635e;font-weight:700}.laser-sex-picker button{padding:9px 13px}.laser-sex-picker button.selected,.laser-zone-grid button.selected{border-color:var(--teal);background:var(--teal-pale);color:var(--teal)}.laser-zone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:230px;overflow:auto;padding:3px}.laser-zone-grid button{padding:8px;font-size:9px;text-align:left}.quote-line-list{display:grid;gap:7px}.quote-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px;border:1px solid #dce8e5;border-radius:9px;background:#fff}.quote-line span{display:grid;gap:3px}.quote-line small{color:var(--muted);font-size:9px}.quote-line button{border:0;background:transparent;color:#b64e43;font-weight:900}.quote-total-card{position:sticky;top:88px;display:grid;gap:12px}.quote-total-lines{display:grid;gap:7px}.quote-total-lines p{display:flex;justify-content:space-between;gap:12px;margin:0;font-size:12px}.quote-grand-total{padding-top:12px;border-top:2px solid #b9d4cf}.quote-grand-total b{font-size:25px;color:var(--teal)}.quote-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quote-actions .wide{grid-column:1/-1}.quote-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:16px}.quote-document-preview{padding:24px;border:1px solid #dce7e5;border-radius:13px;background:#fff}.quote-document-preview header{display:flex;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:3px solid var(--teal)}.quote-document-preview h2,.quote-document-preview p{margin:0}.quote-document-preview header p{color:var(--teal);font-size:10px;font-weight:900;letter-spacing:.1em}.quote-document-preview .quote-client-summary{display:grid;grid-template-columns:1fr auto;gap:8px;margin:17px 0;padding:12px;border-radius:9px;background:#edf7f5}.quote-document-preview table{width:100%;border-collapse:collapse;font-size:11px}.quote-document-preview th,.quote-document-preview td{padding:9px;border-bottom:1px solid #dfe8e6;text-align:left;vertical-align:top}.quote-document-preview th:last-child,.quote-document-preview td:last-child{text-align:right}.quote-document-preview footer{margin-top:18px;padding-top:12px;border-top:1px solid #dce7e5;color:#60716f;font-size:10px;line-height:1.5}.quote-detail-actions{display:grid;gap:8px;align-content:start}.quote-detail-actions button{width:100%}.plan-progress{height:8px;border-radius:999px;background:#e4ecea;overflow:hidden}.plan-progress i{display:block;height:100%;border-radius:inherit;background:var(--teal)}.plan-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.plan-summary-grid span{display:grid;gap:4px;padding:11px;border-radius:10px;background:#f3f8f7}.plan-summary-grid small{color:var(--muted);font-size:9px}.plan-summary-grid b{font-size:14px}.plan-stage-list{display:grid;gap:9px}.plan-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.6fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid #dce8e5;border-radius:11px}.plan-stage>span{display:grid;gap:3px}.plan-stage small{color:var(--muted);font-size:9px}.plan-stage-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.plan-stage-actions button{padding:7px 9px;font-size:9px}.catalog-layout{display:grid;grid-template-columns:minmax(240px,.55fr) minmax(390px,1.45fr);gap:16px}.catalog-list{display:grid;gap:6px;max-height:720px;overflow:auto}.catalog-list button{display:grid;gap:3px;padding:11px;border:1px solid #e0eae8;border-radius:9px;background:#fff;color:var(--ink);text-align:left}.catalog-list button.selected{border-color:#8fc6bb;background:var(--teal-pale)}.catalog-list small{color:var(--muted);font-size:9px}.catalog-editor{display:grid;gap:12px}.catalog-variant-list{display:grid;gap:7px}.catalog-variant{display:grid;grid-template-columns:minmax(0,1fr) 120px auto auto;gap:7px;align-items:center}.catalog-variant label{display:flex;align-items:center;gap:5px}.catalog-variant label input{width:auto}.catalog-variant button{border:0;background:transparent;color:#b64e43}.treatment-quote-print-sheet{max-width:850px;margin:auto;padding:36px;background:#fff;color:#172321}.treatment-quote-print-sheet header{display:flex;justify-content:space-between;padding-bottom:15px;border-bottom:3px solid #147b70}.treatment-quote-print-sheet h1{margin:2px 0;font-size:25px}.treatment-quote-print-sheet header p{margin:0;color:#147b70;font-size:10px;font-weight:900;letter-spacing:.12em}.treatment-quote-print-sheet .quote-client-summary{display:flex;justify-content:space-between;margin:16px 0;padding:11px;background:#edf7f5}.treatment-quote-print-sheet table{width:100%;border-collapse:collapse;font-size:11px}.treatment-quote-print-sheet th,.treatment-quote-print-sheet td{padding:9px;border-bottom:1px solid #dfe8e6;text-align:left}.treatment-quote-print-sheet th:last-child,.treatment-quote-print-sheet td:last-child{text-align:right}.treatment-quote-print-sheet .print-total{display:flex;justify-content:space-between;margin-top:16px;padding:15px;background:#edf7f5}.treatment-quote-print-sheet .print-total b{font-size:24px;color:#147b70}.treatment-quote-print-sheet footer{margin-top:20px;padding-top:12px;border-top:1px solid #dce7e5;font-size:10px;line-height:1.6}.client-treatment-hub{display:grid;gap:16px}.client-treatment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.client-treatment-summary article{padding:13px;border:1px solid #dce8e5;border-radius:10px;background:#f6faf9}.client-treatment-summary small,.client-treatment-summary b{display:block}.client-treatment-summary small{color:var(--muted);font-size:9px}.client-treatment-summary b{margin-top:4px;color:var(--teal);font-size:20px}.client-treatment-lists{display:grid;grid-template-columns:1fr 1fr;gap:12px}.client-treatment-lists section{padding:13px;border:1px solid #dce8e5;border-radius:10px}.client-treatment-lists h3{margin:0 0 9px;font-size:14px}.client-treatment-lists button{width:100%;margin-top:8px}.danger-text-button{border:0;background:transparent;color:#b64e43;text-decoration:underline}.quote-status-select{padding:7px;border:1px solid #cfdfdc;border-radius:8px;background:#fff;font-size:10px}
.plan-editor-card{display:grid;gap:16px}.plan-editor-card label{display:grid;gap:6px;margin:0;color:#405652;font-size:10px;font-weight:800}.plan-editor-card input,.plan-editor-card select,.plan-editor-card textarea{width:100%;min-width:0;padding:10px;border:1px solid #cfdfdc;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-weight:500}.plan-editor-stage-heading{margin:4px 0 0;padding-top:14px;border-top:1px solid #dce8e5}.plan-editor-stage-heading h3{margin:0}.plan-editor-stages{display:grid;gap:9px}.plan-editor-stage{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(150px,1fr) 95px 95px 130px auto;gap:8px;align-items:end;padding:12px;border:1px solid #dce8e5;border-radius:11px;background:#f8fbfa}.plan-editor-stage .danger-text-button{padding:10px 4px}.plan-editor-stage .danger-text-button:disabled{opacity:.35}
@media(max-width:1050px){.treatment-kpis{grid-template-columns:repeat(2,1fr)}.quote-editor-grid,.quote-detail-grid{grid-template-columns:1fr}.quote-total-card{position:static}.treatment-list-row{grid-template-columns:auto 1fr auto}.treatment-list-row>span:nth-child(3),.treatment-list-row>strong{grid-column:2}.catalog-layout{grid-template-columns:1fr}.catalog-list{max-height:280px}.plan-editor-stage{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-editor-stage .danger-text-button{justify-self:start}}
@media(max-width:900px){.treatment-module-layout{grid-template-columns:1fr}.treatment-section-nav{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.client-treatment-lists{grid-template-columns:1fr}}
@media(max-width:620px){.treatment-plans-page{padding:20px 14px 60px}.plan-title-actions>*{flex:1}.treatment-kpis,.quote-client-row,.quote-composer-grid,.quote-discount-grid,.plan-form-grid,.plan-summary-grid,.client-treatment-summary{grid-template-columns:1fr}.treatment-section-nav{grid-template-columns:1fr}.laser-zone-grid{grid-template-columns:repeat(2,1fr)}.treatment-list-row,.plan-stage{grid-template-columns:1fr}.treatment-list-row>span:nth-child(3),.treatment-list-row>strong{grid-column:auto}.treatment-list-row .row-actions,.plan-stage-actions{justify-content:flex-start}.catalog-variant{grid-template-columns:1fr 100px auto}.catalog-variant label{grid-column:1/3}.quote-actions{grid-template-columns:1fr}.quote-actions .wide{grid-column:auto}}
@media print{body.printing-treatment-quote>*:not(#treatmentQuotePrintSheet){display:none!important}body.printing-treatment-quote #treatmentQuotePrintSheet{display:block!important;max-width:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.treatment-quote-print-sheet tr{page-break-inside:avoid}}

/* Presupuestos: acabado comercial basado en la aplicación original */
.quote-editor-grid{grid-template-columns:minmax(560px,1fr) 330px;gap:20px;align-items:start}
.quote-form-card{padding:24px}
.quote-composer{padding:18px;border-color:#d5e3df;background:#fbfdfc}
.quote-composer>button[data-add-quote-line]{justify-self:start;min-width:190px}
.quote-patient-information{display:grid;gap:9px;margin-top:2px;padding-top:13px;border-top:1px solid #d8e5e2}
.quote-patient-information h4{margin:0;color:#27443f;font-size:12px}
.quote-patient-information article,.quote-care-summary article{padding:11px 12px;border:1px solid #d6e2df;border-radius:9px;background:#fff}
.quote-patient-information article b,.quote-care-summary article b{display:block;margin-bottom:4px;color:#27443f;font-size:10px}
.quote-patient-information article p,.quote-care-summary article p{margin:0;color:#405652;font-size:10px;line-height:1.5;white-space:pre-line}
.quote-patient-information article.empty{border-style:dashed;background:#f7faf9}
.quote-patient-information article.empty p{color:#7a8c89;font-style:italic}
.quote-patient-information>label{margin-top:2px;text-transform:uppercase;letter-spacing:.04em}
.quote-patient-information textarea{min-height:72px;text-transform:none;letter-spacing:normal}
.quote-care-summary{display:grid;gap:8px;max-height:330px;overflow:auto}
.quote-care-summary:empty{display:none}
.quote-care-summary article{background:#f7fbfa}
.laser-sex-picker{align-items:center;flex-wrap:wrap;margin-bottom:4px}
.laser-sex-picker button{border-radius:9px}
.laser-zone-grid{display:block;max-height:none;overflow:visible;padding:8px 0 0}
.laser-visual-map{position:relative;width:min(100%,820px);margin:0 auto;border:1px solid #d9e4e1;border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(23,54,49,.08);overflow:hidden}
.laser-visual-map img{display:block;width:100%;height:auto;user-select:none}
.laser-map-hit{position:absolute!important;left:var(--zone-left);top:var(--zone-top);width:var(--zone-width);height:var(--zone-height);padding:0!important;border:2px solid transparent!important;border-radius:5px!important;background:transparent!important;box-shadow:none!important;cursor:pointer}
.laser-map-hit:hover{border-color:rgba(20,123,112,.72)!important;background:rgba(20,123,112,.08)!important}
.laser-map-hit.selected{border-color:var(--teal)!important;background:rgba(20,123,112,.2)!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)!important}
.laser-map-hit span{position:absolute;right:7px;top:7px;display:none;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;font-size:14px;line-height:24px;text-align:center;box-shadow:0 3px 9px rgba(15,87,79,.28)}
.laser-map-hit.selected span{display:block}
#laserPricePreview{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 0;padding:11px 13px;border-radius:9px;background:#eaf5f2;color:#31534e}
#laserPricePreview b{color:var(--teal);font-size:12px}
.quote-total-card{align-self:start;padding:20px;border-color:#cddedb;box-shadow:0 16px 38px rgba(28,58,53,.1)}
.quote-total-card .quote-actions{align-content:start}
.quote-total-card .quote-actions button{min-height:42px}
.quote-total-card>.eyebrow{padding-bottom:11px;border-bottom:1px solid #dce7e5}

.treatment-quote-document{width:100%;max-width:780px;margin:0 auto;padding:34px 38px 28px;border:1px solid #dce6e3;border-radius:14px;background:#fff;color:#142522;font-family:Arial,Helvetica,sans-serif;box-shadow:0 18px 48px rgba(25,52,48,.08)}
.quote-document-preview.treatment-quote-document{padding:34px 38px 28px}
.quote-document-preview .commercial-quote-header,.commercial-quote-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 0 14px;border-bottom:2px solid var(--teal)}
.commercial-brand-logo{display:flex;width:92px;height:92px;align-items:center;justify-content:center;overflow:hidden;border-radius:4px;background:#070908}
.commercial-brand-logo img{display:block;width:100%;height:100%;object-fit:contain}
.commercial-quote-header>div:last-child{display:grid;justify-items:end;gap:4px;text-align:right}
.commercial-quote-header h1{margin:0;color:#18322e;font-size:25px;line-height:1.1;text-transform:uppercase;letter-spacing:-.025em}
.commercial-quote-header p{margin:0!important;color:#36534e!important;font-size:14px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none}
.commercial-quote-header b{font-size:14px;font-weight:600}
.commercial-client{display:grid;grid-template-columns:1fr auto;gap:22px;margin:20px 0 24px;padding:0 10px}
.commercial-client>div{display:grid;gap:4px;align-content:start}
.commercial-client>div:last-child{justify-items:end;text-align:right}
.commercial-client b{font-size:14px}.commercial-client span{font-size:12px}.commercial-client small{color:#667874;font-size:10px}
.commercial-treatment-list{display:grid;gap:22px}
.commercial-treatment-block{break-inside:avoid;page-break-inside:avoid}
.commercial-treatment-heading{display:flex;justify-content:space-between;gap:18px;padding:8px 0 10px;border-bottom:1px solid #b9cdca;font-size:12px}
.commercial-treatment-heading b{color:#18322e;font-size:13px;text-align:right}
.commercial-zone-list{display:grid}
.commercial-zone-list>div,.commercial-concept-row,.commercial-pack>div,.commercial-totals>div{display:flex;justify-content:space-between;gap:20px;padding:8px 10px;border-bottom:1px dotted #cbd8d5;font-size:11px}
.commercial-zone-list b,.commercial-concept-row b,.commercial-pack b{white-space:nowrap}
.commercial-pack{margin:8px 0 2px;padding:4px 0;border-radius:8px;background:#e5f4eb;color:#155b3d}
.commercial-pack>div{border-bottom-color:#b9dfc9;font-weight:700}
.commercial-pack>div:last-child{border-bottom:0;font-size:12px}
.commercial-sessions{margin-top:5px;background:#f5f8f7;font-weight:700}
.commercial-totals{display:grid;gap:0;margin:24px 0 16px;padding-top:10px;border-top:1px solid #c6d4d1}
.commercial-totals>div{border-bottom:0;padding:5px 10px}
.commercial-grand-total{align-items:end;margin-top:3px;padding-top:11px!important;border-top:2px solid var(--teal)!important}
.commercial-grand-total span{font-size:10px;font-weight:900;letter-spacing:.09em}
.commercial-grand-total b{color:var(--teal);font-size:29px;line-height:1}
.commercial-totals>small{padding:2px 10px;color:#637470;font-size:9px}
.commercial-care-grid{display:grid;gap:10px;margin-top:14px}
.commercial-care-grid section{break-inside:avoid;padding:13px 15px;border:1px solid #d6e2df;border-radius:9px;background:#fbfdfc}
.commercial-care-grid h3{margin:0 0 6px;font-size:11px}.commercial-care-grid p{margin:0;color:#405652;font-size:10px;line-height:1.5}
.treatment-quote-document footer{display:flex;justify-content:space-between;gap:20px;margin-top:16px;padding-top:11px;border-top:1px solid #cddad7;color:#536762;font-size:9px}
.treatment-quote-document footer small{color:#7a8986;text-align:right}
.treatment-quote-pdf-export{position:fixed;left:-10000px;top:0;width:794px;padding:0;background:#fff;z-index:-1}
.treatment-quote-pdf-export .treatment-quote-document{width:714px;max-width:none;min-height:1020px;padding:32px 36px;border:0;border-radius:0;box-shadow:none}
.treatment-quote-print-sheet{max-width:820px;padding:24px 32px}
.treatment-quote-print-sheet>.treatment-quote-document{max-width:none;padding:22px 28px;border:0;border-radius:0;box-shadow:none}

@media(max-width:1050px){.quote-editor-grid{grid-template-columns:1fr}.laser-visual-map{max-width:760px}}
@media(max-width:620px){.quote-form-card{padding:16px}.laser-map-hit span{right:3px;top:3px;width:18px;height:18px;font-size:11px;line-height:18px}.treatment-quote-document,.quote-document-preview.treatment-quote-document{padding:22px 18px}.commercial-brand-logo{width:70px;height:70px}.commercial-quote-header h1{font-size:19px}.commercial-client{padding:0}.treatment-quote-document footer{display:grid}.treatment-quote-document footer small{text-align:left}}
@media print{body.printing-treatment-quote #treatmentQuotePrintSheet{width:100%;max-width:none;margin:0;padding:0}.treatment-quote-print-sheet>.treatment-quote-document{width:100%;min-height:0;padding:0}.commercial-treatment-block,.commercial-care-grid section{break-inside:avoid;page-break-inside:avoid}}
