:root{font-family:Segoe UI,system-ui,sans-serif;color:#18334b;background:#f3f6fa;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#142c43;color:white;padding:1.1rem 5%;display:flex;align-items:center;justify-content:space-between;gap:1rem}header a{color:white;text-decoration:none}.brand{font-size:1.3rem;font-weight:750;letter-spacing:.03em}.brand span{color:#62d4b9}nav{display:flex;gap:1.4rem;align-items:center}nav form{margin:0}main{max-width:1140px;margin:3rem auto;padding:0 1.5rem;min-height:70vh}h1{font-size:1.8rem}h2{font-size:1.2rem}p{line-height:1.6}.card{background:white;border:1px solid #d9e2ea;border-radius:12px;padding:2rem;margin-bottom:1.5rem;box-shadow:0 4px 18px #102d4307}.narrow{max-width:480px;margin:4rem auto}.badge{color:#146b57;background:#e5f6ef;padding:.4rem .7rem;border-radius:5px;font-size:.85rem}label{display:block;margin:1rem 0 .35rem}input:not([type=checkbox]),select{font:inherit;width:100%;padding:.65rem;border:1px solid #a5b7c6;border-radius:5px}input[type=checkbox]{width:1rem;height:1rem}.check{display:flex;align-items:center;gap:.5rem}button,.button{display:inline-block;background:#176b59;color:white;border:0;padding:.7rem 1rem;font:inherit;border-radius:5px;cursor:pointer;text-decoration:none;margin-top:1rem}.secondary{background:#36526d;margin:0}a{color:#176b59}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #db980b;outline-offset:3px}.validation-summary-errors{color:#a12222}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.7rem;border-bottom:1px solid #e0e6ec}.table-wrap{overflow:auto}footer{text-align:center;color:#64788a;padding:1.5rem}.columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.message{padding:1rem;background:#e5f6ef}@media(max-width:700px){header,nav{flex-wrap:wrap}.columns{grid-template-columns:1fr}.card{padding:1.25rem}main{margin-top:1.5rem}}
.validation-summary-valid{display:none}
.password-field{display:flex;align-items:stretch;width:100%;min-width:0}.password-field input:not([type=checkbox]){flex:1;min-width:0;width:0;border-radius:6px 0 0 6px}.password-field .password-toggle{flex:0 0 auto;min-width:82px;margin:0;padding:.6rem .8rem;border:1px solid #a5b7c6;border-left:0;border-radius:0 6px 6px 0;background:#edf3f8;color:#173d60;font-size:.875rem;font-weight:650;line-height:1.25}.password-field .password-toggle:hover{background:#dfebf3}.password-field .password-toggle[aria-pressed=true]{background:#e2f1e9;color:#18533a}.password-field .password-toggle:disabled{opacity:.55;cursor:not-allowed}.brand{display:inline-flex;align-items:center;gap:.55rem}.brand img{width:36px;height:36px;object-fit:contain}
textarea{font:inherit;width:100%;padding:.65rem;border:1px solid #a5b7c6;border-radius:5px}details{border-top:1px solid #e0e6ec;padding:1rem 0}summary{cursor:pointer;font-weight:600;line-height:1.6}details form{max-width:650px;margin-top:1rem}.config-links{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0}.config-links a{background:white;padding:.7rem;border-radius:5px}section[id]{scroll-margin-top:1rem}
.company-logo{max-width:240px;max-height:140px;object-fit:contain}
.config-links [aria-selected=true]{background:#176b59;color:white;text-decoration:none} [hidden]{display:none!important}
/* Shared navigation follows the familiar top ribbon of Gesfactu2015. */
.app-header{padding:.7rem 1.2rem;gap:1rem;flex-wrap:wrap;background:#173b57}.app-header .brand{font-size:1.1rem}.session-context{display:flex;flex:1;justify-content:flex-end;align-items:center;gap:2rem;min-width:0}.context-label{display:block;color:#c6dce8;font-size:.72rem;margin-bottom:.2rem}.session-context strong{display:block;font-size:1rem;overflow-wrap:anywhere}.session-company{border-left:3px solid #62d4b9;padding-left:.85rem}.session-role{display:block;font-size:.75rem;color:#c6dce8}.session-logout{margin:0}.session-logout button{font-size:.8rem;white-space:nowrap}.app-ribbon{background:linear-gradient(#edf5fc,#d5e5f4);border-bottom:1px solid #91b2d1}.ribbon-areas{display:flex;gap:.2rem;padding:.2rem 1rem 0;background:#c9dff5;border-bottom:1px solid #a4bfd9}.ribbon-areas a{padding:.45rem 1.1rem;text-decoration:none;font-size:.88rem;border:1px solid transparent;border-radius:5px 5px 0 0;color:#214c73}.ribbon-areas a[aria-current=page]{background:#edf5fc;border-color:#a4bfd9;border-bottom-color:#edf5fc;font-weight:650}.ribbon-commands{display:flex;align-items:stretch;gap:0;padding:.4rem 1rem}.ribbon-group{padding:0 .8rem;border-right:1px solid #a5bfd6;display:flex;flex-direction:column;justify-content:space-between}.ribbon-group:first-child{padding-left:0}.ribbon-group h2{margin:.3rem 0 0;text-align:center;font-size:.7rem;font-weight:400;color:#456884}.ribbon-items{display:flex;gap:.3rem}.ribbon-commands a{color:#173d60;text-decoration:none;border:1px solid transparent;border-radius:4px}.ribbon-commands a:hover,.ribbon-commands a:focus-visible{background:#fff3cb;border-color:#dbb760}.ribbon-commands a[aria-current=page]{background:#eaf4ff;border-color:#94b6d6}.ribbon-large{display:flex;min-width:76px;flex-direction:column;align-items:center;justify-content:center;padding:.35rem .65rem;gap:.3rem;font-size:.8rem}.ribbon-large svg{width:32px;height:32px;fill:none;stroke:#176b59;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ribbon-shortcuts{display:grid;grid-template-rows:repeat(3,auto);grid-auto-flow:column;column-gap:1.1rem}.ribbon-shortcuts a{font-size:.77rem;padding:.2rem .4rem;white-space:nowrap}.ribbon-shortcuts span{display:inline-block;width:1.2rem;color:#176b59;text-align:center;margin-right:.3rem}.app-frame{margin:.65rem;border:1px solid #a9bfd3;background:white;min-height:65vh}.workspace-caption{font-size:.78rem;font-weight:650;color:#183e5b;background:#d9e8f6;border-bottom:1px solid #adc5db;padding:.35rem .8rem}.app-content{width:100%;max-width:none;min-width:0;margin:0;padding:1.4rem}.app-content h1{margin-top:0;font-size:1.5rem}.app-content .card{box-shadow:none;border-radius:5px}.skip-link{position:fixed;left:1rem;top:-100px;z-index:100;background:white;padding:1rem}.skip-link:focus{top:1rem}.app-body .config-links{gap:.25rem;margin:1rem 0;border-bottom:1px solid #b8cbdc}.app-body .config-links a{padding:.55rem .85rem;border-radius:4px 4px 0 0;font-size:.88rem}.app-body footer{padding:.7rem;font-size:.8rem}
@media(max-width:700px){.app-header{padding:.8rem;gap:.8rem}.session-context{flex-basis:100%;justify-content:space-between;gap:1rem;order:3}.session-logout{margin-left:auto}.ribbon-commands{flex-wrap:wrap;padding:.5rem}.ribbon-group{max-width:100%;padding:.3rem .6rem}.ribbon-shortcuts{column-gap:.3rem}.ribbon-shortcuts a{white-space:normal}.ribbon-large{min-width:70px}.app-content{padding:1rem}.app-frame{margin:.35rem}}

.workspace-tabs{display:flex;align-items:stretch;gap:3px;overflow-x:auto;padding:.3rem .4rem 0;background:#cbdff1;border-bottom:1px solid #adc5db}
.workspace-tab{display:flex;flex-shrink:0;align-items:stretch}
.workspace-tab button{margin:0;padding:.45rem .8rem;border:1px solid #9eb8ce;border-radius:5px 5px 0 0;background:#e0ebf6;color:#234861;font-size:.85rem}
.workspace-tab button[aria-selected=true]{background:white;font-weight:700;border-bottom-color:white}
.workspace-tab .workspace-close{border-left:0;padding:.3rem .55rem;border-radius:0 5px 0 0}
.workspace-tab .workspace-close:hover{background:#f9dddd;color:#852222}
.workspace-status{margin:.5rem 1rem}

.workspace-home{display:grid;place-items:center;min-height:60vh;text-align:center;background:white}
.workspace-home-brand{padding:2rem 1rem;color:#173b57}
.workspace-home-brand img{width:clamp(100px,14vw,160px);height:auto}
.workspace-home-brand h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:650;margin:.6rem 0;letter-spacing:-.04em}
.workspace-home-brand h1 span{color:#218567;margin-left:.2em}
.workspace-home-brand p{color:#64788a;font-size:clamp(.85rem,2vw,1rem);margin:0}

.ribbon-areas button{margin:0;padding:.45rem 1.1rem;background:transparent;border:1px solid transparent;border-radius:5px 5px 0 0;color:#214c73;font-size:.88rem}
.ribbon-areas button[aria-selected=true]{background:#edf5fc;border-color:#a4bfd9;border-bottom-color:#edf5fc;font-weight:650}
.ribbon-empty{margin:0;padding:1.2rem;color:#456884;font-size:.85rem;min-height:100px}

.entity-heading{display:flex;align-items:baseline;gap:1rem;border-bottom:1px solid #c8d7e4;margin-bottom:1rem}.entity-heading h1{margin-bottom:.6rem}.entity-heading>span{color:#526c80;font-size:.9rem}
.entity-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:.6rem .8rem;background:#e5eff9;border:1px solid #bed1e2;margin-bottom:1rem}
.entity-toolbar button,.entity-toolbar .button{margin:0}.entity-toolbar button:disabled{opacity:.45;cursor:default}
.entity-filters{display:flex;align-items:end;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem}.entity-filters label{margin:0;flex:1;min-width:140px}.entity-filters button{margin:0}
.entity-grid td,.entity-grid th{padding:.5rem .7rem;font-size:.88rem}.entity-grid thead{background:#e6edf4}.entity-grid tbody tr:nth-child(even){background:#f2f6fa}.entity-grid tr:has(input:checked){background:#d6eafb}
.entity-grid input[type=radio]{width:1rem;height:1rem}.entity-pager{justify-content:space-between;flex-wrap:wrap;padding:1rem 0;font-size:.85rem}
.entity-editor{max-width:900px}.entity-editor fieldset{border:1px solid #c8d7e4;padding:1rem 1.5rem;margin:1rem 0}.entity-editor legend{font-weight:650}

.customer-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1rem; border:0; padding:0; }
.customer-fields input,.customer-fields select,.customer-fields textarea { width:100%; box-sizing:border-box; }
.customer-fields input[type=checkbox] { width:auto; }
.customer-filter-options { flex-basis:100%; padding:.7rem; border:1px solid #cbd8e4; }
.customer-columns { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:.35rem; }
.customer-filter-options summary { cursor:pointer; font-weight:600; }

.facturae-group > p,.facturae-preference > p { margin:.3rem 0 1rem; }
.field-help { display:block; color:#526c80; font-size:.85rem; line-height:1.45; margin:.35rem 0 0; }
.facturae-wide { grid-column:1 / -1; }
.facturae-group .customer-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:650px){.facturae-group .customer-fields{grid-template-columns:1fr}.entity-editor .facturae-group,.entity-editor .facturae-preference{padding:1rem}}

.attachment-upload{margin:1rem 0;padding:.8rem;border:1px solid #c8d7e4}.attachment-upload summary{cursor:pointer;font-weight:600}
.attachment-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin-top:1rem}
.attachment-card{border:1px solid #c8d7e4;border-radius:8px;overflow:hidden;background:#fff;min-width:0}.attachment-retired{border-style:dashed;background:#f3f5f7}
.attachment-thumbnail{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;width:100%;height:200px;margin:0;border:0;border-radius:0;background:#edf3f8;color:#25445b;padding:.6rem;overflow:hidden}
.attachment-thumbnail:hover{background:#dbe9f4}.attachment-thumbnail img,.attachment-thumbnail canvas{max-width:100%;max-height:155px;object-fit:contain}.thumbnail-status{font-size:.8rem}
.attachment-info{padding:1rem}.attachment-info h3{font-size:1rem;margin:0;overflow-wrap:anywhere}.attachment-info p{overflow-wrap:anywhere}.attachment-meta{font-size:.8rem;color:#526c80}
.attachment-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.attachment-actions form{margin:0}.attachment-actions button{margin:0;font-size:.85rem;padding:.4rem .6rem}
.attachment-viewer{width:min(1100px,94vw);max-width:94vw;height:90vh;max-height:90vh;border:1px solid #a5bed1;border-radius:10px;padding:1rem;color:#173b57;background:#fff}
.attachment-viewer::backdrop{background:rgb(10 28 42 / 75%)}.attachment-viewer header{display:flex;justify-content:space-between;gap:1rem;align-items:start}.attachment-viewer h2{font-size:1.1rem;margin:.5rem 0;overflow-wrap:anywhere}
.attachment-viewer nav{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.7rem 0}.attachment-viewer button{margin:0;padding:.5rem .7rem}.attachment-viewer button:disabled{opacity:.4}.attachment-viewer [hidden]{display:none!important}
.attachment-preview-content{overflow:auto;height:calc(100% - 145px);background:#e8edf2;display:flex;align-items:start;justify-content:center;padding:1rem}.attachment-preview-content img{max-width:100%;max-height:100%;object-fit:contain}.attachment-preview-content canvas{max-width:100%;height:auto;background:#fff}

/* Listados: acciones frecuentes visibles; utilidades agrupadas. */
.entity-toolbar .action-menu{position:relative;border:0;padding:0;margin:0}
.action-menu>summary{padding:.55rem .8rem;border:1px solid #adc3d4;border-radius:5px;background:#fff;color:#173b50;font-weight:600}
.action-menu[open]>summary{background:#d8e8f3}
.action-menu-panel{position:absolute;top:calc(100% + .35rem);left:0;z-index:20;width:290px;max-width:80vw;padding:.8rem;background:#fff;border:1px solid #adc3d4;border-radius:6px;box-shadow:0 6px 18px #173b5026;display:grid;gap:.65rem}
.action-menu-panel>button,.action-menu-panel>a{display:block;text-align:left;padding:.55rem .7rem;margin:0;background:#f1f6fa;color:#173b50;border:1px solid #d5e0e8;border-radius:4px;text-decoration:none}
.action-menu-panel>button:hover,.action-menu-panel>a:hover{background:#e0edf6}
.action-menu-panel label{margin:0}.action-menu-panel select{max-width:100%}
.list-preferences{border:0;padding:0;margin:0 0 .8rem;color:#405d71}
.list-preferences>summary{font-size:.9rem;font-weight:normal}
.list-preferences .entity-toolbar{margin-top:.5rem}
.entity-list>.entity-toolbar{gap:.6rem}
@media(max-width:600px){.action-menu-panel{position:static;margin-top:.4rem;width:100%;max-width:100%}.entity-toolbar .action-menu[open]{flex-basis:100%}}

.toolbar-record-actions,.toolbar-list-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}
.toolbar-document-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;border-left:1px solid #adc3d4;padding-left:.9rem;margin-left:.3rem}

.toolbar-list-actions{border-left:1px solid #adc3d4;padding-left:.9rem;margin-left:.3rem}
.entity-toolbar .button-secondary{background:#fff;color:#173b50;border:1px solid #adc3d4;font-weight:600;padding:.55rem .8rem}
.entity-toolbar .button-secondary:hover{background:#d8e8f3}
@media(max-width:600px){.toolbar-list-actions{border-left:0;border-top:1px solid #adc3d4;padding:.6rem 0 0;margin:0;flex-basis:100%}}

.article-description-field{grid-column:1 / -1}.article-description-field textarea{min-height:9rem;resize:vertical;line-height:1.5}.article-description-field small{display:block;margin-top:.35rem;color:#526779}.article-description-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:pre-line;overflow-wrap:anywhere;min-width:12rem;max-width:30rem}

.date-picker-control{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.date-picker-control input{width:auto;min-width:12rem}

.stock-search{margin-bottom:1rem}.stock-search h2{margin-bottom:.4rem}.stock-search>p{margin-top:0}

/* Documentos: mismos controles y barras que los maestros. */
.document-window{margin:0;background:#f3f6fa}.document-editor{padding:1rem;max-width:none}.document-editor fieldset{border:0;padding:0;min-width:0}.document-header-fields{padding:1rem}.document-customer{grid-column:span 2}.document-lines{min-height:22rem;background:white}.document-lines textarea{min-width:24rem;width:100%;resize:vertical}.document-lines input{min-width:6rem;width:7rem}.document-lines select{min-width:9rem}.document-lines details button{display:block;margin:.3rem 0}.document-totals{position:sticky;bottom:0;padding:1rem;background:#dcebf6;border:1px solid #adc3d4;font-weight:600;text-align:right}.document-sticky-toolbar{position:sticky;top:0;z-index:3}.document-summary{background:#eaf4f1;padding:1rem;margin-top:1rem}.document-summary h2{font-size:1rem;margin:0}.document-window dialog{max-width:55rem;width:90%;max-height:80vh;overflow:auto;border:1px solid #adc3d4;border-radius:.5rem}.document-window dialog::backdrop{background:#173b5080}.document-window [data-article-results] button{display:block;text-align:left;width:100%;margin:.5rem 0}@media(max-width:700px){.document-customer{grid-column:auto}.document-editor{padding:.5rem}}
.document-editor{margin:0;min-height:calc(100vh - 3rem);font-size:.9rem}.document-editor .config-links{margin:.6rem 0;gap:.25rem;border-bottom:1px solid #b8cbdc}.document-editor .config-links a{padding:.55rem .85rem;border-radius:4px 4px 0 0}.document-editor .card{margin-bottom:.7rem;padding:.8rem}.document-editor label{margin:.2rem 0}.document-editor .entity-toolbar{margin-bottom:.7rem;gap:.6rem}.document-lines{min-height:calc(100vh - 24rem)}.document-lines th,.document-lines td{padding:.4rem}.document-lines textarea{min-width:20rem}.document-lines input{min-width:4rem;width:5rem}.document-lines select{min-width:7rem}.document-editor .document-totals{padding:.7rem}

.document-customer-details{margin:.8rem 0!important;border-top:1px solid #bed1e2!important;padding-top:.6rem!important}.document-customer-details legend{font-weight:600}.document-customer-details p{margin:.2rem 0 .6rem;font-size:.85rem}.document-line-selected{background:#e0f2ed!important;outline:2px solid #176b59;outline-offset:-2px}.document-tax-settings{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.8rem;margin-top:.7rem;background:#e5eff9}.document-tax-settings h2{font-size:1rem}.document-tax-settings input[type=number]{width:7rem}.document-lines input[type=radio]{width:1rem;min-width:1rem}.document-lines{min-height:16rem}

.document-editor .document-header-fields .customer-fields{grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem .7rem}.document-header-fields .customer-fields>label{grid-column:span 2}.document-header-fields .customer-fields>label.document-customer{grid-column:span 4}.document-header-fields .document-meta>label{grid-column:span 1}.document-header-fields .document-meta>label.document-customer{grid-column:span 4}.document-header-fields input,.document-header-fields select{padding:.35rem .5rem}.document-editor .document-customer-details{margin:.45rem 0!important;padding-top:.35rem!important}.document-customer-details small{display:block;margin:.35rem 0;font-size:.78rem;color:#526779}.document-summary-panel .document-tax-settings{margin:0;background:transparent;padding:.2rem}.document-totals-detail{font-weight:600;background:#e5eff9;padding:.7rem}.document-summary-panel [data-tax-breakdown] p{margin:.3rem 0}.document-editor #document-notes{min-height:12rem}.document-editor #document-summary{min-height:12rem}@media(max-width:700px){.document-editor .document-header-fields .customer-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.document-header-fields .customer-fields>label,.document-header-fields .customer-fields>label.document-customer,.document-header-fields .document-meta>label{grid-column:span 1}.document-header-fields .document-meta>label.document-customer{grid-column:span 2}}
/* Document editor: distinct action groups and readable monetary summary. */
.document-actions{border-top:4px solid #183d58;background:#dce9f4}.toolbar-caption{font-weight:700;letter-spacing:.02em;margin-right:.6rem}.document-line-actions{margin-top:1.2rem!important;margin-bottom:0!important;border-top:3px solid #267b6a;background:#e9f3ef}.document-line-actions .toolbar-caption{color:#176b59}.document-lines table{width:100%;table-layout:fixed;min-width:960px}.document-lines .line-select{width:3rem}.document-lines .line-article{width:9rem}.document-lines .line-description{width:auto}.document-lines .line-number{width:6.5rem}.document-lines .line-tax{width:8rem}.document-lines input:not([type=radio]),.document-lines select,.document-lines textarea{box-sizing:border-box;width:100%;min-width:0}.document-lines th{background:#d6e3ef;border-bottom:2px solid #8ca9c0}.document-lines td:first-child{text-align:center}.document-summary-panel h2{font-size:1.05rem;margin:0 0 .8rem}.document-summary-panel h3{font-size:.9rem;margin:.8rem 0 .4rem}.document-amounts{display:grid;grid-template-columns:repeat(4,1fr) 1.3fr;gap:.65rem}.document-amounts>div{background:#edf3f8;border:1px solid #c7d7e4;padding:.65rem}.document-amounts span{display:block;font-size:.8rem}.document-amounts output{display:block;text-align:right;font-size:1.3rem;font-weight:700;margin-top:.4rem;font-variant-numeric:tabular-nums}.document-amounts .document-grand-total{background:#183d58;color:white;border-color:#183d58}.document-summary-panel .document-tax-settings{border-bottom:1px solid #c7d7e4;padding:.7rem 0;margin-top:.3rem}.document-tax-row{display:grid;grid-template-columns:repeat(5,1fr);background:#f1f5f8;border-bottom:1px solid #d4e0e9;padding:.45rem .7rem;gap:.7rem}.document-tax-row small,.document-tax-row strong{display:block}.document-tax-row small{font-size:.75rem;color:#526779}.document-tax-row strong{font-variant-numeric:tabular-nums}@media(max-width:700px){.document-amounts{grid-template-columns:repeat(2,1fr)}.document-grand-total{grid-column:span 2}.document-tax-row{min-width:440px}.document-summary-panel [data-tax-breakdown]{overflow:auto}}
.entity-lookup-dialog{max-width:60rem;width:90%;max-height:80vh;overflow:auto;border:1px solid #adc3d4;border-radius:.5rem;padding:1rem;color:#183d58}.entity-lookup-dialog::backdrop{background:#173b5080}.entity-lookup-dialog form{display:flex;gap:.6rem;align-items:end;margin-bottom:.8rem}.entity-lookup-dialog form label{flex:1}.entity-lookup-dialog input{width:100%;box-sizing:border-box}.entity-lookup-dialog .lookup-navigation{display:flex;gap:.5rem;margin:.5rem 0}.entity-lookup-trigger{display:block;width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:.4rem .5rem!important;min-width:0}select[data-entity-lookup][hidden]{display:none!important}
.document-editor .document-header-fields{padding:.5rem .7rem}.document-header-fields label{font-size:.78rem}.document-header-fields input,.document-header-fields select,.document-header-fields button{font-size:.85rem;padding:.25rem .4rem!important;height:2rem;box-sizing:border-box}.document-header-fields .document-customer-details legend{font-size:.8rem}.document-header-fields .document-customer-details small{display:none}.document-header-fields .customer-fields{gap:.2rem .6rem!important}.document-editor .document-customer-details{margin:.25rem 0 0!important}.document-editor .document-summary-panel{padding:.5rem .7rem;min-height:0!important}.document-summary-panel h2{font-size:.9rem;margin:0 0 .4rem}.document-amounts{gap:.4rem}.document-amounts>div{padding:.35rem .5rem}.document-amounts output{font-size:1.1rem;margin-top:.1rem}.document-summary-panel .document-tax-settings{padding:.25rem 0;gap:.8rem}.document-tax-settings input[type=number]{padding:.2rem .4rem}.document-summary-panel h3{margin:.35rem 0 .2rem;font-size:.8rem}.document-tax-row{padding:.2rem .5rem}.document-line-actions{margin-top:.6rem!important;padding:.5rem!important}.document-editor #document-notes{min-height:0}.document-references{margin-bottom:.4rem}.document-editor #document-notes textarea{min-height:3rem}.document-editor .document-sticky-toolbar{padding:.5rem}.document-editor .document-sticky-toolbar button,.document-line-actions button{padding:.45rem .6rem}.document-lines textarea{min-height:3rem}
.entity-lookup-trigger{background:#fff!important;color:#183d58!important;border:1px solid #adc3d4!important;margin:0!important}.document-header-fields .customer-fields>label{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:.45rem;margin:.1rem 0}.document-header-fields .document-meta>label.document-customer{grid-column:span 4}.document-header-fields .document-customer-details legend{padding:0 .2rem}.document-header-fields .document-customer-details{border-top:0!important}.document-header-fields .customer-fields>label input,.document-header-fields .customer-fields>label select{margin:0}.document-editor .config-links{margin:.35rem 0}.document-editor .document-header-fields .document-meta{grid-template-columns:1fr 1fr 4fr}.document-header-fields .document-meta>label.document-customer{grid-column:span 1}@media(max-width:700px){.document-header-fields .customer-fields>label{display:block}.document-editor .document-header-fields .document-meta{grid-template-columns:1fr 1fr}.document-header-fields .document-meta>label.document-customer{grid-column:span 2}}
.entity-lookup-dialog .lookup-help{margin:-.3rem 0 .8rem;font-size:.85rem;color:#526779}.entity-lookup-dialog .entity-grid th{white-space:nowrap}.entity-lookup-dialog .entity-grid button{white-space:nowrap}.entity-lookup-dialog form input{min-width:15rem}.entity-lookup-dialog h2{margin:.3rem 0 1rem}

.document-recovery{max-width:85rem;width:95%;max-height:90vh}.document-recovery form{display:block}.document-recovery .recovery-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:.7rem}.document-recovery .recovery-filters input,.document-recovery select{min-width:0;width:100%;box-sizing:border-box}.document-recovery label{display:flex;flex-direction:column}.document-recovery .table-wrap{max-height:48vh;overflow:auto}.document-recovery th{position:sticky;top:0;background:#e3edf5}.document-recovery td{vertical-align:top;white-space:pre-wrap}.document-recovery td input[type=checkbox]{width:auto}.document-recovery button{margin:.25rem}.document-recovery tr:has(input:checked){background:#e1f2e9}@media(max-width:750px){.document-recovery .recovery-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
.document-window dialog.document-recovery{max-width:85rem;width:95%;max-height:90vh}.document-recovery label{margin:.2rem 0}.document-recovery h3{margin:.6rem 0}.document-recovery p{margin:.5rem 0}.document-recovery .entity-grid td{padding:.5rem}.document-recovery .entity-grid th{padding:.5rem}

/* Document workspace: only the line grid scrolls at desktop sizes. */
@media (min-width: 901px) and (min-height: 650px) {
 .document-window{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}
 .document-window>.app-header{flex:0 0 auto}
 .document-window>.document-editor{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:.5rem .75rem}
 .document-editor>#document-form{flex:1;min-height:0;display:flex;flex-direction:column}
 #document-form>.document-actions,#document-form>.document-totals{flex:0 0 auto;position:static;margin:0}
 #document-form>fieldset{flex:1;min-height:0;display:flex;flex-direction:column;margin:0}
 #document-form>fieldset>.config-links,#document-form>fieldset>.card,#document-form>fieldset>.document-line-actions{flex:0 0 auto}
 #document-form>fieldset>.card{max-height:32vh;overflow:auto}
 #document-form>fieldset>.document-lines{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
 .document-lines thead th{position:sticky;top:0;z-index:2;background:#d6e3ef}
 .document-editor>[data-activate]{flex:0 0 auto;display:flex;align-items:center;gap:.75rem;margin:.25rem 0 0}
 .document-editor>[data-activate] button{padding:.35rem .6rem}
 .document-editor>[data-activate] p{margin:0;font-size:.8rem}
 .document-editor>.message,.document-editor>[role=alert]{flex:0 0 auto;max-height:5rem;overflow:auto;margin:.25rem 0}
 .document-editor>#confirm-quote{margin:0}
}

/* All document tabs reserve the same space, independently of their contents. */
#document-form>fieldset>section.card{
 height:clamp(180px,32vh,260px);
 box-sizing:border-box;
 min-height:0;
 overflow:auto;
 scrollbar-gutter:stable;
}

/* Compact document editing: reserve more of the viewport for line entry. */
@media (min-width:901px){
 #document-form>fieldset>section.card{height:clamp(154px,25vh,205px);padding:.35rem .55rem}
 .document-header-fields input,.document-header-fields select,.document-header-fields button{height:1.75rem;padding:.15rem .35rem!important}
 .document-header-fields .customer-fields{gap:.1rem .5rem!important}
 .document-header-fields .customer-fields>label{margin:0}
 .document-editor .config-links a{padding:.35rem .7rem}
 .document-editor .document-actions,.document-editor .document-line-actions{gap:.4rem;padding:.35rem!important}
 .document-editor .document-actions button,.document-editor .document-line-actions button{padding:.3rem .5rem}
 .document-editor .document-line-actions{margin-top:.35rem!important}
 .document-lines th,.document-lines td{padding:.25rem .35rem}
 .document-lines textarea{height:2.5rem;min-height:2.5rem;padding:.2rem .35rem;line-height:1.25;resize:vertical}
 .document-lines input:not([type=radio]),.document-lines select{padding:.2rem .3rem;min-height:2rem}
 .document-editor .document-totals{padding:.4rem .6rem}
}

.document-editor .document-totals{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:2px solid #176b59;padding:.35rem .7rem;background:#e8f0f6}
.document-totals-breakdown{font-size:.8rem;font-weight:400;text-align:left;color:#304e63}
.document-total-primary{display:flex;align-items:center;gap:.9rem;flex-shrink:0;color:#123a52}
.document-total-primary>span{font-weight:700;font-size:.9rem}
.document-total-primary strong{font-size:1.6rem;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.document-total-primary small{font-size:.8rem}
@media(max-width:700px){.document-editor .document-totals{flex-wrap:wrap;gap:.3rem}.document-total-primary{margin-left:auto}}

/* Keep two readable text lines and let the editor expand descriptions to fit. */
.document-lines textarea{height:auto;min-height:3.25rem;line-height:1.4;padding:.25rem .35rem;overflow-y:hidden;resize:none;vertical-align:top}
@media(min-width:901px){
 #document-form>fieldset>#document-header:not([hidden]){display:flex;flex-direction:column;gap:.35rem;padding:.55rem .65rem}
 .document-editor .document-header-fields .customer-fields{column-gap:.8rem!important;row-gap:.3rem!important}
 .document-editor .document-header-fields .document-customer-details{flex:1;min-height:0;display:flex;flex-direction:column;margin:0!important}
 .document-header-fields .document-customer-details>.customer-fields{flex:1;align-content:space-between}
 .document-header-fields .document-customer-details legend{margin-bottom:.25rem}
}

/* Visual hierarchy: document commands, document data, and line editing. */
.document-editor .document-actions{background:#183d58;color:#fff;border-color:#183d58;border-bottom:3px solid #0c293f}
.document-actions .toolbar-caption{color:inherit}
.document-actions .button-secondary{background:#f4f8fc;color:#183d58;border-color:#b3c8db}
#document-form>fieldset>section.card{background:#edf4fb;border:1px solid #afc6dd;border-left:4px solid #4f7fa7;border-radius:0 .35rem .35rem 0}
.document-editor .config-links{background:#e2edf7;border-bottom:2px solid #4f7fa7}
.document-editor .config-links a[aria-selected=true]{background:#315f86;color:#fff}
.document-editor .document-line-actions{background:#dceee7;border:1px solid #9ebfaf;border-top:3px solid #176b59}
.document-lines{border:1px solid #9ebfaf;border-top:0}
.document-lines th,.document-lines thead th{background:#dceee7;border-bottom:2px solid #176b59;color:#134d40}
.document-editor .document-totals{background:#e2edf7;border:1px solid #afc6dd;border-top:3px solid #4f7fa7;color:#183d58}

.line-article-entry{display:flex;align-items:center;gap:.2rem;min-width:0}
.document-lines .line-article-entry input{flex:1;width:0;min-width:0}
.document-lines .line-article-search{display:inline-flex;align-items:center;justify-content:center;flex:0 0 1.75rem;width:1.75rem;height:2rem;padding:0;margin:0;background:#edf4f9;color:#183d58;border:1px solid #9fb9cc;border-radius:.25rem}
.line-article-search:hover{background:#d7e8f4}
.line-article-search:focus-visible{outline:2px solid #176b59;outline-offset:2px}
.document-actions .action-menu-panel{color:#183d58}.document-actions .action-menu-panel label{display:block}.document-actions .action-menu-panel small{display:block;max-width:22rem;padding:.4rem}.document-editor>#quote-state{margin:0}

.transfer-window{margin:0;background:#f2f6fa}.transfer-confirmation{max-width:48rem;margin:auto;padding:1.25rem}.transfer-confirmation header{border-bottom:2px solid #b5cde1;margin-bottom:1rem}.transfer-confirmation h1{font-size:1.4rem}.transfer-confirmation h2{font-size:1.05rem}.transfer-confirmation .card{padding:.8rem 1rem;margin:.8rem 0}.transfer-confirmation .card p{margin:.45rem 0}.transfer-confirmation .customer-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.transfer-confirmation .entity-toolbar{flex-wrap:wrap}@media(max-width:500px){.transfer-confirmation .customer-fields{grid-template-columns:1fr}}
.document-payment-panel h2{font-size:1rem;margin:.2rem 0 .6rem}.document-payment-panel p{margin:.5rem 0}.document-payment-panel small{color:#526779}

/* Shared list viewport: only records scroll when desktop space allows it. */
.app-frame:has(.entity-list-page:not([hidden])){min-height:0}
.app-content:has(.entity-list-page:not([hidden])){min-height:0}
.entity-list-page .entity-heading{margin-bottom:.55rem}
.entity-list-page .entity-pager{padding:.5rem 0}
.entity-list-page .document-summary{margin-top:.25rem;padding:.55rem .75rem}
.entity-list-page .document-summary p{margin:.25rem 0;font-size:.85rem}
[data-list-viewport]{border:1px solid #cad9e5;scrollbar-gutter:stable}
[data-list-viewport].list-viewport-fixed{overscroll-behavior:contain;min-height:160px}
[data-list-viewport] thead th{position:sticky;top:0;z-index:1;background:#e4edf5;box-shadow:0 1px #afc3d4}
[data-list-viewport]:focus-visible{outline:3px solid #db980b;outline-offset:2px}
.entity-toolbar .button-transfer{background:#285b78;color:#fff;border:1px solid #204a62}
.entity-toolbar .button-transfer:hover{background:#204a62}
.entity-toolbar a[data-certifications-link]{background:#285b78;color:#fff;border:1px solid #204a62}
.entity-toolbar a[data-certifications-link]:hover{background:#204a62;color:#fff}
.entity-toolbar [data-certifications-link][aria-disabled=true]{opacity:.45;cursor:default;background:#285b78}
@media print{[data-list-viewport]{height:auto!important;overflow:visible}[data-list-viewport] thead th{position:static}}
@media(min-width:1000px){
 .app-content:has(.entity-list-page:not([hidden])){padding:.65rem 1rem}
 .entity-list-page .entity-heading h1{margin-bottom:.35rem;font-size:1.3rem}
 .entity-list-page .entity-filters{gap:.5rem;margin-bottom:.5rem}
 .entity-list-page .entity-filters>label{margin:0}
 .entity-list-page .customer-filter-options{padding:.4rem .6rem}
 .entity-list-page .entity-toolbar{padding:.5rem;gap:.5rem;margin-bottom:.6rem}
 .entity-list-page .entity-toolbar button,.entity-list-page .entity-toolbar .button,.entity-list-page .action-menu>summary{font-size:.85rem;padding:.5rem .65rem}
 .entity-list-page .toolbar-record-actions,.entity-list-page .toolbar-list-actions{gap:.4rem}
}
@media(min-width:1000px){
 .app-frame:has(.entity-list-page:not([hidden]))>.workspace-caption{display:none}
 .entity-list-page .customer-filter-options{padding:.3rem .6rem}
 .entity-list-page .customer-filter-options>summary{line-height:1.25}
 .entity-list-page .document-summary p{line-height:1.3}
}

.document-period-dates{display:flex;gap:.6rem;align-items:end}.document-period-dates[hidden]{display:none}
.entity-filters>.document-period{flex:0 0 12rem}.entity-list-page .document-period-dates label{margin:0}
@media(max-width:700px){.entity-filters>.document-period{flex:1 1 100%}.document-period-dates{flex-wrap:wrap}}
.fiscal-record-xml { white-space: pre-wrap; overflow-wrap: anywhere; }
.fiscal-preflight ul { padding-left: 1.3rem; }
.fiscal-preflight li { margin: .6rem 0; }
.fiscal-preflight li span { display: block; }
.fiscal-preflight .fiscal-check-error { color: #a52222; }

/* Invoice type shares the existing compact metadata row. */
.document-editor .document-header-fields .invoice-meta{grid-template-columns:1.25fr 1.1fr 1fr 2.65fr}@media(max-width:700px){.document-editor .document-header-fields .invoice-meta{grid-template-columns:1fr 1fr}}

/* Fiscal evidence has its own dialog; it never enlarges the fixed document header. */
.sector-requirements{width:min(760px,90vw);max-height:85vh;overflow:auto;box-sizing:border-box}
.sector-requirements .customer-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.sector-requirements .check{grid-column:1/-1}
@media(max-width:600px){.sector-requirements .customer-fields{grid-template-columns:1fr}}

/* Fiscal treatment is the second document tab and remains identifiable when inactive. */
.document-editor .config-links a.document-fiscal-tab{font-weight:700;background:#dceee7;color:#134d40;box-shadow:inset 0 3px #176b59}
.document-editor .config-links a.document-fiscal-tab[aria-selected=true]{background:#176b59;color:#fff;box-shadow:inset 0 3px #0f493d}
.document-editor .config-links a.document-fiscal-tab:focus-visible{outline:2px solid #183d58;outline-offset:2px}
.document-rectification-summary{font-size:.85rem;line-height:1.35;margin-top:.15rem}.document-rectification-summary a{color:inherit;text-decoration:underline;text-underline-offset:2px}.document-rectification-summary a:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.entity-toolbar .button-rectification{background:#397478;color:#fff;border:1px solid #2d5e62}.entity-toolbar .button-rectification:hover{background:#2d5e62}.entity-toolbar .button-rectification:focus-visible{outline:2px solid #183d58;outline-offset:2px}

/* B6-062: bounded document workspaces, independent of the number of rows.
   Expanded controls may scroll inside their own region on small screens. */
@media screen {
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]){height:100dvh;overflow:hidden;display:flex;flex-direction:column}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list])>.app-header{flex-shrink:0;max-height:12dvh;overflow:auto;padding:.35rem .75rem}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list])>.app-ribbon{flex-shrink:0;max-height:16dvh;overflow:auto}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list])>.app-frame{flex:1;min-height:0;display:flex;flex-direction:column;margin:.3rem}
 .app-frame:has(.workspace-page:not([hidden]) [data-document-list])>.workspace-caption{display:none}
 .app-frame:has(.workspace-page:not([hidden]) [data-document-list])>.workspace-tabs{flex-shrink:0}
 .app-content:has(.workspace-page:not([hidden]) [data-document-list]){flex:1;min-height:0;overflow:hidden;display:flex;padding:.4rem .65rem}
 .workspace-page:has([data-document-list]):not([hidden]){flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}
 .document-list-controls{flex:0 1 auto;max-height:22dvh;overflow:auto}
 .document-list-controls .entity-heading{margin:0 0 .25rem}
 .document-list-controls .entity-heading h1{font-size:1.2rem;margin:0}
 .document-list-controls .entity-filters{margin-bottom:.25rem;gap:.4rem}
 .document-list-controls .entity-filters>label{margin:0}
 .document-list-controls .customer-filter-options{padding:.25rem .5rem}
 [data-document-list]{flex:1;min-height:0;display:flex;flex-direction:column}
 [data-document-list]>.entity-toolbar{flex:0 1 auto;max-height:20dvh;overflow:auto;padding:.35rem;gap:.35rem;margin:.25rem 0}
 [data-document-list]>.entity-toolbar button,[data-document-list]>.entity-toolbar .button,[data-document-list]>.entity-toolbar summary{padding:.4rem .55rem;font-size:.85rem}
 [data-document-list]>.message{flex-shrink:0;max-height:10dvh;overflow:auto;margin:.25rem 0;padding:.4rem}
 [data-document-list]>[data-list-viewport]{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
 .workspace-page:has([data-document-list])>.entity-pager{flex-shrink:0;padding:.25rem 0;font-size:.8rem}
 .workspace-page:has([data-document-list])>.document-summary{flex:0 1 auto;max-height:18dvh;overflow:auto;margin:.2rem 0 0;padding:.35rem .5rem}
 .workspace-page:has([data-document-list])>.document-summary p{margin:.15rem 0;line-height:1.3}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list])>footer{flex-shrink:0;padding:.2rem;font-size:.7rem}
 [data-document-list] .action-menu[open] .action-menu-panel{position:static}
 .document-window{height:100dvh;overflow:hidden;display:flex;flex-direction:column}
 .document-window>.app-header{flex-shrink:0;max-height:12dvh;overflow:auto;padding:.35rem .6rem}
 .document-window>.document-editor{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:.4rem .6rem}
 .document-editor>#document-form{flex:1;min-height:0;display:flex;flex-direction:column}
 #document-form>.document-actions,#document-form>.document-totals{flex-shrink:0;position:static;margin:0}
 #document-form>.document-actions{max-height:18dvh;overflow:auto}
 #document-form>fieldset{flex:1;min-height:0;display:flex;flex-direction:column;margin:0}
 #document-form>fieldset>.config-links{flex-shrink:0;flex-wrap:nowrap;overflow-x:auto;margin:.25rem 0}
 #document-form>fieldset>.config-links a{white-space:nowrap;padding:.3rem .55rem}
 #document-form>fieldset>section.card{flex-shrink:0;height:clamp(110px,23dvh,205px);max-height:23dvh}
 #document-form>fieldset>.document-line-actions{flex:0 1 auto;max-height:16dvh;overflow:auto;margin:.25rem 0 0!important;padding:.3rem;gap:.3rem}
 #document-form>fieldset>.document-lines{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
 .document-lines thead th{position:sticky;top:0;z-index:2;background:#dceee7}
 .document-editor .action-menu[open] .action-menu-panel{position:static}
 .document-editor>.message,.document-editor>[role=alert]{flex-shrink:0;max-height:10dvh;overflow:auto;margin:.2rem 0}
 .document-lines:focus-visible{outline:2px solid #db980b;outline-offset:-2px}
}
@media screen and (max-width:700px){
 .document-window>.document-editor{padding:.25rem}
 .document-editor .document-total-primary strong{font-size:1.25rem}
 .document-editor .document-totals{gap:.15rem;padding:.25rem;font-size:.8rem}
 .document-editor .document-totals-breakdown{font-size:.7rem}
 .document-editor .document-actions button,.document-editor .document-line-actions button{padding:.35rem .5rem;margin:0;font-size:.8rem}
 .document-list-controls .entity-filters input,.document-list-controls .entity-filters select{padding:.35rem}
}
@media screen {
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]) .ribbon-large{min-width:64px;padding:.15rem .4rem;font-size:.75rem;gap:.15rem}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]) .ribbon-large svg{width:24px;height:24px}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]) .ribbon-commands{padding:.15rem .6rem}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]) .ribbon-areas a{padding:.25rem .7rem}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]) .session-context strong{font-size:.85rem}
 .document-list-controls .entity-filters input,.document-list-controls .entity-filters select{padding:.3rem .45rem}
 .document-list-controls .entity-filters>button{padding:.4rem .7rem}
 .document-list-controls{max-height:20dvh}
 [data-document-list]{flex:1 0 32dvh}
 [data-document-list]>.entity-toolbar{max-height:14dvh}
 .workspace-page:has([data-document-list])>.document-summary small{display:block;font-size:.72rem;line-height:1.2}
 .workspace-page:has([data-document-list])>.document-summary h2{font-size:.85rem}
}
@media screen and (max-height:500px){
 .app-body:has(.workspace-page:not([hidden]) [data-document-list])>.app-header{max-height:8dvh}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list])>.app-ribbon{max-height:10dvh}
 .document-list-controls{max-height:14dvh}
 [data-document-list]{flex-basis:40dvh}
 .workspace-page:has([data-document-list])>.document-summary{max-height:14dvh}
 .document-window>.app-header{max-height:8dvh}
 #document-form>.document-actions{max-height:14dvh}
 #document-form>fieldset>section.card{height:20dvh;max-height:20dvh}
}
@media screen and (max-height:500px){
 .document-window>.app-header{max-height:6dvh;font-size:.75rem}
 #document-form>.document-actions{max-height:10dvh;padding:.2rem}
 #document-form>fieldset>section.card{height:14dvh;max-height:14dvh;padding:.2rem}
 #document-form>fieldset>.document-line-actions{max-height:10dvh}
 .document-editor .document-actions button,.document-editor .document-line-actions button{font-size:.75rem;padding:.25rem .4rem;margin:0}
 .document-editor .document-totals{font-size:.75rem;padding:.2rem}
 .document-editor .document-total-primary strong{font-size:1.2rem}
}

/* B6-311: the printed account shares the existing references row; no extra header row. */
@media screen and (min-width:901px){
 .document-editor #document-notes .document-references{grid-template-columns:repeat(4,minmax(0,1fr))}
 .document-editor #document-notes .document-references-5{grid-template-columns:repeat(5,minmax(0,1fr))}
 .document-editor #document-notes .document-references-6{grid-template-columns:repeat(6,minmax(0,1fr))}
 .document-editor #document-notes .document-references-7{grid-template-columns:repeat(7,minmax(0,1fr))}
 .document-editor #document-notes .document-references>label{min-width:0}
}
/* B6-063: desktop has a single scrolling region: the document rows.
   Do not apply the small-screen overflow limits to desktop controls. */
@media screen and (min-width:901px){
 .app-body:has(.workspace-page:not([hidden]) [data-document-list])>.app-header,
 .app-body:has(.workspace-page:not([hidden]) [data-document-list])>.app-ribbon,
 .document-list-controls,
 [data-document-list]>.entity-toolbar,
 [data-document-list]>.message,
 .workspace-page:has([data-document-list])>.document-summary{max-height:none;overflow:visible;flex-shrink:0}
 [data-document-list]{flex:1 1 0;min-height:0}
 .document-window>.app-header,
 #document-form>.document-actions,
 #document-form>fieldset>.document-line-actions,
 .document-editor>.message,.document-editor>[role=alert]{max-height:none;overflow:visible;flex-shrink:0}
 #document-form>fieldset>.config-links{flex-wrap:wrap;overflow:visible}
 #document-form>fieldset>section.card{height:auto;min-height:205px;max-height:none;overflow:visible;scrollbar-gutter:auto}
 [data-document-list] .action-menu[open] .action-menu-panel,
 .document-editor .action-menu[open] .action-menu-panel{position:absolute}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]){font-size:14px}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]) .ribbon-group h2{margin:.1rem 0 0}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]) .workspace-tabs{padding:.15rem .4rem 0}
 [data-document-list]>.entity-toolbar button,[data-document-list]>.entity-toolbar .button,[data-document-list]>.entity-toolbar summary{font-size:.75rem;padding:.35rem .45rem}
 .document-list-controls .entity-heading h1{font-size:1.05rem}
 .document-list-controls .entity-filters{gap:.25rem}
 .document-list-controls .customer-filter-options{padding:.15rem .4rem}
 .document-list-controls{position:relative}
 .document-list-controls .customer-filter-options[open]{position:absolute;top:0;left:0;right:0;z-index:30;background:#fff;border:1px solid #91b2d1;box-shadow:0 6px 18px #18334b33;padding:.5rem .75rem}
 .document-list-controls .customer-filter-options[open]>summary{border-bottom:1px solid #c7d7e4;padding-bottom:.35rem;margin-bottom:.35rem}
 .workspace-page:has([data-document-list])>.document-summary p{font-size:.75rem;line-height:1.25;margin:.1rem 0}
 #document-form>fieldset>section.card{min-height:200px!important;font-size:.85rem;padding:.4rem .65rem;margin-bottom:0}
 #document-form>fieldset>section.card .customer-fields{gap:.25rem .65rem}
 #document-form>fieldset>section.card .customer-fields>label{margin:.1rem 0}
 #document-form>fieldset>section.card input:not([type=checkbox]),#document-form>fieldset>section.card select{padding:.25rem .4rem}
 #document-form>fieldset>#document-notes textarea{height:3.5rem;min-height:3.5rem}
 #document-summary .document-tax-settings{margin-top:0;padding:.1rem 0}
 #document-summary .document-tax-settings label{margin:.1rem 0}
 #document-summary h2{margin-bottom:.2rem}
 #document-summary h3{margin:.2rem 0 .1rem}
 #document-form>fieldset>section.card p{margin:.3rem 0;line-height:1.35}
 [data-document-list] .table-wrap td,[data-document-list] .table-wrap th{padding:.4rem .5rem}
 .workspace-page:has([data-document-list])>.document-summary h2{margin:0 0 .15rem}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]) .workspace-tabs a{padding:.3rem .65rem}
}
@media screen and (min-width:901px) and (max-height:800px){
 .app-body:has(.workspace-page:not([hidden]) [data-document-list])>.app-header{padding:.2rem .75rem}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]) .session-user{display:grid;grid-template-columns:auto auto;column-gap:.5rem;align-items:center}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]) .session-user .context-label{grid-column:1/-1;margin:0}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]) .ribbon-large{flex-direction:row;gap:.3rem;padding:.2rem .4rem}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]) .ribbon-areas a{padding:.2rem .7rem}
 .app-body:has(.workspace-page:not([hidden]) [data-document-list]) .ribbon-commands{padding:.15rem .6rem}
}

/* Facturas y gastos comparten Compras y Gastos con una separación interna. */
.ribbon-expense-items{display:flex;gap:.3rem;align-items:stretch}
.ribbon-items>.ribbon-expense-items:not(:first-child){border-inline-start:1px solid #a5bfd6;margin-inline-start:.4rem;padding-inline-start:.7rem}

/* Desktop shell: the home canvas uses remaining space, never a second viewport. */
@media screen and (min-width:901px){
 #document-form>fieldset>section.card{height:var(--document-panel-height,auto);min-height:0!important;overflow:auto}
 #document-form>fieldset>#document-header{overflow:visible}
 #document-form>fieldset>#document-header.document-header-measuring{position:absolute;visibility:hidden;pointer-events:none;height:auto!important;min-height:0!important;max-height:none;display:block!important}
}
@media screen and (min-width:901px){
 .app-body>.app-header,.app-body>.app-ribbon{max-height:none;overflow:visible;flex-shrink:0}
 .app-body .ribbon-commands,.app-body .ribbon-items{flex-wrap:wrap}
 .app-body:has(.workspace-page:not([hidden]) .workspace-home){height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
 .app-frame:has(.workspace-page:not([hidden]) .workspace-home){flex:1;min-height:0;display:flex;flex-direction:column;margin:.3rem}
 .app-frame:has(.workspace-page:not([hidden]) .workspace-home)>.workspace-tabs{flex-shrink:0}
 .app-content:has(.workspace-page:not([hidden]) .workspace-home){flex:1;min-height:0;padding:.4rem;display:flex}
 .workspace-page:not([hidden]):has(.workspace-home){flex:1;min-height:0;display:flex}
 .workspace-page:not([hidden])>.workspace-home{flex:1;min-height:0}
 .workspace-home-brand{padding:.5rem}
 .workspace-home-brand img{width:clamp(70px,17dvh,130px)}
 .workspace-home-brand h1{font-size:clamp(1.5rem,5dvh,3rem)}
 .app-body:has(.workspace-page:not([hidden]) .workspace-home)>footer{flex-shrink:0;padding:.2rem;font-size:.7rem}
}
@media screen and (min-width:901px) and (max-height:800px){
 .app-body>.app-header{padding:.2rem .75rem}
 .app-body .session-user{display:grid;grid-template-columns:auto auto;column-gap:.5rem;align-items:center}
 .app-body .session-user .context-label{grid-column:1/-1;margin:0}
 .app-body .ribbon-large{flex-direction:row;min-width:64px;gap:.3rem;padding:.2rem .4rem;font-size:.75rem}
 .app-body .ribbon-large svg{width:24px;height:24px}
 .app-body .ribbon-areas a{padding:.2rem .7rem}
 .app-body .ribbon-commands{padding:.15rem .6rem}
 .app-body .ribbon-group h2{margin:.1rem 0 0}
}

.template-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}.template-actions>form{margin:0}.template-actions button{box-sizing:border-box;width:11rem;min-height:2.5rem;margin:0;padding:.5rem .75rem;white-space:nowrap}

/* Movements keep the approved fixed frame in the integrated browser's smaller viewport too. */
@media screen{
 .app-body:is(.stock-consultation-frame,.record-editor-frame){height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
 .app-body:is(.stock-consultation-frame,.record-editor-frame)>.app-frame{display:flex;flex-direction:column;flex:1;min-height:0;margin:.3rem}
 :is(.stock-consultation-frame,.record-editor-frame)>.app-frame>.workspace-caption{display:none}
 :is(.stock-consultation-frame,.record-editor-frame)>.app-frame>.workspace-tabs{flex-shrink:0}
 :is(.stock-consultation-frame,.record-editor-frame) .app-content{display:flex;flex:1;min-height:0;overflow:hidden;padding:.4rem .65rem}
 .workspace-page.stock-consultation-page:not([hidden]){display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}
 .stock-consultation-page>*{flex-shrink:0}
 .stock-consultation-page>[data-list-viewport]{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain}
 .stock-consultation-page [data-list-viewport] th{position:sticky;top:0;z-index:2;background:#e3edf5}
 .app-body:is(.stock-consultation-frame,.record-editor-frame)>footer{flex-shrink:0;padding:.2rem;font-size:.7rem}
}
@media screen and (max-width:899px),screen and (max-height:599px){
 .app-body:is(.stock-consultation-frame,.record-editor-frame){font-size:14px}
 .app-body:is(.stock-consultation-frame,.record-editor-frame)>.app-header{flex-shrink:0;flex-wrap:nowrap;padding:.25rem .5rem;gap:.35rem}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .brand{font-size:.85rem}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .brand img{width:26px;height:26px}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .session-context{flex-basis:auto;order:0;gap:.6rem}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .session-company{min-width:0;padding-left:.4rem}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .session-user,.app-body:is(.stock-consultation-frame,.record-editor-frame) .brand,.app-body:is(.stock-consultation-frame,.record-editor-frame) .session-logout{flex-shrink:0}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .session-context strong{font-size:.8rem}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .context-label,.app-body:is(.stock-consultation-frame,.record-editor-frame) .session-role{font-size:.65rem}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .session-logout button{padding:.35rem .5rem}
 .app-body:is(.stock-consultation-frame,.record-editor-frame)>.app-ribbon{flex-shrink:0}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .ribbon-areas{flex-wrap:nowrap;overflow-x:auto;padding:0 .3rem}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .ribbon-areas button{padding:.25rem .5rem;font-size:.75rem;white-space:nowrap}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .ribbon-commands{flex-wrap:nowrap;overflow-x:auto;padding:.2rem .3rem}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .ribbon-group{flex-shrink:0;padding:0 .4rem;max-width:none}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .ribbon-large{flex-direction:row;min-width:0;padding:.2rem;gap:.2rem;font-size:.7rem;white-space:nowrap}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .ribbon-large svg{width:20px;height:20px}
 .app-body:is(.stock-consultation-frame,.record-editor-frame) .ribbon-group h2{margin:.1rem 0 0;font-size:.6rem}
 .stock-consultation-page>.entity-heading,.stock-consultation-page>p{margin:.2rem 0}
 .stock-consultation-page>p{line-height:1.35;font-size:.8rem}
 .stock-consultation-page>.entity-heading h1{font-size:1.1rem;margin:0}
 .stock-consultation-page .entity-filters{gap:.3rem;margin:.2rem 0}
 .stock-consultation-page .entity-filters input,.stock-consultation-page .entity-filters select{padding:.3rem}
 .stock-consultation-page .entity-filters button{padding:.3rem .5rem}
 .stock-consultation-page>.entity-filters{position:relative}
 .stock-consultation-page .customer-filter-options{flex-basis:auto;padding:.2rem .4rem;background:white}
 .stock-consultation-page .stock-movement-filter-panel{position:absolute;top:100%;left:0;right:0;padding:.5rem;max-height:45dvh;overflow:auto;background:white;border:1px solid #cbd8e4;box-shadow:0 4px 12px #173b5026;z-index:5}
 .stock-consultation-page>.entity-toolbar{padding:.3rem;gap:.3rem;margin:.2rem 0}
 .stock-consultation-page>[data-list-viewport] .entity-grid{min-width:960px}
 .stock-consultation-page>.entity-pager{padding:.2rem 0;margin:0;font-size:.8rem}
}

/* Entity lists and Company share a bounded desktop frame; documents keep their own layout. */
@media screen and (min-width:900px) and (min-height:600px){
 .app-body:has(.workspace-page:not([hidden]):is(.desktop-company,.desktop-entity)){height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
 .app-body:has(.workspace-page:not([hidden]):is(.desktop-company,.desktop-entity))>.app-frame{flex:1;min-height:0;display:flex;flex-direction:column;margin:.3rem}
 .app-frame:has(.workspace-page:not([hidden]):is(.desktop-company,.desktop-entity))>.workspace-caption{display:none}
 .app-frame:has(.workspace-page:not([hidden]):is(.desktop-company,.desktop-entity))>.workspace-tabs{flex-shrink:0}
 .app-content:has(.workspace-page:not([hidden]):is(.desktop-company,.desktop-entity)){display:flex;flex:1;min-height:0;overflow:hidden;padding:.4rem .65rem}
 .workspace-page:not([hidden]):is(.desktop-company,.desktop-entity){display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:auto}
 .workspace-page:is(.desktop-company,.desktop-entity)>*{flex-shrink:0}
 .desktop-company>.card[role=tabpanel]:not([hidden]){flex:1;min-height:120px;overflow:auto;margin:.25rem 0;overscroll-behavior:contain}
 .desktop-company>.config-links{flex-wrap:wrap;margin:.3rem 0}
 .desktop-company>h1,.desktop-company>h2,.desktop-company>p{margin:.2rem 0}
 .desktop-entity>.desktop-row-container{display:flex;flex-direction:column;flex:1;min-height:140px;margin:0}
 .desktop-row-container>*{flex-shrink:0}
 .desktop-entity [data-list-viewport],.desktop-entity>[data-list-viewport]{flex:1;min-height:140px;overflow:auto;overscroll-behavior:contain}
 .desktop-entity [data-list-viewport] thead th{position:sticky;top:0;z-index:2;background:#e3edf5}
 .desktop-entity .entity-heading,.desktop-entity .entity-filters,.desktop-entity .entity-toolbar,.desktop-entity>p{margin:.2rem 0}
 .desktop-entity .entity-filters{gap:.3rem}
 .desktop-entity .entity-heading h1{font-size:1.1rem;margin:0}
 .desktop-entity .entity-toolbar{padding:.3rem;gap:.3rem}
 .desktop-entity .entity-filters input,.desktop-entity .entity-filters select{padding:.3rem}
 .app-body:has(.workspace-page:not([hidden]):is(.desktop-company,.desktop-entity))>footer{flex-shrink:0;padding:.2rem;font-size:.7rem}
}
@media screen and (min-width:900px) and (min-height:600px){
 .app-body:has(.workspace-page:not([hidden]):is(.desktop-company,.desktop-entity)){font-size:14px}
 .desktop-entity .entity-filters h2{font-size:1rem;margin:.2rem 0}
 .desktop-entity .entity-filters p{margin:.2rem 0}
 .desktop-entity .entity-filters label{margin:.15rem 0}
 .desktop-entity .entity-toolbar button,.desktop-entity .entity-toolbar .button,.desktop-entity .entity-toolbar summary{font-size:.8rem;padding:.35rem .5rem}
 .desktop-entity .entity-pager{padding:.2rem 0;margin:0;font-size:.8rem}
}
@media screen and (min-width:900px) and (min-height:600px){
 .desktop-entity .stock-search h2{font-size:1rem;margin:.2rem 0}
 .desktop-entity .stock-search p{margin:.2rem 0}
 .desktop-entity .stock-search{margin:.2rem 0}
 .desktop-entity .customer-filter-options,.desktop-entity .list-preferences{padding:.2rem .4rem}
}
@media screen and (min-width:900px) and (min-height:600px){
 .desktop-entity>.desktop-row-container{flex:1 1 0;min-height:160px}
 .desktop-entity .desktop-row-container>[data-list-viewport]{flex:1 1 0;min-height:0}
}
/* Keep record actions and section tabs outside the scrolling fields. */
@media screen and (min-width:900px) and (min-height:600px){
 .desktop-company>.entity-editor:has(>.config-links){display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;margin:0}
 .desktop-company>.entity-editor>.entity-toolbar,.desktop-company>.entity-editor>.config-links,.desktop-company>.entity-editor>p{flex-shrink:0}
 .desktop-company>.entity-editor>.config-links{flex-wrap:wrap;margin:.3rem 0}
 .desktop-company>.entity-editor>.card[role=tabpanel]:not([hidden]){flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;margin:.25rem 0}
 .desktop-company>.stock-detail-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
 .desktop-entity>[data-list-viewport]{flex:1 1 0;min-height:0}
}

/* User records have no tabs: only their fields and permissions scroll. */
@media screen and (min-width:900px) and (min-height:600px){
 /* A flat configuration form scrolls with its workspace. Only an editor with
    its own scrolling fields may clip its outer container. */
 .desktop-company>.user-editor,.desktop-company>.bounded-editor:has(>.bounded-editor-fields){display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;margin:0}
 .desktop-company>.user-editor>.user-editor-fields,.desktop-company>.bounded-editor>.bounded-editor-fields{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
}

@media screen and (min-width:900px) and (min-height:600px){
 .desktop-entity>.stock-count-form{min-height:260px}
 .desktop-entity>.stock-count-form>[data-list-viewport]{min-height:140px}
}

@media screen and (min-width:900px) and (min-height:600px){
 .desktop-entity:has(>.stock-count-form)>h2{font-size:1rem;margin:.2rem 0}
 .desktop-entity:has(>.stock-count-form)>p{line-height:1.3;margin:.15rem 0}
 .stock-count-form>label{margin:.2rem 0}
 .stock-count-form input:not([type=hidden]){padding:.3rem}
}

/* B6-114: navegación global separada; los roles de empresa conservan su marco. */
.superadmin-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;background:#e3edf5;border-bottom:1px solid #a9bfd3;padding:.65rem 1rem;flex-shrink:0}
.superadmin-nav strong{margin-right:1rem}
.superadmin-nav a{padding:.5rem .85rem;border:1px solid #a9bfd3;border-radius:4px;background:white;text-decoration:none}
.superadmin-nav a:hover,.superadmin-nav a:focus-visible{background:#d8ebe6;outline:2px solid #176f60}
.superadmin-start{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}
.superadmin-start a{text-decoration:none}
.superadmin-body .workspace-tabs,.superadmin-body .workspace-caption{display:none!important}
.company-setup-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.4rem;margin:.4rem 0}
.company-setup-steps a{display:flex;flex-direction:column;gap:.2rem;padding:.55rem .7rem;border:1px solid #a9bfd3;border-radius:4px;background:#edf4f8;text-decoration:none}
.company-setup-steps a:hover,.company-setup-steps a:focus-visible{outline:2px solid #176f60;background:#e3f2ed}
.company-setup-steps span{font-size:.85em;color:#526371}
.company-other-actions{margin:.2rem 0}
.company-management-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:.7rem 0}
.company-management-actions form{padding:1rem;border:1px solid #bdcdd7;border-radius:4px;margin:0;display:flex;flex-direction:column;align-items:flex-start}
.company-management-actions h3{margin:0 0 .5rem}
.company-management-actions p{flex:1;margin:.2rem 0 1rem}
.fiscal-verification{padding:.9rem;border:1px solid #a9bfd3;background:#f7fafc;margin:.6rem 0}
.fiscal-verification h3{margin:0 0 .5rem}
.fiscal-verification .customer-fields{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.fiscal-verification textarea{min-height:75px}
.fiscal-help{font-size:.92em;color:#526371}
@media screen and (min-width:900px) and (min-height:600px){
 .superadmin-body{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
 .superadmin-body>.app-header,.superadmin-body>footer{flex-shrink:0}
 .superadmin-body>.app-frame{flex:1;min-height:0;display:flex;flex-direction:column}
 .superadmin-body .app-content{flex:1;min-height:0;overflow:auto}
}
.document-attachments-frame{width:100%;height:620px;border:1px solid #cbd7df}
@media screen{
 .document-editor:has(#document-attachments-tab[aria-selected="true"])>#document-form,
 .document-editor:has(#document-attachments-tab[aria-selected="true"])>#document-form>fieldset{flex:0 0 auto}
 .document-editor:has(#document-attachments-tab[aria-selected="true"]) .document-line-actions,
 .document-editor:has(#document-attachments-tab[aria-selected="true"]) .document-lines{display:none}
 .document-editor>#document-attachments:not([hidden]){flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;margin:.4rem 0 0}
 .document-editor>#document-attachments>h2,.document-editor>#document-attachments>p{flex-shrink:0;margin:.3rem 0}
 .document-editor>#document-attachments>.document-attachments-frame{flex:1;min-height:0;height:0}
}
.master-attachments-frame{width:100%;height:620px;border:1px solid #cbd7df}
@media screen and (min-width:900px) and (min-height:600px){
 .desktop-company:has(>[data-master-attachment-panel][role=tabpanel]:not([hidden]))>.entity-editor{flex:0 0 auto}
 .desktop-company>[data-master-attachment-panel][role=tabpanel]:not([hidden]){display:flex;flex-direction:column;overflow:hidden}
 .desktop-company>[data-master-attachment-panel]>h2,.desktop-company>[data-master-attachment-panel]>p{flex-shrink:0;margin:.3rem 0}
 .desktop-company>[data-master-attachment-panel]>.master-attachments-frame{flex:1;min-height:0;height:0}
}

/* Stock consultation: fixed controls and totals; only the table rows scroll. */
@media screen{
 .workspace-page.stock-consultation-page:not([hidden]){overflow:hidden}
 .stock-consultation-page>.entity-editor{display:flex;flex-direction:column;flex:1;min-height:0;max-width:none;width:100%;overflow:hidden;margin:0}
 .stock-consultation-page>.entity-editor>*{flex-shrink:0}
 .stock-consultation-page>.entity-editor>[data-article-stock][role=tabpanel]:not([hidden]){display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;margin:.25rem 0;padding:.45rem}
 [data-article-stock]>*{flex-shrink:0}
 [data-article-stock]>.article-stock-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem .7rem;padding:0 0 .4rem;font-size:.85rem}
 .article-stock-toolbar>.button{margin:0;padding:.35rem .6rem;font-size:.85rem}
 [data-article-stock]>[data-article-stock-rows]{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain;border-block:1px solid #cbd8e4}
 [data-article-stock] th{position:sticky;top:0;z-index:2;background:#e3edf5}
 [data-article-stock] .entity-grid{min-width:590px}
 [data-article-stock] .entity-grid th,[data-article-stock] .entity-grid td{padding:.25rem .4rem;line-height:1.25}
 [data-article-stock]>.article-stock-summary{padding-top:.3rem}
 .article-stock-summary>p{margin:.15rem 0;font-size:.85rem;line-height:1.35}
 .article-stock-summary>.message{padding:.3rem .5rem}
 .stock-consultation-page>.entity-heading{margin:.2rem 0;justify-content:space-between;flex-wrap:wrap;gap:.2rem .7rem}
 .stock-consultation-page>.entity-heading h1{font-size:1.1rem;margin:0}
 .stock-movement-context{display:flex;flex-wrap:wrap;gap:.15rem .8rem;margin:.25rem 0;line-height:1.35;font-size:.85rem}
 .stock-consultation-page>.stock-movement-filters{position:relative;gap:.3rem .4rem;margin:.3rem 0 .45rem}
 .stock-movement-filters>label{min-width:180px}
 .stock-movement-filters input,.stock-movement-filters select{padding:.3rem}
 .stock-movement-filters button{padding:.3rem .5rem}
 .stock-movement-filters>.customer-filter-options{flex-basis:auto;padding:.2rem .4rem;background:white}
 .stock-movement-filter-panel{position:absolute;top:100%;left:0;right:0;padding:.5rem;max-height:45dvh;overflow:auto;background:white;border:1px solid #cbd8e4;box-shadow:0 4px 12px #173b5026;z-index:5}
 .stock-consultation-page>.entity-pager{padding:.2rem 0;margin:0;font-size:.8rem}
 .stock-consultation-page>p{margin:.2rem 0;line-height:1.35;font-size:.85rem}
}
@media screen and (max-width:899px),screen and (max-height:599px){
 .stock-consultation-page>.entity-editor>.entity-toolbar{padding:.3rem;gap:.5rem;margin:.2rem 0}
 .stock-consultation-page>.entity-editor>.entity-toolbar button{padding:.35rem .6rem;font-size:.85rem}
 .stock-consultation-page>.entity-editor>.config-links{margin:.25rem 0;gap:.15rem}
 .stock-consultation-page>.entity-editor>.config-links a{padding:.35rem .5rem;font-size:.8rem}
}

/* All five record editors share a fixed heading/actions and one scrolling fields area. */
@media screen{
 .workspace-page.record-editor-page:not([hidden]){display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}
 .record-editor-page>*{flex-shrink:0}
 .record-editor-page>.entity-heading{margin:.2rem 0;gap:.3rem .7rem;flex-wrap:wrap}
 .record-editor-page>.entity-heading h1{font-size:1.1rem;margin:0}
 .record-editor-page>p{margin:.2rem 0;line-height:1.35}
 .workspace-page.record-editor-page>.entity-editor{display:flex;flex-direction:column;flex:1;min-height:0;max-width:none;width:100%;overflow:hidden;margin:0}
 .record-editor-page>.entity-editor>*{flex-shrink:0}
 .record-editor-page>.entity-editor>.entity-toolbar{padding:.3rem .5rem;gap:.6rem;margin:.2rem 0}
 .record-editor-page>.entity-editor>.entity-toolbar button{padding:.35rem .6rem;font-size:.85rem}
 .record-editor-page>.entity-editor>.config-links{margin:.25rem 0;gap:.15rem}
 .record-editor-page>.entity-editor>.config-links a{padding:.35rem .5rem;font-size:.85rem}
 .workspace-page.record-editor-page>.entity-editor>.card[role=tabpanel]:not([hidden]):not([data-article-stock]){flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;margin:.25rem 0;padding:.7rem}
 .record-editor-page>.entity-editor>.card>h2{margin:.1rem 0 .5rem;font-size:1.05rem}
 .record-editor-page>.entity-editor>.card>.customer-fields{margin:.4rem 0;padding:.65rem .8rem;gap:.7rem}
 .record-editor-page .customer-fields label{margin:.3rem 0 .2rem}
 .workspace-page.record-editor-page:has(>[data-master-attachment-panel][role=tabpanel]:not([hidden]))>.entity-editor{flex:0 0 auto}
 .workspace-page.record-editor-page>[data-master-attachment-panel][role=tabpanel]:not([hidden]){display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;margin:.25rem 0;padding:.45rem}
 .record-editor-page>[data-master-attachment-panel]>h2{display:none}
 .record-editor-page>[data-master-attachment-panel]>p{flex-shrink:0;margin:0 0 .35rem;font-size:.85rem;line-height:1.35}
}

@media screen and (min-width:600px) and (min-height:500px){
 .record-editor-page>.entity-editor>.card:not([data-article-stock])>h2{display:none}
 .record-editor-page>.entity-editor>.card>p{margin:.2rem 0;font-size:.85rem;line-height:1.35}
 .record-editor-page .customer-fields input:not([type=checkbox]),
 .record-editor-page .customer-fields select{padding:.35rem .5rem}
 .record-editor-page .customer-fields small{display:block;font-size:.75rem;line-height:1.3;margin-top:.2rem}
 .record-editor-page #articulo-Datos>.customer-fields{grid-template-columns:repeat(4,minmax(0,1fr))}
 .record-editor-page .article-description-field{grid-column:span 2}
 .record-editor-page .article-description-field textarea{height:4.25rem;min-height:4.25rem;padding:.35rem .5rem;line-height:1.35}
 .record-editor-page>.entity-editor:is([data-record-editor="Cliente"],[data-record-editor="Proveedor"])>.card>.customer-fields,.record-editor-page [data-bank-row]>.customer-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
 .record-editor-page :is(#cliente-Datos,#proveedor-Datos) .customer-fields>div:has(>:is(#customer-Name,#customer-Address,#supplier-Name,#supplier-Address)){grid-column:span 2}
}
@media screen and (min-width:1100px) and (min-height:500px){
 .record-editor-page #articulo-Datos>.customer-fields{grid-template-columns:repeat(6,minmax(0,1fr))}
 .record-editor-page .article-description-field{grid-column:span 2}
 .record-editor-page>.entity-editor:is([data-record-editor="Cliente"],[data-record-editor="Proveedor"])>.card>.customer-fields,.record-editor-page [data-bank-row]>.customer-fields{grid-template-columns:repeat(5,minmax(0,1fr))}
}

@media screen{
 .record-editor-page>.entity-editor>.user-editor-fields,
 .record-editor-page>.entity-editor>.bounded-editor-fields{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;margin:.25rem 0;padding:.7rem}
 .record-editor-page .user-editor-fields>fieldset{margin:.3rem 0 .8rem;padding:.65rem .8rem;min-width:0}
 .record-editor-page .user-editor-fields p{margin:.3rem 0;line-height:1.35;font-size:.85rem}
 .record-editor-page .user-identity-fields{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.5rem .8rem}
 .record-editor-page .user-permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.3rem .8rem}
 .record-editor-page .user-permissions-grid>p{grid-column:1/-1}
 .record-editor-page .user-permissions-grid>.check{margin:.15rem 0}
 .record-editor-page>.entity-editor>.bounded-editor-fields>.customer-fields{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));padding:0}
}
/* The same approved attachment panel opens in a roomy window for all three records. */
.master-attachments-window{box-sizing:border-box;width:96vw;max-width:1200px;height:94dvh;max-height:94dvh;padding:0;border:1px solid #adc3d4;border-radius:.4rem;color:#183d58;background:#f3f6fa;overflow:hidden}
.master-attachments-window[open]{display:flex;flex-direction:column}
.master-attachments-window::backdrop{background:#173b5080}
.master-attachments-window>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.45rem .75rem;border-bottom:1px solid #cbd7df;flex-shrink:0}
.master-attachments-window>header h2{font-size:1rem;margin:0}
.master-attachments-window>header button{margin:0;padding:.4rem .75rem}
.master-attachments-window>.master-attachments-frame{flex:1;min-height:0;height:0;width:100%;border:0;background:white}

/* Stock list: compact context/search/actions and a single flexible rows viewport. */
@media screen{
 .stock-list-page>.stock-context-controls>.entity-filters{gap:.35rem .55rem;margin:.2rem 0}
 .stock-list-page>.stock-context-controls>.entity-filters label{flex:1;min-width:150px;margin:0}
 .stock-list-page>.stock-context-controls>.entity-filters input,.stock-list-page>.stock-context-controls>.entity-filters select{padding:.3rem .45rem}
 .stock-list-page>.stock-context-controls>.entity-filters button{padding:.35rem .6rem;font-size:.85rem}
 .stock-list-page .stock-search{position:relative;margin:.2rem 0 .4rem}
 .stock-list-page .stock-search>h2,.stock-list-page .stock-search>p{display:none}
 .stock-list-page .stock-search>form{display:flex;flex-wrap:wrap;gap:.35rem .55rem;align-items:flex-end}
 .stock-list-page .stock-search>form>.entity-filters{flex:1;min-width:290px;margin:0;gap:.35rem}
 .stock-list-page .stock-search label{margin:0}
 .stock-list-page .stock-search input,.stock-list-page .stock-search select{padding:.3rem .45rem}
 .stock-list-page .stock-search button{padding:.35rem .6rem;font-size:.85rem}
 .stock-list-page .stock-search .customer-filter-options{flex:0 0 auto;padding:.2rem .4rem;background:white}
 .stock-list-page .stock-search .customer-filter-options>.entity-filters{position:absolute;left:0;right:0;top:100%;z-index:6;background:white;border:1px solid #bdcdd7;box-shadow:0 4px 12px #173b5026;padding:.6rem;max-height:42dvh;overflow:auto}
 .stock-list-page>.stock-list-actions{gap:.4rem .65rem;padding:.3rem .5rem;margin:.2rem 0 .4rem}
 .stock-list-page>.stock-list-actions button,.stock-list-page>.stock-list-actions summary{font-size:.8rem;padding:.35rem .5rem}
 .stock-list-selection-help{font-size:.8rem;line-height:1.3;margin-left:auto}
 .stock-list-page>.entity-list{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden;margin:0}
 .stock-list-page>.entity-list>[data-list-viewport]{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain}
 .stock-list-page [data-list-viewport] .entity-grid{min-width:850px}
 .stock-list-page .entity-grid td,.stock-list-page .entity-grid th{padding:.35rem .5rem;line-height:1.3}
 .stock-list-page>.entity-pager{flex-shrink:0;margin:0;padding:.2rem 0}
}

@media screen{
 .stock-list-page>.stock-context-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:.3rem .8rem;margin:.2rem 0 .4rem}
 .stock-list-page>.stock-context-controls>.entity-filters,.stock-list-page .stock-search{margin:0}
 .stock-list-page>.entity-heading{position:relative;justify-content:flex-start}
 .stock-list-page .stock-list-help{margin-left:auto;padding:0;border:0}
 .stock-list-help>summary{font-size:.8rem}
 .stock-list-help>p{position:absolute;right:0;top:100%;z-index:8;width:32rem;max-width:90vw;max-height:35dvh;overflow:auto;margin:0;padding:.7rem;background:white;border:1px solid #bdcdd7;box-shadow:0 4px 12px #173b5026;font-size:.85rem}
 .stock-list-page .action-menu-panel{max-height:var(--stock-menu-space,30dvh);overflow:auto;margin-top:0}
}
@media screen and (min-width:1100px){
 .stock-list-page>.stock-context-controls{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
 .stock-list-page .stock-context-controls>.entity-filters label{min-width:125px}
 .stock-list-page .stock-search>form{flex-wrap:nowrap}
 .stock-list-page .stock-search>form>.entity-filters{min-width:230px}
 .stock-list-page .stock-search .customer-filter-options>summary{max-width:190px;font-size:.78rem;line-height:1.25}
}

@media screen and (max-width:1099px){
 .stock-list-page .stock-context-controls>.entity-filters>label,
 .stock-list-page .stock-search>form>.entity-filters>label{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.35rem;align-items:center;font-size:.75rem;min-width:140px}
 .stock-list-page .stock-context-controls input,.stock-list-page .stock-context-controls select,.stock-list-page .stock-context-controls .entity-lookup-trigger{font-size:.85rem}
 .stock-list-page .stock-search>form{flex-wrap:nowrap}
 .stock-list-page .stock-search .customer-filter-options>summary{max-width:170px;font-size:.75rem;line-height:1.25}
 .stock-list-page .stock-list-selection-help{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
 .stock-list-page .entity-grid td{white-space:nowrap}
 .stock-list-page .article-description-preview{display:block;white-space:nowrap;max-width:24rem;overflow:hidden;text-overflow:ellipsis}
}
@media screen and (max-width:1099px){
 .stock-list-page .entity-grid td,.stock-list-page .entity-grid th{padding:.25rem .4rem;line-height:1.25}
 .stock-list-page .entity-grid input[type=checkbox]{margin:0}
}

/* Stock detail follows the same tabbed record structure, with separate task forms. */
@media screen{
 .stock-detail-page>.stock-detail-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
 .stock-detail-page .stock-detail-body>*{flex-shrink:0}
 .stock-detail-page .stock-detail-summary h2{font-size:1rem;margin:.25rem 0;max-width:none}
 .stock-detail-page .stock-detail-summary>p{display:flex;flex-wrap:wrap;gap:.2rem 1.25rem;margin:.25rem 0;font-size:.85rem;line-height:1.35}
 .stock-detail-page .stock-detail-summary>.stock-detail-notice{font-size:.8rem}
 .stock-detail-page .stock-detail-summary>.message{padding:.35rem .5rem}
 .stock-detail-page .stock-detail-actions{padding:.3rem .5rem;gap:1rem;margin:.3rem 0}
 .stock-detail-page .stock-detail-context{position:relative;margin-left:auto;padding:0;border:0}
 .stock-detail-context>summary{font-size:.8rem}
 .stock-detail-context>.entity-filters{position:absolute;right:0;top:100%;z-index:6;width:40rem;max-width:90vw;max-height:42dvh;overflow:auto;padding:.7rem;background:white;border:1px solid #bdcdd7;box-shadow:0 4px 12px #173b5026;gap:.5rem}
 .stock-detail-context>.entity-filters label{min-width:150px}
 .stock-detail-context>.entity-filters input,.stock-detail-context>.entity-filters select{padding:.35rem .5rem}
 .stock-detail-context>.entity-filters button{padding:.35rem .6rem;font-size:.85rem}
 .stock-detail-page .stock-detail-body>.config-links{margin:.25rem 0;gap:.15rem}
 .stock-detail-page .stock-detail-body>.config-links a{padding:.35rem .6rem;font-size:.85rem}
 .stock-detail-page .stock-detail-body>.card[role=tabpanel]:not([hidden]){flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:.65rem .8rem .4rem;margin:.25rem 0}
 .stock-detail-page .stock-detail-body>.card>h2{font-size:1rem;margin:0 0 .4rem}
 .stock-detail-page .stock-detail-body>.card>p{font-size:.85rem;line-height:1.35;margin:.3rem 0 .5rem}
 .stock-detail-page .stock-detail-body>.card form>label,.stock-detail-page .customer-fields>label{margin:.3rem 0}
 .stock-detail-page .customer-fields{gap:.65rem}
 .stock-detail-page .stock-detail-body>.card form input{padding:.35rem .5rem}
 .stock-detail-page .stock-detail-body>.card form>button{margin-top:.5rem;padding:.4rem .65rem;font-size:.85rem}
 .stock-detail-page .stock-detail-body>.stock-detail-movements[role=tabpanel]:not([hidden]){display:flex;flex-direction:column;overflow:hidden}
 .stock-detail-movement-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem .75rem;flex-shrink:0;margin-bottom:.4rem}
 .stock-detail-movement-actions>p{font-size:.85rem;line-height:1.3;margin:0}
 .stock-detail-movement-actions>.button{margin:0;padding:.35rem .6rem;font-size:.85rem}
 [data-stock-detail-rows]{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
 [data-stock-detail-rows] th{position:sticky;top:0;z-index:2;background:#e3edf5}
 [data-stock-detail-rows] .entity-grid{min-width:520px}
 [data-stock-detail-rows] .entity-grid td,[data-stock-detail-rows] .entity-grid th{padding:.3rem .45rem;line-height:1.3}
}
@media screen and (min-width:600px) and (min-height:500px){
 .stock-detail-page .stock-detail-body>.card>h2{display:none}
}

/* Company catalogs use one list or one record, within the existing Company tab. */
.catalog-help{position:relative;margin-left:auto;padding:0;border:0}
.catalog-help>div{position:absolute;right:0;top:100%;z-index:7;background:white;border:1px solid #bdcdd7;box-shadow:0 4px 12px #173b5026;padding:.6rem;width:30rem;max-width:85vw;max-height:35dvh;overflow:auto;font-size:.85rem}
.catalog-help p{margin:.25rem 0}
.catalog-status-fields{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.catalog-status-fields>.check{display:flex;align-items:center;gap:.4rem}
.catalog-preserve-help{font-size:.8rem;line-height:1.3}
@media screen and (min-width:600px) and (min-height:500px){
 .company-catalog-frame{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;font-size:14px}
 .company-catalog-frame>.app-header{padding:.35rem .65rem;min-height:0}
 .company-catalog-frame .brand>img{width:26px;height:26px}
 .company-catalog-frame .app-ribbon{flex-shrink:0}
 .company-catalog-frame .ribbon-group{padding:.15rem .35rem}
 .company-catalog-frame .ribbon-group h2{font-size:.65rem;margin:.05rem 0}
 .company-catalog-frame .ribbon-items{gap:.15rem}
 .company-catalog-frame .ribbon-items a{padding:.2rem .35rem;min-height:0;font-size:.75rem;gap:.25rem}
 .company-catalog-frame .ribbon-items a svg{width:22px;height:22px}
 .company-catalog-frame>.app-frame{display:flex;flex-direction:column;flex:1;min-height:0;margin:.3rem}
 .company-catalog-frame .workspace-caption{display:none}
 .company-catalog-frame .workspace-tabs{flex-shrink:0}
 .company-catalog-frame .app-content{display:flex;flex:1;min-height:0;overflow:hidden;padding:.35rem .65rem}
 .company-catalog-frame>footer{flex-shrink:0;padding:.2rem;font-size:.7rem}
 .workspace-page.company-catalog-page:not([hidden]){display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
 .company-catalog-page>h1{font-size:1.1rem;margin:.2rem 0}
 .company-catalog-page>h2{font-size:1rem;margin:.2rem 0}
 .company-catalog-page>p:not(.message){display:none}
 .company-catalog-page>.message{padding:.35rem .5rem;margin:.2rem 0;font-size:.85rem}
 .company-catalog-page>.config-links{flex-wrap:wrap;gap:.1rem;margin:.2rem 0}
 .company-catalog-page>.config-links a{padding:.3rem .45rem;font-size:.8rem}
 .company-catalog-page>.company-catalogs[role=tabpanel]:not([hidden]){display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:.45rem;margin:.2rem 0}
 .company-catalogs .catalog-filters{flex-shrink:0;gap:.3rem .5rem;margin:0 0 .4rem;align-items:flex-end}
 .company-catalogs .catalog-filters label{margin:0;min-width:110px;flex:1}
 .company-catalogs .catalog-filters label:first-of-type{flex:1.1;min-width:150px}
 .company-catalogs .catalog-filters label[for=company-catalog-search]{flex:1.4;min-width:130px}
 .company-catalogs .catalog-filters label[for=company-catalog-state]{flex:.6;min-width:95px}
 .company-catalogs .catalog-filters input,.company-catalogs .catalog-filters select{padding:.3rem .4rem}
 .company-catalogs .catalog-filters button{font-size:.8rem;padding:.35rem .5rem}
 .company-catalogs .catalog-list,.company-catalogs .catalog-editor{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;margin:0}
 .company-catalogs .catalog-actions{flex-shrink:0;gap:.4rem .6rem;padding:.3rem .4rem;margin:0 0 .35rem}
 .company-catalogs .catalog-actions strong{font-size:.85rem}
 .company-catalogs .catalog-actions button,.company-catalogs .catalog-actions .button,.company-catalogs .catalog-actions summary{font-size:.8rem;padding:.35rem .5rem}
 .company-catalogs [data-list-viewport]{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
 .company-catalogs .entity-grid{min-width:530px}
 .company-catalogs .entity-grid th{position:sticky;top:0;z-index:2;background:#e3edf5}
 .company-catalogs .entity-grid th,.company-catalogs .entity-grid td{padding:.3rem .45rem;line-height:1.3}
 .company-catalogs .entity-pager{flex-shrink:0;margin:0;padding:.25rem 0 0;font-size:.8rem}
 .company-catalogs .catalog-fields{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:.2rem .35rem}
 .company-catalogs .catalog-fields p{font-size:.8rem;line-height:1.3;margin:.3rem 0}
 .company-catalogs .customer-fields{gap:.4rem .65rem;margin:0}
 .company-catalogs .catalog-common-fields{grid-template-columns:minmax(110px,.8fr) minmax(180px,2fr) minmax(100px,.7fr)}
 .company-catalogs .catalog-payment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .company-catalogs .catalog-fields label{margin:.25rem 0;font-size:.85rem}
 .company-catalogs .catalog-fields input:not([type=checkbox]),.company-catalogs .catalog-fields select{padding:.35rem .45rem}
 .company-catalogs .catalog-payment-help{margin:.25rem 0;padding:.25rem .4rem;font-size:.8rem}
}
@media screen and (min-width:600px) and (min-height:500px) and (max-width:899px),screen and (min-width:600px) and (min-height:500px) and (max-height:599px){
 .company-catalog-frame>.app-header{flex-shrink:0;flex-wrap:nowrap;padding:.25rem .5rem;gap:.35rem}
 .company-catalog-frame .brand{font-size:.85rem;flex-shrink:0}
 .company-catalog-frame .session-context{flex-basis:auto;order:0;gap:.6rem}
 .company-catalog-frame .session-company{min-width:0;padding-left:.4rem}
 .company-catalog-frame .session-user,.company-catalog-frame .session-logout{flex-shrink:0}
 .company-catalog-frame .session-context strong{font-size:.8rem}
 .company-catalog-frame .context-label,.company-catalog-frame .session-role{font-size:.65rem}
 .company-catalog-frame .session-logout button{padding:.35rem .5rem}
 .company-catalog-frame .ribbon-areas{flex-wrap:nowrap;overflow-x:auto;padding:0 .3rem}
 .company-catalog-frame .ribbon-areas button{padding:.25rem .5rem;font-size:.75rem;white-space:nowrap}
 .company-catalog-frame .ribbon-commands{flex-wrap:nowrap;overflow-x:auto;padding:.2rem .3rem}
 .company-catalog-frame .ribbon-group{flex-shrink:0;padding:0 .4rem;max-width:none}
 .company-catalog-frame .ribbon-large{flex-direction:row;min-width:0;white-space:nowrap}
 .company-catalog-frame .ribbon-group h2{font-size:.6rem}
 .company-catalog-page>h2{display:none}
}

/* Purchase orders use the approved document list/editor; only purchase-specific columns differ. */
.purchase-window .purchase-lines table{min-width:1100px}
.purchase-window .purchase-lines .line-number{width:5rem}
.purchase-window .purchase-lines td{text-align:left}
.purchase-window .purchase-lines td:first-child{text-align:center}
.purchase-window .purchase-lines td[data-line-net]{text-align:right;font-variant-numeric:tabular-nums}
.purchase-window .purchase-lines button:not(.line-article-search){margin:0;padding:.25rem .4rem;max-width:100%;overflow-wrap:anywhere}
.purchase-window .purchase-amounts{grid-template-columns:1fr 1fr 1.3fr}
.purchase-window .purchase-notice{margin:.25rem 0;font-size:.8rem}
.purchase-window .purchase-history{flex:1;min-height:0;overflow:auto}
.purchase-window .purchase-history th{position:sticky;top:0;background:#e4edf5}
.purchase-window .purchase-action{overflow:auto;min-height:0}
.purchase-window [data-purchase-error]{margin:.2rem 0;padding:.3rem;flex-shrink:0}
.purchase-window .purchase-editor>fieldset>section.card[hidden]{display:none}


/* Receipt-specific layout; approved sales and master forms remain unchanged. */
.receipt-window .receipt-lines table{min-width:900px}
.receipt-window .receipt-lines .line-number{width:7rem}
.receipt-window .receipt-lines td:nth-last-child(-n+4){font-variant-numeric:tabular-nums}
.receipt-window .receipt-header-fields{grid-template-columns:repeat(4,minmax(0,1fr))}
.receipt-window .receipt-record-header{flex:0 0 auto;margin:.3rem 0;padding:.5rem;max-height:25dvh;overflow:auto}
.receipt-window .receipt-context{margin:.4rem 0}
.receipt-window .receipt-record-header .customer-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.receipt-window .receipt-lines input[type=checkbox]{width:auto;min-width:0}
.receipt-window #document-header small{display:block;margin-top:.2rem}
@media(max-width:900px){.receipt-window .receipt-header-fields,.receipt-window .receipt-record-header .customer-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
.receipt-window .receipt-lines .line-select{width:4rem}

/* Receipt valuation uses the document grid and keeps physical quantities separate. */
.receipt-window .receipt-valued table { min-width: 1150px; table-layout: auto; }
.receipt-window .receipt-valued th:nth-child(3) { min-width: 240px; }
.receipt-window [data-receipt-value-column] input { width: 5rem; }
.receipt-window [data-receipt-value-column] select { min-width: 6rem; }
.receipt-window [data-receipt-value-column]:last-child { text-align: right; min-width: 5rem; }
.receipt-window .receipt-lines th:first-child { width: 4rem; }
.receipt-window .receipt-lines td { vertical-align: middle; }
.receipt-window .receipt-totals { gap: 1rem; flex-wrap: wrap; }
.receipt-window .receipt-totals strong { margin-left: auto; }
.receipt-window .receipt-view-lines table { min-width: 1150px; }
.receipt-window [hidden] { display: none !important; }

.receipt-window .receipt-lines td:nth-child(4)>input { width: 5.5rem; }
.receipt-window .receipt-lines .line-article-entry { width: 8rem; }
.receipt-window .receipt-value-header p { margin: .25rem 0; }
.receipt-window .receipt-totals strong { font-size: 1.25rem; white-space: nowrap; }
.receipt-window #document-form>fieldset>#document-header.receipt-value-header { display: block; }

/* Pedidos: keep the common listing menu inside the viewport. */
.purchase-report-menu .action-menu-panel{left:auto;right:0;}


.transfer-lines table{table-layout:fixed;min-width:38rem}.transfer-lines textarea{min-height:3.25rem;resize:vertical}.stock-transfer-editor .document-line-actions{margin-top:1rem}
.stock-transfer-window #document-form>fieldset>section.card{height:auto;max-height:28dvh;margin:.35rem 0}
.stock-transfer-window .document-header-fields .transfer-header-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1rem}
.stock-transfer-window .transfer-header-fields>label{grid-column:auto;display:grid;grid-template-columns:9rem minmax(0,1fr);align-items:center;gap:.45rem}
.stock-transfer-window .transfer-header-fields textarea{min-height:2rem;margin:0;padding:.25rem .4rem}
.stock-transfer-window .transfer-help{font-size:.8rem;margin:.35rem 0 0}
.stock-transfer-window [data-transfer-message]:not([hidden]){flex:0 0 auto;max-height:5rem;overflow:auto;margin:.2rem 0;padding:.3rem}
.stock-transfer-window .transfer-record-header{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem 1rem}
.stock-transfer-window .transfer-record-header p{margin:0;overflow-wrap:anywhere}
.stock-transfer-window .transfer-record-header p:nth-last-child(-n+2){grid-column:1/-1}
.supplier-return-window #document-form>fieldset>section.card{overflow:auto}
.direct-return-lines table{table-layout:fixed;min-width:55rem}.direct-return-lines textarea{min-height:3.25rem;resize:vertical}
/* Direct-return columns use the external stylesheet, as required by the document CSP. */
.supplier-return-window .direct-return-lines col:nth-child(1){width:3rem}
.supplier-return-window .direct-return-lines col:nth-child(2){width:9rem}
.supplier-return-window .direct-return-lines col:nth-child(3){width:auto}
.supplier-return-window .direct-return-lines col:nth-child(4){width:6.5rem}
.supplier-return-window .direct-return-lines col:nth-child(5){width:14rem}
.supplier-return-window .direct-return-lines td:nth-child(4) input{text-align:right}
.stock-transfer-window .transfer-lines col:nth-child(1){width:17%}
.stock-transfer-window .transfer-lines col:nth-child(2){width:55%}
.stock-transfer-window .transfer-lines col:nth-child(3){width:13%}
.stock-transfer-window .transfer-lines col:nth-child(4){width:15%}
.stock-transfer-window .stock-transfer-editor .transfer-lines col:nth-child(1){width:3rem}
.stock-transfer-window .stock-transfer-editor .transfer-lines col:nth-child(2){width:12rem}
.stock-transfer-window .stock-transfer-editor .transfer-lines col:nth-child(3){width:auto}
.stock-transfer-window .stock-transfer-editor .transfer-lines col:nth-child(4){width:8rem}
@media(max-width:700px){.stock-transfer-window .transfer-header-fields>label{display:block}.stock-transfer-window .transfer-record-header{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* B6-231: quantities keep compact columns; description receives the main width. */
.purchase-pending-grid{table-layout:fixed;min-width:1700px;}
.purchase-pending-grid th{white-space:normal;}
.purchase-pending-grid td{overflow-wrap:anywhere;}
.purchase-pending-grid td:nth-child(n+6):nth-child(-n+11){text-align:right;}

/* B6-275: one company identity, with a compact context in auxiliary windows. */
.session-company,.session-user{min-width:0}
:is(.window-session-header,.document-window>.app-header){max-height:none;overflow:visible;flex-wrap:wrap;padding:.35rem .6rem;gap:.4rem .8rem}
:is(.window-session-header,.document-window>.app-header) .session-context{flex-basis:auto;order:0;gap:.8rem;flex-wrap:wrap;font-size:.8rem}
:is(.window-session-header,.document-window>.app-header) .context-label{display:none}
:is(.window-session-header,.document-window>.app-header) .session-company{border-left:1px solid #62d4b9;padding-left:.6rem;flex:0 1 auto}
:is(.window-session-header,.document-window>.app-header) .session-context strong{font-size:.8rem}
:is(.window-session-header,.document-window>.app-header) .session-user{display:flex;align-items:center;gap:.4rem;flex:0 0 auto}
:is(.window-session-header,.document-window>.app-header) .session-role{display:inline;font-size:.75rem}
@media(max-width:700px){:is(.window-session-header,.document-window>.app-header) .session-context{flex:1 1 100%;justify-content:space-between;gap:.4rem .8rem}}
/* Advisory valuation review is local to the document editor; existing selection is preserved. */
@media screen {
 .document-editor .document-lines tr.document-line-needs-review:not(.document-line-selected)>td{background:#fff4d2}
 .document-editor .document-lines tr.document-line-needs-review>td:first-child{box-shadow:inset 3px 0 #b58017}
 .document-editor .document-line-review-hint{color:#765000;font-size:.85em}
 .document-editor .document-line-actions button.document-line-review{background:#fff4d2;color:#654700;border:1px solid #b58017;white-space:nowrap}
}
@media print{.document-line-review-hint,[data-review-lines]{display:none!important}}
