/* 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:190px}.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:190px minmax(150px,1fr);align-items:center;gap:25px;min-height:240px;padding-top:10px}.pipeline-ring{position:relative;display:grid;place-items:center;width:190px;height:190px}.pipeline-ring svg{width:190px;height:190px;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{grid-column:span 2}.item-workbench-modal .item-base-grid .item-location{grid-column:span 2}.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(980px,calc(100vw - 32px))}.item-detail-modal .modal-body{grid-template-columns:1fr;gap:16px;padding:24px}.item-detail-modal .item-rent-grid,.item-detail-modal .item-rent-grid.double{grid-template-columns:1fr;grid-column:1/-1;width:100%}.item-detail-modal .item-rent-panel{width:100%}.item-detail-modal .item-rent-panel>header{padding:16px 18px}.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:13px 18px}.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-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{align-items:stretch;min-height:76px}.recent-quotes-card .table-card-head>div{align-self:flex-start}.recent-quotes-card .table-card-head .text-button{align-self:flex-end;margin-bottom:0}
.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}
.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:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
  [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(780px,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}.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){
  body[data-role="superadmin"] [data-view-panel="cotizaciones"] .table-wrap tbody td:nth-child(6)::before,body[data-role="contable"] [data-view-panel="cotizaciones"] .table-wrap tbody td:nth-child(6)::before{display:block;margin-bottom:2px;color:#7b899d;font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;content:"Asesor"}
  [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-rank{position:absolute;right:12px;top:12px;color:#8b9ab0;font-size:10px;font-weight:850}.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}.security-panel>div{position:relative;padding-right:42px}.security-change-toggle{position:absolute;right:0;top:-7px;border:1px solid #d6e2f3;background:#fff}.security-change-toggle:hover{border-color:#b8cdf1}
[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}

/* 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:135px}[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}

/* Status labels retain their wording; only their own typography becomes compact. */
@container quote-table (max-width:1100px){
  .quote-status-trigger{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:0!important;height:26px!important;min-height:26px!important;padding:0 7px!important;border-radius:999px!important;font-size:10px!important;line-height:1!important;white-space:nowrap!important}
  .quote-status-trigger .icon{display:block!important;width:11px!important;height:11px!important}
}

@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:14%}
  [data-view-panel="productos"] .table-wrap th:nth-child(2){width:22%}
  [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:16%}
  [data-view-panel="productos"] .table-wrap th:nth-child(2){width:28%}
  [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}
}

/* 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{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));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="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="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}
@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="cotizaciones"] .table-card table tbody td:nth-child(2),.recent-quotes-card table tbody td:nth-child(2),[data-view-panel="clientes"] .directory-table tbody td:first-child,[data-view-panel="productos"] .product-table tbody td:first-child,[data-view-panel="instalaciones"] table tbody td:first-child{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:stretch}
.feedback-comment-body .feedback-thumb-trigger{display:block;width:100%;height:100%;min-height:220px;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{min-height:160px;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:33px;padding:0 8px;border-radius:8px;font-size:12px;font-weight:750}
.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: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}
