/* Final visual refinements for the standalone V3 experience. */
[hidden]{display:none!important}
body:not(.backend-ready) .app-shell{visibility:hidden}
.global-search{width:auto;flex:1;max-width:none}
body[data-view="cotizaciones"] .global-search,body[data-view="nueva"] .global-search,.content:has([data-view-panel="cotizaciones"].active) .global-search,.content:has([data-view-panel="nueva"].active) .global-search{display:none}
.topbar{display:none}
.top-actions{display:none}
.sidebar-user{display:flex;align-items:center;gap:10px;margin-top:12px;padding:14px 12px 0;border-top:1px solid var(--line)}
.sidebar-user b{display:block;font-size:12px}.sidebar-user small{display:block;margin-top:2px;color:var(--muted);font-size:11px}
.metric-up{color:var(--green)!important;font-weight:750}.chart-empty{min-height:178px;padding:10px;overflow:hidden}.chart-empty svg{width:100%;height:156px}.chart-grid{stroke:#dce5f2;stroke-dasharray:4 4}.chart-fill{fill:url(#chart-gradient)}.chart-line{fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.view.quote-view{display:none}.view.quote-view.active{display:block}.quote-top{min-height:58px;padding-bottom:18px;border-bottom:1px solid var(--line)}.quote-top .back-button{border:1px solid var(--line);background:#fff}.quote-top .back-button:hover{border-color:#bcd0fa}.quote-head{gap:11px}.quote-head .pill.draft{color:#a65e00;background:#fff1d6;border:1px solid #f3cf89}.quote-workspace{max-width:none}.stage-actions{display:flex;gap:10px;flex-wrap:wrap}.item-preview{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;border:1px solid #dce6f5;border-radius:13px;background:#fbfdff}.item-preview h3{margin:7px 0 4px}.item-preview p{margin:0;color:var(--muted)}.item-preview-total{display:grid;grid-template-columns:auto auto;align-items:center;gap:4px 11px;text-align:right}.item-preview-total small{color:var(--muted)}.item-preview-total b{font-size:17px}.item-preview-total .icon-button{grid-row:1 / span 2;grid-column:2}.independent-product{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border:1px dashed #bcd0f6;border-radius:13px;background:#f8fbff}.independent-product>div{display:flex;align-items:center;gap:11px}.independent-product .icon{color:var(--blue)}.independent-product b,.independent-product small{display:block}.independent-product small{margin-top:2px;color:var(--muted)}
.payment-grid{display:grid;gap:10px;padding:17px;border:1px solid var(--line);border-radius:13px;background:#fbfcff}.payment-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.payment-head span{color:var(--muted);font-size:12px}.payment-row{display:grid;grid-template-columns:29px minmax(0,1fr) 170px;gap:11px;align-items:end}.payment-row>b{display:grid;place-items:center;width:27px;height:27px;margin-bottom:7px;border-radius:50%;color:var(--blue);background:var(--blue-soft);font-size:12px}.payment-row label{display:grid;gap:6px;color:#34445e;font-size:12px;font-weight:750}.final-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #d5e1f3;border-radius:13px;background:#d5e1f3}.final-summary>div{display:grid;gap:4px;padding:16px;background:#fbfdff}.final-summary span{color:var(--muted);font-size:12px}.final-summary b{font-size:16px}.final-summary .summary-total{grid-column:span 3;display:flex;align-items:center;justify-content:space-between;color:#fff;background:var(--navy)}.final-summary .summary-total span,.final-summary .summary-total b{color:#fff}.final-summary .summary-total b{font-size:21px}
.action-group{display:flex;align-items:center;gap:2px;min-width:max-content}.action-group .icon-button{width:32px;height:32px}.danger-action:hover{color:#c43349;background:#fff0f2}.modal:backdrop{background:rgba(5,18,45,.72);backdrop-filter:blur(5px)}.modal{border-color:#b9cef4}.modal-flow{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal-flow span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:750}.modal-flow i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#edf1f7;font-style:normal}.modal-flow .active{color:var(--blue)}.modal-flow .active i{color:#fff;background:var(--blue)}.modal-product-list{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fbfcff}.modal-product-list header{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.modal-product-list b{color:var(--text)}.calculation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:14px;border:1px solid #dbe6f6;border-radius:11px;background:#f8fbff}.calculation-grid .field{font-size:12px}.modal-total{display:flex;align-items:center;justify-content:space-between;margin-top:4px;padding-top:12px;border-top:1px solid #dbe6f6}.modal-total b{color:var(--blue);font-size:19px}.modal-note{display:none}
.modal{width:min(880px,calc(100vw - 40px));max-height:min(92vh,920px)}.modal-form{min-height:min(420px,88vh)}.modal-body{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:20px;padding:24px 28px}.modal-body>.modal-flow,.modal-body>.form-grid,.modal-body>.modal-choice-grid,.modal-body>.item-detail,.modal-body>p,.modal-body>.modal-back,.modal-body>.modal-product-list,.modal-body>.calculation-grid,.modal-body>.modal-total,.modal-body>.button{grid-column:1/-1}.modal-body .form-grid{gap:15px}.modal-flow{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;width:100%;padding:0 10%;isolation:isolate}.modal-flow:before{position:absolute;z-index:-1;top:17px;left:18%;right:18%;height:2px;content:"";background:#dce6f5}.modal-flow span{display:grid;justify-items:center;gap:8px;text-align:center;font-size:13px}.modal-flow i{width:36px;height:36px;border:1px solid #d7e2f2;background:#fff;box-shadow:0 0 0 5px #fff}.modal-flow .active i{box-shadow:0 0 0 5px #fff,0 0 0 7px #d9e7ff}.modal-body input[readonly]{color:#68778e;background:#f3f6fa;border-color:#e1e8f1;cursor:not-allowed}.modal-body input[readonly]:focus{box-shadow:none;border-color:#e1e8f1}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-card{padding:21px}.settings-card-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:20px}.settings-card-head>.icon{margin-top:2px;color:var(--blue)}.settings-card-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.settings-list{display:grid}.settings-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:13px 0;border:0;border-bottom:1px solid var(--line);color:var(--muted);background:transparent;text-align:left}.settings-list button:last-child{border-bottom:0}.settings-list button:hover b,.settings-list button:hover .icon{color:var(--blue)}.settings-list b,.settings-list small{display:block}.settings-list b{color:var(--text)}.settings-list small{margin-top:3px;color:var(--muted)}
@media(max-width:720px){.global-search{display:flex!important}.topbar{justify-content:space-between!important}.quote-top{align-items:center}.quote-head{order:initial;width:auto}.quote-top>.button{margin-left:0}.quote-top .button span{display:none}.stage-actions{width:100%}.stage-actions .button{flex:1;padding-inline:10px}.item-preview,.independent-product{align-items:flex-start;flex-direction:column}.item-preview-total{width:100%;grid-template-columns:1fr auto;text-align:left}.payment-row{grid-template-columns:27px minmax(0,1fr);gap:9px}.payment-row label:last-child{grid-column:2}.final-summary{grid-template-columns:1fr 1fr}.final-summary .summary-total{grid-column:span 2}.modal-flow{gap:4px}.calculation-grid{grid-template-columns:1fr}.sidebar-user{display:none}}
@media(max-width:720px){.settings-grid{grid-template-columns:1fr}}
/* Navigation and quote-flow refinements. */
.content:has([data-view-panel="clientes"].active) .topbar,.content:has([data-view-panel="productos"].active) .topbar,.content:has([data-view-panel="ajustes"].active) .topbar,.content:has([data-view-panel="usuarios"].active) .topbar,.content:has([data-view-panel="categorias"].active) .topbar,.content:has([data-view-panel="unidades"].active) .topbar,.content:has([data-view-panel="precios"].active) .topbar,.content:has([data-view-panel="roles"].active) .topbar{display:none}
.content:has([data-view-panel="metricas"].active) .topbar{display:none}
.content:has([data-view-panel="decoia"].active) .topbar{display:none}
.sidebar-user{width:100%;border:0;background:transparent;text-align:left}.sidebar-user>.icon{margin-left:auto;color:var(--muted);opacity:0}.sidebar-user:hover>.icon,.sidebar-user:focus-visible>.icon{color:var(--blue);opacity:1}
.quote-top{position:relative;border-bottom:0}.quote-head{margin-right:auto}.quote-actions{display:grid;justify-items:end;gap:7px}.quote-actions .pill{min-height:22px;padding-inline:8px;font-size:11px}.client-field{position:relative}.client-field>.text-button{position:absolute;right:0;top:-2px}
.brand{position:relative}.sidebar-toggle{position:absolute;right:-31px;top:13px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:var(--surface);box-shadow:0 4px 12px rgba(15,35,71,.08)}.sidebar-toggle:hover{color:var(--blue);border-color:#bfd0ef}body.sidebar-collapsed{--sidebar:76px}body.sidebar-collapsed .sidebar .brand{justify-content:center;padding-inline:0}body.sidebar-collapsed .brand img{width:42px;height:42px;object-fit:cover;object-position:left;border-radius:8px}body.sidebar-collapsed .nav-link{justify-content:center;padding-inline:0}body.sidebar-collapsed .nav-link span,body.sidebar-collapsed .sidebar-bottom .nav-link span,body.sidebar-collapsed .sidebar-user>span:not(.user-avatar){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}body.sidebar-collapsed .sidebar-user{justify-content:center;padding-inline:0}body.sidebar-collapsed .sidebar-toggle .icon{transform:rotate(180deg)}
body.sidebar-collapsed .sidebar-bottom{justify-items:center;gap:8px}body.sidebar-collapsed .sidebar-bottom .nav-link,body.sidebar-collapsed .sidebar-bottom .sidebar-user{display:grid;place-items:center;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:10px}body.sidebar-collapsed .sidebar-bottom .nav-link:hover,body.sidebar-collapsed .sidebar-bottom .sidebar-user:hover{color:var(--blue);background:var(--blue-soft)}body.sidebar-collapsed .sidebar-bottom .sidebar-user .user-avatar{width:32px;height:32px}body.sidebar-collapsed .sidebar-bottom .sidebar-user>.icon{display:none}
@media(max-width:720px){.sidebar-toggle{display:none}.quote-head .pill.draft{position:static;transform:none}.client-field>.text-button{position:static;align-self:start}}
.sortable button{display:flex;align-items:center;gap:5px;padding:0;border:0;color:inherit;background:transparent;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit}.sortable button:hover{color:var(--blue)}.sortable span{color:#aab4c3;font-size:13px}.sortable[data-direction="asc"] span,.sortable[data-direction="desc"] span{color:var(--blue)}
.default-payments>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.payment-grid{padding:19px}.payment-head{margin-bottom:2px}.payment-row{grid-template-columns:32px minmax(0,1fr) minmax(150px,.45fr);align-items:center;padding:11px 0;border-top:1px solid var(--line)}.payment-row>b{margin:0}.payment-row label{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:10px}.payment-row label span{font-size:12px}.payment-row label input{min-height:39px}.import-products{margin-left:auto;color:#fff!important;background:#137a52!important;border-color:#137a52!important;box-shadow:0 7px 14px rgba(19,122,82,.17)}.export-products{color:#137a52!important;background:#e9f8f0!important;border-color:#b9e6ce!important}.page-heading:has(.import-products){align-items:center}.metrics-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);gap:16px;margin-top:16px}.metrics-chart{min-height:300px}.metrics-chart svg{width:100%;height:210px;margin-top:14px}.metrics-chart circle{fill:var(--blue)}.projection-line{fill:none;stroke:#28a36a;stroke-width:3;stroke-linecap:round;stroke-dasharray:7 6}.chart-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.funnel-card,.performance-card,.forecast-card{padding:20px}.funnel-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:16px;padding-bottom:12px;font-size:13px}.funnel-row b{color:var(--text)}.funnel-row i{grid-column:1/-1;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--blue),#70a3ff)}.funnel-note{display:flex;align-items:baseline;gap:7px;margin-top:10px;padding-top:14px;border-top:1px solid var(--line)}.funnel-note b{font-size:24px}.funnel-note span{color:var(--muted);font-size:12px}.lower-metrics{grid-template-columns:1.1fr .9fr}.status-bars{display:grid;gap:15px;margin-top:22px}.status-bars>div{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:13px}.status-bars i{grid-column:1/-1;height:8px;border-radius:99px;background:linear-gradient(90deg,#164d9d,#5f95ff)}.forecast-card>strong{display:block;margin:26px 0 7px;font-size:32px;letter-spacing:-.04em}.forecast-card>p{color:var(--muted)}.forecast-card>div{display:flex;gap:8px}.users-roles-card{margin-top:16px}
.icon-only-action{width:42px;min-width:42px;padding:0!important}.page-heading:has(.import-products){gap:8px}.stage-heading h2{margin-bottom:2px}.stage-heading p{margin-top:3px}.item-preview{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(210px,.75fr) auto;align-items:center;gap:20px;padding:19px 21px;border-color:#c9daf6;background:linear-gradient(105deg,#fbfdff,#f3f8ff)}.item-preview-main{display:flex;align-items:center;gap:13px;min-width:0}.item-preview-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:var(--blue);background:#e7f0ff}.item-preview h3{margin:5px 0 2px}.item-preview p{font-size:13px}.item-preview-data{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding-inline:15px;border-inline:1px solid #d8e4f4}.item-preview-data span{display:grid;gap:3px;color:var(--muted);font-size:12px}.item-preview-data b{color:#6b7a90;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.item-preview-total{display:grid;grid-template-columns:1fr;justify-items:end;gap:3px}.item-preview-total>div{display:flex;gap:2px;margin-top:4px}.item-preview-total .icon-button{grid-row:auto;grid-column:auto}
.decision-donut-wrap{display:flex;align-items:center;justify-content:center;gap:36px;min-height:210px}.decision-donut{display:grid;place-items:center;width:170px;height:170px;border-radius:50%;background:conic-gradient(#16785a 0 62%,#2e70f1 62% 87%,#c8d3e3 87% 100%)}.decision-donut:before{position:absolute;content:"";width:122px;height:122px;border-radius:50%;background:#fff}.decision-donut>div{z-index:1;display:grid;text-align:center}.decision-donut b{font-size:18px;letter-spacing:-.04em}.decision-donut span{color:var(--muted);font-size:11px}.decision-legend{display:grid;gap:13px;min-width:0}.decision-legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:13px}.decision-legend i{width:9px;height:9px;border-radius:50%;background:#c8d3e3}.decision-legend i.approved{background:#16785a}.decision-legend i.review{background:#2e70f1}.decision-legend b{font-size:13px}
@media(max-width:720px){.default-payments>div{grid-template-columns:1fr}.page-heading:has(.import-products){align-items:stretch}.import-products,.export-products{width:100%;margin-left:0}.metrics-grid,.lower-metrics{grid-template-columns:1fr}.advanced-metrics{grid-template-columns:1fr 1fr}}

/* Decision dashboard, modal sizing and responsive finishing pass. */
.content{padding-inline:clamp(20px,2.4vw,38px)}
.view[data-view-panel="inicio"].active{display:flex;flex-direction:column}.view[data-view-panel="inicio"]>.page-heading{order:0}.view[data-view-panel="inicio"]>.table-card{order:1;margin-bottom:16px}.view[data-view-panel="inicio"]>.metric-grid{order:2}.view[data-view-panel="inicio"]>.dashboard-grid{order:3}
.page-heading{position:relative}.page-back{position:absolute;left:-36px;top:5px}.table-subcopy{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:500;text-transform:none;letter-spacing:0}
.modal{width:min(620px,calc(100vw - 34px));max-height:94vh}.modal[data-modal-type="item"]{width:min(920px,calc(100vw - 34px))}.modal[data-modal-type="client"]{width:min(980px,calc(100vw - 34px))}.modal[data-modal-type="product"]{width:min(780px,calc(100vw - 34px))}.modal[data-modal-type="profile"],.modal[data-modal-type="user"]{width:min(820px,calc(100vw - 34px))}.modal[data-modal-type="product-line"],.modal[data-modal-type="item-view"]{width:min(720px,calc(100vw - 34px))}.modal[data-modal-type="confirm-delete"],.modal[data-modal-type="confirm-void"]{width:min(500px,calc(100vw - 34px))}.modal[data-modal-type="confirm-delete"] .modal-form,.modal[data-modal-type="confirm-void"] .modal-form{min-height:0}.client-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.field-span-3{grid-column:1/-1}.confirm-visual{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;padding:16px;border:1px solid #f1c9ce;border-radius:13px;background:#fff7f8}.confirm-visual>.icon{width:24px;height:24px;margin:7px auto;color:#c43349}.confirm-visual b{display:block;margin-bottom:5px;color:var(--text);font-size:15px}.confirm-visual p{line-height:1.55}
.profile-editor{display:grid;gap:20px}.profile-photo{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#f8fbff}.profile-avatar-preview{display:grid;place-items:center;width:62px;height:62px;border-radius:17px;color:#fff;background:linear-gradient(145deg,var(--navy),var(--blue));font-size:17px;font-weight:850}.profile-photo b,.profile-photo small{display:block}.profile-photo small{margin:3px 0 9px;color:var(--muted)}.profile-photo .button{min-height:34px}.security-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:17px;border:1px solid #d8e4f4;border-radius:13px;background:#fbfdff}.security-panel>div{grid-column:1/-1}.security-panel h3{margin:0 0 3px}.security-panel p{font-size:12px}.password-field{position:relative;display:block}.password-field input{padding-right:43px}.password-field .icon-button{position:absolute;right:3px;top:3px}.generate-password{align-self:end}
.decision-card{padding:20px}.metric-period{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:750}.billing-bars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end;height:230px;margin-top:20px}.billing-bars>div{display:grid;grid-template-rows:auto 1fr auto;gap:7px;height:100%;text-align:center}.billing-bars b{font-size:12px}.billing-bars i{position:relative;display:block;overflow:hidden;border-radius:10px 10px 4px 4px;background:#edf3fc}.billing-bars i span{position:absolute;right:0;bottom:0;left:0;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#5b91f4,var(--blue))}.billing-bars small{color:var(--muted)}.decision-legend i.status-0{background:#16785a}.decision-legend i.status-1{background:#2e70f1}.decision-legend i.status-2{background:#d79a2b}.decision-legend i.status-3{background:#c8d3e3}.profitability-list{display:grid;gap:16px;margin-top:22px}.profitability-list>div{display:grid;grid-template-columns:1fr auto;gap:7px}.profitability-list i{grid-column:1/-1;height:9px;overflow:hidden;border-radius:99px;background:#edf2f8}.profitability-list i span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#18a36e,#66c99f)}.margin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.margin-summary>div{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#f8fbff}.margin-summary b{color:#102d62;font-size:18px}.margin-summary span{color:var(--muted);font-size:12px}
.ai-chat{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;max-height:calc(100vh - 145px)}.ai-messages{min-height:280px;max-height:none;overflow:auto}.ai-composer{min-width:0}.ai-composer>input{min-width:0}
.compact-item{margin-top:-6px}.item-preview-data{min-width:0}
.client-context{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #d8e4f4;border-radius:12px;background:#f8fbff}.client-context>div{display:flex;align-items:center;gap:10px}.client-context b,.client-context small{display:block}.client-context small{margin-top:3px;color:var(--muted)}.client-context dl{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:16px;margin:0}.client-context dt{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.client-context dd{margin:3px 0 0;font-size:12px}.profile-avatar-preview{background-repeat:no-repeat}
@media(max-width:1180px){.ai-layout{grid-template-columns:230px minmax(0,1fr)}.ai-prompts{padding:16px}.ai-message{max-width:82%}.item-preview{grid-template-columns:minmax(220px,1fr) minmax(190px,.7fr) auto;gap:13px}.item-preview-data{padding-inline:10px}.modal[data-modal-type="client"]{width:min(900px,calc(100vw - 28px))}}
@media(max-width:760px){.content{padding-inline:14px}.sidebar .nav-list{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.sidebar .nav-link{flex:0 0 68px;min-width:68px;padding-inline:4px}.page-back{position:static;margin-bottom:8px}.client-form-grid,.security-panel{grid-template-columns:1fr}.field-span-3{grid-column:auto}.modal{width:calc(100vw - 20px)!important;max-height:91vh}.modal-body{display:grid;grid-template-columns:1fr;padding:17px}.profile-photo{align-items:flex-start}.item-preview{grid-template-columns:1fr;gap:14px}.item-preview-data{padding:12px 0;border-inline:0;border-block:1px solid #d8e4f4}.item-preview-total{justify-items:start}.payment-row{grid-template-columns:28px minmax(0,1fr)}.payment-row label{grid-template-columns:74px minmax(0,1fr)}.payment-row label:last-child{grid-column:2}.client-context{align-items:flex-start;flex-direction:column}.client-context dl{grid-template-columns:1fr 1fr;width:100%}.ai-layout{grid-template-columns:1fr}.ai-prompts{grid-template-columns:1fr 1fr}.ai-chat{max-height:none}.ai-messages{min-height:300px;max-height:48vh}.ai-composer{display:grid;grid-template-columns:auto minmax(0,1fr)}.ai-composer .ai-send{grid-column:1/-1;width:100%}.decision-donut-wrap{align-items:flex-start;flex-direction:column;gap:20px}.billing-bars{gap:8px}.billing-bars b{font-size:10px}.view[data-view-panel="inicio"]>.table-card{margin-top:0}}

/* Feedback de revisión: control del menú al pie y sentido visual contraer/ampliar. */
.sidebar-bottom .sidebar-toggle{position:static;right:auto;top:auto;display:flex;width:100%;height:45px;padding:0 13px;border:1px solid transparent;border-radius:10px;box-shadow:none}.sidebar-toggle .icon{transform:rotate(180deg);transition:transform .18s ease}body.sidebar-collapsed .sidebar-toggle .icon{transform:none}

/* Actividad comercial calculada con cotizaciones reales. */
.activity-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:17px}.activity-kpis>div{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#f9fbff}.activity-kpis span{color:var(--muted);font-size:11px}.activity-kpis b{color:var(--navy);font-size:14px}.activity-visual{position:relative;min-height:205px;margin-top:8px}.activity-chart{display:block;width:100%;height:auto;overflow:visible}.activity-chart .chart-grid{fill:none;stroke:#dce5f2;stroke-dasharray:4 4}.activity-chart .chart-fill{fill:rgba(37,99,235,.09)}.activity-chart .chart-line{fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.activity-point{cursor:help;outline:none}.activity-point circle{fill:#fff;stroke:var(--blue);stroke-width:3;transition:r .15s ease,fill .15s ease}.activity-point:hover circle,.activity-point:focus circle{r:7;fill:var(--blue)}.activity-point text{fill:#7a879a;font-size:10px}.activity-tooltip{position:absolute;z-index:2;display:grid;gap:1px;min-width:132px;padding:9px 11px;border:1px solid #cbd8ec;border-radius:10px;color:var(--text);background:#fff;box-shadow:0 10px 28px rgba(15,35,71,.16);transform:translate(-50%,-100%);pointer-events:none}.activity-tooltip[hidden]{display:none}.activity-tooltip b{color:var(--navy)}.activity-tooltip span,.activity-tooltip small{color:var(--muted);font-size:11px}.recent-quotes-card table{min-width:980px}.product-table abbr,[data-unit-summary] abbr{text-decoration:none}

@media(max-width:760px){.activity-kpis{grid-template-columns:1fr}.activity-visual{overflow-x:auto}.activity-chart{min-width:620px}.sidebar-bottom .sidebar-toggle{display:none}}

/* Métricas reales: entradas animadas y señales explicables. */
.metric-bar-enter{height:var(--bar-height)!important;transform-origin:bottom;animation:metric-bar-grow .72s cubic-bezier(.2,.75,.25,1) var(--bar-delay) both}.billing-column:focus>b{display:block}.metric-profit-enter{width:var(--profit-width)!important;transform-origin:left;animation:metric-profit-grow .65s ease-out var(--bar-delay) both}.profitability-list>div>small{grid-column:1/-1;color:var(--muted);font-size:10px}.metric-ring-enter{animation:metric-ring-in .65s ease-out both}.advanced-metrics strong{font-variant-numeric:tabular-nums}
@keyframes metric-bar-grow{from{transform:scaleY(0);opacity:.45}to{transform:scaleY(1);opacity:1}}@keyframes metric-profit-grow{from{transform:scaleX(0);opacity:.45}to{transform:scaleX(1);opacity:1}}@keyframes metric-ring-in{from{opacity:0;stroke-dashoffset:-100}to{opacity:1}}

/* DecoIA: estado dentro del chat y burbujas compactas. */
.ai-name-row{display:flex;align-items:center;gap:10px}.ai-chat-head .connection-status{font-size:11px}.ai-chat-head .connection-status i{width:7px;height:7px;box-shadow:none}.ai-messages{align-content:start;grid-auto-rows:max-content;gap:10px;padding:16px}.ai-message{padding:9px 12px;line-height:1.4}

@media(prefers-reduced-motion:reduce){.metric-bar-enter,.metric-profit-enter,.metric-ring-enter{animation:none}}
.notifications-popover{position:absolute;top:48px;right:0;z-index:25;display:none;width:330px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 18px 42px rgba(11,43,91,.18)}.notifications-popover.visible{display:block}.notifications-popover header{display:flex;justify-content:space-between;padding:15px;border-bottom:1px solid var(--line)}.notifications-popover header span{color:var(--blue);font-size:12px;font-weight:750}.notifications-popover button{display:grid;gap:4px;width:100%;padding:14px 15px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left}.notifications-popover button:hover{background:var(--blue-soft)}.notifications-popover small{color:var(--muted)}.top-actions{position:relative}.login-screen{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:24px;background:linear-gradient(135deg,#eef4ff,#f8fbff)}body.login-active .login-screen{display:grid}body.login-active .app-shell{display:none}.login-card{display:grid;gap:17px;width:min(430px,100%);padding:38px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(11,43,91,.16)}.login-card img{width:145px}.login-card h1{font-size:29px}.login-card>p:not(.eyebrow),.login-card small{color:var(--muted)}.login-card .button{width:100%;margin-top:4px}.item-detail h3{margin:10px 0 4px}.item-detail>p{margin-bottom:18px}.ai-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px}.connection-status{display:flex;align-items:center;gap:7px;color:var(--green);font-size:13px;font-weight:750}.connection-status i{width:9px;height:9px;border-radius:50%;background:#21b66f;box-shadow:0 0 0 4px #e5f8ed}.ai-prompts{display:grid;align-content:start;gap:8px;padding:20px}.ai-prompts button{padding:12px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:#fff;text-align:left}.ai-prompts button:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.ai-prompts small{margin-top:10px;color:var(--muted)}.ai-chat{overflow:hidden}.ai-chat-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.ai-chat-head>div{display:flex;align-items:center;gap:10px}.ai-chat-head b,.ai-chat-head small{display:block}.ai-chat-head small{margin-top:2px;color:var(--muted)}.ai-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;background:var(--blue);font-size:11px;font-weight:800}.ai-messages{display:grid;gap:15px;min-height:390px;padding:22px;background:#fbfcff}.ai-message{max-width:72%;padding:12px 14px;border-radius:13px;line-height:1.5}.ai-message.assistant{justify-self:start;background:#edf4ff}.ai-message.user{justify-self:end;color:#fff;background:var(--blue)}.ai-composer{display:flex;gap:9px;padding:14px;border-top:1px solid var(--line)}.ai-composer input{flex:1}.ai-composer .button{min-height:39px}@media(max-width:720px){.ai-layout{grid-template-columns:1fr}.ai-prompts{grid-template-columns:1fr 1fr}.ai-messages{min-height:300px}.ai-message{max-width:88%}.notifications-popover{right:-8px;width:min(330px,calc(100vw - 28px))}}

/* v29: interaction, decision metrics and responsive refinement. */
.view[data-view-panel="inicio"]>.metric-grid{order:1}.view[data-view-panel="inicio"]>.table-card{order:2;margin:16px 0}.view[data-view-panel="inicio"]>.dashboard-grid{order:3;margin-top:0}
.required-mark{margin-left:3px;color:#c92f45;font-weight:900}.button.ghost{border:1px solid #d8e0ec;background:#fff}.button.ghost:hover{border-color:#b9c8dc;background:#f8fafc}
.pill.draft,.quote-actions .pill.draft{color:#fff!important;border-color:#64748b!important;background:#64748b!important}.pill.review,.quote-actions .pill.review{color:#fff!important;border-color:#d48b12!important;background:#d48b12!important}.pill.success,.quote-actions .pill.success{color:#fff!important;border-color:#12805c!important;background:#12805c!important}
.payment-percentages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.percent-input{position:relative;display:block}.percent-input input{padding-right:38px}.percent-input i{position:absolute;right:13px;top:50%;color:var(--muted);font-style:normal;transform:translateY(-50%)}
.product-form-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}.product-form-grid .col-half{grid-column:span 3}.product-form-grid .col-third{grid-column:span 2}.product-form-grid .col-full{grid-column:1/-1}.item-product-form,.product-line-form{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.modal-body>.profile-editor,.modal-body>.payment-status{grid-column:1/-1}.modal[data-modal-type="payment"]{width:min(800px,calc(100vw - 34px))}.payment-status{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--line)}.payment-status>div{display:grid;align-content:center;gap:3px;min-height:82px;padding:13px;background:#f9fbff}.payment-status span,.payment-status small{color:var(--muted);font-size:11px}.payment-status b{font-size:15px}.payment-status .pill{justify-self:start;margin-top:2px}
.modal[data-intent="view"] .modal-body input[readonly],.modal[data-intent="view"] .modal-body textarea[readonly],.modal[data-intent="view"] .modal-body select:disabled{color:#43516a;background:#f5f7fa;border-color:#e1e7ef;opacity:1;cursor:default}.modal[data-intent="view"] .required-mark{display:none}
.modal[data-modal-type="confirm-delete"],.modal[data-modal-type="confirm-void"]{width:min(430px,calc(100vw - 28px));border:0}.modal[data-modal-type="confirm-delete"] .modal-head,.modal[data-modal-type="confirm-void"] .modal-head{display:none}.modal[data-modal-type="confirm-delete"] .modal-body,.modal[data-modal-type="confirm-void"] .modal-body{display:block;padding:30px 28px 18px}.confirm-visual{display:grid!important;justify-items:center;gap:9px;padding:0!important;border:0!important;background:transparent!important;text-align:center}.confirm-visual .confirm-icon{display:grid;place-items:center;width:70px;height:70px;margin-bottom:6px;border:1px solid #ffc8d0;border-radius:50%;color:#d52f49;background:#fff1f3;box-shadow:0 0 0 9px #fff7f8}.confirm-visual .confirm-icon .icon{width:29px;height:29px}.confirm-visual h2{margin:10px 0 0;font-size:21px}.confirm-visual b{font-size:15px}.confirm-visual p{max-width:330px;margin:0!important;line-height:1.55}.modal[data-modal-type="confirm-delete"] .modal-foot,.modal[data-modal-type="confirm-void"] .modal-foot{justify-content:center;padding:15px 24px 24px;border:0}.modal[data-modal-type="confirm-delete"] [data-modal-submit],.modal[data-modal-type="confirm-void"] [data-modal-submit]{border-color:#cf3048;background:#cf3048;box-shadow:0 7px 15px rgba(207,48,72,.18)}
.profile-editor{grid-template-columns:210px minmax(0,1fr);gap:18px}.profile-photo{position:sticky;top:75px;display:grid;justify-items:center;align-content:start;gap:14px;padding:22px;text-align:center}.profile-photo>div{display:grid;justify-items:center}.profile-avatar-preview{width:88px;height:88px;border-radius:24px;font-size:22px}.profile-details{display:grid;gap:14px}.profile-account,.security-panel{padding:17px;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.section-heading{margin-bottom:14px}.section-heading h3{margin:0 0 3px}.section-heading p{margin:0!important;font-size:12px}.security-panel{background:#fff}.security-panel p{margin:0!important}.generate-password{justify-self:start}
.product-picker{width:min(700px,calc(100vw - 28px));max-height:min(78vh,680px)}.product-picker .modal-form{min-height:0}.product-picker .modal-body{display:block;padding:18px}.picker-search{width:100%;margin-bottom:13px}.picker-list{display:grid;gap:7px}.picker-list>button{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:13px;border:1px solid var(--line);border-radius:11px;color:var(--text);background:#fff;text-align:left}.picker-list>button:hover{border-color:#a9c4f7;background:#f5f9ff}.picker-list span b,.picker-list span small{display:block}.picker-list span small{margin-top:3px;color:var(--muted)}.picker-code{color:var(--blue);font-size:12px;font-weight:800}.picker-list strong{white-space:nowrap}
.login-card{justify-items:stretch;text-align:left}.login-card img{justify-self:center;width:165px;margin-bottom:6px}.login-card h1{margin:0;text-align:center}.login-card>p{text-align:center}.login-card .required-mark{display:none}
.notifications-popover{top:52px;width:min(410px,calc(100vw - 26px));border-radius:18px;box-shadow:0 28px 75px rgba(4,25,58,.24);transform-origin:top right;animation:popover-in .16s ease-out}.notifications-popover .notifications-head{align-items:center;padding:16px 17px 13px}.notifications-head h2{margin:0;font-size:17px}.notifications-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.notifications-head .icon-button{width:34px;height:34px;padding:0;border:0}.notifications-summary{display:flex;gap:7px;padding:10px 14px;overflow:auto;border-bottom:1px solid var(--line)}.notifications-summary span{flex:0 0 auto;padding:6px 9px;border-radius:999px;color:var(--muted);background:#f1f5fa;font-size:11px}.notifications-summary b{color:var(--text)}.notifications-list{display:grid;gap:4px;padding:7px}.notifications-popover .notification-item{display:grid;grid-template-columns:40px minmax(0,1fr) 9px;align-items:center;gap:11px;padding:11px;border:1px solid transparent;border-radius:13px}.notifications-popover .notification-item:hover{border-color:var(--line);background:#f7f9fc}.notifications-popover .notification-item.unread{background:#eef5ff}.notification-kind{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:var(--blue);background:#e6f0ff}.notification-kind.success{color:#12805c;background:#e7f7f0}.notification-item span b,.notification-item span small,.notification-item span em{display:block}.notification-item span small{margin-top:2px;color:#586980}.notification-item span em{margin-top:5px;color:#8b98aa;font-size:10px;font-style:normal}.notification-item>i{width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #dceaff}.notifications-popover footer{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-top:1px solid var(--line)}.notifications-popover footer small{color:var(--muted)}.notifications-popover footer .text-button{width:auto;padding:5px 0;border:0;background:transparent}@keyframes popover-in{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
.chat-fab{position:fixed;z-index:38;right:24px;bottom:24px;display:grid;place-items:center;width:56px;height:56px;padding:0;border:0;border-radius:18px;color:#fff;background:linear-gradient(145deg,#134a9b,var(--blue));box-shadow:0 16px 34px rgba(37,99,235,.34)}.chat-fab .icon{width:25px;height:25px}.chat-fab-status{position:absolute;right:4px;bottom:4px;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:#1eb875}.chat-widget{position:fixed;z-index:39;right:24px;bottom:92px;display:none;width:min(390px,calc(100vw - 28px));height:min(590px,calc(100vh - 125px));overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(4,25,58,.28)}.chat-widget.visible{display:block;animation:chat-in .18s ease-out}.chat-widget .ai-chat{height:100%;max-height:none}.chat-widget .ai-chat-head{padding:14px 16px}.chat-widget .ai-chat-head small{color:var(--green)}.chat-widget .ai-chat-head small i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#20b875}.chat-widget .ai-messages{min-height:0;padding:16px}.chat-widget .ai-message{max-width:86%;font-size:13px}.chat-quick{display:flex;gap:6px;padding:10px 12px;overflow:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.chat-quick button{flex:0 0 auto;padding:7px 10px;border:1px solid #cddcf3;border-radius:99px;color:var(--blue);background:#fff;font-size:11px}.chat-widget .ai-composer{display:grid;grid-template-columns:auto minmax(0,1fr) 40px;padding:11px}.chat-widget .ai-composer .ai-send{width:40px;min-height:40px;padding:0;border-radius:10px}.chat-widget .ai-composer .ai-send .icon{transform:rotate(-90deg)}@keyframes chat-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.billing-card{min-width:0}.billing-chart{display:grid;grid-template-columns:48px minmax(0,1fr);height:260px;margin-top:18px}.billing-axis{display:flex;flex-direction:column;justify-content:space-between;padding:0 8px 25px 0;color:var(--muted);font-size:10px;text-align:right}.billing-plot{position:relative;display:grid;grid-template-columns:repeat(var(--bar-count),minmax(20px,1fr));align-items:stretch;gap:clamp(5px,1vw,13px);min-width:0;background:repeating-linear-gradient(to bottom,#e8eef7 0,#e8eef7 1px,transparent 1px,transparent 25%)}.billing-column{display:grid;grid-template-rows:1fr 25px;justify-items:center;min-width:0}.billing-column>b{position:absolute;top:-16px;display:none;padding:4px 6px;border-radius:6px;color:#fff;background:var(--navy);font-size:10px;white-space:nowrap}.billing-column:hover>b{display:block}.billing-column i{position:relative;align-self:stretch;width:100%;max-width:26px}.billing-column i span{position:absolute;right:0;bottom:0;left:0;min-height:3px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#6d9cf4,var(--blue));box-shadow:0 4px 9px rgba(37,99,235,.16)}.billing-column small{align-self:end;color:var(--muted);font-size:10px;white-space:nowrap}.pipeline-visual{display:grid;grid-template-columns:minmax(0,190px) minmax(118px,1fr);align-items:center;gap:16px;min-height:240px;padding-top:10px}.pipeline-ring{position:relative;display:grid;place-items:center;width:100%;max-width:190px;aspect-ratio:1/1;height:auto}.pipeline-ring svg{width:100%;height:auto;filter:drop-shadow(0 8px 14px rgba(25,56,105,.11))}.pipeline-track,.pipeline-segment{fill:none;stroke-width:19}.pipeline-track{stroke:#edf1f6}.pipeline-segment{stroke-linecap:butt;transform:rotate(-90deg);transform-origin:80px 80px;transition:stroke-dasharray .25s}.pipeline-ring>div{position:absolute;display:grid;text-align:center}.pipeline-ring b{font-size:30px;line-height:1}.pipeline-ring span{margin-top:5px;color:var(--muted);font-size:11px}.profitability-list strong{font-size:13px}.profitability-list span>b{color:var(--blue)}.empty-metric{margin:18px 0 0;color:var(--muted)}
@media(max-width:900px){.pipeline-visual{grid-template-columns:160px 1fr}.pipeline-ring,.pipeline-ring svg{width:160px;height:160px}.profile-editor{grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:1400px){.pipeline-visual{grid-template-columns:140px minmax(0,1fr);gap:16px}.pipeline-ring,.pipeline-ring svg{width:140px;height:140px}.decision-legend{width:100%;min-width:0}}
@media(max-width:1100px){.metrics-grid,.lower-metrics{grid-template-columns:1fr}}
@media(max-width:760px){.payment-percentages{grid-template-columns:1fr}.product-form-grid,.item-product-form,.product-line-form{grid-template-columns:1fr!important}.product-form-grid .col-half,.product-form-grid .col-third,.product-form-grid .col-full{grid-column:auto}.payment-status{grid-template-columns:1fr 1fr}.profile-editor{grid-template-columns:1fr}.profile-photo{position:static;grid-template-columns:auto 1fr;justify-items:start;text-align:left}.profile-photo>div{justify-items:start}.profile-avatar-preview{width:66px;height:66px;border-radius:18px}.chat-fab{right:14px;bottom:82px;width:52px;height:52px;border-radius:16px}.chat-widget{right:10px;bottom:142px;width:calc(100vw - 20px);height:min(560px,calc(100vh - 160px))}.pipeline-visual{grid-template-columns:1fr;justify-items:center}.decision-legend{width:100%;min-width:0}.billing-chart{grid-template-columns:38px minmax(420px,1fr);overflow-x:auto}.billing-card{overflow-x:auto}.modal[data-modal-type="confirm-delete"] .modal-foot,.modal[data-modal-type="confirm-void"] .modal-foot{display:grid;grid-template-columns:1fr 1fr}.picker-list>button{grid-template-columns:70px minmax(0,1fr)}.picker-list strong{grid-column:2}.notifications-popover{position:fixed;top:62px;right:8px;width:calc(100vw - 16px);max-height:calc(100vh - 78px)}}
@media(prefers-reduced-motion:reduce){.notifications-popover,.chat-widget{animation:none}.pipeline-segment{transition:none}}
body:not(.backend-ready) .chat-fab,body:not(.backend-ready) .chat-widget{display:none!important}
.confirm-visual{grid-template-columns:1fr!important}
.chat-widget .ai-chat{grid-template-rows:auto auto minmax(0,1fr) auto}
.chat-widget .ai-messages{align-content:start}
.chat-widget .ai-composer .ai-send{grid-column:auto}

/* V30 · cotizaciones, ítems y revisión */
.real-pdf-frame{display:block;width:100%;height:min(70vh,760px);border:0;border-radius:8px;background:#fff}.login-error{margin:0;padding:9px 11px;border-radius:8px;color:#a61b32;background:#fff0f3;font-size:12px}.backend-offline{position:fixed;z-index:80;right:18px;top:18px;padding:8px 12px;border:1px solid #f1c5ce;border-radius:9px;color:#9e253a;background:#fff6f7;font-size:12px;font-weight:750}
.real-pdf-frame{display:block;width:100%;height:min(70vh,760px);border:0;border-radius:8px;background:#fff}.login-error{margin:0;padding:9px 11px;border-radius:8px;color:#a61b32;background:#fff0f3;font-size:12px}.backend-offline{position:fixed;z-index:80;right:18px;top:18px;padding:8px 12px;border:1px solid #f1c5ce;border-radius:9px;color:#9e253a;background:#fff6f7;font-size:12px;font-weight:750}
.toast{right:auto!important;left:50%!important;bottom:24px!important;max-width:min(520px,calc(100vw - 28px));transform:translate(-50%,14px)!important}
.toast.visible{transform:translate(-50%,0)!important}
.payment-grid{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.quote-table-tabs{display:flex;align-items:center;gap:4px;margin-left:auto;padding:4px;border:1px solid var(--line);border-radius:11px;background:#f5f8fd}
.quote-table-tabs button{min-height:34px;padding:0 13px;border:0;border-radius:8px;color:var(--muted);background:transparent;font:inherit;font-size:12px;font-weight:760;cursor:pointer}
.quote-table-tabs button.active{color:var(--navy);background:#fff;box-shadow:0 2px 8px rgba(23,48,89,.1)}
.quote-table-tabs b{color:var(--blue)}
.danger-action{color:#c9314b!important}.restore-action{color:#137a52!important}.icon-button:disabled{opacity:.32;cursor:not-allowed}
.icon-button.disabled{opacity:.32;pointer-events:none}
.quote-preview-modal{width:min(920px,calc(100vw - 32px))}.quote-preview-modal .modal-body{padding:24px;background:#eef3fa}.pdf-sheet{width:min(680px,100%);margin:auto;padding:34px;border:1px solid #dce4f0;border-radius:4px;background:#fff;box-shadow:0 18px 45px rgba(31,54,91,.13)}
.pdf-sheet>header{display:flex;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:3px solid var(--navy)}.pdf-sheet>header img{width:132px;height:auto;object-fit:contain}.pdf-sheet>header div{display:grid;justify-items:end;gap:2px}.pdf-sheet>header span{color:var(--blue);font-size:11px;font-weight:850;letter-spacing:.14em}.pdf-sheet>header strong{font-size:22px}.pdf-sheet>header small{color:var(--muted)}
.pdf-client{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:22px 0}.pdf-client div{display:grid;gap:5px}.pdf-client small{color:var(--muted);font-size:11px}.pdf-sheet table{width:100%;border-collapse:collapse}.pdf-sheet th,.pdf-sheet td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.pdf-sheet th{color:var(--muted);background:#f5f8fd;font-size:10px;text-transform:uppercase}.pdf-sheet>footer{display:flex;justify-content:space-between;gap:20px;margin-top:22px;padding-top:17px;border-top:1px solid var(--line)}
.confirm-dialog-v30{width:min(500px,calc(100vw - 28px))}.confirm-dialog-v30 .confirm-visual{justify-items:center;text-align:center}.confirm-visual.restore .confirm-icon{color:#137a52;background:#e7f7ef}

/* Clarify input hierarchy and keep dense operational tables legible. */
.modal .field>:first-child:not(.password-field){display:inline-flex;align-items:center;width:max-content;margin:0 0 6px;padding:3px 7px;border-radius:6px;color:#39506e;background:#edf3fb;font-size:10px;font-weight:850;letter-spacing:.025em;text-transform:uppercase}.modal .field input,.modal .field select,.modal .field textarea{border-color:#c7d6eb;background:#fff;box-shadow:inset 0 1px 0 rgba(15,44,83,.03)}.modal .field input:focus,.modal .field select:focus,.modal .field textarea:focus{border-color:#2463eb;box-shadow:0 0 0 3px rgba(37,99,235,.13)}.password-actions{grid-column:1/-1;display:flex;gap:9px;align-items:center}.copy-password:disabled{opacity:.48;cursor:not-allowed}.chat-fab-status{display:none!important}.client-picker .modal-body{grid-template-columns:1fr!important}.client-picker .picker-search,.client-picker .client-picker-list{grid-column:1/-1}.table-card-head .table-page-size{display:flex;align-items:center;gap:6px;margin-left:auto;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.table-page-size select{width:auto;min-width:64px;min-height:34px;padding:5px 25px 5px 9px;border:1px solid #cddbef;border-radius:8px;background:#fff;color:var(--text);font:inherit}.table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:48px;padding:8px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.table-pagination-status{min-width:78px;text-align:right;font-variant-numeric:tabular-nums}.table-pagination>div{display:flex;gap:5px}.table-pagination .icon-button{width:32px;height:32px}.table-pagination .page-next .icon{transform:none}.table-pagination [data-page-prev] .icon{transform:rotate(180deg)}.table-pagination button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:760px){.table-pagination{justify-content:space-between;flex-wrap:wrap;padding-inline:12px}.table-pagination-status{order:3;width:100%}.password-actions{display:grid;grid-template-columns:1fr}.modal .field>:first-child:not(.password-field){font-size:9px}}

.settings-card .field-help{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.35}.settings-card input[readonly]{color:#65748b;background:#f1f5fa;border-color:#d7e1ed;cursor:default}.default-payments{margin:0;padding:0;border:0}.default-payments legend{padding:0;color:var(--text);font-size:12px;font-weight:800}.default-payments>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:8px}.default-payments label{position:relative;display:grid;gap:4px}.default-payments label>span{color:var(--muted);font-size:11px;font-weight:750}.default-payments label input{width:100%;min-height:38px;padding-right:25px}.default-payments label em{position:absolute;right:11px;bottom:10px;color:var(--muted);font-size:13px;font-style:normal}.payment-validation{display:block;min-height:17px;margin-top:7px;color:#178153;font-size:11px;font-weight:750}.payment-validation.invalid{color:#c73349}@media(max-width:720px){.default-payments>div{grid-template-columns:1fr 1fr}.default-payments label:last-child{grid-column:1/-1}}
.item-summary-card{display:grid;grid-template-columns:minmax(230px,1.15fr) minmax(310px,1fr) auto;align-items:center;gap:18px;margin-top:13px;padding:18px 20px;border:1px solid #c9daf6;border-radius:14px;background:linear-gradient(105deg,#fff,#f4f8ff)}
.item-summary-main h3{margin:7px 0 3px}.item-summary-main p{margin:0;color:var(--muted);font-size:12px}.item-summary-rents{display:grid;gap:8px}.item-summary-rents.double{grid-template-columns:1fr 1fr}.item-summary-rents>div{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 12px;border:1px solid #dce6f5;border-radius:10px;background:#fff}.item-summary-rents span{color:var(--blue);font-size:10px;font-weight:850;text-transform:uppercase}.item-summary-rents b{font-size:11px;text-align:right}.item-summary-rents small{color:var(--muted);font-size:10px}.item-summary-rents strong{grid-row:2;text-align:right;font-size:13px}.item-summary-total{display:grid;justify-items:end;gap:4px;min-width:145px;padding-left:18px;border-left:1px solid #d8e4f4}.item-summary-total small{color:var(--muted)}.item-summary-total>b{font-size:18px}.item-summary-total>div{display:flex;gap:3px}
.item-workbench-modal{width:min(1240px,calc(100vw - 34px));max-height:92vh}.item-workbench-modal .modal-body{padding:22px 24px}.item-base-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:18px}.item-base-grid .item-description{grid-column:span 3}.item-base-grid .item-description textarea{min-height:88px}.modal-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-choice{display:grid;grid-template-columns:42px 1fr;gap:2px 12px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:#fff;text-align:left;cursor:pointer}.modal-choice>.icon{grid-row:1/span 2;width:24px;height:24px;padding:9px;box-sizing:content-box;border-radius:10px;color:var(--blue);background:var(--blue-soft)}.modal-choice span{color:var(--muted);font-size:12px}.modal-choice.selected{border-color:var(--blue);box-shadow:0 0 0 3px rgba(38,103,231,.12)}
.item-product-entry{margin-bottom:18px;padding:16px;border:1px solid #d8e4f4;border-radius:13px;background:#f8fbff}.item-product-entry-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.item-product-entry h3,.item-product-entry p{margin:0}.item-product-entry p{margin-top:3px;color:var(--muted);font-size:11px}.item-product-form{display:grid;grid-template-columns:125px minmax(190px,1.4fr) 130px 110px 150px 135px;gap:10px}.item-add-product{width:100%;margin-top:12px}.modal-back{margin:0 0 14px}.item-rent-grid{display:grid;gap:14px}.item-rent-grid.double{grid-template-columns:1fr 1fr}.item-rent-panel{min-width:0;overflow:hidden;border:1px solid #d7e2f2;border-radius:13px;background:#fff}.item-rent-panel>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;border-bottom:1px solid var(--line);background:#f7faff}.item-rent-panel h3{margin:4px 0 0;font-size:14px}.item-rent-panel>header>strong{font-size:17px}.rent-badge{color:var(--blue);font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.item-products-table{overflow-x:auto}.item-products-table table{width:100%;border-collapse:collapse}.item-products-table th,.item-products-table td{padding:10px 12px;border-bottom:1px solid var(--line);font-size:11px;text-align:left}.item-products-table th{color:var(--muted);font-size:9px;text-transform:uppercase}.item-products-table td small{display:block;margin-top:3px;color:var(--muted)}.empty-table-cell{padding:24px!important;color:var(--muted);text-align:center!important}.item-charge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:12px 13px;background:#fbfcff}.item-charge-grid input{min-height:38px}.item-calculation{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:0;background:var(--line)}.item-calculation>div{padding:11px;background:#fff}.item-calculation dt{color:var(--muted);font-size:9px}.item-calculation dd{margin:3px 0 0;font-size:11px;font-weight:800}.item-grand-total{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:15px;padding:14px 16px;border-radius:11px;color:#fff;background:var(--navy)}.item-grand-total b{font-size:22px}
.item-detail-body{display:grid;gap:14px}.item-detail-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.item-detail-facts>div{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:10px}.item-detail-facts small{color:var(--muted)}
.independent-products-summary{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.independent-products-summary>header{display:flex;justify-content:space-between;gap:15px;margin-bottom:9px}.independent-products-summary h3,.independent-products-summary p{margin:0}.independent-products-summary p{margin-top:3px;color:var(--muted);font-size:11px}.independent-product-v30{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:15px;padding:12px 14px;border:1px dashed #b9cff2;border-radius:11px;background:#f8fbff}.independent-product-v30 small{display:block;margin-top:3px;color:var(--muted)}
.review-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;border:1px solid #d5e1f3;border-radius:13px;background:#d5e1f3}.review-value-grid>div{display:grid;gap:4px;padding:14px;background:#fff}.review-value-grid span{color:var(--muted);font-size:11px}.review-value-grid b{font-size:16px}.review-value-grid .review-total{grid-column:span 2;display:flex;align-items:center;justify-content:space-between;color:#fff;background:var(--navy)}.review-value-grid .review-total span{color:#dfe9ff}.review-value-grid .review-total b{font-size:22px}.review-breakdown{display:grid;gap:9px;margin-top:15px}.review-breakdown>div{display:grid;grid-template-columns:1fr auto;gap:5px;padding:12px 14px;border:1px solid var(--line);border-radius:10px}.review-breakdown small{grid-column:1/-1;color:var(--muted)}.review-conditions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.review-conditions>div{display:grid;gap:4px;padding:12px;border-left:3px solid var(--blue);background:#f6f9fe}.review-conditions small{color:var(--muted)}
.decision-legend>div{grid-template-columns:10px 1fr!important}.decision-legend>div>b[hidden]{display:none!important}.pipeline-ring>div span{font-size:12px}.pipeline-ring>div span b{font-size:14px}
@media(max-width:1100px){.item-summary-card{grid-template-columns:1fr auto}.item-summary-rents{grid-column:1/-1;grid-row:2}.item-summary-total{grid-column:2;grid-row:1}.item-rent-grid.double{grid-template-columns:1fr}.item-product-form{grid-template-columns:repeat(3,1fr)}.item-base-grid{grid-template-columns:repeat(3,1fr)}.item-base-grid .item-description{grid-column:span 2}}
@media(max-width:760px){.quote-table-tabs{width:100%;margin-left:0}.quote-table-tabs button{flex:1}.item-summary-card{grid-template-columns:1fr}.item-summary-rents,.item-summary-rents.double{grid-column:auto;grid-row:auto;grid-template-columns:1fr}.item-summary-total{grid-column:auto;grid-row:auto;justify-items:start;padding:12px 0 0;border-top:1px solid #d8e4f4;border-left:0}.modal-choice-grid,.item-product-form,.item-base-grid,.item-charge-grid,.item-detail-facts,.review-value-grid,.review-conditions{grid-template-columns:1fr}.item-base-grid .item-description{grid-column:auto}.item-product-entry-head{align-items:flex-start;flex-direction:column}.item-product-entry-head .button{width:100%}.item-calculation{grid-template-columns:1fr 1fr}.review-value-grid .review-total{grid-column:auto}.pdf-sheet{padding:20px}.pdf-client{grid-template-columns:1fr}.pdf-sheet>header{align-items:flex-start}.pdf-sheet>header img{width:105px}.independent-product-v30{grid-template-columns:1fr auto}.independent-product-v30>b{grid-column:1}}
.pdf-loading,.pdf-error{display:grid;place-items:center;gap:12px;min-height:360px;text-align:center}.pdf-loading .spinner{width:34px;height:34px;border:3px solid #dbe6f7;border-top-color:var(--blue);border-radius:50%;animation:pdf-spin .8s linear infinite}.pdf-error{color:#9e253a}.pdf-error p{margin:0;color:var(--muted)}@keyframes pdf-spin{to{transform:rotate(360deg)}}
.client-context[hidden]{display:none!important}
.product-picker{width:min(880px,calc(100vw - 28px));max-height:min(84vh,760px)}.product-picker .modal-body{padding:20px}.product-picker .picker-list{gap:9px}.product-picker .picker-list>button{grid-template-columns:minmax(135px,.72fr) minmax(0,2fr) auto;min-height:76px;gap:16px;padding:14px 16px}.product-picker .picker-code{overflow-wrap:anywhere;line-height:1.35}.product-picker .picker-list span b{overflow-wrap:anywhere;line-height:1.35}.product-picker .picker-list strong{align-self:center;padding-left:10px;border-left:1px solid var(--line);font-size:14px}
.client-picker{width:min(760px,calc(100vw - 28px));max-height:min(82vh,720px)}.client-picker .modal-body{display:grid;gap:14px;padding:20px}.modal-context{line-height:1.5}.client-picker-list{display:grid;gap:9px}.client-picker-list>button{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;min-height:70px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:#fff;text-align:left}.client-picker-list>button:hover{border-color:#a9c4f7;background:#f5f9ff}.client-picker-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--blue);background:var(--blue-soft);font-size:11px;font-weight:850}.client-picker-list b,.client-picker-list small{display:block}.client-picker-list small{margin-top:3px;color:var(--muted);overflow-wrap:anywhere}.client-picker-list em{color:var(--muted);font-size:12px;font-style:normal;white-space:nowrap}.empty-picker{margin:12px 0;color:var(--muted);text-align:center}
.independent-product-modal{width:min(930px,calc(100vw - 32px));max-height:88vh}.independent-product-modal .modal-body{display:grid;gap:18px;padding:24px}.independent-product-modal .modal-context{max-width:720px;padding:12px 14px;border-left:3px solid var(--blue);border-radius:0 9px 9px 0;background:#f4f8ff}.independent-product-modal .item-product-form{grid-template-columns:135px minmax(230px,2fr) 130px 120px 160px;gap:13px}.independent-product-modal [data-v30-product-picker]{align-self:start;min-width:220px}.independent-product-modal .modal-foot{padding-inline:24px}
.item-workbench-modal{width:min(1180px,calc(100vw - 32px))}.item-workbench-modal .modal-head{padding:18px 24px}.item-workbench-modal .modal-body{padding:24px}.item-workbench-modal .modal-choice{min-height:104px;padding:19px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.item-workbench-modal .modal-choice:hover{border-color:#9dbcf5;transform:translateY(-1px)}.item-workbench-modal .modal-choice.selected{background:linear-gradient(135deg,#f6f9ff,#e9f1ff)}.item-base-grid{grid-template-columns:minmax(250px,2.15fr) repeat(5,minmax(105px,1fr));gap:13px;margin-top:20px;padding:18px;border:1px solid #dce6f5;border-radius:13px;background:#fbfdff}.item-base-grid .item-description{grid-column:auto}.item-base-grid .item-description textarea{min-height:72px}.item-base-grid input,.item-base-grid select{min-height:43px}.item-product-entry{padding:19px}.item-product-form{grid-template-columns:135px minmax(225px,2fr) 130px 120px 155px 145px;gap:12px}.item-product-form input,.item-product-form select{min-height:43px}.item-rent-grid{align-items:start;gap:16px}.item-rent-grid.double{grid-template-columns:repeat(2,minmax(0,1fr))}.item-rent-panel{box-shadow:0 8px 22px rgba(23,52,97,.05)}.item-rent-panel>header{padding:16px 17px}.item-products-table table{min-width:510px}.item-products-table th,.item-products-table td{padding:11px 13px}.item-charge-grid{padding:14px;gap:11px}.item-grand-total{margin-top:18px;padding:16px 19px}
@media(max-width:1100px){.item-base-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.item-base-grid .item-description{grid-column:span 3}.item-product-form,.independent-product-modal .item-product-form{grid-template-columns:repeat(3,minmax(0,1fr))}.product-picker .picker-list>button{grid-template-columns:130px minmax(0,1fr) auto}}
@media(max-width:760px){.client-picker-list>button{grid-template-columns:40px minmax(0,1fr)}.client-picker-list em{grid-column:2}.product-picker .picker-list>button{grid-template-columns:1fr auto;gap:7px 12px}.product-picker .picker-code{grid-column:1/-1}.product-picker .picker-list strong{padding-left:0;border-left:0}.independent-product-modal .item-product-form{grid-template-columns:1fr}.item-base-grid .item-description{grid-column:auto}}

/* Guided item entry, final review and a stronger sign-in experience. */
.item-workflow-status{display:flex;align-items:center;gap:9px;grid-column:1/-1;margin:-2px 0 16px;color:#8b9aae;font-size:11px;font-weight:800}.item-workflow-status span{display:flex;align-items:center;gap:6px}.item-workflow-status span:before{display:grid;place-items:center;width:21px;height:21px;border:1px solid #cedaea;border-radius:50%;content:"";background:#fff}.item-workflow-status .active{color:var(--blue)}.item-workflow-status .active:before{border-color:var(--blue);box-shadow:inset 0 0 0 5px #fff;background:var(--blue)}.item-workflow-status i{flex:1;max-width:72px;height:1px;background:#d8e3f1}.item-active-table{min-width:0}.item-workbench-modal .item-rent-grid{margin:0}.item-workbench-modal .item-rent-panel>header{background:linear-gradient(90deg,#f5f9ff,#fff)}.item-workbench-modal .modal-foot .button.primary{min-width:185px}
.review-dashboard{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.65fr);gap:14px;margin-top:4px}.review-total-card{display:grid;align-content:center;gap:7px;min-height:174px;padding:24px;border-radius:14px;color:#fff;background:linear-gradient(145deg,#09234e,#174c9a);box-shadow:0 16px 32px rgba(17,57,121,.2)}.review-total-card span{color:#b9d1ff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.review-total-card strong{font-size:29px;line-height:1.1}.review-total-card small{color:#d8e7ff;line-height:1.45}.review-dashboard .review-value-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-content:start}.review-dashboard .review-value-grid>div{min-height:80px;padding:15px}.review-dashboard .review-value-grid b{font-size:15px;overflow-wrap:anywhere}.review-breakdown{gap:10px;margin-top:18px}.review-breakdown>.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0;border:0}.review-breakdown>.section-heading h3,.review-breakdown>.section-heading p{margin:0}.review-breakdown>.section-heading p{margin-top:4px;color:var(--muted);font-size:12px}.review-breakdown>.section-heading>span{padding:6px 9px;border-radius:99px;color:var(--blue);background:var(--blue-soft);font-size:11px;font-weight:800}.review-breakdown>article{overflow:hidden;border:1px solid #dbe5f2;border-radius:12px;background:#fff}.review-breakdown>article>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border-bottom:1px solid #e2e9f3;background:#fbfdff}.review-breakdown>article>header>div{display:flex;align-items:center;gap:9px}.review-breakdown>article>header strong{font-size:15px}.review-breakdown>article>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:#e4ebf4}.review-breakdown>article span{display:grid;gap:4px;padding:11px 14px;background:#fff}.review-breakdown>article span>b{font-size:11px}.review-breakdown>article span small{color:var(--muted);font-size:11px;line-height:1.45}.review-empty{padding:24px;border:1px dashed #c9d8ec;border-radius:12px;color:var(--muted);text-align:center}.review-conditions{grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.review-conditions>article{padding:16px 17px;border:1px solid #d9e5f4;border-radius:12px;background:#f9fbff}.review-conditions h3{margin:0 0 12px;font-size:17px}.review-conditions dl{display:grid;gap:10px;margin:0}.review-conditions dl>div{display:flex;justify-content:space-between;gap:14px;padding-bottom:9px;border-bottom:1px solid #e0e8f3}.review-conditions dl>div:last-child{padding:0;border:0}.review-conditions dt{color:var(--muted);font-size:12px}.review-conditions dd{margin:0;font-size:12px;font-weight:800;text-align:right}.quote-terms{display:grid;gap:6px;margin-top:16px;padding:16px;border:1px solid #dce6f4;border-radius:12px;background:#fbfdff}.quote-terms small{color:var(--muted);font-size:11px}.quote-terms textarea{background:#fff}
body.login-active .login-screen{overflow:auto;padding:34px;background:radial-gradient(circle at 17% 13%,#376fe0 0,rgba(55,111,224,0) 32%),radial-gradient(circle at 90% 88%,#cce0ff 0,rgba(204,224,255,0) 37%),#edf4ff}.login-card{grid-template-columns:minmax(300px,.95fr) minmax(330px,.85fr);gap:0;width:min(920px,100%);padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:22px;background:#fff;box-shadow:0 30px 80px rgba(9,37,83,.26)}.login-brand-panel{display:grid;align-content:start;gap:18px;padding:42px 39px;color:#fff;background:linear-gradient(150deg,#082455,#1558ba)}.login-brand-panel img{justify-self:start;width:150px;margin:0;padding:8px;border-radius:7px;background:#fff}.login-brand-panel .eyebrow{margin:19px 0 0;color:#a9c9ff}.login-brand-panel h1{margin:0;color:#fff;font-size:30px;line-height:1.12;text-align:left}.login-brand-panel>p:not(.eyebrow){margin:0;color:#d4e3ff;line-height:1.6;text-align:left}.login-brand-panel ul{display:grid;gap:11px;margin:5px 0 0;padding:0;list-style:none}.login-brand-panel li{display:flex;align-items:center;gap:10px;color:#e4eeff;font-size:12px;font-weight:700}.login-brand-panel li span{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(255,255,255,.3);border-radius:7px;color:#fff;background:rgba(255,255,255,.1);font-size:10px}.login-form-panel{display:grid;align-content:center;gap:15px;padding:48px 44px}.login-form-panel>.eyebrow{margin:0;color:var(--blue)}.login-form-panel h2{margin:0;font-size:27px}.login-form-panel>p:not(.eyebrow){margin:-7px 0 8px;color:var(--muted)}.login-form-panel .field span{color:#344967;font-size:12px}.login-form-panel .field input{min-height:47px;border-color:#cbd9ed;background:#fbfdff}.login-form-panel .button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;margin-top:4px}.login-help{color:var(--muted);font-size:11px;text-align:center}
.login-remember{display:flex;align-items:center;gap:8px;margin:-6px 0 2px;color:var(--muted);font-size:12.5px;cursor:pointer}
.login-remember input{width:16px;height:16px;accent-color:var(--blue)}.login-card>img,.login-card>h1,.login-card>p:not(.login-error),.login-card>.field,.login-card>.button{display:none}
@media(max-width:720px){body.login-active .login-screen{padding:16px}.login-card{grid-template-columns:1fr;max-width:460px}.login-brand-panel{gap:12px;padding:28px}.login-brand-panel .eyebrow,.login-brand-panel ul{display:none}.login-brand-panel h1{font-size:23px}.login-form-panel{padding:30px 26px}.review-dashboard,.review-conditions{grid-template-columns:1fr}.review-dashboard .review-value-grid{grid-template-columns:1fr 1fr}.item-workflow-status{overflow-x:auto;padding-bottom:3px}.item-workflow-status i{min-width:22px}.review-breakdown>article>header{align-items:flex-start;flex-direction:column}.review-breakdown>article>header>div{align-items:flex-start;flex-direction:column}}

/* DecoApp identity and a focused sign-in: the account is the only task here. */
.decoapp-logo{display:inline-flex;align-items:center;gap:9px;color:#102d62;text-decoration:none;line-height:1}.decoapp-logo-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#fff;background:linear-gradient(145deg,#0b2b5b,#2563eb);box-shadow:inset 0 1px 0 rgba(255,255,255,.25);font-family:Georgia,serif;font-size:21px;font-style:italic;font-weight:700}.decoapp-logo-name{letter-spacing:-.055em;font-size:21px;font-weight:780}.decoapp-logo-name>span{color:#2563eb}.brand{min-height:54px;padding-bottom:22px}.brand .decoapp-logo{padding:5px 0}.decoapp-logo--sidebar .decoapp-logo-name{font-size:22px}body.sidebar-collapsed .brand .decoapp-logo{gap:0}body.sidebar-collapsed .brand .decoapp-logo-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.decoapp-logo--document{gap:7px}.decoapp-logo--document .decoapp-logo-mark{width:25px;height:25px;border-radius:7px;font-size:18px}.decoapp-logo--document .decoapp-logo-name{font-size:18px}
body.login-active .login-screen{padding:24px;background:radial-gradient(circle at 18% 12%,#dceaff 0,rgba(220,234,255,0) 31%),radial-gradient(circle at 88% 88%,#e8f1ff 0,rgba(232,241,255,0) 34%),#f7faff}body.login-active .login-card{display:block;width:min(410px,100%);padding:0;border:1px solid #dbe5f2;border-radius:18px;background:#fff;box-shadow:0 22px 60px rgba(17,51,105,.16)}.login-card .login-form-panel{display:grid;align-content:start;gap:15px;padding:34px 36px 31px}.login-card .decoapp-logo--login{justify-self:center;margin:2px 0 9px}.login-card .decoapp-logo--login .decoapp-logo-mark{width:34px;height:34px;border-radius:10px;font-size:23px}.login-card .decoapp-logo--login .decoapp-logo-name{font-size:24px}.login-card .login-form-panel>.eyebrow{margin:1px 0 0;text-align:center}.login-card .login-form-panel h1{margin:0;font-size:27px;text-align:center}.login-card .login-form-panel>p:not(.eyebrow):not(.login-error){margin:-7px 0 7px;color:var(--muted);text-align:center}.login-card .login-form-panel .field{gap:6px}.login-card .login-form-panel .field input{min-height:46px;background:#fbfdff}.login-card .login-submit{min-height:47px;margin-top:3px}.login-card .login-help{display:block;margin-top:0;font-size:11px;line-height:1.45;text-align:center}.login-card>img,.login-card>h1,.login-card>p:not(.login-error),.login-card>.field,.login-card>.button{display:none}@media(max-width:720px){body.login-active .login-screen{padding:18px}.login-card .login-form-panel{padding:29px 24px 26px}}

/* Quote values and final review: restore a single, deliberate reading flow. */
.quote-workspace .stage[data-stage="3"].active{display:block!important;padding-bottom:30px}.quote-workspace .stage[data-stage="3"]>.stage-heading{margin-bottom:24px}.quote-workspace .stage[data-stage="3"]>.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:22px}.quote-workspace .stage[data-stage="3"]>.payment-grid{display:grid;gap:14px;max-width:760px;margin-bottom:18px;padding:19px!important;border:1px solid #dbe6f4!important;border-radius:14px!important;background:#fbfdff!important}.quote-workspace .stage[data-stage="3"] .payment-percentages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.quote-workspace .stage[data-stage="3"]>.quote-terms{display:grid;width:100%;margin:0;padding:18px 19px}.quote-workspace .stage[data-stage="3"]>.quote-terms textarea{min-height:112px}
.review-ready{display:inline-flex;align-items:center;gap:9px;min-width:168px;padding:8px 12px;border:1px solid #b9e5ce;border-radius:11px;color:#137a52;background:#f1fbf6;box-shadow:0 4px 12px rgba(19,122,82,.08)}.review-ready>.icon{display:grid;place-items:center;width:23px;height:23px;padding:4px;border-radius:50%;color:#fff;background:#16845b}.review-ready>span{display:grid;gap:1px}.review-ready b{font-size:12px;line-height:1.1}.review-ready small{color:#4c8b70;font-size:10px;font-weight:700;line-height:1.1}
.review-dashboard{grid-template-columns:minmax(0,1.75fr) minmax(280px,.78fr);gap:16px}.review-dashboard .review-value-grid{grid-template-columns:repeat(3,minmax(0,1fr));height:100%}.review-dashboard .review-value-grid>div{min-height:88px;padding:17px 18px}.review-dashboard .review-value-grid>div:nth-child(4){grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;min-height:67px;padding-block:13px;background:#f4f8ff}.review-dashboard .review-value-grid>div:nth-child(7){grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;min-height:67px;padding-block:13px;background:#f4f8ff}.review-dashboard .review-value-grid span{font-size:12px}.review-dashboard .review-value-grid b{font-size:16px}.review-total-card{order:2;min-height:100%;padding:27px 25px}.review-total-card strong{font-size:31px}.review-total-card small{font-size:12px}
.review-breakdown{gap:13px;margin-top:23px}.review-breakdown>.section-heading h3{font-size:17px}.review-breakdown>.section-heading p{font-size:13px}.review-breakdown>.section-heading>span{padding:7px 11px;font-size:12px}.review-breakdown>article>header{padding:16px 18px}.review-breakdown>article>header strong{font-size:16px}.review-breakdown>article>header>div{gap:11px}.review-breakdown>article>div{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.review-breakdown>article span{gap:6px;padding:15px 17px}.review-breakdown>article span>b{font-size:13px}.review-breakdown>article span small{font-size:13px;line-height:1.55}.review-conditions{gap:16px;margin-top:22px}.review-conditions>article{padding:19px 20px}.review-conditions h3{margin-bottom:15px;font-size:15px}.review-conditions dl{gap:11px}.review-conditions dt,.review-conditions dd{font-size:13px}.review-conditions .review-terms-row{align-items:flex-start}.review-terms-preview{max-width:68%;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
@media(max-width:760px){.quote-workspace .stage[data-stage="3"]>.form-grid,.quote-workspace .stage[data-stage="3"] .payment-percentages{grid-template-columns:1fr}.quote-workspace .stage[data-stage="3"]>.payment-grid{max-width:none}.review-dashboard{grid-template-columns:1fr}.review-dashboard .review-value-grid>div:nth-child(4),.review-dashboard .review-value-grid>div:nth-child(7){grid-column:auto;display:grid;min-height:88px}.review-total-card{order:initial;min-height:174px}.review-breakdown>article>div{grid-template-columns:1fr}.review-terms-preview{max-width:62%}}
@media(max-width:760px){.table-card-head{align-items:flex-start;flex-wrap:wrap}.table-card-head .table-page-size{order:3;width:100%;margin-left:0}.table-pagination{justify-content:flex-end;flex-wrap:nowrap}.table-pagination-status{order:initial;width:auto}}

/* Porcentajes: un sufijo persistente evita confundirlos con cantidades. */
.percent-input{position:relative;display:block;width:100%}.percent-input input{width:100%;padding-right:38px;appearance:textfield}.percent-input input::-webkit-outer-spin-button,.percent-input input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.percent-input i{pointer-events:none}.default-payments label>.percent-input{display:block;margin-top:6px}.default-payments label>.percent-input i{position:absolute;right:13px;top:50%;color:var(--muted);font-style:normal;transform:translateY(-50%)}

/* En el inventario de ítems la continuidad visual prima sobre el aire decorativo. */
.quote-workspace .stage[data-stage="2"]{gap:12px}.quote-workspace .stage[data-stage="2"] .item-summary-card{margin-top:0}

/* Modal de ítem: una jerarquía de formulario clara y una lectura vertical continua. */
.item-workbench-modal{width:min(980px,calc(100vw - 32px))}.item-workbench-modal .modal-body{grid-template-columns:1fr;gap:18px;padding:22px 26px}.item-modal-title{display:flex;align-items:center;gap:7px}.item-modal-back{width:34px;height:34px;margin-left:-5px;border:1px solid #d7e2f2;border-radius:9px;color:var(--blue);background:#f8fbff}.item-modal-back:hover{border-color:#a9c4f7;background:var(--blue-soft)}.item-workbench-modal .modal-choice-grid{gap:10px}.item-workbench-modal .modal-choice{grid-template-columns:46px 1fr;gap:1px 13px;min-height:96px;padding:16px 17px}.item-workbench-modal .modal-choice>.icon{width:26px;height:26px;padding:9px;border-radius:11px;box-sizing:content-box;stroke-width:2.2}.item-workbench-modal .modal-choice b{font-size:15px;line-height:1.25}.item-workbench-modal .modal-choice span{font-size:13px;line-height:1.35}.item-workbench-modal .item-base-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;border:0;background:transparent}.item-workbench-modal .item-base-grid .item-description textarea{min-height:86px}.item-workbench-modal .item-base-grid .field>span,.item-workbench-modal .item-product-form .field>span,.item-workbench-modal .item-charge-grid .field>span{padding:0;border:0;border-radius:0;color:#34445e;background:transparent;font-size:12px;font-weight:800;letter-spacing:0;text-transform:none}.item-workbench-modal .item-base-grid input,.item-workbench-modal .item-base-grid select,.item-workbench-modal .item-base-grid textarea,.item-workbench-modal .item-product-form input,.item-workbench-modal .item-charge-grid input{min-height:44px;background:#fff}.item-workbench-modal .item-product-entry{margin:0;padding:18px;border-radius:14px}.item-workbench-modal .item-product-entry h3{font-size:16px}.item-workbench-modal .item-product-entry p{font-size:13px;line-height:1.45}.item-workbench-modal .item-product-form{grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}.item-workbench-modal .item-product-form .field:nth-of-type(1){grid-column:span 2}.item-workbench-modal .item-product-form .field:nth-of-type(2){grid-column:span 4}.item-workbench-modal .item-product-form .field:nth-of-type(3),.item-workbench-modal .item-product-form .field:nth-of-type(4),.item-workbench-modal .item-product-form .field:nth-of-type(5){grid-column:span 2}.item-workbench-modal .item-rent-grid,.item-workbench-modal .item-active-table{width:100%}.item-workbench-modal .item-rent-panel{width:100%}.item-workbench-modal .item-grand-total{margin-top:0}.item-workbench-modal .item-charge-grid{padding:15px 16px;gap:13px}
@media(max-width:760px){.item-workbench-modal .modal-body{padding:18px}.item-workbench-modal .item-base-grid,.item-workbench-modal .item-product-form{grid-template-columns:1fr}.item-workbench-modal .item-base-grid .item-description,.item-workbench-modal .item-base-grid .field:nth-child(n),.item-workbench-modal .item-product-form .field:nth-of-type(n){grid-column:auto}.item-workbench-modal .item-product-entry-head{gap:12px}.item-workbench-modal .item-charge-grid{grid-template-columns:1fr}}

/* Resumen del ítem y detalle: valores agrupados, comparables y sin columnas vacías. */
.item-summary-card{grid-template-columns:minmax(235px,.9fr) minmax(420px,1.45fr) auto;gap:20px;padding:17px 20px}.item-summary-rents{gap:10px}.item-summary-rents.double{grid-template-columns:repeat(2,minmax(0,1fr))}.item-summary-rents .item-rent-summary{display:grid;grid-template-columns:1fr auto;gap:9px 12px;min-height:92px;padding:12px 14px;border:1px solid #cfe0f7;border-radius:12px;background:linear-gradient(145deg,#fff,#f7faff)}.item-rent-summary header{display:flex;align-items:center;justify-content:space-between;gap:8px;grid-column:1/-1}.item-rent-summary header span{color:var(--blue);font-size:11px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.item-rent-summary header b{padding:4px 7px;border-radius:999px;color:#526984;background:#eaf2ff;font-size:10px}.item-rent-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;grid-column:1/-1;margin:0}.item-rent-summary dl>div{display:grid;gap:2px}.item-rent-summary dt{color:var(--muted);font-size:10px}.item-rent-summary dd{margin:0;color:var(--text);font-size:13px;font-weight:800}.item-rent-summary>strong{grid-column:1/-1;padding-top:8px;border-top:1px solid #dce7f4;color:var(--navy);font-size:16px;text-align:right}.item-detail-modal{width:min(1180px,calc(100vw - 32px))}.item-detail-modal .modal-body{grid-template-columns:1fr;gap:16px;padding:24px}.item-detail-modal .item-rent-grid{grid-column:1/-1;width:100%}.item-detail-modal .item-rent-grid.double{grid-template-columns:repeat(2,minmax(0,1fr))}.item-detail-modal .item-rent-panel{width:100%;min-width:0}.item-detail-modal .item-rent-panel>header{padding:16px 18px}.item-detail-modal .item-products-table{overflow-x:auto}.item-detail-modal .item-products-table table{min-width:0}.item-detail-modal .item-products-table th,.item-detail-modal .item-products-table td{padding:11px 14px}.item-detail-modal .item-grand-total{grid-column:1/-1;margin:0;padding:18px 20px}.item-detail-modal .item-grand-total b{font-size:25px}
@media(max-width:1100px){.item-detail-modal .item-rent-grid.double{grid-template-columns:1fr}}
@media(max-width:1100px){.item-summary-card{grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr) auto}}@media(max-width:760px){.item-summary-card{grid-template-columns:1fr}.item-summary-rents.double{grid-template-columns:1fr}.item-detail-modal .modal-body{padding:18px}.item-detail-modal .item-products-table table{min-width:510px}}

/* Controles compactos y formularios de producto con una lectura operativa clara. */
.sidebar-bottom .sidebar-toggle{display:grid;place-items:center;width:32px;height:32px;min-height:32px;margin:0 0 14px 6px;padding:0;border:1px solid #d6e1f0;border-radius:9px;color:#60748f;background:#fff;box-shadow:none}.sidebar-bottom .sidebar-toggle:hover{color:var(--blue);border-color:#a9c4f7;background:#f5f9ff}.sidebar-bottom .sidebar-toggle .icon{width:16px;height:16px}.sidebar-bottom .sidebar-toggle:focus-visible{outline:3px solid rgba(46,112,241,.24);outline-offset:2px}body.sidebar-collapsed .sidebar-bottom .sidebar-toggle{margin-inline:auto}
.item-workbench-modal .item-product-entry{width:min(100%,720px);margin:0 auto;padding:18px 20px;border:1px solid #dbe6f4;border-radius:13px;background:#fff;box-shadow:0 6px 18px rgba(20,52,96,.04)}.item-workbench-modal .item-product-entry-head{align-items:flex-start;margin-bottom:16px}.item-workbench-modal .item-product-entry-head>div{display:grid;gap:3px}.item-workbench-modal .item-product-entry .rent-badge{padding:0;border:0;border-radius:0;color:var(--blue);background:transparent;font-size:11px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.item-workbench-modal .item-product-entry h3{margin:0;font-size:17px;line-height:1.25}.item-workbench-modal .item-product-entry p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.item-workbench-modal .item-product-entry-head .button{flex:0 0 auto;min-height:40px;padding-inline:13px;white-space:nowrap}.item-workbench-modal .item-product-entry .item-product-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.item-workbench-modal .item-product-entry .item-product-form .field{display:grid;gap:6px}.item-workbench-modal .item-product-entry .item-product-form .field>span{padding:0!important;border:0!important;border-radius:0!important;color:#34445e!important;background:transparent!important;font-size:12px!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important}.item-workbench-modal .item-product-entry .item-product-form .field:nth-of-type(1){grid-column:1;grid-row:1}.item-workbench-modal .item-product-entry .item-product-form .field:nth-of-type(2){grid-column:1/-1;grid-row:2}.item-workbench-modal .item-product-entry .item-product-form .field:nth-of-type(3){grid-column:2;grid-row:1}.item-workbench-modal .item-product-entry .item-product-form .field:nth-of-type(4){grid-column:1;grid-row:3}.item-workbench-modal .item-product-entry .item-product-form .field:nth-of-type(5){grid-column:2;grid-row:3}.item-workbench-modal .item-product-entry .item-product-form input{min-height:42px}.item-workbench-modal .item-product-entry .item-add-product{display:inline-flex;width:auto;min-height:42px;margin:16px 0 0 auto;padding-inline:16px;float:right}.item-workbench-modal .item-product-entry:after{display:block;clear:both;content:""}
.item-summary-main{align-content:center}.item-summary-main h3{margin-bottom:9px}.item-summary-facts{display:flex;flex-wrap:wrap;gap:6px 0;margin:0;color:#5c708b}.item-summary-facts>div{display:flex;align-items:baseline;gap:4px;padding:0 9px;border-right:1px solid #d8e3f1;font-size:12px;line-height:1.35}.item-summary-facts>div:first-child{padding-left:0}.item-summary-facts>div:last-child{border-right:0}.item-summary-facts dt{font-weight:850}.item-summary-facts dt:after{content:":"}.item-summary-facts dd{margin:0;color:#526984;font-weight:600}
@media(max-width:760px){.sidebar-bottom .sidebar-toggle{margin-left:4px}.item-workbench-modal .item-product-entry{width:100%;padding:16px}.item-workbench-modal .item-product-entry-head{gap:12px}.item-workbench-modal .item-product-entry-head .button{width:auto}.item-workbench-modal .item-product-entry .item-product-form{grid-template-columns:1fr}.item-workbench-modal .item-product-entry .item-product-form .field:nth-of-type(n){grid-column:auto;grid-row:auto}.item-workbench-modal .item-product-entry .item-add-product{width:100%;justify-content:center;float:none}.item-summary-facts>div{padding-inline:7px;font-size:11px}.item-summary-facts>div:nth-child(odd){padding-left:0}}

/* Quote operations: one coherent status control, compact paging and clear hit areas. */
.activity-chart .chart-fill,.activity-chart .chart-line{pointer-events:none}
.notifications-popover .notification-item>span:nth-child(2){display:grid;align-content:center;min-height:52px}
.notifications-popover .notification-item{min-height:74px;padding-block:10px}
.sidebar{overflow:visible}
.sidebar-bottom .sidebar-toggle,.sidebar-bottom .sidebar-toggle:where(:not(.unused)){position:absolute;right:-16px;bottom:158px;z-index:12;margin:0;box-shadow:0 6px 18px rgba(17,48,91,.14)}
body.sidebar-collapsed .sidebar-bottom .sidebar-toggle{right:-16px;margin:0}
[data-view-panel="cotizaciones"] .table-pagination{justify-content:flex-end;gap:10px}
[data-view-panel="cotizaciones"] .table-pagination .table-page-size{display:flex;align-items:center;gap:7px;margin-right:auto;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}
.quote-status-trigger,.product-status-trigger{gap:5px;border:0;cursor:pointer}
.quote-status-trigger .icon,.product-status-trigger .icon{width:12px;height:12px;transition:transform .15s ease}
.quote-status-trigger[aria-expanded="true"] .icon,.product-status-trigger[aria-expanded="true"] .icon{transform:rotate(90deg)}
.quote-status-menu,.product-status-menu{position:fixed;z-index:90;display:grid;width:184px;padding:7px;border:1px solid #cddbef;border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(8,34,76,.2)}
.quote-status-menu>small,.product-status-menu>small{padding:6px 9px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.quote-status-menu>button,.product-status-menu>button{display:flex;align-items:center;gap:9px;min-height:36px;padding:0 9px;border:0;border-radius:8px;color:var(--text);background:transparent;text-align:left;font-size:12px;font-weight:700}
.quote-status-menu>button:hover,.quote-status-menu>button:focus-visible,.product-status-menu>button:hover,.product-status-menu>button:focus-visible{background:var(--blue-soft);color:var(--blue)}
.status-dot{width:8px;height:8px;border-radius:50%;background:#718096}.status-dot.success{background:#1a8a62}.status-dot.review{background:#d08712}
@media(max-width:760px){.sidebar-bottom .sidebar-toggle{display:none}[data-view-panel="cotizaciones"] .table-pagination{flex-wrap:wrap}[data-view-panel="cotizaciones"] .table-pagination .table-page-size{width:auto}.quote-status-menu,.product-status-menu{width:172px}}

/* Cierre de anotaciones: jerarquía del inicio, acciones y formularios consistentes. */
.view[data-view-panel="inicio"]>.dashboard-search{order:.5;display:flex;width:100%;max-width:none;margin:16px 0 18px;min-height:48px;background:#fff}
.dashboard-heading-actions{display:flex;align-items:center;gap:9px}.dashboard-heading-actions .top-actions{display:flex;align-items:center}.dashboard-heading-actions .top-actions>.icon-button{width:42px;height:42px;border:1px solid #ccdaee;background:#fff}.dashboard-heading-actions .notifications-popover{top:50px}
.recent-quotes-card .table-card-head>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.recent-quotes-card .table-card-head h2{margin:0}
.recent-quotes-see-all{padding:2px 0;font-size:12.5px}
.recent-quotes-see-all .icon{width:13px;height:13px;transform:rotate(-90deg)}
.role-access-note{margin:0 24px 18px;padding:12px 14px;border:1px solid #d8e3f1;border-radius:10px;background:#f2f6fd;color:#425774;font-size:12.5px;line-height:1.5}
body.has-open-dialog{overflow:hidden}
.field>span:has(.tax-rates-edit){display:inline-flex;align-items:center;gap:6px}
.tax-rates-edit{width:20px;height:20px;min-width:20px;padding:0;color:var(--blue,#2563eb)}
.tax-rates-edit .icon{width:13px;height:13px}
.profile-current-avatar .profile-avatar-preview{width:48px;height:48px;flex:0 0 48px;border-radius:14px}
.profile-photo:has(.profile-current-avatar){padding-top:13px;padding-bottom:13px}
.password-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.password-actions .button{width:100%;min-width:0;justify-content:center}
.default-payments legend{font-size:14px;line-height:1.35}.default-payments label>span{font-size:13px}.default-payments label input{font-size:14px}.payment-validation{font-size:12px}
.default-payments{margin-top:20px}
.recommendations-card{padding:20px}
.recommendation-list{display:grid;gap:12px;margin-top:14px}
.recommendation-row{position:relative;display:flex;width:100%;align-items:flex-start;gap:12px;padding:13px 14px;border:1px solid #e3eaf4;border-radius:12px;background:#fbfdff;font:inherit;text-align:left}
.recommendation-row.is-clickable{cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}
.recommendation-row.is-clickable:hover{box-shadow:0 8px 18px rgba(15,42,82,.1);transform:translateY(-1px)}
.recommendation-row b{display:block;font-size:13px;color:var(--text,#0f2a52)}
.recommendation-row small{display:block;margin-top:2px;color:var(--muted,#66768e);font-size:12px;line-height:1.4}
.recommendation-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;color:#5c6c85;background:#eef2f8}
.recommendation-icon .icon{width:16px;height:16px}
.recommendation-go{display:grid;place-items:center;flex:0 0 20px;margin-left:auto;color:#9aa8bd}
.recommendation-go .icon{width:15px;height:15px;transform:rotate(-90deg)}
.recommendation-row.danger{border-color:#f0cbd2;background:#fff8f9}
.recommendation-row.danger .recommendation-icon{color:#c0304a;background:#fbe1e6}
.recommendation-row.warning{border-color:#f0dfb8;background:#fffaf0}
.recommendation-row.warning .recommendation-icon{color:#a5720f;background:#faedc9}
.recommendation-row.success{border-color:#c7ecd9;background:#f4fcf8}
.recommendation-row.success .recommendation-icon{color:#1f9d63;background:#d9f3e6}
.recommendation-top{margin-top:16px;padding-top:14px;border-top:1px solid var(--line,#e5ebf3)}
.recommendation-top>small{display:block;margin-bottom:8px;color:var(--muted,#66768e);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.recommendation-top>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;font-size:13px;border-top:1px dashed #e5ebf3}
.recommendation-top>div:first-of-type{border-top:0}
.recommendation-top>div>span:first-child{display:flex;flex-direction:column;gap:1px;min-width:0}
.recommendation-project{overflow:hidden;color:var(--muted,#66768e);font-size:11px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
.recommendation-top-value{display:flex;align-items:center;gap:8px}
.recommendation-top-value .icon-button{width:28px;height:28px;min-width:28px}
.recommendation-top-value>small{color:var(--muted,#8a97ac);font-size:11px}
.recommendation-top b{color:#0f2a52}
.recommendation-top .recommendation-client{text-transform:lowercase}
.recommendation-top .recommendation-client::first-letter{text-transform:uppercase}
.tech-overview-card{margin-bottom:18px;padding:20px}
.tech-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px}
.tech-stat{position:relative;width:100%;padding:12px 13px;border:1px solid #e3eaf4;border-radius:11px;background:#fbfdff;font:inherit;text-align:left}
button.tech-stat{cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}
button.tech-stat:hover{box-shadow:0 8px 18px rgba(15,42,82,.1);transform:translateY(-1px)}
.tech-stat b{display:block;font-size:20px;color:#0f2a52}
.tech-stat span{display:block;margin-top:2px;color:var(--muted,#66768e);font-size:11px;font-weight:700;letter-spacing:.02em}
.tech-stat em{position:absolute;right:11px;bottom:10px;color:#2563eb;font-size:10px;font-style:normal;font-weight:800;opacity:0;transition:opacity .15s ease}
button.tech-stat:hover em{opacity:1}
.tech-stat.warning{border-color:#f0dfb8;background:#fffaf0}
.tech-stat.warning b{color:#a5720f}
.modal-body:has(.tech-drill-list){grid-template-columns:minmax(0,1fr)}
.tech-drill-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0;list-style:none;max-height:360px;overflow-y:auto;width:100%}
.tech-drill-list li{display:flex;flex-direction:column;padding:10px 12px;border:1px solid #e5ebf3;border-radius:9px;background:#fbfdff}
.tech-drill-list b{font-size:13px;color:#0f2a52}
.tech-drill-list small{margin-top:2px;color:#66768e;font-size:12px}
@media(max-width:1080px){.tech-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.tech-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.deko-tour-overlay{position:fixed;z-index:2147483000;border-radius:10px;box-shadow:0 0 0 9999px rgba(8,16,32,.6);pointer-events:none;transition:top .22s ease,left .22s ease,width .22s ease,height .22s ease}
.deko-tour-card{position:fixed;z-index:2147483001;width:320px;max-width:calc(100vw - 28px);padding:16px 18px;border-radius:14px;background:#fff;box-shadow:0 20px 45px rgba(6,16,38,.28);animation:deko-tour-in .18s ease}
@keyframes deko-tour-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.deko-tour-card .deko-tour-step{margin-bottom:4px;color:#2563eb;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.deko-tour-card h3{margin:0 0 6px;font-size:15px;color:#0f2a52}
.deko-tour-card p{margin:0;color:#4a5972;font-size:13px;line-height:1.5}
.deko-tour-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.deko-tour-actions>div{display:flex;gap:8px}
.deko-tour-actions .button{min-height:34px;padding:0 12px;font-size:12.5px}
.deko-tour-prompt{position:fixed;right:20px;bottom:20px;z-index:2147482900;display:flex;align-items:flex-start;gap:12px;width:320px;max-width:calc(100vw - 28px);padding:15px 16px;border:1px solid #d8e3f1;border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(6,16,38,.22);animation:deko-tour-in .22s ease}
.deko-tour-prompt>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;color:#2563eb;background:#e8f1ff}
.deko-tour-prompt>span .icon{width:18px;height:18px}
.deko-tour-prompt-body{flex:1;min-width:0}
.deko-tour-prompt b{display:block;font-size:13.5px;color:#0f2a52}
.deko-tour-prompt small{display:block;margin-top:2px;color:#66768e;font-size:12px;line-height:1.4}
.deko-tour-prompt-actions{display:flex;gap:8px;margin-top:10px}
.deko-tour-prompt-actions .button{min-height:32px;padding:0 11px;font-size:12px}
@media(max-width:520px){.deko-tour-prompt{left:14px;right:14px;bottom:14px;width:auto}.deko-tour-card{left:14px!important;right:14px;width:auto}}
.deko-tour-help-menu{position:fixed;z-index:2147482800;display:grid;gap:2px;width:296px;padding:8px;border:none;border-radius:18px;background:#fff;box-shadow:0 20px 40px -14px rgba(6,16,38,.22),0 2px 8px rgba(6,16,38,.06);animation:deko-tour-menu-in .16s cubic-bezier(.2,.7,.3,1)}
.deko-tour-help-menu-divider{grid-column:1/-1;margin:4px 6px;border:none;border-top:1px solid #f1f3f8}
.deko-tour-help-menu button{display:flex;align-items:center;gap:11px;padding:10px;border:none;background:transparent;border-radius:13px;text-align:left;color:inherit;font:inherit;transition:background .12s ease}
.deko-tour-help-menu button:hover,.deko-tour-help-menu button:focus-visible{background:#f6f8fc}
.deko-tour-help-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;opacity:.85}
.deko-tour-help-icon .icon{width:16px;height:16px;color:inherit}
.deko-tour-help-icon.tone-info{color:#2563eb;background:#eef3fd}
.deko-tour-help-icon.tone-accent{color:#7c3aed;background:#f4eefd}
.deko-tour-help-icon.tone-warning{color:#b6660a;background:#fcf1de}
.deko-tour-help-menu b{display:block;font-size:12.5px;font-weight:600;color:#26324a}
.deko-tour-help-menu small{display:block;margin-top:1px;color:#8792a6;font-size:11px;line-height:1.35}
@keyframes deko-tour-menu-in{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:520px){.deko-tour-help-menu{left:14px!important;right:14px;width:auto}}
.deko-welcome-dialog .modal-body{grid-template-columns:minmax(0,1fr)}
.deko-welcome-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:3px 0 0;padding:0;list-style:none}
.deko-welcome-list li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.45;color:#33455f}
.deko-welcome-list .icon{width:16px;height:16px;margin-top:2px;flex:0 0 16px;color:#1f9d63}
.deko-welcome-dialog .modal-context{margin:0;color:#66768e;font-size:13px}
.deko-welcome-form{position:relative}
.deko-welcome-fade{position:sticky;bottom:64px;left:0;right:0;height:22px;margin-top:-22px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);pointer-events:none}
.activity-filter-hint{margin:0 0 10px;color:#8494ab;font-size:12px}
.activity-filter-cell{display:inline-block;text-align:left;border:0;background:transparent;padding:2px 7px;margin:-2px -7px;border-radius:7px;font:inherit;color:inherit;cursor:pointer;transition:background .12s,color .12s}
.activity-filter-cell:hover{background:#eaf1ff;color:#2f5fe0}
.activity-active-filters{display:flex;flex-wrap:wrap;gap:8px;width:100%;order:-1}
.activity-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 11px;border-radius:999px;background:#eaf1ff;color:#2f5fe0;font-size:12.5px;font-weight:650}
.activity-filter-chip button{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:0;border-radius:50%;background:rgba(47,95,224,.12);color:inherit;cursor:pointer}
.activity-filter-chip button:hover{background:rgba(47,95,224,.22)}
.activity-filter-chip .icon{width:11px;height:11px}
.deko-welcome-dialog .modal-foot{justify-content:space-between;flex-wrap:wrap}
.deko-welcome-dismiss-toggle{display:flex;align-items:center;gap:7px;font-size:12.5px;color:#66768e;font-weight:600;cursor:pointer;user-select:none}
.deko-welcome-dismiss-toggle input{width:15px;height:15px;accent-color:var(--accent,#2f5fe0);cursor:pointer}
.deko-welcome-foot-actions{display:flex;align-items:center;gap:10px}
@media(max-width:480px){.deko-welcome-dialog .modal-foot{justify-content:flex-start}.deko-welcome-foot-actions{width:100%;justify-content:flex-end}}
dialog#product-import-guide{width:min(860px,94vw)}
#product-import-guide .modal-context{margin:0 0 14px;color:#4a5972;font-size:13.5px;line-height:1.5}
.product-import-guide-form .modal-body{grid-template-columns:minmax(0,1fr)}
.product-import-sample{width:100%;overflow-x:auto;border:1px solid #e3eaf4;border-radius:11px}
.product-import-sample table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:11.5px}
.product-import-sample th{padding:8px 8px;color:#5c6c85;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.01em;background:#f7faff;border-bottom:1px solid #e3eaf4;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-import-sample td{padding:8px 8px;border-bottom:1px solid #eef2f8;color:#33455f;overflow-wrap:break-word}
.product-import-sample th:nth-child(1),.product-import-sample td:nth-child(1){width:10%}
.product-import-sample th:nth-child(2),.product-import-sample td:nth-child(2){width:20%}
.product-import-sample th:nth-child(3),.product-import-sample td:nth-child(3){width:9%}
.product-import-sample th:nth-child(4),.product-import-sample td:nth-child(4){width:12%}
.product-import-sample th:nth-child(5),.product-import-sample td:nth-child(5){width:9%}
.product-import-sample th:nth-child(6),.product-import-sample td:nth-child(6){width:10%}
.product-import-sample th:nth-child(7),.product-import-sample td:nth-child(7){width:10%}
.product-import-sample th:nth-child(8),.product-import-sample td:nth-child(8){width:20%}
.product-import-sample tr:last-child td{border-bottom:0}
.product-import-note{margin:12px 0 0;color:#7b899d;font-size:11.5px;line-height:1.5}
.product-import-sample th{white-space:nowrap}
.product-import-tag{display:block;margin-top:2px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.product-import-tag.is-required{color:#c0304a}
.product-import-tag.is-optional{color:#8b9ab0}
.product-import-empty{color:#b6c0cf}
.activity-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto}
.activity-filters .select-field select{min-height:36px;padding:0 30px 0 11px;border:1px solid #d8e3f1;border-radius:9px;font-size:12.5px;background-color:#fff}
@media(max-width:900px){.activity-filters{margin-left:0;width:100%}.activity-filters .select-field{flex:1 1 160px}}
.chat-widget .ai-composer .ai-send .icon{transform:none}
.client-picker .picker-search:focus-within{border-color:var(--line);box-shadow:none}.client-picker .picker-search input:focus{border:0;outline:0;box-shadow:none}
.sidebar-bottom .sidebar-toggle .icon{transform:rotate(180deg)!important}body.sidebar-collapsed .sidebar-bottom .sidebar-toggle .icon{transform:none!important}
.confirm-dialog-v30{width:min(440px,calc(100vw - 28px));border:0;border-radius:20px;box-shadow:0 28px 90px rgba(20,31,55,.26)}.confirm-dialog-v30 .modal-form{min-height:0}.confirm-dialog-v30 .modal-body{display:block;padding:32px 32px 20px}.confirm-dialog-v30 .confirm-visual{gap:10px}.confirm-dialog-v30 .confirm-icon{width:66px;height:66px;border:1px solid #ffc5ce;color:#cf3048;background:#fff1f3;box-shadow:0 0 0 9px #fff7f8}.confirm-dialog-v30 .confirm-icon .icon{width:27px;height:27px}.confirm-dialog-v30 h2{margin-top:13px;font-size:22px;letter-spacing:-.02em}.confirm-dialog-v30 .confirm-visual>b{font-size:14px}.confirm-dialog-v30 .confirm-visual>p{max-width:315px;margin:2px 0 0!important;color:var(--muted);line-height:1.55}.confirm-dialog-v30 .modal-foot{justify-content:center;gap:10px;padding:16px 28px 28px;border:0}.confirm-dialog-v30 .modal-foot .button{min-width:150px;justify-content:center}.danger-button{border-color:#cf3048!important;color:#fff!important;background:#cf3048!important;box-shadow:0 8px 18px rgba(207,48,72,.24)}.danger-button:hover{border-color:#ae2036!important;background:#ae2036!important}
[data-view-panel="categorias"] .table-card,[data-view-panel="unidades"] .table-card,[data-view-panel="precios"] .table-card{overflow:hidden}
@media(max-width:760px){.dashboard-heading-actions{width:100%;justify-content:space-between}.view[data-view-panel="inicio"]>.dashboard-search{margin-top:12px}.confirm-dialog-v30 .modal-foot{display:grid;grid-template-columns:1fr}.confirm-dialog-v30 .modal-foot .button{width:100%;min-width:0}.password-actions{grid-template-columns:1fr}}

/* Tanda de estandarización: grupos, productos e instalaciones. */
.item-workbench-modal .rent-badge{font-size:12px;letter-spacing:.07em}
.item-workbench-modal .item-rent-panel>header{min-height:76px;padding:18px 19px}
.item-workbench-modal .item-rent-panel h3{font-size:16px}
.item-workbench-modal .item-products-table table{table-layout:fixed;min-width:0}
.item-workbench-modal .item-products-table th:first-child,.item-workbench-modal .item-products-table td:first-child{width:48%}
.item-workbench-modal .item-products-table th:nth-child(2),.item-workbench-modal .item-products-table td:nth-child(2){width:10%}
.item-workbench-modal .item-products-table th:nth-child(3),.item-workbench-modal .item-products-table td:nth-child(3),.item-workbench-modal .item-products-table th:nth-child(4),.item-workbench-modal .item-products-table td:nth-child(4){width:14%}
.item-workbench-modal .item-products-table th:last-child,.item-workbench-modal .item-products-table td:last-child{width:14%}
.item-workbench-modal .item-products-table td{vertical-align:middle;overflow-wrap:anywhere}
.item-workbench-modal .item-charge-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;padding:16px 19px!important;background:#f8fbff}
.item-workbench-modal .item-charge-grid .field{display:grid;gap:7px}
.item-workbench-modal .item-charge-grid .field>span{font-size:12px!important;font-weight:800!important}
.item-workbench-modal .item-charge-grid input{min-height:44px!important;padding-inline:12px}
.item-workbench-modal .item-calculation{grid-template-columns:repeat(4,minmax(0,1fr))}
.independent-products-summary article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:13px 16px}
.independent-products-summary article>div:first-child{display:grid;grid-template-columns:minmax(118px,.34fr) minmax(220px,1fr);gap:12px;min-width:0;align-items:center}
.independent-products-summary article>div:first-child>b,.independent-products-summary article>div:first-child>span{min-width:0;overflow-wrap:anywhere}
.independent-products-summary article>.independent-product-actions{display:flex!important;width:auto!important;min-width:max-content;gap:3px;justify-self:end}
@media(max-width:760px){.password-actions{grid-template-columns:1fr}.item-workbench-modal .item-charge-grid,.item-workbench-modal .item-calculation{grid-template-columns:1fr}.independent-products-summary article{grid-template-columns:1fr auto}.independent-products-summary article>div:first-child{grid-template-columns:1fr}.independent-products-summary article>.independent-product-actions{grid-column:2}}
.quote-reset-zone{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid #f2c3cb;background:linear-gradient(135deg,#fff 0%,#fff8f9 100%)}.quote-reset-copy{display:flex;align-items:flex-start;gap:15px;max-width:780px}.quote-reset-copy h2{margin:3px 0 7px;font-size:18px}.quote-reset-copy p:not(.eyebrow){margin:0;color:var(--muted);font-size:13px;line-height:1.55}.quote-reset-copy small{display:block;margin-top:8px;color:#8b3443;font-weight:750}.quote-reset-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;color:#cf3048;background:#fff0f3}.quote-reset-icon .icon{width:21px;height:21px}.quote-reset-dialog{width:min(540px,calc(100vw - 28px));border:0;border-radius:20px;box-shadow:0 28px 90px rgba(20,31,55,.28)}.quote-reset-dialog .modal-body{display:grid;gap:16px}.quote-reset-dialog .modal-body>p{margin:0;color:var(--muted);line-height:1.55}.quote-reset-dialog .field strong{color:#b7283e}.reset-impact{display:grid;gap:4px;padding:15px 17px;border:1px solid #f0c4cb;border-radius:14px;color:#8f2336;background:#fff5f6}.reset-impact b{font-size:18px}.reset-impact span{font-size:12px}.quote-reset-dialog .form-error{margin:0;padding:10px 12px;border-radius:10px;color:#9f2035;background:#fff0f2;font-size:12px;font-weight:750}.quote-reset-dialog .modal-foot{display:grid;grid-template-columns:1fr 1fr}.quote-reset-dialog .modal-foot .button{width:100%;justify-content:center}@media(max-width:720px){.quote-reset-zone{align-items:stretch;flex-direction:column}.quote-reset-zone>.button{width:100%;justify-content:center}.quote-reset-dialog .modal-foot{grid-template-columns:1fr}}
.reset-username-field{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.quote-reset-dialog .modal-body{grid-template-columns:minmax(0,1fr)}.quote-reset-dialog .field{min-width:0}.quote-reset-dialog .field>span{display:block;white-space:normal;line-height:1.45}.quote-reset-dialog .field strong{display:inline;margin-left:4px;overflow-wrap:anywhere}
@media(min-width:721px) and (max-width:1080px){.sidebar .decoapp-logo-name,.sidebar-user>span:not(.user-avatar),.sidebar-user>.icon{display:none}.sidebar-user{justify-content:center;padding-inline:0}.sidebar-user .user-avatar{flex:0 0 34px}}

/* Mobile containment: charts scroll inside their card and every authorized
   destination remains visible in the bottom navigation. */
.dashboard-grid>*{min-width:0}
@media(max-width:720px){.dashboard-grid>.card{width:100%;min-width:0}.activity-kpis{width:100%;min-width:0}.activity-visual{width:100%;min-width:0;overflow-x:auto}.sidebar .nav-list{display:flex;width:100%;overflow:visible}.sidebar .nav-link{flex:1 1 0;min-width:0;padding-inline:1px;font-size:9px}.sidebar .nav-link .icon{width:17px;height:17px}}

/* Final interaction pass: readable form labels, reliable touch targets and
   balanced modal layouts across pointer and touch devices. */
.modal .field>:first-child:not(.password-field){font-size:12px;line-height:1.25;letter-spacing:.015em}
.modal-head>.icon-button,.notifications-head>.icon-button{width:44px!important;height:44px!important;min-width:44px}
.item-workbench-modal .item-modal-back{width:44px;height:44px;min-width:44px;margin-left:-8px}
.modal-foot .button{min-height:44px}
.password-field .icon-button{width:40px;height:40px}
.quote-status-menu>small,.product-status-menu>small{font-size:11px}
.quote-status-menu>button,.product-status-menu>button{min-height:44px;font-size:13px}
.notifications-popover .notification-item span small{font-size:13px;line-height:1.4}
.notification-item span em{font-size:11px}
.independent-product-modal .modal-body{grid-template-columns:minmax(0,1fr)}
.independent-product-modal .modal-context,.independent-product-modal .item-product-form,.independent-product-modal [data-v30-product-picker]{grid-column:1/-1;width:100%}
.independent-product-modal .item-product-form{grid-template-columns:minmax(120px,.8fr) minmax(220px,1.8fr) minmax(130px,.9fr) minmax(105px,.7fr) minmax(145px,1fr)}
.action-group .icon-button,.table-pagination .icon-button{width:40px;height:40px;min-width:40px}
.table-wrap:has(.action-group) th:last-child,.table-wrap:has(.action-group) td:last-child{position:sticky;right:0;z-index:1;background:#fff;box-shadow:-10px 0 16px -16px rgba(11,43,91,.55)}
.table-wrap:has(.action-group) th:last-child{z-index:2;background:#f9fafc}
@media(max-width:900px){.independent-product-modal .item-product-form{grid-template-columns:repeat(2,minmax(0,1fr))}.independent-product-modal .item-product-form .field:nth-of-type(2){grid-column:span 2}}
/* Perfil/cerrar sesión junto al título de Inicio: solo tienen sentido en
   mobile, porque ahí el sidebar (que ya trae esas mismas acciones) se
   colapsa a una barra inferior sin ellas. En desktop el sidebar ya las
   resuelve, así que aquí quedarían redundantes. */
@media(min-width:721px){.dashboard-heading-actions .top-actions{display:none}}
@media(max-width:720px){
  .action-group .icon-button,.table-pagination .icon-button{width:44px;height:44px;min-width:44px}
  .sidebar .nav-link{font-size:10px;letter-spacing:-.025em}

  /* El botón "Nueva cotización" comparte fila con los íconos de perfil/salir
     (ver .top-actions más abajo). En mobile el botón debe quedar de ancho
     completo, y los íconos flotan arriba a la derecha de todo el encabezado
     (junto al título), no debajo del párrafo. */
  [data-view-panel="inicio"] .page-heading{position:relative}
  .dashboard-heading-actions{flex-direction:column;align-items:stretch;gap:10px}
  .dashboard-heading-actions>.top-actions{position:absolute;top:0;right:0}
  .dashboard-heading-actions>.button.primary{width:100%}

  /* Tarjeta responsiva genérica: toda tabla de [data-view-panel] o del panel
     de inicio se convierte en una fila-tarjeta por registro. Las celdas se
     clasifican por CONTENIDO (rt-primary/rt-badge/rt-field/rt-actions, ver
     labelResponsiveTables en backend.js) en vez de por posición, para que
     ninguna tabla nueva necesite un mapeo manual y no se rompa si cambia una
     columna. Nada se oculta: todo lo que se ve en desktop se ve aquí. */
  [data-view-panel] .table-wrap,.recent-quotes-card .table-wrap{overflow:visible}
  [data-view-panel] .table-wrap table,[data-view-panel] .table-wrap tbody,
  .recent-quotes-card table,.recent-quotes-card tbody{display:block;min-width:0;width:100%!important}
  [data-view-panel] .table-wrap thead,.recent-quotes-card thead{display:none}
  [data-view-panel] .table-wrap tbody tr,.recent-quotes-card tbody tr{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:14px;row-gap:6px;padding:15px 16px;border-top:1px solid var(--line)}
  [data-view-panel] .table-wrap tbody td,.recent-quotes-card tbody td,
  [data-view-panel] .table-wrap tbody td:first-child,.recent-quotes-card tbody td:first-child,
  [data-view-panel] .table-wrap tbody td:last-child,.recent-quotes-card tbody td:last-child{display:block!important;min-width:0;padding:0!important;border:0;white-space:normal;overflow-wrap:anywhere;font-size:13px}
  [data-view-panel] .table-wrap tbody td[colspan],.recent-quotes-card tbody td[colspan]{flex:1 1 100%;text-align:center}
  [data-view-panel] .table-wrap tbody td.rt-primary,.recent-quotes-card tbody td.rt-primary{order:1;flex:0 1 auto;font-size:14px;font-weight:800;color:var(--text)}
  [data-view-panel] .table-wrap tbody td.rt-primary:has(.installation-name-summary){min-width:65%}
  [data-view-panel] .table-wrap tbody td.rt-badge,.recent-quotes-card tbody td.rt-badge{order:2;flex:0 0 auto;margin-left:auto;display:flex!important;justify-content:flex-end}
  [data-view-panel] .table-wrap tbody td.rt-field,.recent-quotes-card tbody td.rt-field{order:3;display:flex!important;flex:1 1 100%;justify-content:space-between;align-items:baseline;gap:10px}
  [data-view-panel] .table-wrap tbody td.rt-field::before,.recent-quotes-card tbody td.rt-field::before{content:attr(data-label);flex-shrink:0;color:#7b899d;font-size:12px;font-weight:700;letter-spacing:0;text-transform:none}
  [data-view-panel] .table-wrap tbody td.rt-field.rt-field-long,.recent-quotes-card tbody td.rt-field-long{display:block!important;text-align:right}
  [data-view-panel] .table-wrap tbody td.rt-field.rt-field-long::before,.recent-quotes-card tbody td.rt-field-long::before{display:block;margin-bottom:3px;text-align:left}
  [data-view-panel] .table-wrap tbody td.rt-field-long:has(.table-subcopy),.recent-quotes-card tbody td.rt-field-long:has(.table-subcopy){display:flex!important;flex-wrap:wrap;justify-content:space-between;align-items:baseline;column-gap:10px;row-gap:2px}
  [data-view-panel] .table-wrap tbody td.rt-field-long:has(.table-subcopy)::before,.recent-quotes-card tbody td.rt-field-long:has(.table-subcopy)::before{margin-bottom:0}
  [data-view-panel] .table-wrap tbody td.rt-field-long .table-subcopy,.recent-quotes-card tbody td.rt-field-long .table-subcopy{flex:1 1 100%;text-align:left;color:#7b899d;font-weight:400}
  [data-view-panel] .table-wrap tbody td.rt-actions,.recent-quotes-card tbody td.rt-actions{flex:1 1 100%;order:99;padding-top:8px;border-top:1px dashed #d7e1ef}
  [data-view-panel] .table-wrap tbody td.rt-actions .action-group,.recent-quotes-card tbody td.rt-actions .action-group{justify-content:flex-end;gap:4px}
}
@media(max-width:560px){.independent-product-modal .item-product-form,.independent-product-modal .item-product-form .field:nth-of-type(2){grid-template-columns:1fr;grid-column:auto}.modal-head{padding:13px 16px}.modal-foot{padding:13px 16px}.modal .field>:first-child:not(.password-field){width:auto;max-width:100%;white-space:normal}}

/* Feedback v72: cotizaciones, formularios y capas de interacción. */
.toast[popover]{position:fixed;z-index:2147483647!important;inset:auto auto 24px 50%;width:max-content;margin:0;border:0;transform:translate(-50%,14px)!important}
.toast[popover].visible{transform:translate(-50%,0)!important}
.metric{display:grid;align-content:center}

.modal[data-modal-type="profile"],.modal[data-modal-type="user"]{width:min(920px,calc(100vw - 34px))}
.profile-editor{grid-template-columns:1fr;gap:14px}
.profile-photo{position:static;display:flex;align-items:center;justify-items:start;gap:14px;padding:15px 17px;text-align:left}
.profile-photo>div{justify-items:start}
.profile-avatar-preview{width:64px;height:64px;border-radius:18px;font-size:18px}

.client-context{display:grid;grid-template-columns:minmax(210px,1.1fr) minmax(0,2fr) 44px;align-items:center;gap:16px}
.client-context-identity{display:flex;align-items:center;gap:10px;min-width:0}
.client-context-identity>div{min-width:0}
.client-context-identity b,.client-context-identity small{overflow-wrap:anywhere}
.client-context dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;min-width:0}
.client-context dl>div{min-width:0;padding:2px 12px;border-left:1px solid #dbe5f2}
.client-context dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.client-context-edit{align-self:center;border:1px solid #cbdaf0;color:var(--blue);background:#fff}

.item-workbench-modal .modal-choice{row-gap:0}
.item-workbench-modal .modal-choice span{margin-top:-2px}
.item-workbench-modal .item-base-secondary{margin-top:8px}
.item-description{position:relative;z-index:4}
.description-suggestions{position:absolute;z-index:20;top:calc(100% + 5px);left:0;right:0;max-height:210px;overflow-y:auto;padding:6px;border:1px solid #c7d6eb;border-radius:10px;background:#fff;box-shadow:0 16px 34px rgba(11,43,91,.17)}
.description-suggestions[hidden]{display:none}
.description-suggestions button{display:block;width:100%;padding:10px 11px;border:0;border-radius:7px;color:var(--text);background:#fff;font-size:13px;text-align:left}
.description-suggestions button:hover,.description-suggestions button:focus-visible{color:var(--blue);background:var(--blue-soft)}

.item-workbench-modal .item-product-entry{width:100%;padding:20px 22px}
.item-workbench-modal .item-product-entry-head{margin-bottom:18px}
.item-workbench-modal .item-product-entry .item-product-form,.independent-product-modal .item-product-form{grid-template-columns:repeat(6,minmax(0,1fr))!important;column-gap:14px;row-gap:18px}
.item-workbench-modal .item-product-entry .item-product-form .field:nth-of-type(1),.independent-product-modal .item-product-form .field:nth-of-type(1){grid-column:span 3;grid-row:auto}
.item-workbench-modal .item-product-entry .item-product-form .field:nth-of-type(2),.independent-product-modal .item-product-form .field:nth-of-type(2){grid-column:span 3;grid-row:auto}
.item-workbench-modal .item-product-entry .item-product-form .field:nth-of-type(3),.item-workbench-modal .item-product-entry .item-product-form .field:nth-of-type(4),.item-workbench-modal .item-product-entry .item-product-form .field:nth-of-type(5),.independent-product-modal .item-product-form .field:nth-of-type(3),.independent-product-modal .item-product-form .field:nth-of-type(4),.independent-product-modal .item-product-form .field:nth-of-type(5){grid-column:span 2;grid-row:auto}
.item-workbench-modal [data-v30-product-picker]{cursor:pointer;color:var(--blue);border-color:#a9c5f4;background:#f8fbff}
.item-charge-grid{grid-template-columns:repeat(3,minmax(120px,180px));justify-content:end;padding:11px 15px!important}
.item-charge-grid input{min-height:36px!important;padding-block:7px}
.item-calculation>div{min-height:62px;padding:14px 13px}
.item-calculation dt{font-size:10px}
.item-calculation dd{font-size:13px}

.quote-workspace .stage[data-stage="3"]>.payment-grid{width:100%;max-width:none;margin-bottom:22px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.quote-workspace .stage[data-stage="3"]>.quote-terms{width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.quote-workspace .stage[data-stage="3"]>.quote-terms textarea{min-height:122px;background:#fff}
.review-terms-preview{max-width:58%;white-space:normal}
.pill.rejected,.quote-actions .pill.rejected{color:#fff!important;border-color:#cf3048!important;background:#cf3048!important}
.pill.void,.quote-actions .pill.void{color:#fff!important;border-color:#7f1d3d!important;background:#7f1d3d!important}
.status-dot.rejected{background:#cf3048}.status-dot.void{background:#7f1d3d}
.user-status-trigger{gap:5px;border:0;cursor:pointer}.user-status-trigger .icon{width:12px;height:12px;transition:transform .15s ease}.user-status-trigger[aria-expanded="true"] .icon{transform:rotate(90deg)}.user-status-menu{position:fixed;z-index:90;display:grid;width:184px;padding:7px;border:1px solid #cddbef;border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(8,34,76,.2)}.user-status-menu>small{padding:6px 9px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.user-status-menu>button{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 9px;border:0;border-radius:8px;color:var(--text);background:transparent;text-align:left;font-size:13px;font-weight:700}.user-status-menu>button:hover,.user-status-menu>button:focus-visible{background:var(--blue-soft);color:var(--blue)}
.default-payments>legend{padding:0;color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.015em}
.confirm-dialog-v30 .confirm-visual.restore .confirm-icon{border-color:#a8dfcf;background:#ecfbf5;box-shadow:0 0 0 9px #f5fdf9}

.signature-panel{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.signature-panel>div:first-child h3{margin:0;font-size:15px}.signature-panel>div:first-child p{margin:4px 0 12px;color:var(--muted);font-size:13px}.signature-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.signature-preview{display:flex;align-items:center;min-height:54px;margin-top:12px;padding:8px 14px;border:1px dashed #b9cce9;border-radius:10px;background:#fff;color:#193b71;font-family:cursive;font-size:24px;background-size:contain;background-repeat:no-repeat;background-position:center left 14px}@media(max-width:620px){.signature-controls{grid-template-columns:1fr}.signature-controls .button{width:100%}}

.bulk-delete-products{color:#fff!important;border-color:#b72d45!important;background:#b72d45!important}.bulk-delete-products:hover{background:#982238!important}.product-utility-dialog{width:min(560px,calc(100vw - 28px))}.product-import-progress{display:flex;align-items:center;gap:14px;min-height:130px}.import-spinner{width:30px;height:30px;border:3px solid #dbe7ff;border-top-color:var(--blue);border-radius:50%;animation:product-spin .75s linear infinite}.operation-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.operation-totals>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}.operation-totals span{display:block;color:var(--muted);font-size:12px}.operation-totals b{display:block;margin-top:4px;font-size:22px;color:var(--ink)}.operation-totals .success b{color:#16835f}.operation-totals .error b{color:#bf3148}.operation-errors{margin-top:16px;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:12px}.operation-errors h3{margin:0;padding:12px 14px;border-bottom:1px solid var(--line);font-size:14px}.operation-errors ul{margin:0;padding:0;list-style:none}.operation-errors li{display:grid;gap:3px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px}.operation-errors li:last-child{border-bottom:0}.operation-errors span{color:var(--muted)}@keyframes product-spin{to{transform:rotate(360deg)}}

.advisor-activity{margin-top:16px;padding:20px}
.advisor-activity .card-title{margin-bottom:12px}
.advisor-activity-list{display:grid;gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--line)}
.advisor-activity-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:13px 15px;background:#fff}

/* Feedback v82: acciones compactas, medios de perfil y transición de acceso. */
.product-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}.product-heading-actions .button{margin:0}.profile-avatar-preview{width:76px;height:76px;flex:0 0 76px;overflow:hidden;border-radius:20px;background-repeat:no-repeat;background-size:cover;background-position:center;font-size:19px}.sidebar-user .user-avatar{width:38px;height:38px;flex:0 0 38px;background-repeat:no-repeat;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(11,43,91,.18)}.sidebar-user .user-avatar.has-image{color:transparent}.signature-panel{padding:17px}.signature-preview{min-height:82px;padding:12px 17px;border-radius:11px;font-family:"Segoe Script","Bradley Hand",Georgia,cursive;font-size:27px;font-style:italic;letter-spacing:.015em;background-position:center left 17px}.product-delete-form .modal-body{gap:14px}.product-delete-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#bd3047;background:#fff0f3}.product-delete-icon .icon{width:21px;height:21px}.product-delete-form .modal-body>p{color:#56677f;line-height:1.55}.installation-detail{display:grid;gap:16px}.installation-detail h3{margin:0;font-size:18px}.installation-detail p{margin:5px 0 0}.installation-detail ul{display:grid;gap:1px;margin:15px 0 0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:11px;list-style:none}.installation-detail li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;background:#fff}.installation-detail li+li{border-top:1px solid var(--line)}.installation-detail li span{display:grid;gap:2px}.installation-detail li small,.installation-values small{color:var(--muted);font-size:12px}.installation-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px}.installation-values>div{display:grid;gap:4px;padding:13px;border:1px solid #dbe6f4;border-radius:11px;background:#f8fbff}.installation-values span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.installation-values b{font-size:14px}.login-welcome{display:none}.login-card.show-welcome .login-form-panel{display:none}.login-card.show-welcome .login-welcome{display:grid;min-height:328px;place-items:center;align-content:center;gap:12px;padding:36px;color:#102d62;text-align:center}.login-orbit{width:52px;height:52px;border:3px solid #d8e6ff;border-top-color:#2563eb;border-radius:50%;animation:product-spin .8s linear infinite}.login-welcome-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;color:#fff;background:linear-gradient(145deg,#0b2b5b,#2563eb);font-family:Georgia,serif;font-size:28px;font-style:italic;font-weight:700}.login-welcome strong{font-size:24px;letter-spacing:-.04em}.login-welcome small{color:var(--muted);font-size:13px}.login-card.show-welcome .login-orbit{display:none}.login-transitioning .login-submit{position:relative;color:transparent!important}.login-transitioning .login-submit:after{position:absolute;width:17px;height:17px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;content:"";animation:product-spin .7s linear infinite}@media(max-width:620px){.product-heading-actions{width:100%;margin-left:0}.product-heading-actions .button{flex:1}.profile-avatar-preview{width:68px;height:68px;flex-basis:68px}.signature-preview{min-height:76px}}
.login-card.show-welcome.is-loading .login-orbit{display:block}.login-card.show-welcome.is-loading .login-welcome-mark,.login-card.show-welcome.is-loading .login-welcome strong,.login-card.show-welcome.is-loading .login-welcome small{display:none}

/* Feedback v84: salida verificable, utilidades de catálogo y transición de acceso. */
.export-products{color:#fff!important;border-color:#1656b8!important;background:#1656b8!important}.export-products:hover{background:#0d438f!important}.product-delete-form .modal-body{gap:20px;padding-top:24px}.product-delete-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;padding:16px;border:1px solid #f1d8de;border-radius:14px;background:linear-gradient(135deg,#fff8f9,#fff)}.product-delete-summary b{display:block;color:#42202a;font-size:15px}.product-delete-summary p{margin:5px 0 0!important;color:#66758a!important;font-size:13px;line-height:1.55}.product-delete-confirm{gap:7px!important;padding:14px;border:1px solid #dbe5f2;border-radius:13px;background:#fbfdff}.product-delete-confirm>span{display:block!important;width:auto!important;max-width:none!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#304767!important;font-size:12px!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase}.product-delete-confirm small{color:#66758a;font-size:12px;line-height:1.45}.product-delete-confirm input{min-height:44px;background:#fff}.product-delete-form .modal-foot{justify-content:flex-end;gap:10px}.product-delete-form .danger-button{min-width:168px}

.login-screen:has(.login-card.show-welcome){overflow:hidden;background:radial-gradient(circle at 16% 18%,rgba(35,104,226,.16),transparent 24%),radial-gradient(circle at 83% 77%,rgba(63,140,255,.18),transparent 27%),linear-gradient(135deg,#f5f9ff,#eaf2ff 54%,#f8fbff)}.login-screen:has(.login-card.show-welcome)::before,.login-screen:has(.login-card.show-welcome)::after{position:absolute;inset:0;pointer-events:none;content:""}.login-screen:has(.login-card.show-welcome)::before{opacity:.55;background-image:linear-gradient(rgba(38,95,184,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(38,95,184,.075) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(ellipse at center,black 0%,transparent 70%)}.login-screen:has(.login-card.show-welcome)::after{inset:16% 9%;border-top:1px solid rgba(46,104,203,.18);border-bottom:1px solid rgba(46,104,203,.13);border-radius:50%;box-shadow:0 0 0 36px rgba(61,121,224,.025),0 0 0 88px rgba(61,121,224,.018);animation:deko-data-scan 2.4s ease-in-out infinite}.login-card.show-welcome{position:relative;z-index:1;width:min(520px,calc(100% - 32px))!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.login-card.show-welcome .login-welcome{min-height:260px!important;padding:30px!important}.login-card.show-welcome .login-welcome::before{width:86px;height:86px;border:1px solid rgba(45,102,206,.2);border-radius:28px;box-shadow:inset 0 0 30px rgba(41,104,228,.08),0 0 0 12px rgba(57,121,231,.045);content:"";position:absolute;animation:deko-data-pulse 1.6s ease-in-out infinite}.login-card.show-welcome .login-welcome-mark,.login-card.show-welcome .login-orbit{position:relative;z-index:1}.login-card.show-welcome strong{position:relative;z-index:1;margin-top:11px;font-size:27px}.login-card.show-welcome small{position:relative;z-index:1}.login-card.show-welcome.is-loading .login-welcome{min-height:260px!important}@keyframes deko-data-scan{0%,100%{transform:scale(.92);opacity:.4}50%{transform:scale(1.04);opacity:.95}}@keyframes deko-data-pulse{0%,100%{transform:scale(.9);opacity:.38}50%{transform:scale(1.08);opacity:.9}}@media(prefers-reduced-motion:reduce){.login-screen:has(.login-card.show-welcome)::after,.login-card.show-welcome .login-welcome::before{animation:none}}@media(max-width:620px){.product-heading-actions{gap:7px}.product-delete-summary{grid-template-columns:1fr}.product-delete-form .danger-button{min-width:0}.login-card.show-welcome .login-welcome{min-height:230px!important}.login-card.show-welcome strong{font-size:22px}}
.advisor-activity-list>div>span{display:grid;gap:3px}
.advisor-activity-list>div>span:last-child{text-align:right}
.advisor-activity-list small{color:var(--muted);font-size:12px}

@media(max-width:1100px){.client-context{grid-template-columns:1fr 44px}.client-context dl{grid-column:1/-1;grid-row:2}.client-context-edit{grid-column:2;grid-row:1}}
@media(max-width:720px){
  [data-view-panel="cotizaciones"] .table-wrap tbody .empty-table-cell{grid-column:1/-1}
}
@media(max-width:760px){
  .client-context{grid-template-columns:minmax(0,1fr) 44px;align-items:start}
  .client-context dl{grid-template-columns:1fr 1fr}
  .client-context dl>div{padding:8px 0;border-left:0;border-top:1px solid #dbe5f2}
  .item-workbench-modal .item-base-secondary{margin-top:0}
  .item-workbench-modal .item-product-entry .item-product-form,.independent-product-modal .item-product-form{grid-template-columns:1fr!important}
  .item-workbench-modal .item-product-entry .item-product-form .field:nth-of-type(n),.independent-product-modal .item-product-form .field:nth-of-type(n){grid-column:auto}
  .item-charge-grid{grid-template-columns:1fr;justify-content:stretch}
  .advisor-activity-list>div{grid-template-columns:1fr}
  .advisor-activity-list>div>span:last-child{text-align:left}
}

/* Feedback v88: búsqueda, pagos y bienvenida sin elementos decorativos intrusivos. */
.login-screen:has(.login-card.show-welcome){background:linear-gradient(135deg,#f7faff,#eef5ff 52%,#f8fbff)!important}.login-screen:has(.login-card.show-welcome)::before,.login-screen:has(.login-card.show-welcome)::after,.login-card.show-welcome .login-welcome::before{display:none!important}.login-card.show-welcome .login-welcome{min-height:218px!important;gap:8px!important}.login-card.show-welcome strong{margin-top:2px!important}.login-progress{width:min(290px,72vw);height:5px;margin-top:12px;overflow:hidden;border-radius:99px;background:#dce8f8}.login-progress i{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1d61cf,#5d99ff);animation:deko-login-progress 1.7s ease-out forwards}.login-progress-copy{font-size:12px!important;color:#6b7e99!important}.login-card.show-welcome.is-loading .login-progress-copy{display:block!important}@keyframes deko-login-progress{from{transform:translateX(-105%)}to{transform:translateX(245%)}}@media(prefers-reduced-motion:reduce){.login-progress i{animation:none;transform:translateX(138%)}}
.payment-tabs{display:flex;gap:5px;padding:5px;border:1px solid #dce6f4;border-radius:12px;background:#f6f9fd}.payment-tabs button{flex:1;min-height:38px;border:0;border-radius:8px;color:#63738b;background:transparent;font-size:13px;font-weight:800}.payment-tabs button.active{color:#164fba;background:#fff;box-shadow:0 2px 8px rgba(25,67,128,.12)}.payment-panel{display:grid;gap:16px}.payment-history{min-height:154px}.payment-history-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.payment-history-summary span{display:grid;gap:4px;padding:12px 14px;border:1px solid #dce6f4;border-radius:11px;color:#64748b;font-size:12px;background:#f8fbff}.payment-history-summary b{color:#102d62;font-size:16px}.payment-history table{width:100%;min-width:0;table-layout:fixed;font-size:12px}.payment-history th,.payment-history td{padding:10px 6px;text-align:left;overflow-wrap:break-word}.payment-history th{color:#70809a;font-size:10px;letter-spacing:.04em;text-transform:uppercase}.payment-history td{border-top:1px solid #e7edf6}.payment-history th:last-child,.payment-history td:last-child{width:46px;padding-left:0;padding-right:2px;white-space:nowrap}.payment-history .table-wrap{overflow:visible}
.global-search-dialog{width:min(680px,calc(100vw - 28px));border:0}.global-search-dialog .modal-body{display:grid;gap:16px;padding-top:18px}.global-search-input{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 13px;border:1px solid #aec8f4;border-radius:13px;background:#fff;box-shadow:0 0 0 3px rgba(42,103,224,.08)}.global-search-input .icon{color:#3167c8}.global-search-input input{width:100%;min-height:46px;border:0;outline:0;background:transparent;font:inherit}.global-search-input kbd{padding:3px 6px;border:1px solid #d8e2ef;border-radius:5px;color:#718099;background:#f7faff;font-size:11px}.global-search-results{display:grid;gap:5px;max-height:min(48vh,390px);overflow:auto}.global-search-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:11px;border:1px solid transparent;border-radius:12px;color:var(--text);background:#fff;text-align:left}.global-search-result:hover,.global-search-result:focus-visible{border-color:#bad0f7;background:#f5f9ff}.global-search-result-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#2464d5;background:#eaf2ff}.global-search-result span:nth-child(2){display:grid;gap:2px;min-width:0}.global-search-result small{color:#5b78a8;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.global-search-result b,.global-search-result em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-result b{font-size:14px}.global-search-result em{color:#738198;font-size:12px;font-style:normal}.global-search-result>.icon{width:14px;color:#71819a}.global-search-empty{margin:8px 0;padding:20px;color:#71819a;text-align:center}
.view[data-view-panel="inicio"]>.metric-grid{gap:14px}.view[data-view-panel="inicio"]>.metric-grid .metric{position:relative;overflow:hidden;border:1px solid #dce6f5;border-radius:16px;box-shadow:0 10px 24px rgba(20,53,101,.05)}.view[data-view-panel="inicio"]>.metric-grid .metric::after{position:absolute;right:-20px;bottom:-28px;width:98px;height:98px;border-radius:50%;opacity:.16;content:""}.view[data-view-panel="inicio"]>.metric-grid .metric:nth-child(1){border-top:3px solid #177b5c;background:linear-gradient(145deg,#fff,#f0fbf6)}.view[data-view-panel="inicio"]>.metric-grid .metric:nth-child(1)::after{background:#22a675}.view[data-view-panel="inicio"]>.metric-grid .metric:nth-child(2){border-top:3px solid #356bd3;background:linear-gradient(145deg,#fff,#f2f7ff)}.view[data-view-panel="inicio"]>.metric-grid .metric:nth-child(2)::after{background:#4b84ef}.view[data-view-panel="inicio"]>.metric-grid .metric:nth-child(3){border-top:3px solid #c78418;background:linear-gradient(145deg,#fff,#fff8ed)}.view[data-view-panel="inicio"]>.metric-grid .metric:nth-child(3)::after{background:#e3a338}.view[data-view-panel="inicio"]>.metric-grid .metric:nth-child(4){border-top:3px solid #7c58b4;background:linear-gradient(145deg,#fff,#f8f4ff)}.view[data-view-panel="inicio"]>.metric-grid .metric:nth-child(4)::after{background:#9a74d3}
@media(max-width:620px){.payment-history-summary{grid-template-columns:1fr}.payment-history .table-wrap{overflow:auto}.global-search-dialog{width:calc(100vw - 18px)}.login-progress{width:min(260px,78vw)}}

/* El abono es un flujo financiero único: pestañas, resumen y formulario comparten todo el ancho del modal. */
.modal[data-modal-type="payment"]{width:min(800px,calc(100vw - 30px))}.modal[data-modal-type="payment"] .modal-body{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:20px 22px 22px}.modal[data-modal-type="payment"] .payment-tabs,.modal[data-modal-type="payment"] .payment-panel{grid-column:1/-1;width:100%;min-width:0}.modal[data-modal-type="payment"] .payment-tabs{width:max-content;max-width:100%;gap:4px;padding:4px}.modal[data-modal-type="payment"] .payment-tabs button{flex:0 1 auto;padding:0 15px;white-space:nowrap}.modal[data-modal-type="payment"] .payment-status{grid-template-columns:1.12fr .92fr 1.15fr 1.3fr}.modal[data-modal-type="payment"] .payment-status>div{min-width:0;padding:12px}.modal[data-modal-type="payment"] .payment-status b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal[data-modal-type="payment"] .payment-form{gap:16px 14px}.modal[data-modal-type="payment"] .payment-history{min-height:0}
@media(max-width:620px){.modal[data-modal-type="payment"] .modal-body{padding:17px}.modal[data-modal-type="payment"] .payment-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.modal[data-modal-type="payment"] .payment-tabs button{padding:0 8px;font-size:12px}.modal[data-modal-type="payment"] .payment-status{grid-template-columns:1fr 1fr}.modal[data-modal-type="payment"] .payment-status>div{min-height:74px}.modal[data-modal-type="payment"] .payment-form{grid-template-columns:1fr}}

/* Feedback v89: carga sin spinner, densidad más serena y utilidades operativas. */
.login-card.show-welcome.is-loading .login-orbit{display:none!important}.login-card.show-welcome.is-loading .login-welcome-mark{display:grid!important}.login-card.show-welcome.is-loading .login-welcome strong,.login-card.show-welcome.is-loading .login-welcome small{display:block!important}.login-card.show-welcome.is-loading .login-progress-copy{display:block!important}
.login-screen:has(.login-card.show-welcome)::before{display:block!important;opacity:.4!important;background:linear-gradient(118deg,transparent 18%,rgba(70,128,219,.08) 30%,transparent 43%),linear-gradient(298deg,transparent 50%,rgba(95,151,239,.07) 61%,transparent 75%)!important;mask-image:none!important}.login-screen:has(.login-card.show-welcome)::after{display:none!important}
.quote-head h1{display:flex;align-items:baseline;gap:10px}.quote-head .quote-number{color:#63748c;font-size:.62em;font-weight:700;letter-spacing:-.02em}
.view[data-view-panel="inicio"]>.metric-grid .metric::after,.advanced-metrics .metric::after{display:none!important}.advanced-metrics .metric{position:relative;overflow:hidden;border:1px solid #dce6f5;border-radius:16px;box-shadow:0 10px 24px rgba(20,53,101,.05)}.advanced-metrics .metric:nth-child(1){border-top:3px solid #177b5c;background:linear-gradient(145deg,#fff,#f0fbf6)}.advanced-metrics .metric:nth-child(2){border-top:3px solid #356bd3;background:linear-gradient(145deg,#fff,#f2f7ff)}.advanced-metrics .metric:nth-child(3){border-top:3px solid #c78418;background:linear-gradient(145deg,#fff,#fff8ed)}.advanced-metrics .metric:nth-child(4){border-top:3px solid #7c58b4;background:linear-gradient(145deg,#fff,#f8f4ff)}
.import-products{color:#fff!important;border-color:#1656b8!important;background:#1656b8!important}.import-products:hover{background:#0d438f!important}.export-products{color:#fff!important;border-color:#137a52!important;background:#137a52!important}.export-products:hover{background:#0e6443!important}
.profile-media-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.avatar-picker{display:flex;gap:7px;margin-top:10px}.avatar-picker button{display:grid;place-items:center;width:31px;height:31px;padding:0;border:2px solid transparent;border-radius:9px;color:#fff;font-size:11px;font-weight:800}.avatar-picker button:nth-child(1){background:linear-gradient(135deg,#0b397a,#3279e9)}.avatar-picker button:nth-child(2){background:linear-gradient(135deg,#075a47,#20a67a)}.avatar-picker button:nth-child(3){background:linear-gradient(135deg,#b84819,#ef9941)}.avatar-picker button:nth-child(4){background:linear-gradient(135deg,#50348e,#9471dd)}.avatar-picker button:nth-child(5){background:linear-gradient(135deg,#34445b,#7390b5)}.avatar-picker button.selected,.avatar-picker button:hover{border-color:#102d62;box-shadow:0 0 0 2px #dbe8ff}
.product-delete-form .modal-body{display:grid;grid-template-columns:1fr!important;gap:15px!important}.product-delete-summary{grid-template-columns:44px minmax(0,1fr)!important}.product-delete-confirm{display:grid!important;grid-template-columns:1fr!important}.product-delete-confirm input{width:100%}.installation-toolbar{margin-bottom:16px}.installation-detail-dialog{width:min(940px,calc(100vw - 32px))}.installation-detail{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);align-items:start}.installation-detail .installation-products{min-width:0}.installation-values{grid-template-columns:1fr}.installation-detail-dialog .modal-head h2{font-size:19px}.modal-head h2{font-size:20px}.modal .form-grid{row-gap:16px}.installation-detail-dialog .modal-foot{justify-content:flex-end}.installation-detail-dialog .modal-foot .button{white-space:nowrap}
@media(max-width:720px){.installation-detail{grid-template-columns:1fr}.installation-detail-dialog .modal-foot{flex-wrap:wrap}.installation-detail-dialog .modal-foot .button{flex:1}.profile-media-actions{display:grid;grid-template-columns:1fr}.avatar-picker{justify-content:space-between}}

/* Resultados de importación y eliminación: lectura rápida y sin espacio vacío. */
.product-operation-form{min-height:0!important}.product-operation-head{align-items:center}.product-operation-title{display:flex;align-items:center;gap:12px}.product-operation-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#147a59;background:#e9f8f1}.product-operation-mark .icon{width:20px;height:20px}.product-operation-report{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;padding-top:20px!important;padding-bottom:20px!important}.product-operation-report>*{grid-column:1/-1!important}.operation-report-lede{display:grid;gap:4px;margin:0!important}.operation-report-lede b{color:#102d62;font-size:16px}.operation-report-lede span{color:#687a94;font-size:13px}.product-operation-report .operation-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.product-operation-report .operation-totals>div{min-height:82px;padding:13px 12px;border-color:#dbe7f6;background:#f8fbff}.product-operation-report .operation-totals span{font-size:11px;font-weight:700}.product-operation-report .operation-totals b{margin-top:5px;font-size:21px}.product-operation-report .operation-totals .success{border-color:#ccebdc;background:#f2fcf7}.product-operation-report .operation-totals .error{border-color:#f0d7dc;background:#fff9fa}.product-operation-foot{min-height:68px;justify-content:flex-end!important}.product-operation-foot .button{min-width:96px}@media(max-width:480px){.product-operation-title{gap:10px}.product-operation-mark{width:34px;height:34px;border-radius:10px}.product-operation-report .operation-totals{gap:7px}.product-operation-report .operation-totals>div{padding:11px 9px}.product-operation-report .operation-totals b{font-size:19px}}

/* Laptop and modal QA pass. */
.quote-actions{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:end;gap:7px 9px}.quote-actions .pill{grid-column:2;justify-self:end}.quote-actions .button{margin:0}
.modal-head h2{font-size:18px}.modal-body{gap:22px;padding:27px 30px}.modal-body .form-grid{column-gap:17px;row-gap:19px}.modal[data-modal-type="client"] .modal-form{min-height:min(530px,90vh)}.modal[data-modal-type="client"] .client-form-grid{row-gap:21px}
.table-wrap{max-width:100%;scrollbar-gutter:stable}.table-wrap table{font-variant-numeric:tabular-nums}.recent-quotes-card td:nth-child(4),.recent-quotes-card td:nth-child(5),[data-view-panel="cotizaciones"] td:nth-child(4),[data-view-panel="cotizaciones"] td:nth-child(5),[data-view-panel="productos"] td:nth-child(6),[data-view-panel="productos"] td:nth-child(7),[data-view-panel="instalaciones"] td:nth-child(4),[data-view-panel="instalaciones"] td:nth-child(5),[data-view-panel="instalaciones"] td:nth-child(6){white-space:nowrap}
[data-view-panel="cotizaciones"] .table-wrap table{min-width:1080px}[data-view-panel="cotizaciones"] .table-wrap th:nth-last-child(2),[data-view-panel="cotizaciones"] .table-wrap td:nth-last-child(2){min-width:116px;white-space:nowrap}[data-view-panel="clientes"] .table-wrap table{min-width:1180px}[data-view-panel="productos"] .table-wrap table{min-width:1000px}[data-view-panel="instalaciones"] .table-wrap table{min-width:1020px}[data-view-panel="usuarios"] .table-wrap table{min-width:1060px}[data-view-panel="usuarios"] th:nth-child(6),[data-view-panel="usuarios"] td:nth-child(6){min-width:118px;white-space:nowrap}
.profile-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(315px,.95fr);gap:0;padding:18px 20px}.profile-photo-main{display:flex;align-items:center;gap:16px;min-width:0;padding-right:20px}.profile-photo-main>div,.profile-avatar-panel>div:first-child{min-width:0}.profile-avatar-panel{display:grid;align-content:center;gap:10px;min-width:0;padding-left:20px;border-left:1px solid #dce6f4}.profile-avatar-panel small{margin:3px 0 0}.profile-avatar-preview{width:82px;height:82px;flex:0 0 82px;border-radius:23px;color:transparent;background-color:#eaf2ff;background-repeat:no-repeat;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(11,43,91,.08)}.profile-avatar-preview.is-fallback{box-shadow:inset 0 0 0 1px rgba(11,43,91,.1),0 0 0 4px #edf4ff}.avatar-picker{display:grid;grid-template-columns:repeat(7,42px);gap:6px;margin:0}.avatar-picker button{width:42px;height:42px;border-radius:13px;background-repeat:no-repeat!important;background-size:cover!important;background-position:center!important;box-shadow:0 3px 8px rgba(15,42,82,.1)}.avatar-picker button.selected,.avatar-picker button:hover{border-color:#2563eb;box-shadow:0 0 0 3px #dbe8ff}.signature-preview-wrap{position:relative}.signature-preview{min-height:100px;margin-top:12px;padding-right:52px;background-position:center}.signature-preview.has-image{background-position:center;background-size:contain}.signature-remove{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #f0cbd2;border-radius:9px;color:#bd3047;background:#fff8f9;box-shadow:0 4px 12px rgba(93,24,39,.08)}.signature-remove:hover{color:#fff;background:#bd3047}.signature-remove .icon{width:16px;height:16px}
.profile-photo.avatars-only{grid-template-columns:1fr}.profile-photo.avatars-only .profile-upload-disabled{display:none}.profile-photo.avatars-only .profile-avatar-panel{padding-left:0;border-left:0}
.advisor-activity{margin-top:16px;padding:20px}.advisor-performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:17px}.advisor-performance-card{overflow:hidden;border:1px solid #dce6f3;border-radius:14px;background:linear-gradient(145deg,#fff,#f7faff)}.advisor-performance-card header{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;padding:15px}.advisor-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#164d9d;background:#e8f1ff;background-repeat:no-repeat;background-size:cover;background-position:center;font-size:12px;font-weight:850}.advisor-avatar.has-image{color:transparent}.advisor-performance-card header div{display:grid;gap:2px;min-width:0}.advisor-performance-card header b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.advisor-performance-card header small{color:#627590;font-size:11px}.advisor-performance-card dl{display:grid;grid-template-columns:1fr 1fr;margin:0;border-block:1px solid #e3eaf4}.advisor-performance-card dl div{display:grid;gap:3px;padding:12px 14px}.advisor-performance-card dl div:nth-child(odd){border-right:1px solid #e3eaf4}.advisor-performance-card dl div:nth-child(n+3){border-top:1px solid #e3eaf4}.advisor-performance-card dt{color:#74839a;font-size:10px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.advisor-performance-card dd{margin:0;color:#102d62;font-size:15px;font-weight:850;white-space:nowrap}.advisor-performance-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;color:#627590;font-size:11px}.advisor-performance-card footer b{color:#223c65;white-space:nowrap}
@media(min-width:721px) and (max-height:820px){.sidebar{padding-top:10px;padding-bottom:9px}.brand{min-height:45px;padding:2px 12px 10px}.nav-list{gap:1px}.nav-link{min-height:38px}.sidebar-bottom{gap:1px;padding-top:8px}.sidebar-user{min-height:44px;margin-top:4px;padding-top:7px}.sidebar-user .user-avatar{width:32px;height:32px;flex-basis:32px}.sidebar-user b{font-size:11px}.sidebar-user small{font-size:10px}}
@media(max-width:1180px){.advisor-performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-photo{grid-template-columns:minmax(0,1fr) minmax(285px,.9fr)}}
@media(min-width:721px) and (max-width:1080px){.sidebar-user>span:not(.user-avatar),.sidebar-user>.icon{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}.sidebar-user{justify-content:center;padding-inline:0}}
@media(min-width:821px) and (max-width:1366px){[data-view-panel="cotizaciones"] .table-wrap table{min-width:1080px}[data-view-panel="cotizaciones"] .table-wrap th,[data-view-panel="cotizaciones"] .table-wrap td{padding-right:11px;padding-left:11px}[data-view-panel="cotizaciones"] .table-wrap th:nth-child(2),[data-view-panel="cotizaciones"] .table-wrap td:nth-child(2){max-width:138px}[data-view-panel="cotizaciones"] .table-wrap th:nth-child(3),[data-view-panel="cotizaciones"] .table-wrap td:nth-child(3){max-width:150px}[data-view-panel="usuarios"] .table-wrap table{min-width:1060px}[data-view-panel="clientes"] .table-wrap table{min-width:1180px}[data-view-panel="productos"] .table-wrap table{min-width:1000px}[data-view-panel="instalaciones"] .table-wrap table{min-width:1020px}[data-view-panel="instalaciones"] .table-wrap th,[data-view-panel="instalaciones"] .table-wrap td{padding-right:10px;padding-left:10px}}
@media(max-width:760px){.quote-actions{width:100%;grid-template-columns:1fr 1fr}.quote-actions .button{width:100%}.quote-actions .pill{grid-column:2}.modal-body{padding:19px}.modal[data-modal-type="client"] .modal-form{min-height:0}.profile-photo{grid-template-columns:1fr;padding:17px}.profile-photo-main{padding:0 0 16px}.profile-avatar-panel{padding:16px 0 0;border-top:1px solid #dce6f4;border-left:0}.avatar-picker{grid-template-columns:repeat(7,36px);gap:5px}.avatar-picker button{width:36px;height:36px}.advisor-performance-grid{grid-template-columns:1fr}}

/* User-required signatures, installation detail and adjustable data tables. */
.signature-panel h3 .required-mark{margin-left:2px;color:#d13b53}
[data-view-panel="instalaciones"] .table-wrap th:nth-child(1),[data-view-panel="instalaciones"] .table-wrap td:nth-child(1),[data-view-panel="instalaciones"] .table-wrap th:nth-child(2),[data-view-panel="instalaciones"] .table-wrap td:nth-child(2){width:30%}.installation-detail{grid-template-columns:1fr!important}.installation-detail h3{font-size:16px;line-height:1.38;letter-spacing:-.015em}.installation-values{grid-template-columns:1fr!important}.installation-values>div{min-height:76px;padding:15px 17px}.installation-detail-dialog .modal-body{gap:20px}
.resizable-table th{position:relative}.resizable-table th>.sortable,.resizable-table th>button{min-width:0;max-width:100%}.resizable-table th,.resizable-table td{overflow-wrap:anywhere;word-break:normal}.resizable-table.has-resized-columns{table-layout:fixed}.column-resizer{position:absolute;z-index:4;top:5px;right:-5px;bottom:5px;width:10px;cursor:col-resize;touch-action:none}.column-resizer::after{position:absolute;top:10%;right:4px;width:2px;height:80%;border-radius:99px;background:#cbd7e8;content:"";opacity:0;transition:opacity .15s,background .15s}.resizable-table th:hover .column-resizer::after,.column-resizer:focus-visible::after,.column-resizer.is-resizing::after{background:#2d6ce3;opacity:1}.column-resizer:focus-visible{outline:2px solid rgba(37,99,235,.45);outline-offset:-2px}.resizing-table-column,.resizing-table-column *{cursor:col-resize!important;user-select:none!important}.resizable-table td .action-group,.resizable-table td .pill{white-space:nowrap}
@media(max-width:760px){.column-resizer{display:none}.resizable-table.has-resized-columns{table-layout:auto!important;width:100%!important}}

/* La biblioteca conserva densidad cuando una instalación tiene descripciones extensas. */
[data-view-panel="instalaciones"] .installation-name-summary,[data-view-panel="instalaciones"] .installation-products-summary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;overflow-wrap:anywhere}[data-view-panel="instalaciones"] .installation-name-summary{-webkit-line-clamp:5}[data-view-panel="instalaciones"] .installation-products-summary{-webkit-line-clamp:4;line-height:1.38}
[data-view-panel="instalaciones"] .table-wrap table{table-layout:fixed;width:100%;min-width:0}
/* nth-child(1)/(2) quedan en 30% cada una por la regla de arriba (misma
   especificidad que esta, pero esa es más específica por sus propios
   nth-child) — antes esta regla también las ponía en 16.6667%, sumando
   30+30+16.6667×4=126.67% de ancho total declarado. Con table-layout:fixed
   eso no se recorta proporcionalmente: Chrome comprime casi a 0 la ÚLTIMA
   columna (Acciones), dejando sus botones inaccesibles en pantallas anchas.
   Las 4 columnas restantes (Área/Total/Tipo/Acciones) se reparten el 40%
   sobrante en partes iguales para que el total real sea exactamente 100%. */
[data-view-panel="instalaciones"] .table-wrap th:nth-child(n+3),[data-view-panel="instalaciones"] .table-wrap td:nth-child(n+3){width:10%;overflow-wrap:anywhere}
/* La regla genérica ".table-wrap:has(.action-group) th/td:last-child{width:1%;
   min-width:max-content}" (más abajo en este archivo) tiene la MISMA
   especificidad que la de arriba y le gana por venir después en el código —
   funciona bien en Clientes/Productos/Usuarios (columna de acciones que se
   ajusta a su contenido), pero aquí pisa el reparto fijo de 6 columnas
   iguales que Instalaciones necesita para no desbordar, y con table-layout:
   fixed ese min-width:max-content no puede compensar comprimiéndola casi a
   0. Se usa .resizable-table (clase real de esta tabla) para sumar una
   especificidad más y ganar el empate. */
[data-view-panel="instalaciones"] .table-wrap table.resizable-table th:last-child,[data-view-panel="instalaciones"] .table-wrap table.resizable-table td:last-child{width:10%!important;min-width:0}

/* Complete responsive tables and compact actions: data is never removed by viewport size. */
.table-wrap{overflow-x:auto}.table-wrap table{width:100%}.table-wrap th,.table-wrap td{white-space:normal}.table-wrap .action-group{gap:1px;min-width:max-content}.table-wrap .action-group .icon-button{width:30px;height:32px;min-width:30px}.table-wrap:has(.action-group) th:last-child,.table-wrap:has(.action-group) td:last-child{width:1%;min-width:max-content;padding-right:8px;padding-left:8px}.table-wrap td .action-group{justify-content:flex-start}
/* Sin filas reales (tabla vacía / "sin resultados") no hay ".action-group"
   que ancle el ancho de la última columna vía :has(), y los encabezados se
   comprimen letra por letra. Los títulos de columna nunca deben partirse así,
   haya o no filas. */
.table-wrap th{white-space:nowrap}

/* Refined item type choices. */
.item-workbench-modal .modal-choice{grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto;column-gap:13px;row-gap:0;padding-block:14px}.item-workbench-modal .modal-choice b{align-self:end}.item-workbench-modal .modal-choice>span:not(.modal-choice-icon){align-self:start;margin-top:1px}.modal-choice-icon{position:relative;grid-row:1/span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:11px;color:var(--blue);background:var(--blue-soft)}.modal-choice-icon>.icon{width:24px;height:24px;padding:0!important;background:none!important}.modal-choice-icon.is-double>.icon{position:absolute;width:19px;height:19px}.modal-choice-icon.is-double>.icon:first-child{transform:translate(-4px,-3px)}.modal-choice-icon.is-double>.icon:last-child{transform:translate(4px,4px)}

/* Product and installation selectors share the spacious directory modal language. */
.product-picker{width:min(820px,calc(100vw - 32px));max-height:min(86vh,780px)}.product-picker .modal-body,.installation-picker .modal-body{display:grid;grid-template-columns:1fr;gap:14px;padding:22px}.product-picker .modal-context,.product-picker .picker-toolbar,.product-picker .picker-list,.installation-picker .modal-context,.installation-picker .picker-list{grid-column:1/-1}.picker-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:4px}.picker-toolbar .picker-search{margin:0}.price-basis-badge{padding:8px 11px;border:1px solid #c9dcf8;border-radius:9px;color:#1f5ebc;background:#eef5ff;font-size:11px;font-weight:850;white-space:nowrap}.picker-price{display:grid;justify-items:end;gap:3px;padding-left:14px;border-left:1px solid var(--line)}.picker-price small{color:var(--muted);font-size:10px;white-space:nowrap}.product-picker .picker-list strong{padding:0;border:0}.installation-picker{width:min(1080px,calc(100vw - 32px));max-height:min(88vh,800px)}.installation-picker .modal-form{min-height:min(540px,84vh)}.installation-library-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.installation-library-list>button{grid-template-columns:80px minmax(0,1fr) auto;min-height:88px;padding:15px 16px}.installation-library-list>button span:nth-child(2){min-width:0}.installation-library-list>button b{line-height:1.35;overflow-wrap:anywhere}.installation-library-list>button small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.4}

/* Stronger table hierarchy inside the item calculation. */
.item-workbench-modal .item-products-table th{padding-block:12px;color:#3c506d;font-size:11px;font-weight:850;letter-spacing:.035em}.item-workbench-modal .item-rent-panel h3{font-size:15px}

/* Quote item summary alignment. */
.item-summary-main h3{font-size:15px;line-height:1.38}.item-summary-rents .item-rent-summary{align-content:start;text-align:left}.item-rent-summary dl{justify-items:start}.item-rent-summary dl>div{width:100%;padding-left:2px}.item-rent-summary dd,.item-rent-summary>strong{text-align:left}.item-rent-summary>strong{padding-left:2px}.item-summary-total{padding-left:12px;border-left:0}.item-summary-total small,.item-summary-total>b{justify-self:start;text-align:left}.item-summary-facts>div:last-child{padding-right:0;border-right:0}

@media(max-width:900px){.installation-library-list{grid-template-columns:1fr}.picker-toolbar{grid-template-columns:1fr}.price-basis-badge{justify-self:start}.product-picker .picker-list>button{grid-template-columns:110px minmax(0,1fr) auto}}
@media(max-width:760px){.table-wrap .action-group .icon-button{width:36px;height:40px;min-width:36px}.picker-price{grid-column:2;padding-left:0;border-left:0}.product-picker .picker-list>button{grid-template-columns:1fr auto}.installation-picker{width:calc(100vw - 20px)}}

/* The laptop quote grid keeps Advisor and Status visible at the same time. */
@media(min-width:821px) and (max-width:1366px){[data-view-panel="cotizaciones"] .table-wrap table{width:100%;min-width:0;table-layout:fixed}[data-view-panel="cotizaciones"] .table-wrap th,[data-view-panel="cotizaciones"] .table-wrap td{padding-right:7px;padding-left:7px;font-size:11px}[data-view-panel="cotizaciones"] .table-wrap td:nth-child(8){overflow:visible}[data-view-panel="cotizaciones"] .table-wrap:has(.action-group) th:last-child,[data-view-panel="cotizaciones"] .table-wrap:has(.action-group) td:last-child{position:static;min-width:0;box-shadow:none}}
/* 9 columnas (con Fecha) a la vista en portátil; anchos recalculados para
   que quepan sin desbordar, incluida Acciones. */
@media(min-width:821px) and (max-width:1366px){[data-view-panel="cotizaciones"] .table-wrap th:nth-child(1){width:9%}[data-view-panel="cotizaciones"] .table-wrap th:nth-child(2){width:14%}[data-view-panel="cotizaciones"] .table-wrap th:nth-child(3){width:16%}[data-view-panel="cotizaciones"] .table-wrap th:nth-child(4){width:9%}[data-view-panel="cotizaciones"] .table-wrap th:nth-child(5){width:9%}[data-view-panel="cotizaciones"] .table-wrap th:nth-child(6){width:9%}[data-view-panel="cotizaciones"] .table-wrap th:nth-child(7){width:11%}[data-view-panel="cotizaciones"] .table-wrap th:nth-child(8){width:10%}[data-view-panel="cotizaciones"] .table-wrap th:nth-child(9){width:10%}[data-view-panel="cotizaciones"] .quote-status-trigger{max-width:100%;padding-inline:7px;font-size:10px}}

@media(min-width:821px) and (max-width:1366px){[data-view-panel="usuarios"] .table-wrap table{width:100%;min-width:0;table-layout:fixed}[data-view-panel="usuarios"] .table-wrap th,[data-view-panel="usuarios"] .table-wrap td{padding-right:7px;padding-left:7px;font-size:11px}[data-view-panel="usuarios"] .table-wrap th:nth-child(1){width:15%}[data-view-panel="usuarios"] .table-wrap th:nth-child(2){width:15%}[data-view-panel="usuarios"] .table-wrap th:nth-child(3){width:17%}[data-view-panel="usuarios"] .table-wrap th:nth-child(4){width:10%}[data-view-panel="usuarios"] .table-wrap th:nth-child(5){width:12%}[data-view-panel="usuarios"] .table-wrap th:nth-child(6){width:12%}[data-view-panel="usuarios"] .table-wrap th:nth-child(7){width:9%}[data-view-panel="usuarios"] .table-wrap th:nth-child(8){width:10%}[data-view-panel="usuarios"] .table-wrap:has(.action-group) th:last-child,[data-view-panel="usuarios"] .table-wrap:has(.action-group) td:last-child{position:static;min-width:0;box-shadow:none}}

/* Laptop quote priority: omit Client only here and assign its width to operations. */
@media(min-width:821px) and (max-width:1366px){[data-view-panel="cotizaciones"] .quote-status-trigger{max-width:100%;padding-right:8px;padding-left:8px;gap:4px;white-space:nowrap}}

/* Stable table width and sidebar density across laptop and wide desktop layouts. */
[data-view-panel="cotizaciones"] .table-wrap table{min-width:100%}
@media(min-width:821px) and (max-width:1366px){
  [data-view-panel="cotizaciones"] .table-wrap colgroup[data-resizable-columns],
  [data-view-panel="clientes"] .table-wrap colgroup[data-resizable-columns]{display:none}
  [data-view-panel="clientes"] .table-wrap table{width:100%!important;min-width:0!important;table-layout:fixed}
  [data-view-panel="clientes"] .table-wrap th,[data-view-panel="clientes"] .table-wrap td{padding-right:7px;padding-left:7px;font-size:11px}
  [data-view-panel="clientes"] .table-wrap th:nth-child(1){width:11%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(2){width:12%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(3){width:9%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(4){width:9%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(5){width:11%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(6){width:9%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(7){width:10%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(8){width:12%}
}
@media(min-width:821px) and (max-width:1366px) and (max-height:820px){
  .sidebar{padding-top:11px;padding-bottom:10px}
  .brand{min-height:47px;padding:2px 12px 11px}
  .nav-list{gap:clamp(2px,.4vh,4px)}
  .nav-link{min-height:clamp(40px,calc(36px + 1vh),45px)}
  .sidebar-bottom{gap:clamp(2px,.35vh,4px);padding-top:9px}
  .sidebar-user{min-height:46px;margin-top:5px;padding-top:8px}
}
@media(min-width:1367px){
  .sidebar{padding:22px 14px 17px}
  .brand{min-height:60px;padding:4px 12px 26px}
  .nav-list{gap:4px}
  .nav-link{min-height:45px}
  .sidebar-bottom{gap:4px;padding-top:17px}
  .sidebar-user{min-height:0;margin-top:12px;padding:14px 12px 0}
  .sidebar-user .user-avatar{width:34px;height:34px;flex-basis:34px}
  .sidebar-user b{font-size:12px}
  .sidebar-user small{font-size:11px}
}

/* Responsive table priorities requested for the operational laptop view. */
@media(min-width:821px) and (max-width:1366px){
  [data-view-panel="productos"] .table-wrap colgroup[data-resizable-columns],
  [data-view-panel="instalaciones"] .table-wrap colgroup[data-resizable-columns],
  [data-view-panel="usuarios"] .table-wrap colgroup[data-resizable-columns]{display:none}
  [data-view-panel="productos"] .table-wrap table,
  [data-view-panel="instalaciones"] .table-wrap table,
  [data-view-panel="usuarios"] .table-wrap table{width:100%!important;min-width:0!important;table-layout:fixed}
  [data-view-panel="productos"] .table-wrap th:nth-child(8),[data-view-panel="productos"] .table-wrap td:nth-child(8){display:none}
  [data-view-panel="productos"] .table-wrap th:nth-child(1){width:14%}
  [data-view-panel="productos"] .table-wrap th:nth-child(2){width:24%}
  [data-view-panel="productos"] .table-wrap th:nth-child(3){width:12%}
  [data-view-panel="productos"] .table-wrap th:nth-child(4){width:14%}
  [data-view-panel="productos"] .table-wrap th:nth-child(5){width:10%}
  [data-view-panel="productos"] .table-wrap th:nth-child(6),[data-view-panel="productos"] .table-wrap th:nth-child(7){width:10%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(1){width:14%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(2){width:13%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(3){width:17%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(4){width:11%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(5){width:12%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(6){width:13%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(7){width:10%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(8){width:11%}
}

/* Compact labels, calmer rhythm and one clear required marker in every modal. */
.modal .field>:first-child:not(.password-field){font-size:11px!important;line-height:1.3!important;letter-spacing:.01em!important}
.modal .field{gap:8px}
.modal .form-grid,.modal .item-base-grid,.modal .item-product-form{row-gap:22px!important}
.required-mark{margin-left:2px;color:#d13b53!important;font-size:1em;font-weight:850}

/* The three creation paths remain aligned as a single decision row. */
.stage[data-stage="2"] .stage-actions{display:grid;grid-template-columns:repeat(3,max-content);gap:8px;flex-wrap:nowrap}
.stage[data-stage="2"] .stage-actions .button{min-width:112px}
@media(max-width:760px){.stage[data-stage="2"] .stage-actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.stage[data-stage="2"] .stage-actions .button{min-width:0;padding-inline:7px}}

/* Picker pagination limits DOM work while retaining immediate search. */
.picker-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 2px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.picker-pagination>div{display:flex;gap:5px}.picker-pagination .icon-button{width:34px;height:34px}.picker-pagination .page-next .icon{transform:none}.picker-pagination [data-picker-page="prev"] .icon,.picker-pagination [data-client-picker-page="prev"] .icon,.picker-pagination [data-margin-page="prev"] .icon{transform:rotate(180deg)}
.margin-chart-pagination{border-top:0;margin-top:4px;min-height:auto;padding-top:4px}

/* Description autocomplete: exactly three visible rows with full keyboard navigation. */
.description-suggestions{max-height:126px;overflow-y:auto;overscroll-behavior:contain;padding:3px;scrollbar-gutter:stable}
.description-suggestions button{min-height:40px;padding:8px 10px;font-weight:400;line-height:1.35}
.description-suggestions button:hover,.description-suggestions button:focus-visible{font-weight:400}

/* Each advisor receives a compact visual dashboard based on the real period data. */
.advisor-performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.advisor-chart-layout{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;align-items:center;padding:15px;border-top:1px solid #e3eaf4}
.advisor-conversion-chart{display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:conic-gradient(#2563eb 0 var(--conversion),#e8eef7 var(--conversion) 100%)}
.advisor-conversion-chart:before{grid-area:1/1;width:74px;height:74px;border-radius:50%;background:#fff;content:""}
.advisor-conversion-chart>div{z-index:1;grid-area:1/1;display:grid;text-align:center}.advisor-conversion-chart b{color:#102d62;font-size:17px}.advisor-conversion-chart span{color:#718198;font-size:10px}
.advisor-bar-chart{display:grid;gap:10px}.advisor-chart-row{display:grid;gap:4px}.advisor-chart-row>span{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.advisor-chart-row b{color:#536985;font-size:10px;text-transform:uppercase;letter-spacing:.035em}.advisor-chart-row em{color:#102d62;font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}.advisor-chart-row>i{height:7px;overflow:hidden;border-radius:99px;background:#e8eef7}.advisor-chart-row>i>span{display:block;height:100%;border-radius:inherit;background:#5e8fe8}.advisor-chart-row.success>i>span{background:#26a26f}.advisor-chart-row.sales>i>span{background:#1d6dba}.advisor-chart-row.ticket>i>span{background:#7b66c7}.advisor-chart-row.balance>i>span{background:#d69725}
@media(max-width:980px){.advisor-performance-grid{grid-template-columns:1fr}}
@media(max-width:560px){.advisor-chart-layout{grid-template-columns:86px minmax(0,1fr);gap:12px}.advisor-conversion-chart{width:82px;height:82px}.advisor-conversion-chart:before{width:59px;height:59px}.advisor-conversion-chart b{font-size:14px}}

/* Ítems: edición directa, cálculos legibles y resumen compacto. */
.item-workbench-modal .item-base-grid .item-description input{min-height:44px;resize:none}
.item-workbench-modal .item-product-entry-head>.text-button{flex:0 0 auto;margin-top:3px}
.item-products-table{overflow-x:hidden}
.item-products-table table{min-width:0!important;table-layout:fixed}
.item-products-table th,.item-products-table td{vertical-align:middle;overflow-wrap:anywhere}
.item-workbench-modal .item-products-table th{padding:13px 12px;font-size:11px}
.item-workbench-modal .item-products-table td{padding:13px 12px;color:#34445e;font-size:14px}
.item-workbench-modal .item-products-table td:first-child b{font-size:14px;line-height:1.35}
.item-workbench-modal .item-products-table td small{font-size:11px;line-height:1.35}
.item-workbench-modal .item-products-table td:nth-child(n+2){font-variant-numeric:tabular-nums}
.item-products-table th:nth-child(1){width:45%}.item-products-table th:nth-child(2){width:12%}.item-products-table th:nth-child(3){width:16%}.item-products-table th:nth-child(4){width:16%}.item-products-table th:nth-child(5){width:11%}
.item-product-actions{white-space:nowrap}.item-product-actions .icon-button{width:31px;height:31px}
.item-charge-grid .field>span{font-size:10px!important;line-height:1.2!important}
.item-calculation{grid-template-columns:repeat(5,minmax(0,1fr))}
.item-calculation>div{min-height:69px;padding:14px 13px}
.item-calculation dt{font-size:10px;font-weight:750}.item-calculation dd{margin-top:5px;font-size:14px;line-height:1.2;font-variant-numeric:tabular-nums}
.item-calculation-total{background:#f2f7ff!important}.item-calculation-total dt{color:#295da8}.item-calculation-total dd{color:#102d62;font-size:15px!important}
.item-grand-total{min-width:0}.item-grand-total.is-double{display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:0;overflow:hidden;background:#dce7f7}.item-grand-total.is-double>div{display:grid;gap:4px;padding:14px 16px;background:#102d62}.item-grand-total.is-double>div+div{background:#174b9b}.item-grand-total.is-double span{color:#dce8ff;font-size:12px}.item-grand-total.is-double b{font-size:21px;font-variant-numeric:tabular-nums}
.item-summary-card{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(128px,.45fr);max-width:100%;overflow:hidden}
.item-summary-card>*{min-width:0}
.item-summary-main h3{font-size:14px;line-height:1.36;overflow-wrap:anywhere}
.item-summary-facts{margin:5px 0 0!important;color:#64758d!important;font-size:12px!important;line-height:1.45;overflow-wrap:anywhere}
.item-summary-rents>div{min-width:0}.item-summary-rents strong{display:grid;gap:2px;align-self:end;text-align:left;font-size:14px;font-variant-numeric:tabular-nums}.item-summary-rents strong small{font-size:10px}
.item-summary-total{justify-items:center!important;align-content:center;min-width:128px;padding:0 0 0 12px!important;text-align:center}.item-summary-actions{display:flex;justify-content:center;gap:5px;width:100%}.item-summary-total small,.item-summary-total>b{justify-self:center!important;text-align:center!important}.item-summary-total>b{font-size:18px;font-variant-numeric:tabular-nums}
.item-detail-modal .item-products-table{overflow-x:hidden}.item-detail-modal .item-products-table table{min-width:0!important;max-width:100%!important;table-layout:fixed}.item-detail-modal .item-products-table th,.item-detail-modal .item-products-table td{font-size:14px;overflow-wrap:anywhere}.item-detail-modal .item-products-table th{font-size:11px}.item-detail-modal .item-products-table td small{font-size:11px}.item-detail-modal .column-resizer{display:none}
/* Las acciones siempre permanecen disponibles: el espacio se resuelve con
   ajuste de texto y desplazamiento deliberado de la tabla, nunca ocultándolas. */
@media(max-width:1366px){body.backend-ready [data-view-panel] .table-wrap table th:last-child,body.backend-ready [data-view-panel] .table-wrap table td:last-child{display:table-cell!important;visibility:visible!important}.table-wrap .action-group{display:flex!important}[data-view-panel="cotizaciones"] .table-wrap .action-group{gap:0}[data-view-panel="cotizaciones"] .table-wrap .action-group .icon-button{width:28px;height:28px;min-width:28px}[data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns){table-layout:fixed}[data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) th:nth-child(1),[data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) td:nth-child(1),[data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) th:nth-child(8),[data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) td:nth-child(8){width:100px}[data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) th:nth-child(9),[data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) td:nth-child(9){width:152px}[data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) td{overflow-wrap:break-word}[data-view-panel="clientes"] .table-wrap .action-group,[data-view-panel="productos"] .table-wrap .action-group,[data-view-panel="instalaciones"] .table-wrap .action-group,[data-view-panel="usuarios"] .table-wrap .action-group{gap:0}[data-view-panel="clientes"] .table-wrap .action-group .icon-button,[data-view-panel="productos"] .table-wrap .action-group .icon-button,[data-view-panel="instalaciones"] .table-wrap .action-group .icon-button,[data-view-panel="usuarios"] .table-wrap .action-group .icon-button{width:28px;height:28px;min-width:28px}[data-view-panel="clientes"] .table-wrap table:not(.has-resized-columns) th:last-child,[data-view-panel="clientes"] .table-wrap table:not(.has-resized-columns) td:last-child{width:120px}[data-view-panel="productos"] .table-wrap table:not(.has-resized-columns) th:last-child,[data-view-panel="productos"] .table-wrap table:not(.has-resized-columns) td:last-child,[data-view-panel="instalaciones"] .table-wrap table:not(.has-resized-columns) th:last-child,[data-view-panel="instalaciones"] .table-wrap table:not(.has-resized-columns) td:last-child{width:95px}}
@media(min-width:821px) and (max-width:1366px){.item-summary-card{grid-template-columns:minmax(0,1fr) minmax(0,.85fr) 132px;gap:13px;padding:16px}.item-summary-facts{text-align:left}.item-summary-rents.double{grid-template-columns:1fr}.item-summary-total{align-self:stretch}}
@media(max-width:760px){.item-workbench-modal .item-product-entry-head>.text-button{width:auto}.item-calculation{grid-template-columns:1fr 1fr}.item-calculation-total{grid-column:1/-1}.item-grand-total.is-double{grid-template-columns:1fr}.item-summary-card{grid-template-columns:1fr!important;gap:13px;padding:16px;overflow:hidden}.item-summary-main,.item-summary-rents,.item-summary-total{min-width:0}.item-summary-rents.double{grid-template-columns:1fr}.item-summary-total{justify-items:center!important;width:100%;padding:13px 0 0!important;border-top:1px solid #d8e4f4;text-align:center}.item-summary-facts{text-align:left}.item-workbench-modal .item-products-table th,.item-workbench-modal .item-products-table td{padding:11px 8px;font-size:13px}.item-products-table th:nth-child(1){width:44%}.item-products-table th:nth-child(2){width:12%}.item-products-table th:nth-child(3){width:17%}.item-products-table th:nth-child(4){width:17%}.item-products-table th:nth-child(5){width:10%}.item-product-actions .icon-button{width:28px;height:30px}.item-detail-modal .item-products-table th,.item-detail-modal .item-products-table td{padding:11px 8px;font-size:13px}.item-detail-modal .item-products-table th{font-size:10px}}

/* Quote creation keeps project context first, then the selected client. */
.stage[data-stage="1"] .form-grid>.client-field{order:2}.stage[data-stage="1"] .form-grid>.client-field+.field{order:1}.stage[data-stage="1"] .form-grid>.client-field~.field:nth-of-type(3){order:3}.stage[data-stage="1"] .form-grid>.client-field~.field:nth-of-type(4){order:4}.stage[data-stage="1"] .form-grid>.field-span-2{order:5}.stage[data-stage="1"] .form-grid>[data-client-context]{order:6}

/* Lists remain readable at every desktop width: one installation per row and a true price selector. */
.installation-library-list{grid-template-columns:1fr}.installation-library-list>button{grid-template-columns:104px minmax(0,1fr) auto}.price-basis-switch{display:inline-flex;gap:3px;padding:3px;border:1px solid #c9dcf8;border-radius:10px;background:#f5f8ff}.price-basis-switch button{min-height:31px;padding:0 10px;border:0;border-radius:7px;color:#51647e;background:transparent;font-size:11px;font-weight:800}.price-basis-switch button.active{color:#fff;background:#2563eb;box-shadow:0 2px 5px rgba(37,99,235,.2)}

/* Status remains fully legible in dashboard and table rows, including laptop widths. */
[data-recent-quotes] .pill,[data-view-panel="inicio"] .table-wrap .pill{display:inline-flex;max-width:none;min-width:max-content;padding-inline:10px;overflow:visible;text-overflow:clip;white-space:nowrap}.table-wrap td:has(.pill){overflow:visible}

/* Keyboard focus on autocomplete options is clear without the heavy double ring. */
.description-suggestions button:focus-visible{outline:1px solid #2563eb;outline-offset:-1px;box-shadow:none}
.independent-products-summary article>div{display:grid;gap:5px;min-width:0}.independent-products-summary article .picker-code{width:max-content}.independent-products-summary article b{line-height:1.35}.independent-products-summary article small{color:#66758d;line-height:1.4}
.review-ready.is-incomplete{border-color:#f1ce8a;color:#8b5a09;background:#fff9eb}.review-ready.is-incomplete small{color:#9a6b1a}.review-ready-symbol{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;color:#fff;background:#d58a10;font-size:14px;font-weight:900}

/* Quote header and success state: the state describes the actions before they are chosen. */
.quote-actions{grid-template-columns:repeat(2,max-content);gap:7px 9px}.quote-actions .pill{grid-column:1/-1;grid-row:1;justify-self:end;margin:0}.quote-actions .button{grid-row:2}
.confirm-dialog-v30 .confirm-visual.success .confirm-icon{border-color:#a8dfcf;color:#137a52;background:#ecfbf5;box-shadow:0 0 0 9px #f5fdf9}.confirm-dialog-v30 .confirm-visual.success .quote-generated-number{margin:0!important;color:#137a52;font-size:13px;font-weight:850;line-height:1.35}
@media(max-width:760px){.quote-actions{width:100%;grid-template-columns:1fr 1fr}.quote-actions .pill{grid-column:1/-1;grid-row:1;justify-self:end}.quote-actions .button{grid-row:2}}

/* Independent products use one horizontal record, keeping the commercial values easy to scan. */
.independent-products-summary article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid #d7e4f6;border-radius:12px;background:#fbfdff}.independent-products-summary article>div{display:grid;grid-template-columns:minmax(104px,.35fr) minmax(190px,1.35fr) minmax(150px,.75fr);align-items:center;gap:14px;min-width:0}.independent-products-summary article .picker-code{display:inline-flex;align-items:center;justify-content:flex-start;width:max-content;min-height:30px;padding:0 9px;border-radius:8px;color:#1e5cc8;background:#edf4ff;font-size:11px;line-height:1.2}.independent-products-summary article b{overflow-wrap:anywhere;color:#102d62;font-size:14px;line-height:1.32}.independent-products-summary article small{margin:0;padding-left:14px;border-left:1px solid #e0e9f5;color:#6b7b92;font-size:12px;line-height:1.4}.independent-products-summary article>strong{display:grid;gap:4px;min-width:116px;padding-left:14px;border-left:1px solid #e0e9f5;color:#102d62;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.independent-products-summary article>strong:before{color:#6b7b92;content:'Total';font-size:11px;font-weight:500}.independent-products-summary article>.icon-button{justify-self:end}
@media(max-width:760px){.independent-products-summary article{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px}.independent-products-summary article>div{grid-template-columns:auto minmax(0,1fr);gap:9px}.independent-products-summary article>div small{grid-column:1/-1;padding:9px 0 0;border-top:1px solid #e0e9f5;border-left:0}.independent-products-summary article>strong{grid-column:1;padding:10px 0 0;border-top:1px solid #e0e9f5;border-left:0}.independent-products-summary article>.icon-button{grid-column:2;grid-row:1;align-self:start}}

/* Quote state controls respond to their own table width. */
.recent-quotes-card,[data-view-panel="cotizaciones"] .table-card{container-type:inline-size;container-name:quote-table}

/* The installation library retains only reusable configuration, so it can remain compact. */
[data-view-panel="instalaciones"] .table-wrap table{min-width:680px}

/* Final responsive table contract: readable data, stable edges and deliberate priorities. */
[data-view-panel] .table-wrap table{width:100%;min-width:100%}
[data-view-panel] .table-wrap th,[data-view-panel] .table-wrap td{box-sizing:border-box;line-height:1.35}
[data-view-panel] .table-wrap th{padding:12px 10px;color:#526681;font-size:11px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
[data-view-panel] .table-wrap td{padding:13px 10px;color:#344762;font-size:13px;font-weight:400}
[data-view-panel] .table-wrap th:first-child,[data-view-panel] .table-wrap td:first-child{padding-left:14px}
[data-view-panel] .table-wrap th:last-child,[data-view-panel] .table-wrap td:last-child{padding-right:14px}
[data-view-panel="productos"] .product-name-cell{font-weight:400!important}
[data-view-panel="ajustes"] input,[data-view-panel="ajustes"] select,[data-view-panel="ajustes"] textarea{font-weight:400!important}

/* Installation templates use the quote item editor without carrying quote-only values. */
.item-workbench-modal .installation-editor-context{margin:0;padding:11px 13px;border:1px solid #cfe0f8;border-radius:10px;color:#425a78;background:#f5f9ff;font-size:13px;line-height:1.45}
.item-workbench-modal .installation-base-grid{grid-template-columns:minmax(0,1fr) minmax(190px,.34fr)}
.item-workbench-modal .installation-base-grid .field:nth-child(n){grid-column:auto}
.item-calculation.structure-only{grid-template-columns:repeat(2,minmax(0,1fr))}
.lower-metrics.is-single{grid-template-columns:1fr}
.installation-line-values{display:grid;justify-items:end;gap:3px;min-width:120px}.installation-line-values small{color:var(--muted);font-size:11px}.installation-line-values strong{font-size:14px}
@media(max-width:720px){.item-workbench-modal .installation-base-grid{grid-template-columns:1fr}.installation-line-values{justify-items:start;min-width:0}.installation-products li{align-items:flex-start;flex-direction:column}}

/* Product entry inside an item alternates between a compact editor and its table. */
.item-modal-tools{display:flex;align-items:center;gap:12px;min-width:0}
.item-product-switch{display:inline-flex;flex:0 0 auto;gap:2px;padding:3px;border:1px solid #c9d9ef;border-radius:10px;background:#f4f7fb}
.item-product-switch button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:0 10px;border:0;border-radius:7px;color:#526681;background:transparent;font-size:11px;font-weight:750;white-space:nowrap;cursor:pointer}
.item-product-switch button.active{color:#fff;background:#2563eb;box-shadow:0 2px 6px rgba(37,99,235,.2)}
.item-product-switch .icon{width:13px;height:13px}
.item-product-switch span{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;color:inherit;background:rgba(255,255,255,.2);font-size:10px}
.item-product-view{width:100%;min-width:0}
.item-product-view.is-list .item-rent-panel{margin:0}
.item-workbench-modal .modal-choice{min-height:82px;padding:10px 15px}

/* Individual product rows expose basis, unit grammar and price without crowding. */
.independent-products-summary{display:grid;gap:8px;margin-top:22px}
.independent-products-summary article+article{margin-top:2px}
.independent-products-summary article small{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}
.independent-products-summary article small>span{white-space:nowrap}

@media(min-width:821px) and (max-width:1366px){
  [data-view-panel="cotizaciones"] .table-wrap colgroup[data-resizable-columns],
  [data-view-panel="clientes"] .table-wrap colgroup[data-resizable-columns],
  [data-view-panel="productos"] .table-wrap colgroup[data-resizable-columns],
  [data-view-panel="instalaciones"] .table-wrap colgroup[data-resizable-columns],
  [data-view-panel="usuarios"] .table-wrap colgroup[data-resizable-columns]{display:none}
  [data-view-panel="cotizaciones"] .table-wrap table,
  [data-view-panel="clientes"] .table-wrap table,
  [data-view-panel="productos"] .table-wrap table,
  [data-view-panel="instalaciones"] .table-wrap table,
  [data-view-panel="usuarios"] .table-wrap table{width:100%!important;min-width:100%!important;table-layout:fixed}
  [data-view-panel] .table-wrap th{padding:11px 9px;font-size:10.5px}
  [data-view-panel] .table-wrap td{padding:12px 9px;font-size:13px}
  [data-view-panel] .table-wrap th:first-child,[data-view-panel] .table-wrap td:first-child{padding-left:14px}
  [data-view-panel] .table-wrap th:last-child,[data-view-panel] .table-wrap td:last-child{padding-right:14px}

  [data-view-panel="cotizaciones"] .quote-status-trigger{max-width:100%;padding-inline:7px;font-size:10px}

  [data-view-panel="clientes"] .table-wrap th:nth-child(1){width:11%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(2){width:12%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(3){width:9%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(4){width:9%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(5){width:11%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(6){width:9%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(7){width:10%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(8){width:12%}

  [data-view-panel="productos"] .table-wrap th:nth-child(1){width:18%}
  [data-view-panel="productos"] .table-wrap th:nth-child(2){width:18%}
  [data-view-panel="productos"] .table-wrap th:nth-child(3){width:10%}
  [data-view-panel="productos"] .table-wrap th:nth-child(4){width:12%}
  [data-view-panel="productos"] .table-wrap th:nth-child(5){width:9%}
  [data-view-panel="productos"] .table-wrap th:nth-child(6),[data-view-panel="productos"] .table-wrap th:nth-child(7){width:9%}
  [data-view-panel="productos"] .table-wrap th:nth-child(8){width:9%}

  [data-view-panel="instalaciones"] .table-wrap table{min-width:100%!important}
  [data-view-panel="instalaciones"] .table-wrap th:nth-child(1){width:30%}
  [data-view-panel="instalaciones"] .table-wrap th:nth-child(2){width:22%}
  [data-view-panel="instalaciones"] .table-wrap th:nth-child(3){width:10%}
  [data-view-panel="instalaciones"] .table-wrap th:nth-child(4){width:13%}
  [data-view-panel="instalaciones"] .table-wrap th:nth-child(5){width:11%}
  [data-view-panel="instalaciones"] .table-wrap th:nth-child(6){width:10%}

  [data-view-panel="clientes"] .table-wrap:has(.action-group) th:last-child,[data-view-panel="clientes"] .table-wrap:has(.action-group) td:last-child,
  [data-view-panel="productos"] .table-wrap:has(.action-group) th:last-child,[data-view-panel="productos"] .table-wrap:has(.action-group) td:last-child,
  [data-view-panel="instalaciones"] .table-wrap:has(.action-group) th:last-child,[data-view-panel="instalaciones"] .table-wrap:has(.action-group) td:last-child{position:static;min-width:0;box-shadow:none}

  .item-summary-card{grid-template-columns:minmax(0,.95fr) minmax(390px,1.2fr) 132px}
  .item-summary-rents.double{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(min-width:721px) and (max-width:820px){
  [data-view-panel] .table-wrap{overflow-x:auto;overscroll-behavior-inline:contain}
  [data-view-panel] .table-wrap colgroup[data-resizable-columns]{display:none}
  [data-view-panel] .table-wrap table{table-layout:fixed}
  [data-view-panel] .table-wrap th{font-size:10.5px}
  [data-view-panel] .table-wrap td{font-size:13px}
  [data-view-panel="cotizaciones"] .table-wrap table{min-width:860px}
  [data-view-panel="clientes"] .table-wrap table{min-width:820px}
  [data-view-panel="productos"] .table-wrap table{min-width:820px}
  [data-view-panel="instalaciones"] .table-wrap table{min-width:760px}
  [data-view-panel="usuarios"] .table-wrap table{min-width:720px}
  [data-view-panel="clientes"] .table-wrap th:nth-child(3),[data-view-panel="clientes"] .table-wrap td:nth-child(3),
  [data-view-panel="clientes"] .table-wrap th:nth-child(4),[data-view-panel="clientes"] .table-wrap td:nth-child(4),
  [data-view-panel="clientes"] .table-wrap th:nth-child(7),[data-view-panel="clientes"] .table-wrap td:nth-child(7),
  [data-view-panel="productos"] .table-wrap th:nth-child(4),[data-view-panel="productos"] .table-wrap td:nth-child(4){display:none}
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(1){width:9%}
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(2){width:14%}
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(3){width:16%}
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(4){width:9%}
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(5){width:9%}
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(6){width:9%}
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(7){width:11%}
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(8){width:10%}
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(9){width:10%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(1){width:16%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(2){width:16%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(5){width:11%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(6){width:10%}
  [data-view-panel="clientes"] .table-wrap th:nth-child(8){width:18%}
  [data-view-panel="productos"] .table-wrap th:nth-child(1){width:20%}
  [data-view-panel="productos"] .table-wrap th:nth-child(2){width:24%}
  [data-view-panel="productos"] .table-wrap th:nth-child(3){width:12%}
  [data-view-panel="productos"] .table-wrap th:nth-child(5){width:12%}
  [data-view-panel="productos"] .table-wrap th:nth-child(6),[data-view-panel="productos"] .table-wrap th:nth-child(7){width:11%}
  [data-view-panel="productos"] .table-wrap th:nth-child(8){width:10%}
  [data-view-panel="instalaciones"] .table-wrap th:nth-child(1){width:32%}
  [data-view-panel="instalaciones"] .table-wrap th:nth-child(2){width:24%}
  [data-view-panel="instalaciones"] .table-wrap th:nth-child(3){width:10%}
  [data-view-panel="instalaciones"] .table-wrap th:nth-child(4){width:14%}
  [data-view-panel="instalaciones"] .table-wrap th:nth-child(5){width:12%}
  [data-view-panel="instalaciones"] .table-wrap th:nth-child(6){width:10%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(1){width:15%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(2){width:13%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(3){width:17%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(4){width:11%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(5){width:12%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(6){width:12%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(7){width:10%}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(8){width:10%}
  [data-view-panel="clientes"] .table-wrap:has(.action-group) th:last-child,[data-view-panel="clientes"] .table-wrap:has(.action-group) td:last-child,
  [data-view-panel="productos"] .table-wrap:has(.action-group) th:last-child,[data-view-panel="productos"] .table-wrap:has(.action-group) td:last-child,
  [data-view-panel="instalaciones"] .table-wrap:has(.action-group) th:last-child,[data-view-panel="instalaciones"] .table-wrap:has(.action-group) td:last-child,
  [data-view-panel="usuarios"] .table-wrap:has(.action-group) th:last-child,[data-view-panel="usuarios"] .table-wrap:has(.action-group) td:last-child{position:static;min-width:0;box-shadow:none}
  .item-modal-tools{gap:7px}
  .item-product-switch button{padding-inline:8px}
}

/* Tablet keeps the same table language as desktop. Only the table viewport
   scrolls; headers and actions never collapse into vertical fragments. */
@media(min-width:721px) and (max-width:820px){
  [data-view-panel="cotizaciones"] .table-wrap table,
  [data-view-panel="clientes"] .table-wrap table,
  [data-view-panel="productos"] .table-wrap table,
  [data-view-panel="usuarios"] .table-wrap table{width:760px!important;min-width:760px!important}
  /* Instalaciones only keeps 4 columns visible here (see the shared max-width:820px
     rules above), so it fits the tablet viewport natively instead of forcing the same
     760px used by the other tables, which still need scroll room for more columns. */
  [data-view-panel="instalaciones"] .table-wrap table{width:100%!important;min-width:100%!important}
  [data-view-panel] .table-wrap thead{display:table-header-group}
  [data-view-panel] .table-wrap tbody{display:table-row-group}
  [data-view-panel] .table-wrap tr{display:table-row}
  [data-view-panel] .table-wrap th,[data-view-panel] .table-wrap td{display:table-cell;position:static;white-space:normal}
  [data-view-panel] .table-wrap th:last-child,[data-view-panel] .table-wrap td:last-child{min-width:104px!important;width:104px!important;white-space:nowrap!important;word-break:normal!important;writing-mode:horizontal-tb!important}
  [data-view-panel="productos"] .table-wrap th:last-child,[data-view-panel="productos"] .table-wrap td:last-child,
  [data-view-panel="usuarios"] .table-wrap th:last-child,[data-view-panel="usuarios"] .table-wrap td:last-child{min-width:116px!important;width:116px!important}
}

/* At tablet width, keep the tabular layout but let the table grow naturally
   inside its own horizontal scroller. Fixed 760px tables squeezed status and
   action controls into narrower cells than their actual content. */
@media(min-width:721px) and (max-width:820px){
  [data-view-panel="cotizaciones"] .table-wrap table,
  [data-view-panel="clientes"] .table-wrap table,
  [data-view-panel="productos"] .table-wrap table,
  [data-view-panel="usuarios"] .table-wrap table{width:max-content!important;min-width:760px!important;max-width:none!important;table-layout:auto!important}
  [data-view-panel="cotizaciones"] .table-wrap th:last-child,[data-view-panel="cotizaciones"] .table-wrap td:last-child,
  [data-view-panel="instalaciones"] .table-wrap th:last-child,[data-view-panel="instalaciones"] .table-wrap td:last-child{width:max-content!important;min-width:max-content!important}
  [data-view-panel="usuarios"] .table-wrap th:nth-child(6),[data-view-panel="usuarios"] .table-wrap td:nth-child(6){min-width:96px!important}
  [data-view-panel="cotizaciones"] .table-wrap .action-group,[data-view-panel="instalaciones"] .table-wrap .action-group{min-width:max-content}
}

/* Retail sales is a wide operational ledger. On phones it remains a real
   table with an explicit horizontal scroll area instead of compressing the
   actions cell into an unusable sliver. */
@media(max-width:700px){
  [data-view-panel="ventas-detalle"] .table-wrap{overflow-x:auto!important;overscroll-behavior-inline:contain}
  [data-view-panel="ventas-detalle"] .retail-table{display:table!important;width:max-content!important;min-width:940px!important;table-layout:auto!important}
  [data-view-panel="ventas-detalle"] .retail-table thead{display:table-header-group!important}
  [data-view-panel="ventas-detalle"] .retail-table tbody{display:table-row-group!important}
  [data-view-panel="ventas-detalle"] .retail-table tr{display:table-row!important}
  [data-view-panel="ventas-detalle"] .retail-table th,[data-view-panel="ventas-detalle"] .retail-table td{display:table-cell!important;position:static!important;white-space:nowrap;min-width:max-content}
}

/* Clientes, productos, instalaciones y usuarios no tienen una tarjeta movil
   propia (a diferencia de cotizaciones, mas abajo), asi que a este ancho la
   columna de acciones fija por porcentaje no alcanza para 2-3 botones y
   quedaban recortados fuera de la pantalla, inaccesibles. Se le da su ancho
   real de contenido y se deja de fijar, para que el scroll horizontal que ya
   tiene la tabla la alcance igual que a cualquier otra columna. */
@media(max-width:720px){
  [data-view-panel="clientes"] .table-wrap table,
  [data-view-panel="productos"] .table-wrap table,
  [data-view-panel="instalaciones"] .table-wrap table,
  [data-view-panel="usuarios"] .table-wrap table{table-layout:auto}
  [data-view-panel="clientes"] .table-wrap th:last-child,[data-view-panel="clientes"] .table-wrap td:last-child,
  [data-view-panel="productos"] .table-wrap th:last-child,[data-view-panel="productos"] .table-wrap td:last-child,
  [data-view-panel="instalaciones"] .table-wrap th:last-child,[data-view-panel="instalaciones"] .table-wrap td:last-child,
  [data-view-panel="usuarios"] .table-wrap th:last-child,[data-view-panel="usuarios"] .table-wrap td:last-child{position:static;width:1%;min-width:max-content}
}

@media(max-width:560px){
  .item-workbench-modal .modal-head{align-items:flex-start;gap:8px}
  .item-modal-tools{align-items:flex-end;flex-direction:column-reverse}
  .item-product-switch button{font-size:10px}
}

/* Global search is one vertical, full-width flow: query, context and results. */
.global-search-dialog{width:min(720px,calc(100vw - 28px))}
.global-search-dialog .modal-form{min-height:0}
.global-search-dialog .modal-body{display:grid;grid-template-columns:minmax(0,1fr)!important;align-content:start;gap:10px;padding:18px 22px 22px}
.global-search-dialog .modal-body>*{grid-column:1/-1!important;width:100%}
.global-search-dialog .global-search-input{align-self:start;min-height:50px}
.global-search-summary{padding:5px 2px 2px;color:#60738f;font-size:12px;font-weight:750}
.global-search-results{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;max-height:min(56vh,480px)}
.global-search-result{min-height:66px;padding:10px 12px;border-bottom:1px solid #e6edf7;border-radius:10px}
.global-search-result:last-child{border-bottom-color:transparent}

/* Navegación: búsqueda más ligera y acciones equilibradas. */
.view[data-view-panel="inicio"]>.dashboard-search{margin-top:9px}
.security-panel .password-actions{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}
.security-panel .password-actions .button{width:100%;min-width:0}
.global-search-results{gap:8px}
.global-search-result{min-height:70px}
.view[data-view-panel="inicio"]>.toolbar.card,.view[data-view-panel="cotizaciones"]>.toolbar.card,.view[data-view-panel="clientes"]>.toolbar.card,.view[data-view-panel="productos"]>.toolbar.card,.view[data-view-panel="instalaciones"]>.toolbar.card{margin:10px 0 14px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.view[data-view-panel="inicio"]>.toolbar.card .search-field,.view[data-view-panel="cotizaciones"]>.toolbar.card .search-field,.view[data-view-panel="clientes"]>.toolbar.card .search-field,.view[data-view-panel="productos"]>.toolbar.card .search-field,.view[data-view-panel="instalaciones"]>.toolbar.card .search-field{min-height:48px;border:1px solid #d8e3f1;border-radius:10px;background:#fff}
.quote-preview-modal>.modal-form>.modal-head{display:none}
@media(max-width:760px){.view[data-view-panel="inicio"]>.dashboard-search{margin-top:9px}.security-panel .password-actions{grid-template-columns:1fr}.global-search-result{min-height:64px}}

/* Quote line actions keep edit and delete together without stealing content width. */
.item-summary-actions,.independent-product-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}
.independent-products-summary article{grid-template-columns:minmax(0,1fr) auto auto}
.independent-products-summary article>.independent-product-actions{display:flex;grid-template-columns:none;justify-self:end;gap:2px;width:auto;min-width:max-content}
.quote-line-removal{width:min(520px,calc(100vw - 28px))}
@media(max-width:760px){
  .global-search-dialog .modal-body{padding:15px}
  .global-search-result{min-height:62px}
  .independent-products-summary article{grid-template-columns:minmax(0,1fr) auto}
  .independent-product-actions{grid-column:2;grid-row:1;align-self:start}
}

/* Ítems repetibles: cantidad directa y copia independiente sin sobrecargar la tarjeta. */
.item-summary-quantity{display:grid;justify-items:center;gap:4px;color:#64758d;font-size:10px;font-weight:750}
.item-summary-quantity>div{display:flex;align-items:center;overflow:hidden;border:1px solid #d5e2f3;border-radius:9px;background:#fff}
.item-summary-quantity button{display:grid;place-items:center;width:27px;height:27px;padding:0;border:0;color:#1d5cc9;background:#f4f8ff;font:700 18px/1 Inter,system-ui,sans-serif;cursor:pointer}
.item-summary-quantity button:hover,.item-summary-quantity button:focus-visible{color:#fff;background:#2868d9;outline:0}
.item-summary-quantity output{min-width:29px;color:#102d62;text-align:center;font-size:12px;font-weight:850;font-variant-numeric:tabular-nums}
@media(min-width:1367px){.item-summary-card{align-items:stretch}.item-summary-rents{align-self:stretch;align-content:center}.item-summary-total{position:relative;align-self:stretch;min-height:108px;align-content:center;justify-items:center;padding:0!important}.item-summary-total .item-summary-actions{position:absolute;top:0;left:50%;width:max-content;transform:translateX(-50%)}.item-summary-total small,.item-summary-total>b{justify-self:center!important;text-align:center!important}}

/* Producto individual: una lectura comercial continua, sin duplicar el código. */
.independent-products-summary article>.independent-product-copy{display:flex;align-items:center;gap:18px;min-width:0}
.independent-products-summary article>.independent-product-copy>b{flex:1 1 260px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.independent-products-summary article>.independent-product-copy small{display:flex;align-items:center;flex-wrap:nowrap;gap:0;min-width:max-content;margin:0;padding:0;border:0;white-space:nowrap}
.independent-products-summary article>.independent-product-copy small>span+span::before{margin:0 10px;color:#b0bfd2;content:'·'}
@media(max-width:760px){.item-summary-quantity{justify-items:center}.independent-products-summary article>.independent-product-copy{display:grid;gap:6px}.independent-products-summary article>.independent-product-copy>b{white-space:normal}.independent-products-summary article>.independent-product-copy small{flex-wrap:wrap;white-space:normal}.independent-products-summary article>.independent-product-copy small>span+span::before{margin:0 6px}}

/* Resumen comercial final y tarjetas de ítems más directas. */
.item-summary-main{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px}
.item-summary-copy{min-width:0}
.item-summary-quantity{align-self:center;justify-items:center;gap:3px;color:#667891;font-size:9px;font-weight:850;text-transform:uppercase}
.item-summary-quantity>div{display:grid;grid-template-rows:22px 24px 22px;border-radius:8px}
.item-summary-quantity button{width:27px;height:22px;font-size:16px}
.item-summary-quantity output{display:grid;place-items:center;min-width:27px;font-size:12px}
.item-summary-total .item-summary-actions{gap:3px}
.item-summary-total>b{margin-top:1px}
.independent-products-summary article>strong:before{content:none}
.independent-products-summary article{align-items:center;padding:10px 14px}
.independent-products-summary article>.independent-product-copy{display:grid;gap:4px;min-width:0}
.independent-products-summary article>.independent-product-copy>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#102d62;font-size:13px;line-height:1.3}
.independent-products-summary article>.independent-product-copy small{min-width:0;font-size:11px;line-height:1.3}
.review-value-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.review-value-grid>div{min-height:82px}

/* Independent product cards: name matches the item card's title (size/weight/color)
   and its facts sit on their own line below it, instead of sharing the name's row. */
.independent-products-summary article>.independent-product-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:4px!important;align-items:flex-start!important}
.independent-products-summary article>.independent-product-copy>b{flex:0 0 auto!important;font-size:15px!important;font-weight:750!important;line-height:1.35!important;color:#102d62!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.independent-products-summary article>.independent-product-copy small{display:flex;flex-wrap:nowrap;white-space:nowrap;font-size:12px!important;color:#5b6b83!important}
@media(max-width:760px){.independent-products-summary article>.independent-product-copy>b{white-space:normal}.independent-products-summary article>.independent-product-copy small{flex-wrap:wrap;white-space:normal}}

/* Item card total: compact icons stacked as one group, centered against the
   whole card's height (not just its own column), with the value below and
   no divider line — the buttons themselves are shrunk, not just their gap,
   since the default 37px hit-target is what made them read as "spaced out"
   even at a near-zero gap. */
.item-summary-total{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;align-self:stretch!important;height:auto!important;min-height:0!important}
.item-summary-actions{display:flex!important;flex-direction:row!important;gap:2px!important;width:auto!important;position:static!important;left:auto!important;top:auto!important;transform:none!important}
.item-summary-actions .icon-button{width:24px!important;height:24px!important;border-radius:6px}
.item-summary-total>b{margin-top:8px!important;padding-top:0!important}
.item-summary-rents .item-rent-summary{cursor:pointer}
.item-summary-rents .item-rent-summary:hover{border-color:#a9c5f4}

/* Group cards get a real width cap instead of stretching to fill the rents
   column; a lone group (simple item) still reads at "two groups" wide so a
   simple item's card doesn't look truncated next to a double item's. The
   outer track shrinks to match, which is what actually frees width for the
   icons/total column on laptop screens. */
.item-summary-rents{display:flex!important;flex-wrap:wrap!important;max-width:452px!important}
.item-summary-rents .item-rent-summary{flex:0 1 220px!important;max-width:220px!important}
.item-summary-rents:not(.double) .item-rent-summary{flex-basis:452px!important;max-width:452px!important}
@media(min-width:1367px){.item-summary-card{grid-template-columns:minmax(230px,1.15fr) minmax(310px,452px) auto!important}}

/* Installation detail modal: dimensions and per-group charges alongside the product list. */
.installation-measures{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:14px 0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--line)}
.installation-measures>div{display:grid;gap:3px;padding:10px 12px;background:#fff}
.installation-measures span{color:var(--muted);font-size:11px}
.installation-measures b{font-size:14px}
.installation-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:14px}
.installation-group-charges{padding:11px 13px;border:1px solid #dce6f5;border-radius:10px;background:#f8fbff}
.installation-group-charges>b{display:block;margin-bottom:6px;color:var(--blue);font-size:11px;font-weight:850;letter-spacing:.03em;text-transform:uppercase}
.installation-group-charges>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 0;font-size:12px}
.installation-group-charges span{color:var(--muted)}
.installation-group-charges strong{font-weight:800}
/* Productos de ESTE grupo, dentro de su propia tarjeta — antes los productos
   de un ítem doble se listaban todos juntos, sin decir a cuál de los 2
   grupos pertenecía cada uno. */
.installation-location{margin:4px 0 0;color:#33455f;font-size:12.5px}
.installation-group-products{margin:9px 0 0;padding:9px 10px 4px;border-top:1px dashed #dce6f5;list-style:none}
.installation-group-products li{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 15px;font-size:12.5px}
.installation-group-products li+li{border-top:1px solid #eef3fa}
.installation-group-products b{display:block;color:#0f2a52;font-weight:650}
.installation-group-products li>span:first-child small{display:block;margin-top:1px;color:var(--muted);font-size:11px}
.installation-group-products .installation-line-values{min-width:88px}
@media(max-width:720px){.installation-group-products li{flex-direction:column;align-items:flex-start}.installation-group-products .installation-line-values{justify-items:start;min-width:0}}
@media(min-width:821px) and (max-width:1366px){.item-summary-card{grid-template-columns:minmax(0,1fr) minmax(0,452px) 150px!important}}

/* Autosave status sits beside the draft pill, quiet until there is something to report. */
.quote-actions{position:relative}
.autosave-status{grid-column:1/-1;grid-row:1;justify-self:start;align-self:center;margin:0;color:#7c8aa0;font-size:12px;font-weight:650}
.autosave-status.is-saving{color:#7c8aa0}
.autosave-status.is-error{color:#c9314b}
.autosave-status:not(.is-saving):not(.is-error){color:#178153}

/* Read-only quote view: a persistent badge under the status pill, since the toast fades.
   The base .quote-actions .pill rule pins every pill to row 1, so this one needs its
   own row or it would overlap "Borrador" instead of sitting underneath it. */
.quote-actions .readonly-pill{grid-row:2!important;grid-column:1/-1;justify-self:end;color:#5c729a;background:#eaeff8;border:1px solid #d7e1f2}

/* Margen con costo de catalogo desconocido (producto ya no existe): se marca
   distinto de un margen real de 0%, en vez de aparentar que no hay costo. */
.profitability-list .unknown-cost i span{background:#c7cedb}
.profitability-list .unknown-cost strong{color:#74839a;font-weight:750}
.profitability-list .unknown-cost small{color:#9aa6ba}
.advisor-chart-row.margin>i>span{background:#0f9b8e}
.advisor-chart-row.margin.unknown-cost{opacity:.65}
.advisor-chart-row.margin.unknown-cost em{color:#9aa6ba}

/* "Margen por cotizacion aprobada" + "Senales para decidir": la version anterior
   forzaba dos columnas de ~50/50, apretando la lista de margenes. Ahora el
   bloque va a ancho completo y el margen se ve como un grafico de barras
   horizontal real (con eje 0-100%), en vez de una lista con una barra delgada. */
.lower-metrics{grid-template-columns:1fr!important}
@media(max-width:620px){.margin-summary{grid-template-columns:1fr}}
.margin-chart{display:grid;gap:11px;margin-top:20px}
.margin-chart-axis{display:grid;grid-template-columns:180px 1fr;gap:14px;margin-bottom:2px;margin-right:60px}
.margin-chart-axis>span:nth-child(2){position:relative;height:12px;color:var(--muted);font-size:10px}
.margin-chart-axis>span:nth-child(2)>i{position:absolute;top:0;font-style:normal;white-space:nowrap}
.margin-chart-axis>span:nth-child(2)>i:nth-child(1){left:0}
.margin-chart-axis>span:nth-child(2)>i:nth-child(2){left:25%;transform:translateX(-50%)}
.margin-chart-axis>span:nth-child(2)>i:nth-child(3){left:50%;transform:translateX(-50%)}
.margin-chart-axis>span:nth-child(2)>i:nth-child(4){left:75%;transform:translateX(-50%)}
.margin-chart-axis>span:nth-child(2)>i:nth-child(5){left:100%;transform:translateX(-100%)}
.margin-bar-row{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:14px;padding:4px 0;margin-right:60px}
.margin-bar-label{display:flex;flex-wrap:wrap;align-items:center;gap:1px 4px;min-width:0}.margin-bar-label b{flex:0 0 auto}.margin-bar-label small{flex:1 1 100%}.margin-bar-label .icon-button{width:24px;height:24px;flex:0 0 auto}.margin-bar-label .icon-button .icon{width:14px;height:14px}
.margin-bar-label b{font-size:12px;font-weight:750;color:#102d62;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.margin-bar-label small{font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.margin-bar-track{position:relative;height:20px;border-radius:6px;background-color:#eef2f8;background-image:linear-gradient(to right,#dde5f0 1px,transparent 1px);background-size:25% 100%}
.margin-bar-fill{position:absolute;inset:0;width:var(--profit-width,0%);min-width:2px;border-radius:6px;background:linear-gradient(90deg,#18a36e,#66c99f)}
.margin-bar-fill.unknown-cost-bar{width:100%;background:repeating-linear-gradient(135deg,#dde3ec,#dde3ec 6px,#e8ecf3 6px,#e8ecf3 12px)}
.margin-bar-tip{position:absolute;top:50%;left:100%;transform:translate(8px,-50%);font-size:12px;font-weight:800;color:#102d62;white-space:nowrap}
.margin-bar-tip.unknown-cost{left:50%;transform:translate(-50%,-50%);color:#78849a;font-weight:650}
@media(max-width:640px){.margin-chart-axis{display:none}.margin-bar-row{grid-template-columns:1fr;gap:6px;margin-right:0}.margin-bar-tip{left:50%;transform:translate(-50%,-50%);color:#fff;text-shadow:0 1px 2px rgba(10,50,30,.35)}.margin-bar-tip.unknown-cost{color:#55627a;text-shadow:none}}

/* Iconos de "producto individual" (paso 2) del mismo tamano que los de las
   tarjetas de item, para que ambos tipos de fila se vean consistentes. */
.independent-product-actions .icon-button{width:24px!important;height:24px!important;border-radius:6px}

/* Las 4 tarjetas de metricas (Resumen y Metricas) solo tenian version de
   escritorio (4 columnas) y version movil (<=720px, 2 columnas): una tablet
   en 768px no entraba en ninguna de las dos y las tarjetas se desbordaban,
   cortando los valores. */
@media(max-width:900px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}}

/* Historial de abonos: barra de progreso del pago y fila de un abono anulado. */
.payment-progress-caption{grid-column:1/-1;margin:-4px 0 -2px;color:#64748b;font-size:10.5px;font-weight:750;text-align:right}
.payment-progress{grid-column:1/-1;position:relative;height:8px;overflow:hidden;border-radius:99px;background:#e8eef7}
.payment-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#18a36e,#66c99f)}
.payment-row-cancelled td{color:#9aa6ba;text-decoration:line-through}
.payment-row-cancelled td:last-child{text-decoration:none}
.payment-history .icon-button{width:26px;height:26px}
.payment-cancel-row td{padding:10px 8px 14px;border-top:0!important;background:#fff6f6}
.payment-cancel-inline{display:flex;gap:8px;align-items:center}
.payment-cancel-inline input{flex:1;min-width:0;padding:8px 10px;border:1px solid #f0cbd2;border-radius:8px;font-size:12px}
.payment-cancel-inline .button{padding:8px 12px;font-size:12px;white-space:nowrap}

/* Modal de cartera por cliente (icono $ en la tabla de clientes). */
.client-finance-dialog{width:min(920px,94vw);max-height:88vh}
.client-finance-dialog .modal-body{grid-template-columns:minmax(0,1fr);min-height:180px}
.client-finance-switch{display:flex;width:max-content;max-width:calc(100% - 52px);gap:4px;margin:10px 26px 2px;padding:4px;border:1px solid #dce6f4;border-radius:12px;background:#f6f9fd}
/* Ambos switches (abonos y cartera de cliente) se ubican en el header, junto a la X. */
.item-modal-tools .client-finance-switch,.item-modal-tools .payment-tabs{margin:0;max-width:none}
.item-modal-tools .payment-tabs{width:max-content;padding:3px;gap:3px}
.item-modal-tools .payment-tabs button{flex:0 1 auto;min-height:32px;padding:0 12px;font-size:12px}
.item-modal-tools .client-finance-switch button{min-height:32px}
@media(max-width:620px){.modal-head .item-modal-tools{gap:6px}.item-modal-tools .payment-tabs button,.item-modal-tools .client-finance-switch button{padding:0 8px;font-size:11px}}
.client-finance-switch button{flex:0 1 auto;min-height:38px;padding:0 15px;border:0;border-radius:8px;color:#63738b;background:transparent;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer}
.client-finance-switch button.active{color:#164fba;background:#fff;box-shadow:0 2px 8px rgba(25,67,128,.12)}
.client-finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:2px}
.client-finance-summary .metric{min-height:104px;padding:16px}
.client-finance-summary .metric strong{margin:8px 0 4px;font-size:21px;overflow-wrap:anywhere}
.modal-loading{padding:30px 0;color:var(--muted);text-align:center}
.client-finance-quotes table{min-width:0;table-layout:fixed}
.client-finance-quotes td:nth-child(4),.client-finance-quotes td:nth-child(5){font-variant-numeric:tabular-nums;white-space:nowrap}
.client-finance-quotes th,.client-finance-quotes td{overflow-wrap:break-word}
.client-finance-quotes th:last-child,.client-finance-quotes td:last-child{width:76px!important;min-width:76px!important;white-space:nowrap;overflow-wrap:normal}
.wizard-footer [data-edit-active-quote]{margin-left:auto;margin-right:12px}
body.sidebar-collapsed{--sidebar:88px}
body.sidebar-collapsed .nav-link .icon{width:22px;height:22px}
body.sidebar-collapsed .sidebar-bottom .nav-link,body.sidebar-collapsed .sidebar-bottom .sidebar-user{width:50px;height:50px;min-height:50px}
body.sidebar-collapsed .sidebar-bottom .nav-link .icon,body.sidebar-collapsed .sidebar-bottom .sidebar-toggle .icon{width:22px;height:22px}
body.sidebar-collapsed .sidebar-bottom .sidebar-user .user-avatar{width:36px;height:36px;font-size:12px}
.installation-total-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:14px 16px;border-radius:11px;color:#fff;background:var(--navy)}
.installation-total-row span{font-size:13px;font-weight:700;opacity:.85}
.installation-total-row strong{font-size:20px;font-weight:800}
[data-view-panel="productos"] .product-table tbody td:first-child,[data-view-panel="instalaciones"] table tbody td:first-child{text-transform:uppercase}
[data-view-panel="cotizaciones"] .table-card table tbody td:nth-child(2),[data-view-panel="cotizaciones"] .table-card table tbody td:nth-child(3),[data-view-panel="cotizaciones"] .table-card table tbody td:nth-child(7),.recent-quotes-card table tbody td:nth-child(2),.recent-quotes-card table tbody td:nth-child(3),.recent-quotes-card table tbody td:nth-child(7),[data-view-panel="clientes"] .directory-table tbody td:first-child,[data-view-panel="clientes"] .directory-table tbody td:nth-child(2),[data-view-panel="clientes"] .directory-table tbody td:nth-child(7),[data-view-panel="clientes"] .directory-table tbody td:nth-child(8){text-transform:lowercase}
[data-view-panel="cotizaciones"] .table-card table tbody td:nth-child(2)::first-letter,[data-view-panel="cotizaciones"] .table-card table tbody td:nth-child(3)::first-letter,[data-view-panel="cotizaciones"] .table-card table tbody td:nth-child(7)::first-letter,.recent-quotes-card table tbody td:nth-child(2)::first-letter,.recent-quotes-card table tbody td:nth-child(3)::first-letter,.recent-quotes-card table tbody td:nth-child(7)::first-letter,[data-view-panel="clientes"] .directory-table tbody td:first-child::first-letter,[data-view-panel="clientes"] .directory-table tbody td:nth-child(2)::first-letter,[data-view-panel="clientes"] .directory-table tbody td:nth-child(7)::first-letter,[data-view-panel="clientes"] .directory-table tbody td:nth-child(8)::first-letter{text-transform:uppercase}
.search-field input,.global-search input{flex:1}
.search-shortcut{flex:0 0 auto;padding:3px 6px;border:1px solid #d8e2ef;border-radius:5px;color:#718099;background:#f7faff;font-size:11px;font-style:normal;white-space:nowrap}
@media(max-width:820px){.search-shortcut{display:none}}

.feedback-comment-dialog{width:min(760px,calc(100vw - 28px))}
.feedback-comment-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:start}
.feedback-comment-body .feedback-thumb-trigger{display:block;width:100%;height:auto;max-height:360px}
.feedback-preview{display:block;width:100%;height:100%;object-fit:contain;background:#f3f6fb}
.feedback-comment-body .field{display:flex;flex-direction:column;gap:8px;min-width:0}
.feedback-comment-body .field textarea{flex:1;min-height:220px;resize:vertical}
@media(max-width:640px){
  .feedback-comment-body{grid-template-columns:1fr}
  .feedback-comment-body .feedback-thumb-trigger{max-height:240px}
  .feedback-comment-body .field textarea{min-height:120px}
}
.feedback-lightbox{width:min(90vw,900px);border:0;padding:0;background:transparent}
.feedback-lightbox img{width:100%;border-radius:12px}
.feedback-thumb-trigger{padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:none;cursor:zoom-in}

/* Tarjeta de ítem (paso "Ítems y productos") en mobile: cada grupo a ancho
   completo (sea ítem simple o doble), la etiqueta de tipo arriba a la
   derecha de la tarjeta, y el total + acciones en una sola fila. */
@media(max-width:720px){
  .item-summary-card{position:relative}
  .item-summary-copy{padding-right:88px}
  .item-summary-copy .pill{position:absolute;top:16px;right:16px;z-index:1}
  .item-summary-rents .item-rent-summary{flex:1 1 100%!important;max-width:100%!important}
  .item-summary-total{flex-direction:row-reverse!important;justify-content:space-between!important;align-items:center!important;gap:10px}
  .item-summary-total>b{margin-top:0!important}
  .item-calculation{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .item-calculation>div{padding:8px 6px!important;min-height:0!important}
  .item-calculation dt{font-size:8.5px!important}
  .item-calculation dd{margin-top:3px!important;font-size:11px!important}
}
.feedback-thumb{display:block;width:64px;height:44px;object-fit:cover}

/* Overrides finales (deben ir al final del archivo): una regla antigua para
   la última columna de cualquier tabla (th/td:last-child{display:table-cell
   !important}) empata en especificidad con la tarjeta responsiva y, al venir
   después en el archivo, le ganaba cuando la celda clasificada como
   rt-field/rt-primary resultaba ser la última columna (p. ej. "Detalle" en
   Historial). Repetirla aquí, al final, es lo único que garantiza ganar sin
   importar dónde se agregue una regla nueva de este tipo más arriba. */
@media(max-width:720px){
  [data-view-panel] .table-wrap tbody td.rt-field:last-child,.recent-quotes-card tbody td.rt-field:last-child{display:flex!important}
  [data-view-panel] .table-wrap tbody td.rt-field.rt-field-long:last-child,.recent-quotes-card tbody td.rt-field-long:last-child{display:block!important}
  [data-view-panel] .table-wrap tbody td.rt-primary:last-child,.recent-quotes-card tbody td.rt-primary:last-child,
  [data-view-panel] .table-wrap tbody td.rt-badge:last-child,.recent-quotes-card tbody td.rt-badge:last-child,
  [data-view-panel] .table-wrap tbody td.rt-actions:last-child,.recent-quotes-card tbody td.rt-actions:last-child{display:block!important}
  /* Un td con el atributo real [hidden] (p. ej. "Asesor" para quien no es
     superadmin/contable) debe quedar oculto siempre, sin importar que sea
     rt-field/rt-primary/etc.: sube la especificidad por encima de esas
     reglas en vez de competir con ellas por orden. */
  [data-view-panel] .table-wrap tbody td[hidden],.recent-quotes-card tbody td[hidden]{display:none!important}
}
.page-heading-actions{display:flex;align-items:center;gap:10px}
.metric-period{position:relative;display:block}
.metrics-period-trigger{gap:8px}
.metrics-period-panel{position:absolute;z-index:6;top:calc(100% + 8px);right:0;display:grid;gap:16px;width:380px;max-width:calc(100vw - 32px);padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 18px 42px rgba(11,43,91,.18);animation:popover-in .16s ease-out}
.metrics-period-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.metrics-period-chip{min-height:34px;padding:0 6px;border:1px solid #d7e0ed;border-radius:8px;color:#43516a;background:var(--surface);font-size:11px;font-weight:750;line-height:1.2;text-align:center}
.metrics-period-chip:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}
.metrics-period-chip.active{border-color:var(--blue);color:#fff;background:var(--blue)}
.metrics-period-custom{padding-top:14px;border-top:1px solid var(--line)}
.metrics-period-custom>.eyebrow{margin-bottom:10px}
.metrics-period-custom>.button{width:100%;margin-top:12px}
.metrics-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.metrics-calendar-head b{font-size:13px;text-transform:capitalize}
.metrics-calendar-head .icon-button{width:28px;height:28px}
.metrics-calendar-head [data-calendar-nav="prev"] .icon{transform:rotate(180deg)}
.metrics-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-top:8px;color:var(--muted);font-size:10px;font-weight:800;text-align:center;text-transform:uppercase}
.metrics-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:4px}
.metrics-calendar-day{display:grid;place-items:center;height:30px;border:0;border-radius:8px;color:var(--text);background:transparent;font-size:12px}
.metrics-calendar-day.empty{cursor:default}
.metrics-calendar-day:not(.empty):hover{background:var(--blue-soft);color:var(--blue)}
.metrics-calendar-day.in-range{background:var(--blue-soft);color:var(--blue);border-radius:0}
.metrics-calendar-day.range-start{border-radius:8px 0 0 8px}
.metrics-calendar-day.range-end{border-radius:0 8px 8px 0}
.metrics-calendar-day.range-start,.metrics-calendar-day.range-end{color:#fff;background:var(--blue);font-weight:750}
.metrics-calendar-day.range-start.range-end{border-radius:8px}
.metrics-calendar-day.is-today:not(.range-start):not(.range-end){box-shadow:inset 0 0 0 1px var(--blue)}
.metrics-calendar-selection{margin:10px 0 0;color:var(--muted);font-size:12px}
.metrics-calendar-selection b{color:var(--text)}
@media(max-width:520px){.metrics-period-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-period-panel{right:-16px;width:min(380px,calc(100vw - 24px))}}

/* Feedback: calificación de utilidad y captura siempre por encima de cualquier modal. */
.feedback-utilidad-select{min-height:25px;padding:0 22px 0 9px;border-radius:999px;font-size:12px;font-weight:750;white-space:nowrap}
.feedback-utilidad-select.feedback-utilidad-alta{color:var(--green);background:var(--green-soft);border-color:#b9e6ce}
.feedback-utilidad-select.feedback-utilidad-media{color:var(--amber);background:var(--amber-soft);border-color:#f3cf89}
.feedback-utilidad-select.feedback-utilidad-baja{color:#c43349;background:#fff0f2;border-color:#ffc8d0}
.feedback-utilidad-select.feedback-utilidad-sin-calificar{color:var(--muted);background:#f5f7fa;border-color:#e1e7ef}
dialog.feedback-capture-dialog{position:fixed;inset:0;z-index:2147483647;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(8,16,32,.55);cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M12 2v8M12 14v8M2 12h8M14 12h8" stroke="%232563eb" stroke-width="2.5" stroke-linecap="round"/></svg>') 12 12,crosshair}
dialog.feedback-capture-dialog::backdrop{background:transparent}
.feedback-capture-hint{position:absolute;top:18px;left:50%;z-index:1;padding:9px 16px;border-radius:99px;color:#fff;background:rgba(11,25,58,.82);font-size:13px;font-weight:650;transform:translateX(-50%);pointer-events:none;box-shadow:0 10px 26px rgba(4,20,48,.3)}
.feedback-capture-box{position:absolute;z-index:1;border:2px solid var(--blue);background:rgba(37,99,235,.14);pointer-events:none}
.feedback-capture-loader{position:fixed;inset:0;z-index:2147483647;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:rgba(8,16,32,.72);color:#fff}
.feedback-capture-loader p{margin:0;font-size:14px;font-weight:650}
.feedback-capture-spinner{width:34px;height:34px;border:3px solid rgba(255,255,255,.28);border-top-color:#fff;border-radius:50%;animation:deko-feedback-spin .7s linear infinite}
.global-loading-overlay{position:fixed;inset:0;z-index:2147483646;display:flex;align-items:center;justify-content:center;background:rgba(8,16,32,.45)}
.global-loading-spinner{width:38px;height:38px;border:4px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:deko-feedback-spin .7s linear infinite}
@keyframes deko-feedback-spin{to{transform:rotate(360deg)}}
/* La tabla de Cotizaciones, en el rango "portátil" (821-1366px), tenía al
   menos 5 bloques @media distintos y encimados compitiendo por su ancho de
   columnas (table-layout:fixed con porcentajes fijos por columna) — un
   diseño distinto al de la tabla de Resumen (.recent-quotes-card), que
   nunca fuerza table-layout:fixed y solo depende de un min-width con
   columnas de ancho automático según su contenido. En vez de desenredar y
   borrar esos bloques (arriesga reintroducir el desborde que ya se había
   corregido), esta regla final replica el enfoque de Resumen para esta
   tabla: como comparte selector con esas reglas viejas, gana por ser la
   última en el archivo; y como iguala su especificidad en las columnas
   (mismos :nth-child), también gana ahí donde un simple "table, th, td" no
   alcanzaría. Limpiar los bloques viejos queda pendiente para la ronda de
   optimización de CSS ya planeada — esto es la forma segura de igualar el
   estilo ahora mismo sin tocar ese enredo. */
@media(min-width:821px) and (max-width:1366px){
  [data-view-panel="cotizaciones"] .table-wrap table,
  [data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns){table-layout:auto;width:auto;min-width:980px}
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(1),[data-view-panel="cotizaciones"] .table-wrap td:nth-child(1),
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(2),[data-view-panel="cotizaciones"] .table-wrap td:nth-child(2),
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(3),[data-view-panel="cotizaciones"] .table-wrap td:nth-child(3),
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(4),[data-view-panel="cotizaciones"] .table-wrap td:nth-child(4),
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(5),[data-view-panel="cotizaciones"] .table-wrap td:nth-child(5),
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(6),[data-view-panel="cotizaciones"] .table-wrap td:nth-child(6),
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(7),[data-view-panel="cotizaciones"] .table-wrap td:nth-child(7),
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(8),[data-view-panel="cotizaciones"] .table-wrap td:nth-child(8),
  [data-view-panel="cotizaciones"] .table-wrap th:nth-child(9),[data-view-panel="cotizaciones"] .table-wrap td:nth-child(9),
  [data-view-panel="cotizaciones"] .table-wrap th:nth-last-child(2),[data-view-panel="cotizaciones"] .table-wrap td:nth-last-child(2),
  [data-view-panel="cotizaciones"] .table-wrap th:last-child,[data-view-panel="cotizaciones"] .table-wrap td:last-child,
  [data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) th:nth-child(1),[data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) td:nth-child(1),
  [data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) th:nth-child(8),[data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) td:nth-child(8),
  [data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) th:nth-child(9),[data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) td:nth-child(9),
  [data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) th:last-child,[data-view-panel="cotizaciones"] .table-wrap table:not(.has-resized-columns) td:last-child
  {width:auto;max-width:none;min-width:0;white-space:normal}
}
[data-view-panel="clientes"] .directory-table th:nth-child(3),[data-view-panel="clientes"] .directory-table td:nth-child(3){width:70px;max-width:70px}
/* Filtro de fechas (Inicio, Cotizaciones y Métricas): en móvil el control queda a la izquierda, así que su panel se ancla a la izquierda (anclado a la derecha se salía de la pantalla, hasta 200 px). */
@media(max-width:520px){.metric-period .metrics-period-panel{left:0;right:auto}}
/* El tirador de la ÚLTIMA columna sobresalía 5 px del borde derecho y creaba scroll horizontal en pantallas de ~768 px; esa columna no tiene vecina a la derecha, así que no lo necesita. */
.resizable-table th:last-child .column-resizer{display:none}
/* Métricas en móvil: el gráfico de facturación pide 420 px mínimo y, sin min-width:0, empujaba las tarjetas de la cuadrícula más allá de la pantalla (32 px de scroll horizontal en la página del contable/superadmin). El gráfico ya se desplaza dentro de su propia tarjeta. */
@media(max-width:760px){[data-view-panel="metricas"] .metrics-grid>*{min-width:0}}
/* Fecha + hora de una cotización como un solo bloque (en las tarjetas móviles la hora quedaba separada de la fecha). */
.quote-date-wrap{display:block}
@media(max-width:760px){.quote-date-wrap{text-align:right}}
/* Tarjetas móviles de Cotizaciones/Inicio: el texto ya llega capitalizado desde el código; se quita la minúscula forzada de escritorio (que dejaba "german valencia" todo en minúscula porque ::first-letter no aplica dentro de la tarjeta). */
@media(max-width:760px){[data-view-panel="cotizaciones"] .table-card table tbody td:nth-child(2),[data-view-panel="cotizaciones"] .table-card table tbody td:nth-child(3),[data-view-panel="cotizaciones"] .table-card table tbody td:nth-child(7),.recent-quotes-card table tbody td:nth-child(2),.recent-quotes-card table tbody td:nth-child(3),.recent-quotes-card table tbody td:nth-child(7){text-transform:none}}
/* Tarjetas móviles de Clientes: mismo caso que Cotizaciones (texto ya capitalizado desde el código; sin minúscula forzada). */
@media(max-width:760px){[data-view-panel="clientes"] .directory-table tbody td:first-child,[data-view-panel="clientes"] .directory-table tbody td:nth-child(2),[data-view-panel="clientes"] .directory-table tbody td:nth-child(7),[data-view-panel="clientes"] .directory-table tbody td:nth-child(8){text-transform:none}}
/* El encabezado "Consecutivo" se partía en 3 líneas (CONSE/CUTIV/O) en Cotizaciones e Inicio a ~1200 px de ancho. */
@media(min-width:761px){[data-view-panel="cotizaciones"] .table-card table thead th:first-child,.recent-quotes-card table thead th:first-child{min-width:112px!important;white-space:nowrap!important}}

/* Feedback: conversación por reporte (asesor <-> soporte técnico) */
.feedback-comment-cell{white-space:pre-wrap;overflow-wrap:anywhere;max-width:380px}
.feedback-thread-trigger{position:relative}
.feedback-count{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#eaf0f9;color:var(--muted);font-size:10px;font-weight:750;line-height:16px;text-align:center;box-shadow:0 0 0 2px #fff}
.feedback-thread-dialog{width:min(640px,94vw);max-height:90vh}
.feedback-thread-dialog .modal-form{display:flex;flex-direction:column;max-height:90vh}
.feedback-thread-dialog .modal-head{align-items:flex-start}
.feedback-thread-dialog .modal-head h2{margin:0}
.feedback-thread-dialog .fb-sub{margin:3px 0 0;color:var(--muted);font-size:13px}
.feedback-thread-head-tools{display:flex;align-items:center;gap:10px}
.modal-body.feedback-thread-body{display:block;padding:0;min-height:0;overflow:hidden;border-block:1px solid var(--line)}
.feedback-thread-list{display:flex;flex-direction:column;max-height:min(52vh,470px);min-height:160px;overflow-y:auto;padding:6px 0}
.feedback-thread-loading{margin:auto;padding:40px 0;color:var(--muted)}
.fb-msg{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:13px 24px}
.fb-msg:hover{background:#f7f9fd}
.fb-msg.is-support{background:#f2faf6;box-shadow:inset 3px 0 0 var(--green)}
.fb-avatar{position:relative;overflow:hidden;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blue-soft);color:var(--navy);font-size:12.5px;font-weight:800;letter-spacing:.02em}
.fb-msg.is-support .fb-avatar{background:var(--green);color:#fff}
.fb-msg-main{min-width:0}
.fb-msg header{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.fb-msg header b{color:var(--text);font-size:13.5px}
.fb-msg.is-support header b{color:var(--green)}
.fb-msg header time,.fb-note,.feedback-msg-edited{color:var(--muted);font-size:12px}
.fb-note::after{content:"·";margin-left:8px}
.fb-msg p{margin:3px 0 0;color:var(--text);font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.fb-attach{display:inline-block;margin-top:10px;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;cursor:zoom-in}
.fb-attach img{display:block;width:190px;max-width:100%;max-height:120px;object-fit:cover}
.fb-tools{position:absolute;top:8px;right:18px;display:flex;gap:2px;opacity:0;transition:opacity .12s}
.fb-msg:hover .fb-tools,.fb-msg:focus-within .fb-tools{opacity:1}
@media(hover:none){.fb-tools{opacity:1}}
.fb-tools .icon-button{width:28px;height:28px;min-height:28px;background:#fff;border:1px solid var(--line)}
.feedback-msg-edit{display:block;width:100%;margin-top:6px;padding:9px 11px;border:1px solid #cdd8ea;border-radius:10px;background:#fff;color:var(--text);font-family:inherit;font-weight:400;font-size:14px;line-height:1.5;resize:vertical}
.feedback-msg-actions,.feedback-msg-confirm{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px;flex-wrap:wrap}
.feedback-msg-confirm span{margin-right:auto;color:#c43349;font-size:13px;font-weight:700}
.modal-foot.feedback-thread-foot{display:block;padding:14px 24px 18px;border-top:0;background:transparent}
.fb-composer{border:1px solid #cdd8ea;border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}
.fb-composer:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.14)}
.fb-composer textarea{display:block;width:100%;min-height:58px;max-height:200px;padding:12px 14px 4px;border:0;outline:0;background:transparent;color:var(--text);font-family:inherit;font-weight:400;font-size:14px;line-height:1.5;resize:none;box-shadow:none}
.fb-composer-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:6px 8px 8px 14px}
.fb-composer-bar small{margin-right:auto;color:var(--muted);font-size:12px}
.fb-composer-bar .button{min-height:36px;padding-block:0}
@media(max-width:760px){.fb-msg{padding-inline:16px}.fb-tools{right:10px}.modal-foot.feedback-thread-foot{padding-inline:16px}}

/* Burbuja de mensajes sin leer en el menú Mejoras */
.nav-link{position:relative}
.nav-link .nav-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;border-radius:999px;background:#dbe7ff;color:#1d4ed8;font-family:inherit;font-weight:750;font-size:10.5px;line-height:1;font-style:normal}
.sidebar-collapsed .nav-link .nav-badge,.app-shell.collapsed .nav-link .nav-badge{position:absolute;top:5px;right:5px;margin:0;min-width:15px;height:15px;padding:0 4px;font-size:9.5px}
.feedback-count.is-unread{background:#dbe7ff;color:#1d4ed8}
@media(max-width:760px){.nav-link .nav-badge{position:absolute;top:4px;right:calc(50% - 24px);margin:0;min-width:15px;height:15px;padding:0 4px;font-size:9.5px}}

.fb-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}

/* Adjuntar imágenes en la conversación */
.fb-composer-preview{padding:10px 12px 0}
.fb-preview-item{position:relative;display:inline-block}
.fb-preview-item img{display:block;max-width:160px;max-height:100px;border:1px solid var(--line);border-radius:10px;object-fit:cover}
.fb-preview-item .icon-button{position:absolute;top:-8px;right:-8px;width:24px;height:24px;min-height:24px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 1px 4px rgba(11,43,91,.18)}
.fb-attach-button{width:34px;height:34px;min-height:34px}

/* Campana de notificaciones: va a la derecha del último botón del encabezado de cada pantalla */
.deko-bell{position:relative;display:grid;place-items:center;flex:none;width:44px;height:44px;margin-left:10px;padding:0;border:1px solid var(--line);border-radius:12px;background:#fff;color:#58677e;cursor:pointer;transition:color .15s,background .15s,border-color .15s}
.deko-bell:hover,.deko-bell[aria-expanded="true"]{color:var(--blue);background:#f5f8ff;border-color:#cfe0ff}
.deko-bell .icon{width:20px;height:20px}
.deko-bell-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--blue);color:#fff;font-family:inherit;font-weight:700;font-size:9px;line-height:16px;font-style:normal;text-align:center;box-shadow:0 0 0 2px #fff}
.deko-bell-badge[hidden]{display:none}
.deko-bell.is-ping .icon{animation:deko-bell-ring .9s ease 1}
@keyframes deko-bell-ring{0%,100%{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(9deg)}60%{transform:rotate(-6deg)}}
@media(prefers-reduced-motion:reduce){.deko-bell.is-ping .icon{animation:none}}
.page-heading:has(> .deko-bell),.quote-top:has(> .deko-bell){align-items:flex-start}
.page-heading:has(> .deko-bell)>div:first-of-type{flex:1;min-width:0}
.deko-bell.is-floating{position:absolute;top:28px;right:clamp(20px,2.4vw,38px);z-index:5;margin:0}
@media(max-width:720px){
  .page-heading:has(> .deko-bell),.quote-top:has(> .deko-bell){padding-right:54px}
  .page-heading>.deko-bell,.quote-top>.deko-bell,.deko-bell.is-floating{position:absolute;top:0;right:0;margin:0;width:42px;height:42px}
  .deko-bell.is-floating{top:12px;right:14px}
}
.deko-notif{position:fixed;z-index:60;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 24px 60px rgba(4,25,58,.22)}
.deko-notif[hidden]{display:none}
.deko-notif-head{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 12px 18px;border-bottom:1px solid var(--line)}
.deko-notif-head h2{margin:0;font-size:16px}
.deko-notif-permission{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px 10px 18px;background:#f3f7ff;border-bottom:1px solid var(--line);color:#3b4d6b;font-size:12.5px;line-height:1.4}
.deko-notif-permission[hidden]{display:none}
.deko-notif-permission .button{min-height:32px;padding:0 14px;flex:none}
.deko-notif-list{overflow-y:auto;min-height:120px}
.deko-notif-item{display:grid;grid-template-columns:36px minmax(0,1fr) 10px;align-items:start;gap:12px;width:100%;padding:12px 16px 12px 18px;border:0;border-bottom:1px solid #eef2f8;background:#fff;text-align:left;cursor:pointer}
.deko-notif-item:hover{background:#f7f9fd}
.deko-notif-item.is-unread{background:#f4f8ff}
.deko-notif-item.is-unread:hover{background:#edf3ff}
.deko-notif-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--blue-soft);color:var(--blue)}
.deko-notif-icon .icon{width:18px;height:18px}
.deko-notif-icon.tone-payment,.deko-notif-icon.tone-feedback_resolved,.deko-notif-icon.tone-quote_status_aprobada{background:var(--green-soft);color:var(--green)}
.deko-notif-icon.tone-quote_status_revision{background:#fff3d6;color:#a96508}
.deko-notif-icon.tone-quote_status_borrador{background:#eceff4;color:#66758d}
.deko-notif-icon.tone-quote_status_anulada,.deko-notif-icon.tone-quote_status_rechazada{background:#ffe8ec;color:#c43349}
.deko-notif-icon.tone-quote_created{background:var(--blue-soft);color:var(--blue)}
.deko-notif-icon.tone-feedback_reply{background:#e9f8f0;color:var(--green)}
.deko-notif-copy{display:grid;gap:2px;min-width:0}
.deko-notif-copy b{color:var(--text);font-size:13.5px;line-height:1.35}
.deko-notif-copy small{color:#4a5b76;font-size:12.5px;line-height:1.4;overflow-wrap:anywhere}
.deko-notif-copy em{color:var(--muted);font-size:11.5px;font-style:normal}
.deko-notif-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--blue)}
.deko-notif-empty{display:grid;gap:4px;margin:0;padding:38px 24px;color:var(--text);text-align:center;font-weight:650}
.deko-notif-empty small{color:var(--muted);font-weight:400}
.deko-notif-foot{padding:10px 14px;border-top:1px solid var(--line);background:#fff}
.deko-notif-foot .button{width:100%;min-height:38px}
.deko-notif-foot .button:disabled{opacity:.5;cursor:default}

/* Mejoras: estado (solo el rol técnico lo pulsa) y aviso de solo lectura */
.feedback-status-toggle{padding:0;border:0;background:transparent;cursor:pointer;border-radius:999px;transition:filter .12s,box-shadow .12s}
.feedback-status-toggle:hover{filter:brightness(.94);box-shadow:0 0 0 3px rgba(37,99,235,.14)}
.fb-readonly-note{margin:0;padding:12px 24px;background:#f7f9fd;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.fb-readonly-note[hidden]{display:none}
.login-card .login-form-panel .field input,.login-card .login-form-panel .field input::placeholder{font-size:12px}

.deko-notif-icon.tone-diag_error{background:#ffe8ec;color:#c43349}

/* Diagnóstico técnico (solo rol desarrollador) */
.diag-summary{margin-bottom:18px}
.diag-tabs{display:flex;gap:6px;margin:0 0 14px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#fff;width:fit-content;max-width:100%;overflow-x:auto}
.diag-tabs button{padding:8px 16px;border:0;border-radius:9px;background:transparent;color:#58677e;font:inherit;font-weight:650;cursor:pointer;white-space:nowrap}
.diag-tabs button:hover{color:var(--blue);background:#f5f8ff}
.diag-tabs button.active{color:var(--blue);background:var(--blue-soft)}
.diag-pane[hidden]{display:none}
.diag-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line)}
.diag-toolbar .search-field{flex:1 1 260px;min-width:200px}
.diag-toolbar select{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font:inherit}
.diag-toolbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.diag-table td,.diag-table th{vertical-align:top}
.diag-row{cursor:pointer}
.diag-row:hover,.diag-row:focus-visible{background:#f7f9fd;outline:none}
.diag-message{max-width:420px;overflow-wrap:anywhere}
.diag-message b{font-weight:650;line-height:1.35}
.diag-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:750;background:#eef1f6;color:#4a5b76}
.diag-pill.is-error{background:#ffe8ec;color:#c43349}
.diag-pill.is-aviso{background:#fff3d6;color:#a96508}
.diag-pill.is-advertencia{background:#fff8e1;color:#8a6d00}
.diag-pill.is-prueba{background:#eceff4;color:#66758d}
.diag-pill.is-origin{background:var(--blue-soft);color:var(--blue)}
.diag-pill.is-state-abierto{background:#ffe8ec;color:#c43349}
.diag-pill.is-state-revisado{background:var(--green-soft);color:var(--green)}
.diag-pill.is-state-reaparecio{background:#fff3d6;color:#a96508}
.diag-muted{color:var(--muted)}
.diag-bad{color:#c43349}
.diag-warn{color:#a96508}
.diag-system,.diag-pane.card:not(.table-card){padding:20px 22px}
.diag-system-head,.diag-log-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.diag-system-head h2,.diag-log-head h2{margin:0 0 4px;font-size:17px}
.diag-system-head p,.diag-log-head p{margin:0;color:var(--muted);font-size:13px}
.diag-group{margin-top:16px}
.diag-group h3,.diag-client h3{margin:0 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.diag-client{margin-top:22px;padding-top:6px;border-top:1px solid var(--line)}
.diag-check{display:grid;grid-template-columns:12px minmax(160px,240px) 1fr;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid #eef2f8;font-size:13.5px}
.diag-check b{font-weight:650}
.diag-check span:last-child{color:#4a5b76;overflow-wrap:anywhere}
.diag-dot{width:10px;height:10px;border-radius:50%;background:var(--green)}
.diag-check.is-warn .diag-dot{background:#e0a020}
.diag-check.is-error .diag-dot{background:#d23a52}
.diag-check.is-error b{color:#c43349}
.diag-log{margin:0;padding:14px 16px;max-height:60vh;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#0f1b30;color:#dbe6f7;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.diag-log-search input{min-width:160px}
.diag-detail{width:min(860px,95vw);max-height:92vh}
.diag-detail .modal-form{display:flex;flex-direction:column;max-height:92vh}
.modal-body.diag-detail-body{display:block;overflow-y:auto;padding:18px 24px}
.diag-detail-message{margin:0 0 14px;color:var(--text)!important;font-size:16px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.diag-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin:0 0 6px}
.diag-facts div{min-width:0}
.diag-facts dt{color:var(--muted);font-size:11.5px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.diag-facts dd{margin:2px 0 0;font-size:13.5px;overflow-wrap:anywhere}
.diag-detail-body h3{margin:18px 0 8px;font-size:13px}
.diag-pre{margin:0;padding:12px 14px;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#f6f8fc;color:#233350;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.diag-activity{margin:0;padding:0;list-style:none;font-size:13px}
.diag-activity li{padding:6px 0;border-bottom:1px solid #eef2f8}
.diag-activity time{margin-right:8px;color:var(--muted);font-size:12px}
.diag-note{margin-top:16px}
.diag-note textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;resize:vertical}
.diag-detail-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.diag-spacer{flex:1}
.diag-purge-foot{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.diag-facts{grid-template-columns:1fr}.diag-check{grid-template-columns:12px 1fr}.diag-check span:last-child{grid-column:2}.diag-toolbar-actions{margin-left:0}}
/* Diagnóstico: ajustes de disposición */
.diag-toolbar select{width:auto;min-width:150px;flex:0 0 auto}
.diag-toolbar .search-field{flex:1 1 280px;width:auto}
.diag-toolbar-actions{flex:0 0 auto}
.diag-pill{white-space:nowrap}
.diag-table{min-width:900px}
.diag-table .table-subcopy{white-space:nowrap}
.diag-table .diag-message .table-subcopy{white-space:normal}
.modal-body .diag-detail-message{margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.diag-log-search{flex:0 1 220px}
/* Nueva / Editar cotización: los botones van en la misma fila que la campana; el estado y "Cambios guardados" quedan DEBAJO de los botones */
.quote-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px 9px}
.quote-actions::after{content:"";order:1;flex:0 0 100%;height:0}
.quote-actions>.button{order:0;margin:0;grid-row:auto}
.quote-actions>.autosave-status,.quote-actions>.pill{order:2;grid-row:auto;grid-column:auto;justify-self:auto;margin:0}
.quote-actions>.autosave-status{align-self:center}
.quote-top:has(>.deko-bell){align-items:flex-start}
.quote-top>.deko-bell:not(.is-floating){align-self:flex-start;margin-top:-1px}
@media(max-width:760px){.quote-actions{width:100%;justify-content:flex-end}.quote-actions>.button{flex:1 1 0;width:auto;min-width:0}.quote-top>.deko-bell:not(.is-floating){margin-top:0}}
/* Paso 3: Impuesto, Descuento y Otros en la misma fila; debajo, los dos de días hábiles mitad y mitad */
.quote-workspace .stage[data-stage="3"]>.form-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.quote-workspace .stage[data-stage="3"]>.form-grid>.field{grid-column:span 2}
.quote-workspace .stage[data-stage="3"]>.form-grid>.field:nth-child(n+4){grid-column:span 3}
/* Paso 4: [Subtotal | Descuento | Valor con descuento] y debajo [Impuesto | Otros] mitad y mitad */
.review-dashboard .review-value-grid:has(>.review-extra){grid-template-columns:repeat(6,minmax(0,1fr))}
.review-dashboard .review-value-grid:has(>.review-extra)>div{grid-column:span 2}
.review-dashboard .review-value-grid:has(>.review-extra)>.review-tax,.review-dashboard .review-value-grid:has(>.review-extra)>.review-extra{grid-column:span 3}
@media(max-width:760px){
  .quote-workspace .stage[data-stage="3"]>.form-grid{grid-template-columns:1fr}
  .quote-workspace .stage[data-stage="3"]>.form-grid>.field,.quote-workspace .stage[data-stage="3"]>.form-grid>.field:nth-child(n+4){grid-column:auto}
  .review-dashboard .review-value-grid:has(>.review-extra){grid-template-columns:1fr 1fr}
  .review-dashboard .review-value-grid:has(>.review-extra)>div{grid-column:auto}
  .review-dashboard .review-value-grid:has(>.review-extra)>.review-tax,.review-dashboard .review-value-grid:has(>.review-extra)>.review-extra{grid-column:auto}
  .review-dashboard .review-value-grid:has(>.review-extra)>div:nth-child(3){grid-column:1/-1}
}
/* Nombre del item/instalacion: texto secundario cuando la descripcion aporta algo distinto */
.item-summary-description,.item-detail-description,.installation-description{margin:2px 0 0;color:#5c708b;font-size:12px;line-height:1.4}
.item-summary-description{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow-wrap:anywhere}
.item-detail-description{white-space:pre-wrap;overflow-wrap:anywhere}
.item-workbench-modal .item-base-grid .item-description textarea{min-height:132px;resize:vertical;line-height:1.45;white-space:pre-wrap}
/* Contratistas: tarjetas de dinero (mismo tamaño que las demas paginas), separacion entre secciones y el popup "Vincular a proyecto" */
[data-view-panel="contratistas"] .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}
[data-view-panel="contratistas"]>.table-card{margin-bottom:18px}
.contractor-link-modal{width:min(720px,calc(100vw - 32px));max-height:86vh;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:17px;box-shadow:0 26px 80px rgba(10,29,61,.25);background:var(--surface)}
.contractor-link-modal:backdrop{background:rgba(8,27,59,.45);backdrop-filter:blur(3px)}
.contractor-link-modal .modal-form{display:grid;grid-template-rows:auto 1fr;max-height:86vh;min-height:0}
.contractor-link-modal .modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 26px;border-bottom:1px solid var(--line);background:var(--surface)}
.contractor-link-modal .modal-head h2{font-size:18px}
.contractor-link-modal .modal-head p{margin:4px 0 0;color:var(--muted);font-size:13px}
.contractor-link-modal .modal-body{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:16px;padding:22px 26px;overflow-y:auto;overflow-x:hidden;min-height:0}
.contractor-link-list{display:grid;gap:10px}
.contractor-link-list .picker-row{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:15px 18px;border:1px solid var(--line);border-radius:13px;background:var(--surface);text-align:left}
.contractor-link-list .picker-row>span:first-child{display:grid;gap:3px;min-width:0}
.contractor-link-list .picker-row b{color:var(--navy);font-size:14px}
.contractor-link-list .picker-row small{color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contractor-link-list .picker-row em{flex:0 0 auto;font-style:normal;font-weight:800;font-size:15px;color:var(--blue);white-space:nowrap}
.contractor-link-list .picker-row:hover{border-color:var(--blue);background:var(--blue-soft)}
.contractor-link-items{display:grid;gap:10px}
.contractor-link-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border:1px solid var(--line);border-radius:13px}
.contractor-link-item>div{min-width:0}
.contractor-link-item b{display:block;color:var(--text);font-size:14px}
.contractor-link-item small{display:block;margin-top:4px;color:var(--muted);font-size:12.5px;line-height:1.45}
.contractor-link-item .button{flex:0 0 auto;white-space:nowrap}
@media(max-width:640px){.contractor-link-list .picker-row,.contractor-link-item{flex-direction:column;align-items:stretch;gap:10px}.contractor-link-list .picker-row em{align-self:flex-start}.contractor-link-item .button{width:100%}}
.contractor-link-search{margin-bottom:2px}
/* Pill clicable (cambiar estado directo desde la tabla, sin boton aparte) */
.pill-toggle{border:0;font:inherit;cursor:pointer;transition:filter .15s ease}
.pill-toggle:hover{filter:brightness(.94)}
/* Popup "Fijar comision" (comision variable por proyecto) */
.commission-edit-cost,.commission-edit-preview{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-radius:12px;background:#f6f9ff}
.commission-edit-cost span,.commission-edit-preview span{color:var(--muted);font-size:13px}
.commission-edit-cost b{font-size:16px}
.commission-edit-preview{background:var(--green-soft)}
.commission-edit-preview b{font-size:18px;color:var(--green)}
.commission-card{margin-top:16px}
.commission-card .table-wrap{margin-top:16px}
/* Contratistas: el color de las 2 tarjetas es por SIGNIFICADO (pendiente=ambar,
   pagado=verde, igual que las pastillas de la tabla), no por posicion como en
   Inicio/Metricas — ahi "Pendiente" quedaba en la posicion 1 (verde) sin sentido. */
[data-view-panel="contratistas"] .metric-grid .metric.metric-pending{border-top-color:#c78418;background:linear-gradient(145deg,#fff,#fff8ed)}
[data-view-panel="contratistas"] .metric-grid .metric.metric-success{border-top-color:#177b5c;background:linear-gradient(145deg,#fff,#f0fbf6)}
/* Ventas al detal: registro directo, aislado del embudo de cotizaciones. */
[data-view-panel="ventas-detalle"] .retail-heading{align-items:flex-end;gap:20px}
.retail-period{min-width:160px}
.retail-status-filter{min-width:150px}
.retail-metrics .metric{min-width:0}
.retail-metrics .metric-success strong{color:var(--green,#16785a)}
.retail-metrics .metric-pending strong{color:var(--amber,#a56a00)}
.retail-sales-card{overflow:hidden}
.retail-sales-card .table-card-head{align-items:center}
.retail-card-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.retail-card-title h2{margin:0}
.retail-card-title .pill{flex:0 0 auto;white-space:nowrap}
.retail-table{min-width:940px}
.retail-table td{vertical-align:middle}
.retail-table td:first-child small,.retail-table td.retail-products-cell small,.retail-detail-table td small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.retail-products-cell{line-height:1.55;max-width:270px}
.retail-empty{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;color:var(--muted)}
.retail-empty[hidden]{display:none}
.retail-empty-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--blue-soft,#edf3ff);color:var(--blue,#2866db);margin-bottom:14px}
.retail-empty-icon .icon{width:22px;height:22px}
.retail-empty>b{color:var(--ink);font-size:16px}
.retail-empty>p{margin:7px 0 17px}
.retail-dialog{display:flex;flex-direction:column;width:min(900px,calc(100vw - 28px));max-width:none;max-height:min(92vh,920px);padding:0;border:1px solid var(--line);border-radius:22px;color:var(--ink);box-shadow:0 28px 90px #10234435;overflow:hidden}
.retail-dialog:not([open]){display:none}
.retail-dialog::backdrop{background:#14233e73;backdrop-filter:blur(3px)}
.retail-dialog .modal-form{display:flex;flex:1;flex-direction:column;min-height:0}
.retail-dialog .modal-head{padding:22px 26px 16px;border-bottom:1px solid var(--line)}
.retail-dialog .modal-head .eyebrow{margin:0 0 3px}
.retail-dialog .modal-head h2{margin:0;font-size:22px}
.retail-dialog .modal-body{display:block;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:22px 26px}
.retail-dialog .modal-foot{flex:0 0 auto;padding:16px 26px 22px;border-top:1px solid var(--line)}
.retail-form-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:14px}
.retail-note-field{grid-column:1/-1}
.retail-form .field small{font-weight:400;color:var(--muted)}
.retail-lines-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:25px 0 12px}
.retail-lines-heading h3{margin:0;font-size:16px}
.retail-lines-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}
.retail-add-line{white-space:nowrap}
.retail-line-list{display:grid;gap:10px}
.retail-line-row{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(95px,.7fr) minmax(120px,1fr) minmax(95px,.8fr) 34px;align-items:start;gap:14px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#f9fbfe}
.retail-line-row .field{min-width:0}
.retail-line-row .field>span,.retail-line-label{display:block;min-height:18px;margin:0 0 7px;color:var(--muted);font-size:11px;font-weight:700;line-height:18px;text-transform:none}
.retail-dialog .retail-line-row .retail-quantity-field>span{width:auto;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:11px;letter-spacing:normal;text-transform:none}
.retail-line-row .field input,.retail-line-row .field select{min-width:0}
.retail-line-product,.retail-selected-product,.retail-line-unit,.retail-line-sum{min-width:0}
.retail-line-sum{padding-top:0}
.retail-line-unit>b,.retail-line-sum>b{display:block;margin-top:6px;overflow-wrap:anywhere;font-size:13px}
.retail-line-unit{color:var(--muted)}
.retail-line-sum>b{color:var(--ink)}
.retail-remove-line{align-self:end;margin-bottom:5px}
.retail-total-panel{display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding:16px 18px;border-radius:15px;background:#eef4ff;color:#31517f}
.retail-total-panel strong{font-size:23px;color:#1d4fae}
.retail-line-row.is-invalid{border-color:#e5a0a0;background:#fff8f8}
.retail-detail-dialog{width:min(780px,calc(100vw - 28px));padding:24px}
.retail-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.retail-detail-head .eyebrow{margin:0 0 4px}
.retail-detail-head h2{margin:0;font-size:23px}
.retail-detail-head p{margin:5px 0 0;color:var(--muted);font-size:13px}
.retail-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;padding:14px;border-radius:14px;background:#f5f8fc}
.retail-detail-meta span small,.retail-detail-meta span b{display:block}
.retail-detail-meta span small{color:var(--muted);font-size:11px;margin-bottom:5px}
.retail-detail-table{min-width:560px}
.retail-detail-total{display:flex;justify-content:space-between;align-items:center;padding:17px 2px;font-size:15px}
.retail-detail-total b{font-size:22px}
.retail-detail-note{padding:12px 14px;background:#f7f9fc;border-radius:12px;font-size:13px}
.retail-detail-dialog .modal-foot{padding:14px 0 0}
@media(max-width:900px){.retail-line-row{grid-template-columns:minmax(200px,2fr) minmax(90px,.7fr) minmax(145px,1.2fr);align-items:end}.retail-line-unit,.retail-line-sum{padding:4px 0 2px 4px}.retail-line-sum{grid-column:2}.retail-remove-line{grid-column:3;justify-self:end;grid-row:2}}
@media(max-width:700px){[data-view-panel="ventas-detalle"] .retail-heading{align-items:flex-start}.retail-heading .page-heading-actions{width:100%;display:grid;grid-template-columns:1fr auto}.retail-period{min-width:0}.retail-period>span{display:none}.retail-period select{height:44px}.retail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.retail-status-filter{min-width:110px}.retail-dialog .modal-head,.retail-dialog .modal-body,.retail-dialog .modal-foot{padding-left:17px;padding-right:17px}.retail-form-grid{grid-template-columns:1fr 1fr}.retail-note-field{grid-column:1/-1}.retail-line-row{grid-template-columns:1fr 1fr;gap:10px}.retail-line-product{grid-column:1/-1}.retail-price-type-field{grid-column:1/-1}.retail-line-unit,.retail-line-sum{padding:4px 0}.retail-line-sum{grid-column:2}.retail-remove-line{grid-column:2;grid-row:4}.retail-lines-heading{align-items:flex-start}.retail-lines-heading p{max-width:250px}.retail-add-line{padding-inline:10px}.retail-detail-dialog{padding:18px}.retail-detail-meta{grid-template-columns:1fr 1fr}}

/* Ajustes del flujo de venta directa: filtro de período compartido, lectura
   compacta de productos y modales de selección/edición más operativos. */
[data-view-panel="ventas-detalle"] .retail-metrics{margin-top:24px}
[data-view-panel="ventas-detalle"] .retail-toolbar{margin-top:20px}
[data-view-panel="ventas-detalle"] .retail-sales-card{margin-top:20px}
.retail-period{min-width:190px}
.retail-product-summary{display:grid;gap:2px;max-width:210px;font-size:12px;line-height:1.4}
.retail-product-summary-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.retail-product-summary-line small{display:inline!important;font-size:11px!important;white-space:nowrap}
.retail-product-more{font-size:11px!important;color:var(--muted);white-space:nowrap}
.retail-table td:first-child>b,.retail-table td:nth-child(2),.retail-money-cell{white-space:nowrap}
.retail-state-trigger{display:inline-flex;align-items:center;gap:5px;border:0;appearance:none;cursor:pointer}
.retail-state-trigger .icon{width:12px;height:12px}
@media(min-width:761px) and (max-width:820px){
  [data-view-panel="ventas-detalle"] .table-wrap{overflow-x:auto!important}
  [data-view-panel="ventas-detalle"] .retail-table{width:max-content!important;min-width:1020px!important;table-layout:auto!important}
  [data-view-panel="ventas-detalle"] .retail-table th:nth-child(7),
  [data-view-panel="ventas-detalle"] .retail-table td:nth-child(7){min-width:108px!important;white-space:nowrap!important}
}
.retail-status-menu{position:fixed;z-index:1500;width:194px;padding:7px;border:1px solid var(--line,#dce4ef);border-radius:13px;background:#fff;box-shadow:0 16px 40px #15274627}
.retail-status-menu>small{display:block;padding:7px 10px;color:var(--muted);font-size:11px;font-weight:700}
.retail-status-menu>button{width:100%;display:flex;align-items:center;gap:9px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer}
.retail-status-menu>button:hover,.retail-status-menu>button:focus-visible{background:#f2f6fc;outline:none}
.retail-status-menu .status-dot{width:8px;height:8px;border-radius:50%;background:#8795a8}
.retail-status-menu .status-dot.success{background:#16845f}.retail-status-menu .status-dot.review{background:#c48517}
.retail-dialog .retail-line-row{grid-template-columns:minmax(0,2.5fr) minmax(95px,.7fr) minmax(120px,1fr) minmax(95px,.8fr) 34px;align-items:start}
.retail-product-choice{width:100%;min-width:0;min-height:52px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}
.retail-product-choice:hover{border-color:#9cb9ee;background:#fbfdff}
.retail-product-choice-icon,.retail-picker-product-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;background:#eef4ff;color:var(--blue,#2866db)}
.retail-product-choice-icon .icon,.retail-picker-product-icon .icon{width:17px;height:17px}
.retail-product-choice-copy{min-width:0;display:grid;gap:3px;flex:1}
.retail-product-choice-copy>b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-size:13px;line-height:1.35}
.retail-product-choice-copy>small{overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:11px;white-space:nowrap}
.retail-product-choice-action{flex:0 0 auto;color:var(--blue,#2866db);font-size:11px;font-weight:750}
.retail-price-basis{min-width:0;color:var(--muted)}
.retail-price-basis>b,.retail-price-basis>span:not(.retail-line-label){display:block;overflow-wrap:anywhere}
.retail-price-basis>b{color:var(--ink);font-size:13px}
.retail-price-basis>span:not(.retail-line-label){margin-top:3px;font-size:12px}
.retail-picker-dialog{width:min(640px,calc(100vw - 28px))}
.retail-picker-dialog .modal-body{padding-top:15px}
.retail-picker-copy{margin:0 0 14px;color:var(--muted);font-size:13px}
.retail-picker-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:13px}
.retail-picker-toolbar .search-field{min-width:0}
.retail-picker-toolbar .price-basis-switch{margin:0}
.retail-picker-results{display:grid;gap:7px;max-height:min(48vh,430px);overflow:auto;padding:1px 3px 1px 1px}
.retail-picker-product{width:100%;display:flex;align-items:center;gap:11px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}
.retail-picker-product:hover,.retail-picker-product:focus-visible{border-color:#91b1ee;background:#f8faff;outline:none}
.retail-picker-product-name{min-width:0;display:grid;gap:4px;flex:1}
.retail-picker-product-name>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.retail-picker-product-name>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}
.retail-picker-product-price{display:grid;justify-items:end;gap:4px;white-space:nowrap}
.retail-picker-product-price>small{color:var(--muted);font-size:10px}
.retail-picker-product-price>b{font-size:13px}
.retail-picker-empty{display:grid;min-height:150px;place-items:center;padding:24px;text-align:center;color:var(--muted)}
.retail-picker-pagination{margin-top:10px}
.retail-detail-dialog .modal-foot{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}
.retail-detail-dialog .modal-foot .button{white-space:nowrap}
.retail-client-control{display:flex;align-items:center;gap:7px;min-width:0}
.retail-client-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:1;min-width:0;min-height:42px;padding:9px 11px;border:1px solid #c7d6eb;border-radius:9px;color:var(--ink);background:#fff;text-align:left;font:inherit;cursor:pointer}
.retail-client-trigger:hover,.retail-client-trigger:focus-visible{border-color:#91b1ee;background:#fbfdff}
.retail-client-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.retail-client-trigger>span:first-child:only-child{color:var(--muted)}
.retail-client-action{flex:0 0 auto;color:var(--blue,#2866db);font-size:11px;font-weight:750}
.retail-client-clear{flex:0 0 38px;width:38px;height:38px}
.retail-client-picker{width:min(760px,calc(100vw - 28px))}
.retail-client-picker .modal-body{display:grid;gap:14px;padding:20px}
.retail-client-picker .picker-search,.retail-client-picker .client-picker-list{grid-column:1/-1}
.retail-client-picker .client-picker-list{display:grid;gap:9px}
.retail-client-picker .client-picker-list>button{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;min-height:70px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:#fff;text-align:left;cursor:pointer}
.retail-client-picker .client-picker-list>button:hover,.retail-client-picker .client-picker-list>button:focus-visible{border-color:#a9c4f7;background:#f5f9ff;outline:none}
.retail-client-picker .client-picker-list b,.retail-client-picker .client-picker-list small{display:block}
.retail-client-picker .client-picker-list small{margin-top:3px;color:var(--muted);overflow-wrap:anywhere}
.retail-client-picker .client-picker-list em{color:var(--muted);font-size:12px;font-style:normal;white-space:nowrap}
.retail-client-picker .modal-foot{padding:13px 20px}
@media(max-width:760px){.retail-dialog .retail-line-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.retail-line-product{grid-column:1/-1}.retail-price-basis{grid-column:2;padding:0}.retail-line-sum{grid-column:1;padding:0}.retail-remove-line{grid-column:2;grid-row:3;justify-self:end}.retail-product-choice{min-height:48px}}
@media(max-width:700px){[data-view-panel="ventas-detalle"] .retail-heading{gap:14px}.retail-period{min-width:0}.retail-heading .page-heading-actions{grid-template-columns:minmax(0,1fr) auto;align-items:end}.retail-metrics{margin-top:18px}.retail-toolbar,.retail-sales-card{margin-top:14px}.retail-picker-toolbar{grid-template-columns:1fr}.retail-picker-toolbar .price-basis-switch{justify-self:start}.retail-picker-results{max-height:42vh}.retail-picker-product{gap:8px;padding:8px}.retail-picker-product-icon{width:30px;height:30px}.retail-picker-product-price>b{font-size:12px}.retail-detail-dialog .modal-foot{justify-content:stretch}.retail-detail-dialog .modal-foot .button{flex:1}.retail-client-picker .client-picker-list>button{grid-template-columns:40px minmax(0,1fr);gap:7px 11px}.retail-client-picker .client-picker-list em{grid-column:2}}

/* Navegación en portátil: mantiene densidad compacta y deja desplazarse por
   la barra completa si el perfil tiene más opciones que alto disponible. */
@media(min-width:721px){.sidebar{height:100vh;height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bdc9da transparent}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{border-radius:8px;background:#bdc9da}.sidebar>.brand,.sidebar>.nav-list,.sidebar>.sidebar-bottom{flex-shrink:0}}

/* Keep the collapse handle above the sidebar edge and outside its scroll clipping. */
@media(min-width:761px){.sidebar-bottom .sidebar-toggle{position:fixed;left:calc(var(--sidebar) - 16px);right:auto;bottom:158px;z-index:9999;margin:0;box-shadow:0 6px 18px rgba(17,48,91,.18)}body.sidebar-collapsed .sidebar-bottom .sidebar-toggle{left:calc(var(--sidebar) - 16px);right:auto}}

/* En portátil, reparte de forma explícita las columnas de Instalaciones para
   reservar ancho real a las cuatro acciones del superadmin sin ensanchar la
   página ni ocultar el último botón. El rol técnico suma la columna Creada. */
@media(min-width:821px) and (max-width:1366px){
  [data-view-panel="instalaciones"] .table-wrap table{width:100%!important;min-width:0!important;table-layout:fixed}
  [data-view-panel="instalaciones"] .table-wrap table:not(:has(thead th:nth-child(7))) th:nth-child(1),[data-view-panel="instalaciones"] .table-wrap table:not(:has(thead th:nth-child(7))) td:nth-child(1){width:28%}
  [data-view-panel="instalaciones"] .table-wrap table:not(:has(thead th:nth-child(7))) th:nth-child(2),[data-view-panel="instalaciones"] .table-wrap table:not(:has(thead th:nth-child(7))) td:nth-child(2){width:20%}
  [data-view-panel="instalaciones"] .table-wrap table:not(:has(thead th:nth-child(7))) th:nth-child(3),[data-view-panel="instalaciones"] .table-wrap table:not(:has(thead th:nth-child(7))) td:nth-child(3){width:9%}
  [data-view-panel="instalaciones"] .table-wrap table:not(:has(thead th:nth-child(7))) th:nth-child(4),[data-view-panel="instalaciones"] .table-wrap table:not(:has(thead th:nth-child(7))) td:nth-child(4){width:14%}
  [data-view-panel="instalaciones"] .table-wrap table:not(:has(thead th:nth-child(7))) th:nth-child(5),[data-view-panel="instalaciones"] .table-wrap table:not(:has(thead th:nth-child(7))) td:nth-child(5){width:14%}
  [data-view-panel="instalaciones"] .table-wrap table:not(:has(thead th:nth-child(7))) th:last-child,[data-view-panel="instalaciones"] .table-wrap table:not(:has(thead th:nth-child(7))) td:last-child{width:15%!important;min-width:128px!important}
  [data-view-panel="instalaciones"] .table-wrap table:has(thead th:nth-child(7)) th:nth-child(1),[data-view-panel="instalaciones"] .table-wrap table:has(thead th:nth-child(7)) td:nth-child(1){width:24%}
  [data-view-panel="instalaciones"] .table-wrap table:has(thead th:nth-child(7)) th:nth-child(2),[data-view-panel="instalaciones"] .table-wrap table:has(thead th:nth-child(7)) td:nth-child(2){width:17%}
  [data-view-panel="instalaciones"] .table-wrap table:has(thead th:nth-child(7)) th:nth-child(3),[data-view-panel="instalaciones"] .table-wrap table:has(thead th:nth-child(7)) td:nth-child(3){width:8%}
  [data-view-panel="instalaciones"] .table-wrap table:has(thead th:nth-child(7)) th:nth-child(4),[data-view-panel="instalaciones"] .table-wrap table:has(thead th:nth-child(7)) td:nth-child(4){width:12%}
  [data-view-panel="instalaciones"] .table-wrap table:has(thead th:nth-child(7)) th:nth-child(5),[data-view-panel="instalaciones"] .table-wrap table:has(thead th:nth-child(7)) td:nth-child(5){width:12%}
  [data-view-panel="instalaciones"] .table-wrap table:has(thead th:nth-child(7)) th:nth-child(6),[data-view-panel="instalaciones"] .table-wrap table:has(thead th:nth-child(7)) td:nth-child(6){width:11%}
  [data-view-panel="instalaciones"] .table-wrap table:has(thead th:nth-child(7)) th:last-child,[data-view-panel="instalaciones"] .table-wrap table:has(thead th:nth-child(7)) td:last-child{width:16%!important;min-width:128px!important}
}

/* Campos semánticos: igual distribución en creación y edición, con o sin contratista. */
@media(min-width:821px){
  .item-workbench-modal .item-base-grid .field{grid-column:span 1;min-width:0}
  .item-workbench-modal .item-base-grid .item-name,
  .item-workbench-modal .item-base-grid .item-description,
  .item-workbench-modal .item-base-grid .item-location,
  .item-workbench-modal .item-base-grid .item-contractor{grid-column:span 2}
  .item-workbench-modal .item-base-grid:not(:has(.item-contractor)) .item-location{grid-column:1/-1}
}
.item-products-table [data-item-line-field]{box-sizing:border-box;width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit}
.item-products-table .item-line-quantity{min-width:82px;max-width:110px}
.item-products-table .item-line-price{min-width:130px;max-width:170px}
.item-products-table [data-item-line-field]:focus{outline:2px solid var(--blue);outline-offset:1px}
.item-products-table [data-item-line-field]:user-invalid{border-color:#c92a42}
.metrics-date-notice{margin:0 0 20px;padding:12px 16px;border:1px solid #ead9b1;border-radius:10px;background:#fffaf0;color:#75591c;font-size:12px;line-height:1.5}

/* Final responsive guardrails: table scrolling is contained to the table card;
   action/state columns retain their intrinsic control width on compact tablets. */
@media(max-width:820px){html,body{overflow-x:clip}.column-resizer{right:0}}
@media(min-width:721px) and (max-width:820px){
  [data-view-panel="cotizaciones"] .table-wrap table,
  [data-view-panel="clientes"] .table-wrap table,
  [data-view-panel="productos"] .table-wrap table,
  [data-view-panel="usuarios"] .table-wrap table,
  [data-view-panel="instalaciones"] .table-wrap table{width:max-content!important;min-width:760px!important;max-width:none!important;table-layout:auto!important}
  [data-view-panel="cotizaciones"] .table-wrap th:last-child,[data-view-panel="cotizaciones"] .table-wrap td:last-child,
  [data-view-panel="clientes"] .table-wrap th:last-child,[data-view-panel="clientes"] .table-wrap td:last-child,
  [data-view-panel="productos"] .table-wrap th:last-child,[data-view-panel="productos"] .table-wrap td:last-child,
  [data-view-panel="instalaciones"] .table-wrap th:last-child,[data-view-panel="instalaciones"] .table-wrap td:last-child,
  [data-view-panel="usuarios"] .table-wrap th:last-child,[data-view-panel="usuarios"] .table-wrap td:last-child{width:max-content!important;min-width:max-content!important}
  [data-view-panel="usuarios"] .table-wrap td:has(.user-status-trigger){min-width:96px!important}
  [data-view-panel] .table-wrap .action-group{min-width:max-content}
}

/* Cotizaciones en Inicio y en su listado usan la misma grilla de 9 columnas.
   Los anchos se fijan por contenido; en portátil se desplaza solo la tabla,
   sin comprimir estado/acciones ni ampliar el documento. */
@media(min-width:761px){
  .recent-quotes-card .table-wrap,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap{
    width:100%;max-width:100%;min-width:0;overflow-x:auto!important;overflow-y:hidden;
    overscroll-behavior-x:contain;scrollbar-gutter:stable
  }
  .recent-quotes-card .table-wrap table.quote-grid-table,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table{
    display:table!important;width:max(100%,1400px)!important;min-width:1400px!important;
    max-width:none!important;table-layout:fixed!important
  }
  .quote-grid-scroll-hint{display:flex;justify-content:flex-end;align-items:center;min-height:34px;margin:0;padding:7px 13px;border-top:1px solid #e4eaf3;color:#63758f;background:#f9fbfe;font-size:13px;line-height:1.35}
  .quote-grid-scroll-hint[hidden]{display:none!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(1){width:8.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(2){width:10.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(3){width:22%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(4){width:9.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(5){width:9%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(6){width:9%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(7){width:9.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(8){width:9%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(9){width:13%!important}
  .recent-quotes-card .table-wrap table.quote-grid-table thead,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table thead{display:table-header-group!important}
  .recent-quotes-card .table-wrap table.quote-grid-table tbody,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table tbody{display:table-row-group!important}
  .recent-quotes-card .table-wrap table.quote-grid-table tbody tr:not([hidden]),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table tbody tr:not([hidden]){display:table-row!important;padding:0;border-top:0}
  .recent-quotes-card .table-wrap table.quote-grid-table th,
  .recent-quotes-card .table-wrap table.quote-grid-table td,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table th,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td{box-sizing:border-box;vertical-align:middle}
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(1),
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(4),
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(5),
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(6),
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(8),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(1),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(4),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(5),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(6),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(8){white-space:nowrap}
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(2),
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(3),
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(7),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(2),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(3),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(7){overflow-wrap:anywhere;word-break:normal}
  .recent-quotes-card .table-wrap table.quote-grid-table th:last-child,
  .recent-quotes-card .table-wrap table.quote-grid-table td:last-child,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table th:last-child,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:last-child{width:13%!important;min-width:182px!important;padding-right:8px!important;padding-left:8px!important;white-space:nowrap!important}
  .quote-grid-table .action-group{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start;gap:2px;min-width:max-content;white-space:nowrap}
  .quote-grid-table .quote-status-trigger{display:inline-flex;max-width:none!important;min-width:106px!important;justify-content:center;white-space:nowrap}
  .quote-grid-table .column-resizer{display:none!important}
}

/* En portátiles estrechos, Productos y Usuarios conservan sus estados y
   acciones en una grilla desplazable; no se comprimen hasta cortar botones. */
@media(min-width:821px) and (max-width:1100px){
  body.backend-ready [data-view-panel="productos"] .table-wrap,
  body.backend-ready [data-view-panel="usuarios"] .table-wrap,
  body.backend-ready [data-view-panel="instalaciones"] .table-wrap{overflow-x:auto!important;overscroll-behavior-x:contain}
  body.backend-ready [data-view-panel="productos"] .table-wrap table,
  body.backend-ready [data-view-panel="usuarios"] .table-wrap table{width:max(100%,1000px)!important;min-width:1000px!important;max-width:none!important;table-layout:fixed!important}
  body.backend-ready [data-view-panel="instalaciones"] .table-wrap table{width:100%!important;min-width:100%!important;max-width:none!important;table-layout:auto!important}
  body.backend-ready [data-view-panel="productos"] .table-wrap td:has(.product-status-trigger),
  body.backend-ready [data-view-panel="usuarios"] .table-wrap td:has(.user-status-trigger){min-width:104px!important;white-space:nowrap!important}
  body.backend-ready [data-view-panel="productos"] .table-wrap .product-status-trigger,
  body.backend-ready [data-view-panel="usuarios"] .table-wrap .user-status-trigger{max-width:none!important;min-width:max-content!important;white-space:nowrap!important}
  body.backend-ready [data-view-panel="instalaciones"] .table-wrap td:has(.action-group){width:140px!important;min-width:140px!important;white-space:nowrap!important}
}

/* Las cuatro acciones de Instalaciones necesitan ancho real incluso cuando
   el resto de la fila tiene textos cortos. */
@media(min-width:821px){
  body.backend-ready [data-view-panel="instalaciones"] .table-wrap th:last-child,
  body.backend-ready [data-view-panel="instalaciones"] .table-wrap td:has(.action-group){width:140px!important;min-width:140px!important;white-space:nowrap!important}
  body.backend-ready [data-view-panel="instalaciones"] .table-wrap td:last-child .action-group{min-width:max-content!important;flex-wrap:nowrap!important;gap:3px}
}

/* Cotizaciones: grilla única y adaptativa para Inicio/listado, sin scroll
   horizontal en portátil. La burbuja conserva el botón y el menú accesible. */
.table-wrap{box-sizing:border-box;padding-inline:clamp(8px,.75vw,12px)}
@media(min-width:761px){
  .recent-quotes-card .table-wrap,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap{
    width:100%!important;min-width:0!important;max-width:100%!important;
    overflow-x:hidden!important;overflow-y:hidden;scrollbar-gutter:auto;overscroll-behavior-x:auto
  }
  .recent-quotes-card .table-wrap table.quote-grid-table,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table{
    display:table!important;width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important
  }
  .quote-grid-scroll-hint{display:none!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col{width:auto!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(1){width:7.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(2){width:12.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(3){width:20%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(4){width:9.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(5){width:9%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(6){width:9%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(7){width:9%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(8){width:5.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(9){width:18%!important}
  .recent-quotes-card .table-wrap table.quote-grid-table thead,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table thead{display:table-header-group!important}
  .recent-quotes-card .table-wrap table.quote-grid-table tbody,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table tbody{display:table-row-group!important}
  .recent-quotes-card .table-wrap table.quote-grid-table tbody tr:not([hidden]),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table tbody tr:not([hidden]){display:table-row!important;padding:0;border-top:0}
  .recent-quotes-card .table-wrap table.quote-grid-table th,
  .recent-quotes-card .table-wrap table.quote-grid-table td,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table th,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td{box-sizing:border-box;min-width:0!important;vertical-align:middle}
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(1),
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(4),
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(5),
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(6),
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(8),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(1),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(4),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(5),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(6),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(8){white-space:nowrap}
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(2),
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(3),
  .recent-quotes-card .table-wrap table.quote-grid-table td:nth-child(7),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(2),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(3),
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(7){overflow-wrap:anywhere;word-break:normal}
  .recent-quotes-card .table-wrap table.quote-grid-table th:last-child,
  .recent-quotes-card .table-wrap table.quote-grid-table td:last-child,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table th:last-child,
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:last-child{width:18%!important;min-width:0!important;padding-right:4px!important;padding-left:4px!important;white-space:nowrap!important}
  .quote-grid-table th:last-child{text-align:right;padding-right:10px!important}
  .quote-grid-table .action-group{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-end!important;gap:1px;min-width:0!important;width:100%;white-space:nowrap}
  .quote-grid-table .action-group .icon-button{flex:0 0 26px;width:26px;height:26px;padding:0}
  .quote-grid-table .quote-status-trigger{display:inline-flex!important;align-items:center;justify-content:center;width:24px!important;min-width:24px!important;max-width:24px!important;height:24px!important;min-height:24px!important;max-height:24px!important;padding:0!important;border-radius:50%!important;font-size:0!important;line-height:0!important;color:transparent!important;white-space:nowrap;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(13,33,66,.12)}
  .quote-grid-table .quote-status-trigger .icon{display:none!important}
  .quote-grid-table .column-resizer{display:none!important}
  .quote-grid-table thead th:first-child button{font-size:0!important}
  .quote-grid-table thead th:first-child button::before{content:"#";font-size:11px}
}
@media(min-width:1101px) and (max-width:1500px){
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(1){width:7.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(2){width:12.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(3){width:20%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(4){width:9.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(5){width:9%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(6){width:9%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(7){width:9%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(8){width:5.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(9){width:18%!important}
}
@media(min-width:821px) and (max-width:1100px){
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(1){width:8%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(2){width:12%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(3){width:20%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(4){width:9%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(5){width:8.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(6){width:8.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(7){width:8.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(8){width:5.5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(9){width:20%!important}
  body.backend-ready [data-view-panel="cotizaciones"] .table-wrap table.quote-grid-table td:nth-child(4) .quote-time{display:none!important}
  .quote-grid-table th:nth-child(8){font-size:0!important}
  .quote-grid-table th:nth-child(8)::before{content:"EST.";font-size:10px}
  .quote-grid-table th,.quote-grid-table td{padding-right:5px!important;padding-left:5px!important}
  .quote-grid-table th:nth-child(5),.quote-grid-table td:nth-child(5),.quote-grid-table th:nth-child(6),.quote-grid-table td:nth-child(6){font-size:10px!important}
  .quote-grid-table .action-group .icon-button{flex-basis:24px;width:24px;height:24px}
}
@media(min-width:821px) and (max-width:900px){
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(1){width:7%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(2){width:11%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(3){width:18%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(4){width:9%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(5){width:10%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(6){width:10%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(7){width:8%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(8){width:5%!important}
  .quote-grid-table>colgroup[data-quote-grid-columns]>col:nth-child(9){width:22%!important}
  .quote-grid-table .action-group{gap:0!important}
  .quote-grid-table .action-group .icon-button{flex:0 0 22px!important;width:22px!important;min-width:22px!important;height:22px!important;min-height:22px!important}
}
@media(min-width:821px) and (max-width:1500px){
  .quote-grid-table thead th:nth-child(8)>button{font-size:0!important}
  .quote-grid-table thead th:nth-child(8)>button::before{content:"EST.";font-size:10px!important}
  .quote-grid-table thead th:nth-child(8)>button>span{display:none!important}
}

/* El estado de las grillas de Inicio y Cotizaciones mantiene el mismo punto
   compacto; el ancho de su contenedor no debe convertirlo en una etiqueta. */
@media(min-width:761px){
  .recent-quotes-card .quote-grid-table .quote-status-trigger,
  body.backend-ready [data-view-panel="cotizaciones"] .quote-grid-table .quote-status-trigger{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:24px!important;min-width:24px!important;max-width:24px!important;
    height:24px!important;min-height:24px!important;max-height:24px!important;
    padding:0!important;border-radius:50%!important;font-size:0!important;line-height:0!important;
    color:transparent!important;white-space:nowrap!important;overflow:hidden!important;
    box-shadow:inset 0 0 0 1px rgba(13,33,66,.12)
  }
  .recent-quotes-card .quote-grid-table .quote-status-trigger .icon,
  body.backend-ready [data-view-panel="cotizaciones"] .quote-grid-table .quote-status-trigger .icon{display:none!important}
}

/* En las tarjetas móviles de Contratistas, la columna de acciones no debe
   conservar el ancho mínimo de la tabla de escritorio. */
@media(max-width:760px){
  [data-view-panel="contratistas"] .table-wrap:has(.action-group) tbody td:last-child{
    display:block!important;flex:1 1 100%;width:100%!important;min-width:0!important;
    position:static;box-shadow:none;overflow:visible
  }
  [data-view-panel="contratistas"] .table-wrap tbody td.rt-actions .action-group{
    display:flex!important;justify-content:flex-end;max-width:100%;min-width:0
  }
}

/* El filtro de Ventas al detal debe ocupar solo el ancho de su botón. */
[data-view-panel="ventas-detalle"] .retail-heading .retail-period{min-width:0}
@media(max-width:700px){
  [data-view-panel="ventas-detalle"] .retail-heading .page-heading-actions{
    display:flex;justify-content:flex-end
  }
}

/* Aire entre las tarjetas de Métricas y el aviso de fechas históricas. */
[data-view-panel="metricas"] .metrics-date-notice{margin-top:16px}

/* Los pagos grupales antiguos no identifican cuál ítem se pagó. */
.contractor-payment-warning{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 20px 16px;padding:11px 14px;border:1px solid #ead9b1;border-radius:10px;background:#fffaf0;color:#75591c;font-size:13px;line-height:1.5}
.contractor-payment-warning>span{flex:1;min-width:0}
.contractor-payment-warning .button{min-height:36px;font-size:12px}
@media(max-width:700px){.contractor-payment-warning{align-items:stretch;flex-direction:column}.contractor-payment-warning .button{width:100%}}
