:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17201c;background:#f7f8f5;line-height:1.5;font-weight:400}.inventory-metrics article:nth-child(2) strong{color:#a06300}.inventory-metrics article:nth-child(3) strong{color:#b3261e}.inventory-metrics article{display:flex;align-items:baseline;gap:4px}.inventory-metrics span{color:#17201c}.inventory-layout{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}.inventory-title-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.inventory-side{display:grid;gap:18px}.inventory-filters{display:grid;grid-template-columns:minmax(220px,1fr) 180px;gap:12px;margin:18px 0}.inventory-search .input-with-icon{position:relative}.inventory-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#6d7a73}.inventory-search input{padding-left:38px}.inventory-table,.inventory-movements{display:grid;gap:0;overflow-x:auto}.inventory-row,.inventory-movement-row{display:grid;gap:12px;align-items:center;min-width:900px;border-bottom:1px solid #e5ebe6}.inventory-row{grid-template-columns:minmax(220px,1.25fr) 120px 100px 110px 120px 120px 210px;padding:12px 0}.inventory-movement-row{grid-template-columns:150px 110px 100px 100px 100px minmax(220px,1fr);padding:12px 0}.inventory-header{color:#627069;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.inventory-item-row{cursor:pointer}.inventory-item-row:hover,.inventory-item-row.selected{background:#f7faf7}.inventory-item-row>span,.inventory-movement-row>span{display:grid;gap:2px;min-width:0}.inventory-item-row strong,.inventory-movement-row strong{color:#17201c}.inventory-item-row small,.inventory-movement-row small{color:#68766f}.inventory-status{width:fit-content;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.inventory-status.suficiente{background:#e7f4ed;color:#17633f}.inventory-status.bajo{background:#fff4d8;color:#8a5a00}.inventory-status.agotado{background:#fde8e5;color:#a32219}.inventory-item-row>.inventory-actions{display:flex;gap:6px;justify-content:flex-end}.inventory-actions button{min-height:34px;border:1px solid #d9e2db;border-radius:7px;background:#fff;color:#23423a;padding:6px 9px;cursor:pointer}.inventory-actions button:hover{border-color:#0f7666;color:#0f7666}.inventory-form-actions{display:flex;gap:10px;justify-content:flex-end}.inventory-history-panel{margin-top:18px}.inventory-history-panel .inventory-movement-row{grid-template-columns:minmax(170px,1.1fr) minmax(110px,.7fr) minmax(110px,.6fr) minmax(110px,.6fr) minmax(110px,.6fr) minmax(360px,2fr);gap:20px;min-width:0;width:100%}.inventory-history-panel .inventory-movement-row>span:not(:last-child){white-space:nowrap}.inventory-history-panel .inventory-movement-row>span:nth-child(3),.inventory-history-panel .inventory-movement-row>span:nth-child(4),.inventory-history-panel .inventory-movement-row>span:nth-child(5){justify-content:end;text-align:right}.inventory-history-panel .inventory-header>span:nth-child(3),.inventory-history-panel .inventory-header>span:nth-child(4),.inventory-history-panel .inventory-header>span:nth-child(5){justify-content:end}.inventory-main-panel{margin-top:18px}.inventory-modal{width:min(1120px,calc(100vw - 64px));max-height:none;overflow:visible}.inventory-modal>header span{color:#64746c}.inventory-item-modal{gap:16px}.inventory-item-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.inventory-item-form-grid>.field:first-child,.inventory-item-form-grid>.field:nth-child(8){grid-column:1 / -1}.inventory-item-form-grid>.field:nth-child(2),.inventory-item-form-grid>.field:nth-child(3){grid-column:span 2}.inventory-item-modal .inventory-form-actions{margin-top:4px}.empty-state{color:#68766f;margin:16px 0 0}textarea{width:100%;border:1px solid #cbd7cf;border-radius:7px;padding:10px 12px;color:#17201c;background:#fff;resize:vertical}@media (max-width: 980px){.inventory-layout,.inventory-filters,.inventory-item-form-grid{grid-template-columns:1fr}.inventory-modal{width:min(720px,calc(100vw - 32px))}.inventory-item-form-grid>.field{grid-column:1 / -1}.income-trend-summary{grid-template-columns:1fr}.income-trend-table{overflow-x:auto}.income-trend-table-row{min-width:560px}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f7f8f5,#eef4ef 52%,#f5efe8)}.auth-panel{width:min(920px,100%);display:grid;grid-template-columns:1fr 1.1fr;background:#fff;border:1px solid #dfe6df;border-radius:8px;overflow:hidden;box-shadow:0 24px 80px #25312b24}.auth-copy{padding:40px;background:#0f463c;color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-logo{width:min(360px,100%);height:auto;object-fit:contain;margin-bottom:24px;mix-blend-mode:screen}.auth-copy h1{margin:0 0 8px;font-size:32px;line-height:1.12}.auth-copy p{color:#ffffffdb;max-width:340px}.auth-form{display:grid;gap:18px;padding:36px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:8px;background:#eef1ed}.segmented button{border:0;border-radius:6px;background:transparent;padding:10px 12px;cursor:pointer;color:#4c5a54}.segmented .selected{background:#fff;color:#113c37;box-shadow:0 1px 4px #17201c1f}.field{display:grid;gap:6px;color:#34433c;font-size:14px}.field input,.field select{width:100%;border:1px solid #cfd8d1;border-radius:6px;padding:10px 12px;background:#fff;color:#17201c}.currency-input{width:100%;min-height:40px;border:1px solid #cfd8d1;border-radius:6px;display:flex;align-items:center;background:#fff;color:#17201c}.currency-input>span{flex:0 0 auto;padding-left:12px;color:#6c7b73;font-weight:800}.currency-input input{width:100%;min-width:0;border:0;background:transparent;padding:10px 12px 10px 7px;color:inherit;font:inherit;text-align:right}.currency-input input:focus{outline:0}.currency-input:focus-within{outline:3px solid #dbeee9;border-color:#2f7c71}.field input:focus,.field select:focus{outline:3px solid #dbeee9;border-color:#2f7c71}.field .currency-input input:focus{outline:0;border-color:transparent}.formatted-date-input{position:relative;width:100%;min-height:41px;border:1px solid #cfd8d1;border-radius:6px;display:flex;align-items:center;overflow:hidden;background:#fff;color:#17201c}.formatted-date-input input[type=text]{flex:1;min-width:0;border:0;background:transparent;padding:10px 12px;color:inherit;font:inherit}.formatted-date-input input[type=text]:focus{outline:0}.formatted-date-input button{width:40px;height:40px;border:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#17201c;cursor:pointer}.formatted-date-input:focus-within{outline:3px solid #dbeee9;border-color:#2f7c71}.formatted-date-input .native-date-input{position:absolute;right:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none}.field small,.form-error{color:#b42318;margin:0}.success-message{margin:0;border:1px solid #b9dfd3;border-radius:8px;padding:10px 12px;background:#eefaf6;color:#0f5f3b;font-weight:700}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.three-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.button{min-height:40px;border:0;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;cursor:pointer;font-weight:650;white-space:nowrap;text-decoration:none}.button-primary{background:#146c63;color:#fff}.button-secondary{background:#f0eee8;color:#29362f}.button.dirty-action-button:not(:disabled){background:#766f4f;color:#fff}.button.saved-action-button,.button.saved-action-button:disabled{background:#147a55;color:#fff;opacity:1}.button-ghost{background:transparent;color:#52635b}.button:disabled{opacity:.65;cursor:not-allowed}.shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{border-right:1px solid #dfe6df;background:#fff;padding:18px;display:grid;grid-template-rows:auto 1fr auto;gap:20px}.brand{display:grid;gap:2px}.brand strong{color:#10231f;font-size:17px;line-height:1.15}.brand span,.sidebar-user span{color:#6c7b73;font-size:13px}.sidebar nav{display:grid;align-content:start;gap:6px}.sidebar a{min-height:40px;display:flex;align-items:center;gap:10px;padding:10px 12px;color:#44534d;text-decoration:none;border-radius:6px}.sidebar a.active,.sidebar a:hover{background:#eaf4f1;color:#113c37}.sidebar-user{display:grid;gap:8px}.main{padding:28px}.page{display:grid;gap:22px}.page-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.page-header h1{margin:0;font-size:30px;color:#17201c}.eyebrow{margin:0 0 4px;color:#727b54;font-size:13px;font-weight:700;text-transform:uppercase}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.date-navigator{display:grid;grid-template-columns:42px 132px 42px;align-items:end;gap:6px}.date-navigator .button{width:42px;height:42px;min-width:42px;min-height:42px;border:1px solid #cfd8d1;background:#fff;color:#17201c;padding:10px 12px;font-size:17px;line-height:1;font-weight:600}.date-navigator .button:hover,.date-navigator .button:focus{border-color:#2f7c71;background:#fff}.date-navigator .button:focus{outline:3px solid #dbeee9}.date-navigator .field input{height:42px;padding:9px 10px}.agenda-date-field{position:relative}.agenda-date-display{width:100%;height:42px;border:1px solid #cfd8d1;border-radius:6px;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;background:#fff;color:#17201c;cursor:pointer;font:inherit}.agenda-date-display:focus{outline:3px solid #dbeee9;border-color:#2f7c71}.agenda-date-display svg{color:#52635b;flex:0 0 auto}.native-date-input{position:absolute;right:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none}.metrics{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.metric{background:#fff;border:1px solid #dfe6df;border-radius:8px;padding:16px;display:grid;gap:8px}.metric span{color:#6c7b73;font-size:14px}.metric strong{font-size:24px}.work-list,.panel{background:#fff;border:1px solid #dfe6df;border-radius:8px;padding:18px}.work-list header,.panel h2{margin:0 0 14px}.work-list header span{color:#6c7b73}.daily-view-date{margin-left:8px;color:#16786b;font-size:16px;font-weight:800}.appointment-row,.user-row{display:grid;grid-template-columns:80px 1.2fr 1fr auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #edf1ee}.appointment-row time{color:#146c63;font-weight:700}.appointment-patient-link{border:0;padding:0;background:transparent;color:#17201c;font:inherit;font-weight:700;text-align:left;cursor:pointer}.appointment-patient-link:hover,.appointment-patient-link:focus{color:#146c63;text-decoration:underline}.appointment-status-select{justify-self:start;min-height:30px;border:0;border-radius:999px;padding:4px 28px 4px 9px;font-size:12px;font-weight:700;cursor:pointer}.appointment-status-select:focus{outline:3px solid #dbeee9}.appointment-status-select:disabled{opacity:.7;cursor:wait}mark{justify-self:start;background:#f8e7bf;color:#6a4a00;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.settings-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:start}.catalog-settings-grid{grid-template-columns:1fr}.reminders-settings-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.reminder-settings-panel{display:grid;gap:18px}.reminder-settings-form{display:grid;gap:16px}.checkbox-field{grid-auto-flow:column;grid-template-columns:auto 1fr;align-items:center;justify-content:start;padding:12px 14px;border:1px solid #dfe8df;border-radius:8px;background:#f8fbf8}.checkbox-field input{width:18px;height:18px;accent-color:#16786b}.reminder-auto-note{display:grid;gap:8px;border:1px solid #dfe8df;border-radius:8px;padding:12px 14px;background:#f8fbf8;color:#60736a;font-size:14px}.reminder-auto-note strong{color:#34433c}.reminder-auto-note span{color:#66756c;font-size:12px;font-weight:800;text-transform:uppercase}.reminder-auto-note pre{margin:0;border-left:3px solid #16786b;padding-left:12px;color:#24352f;font:inherit;line-height:1.55;white-space:pre-wrap;word-break:break-word}.form-action-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.reminder-log-list{display:grid}.reminder-log-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding:14px 0;border-top:1px solid #edf1ee}.reminder-log-row:first-child{border-top:0}.reminder-log-row div{display:grid;gap:4px}.reminder-log-row strong{color:#17201c}.reminder-log-row span,.reminder-log-row small{color:#60736a}.reminder-log-row small{word-break:break-word}.success-mark{background:#dff8ea;color:#12633a}.warning-mark{background:#fff1df;color:#915515}.catalog-title-actions{margin:14px 0 4px}.report-filter-title{margin:0 0 14px;color:#10211d;font-size:20px;font-weight:900}.report-filter-row{display:grid;grid-template-columns:repeat(2,minmax(180px,240px)) minmax(320px,1fr);gap:14px;align-items:end}.report-view-field{justify-self:end;width:min(420px,100%)}.report-view-tabs{margin:0;justify-content:flex-end}.report-table{display:grid}.report-row{display:grid;grid-template-columns:1.2fr repeat(4,minmax(120px,1fr));gap:12px;align-items:center;padding:12px 0;border-top:1px solid #edf1ee}.report-row span{color:#34433c}.report-header{padding-top:0;border-top:0;color:#6c7b73;font-size:12px;font-weight:800;text-transform:uppercase}.report-header span{color:inherit}.settings-tabs{width:min(720px,100%);margin-bottom:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.agenda-main{display:grid;gap:16px}.user-list,.catalog-list{display:grid}.catalog-row{display:grid;grid-template-columns:1.4fr 100px 120px auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #edf1ee}.catalog-header-row{padding:0 0 8px;border-top:0;color:#6c7b73;font-size:12px;font-weight:800;text-transform:uppercase}.treatment-catalog-row{grid-template-columns:minmax(220px,1.3fr) minmax(140px,.7fr) minmax(150px,.7fr) 110px 96px auto 92px}.category-catalog-row{grid-template-columns:1fr auto 92px}.unit-catalog-row{grid-template-columns:minmax(220px,1fr) minmax(120px,.45fr) auto 92px}.supplier-catalog-row{grid-template-columns:minmax(220px,1.3fr) minmax(130px,.8fr) minmax(110px,.7fr) minmax(150px,.9fr) auto 92px}.recipe-catalog-row{grid-template-columns:minmax(220px,1.2fr) minmax(220px,1.1fr) 110px auto minmax(150px,auto)}.recipe-master-detail{display:grid;grid-template-columns:minmax(260px,.34fr) minmax(0,1fr);gap:18px;align-items:start}.recipe-treatment-list{display:grid;gap:8px;max-height:620px;overflow:auto;padding-right:4px}.recipe-treatment-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid #dfe6df;border-radius:8px;padding:12px;background:#fff;color:#17201c;text-align:left;cursor:pointer}.recipe-treatment-list button:hover,.recipe-treatment-list button.selected{border-color:#7eb7ad;background:#f3faf8}.recipe-treatment-list button span{display:grid;gap:4px}.recipe-treatment-list small{color:#6c7b73;font-size:12px}.recipe-treatment-list mark{min-width:28px;text-align:center;background:#e0f3ee;color:#146c63}.recipe-detail-panel{min-width:0;border:1px solid #dfe6df;border-radius:8px;padding:16px;background:#fff}.recipe-detail-header{display:flex;justify-content:space-between;gap:16px;align-items:start;padding-bottom:14px;border-bottom:1px solid #edf1ee}.recipe-detail-header h3{margin:0 0 4px;font-size:22px}.recipe-detail-header span{color:#6c7b73}.recipe-detail-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.recipe-detail-stats span{display:grid;gap:2px;border-radius:999px;padding:7px 11px;background:#eef4f1;color:#123d36;font-weight:800}.recipe-detail-stats small{color:#6c7b73;font-size:10px;font-weight:800;text-transform:uppercase}.recipe-detail-list{margin-top:10px}.recipe-detail-row{grid-template-columns:minmax(280px,1fr) 120px 130px minmax(150px,auto)}.recipe-detail-header-row{padding:0 0 8px;border-top:0;color:#6c7b73;font-size:12px;font-weight:800;text-transform:uppercase}.recipe-cost-cell{color:#146c63;font-weight:800}.selected-recipe-treatment{display:grid;gap:6px;border:1px solid #dfe6df;border-radius:8px;padding:12px;background:#fbfcfb}.selected-recipe-treatment span{color:#6c7b73;font-size:13px}.recipe-bulk-list{display:grid;gap:12px}.recipe-bulk-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(110px,.3fr) auto;gap:12px;align-items:end;border:1px solid #edf1ee;border-radius:8px;padding:12px;background:#fbfcfb}.recipe-bulk-row.is-pending{border-color:#dfe6df;background:#fbfcfb}.recipe-bulk-row.is-complete{border-color:#a8d8cf;background:#f0faf7}.recipe-bulk-row .quote-remove-button{min-height:44px}.catalog-inline-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.catalog-tabs{display:flex;gap:22px;margin:2px 0 14px;border-bottom:1px solid #edf1ee;overflow-x:auto}.catalog-tabs button,.catalog-tabs a{position:relative;min-height:42px;display:inline-flex;align-items:center;gap:8px;border:0;border-bottom:2px solid transparent;padding:0 0 11px;background:transparent;color:#6c7b73;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer;text-decoration:none}.catalog-tabs button:hover,.catalog-tabs a:hover{color:#146c63}.catalog-tabs button.selected,.catalog-tabs a.selected{color:#113c37;border-bottom-color:#146c63}.catalog-tabs strong{min-width:24px;border-radius:999px;padding:3px 7px;background:#eef1ed;color:#506058;font-size:12px;line-height:1;text-align:center}.catalog-tabs button.selected strong,.catalog-tabs a.selected strong{background:#dff4ee;color:#146c63}.report-section-tabs{margin-bottom:18px}.report-placeholder{min-height:220px}.graphs-dashboard{display:grid;gap:16px}.graph-panel{gap:16px}.income-trend-panel{grid-column:1 / -1}.income-trend-header{gap:18px}.income-trend-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.income-trend-summary article{display:grid;gap:4px;border:1px solid #edf1ee;border-radius:8px;padding:14px;background:#fff}.income-trend-summary span{color:#6c7b73;font-size:12px;font-weight:900;text-transform:uppercase}.income-trend-summary strong{color:#123d36;font-size:22px;font-variant-numeric:tabular-nums}.income-trend-chart{width:100%;min-height:330px;margin-top:4px}.income-trend-chart svg{display:block;width:100%;height:330px}.income-trend-grid{stroke:#edf1ee;stroke-width:1}.income-trend-axis-label,.income-trend-period-label{fill:#6c7b73;font-size:12px;font-weight:800}.income-trend-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.income-trend-line.real{stroke:#146c63}.income-trend-line.estimated{stroke:#c79a2b;stroke-dasharray:10 9}.income-trend-dot.real{fill:#146c63}.income-trend-dot.estimated{fill:#c79a2b}.income-trend-legend{margin-top:4px;margin-bottom:14px}.income-trend-table{display:grid;border-top:1px solid #edf1ee}.income-trend-table-row{display:grid;grid-template-columns:minmax(160px,1.2fr) repeat(3,minmax(110px,.8fr));gap:12px;align-items:center;border-bottom:1px solid #edf1ee;padding:12px 0}.income-trend-table-row span{text-align:right;font-variant-numeric:tabular-nums}.income-trend-table-row strong{color:#123d36}.income-trend-table-row.head{color:#6c7b73;font-size:12px;font-weight:900;text-transform:uppercase}.income-trend-table-row.head span:first-child{text-align:left}.finance-comparison-list{display:grid;gap:12px}.finance-comparison-row{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:18px;align-items:center;border:1px solid #edf1ee;border-radius:8px;padding:14px;background:#fff}.finance-period-label{display:grid;gap:4px}.finance-period-label strong{color:#123d36;font-size:18px}.finance-period-label span{color:#6c7b73;font-size:12px;font-weight:700}.finance-bars{display:grid;gap:9px}.finance-bar-line{display:grid;grid-template-columns:74px 1fr 112px;gap:10px;align-items:center}.finance-bar-line>span{color:#6c7b73;font-size:12px;font-weight:900;text-transform:uppercase}.finance-bar-line>strong{color:#24332e;font-variant-numeric:tabular-nums;text-align:right}.finance-track{height:14px;border-radius:999px;background:#edf1ee;overflow:hidden}.finance-track i{display:block;height:100%;min-width:2px;border-radius:inherit}.finance-track.real i{background:#146c63}.finance-track.estimated i{background:#c79a2b}.split-bar{height:8px;display:flex;border-radius:999px;background:#edf1ee;overflow:hidden}.split-bar span{min-width:2px}.split-bar .consultation{background:#146c63}.split-bar .advance{background:#d98934}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;color:#53625b;font-size:12px}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend span:before{content:"";display:block;width:24px;height:4px;border-radius:999px;background:#6c7b73}.chart-legend .real:before{background:#146c63}.chart-legend .estimated:before{background:#c79a2b}.capacity-list{display:grid;gap:12px}.capacity-row-card{display:grid;grid-template-columns:minmax(120px,170px) 1fr 76px;gap:14px;align-items:center;border:1px solid #edf1ee;border-radius:8px;padding:14px;background:#fff}.capacity-row-label{display:grid;gap:2px}.capacity-row-label strong{color:#123d36}.capacity-row-label span{color:#6c7b73;font-size:12px;font-weight:800}.capacity-track{height:18px;border-radius:999px;background:#edf1ee;overflow:hidden}.capacity-track span{display:block;height:100%;min-width:2px;border-radius:inherit;background:linear-gradient(90deg,#146c63,#52a393)}.capacity-percent{color:#123d36;text-align:right}.inventory-graph-panel,.treatment-profitability-panel{grid-column:1 / -1}.inventory-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.inventory-summary-strip article{display:grid;gap:4px;border:1px solid #edf1ee;border-radius:8px;padding:14px;background:#fbfcfb}.inventory-summary-strip span,.inventory-card h3,.inventory-critical-title,.treatment-profitability-row.head{color:#6c7b73;font-size:12px;font-weight:900;text-transform:uppercase}.inventory-summary-strip strong{color:#123d36;font-size:22px;font-variant-numeric:tabular-nums}.inventory-graph-grid{display:grid;grid-template-columns:1fr;gap:16px}.inventory-card,.inventory-critical-strip{border:1px solid #edf1ee;border-radius:8px;padding:16px;background:#fff}.inventory-card h3{margin:0 0 14px}.inventory-category-list,.inventory-movement-list,.inventory-critical-list{display:grid;gap:12px}.inventory-category-row{display:grid;grid-template-columns:minmax(220px,320px) 1fr;align-items:center;gap:14px}.inventory-category-label,.inventory-movement-row{display:grid;gap:3px}.inventory-category-label strong,.inventory-movement-row strong,.inventory-critical-item strong,.treatment-profitability-row strong{color:#123d36}.inventory-category-label span,.inventory-movement-row small,.inventory-critical-item span{color:#6c7b73;font-size:12px;font-weight:800}.inventory-stock-stack{display:flex;height:18px;overflow:hidden;border-radius:999px;background:#edf1ee}.inventory-stock-stack i{min-width:3px;height:100%}.inventory-stock-stack .sufficient,.chart-legend .sufficient:before,.inventory-movement-bars .entry,.chart-legend .entry:before,.chart-legend .profit:before,.treatment-bar-profit{fill:#146c63;background:#146c63}.inventory-stock-stack .low,.chart-legend .low:before,.inventory-movement-bars .exit,.chart-legend .exit:before,.chart-legend .cost:before,.treatment-bar-cost{fill:#c79a2b;background:#c79a2b}.inventory-stock-stack .out,.chart-legend .out:before{background:#c44b3b}.inventory-movement-row{grid-template-columns:minmax(90px,140px) minmax(0,1fr) minmax(230px,auto);align-items:center;gap:12px}.inventory-movement-card{margin-top:16px}.inventory-movement-bars{display:grid;gap:5px}.inventory-movement-bars span{display:block;min-width:3px;height:8px;border-radius:999px}.inventory-critical-strip{margin-top:16px}.inventory-critical-title{display:flex;align-items:center;gap:8px;margin-bottom:12px}.inventory-critical-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.inventory-critical-item{display:grid;gap:3px;border:1px solid #edf1ee;border-radius:8px;padding:12px}.inventory-critical-item.agotado{border-color:#f0c8c2;background:#fff8f7}.inventory-critical-item.bajo{border-color:#ead8a7;background:#fffaf0}.treatment-profitability-chart{width:100%;min-height:360px}.treatment-profitability-chart svg{display:block;width:100%;height:360px}.treatment-bar-profit,.treatment-bar-cost{shape-rendering:geometricPrecision}.treatment-profit-label{fill:#123d36;font-size:12px;font-weight:900}.treatment-profitability-table{display:grid;border-top:1px solid #edf1ee;margin-top:14px}.treatment-profitability-row{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(5,minmax(90px,.8fr));gap:12px;align-items:center;border-bottom:1px solid #edf1ee;padding:12px 0}.treatment-profitability-row span{text-align:right;font-variant-numeric:tabular-nums}.treatment-profitability-row.head span:first-child{text-align:left}.patients-report-table,.patients-report-detail-table{display:grid}.patients-report-row,.patients-report-detail-row{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(2,minmax(92px,.65fr)) repeat(4,minmax(120px,.8fr));gap:12px;align-items:center;border:0;border-top:1px solid #edf1ee;padding:12px 0;background:transparent;color:inherit;font:inherit;text-align:left}.patients-report-row:not(.patients-report-header){cursor:pointer}.patients-report-row:not(.patients-report-header):hover{background:#fbfcfb}.patients-report-row.is-expanded{background:#f5faf7;color:#123d36}.patients-report-accordion-item{display:grid}.patients-report-accordion-detail{border-top:1px solid #edf1ee;border-bottom:1px solid #dfe6df;padding:10px 14px 14px;background:#fbfcfb}.patients-report-header{border-top:0;color:#6c7b73;font-size:12px;font-weight:800;text-transform:uppercase;cursor:default}.patients-report-detail-row{grid-template-columns:130px minmax(220px,1.4fr) 120px repeat(3,120px);padding:10px 0}.patients-report-detail-row span,.patients-report-detail-row time{color:#34433c}.catalog-row div{display:grid;gap:3px}.editable-catalog-row input,.editable-catalog-row select{width:100%;min-height:36px;border:1px solid transparent;border-radius:6px;padding:7px 9px;background:transparent;color:#17201c;font:inherit}.editable-catalog-row input:hover,.editable-catalog-row select:hover{border-color:#dfe6df;background:#fbfcfb}.editable-catalog-row input:focus,.editable-catalog-row select:focus{outline:3px solid #dbeee9;border-color:#2f7c71;background:#fff}.editable-catalog-row .currency-input{min-height:36px;border-color:transparent;background:transparent}.editable-catalog-row .currency-input:hover{border-color:#dfe6df;background:#fbfcfb}.editable-catalog-row .currency-input:focus-within{outline:3px solid #dbeee9;border-color:#2f7c71;background:#fff}.editable-catalog-row .currency-input input{min-height:34px;padding:7px 9px 7px 5px;border:0}.editable-catalog-main input:first-child{font-weight:800}.editable-catalog-main input:last-child{color:#6c7b73}.catalog-price-input{color:#146c63;font-weight:800}.catalog-duration-input{color:#49584f;font-weight:800}.save-inline-button{min-height:34px;border:1px solid #146c63;border-radius:6px;background:#146c63;color:#fff;padding:7px 11px;font-weight:800;cursor:pointer}.save-inline-button:disabled{opacity:.65;cursor:wait}.tooth-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.tooth-card{min-height:112px;display:grid;align-content:start;gap:7px;border:1px solid #dfe6df;border-radius:8px;padding:12px;background:#fbfcfb}.tooth-card strong{color:#146c63;font-size:24px}.tooth-card span{color:#17201c;font-weight:700}.tooth-card mark{border-radius:6px;padding:5px 7px}.catalog-note p{margin:0;color:#6c7b73;line-height:1.55}.catalog-row span,.catalog-row div span,.panel-toolbar span{color:#6c7b73}.catalog-price{color:#146c63}.status-pill{border:1px solid #cfd8d1;border-radius:999px;background:#fff;padding:7px 11px;font-weight:700;cursor:pointer}.status-pill.active{color:#146c63;border-color:#94cfc0;background:#eefaf6}.status-pill.muted{color:#6c7b73;background:#f4f6f4}.inline-check{grid-template-columns:auto 1fr;align-items:center}.inline-check input{width:18px;height:18px}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.search-box{min-height:40px;display:flex;align-items:center;gap:8px;flex:1;border:1px solid #cfd8d1;border-radius:6px;padding:0 12px;background:#fff}.search-box input{width:100%;border:0;outline:0;background:transparent}.patient-list{display:grid;gap:10px}.patient-card{border-top:1px solid #edf1ee;padding:14px 0;display:grid;grid-template-columns:1fr auto;gap:10px}.patient-card strong{display:block;margin-bottom:3px}.patient-card-main{text-align:left;border:0;padding:0;background:transparent;cursor:pointer;color:inherit}.patient-card span,.panel-toolbar span,.empty-state{color:#6c7b73}.patient-tabs{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.patient-tabs span{border:1px solid #dfe6df;border-radius:999px;padding:4px 9px;font-size:12px;color:#4b5f56;background:#fafbf9}.patient-picker{display:grid;gap:12px}.patient-title-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.patient-search-panel{width:100%}.patient-counts{display:flex;flex-wrap:wrap;gap:8px}.patient-search-results{border:1px solid #dfe6df;border-radius:8px;display:grid;overflow:hidden;background:#fff}.patient-search-results button{border:0;border-bottom:1px solid #edf1ee;display:grid;grid-template-columns:1fr 1.2fr auto;gap:10px;align-items:center;padding:10px 12px;background:#fff;color:#17201c;text-align:left;cursor:pointer}.patient-search-results button:last-child{border-bottom:0}.patient-search-results button:hover,.patient-search-results button.selected{background:#eefaf6}.patient-search-results span{color:#6c7b73;font-size:13px}.patient-search-results mark{border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.patient-counts span{border:1px solid #dfe6df;border-radius:999px;padding:5px 10px;background:#fbfcfb;color:#526159;font-size:12px;font-weight:800}.patient-selected-summary{border:1px solid #dfe6df;border-radius:8px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;background:#fbfcfb}.patient-selected-main{display:flex;min-width:0;gap:10px;align-items:center;white-space:nowrap}.patient-selected-main strong,.patient-selected-main span{overflow:hidden;text-overflow:ellipsis}.patient-selected-summary span{color:#6c7b73}.patient-summary-actions{display:flex;gap:4px;align-items:center}.patient-icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border:0;border-radius:999px;background:transparent;color:#16786b;cursor:pointer}.patient-icon-button:hover{background:#eef7f3}.patient-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.patient-info-item{display:grid;gap:6px;border:1px solid #e3ebe5;border-radius:8px;padding:12px;background:#fbfcfb}.patient-info-item.wide{grid-column:1 / -1}.patient-info-item span{color:#6c7b73;font-size:12px;font-weight:800;text-transform:uppercase}.patient-info-item strong{color:#17201c;font-size:15px;font-weight:700}.patient-selected-summary mark{border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.user-row{grid-template-columns:1fr 1.2fr auto}.compact-form{display:grid;gap:14px}.form-subsection{display:grid;gap:8px}.form-subsection h3{margin:0;color:#34433c;font-size:14px;font-weight:400}.agenda-row{grid-template-columns:80px 1.1fr 1fr auto auto auto}.appointment-payment-button{min-height:30px;padding:5px 10px;font-size:12px}.appointment-whatsapp-button{width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:#25d366;color:#fff;text-decoration:none;box-shadow:0 8px 18px #25d3663d}.appointment-whatsapp-button img{width:21px;height:21px;display:block}.appointment-whatsapp-button:hover,.appointment-whatsapp-button:focus{background:#1fb85a;color:#fff}.appointment-whatsapp-button.disabled{background:#f0eee8;color:#8a938d;cursor:not-allowed;opacity:.62;box-shadow:none}.appointment-payment-amount{justify-self:start;min-height:30px;border-radius:999px;display:inline-flex;align-items:center;padding:4px 10px;background:#d9f2e6;color:#0f5f3b;font-size:12px}.appointment-charge-preview{border:1px solid #cae8df;border-radius:8px;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;background:#eefaf6}.appointment-charge-preview span{color:#527067;font-size:13px;font-weight:800}.appointment-charge-preview strong{color:#146c63;font-size:18px}.payment-context{display:grid;gap:2px;padding:12px;border:1px solid #edf1ee;border-radius:8px;background:#fbfcfb}.payment-context span{color:#6c7b73;font-size:13px}.payment-context p{margin:4px 0 0;color:#34433c}.treatment-acceptance-box{display:grid;gap:12px;border:1px solid #cae8df;border-radius:8px;padding:14px;background:#f5fbf8}.treatment-acceptance-box h3{margin:0 0 4px;color:#123d36;font-size:15px}.treatment-acceptance-box p{margin:0;color:#526159;font-size:13px;line-height:1.45}.acceptance-check{display:flex;gap:9px;align-items:center;color:#34433c;font-size:14px}.acceptance-check input{width:16px;height:16px;accent-color:#15796d}.signature-pad{display:grid;gap:8px}.signature-pad canvas{width:100%;height:180px;border:1px solid #cfdad3;border-radius:8px;background:#fff;touch-action:none;cursor:crosshair}.payment-modal{width:1320px;min-width:1320px;max-width:none;max-height:calc(100vh - 32px);overflow-y:auto;overflow-x:visible}.payment-modal-grid{display:grid;grid-template-columns:560px 680px;gap:28px;align-items:stretch}.payment-modal-column{display:grid;align-content:start;gap:16px;min-width:0}.treatment-acceptance-placeholder{display:grid;gap:6px;border:1px dashed #cfdad3;border-radius:8px;padding:14px;background:#fbfcfb;color:#6c7b73}.treatment-acceptance-placeholder h3{margin:0;color:#123d36;font-size:15px}.treatment-acceptance-placeholder p{margin:0;font-size:13px;line-height:1.45}.calendar-panel{background:#fff;border:1px solid #dfe6df;border-radius:8px;padding:18px}.calendar-panel-header{display:flex;justify-content:space-between;gap:14px;align-items:start;margin-bottom:14px}.calendar-panel-header h2{margin:0 0 4px}.calendar-panel-header span{color:#6c7b73}.calendar-month-highlight{color:#146c63;font-weight:800}.compact-segmented{width:210px;flex:0 0 auto}.compact-segmented button{min-height:34px;padding:7px 10px}.calendar-surface{display:grid;gap:8px;padding:10px;border:1px solid #edf1ee;border-radius:8px;background:#f8faf7}.calendar-surface-week{grid-template-columns:repeat(7,minmax(86px,1fr))}.calendar-surface-month{grid-template-columns:repeat(7,minmax(62px,1fr))}.calendar-weekday{padding:2px 8px;color:#6c7b73;font-size:12px;font-weight:700;text-transform:uppercase}.calendar-day{min-height:112px;border:1px solid #dfe6df;border-radius:8px;display:grid;align-content:start;gap:8px;padding:10px;background:#fff;color:#17201c;text-align:left}.calendar-surface-month .calendar-day{min-height:94px;padding:8px}.calendar-day:hover{border-color:#b9c9c2;background:#fbfcfb}.calendar-day.selected{border-color:#146c63;box-shadow:0 0 0 3px #dbeee9}.calendar-day.today .calendar-day-top strong{background:#146c63;color:#fff}.calendar-day.muted{color:#8a9690;background:#fbfbf9}.calendar-day-top{width:100%;border:0;background:transparent;padding:0;display:flex;justify-content:space-between;gap:8px;align-items:center;color:#6c7b73;font-size:12px;font-weight:700;text-transform:uppercase;text-align:left;cursor:pointer}.calendar-day-top strong{min-width:26px;height:26px;border-radius:999px;display:inline-grid;place-items:center;color:#17201c;font-size:14px}.calendar-day-events{display:grid;gap:5px;max-height:176px;overflow-y:auto;padding-right:2px;scrollbar-width:thin;scrollbar-color:#c5d5ce transparent}.calendar-surface-month .calendar-day-events{max-height:58px}.calendar-day-events::-webkit-scrollbar{width:6px}.calendar-day-events::-webkit-scrollbar-track{background:transparent}.calendar-day-events::-webkit-scrollbar-thumb{border-radius:999px;background:#c5d5ce}.calendar-event{display:grid;gap:1px;border:0;padding:6px 7px;border-radius:6px;background:#eaf4f1;color:#113c37;font-size:12px;text-align:left;cursor:pointer}.calendar-event:hover,.calendar-event:focus{outline:0;background:#d9eee8;box-shadow:inset 0 0 0 1px #9dc9be}.calendar-event time{font-weight:800}.calendar-event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-events em{color:#6c7b73;font-size:12px;font-style:normal}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#101c185c}.payment-modal-backdrop{overflow:auto;place-items:center}.appointment-modal{width:min(560px,100%);border:1px solid #dfe6df;border-radius:8px;padding:20px;background:#fff;box-shadow:0 24px 80px #17201c38}.appointment-modal.patient-create-modal{width:min(1280px,calc(100vw - 48px))}.patient-create-modal>header span{color:#64746c}.appointment-modal>header{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:18px}.appointment-modal h2{margin:0}.settings-modal-backdrop{overflow:auto}.settings-catalog-modal-shell{width:min(760px,calc(100vw - 32px));border:1px solid #dfe6df;border-radius:8px;padding:24px;background:#fff;box-shadow:0 24px 80px #17201c38}.settings-catalog-modal-shell>header{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:18px}.settings-catalog-modal-shell>header h2{margin:0}.settings-catalog-modal-shell>.panel{border:0;padding:0;box-shadow:none}.settings-catalog-modal-shell>.panel>h2{display:none}.odontogram-modal{width:min(920px,100%);max-height:min(820px,calc(100vh - 40px));overflow-y:auto}.odontogram-full-link{width:fit-content;border:0;padding:0;background:transparent;color:#146c63;font:inherit;font-size:14px;font-weight:800;cursor:pointer}.odontogram-full-link:hover,.odontogram-full-link:focus{outline:0;color:#0f4f49;text-decoration:underline}.odontogram-modal-grid{display:grid;grid-template-columns:repeat(16,minmax(42px,1fr));gap:8px;margin-bottom:16px}.odontogram-modal-tooth{min-height:58px;border:1px solid #dfe6df;border-radius:8px;display:grid;place-items:center;gap:5px;padding:8px 4px;background:#fff;color:#17201c;text-align:center}.odontogram-modal-tooth strong{font-size:16px;line-height:1}.odontogram-status-abbr{min-width:28px;max-width:100%;border-radius:999px;padding:2px 5px;background:transparent;color:currentColor;font-size:10px;font-weight:900;line-height:1.1;overflow:hidden;text-overflow:clip;white-space:nowrap}.odontogram-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.odontogram-detail-card{border:1px solid #edf1ee;border-radius:8px;padding:12px;background:#fbfcfb}.odontogram-detail-card header{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.odontogram-detail-card header span{color:#146c63;font-weight:800}.odontogram-detail-card dl{display:grid;gap:8px;margin:0}.odontogram-detail-card dl div{display:grid;gap:3px}.odontogram-detail-card dt{color:#6c7b73;font-size:12px;font-weight:800;text-transform:uppercase}.odontogram-detail-card dd{margin:0;color:#17201c}.appointment-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}.appointment-detail-grid div{display:grid;gap:4px;padding:12px;border:1px solid #edf1ee;border-radius:8px;background:#fbfcfb}.appointment-detail-grid dt{color:#6c7b73;font-size:12px;font-weight:800;text-transform:uppercase}.appointment-detail-grid dd{margin:0;color:#17201c}.appointment-detail-grid .detail-full{grid-column:1 / -1}.appointment-detail-actions{display:flex;justify-content:flex-end;margin-top:16px}.status-confirmed{background:#d9f2e6;color:#0f5f3b}.status-scheduled{background:#e8edf7;color:#284169}.status-waiting,.status-in_consultation{background:#fff1c2;color:#674d00}.status-completed{background:#dceee5;color:#1f5b42}.status-cancelled,.status-no_show{background:#fce1dc;color:#9b2c1f}.clinical-panel,.billing-panel,.files-panel{display:grid;gap:16px}.clinical-panel>header{display:grid;gap:2px}.clinical-panel>header h2,.billing-panel>header h2,.files-panel>header h2{margin:0}.clinical-panel>header span,.billing-panel>header span,.files-panel>header span{color:#6c7b73}.file-upload{display:grid;grid-template-columns:180px 1fr 1fr auto;gap:12px;align-items:end}.file-row{display:grid;grid-template-columns:1.2fr 160px 1fr auto auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #edf1ee}.file-row a{text-decoration:none}.clinical-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check-row,.surface-row{display:flex;flex-wrap:wrap;gap:10px;color:#3d4d45;font-size:14px}.clinical-row{display:grid;grid-template-columns:120px 1.2fr 1fr 1fr;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #edf1ee}.patient-consultation-row,.clinical-row-header{grid-template-columns:110px 1.2fr .8fr .8fr .8fr 92px}.clinical-row-header{color:#6c7b73;font-size:12px;font-weight:800;text-transform:uppercase}.clinical-row time{color:#146c63;font-weight:700}.patient-history-metrics{grid-template-columns:repeat(4,minmax(150px,1fr));margin-bottom:14px}.consultation-status-filter{max-width:260px;margin-bottom:8px}.consultation-acceptance-link{justify-self:start;align-self:center}.acceptance-detail-modal{width:min(1120px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow-y:auto}.acceptance-detail{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:18px;align-items:start}.acceptance-detail .appointment-detail-grid{grid-template-columns:1fr 1fr;gap:10px}.acceptance-detail .appointment-detail-grid div{padding:10px}.acceptance-detail .appointment-detail-grid .detail-full{max-height:130px;overflow:auto}.acceptance-signature-view{display:grid;gap:8px}.acceptance-signature-view span{color:#6c7b73;font-size:12px;font-weight:800;text-transform:uppercase}.acceptance-signature-view img{width:100%;height:260px;border:1px solid #dfe6df;border-radius:8px;background:#fff;object-fit:contain}.odontogram-grid{display:grid;grid-template-columns:repeat(16,minmax(44px,1fr));gap:6px}.tooth{aspect-ratio:1 / 1;border:1px solid #cfd8d1;border-radius:6px;background:#fff;color:#17201c;display:grid;place-items:center;padding:4px;cursor:pointer}.tooth span{font-size:10px;color:#63736b}.tooth-caries,.tooth-fracture{background:#ffe4de;border-color:#f0a090}.tooth-filling,.tooth-crown,.tooth-endodontics{background:#e5efff;border-color:#9bb6e8}.tooth-missing,.tooth-extraction_indicated{background:#eee;color:#6b6b6b}.tooth-implant,.tooth-prosthesis{background:#e2f4ed;border-color:#8bc7ac}.odontogram-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.odontogram-editor .surface-row{grid-column:1 / -1}.odontogram-treatment-field,.odontogram-observation-field{min-width:0}.odontogram-treatment-field select,.odontogram-observation-field input{min-height:46px;font-size:15px}.odontogram-save-button{width:min(220px,100%);background:#6f7254;color:#fff;justify-self:end;grid-column:1 / -1}.odontogram-save-button:hover{background:#5d6047}.quote-table{display:grid}.quote-accordion-item{border-top:1px solid #edf1ee}.quote-table-row{display:grid;grid-template-columns:minmax(200px,1fr) 110px 170px 125px 125px 40px;gap:12px;align-items:center;padding:12px 0}.quote-table-header{border-top:0;padding-top:0;color:#6c7b73;font-size:12px;font-weight:800;text-transform:uppercase}.quote-link{border:0;padding:0;background:transparent;color:#146c63;font:inherit;font-weight:800;text-align:left;cursor:pointer}.quote-link:hover,.quote-link:focus{text-decoration:underline}.quote-table-row time{color:#6c7b73}.quote-table-row>strong{color:#146c63;text-align:right}.quote-status{width:fit-content;border:1px solid #dfe6df;border-radius:999px;padding:5px 10px;background:#f5f8f6;color:#526159;font-size:12px;font-weight:800}.quote-status-aceptada{border-color:#b8ded2;background:#e8f7f2;color:#146c63}.quote-status-pendiente{border-color:#e8d7ad;background:#fff8e8;color:#7a5a12}.quote-status-realizado{border-color:#c4d2ee;background:#eef4ff;color:#264c8f}.quote-row-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center}.quote-print-button{color:#146c63;text-decoration:none}.quote-accordion-detail{display:grid;gap:10px;margin:0 0 12px;border:1px solid #dfe6df;border-radius:8px;padding:12px;background:#fbfcfb}.quote-detail-row{display:grid;grid-template-columns:90px minmax(220px,1fr) minmax(200px,1.2fr) 110px 120px;gap:12px;align-items:center;border-top:1px solid #edf1ee;padding:10px 0}.quote-detail-row:first-child{border-top:0;padding-top:0}.quote-detail-row span,.quote-detail-row p{color:#6c7b73}.quote-detail-row p{margin:0}.quote-detail-row>strong:last-of-type{color:#146c63;text-align:right}.quote-acceptance-summary{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;border-bottom:1px solid #edf1ee;padding-bottom:10px}.quote-acceptance-summary span{border:1px solid #dfe6df;border-radius:8px;padding:8px 10px;background:#fff;color:#6c7b73;font-size:13px}.quote-acceptance-summary strong{margin-left:8px;color:#146c63}.quote-acceptance-button{min-height:32px;border:1px solid #dfe6df;border-radius:6px;padding:6px 10px;background:#fff;color:#526159;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.quote-acceptance-button.is-accepted{border-color:#b8ded2;background:#e8f7f2;color:#146c63}.quote-acceptance-button.is-realized{border-color:#c4d2ee;background:#eef4ff;color:#264c8f}.quote-acceptance-button:disabled{cursor:default;opacity:.85}.quote-acceptance-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px}.quote-summary{display:grid;gap:12px;border-top:1px solid #edf1ee;padding-top:14px}.quote-summary h3{margin:0;color:#34433c;font-size:16px}.quote-summary p{margin:3px 0 0;color:#6c7b73}.quote-draft{border:1px solid #dfe6df;border-radius:8px;padding:14px;background:#fbfcfb}.quote-list{display:grid;gap:8px}.general-treatment-picker{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end;border:1px solid #dfe6df;border-radius:8px;padding:12px;background:#fff}.quote-row,.quote-total{display:grid;grid-template-columns:90px minmax(180px,1fr) 140px 90px 110px;gap:10px;align-items:center;border:1px solid #edf1ee;border-radius:8px;padding:10px 12px;background:#fbfcfb}.quote-row-editable{grid-template-columns:90px minmax(180px,1fr) 140px 90px 165px auto}.quote-row span{color:#6c7b73}.quote-row strong:last-child,.quote-total strong:last-child{color:#146c63;text-align:right}.quote-price-field{min-height:36px;min-width:165px;border:1px solid #cfd8d1;border-radius:6px;display:flex;align-items:center;background:#fff;color:#146c63;font-weight:800}.quote-price-field span{padding-left:10px;color:#6c7b73}.quote-price-field input{width:100%;min-width:0;border:0;padding:7px 10px 7px 5px;background:transparent;color:inherit;font:inherit;text-align:right}.quote-price-field input:focus{outline:0}.quote-price-field:focus-within{outline:3px solid #dbeee9;border-color:#2f7c71}.quote-total{grid-template-columns:1fr 90px 110px;background:#eefaf6;border-color:#cae8df;font-weight:800}.quote-remove-button{min-height:32px;border:1px solid #e4c7bf;border-radius:6px;padding:6px 10px;background:#fff7f4;color:#9b2c1f;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.quote-icon-button{width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0}.quote-remove-button.quote-icon-button{border:0;background:transparent;color:#9b2c1f}.quote-remove-button:not(.quote-icon-button):hover,.quote-remove-button:not(.quote-icon-button):focus{outline:0;border-color:#d9998b;background:#ffe9e3}.quote-remove-button.quote-icon-button:hover,.quote-remove-button.quote-icon-button:focus{outline:0;background:transparent;color:#7f241a}.quote-inline-message{color:#146c63;font-size:13px;font-weight:800}.print-page{min-height:100vh;padding:28px;background:#eef3ef;color:#17201c}.print-actions{display:flex;justify-content:flex-end;max-width:980px;margin:0 auto 16px}.quote-document{max-width:980px;margin:0 auto;border:1px solid #dfe6df;border-radius:8px;padding:36px;background:#fff;box-shadow:0 18px 60px #17201c24}.quote-document-header{display:flex;justify-content:space-between;gap:28px;border-bottom:2px solid #146c63;padding-bottom:20px}.quote-document-header p,.quote-document-header h1{margin:0}.quote-document-header p{color:#146c63;font-size:14px;font-weight:900;text-transform:uppercase}.print-document-logo{display:block;width:220px;max-width:100%;height:auto;margin-bottom:12px}.quote-document-header h1{margin-top:6px;font-size:30px}.quote-document-header span{display:inline-block;margin-top:8px;color:#6c7b73}.quote-document-header dl{display:grid;gap:8px;min-width:220px;margin:0}.quote-document-header dl div,.quote-document-parties>div{border:1px solid #dfe6df;border-radius:8px;padding:10px 12px;background:#fbfcfb}.quote-document dt,.quote-document-parties span{color:#6c7b73;font-size:12px;font-weight:900;text-transform:uppercase}.quote-document dd{margin:4px 0 0;font-weight:800}.quote-document-parties{margin:22px 0}.quote-document-parties>div{padding:0;border:0;background:transparent}.quote-document-parties strong{display:block;margin-top:6px;font-size:18px}.quote-document-parties p{margin:6px 0 0;color:#6c7b73}.quote-document h2{margin:0 0 12px;font-size:18px}.quote-print-table{width:100%;border-collapse:collapse;font-size:14px}.quote-print-table th,.quote-print-table td{border-bottom:1px solid #dfe6df;padding:10px 8px;text-align:left;vertical-align:top}.quote-print-table th{color:#6c7b73;font-size:12px;text-transform:uppercase}.quote-print-table .amount{text-align:right;white-space:nowrap}.quote-print-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.patient-card-summary{grid-template-columns:repeat(4,1fr);margin:0 0 24px}.quote-print-summary div{border:1px solid #dfe6df;border-radius:8px;padding:12px;background:#fbfcfb}.quote-print-summary span{color:#6c7b73;font-size:12px;font-weight:900;text-transform:uppercase}.quote-print-summary strong{display:block;margin-top:6px;color:#146c63;font-size:20px}.quote-print-footer{margin-top:28px;color:#526159;font-size:13px}.quote-print-footer div{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:42px}.quote-print-footer span{border-top:1px solid #9aaca3;padding-top:8px;text-align:center}.patient-card-document{max-width:1040px}.patient-card-header{border-bottom-color:#10231f}.patient-card-header p{color:#10231f}.patient-card-table th,.patient-card-table td{font-size:13px}@media print{@page{margin:14mm}body{background:#fff}.sidebar,.print-actions{display:none!important}.print-page{min-height:auto;padding:0;background:#fff}.quote-document{max-width:none;border:0;border-radius:0;padding:0;box-shadow:none}}@media (max-width: 860px){.auth-panel,.shell,.settings-grid,.clinical-grid,.odontogram-editor,.quote-table-row,.quote-detail-row,.quote-row,.quote-row-editable,.quote-total,.file-upload,.file-row{grid-template-columns:1fr}.quote-row strong:last-child,.quote-total strong:last-child,.quote-table-row>strong,.quote-detail-row>strong:last-of-type{text-align:left}.odontogram-editor .surface-row,.odontogram-save-button{grid-column:auto}.odontogram-save-button{justify-self:stretch;width:100%}.odontogram-grid,.odontogram-modal-grid{grid-template-columns:repeat(8,minmax(42px,1fr))}.odontogram-detail-list{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:5;border-right:0;border-bottom:1px solid #dfe6df}.sidebar nav{display:flex;overflow-x:auto}.sidebar-user{display:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-comparison-row{grid-template-columns:1fr}.page-header{display:grid}.actions{justify-content:flex-start}.date-navigator{grid-template-columns:42px 132px 42px}.calendar-panel-header{display:grid}.compact-segmented{width:min(100%,240px)}.calendar-surface{overflow-x:auto}.calendar-surface-week{grid-template-columns:repeat(7,112px)}.calendar-surface-month{grid-template-columns:repeat(7,86px)}}@media (max-width: 580px){.main,.auth-page{padding:16px}.auth-copy,.auth-form{padding:24px}.two-cols,.three-cols,.metrics{grid-template-columns:1fr}.capacity-row-card{grid-template-columns:1fr;align-items:stretch}.capacity-percent{text-align:left}.finance-comparison-row,.finance-bar-line{grid-template-columns:1fr}.finance-bar-line>strong{text-align:left}.appointment-row,.user-row,.patient-card,.agenda-row,.clinical-row,.patients-report-row,.patients-report-detail-row,.report-row,.report-filter-row{grid-template-columns:1fr}.appointment-modal>header,.appointment-detail-grid{grid-template-columns:1fr}.payment-modal{width:calc(100vw - 32px);min-width:0}.payment-modal-grid,.acceptance-detail,.acceptance-detail .appointment-detail-grid{grid-template-columns:1fr}.panel-toolbar{align-items:stretch;flex-direction:column}}
