:root { font-family:Arial,Helvetica,sans-serif; color:#122f5a; background:#f4f6fa; }
* { box-sizing:border-box; } body { margin:0; min-height:100vh; background:#f4f6fa; } a { color:#1559df; text-decoration:none; } a:hover { text-decoration:underline; }
.container { width:min(1280px,calc(100% - 2rem)); margin:0 auto; padding:2rem 0; } header { color:#fff; background:#173f77; box-shadow:0 2px 7px #0003; } header.container { width:100%; max-width:none; padding:0; } nav { width:min(1280px,calc(100% - 2rem)); min-height:56px; margin:auto; display:flex; align-items:center; justify-content:space-between; } header nav + nav { min-height:48px; justify-content:flex-start; gap:1.65rem; border-top:1px solid #315689; } header a { color:#fff; } header a:hover { color:#fff; } nav strong { font-size:1.1rem; } nav span { display:flex; align-items:center; gap:.65rem; font-size:.9rem; }
.container > a:first-child[href] { display:inline-flex; align-items:center; min-height:38px; margin:0 0 1rem; padding:.42rem .85rem; color:#174fb6; font-weight:700; background:#fff; border:1px solid #8eabe0; border-radius:.4rem; box-shadow:0 2px 5px #173f7714; text-decoration:none; transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease; }
.container > a:first-child[href]:hover { color:#fff; background:#1c50d6; border-color:#1c50d6; box-shadow:0 4px 10px #173f772b; text-decoration:none; transform:translateY(-1px); }
.container > a:first-child[href]:focus-visible { color:#fff; background:#1c50d6; border-color:#1c50d6; outline:3px solid #9fc0ff; outline-offset:2px; }
h1 { margin:0 0 .75rem; font-size:2.55rem; font-weight:400; color:#123764; } h2 { margin:0 0 1rem; font-size:1.25rem; font-weight:400; } p { line-height:1.5; color:#536f96; }
article { width:344px; max-width:100%; margin:22px auto; padding:0; } article h1 { margin-bottom:10px; } .master-link { margin-left:22px; color:#495057; font-weight:400; }
section { margin-bottom:1.5rem; padding:1.25rem; background:#fff; border:1px solid #d3dce8; border-radius:.35rem; } .grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin-bottom:1.5rem; }
form { margin:0; } label { display:block; margin:0 0 1rem; font-size:1rem; font-weight:400; } input,select { display:block; width:100%; height:38px; margin-top:.25rem; padding:.375rem .75rem; color:#212529; font:inherit; background:#fff; border:1px solid #ced4da; border-radius:.25rem; outline:0; } input:focus,select:focus { border-color:#86b7fe; box-shadow:0 0 0 .2rem rgba(13,110,253,.25); }
textarea { display:block; width:100%; margin-top:.25rem; padding:.6rem .75rem; color:#212529; font:inherit; background:#fff; border:1px solid #ced4da; border-radius:.25rem; outline:0; } textarea:focus { border-color:#86b7fe; box-shadow:0 0 0 .2rem rgba(13,110,253,.25); }
input[type="checkbox"] { display:inline-block; width:16px; height:16px; margin:0 .5rem 0 0; vertical-align:-3px; } label.checkbox { margin-bottom:.85rem; }
button { min-height:38px; padding:.375rem .9rem; color:#fff; font:600 1rem Arial,sans-serif; background:#1c50d6; border:1px solid #1c50d6; border-radius:.35rem; cursor:pointer; } button:hover { background:#123fbc; border-color:#123fbc; } .inline { display:inline; } .inline button { min-height:32px; padding:.25rem .6rem; color:#fff; background:transparent; border-color:transparent; }
.button-link { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:.375rem .9rem; color:#fff; font:600 1rem Arial,sans-serif; background:#1c50d6; border:1px solid #1c50d6; border-radius:.35rem; cursor:pointer; text-decoration:none; } .button-link:hover { color:#fff; text-decoration:none; background:#123fbc; border-color:#123fbc; } .button-link.secondary { color:#29496f; background:#fff; border-color:#aebed2; } .button-link.secondary:hover { color:#173f77; background:#edf2f8; border-color:#8ea5c1; }
table { width:100%; border-collapse:collapse; } th,td { padding:.75rem; text-align:left; border-bottom:1px solid #dee2e6; } th { color:#495057; font-size:.85rem; font-weight:600; background:#f8f9fa; } th.sortable-column { cursor:pointer; user-select:none; white-space:nowrap; } th.sortable-column::after { content:'↕'; margin-left:.4rem; color:#7690b5; font-size:.85em; } th.sortable-column[data-sort-direction="asc"]::after { content:'↑'; color:#174fb6; } th.sortable-column[data-sort-direction="desc"]::after { content:'↓'; color:#174fb6; } th.sortable-column:focus { outline:2px solid #86b7fe; outline-offset:-2px; } small { color:#6c757d; } ul { padding-left:1.2rem; } [role="alert"] { margin-bottom:1rem; padding:.75rem 1rem; color:#842029; background:#f8d7da; border:1px solid #f5c2c7; border-radius:.25rem; }
#client-form .grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem 1.25rem; margin:0 0 1.25rem; } #client-form label { margin:0; } #client-form label:has(textarea),#client-form label:has(input[name="address"]) { grid-column:span 2; } #client-form textarea { height:132px; resize:none; line-height:1.45; } .location-search:disabled { color:#6c757d; background:#e9ecef; cursor:not-allowed; }
.client-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; color:#324d73; } .client-summary div { padding:.85rem; background:#f7f9fc; border:1px solid #dce4ef; border-radius:.3rem; } #client-form label:has(#city) { display:none; }
.client-editor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem 1.25rem; } .client-editor-grid label { margin:0; } .client-editor-grid .wide { grid-column:span 2; } .client-editor-grid textarea { height:180px; resize:none; } .client-fiscal-row { grid-column:1 / -1; display:flex; align-items:flex-end; gap:1.25rem; padding:.7rem .85rem; border:1px solid #dce4ef; border-radius:.45rem; background:#f7f9fc; } .client-fiscal-row label { margin:0; } .client-fiscal-row .checkbox { width:auto; margin:0 0 .55rem; white-space:nowrap; } .client-fiscal-row .withholding-rate { width:112px; flex:none; } .form-actions { display:flex; align-items:center; gap:.8rem; margin-top:1.25rem; } button.danger { color:#b42318; background:#fff; border-color:#d92d20; } button.danger:hover { color:#fff; background:#b42318; } #save-status { color:#176b3a; font-weight:600; }
.client-editor-grid input[readonly],#supplier-form input[readonly] { color:#52657f; background:#e9eef5; border-color:#c7d1de; cursor:not-allowed; }
.client-tabtool { padding:0; overflow:hidden; } .tab-buttons { display:flex; gap:0; overflow-x:auto; background:#eef3fb; border-bottom:1px solid #cbd7e7; } button.tab-button { min-width:145px; padding:.8rem 1.1rem; color:#38577f; background:transparent; border:0; border-right:1px solid #d7e0ec; border-radius:0; } button.tab-button:hover { color:#164fc9; background:#e2eafb; } button.tab-button.active { color:#fff; background:#1c50d6; } .tab-panel { padding:1.25rem; } .tab-panel[hidden] { display:none; } .tab-panel > h2 { margin-bottom:.5rem; }
.company-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; line-height:1.5; } .settings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; } .settings-card { min-height:130px; padding:1.1rem; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:.45rem; color:#173f77; text-align:left; background:#fff; border:1px solid #cfdae9; border-radius:.5rem; box-shadow:0 2px 5px #163b6812; } .settings-card:hover { color:#164fc9; text-decoration:none; background:#f7f9fd; border-color:#83a6df; } .settings-card span { font-size:1.55rem; } .settings-card strong { font-size:1.05rem; } .settings-card small { color:#617895; font-weight:400; } .future-message { padding:.8rem 1rem; color:#284d7b; background:#eaf1fc; border:1px solid #bdd0ed; border-radius:.35rem; }
.list-page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem; margin:.35rem 0 1.25rem; } .list-page-heading-copy h1 { margin-bottom:.35rem; } .list-page-heading-copy p { margin:0; } .list-new-action { flex:none; margin-top:.15rem; } .unified-search-section { padding:1rem 1.25rem; } .unified-list-search.list-toolbar { justify-content:flex-start; } .unified-list-search:not(.budget-search-grid) { display:flex; align-items:flex-end; gap:.75rem; flex-wrap:wrap; } .unified-list-search:not(.budget-search-grid) > label { flex:0 1 620px; min-width:min(100%,260px); margin:0; } .unified-list-search:not(.budget-search-grid) > div { display:flex; align-items:flex-end; gap:.5rem; } .list-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; } .list-toolbar label { flex:1; max-width:620px; margin:0; } .payment-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:850px; gap:1rem; } .payment-form-grid input[readonly] { color:#52657f; background:#e9eef5; cursor:not-allowed; }
.data-pager { display:flex; align-items:center; justify-content:center; gap:.45rem; margin-top:1rem; } .data-pager .page-numbers { display:flex; flex-wrap:wrap; justify-content:center; gap:.35rem; } .data-pager button { min-width:38px; padding:.35rem .65rem; color:#1c50d6; background:#fff; border-color:#9eb7df; } .data-pager button:hover:not(:disabled),.data-pager button.active { color:#fff; background:#1c50d6; border-color:#1c50d6; } .data-pager button:disabled { color:#8a99ae; background:#eef1f5; border-color:#d5dce6; cursor:not-allowed; } .page-summary { margin:.65rem 0 0; color:#657a98; text-align:center; font-size:.9rem; }
.confirm-dialog { width:min(440px,calc(100% - 2rem)); padding:0; color:#173f77; background:#fff; border:1px solid #b9c9df; border-radius:.65rem; box-shadow:0 18px 50px #102a4f55; } .confirm-dialog::backdrop { background:#0c1f3a88; backdrop-filter:blur(2px); } .confirm-dialog form { padding:1.5rem; } .confirm-dialog h2 { margin-bottom:.55rem; font-size:1.4rem; font-weight:600; } .confirm-dialog p { margin:.25rem 0 1.4rem; color:#4d6586; } .confirm-actions { display:flex; justify-content:flex-end; gap:.65rem; } button.secondary { color:#29496f; background:#fff; border-color:#aebed2; } button.secondary:hover { color:#173f77; background:#edf2f8; border-color:#8ea5c1; }
.contacts-grid { align-items:start; } .contacts-grid form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem 1rem; } .contacts-grid form label { margin:0; } .contacts-grid form button { width:max-content; } .delete-contact { color:#b42318; background:#fff; border-color:#e5a0a0; } .delete-contact:hover { color:#fff; background:#b42318; border-color:#b42318; }
.article-price-title { margin-top:1.75rem; } .article-price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem 1.25rem; max-width:900px; padding:1rem; background:#f7f9fc; border:1px solid #dce4ef; border-radius:.45rem; } .article-price-grid label { margin:0; padding:.15rem .35rem; } .article-price-grid label:first-child { grid-column:1 / -1; max-width:430px; margin-bottom:.35rem; padding:0; } .article-price-grid input { background:#fff; } .article-price-grid input[readonly] { color:#52657f; background:#e9eef5; border-color:#c7d1de; cursor:not-allowed; } #article-surcharge { display:block; margin-top:.35rem; } #article-status,#stock-status { color:#176b3a; font-weight:600; }
.article-pricing-toolbar { display:flex; align-items:end; gap:1.5rem; margin:1.5rem 0 1rem; padding:1rem; background:#eef4ff; border:1px solid #cbd9ed; border-radius:.45rem; } .article-pricing-toolbar label { min-width:220px; margin:0; } .article-pricing-toolbar p { margin:0; } .article-price-section { margin:1rem 0 0; padding:1.1rem; border:1px solid #d8e2ef; border-radius:.5rem; } .article-price-section h2 { margin-bottom:.85rem; color:#173f77; font-size:1.15rem; font-weight:600; } .purchase-price-section { background:#fafcff; } .sales-price-section { background:#f7f9fc; } #article-full-form input[type="number"],#article-full-form input[name="currentStock"],#article-work-panel input[type="number"],#article-full-form select[name="purchaseVatRateId"],#article-full-form select[name="vatRateId"] { max-width:190px; } .purchase-price-grid { grid-template-columns:repeat(3,190px); max-width:780px; padding:0; background:transparent; border:0; } .purchase-price-grid label:first-child { grid-column:auto; max-width:none; margin:0; padding:.15rem .35rem; } .sales-price-grid { grid-template-columns:repeat(5,minmax(155px,1fr)); max-width:none; padding:0; background:transparent; border:0; } .sales-price-grid .tax-selector { grid-column:1 / -1; max-width:430px; margin-bottom:.3rem; padding:0; } .sale-price-column { display:grid; gap:.65rem; align-content:start; padding:.85rem; background:#fff; border:1px solid #d6e0ed; border-radius:.45rem; } .sale-price-column h3 { margin:0; color:#214e86; font-size:1rem; font-weight:700; } .sale-price-column label { margin:0; padding:0; }
.warehouse-stock-caption { min-height:1.5rem; margin:.75rem 0 0; color:#294f7d; font-weight:600; } .warehouse-stock-breakdown { margin-top:1.15rem; padding:1rem; background:#f7f9fc; border:1px solid #d7e1ee; border-radius:.45rem; } .warehouse-stock-breakdown th:last-child,.warehouse-stock-breakdown td:last-child { text-align:right; } .warehouse-stock-breakdown tfoot th { color:#173f77; background:#edf3fb; border-top:2px solid #bdcce0; } #article-work-panel { padding:0; overflow:hidden; } #article-work-panel .tab-panel { padding:1.25rem; } .barcode-entry { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.75rem; margin:1rem 0; } .barcode-entry label { flex:0 1 360px; margin:0; } #barcode-status { color:#176b3a; font-weight:600; }
.budget-search-grid { display:grid; grid-template-columns:2fr repeat(3,minmax(150px,1fr)) auto; align-items:end; gap:1rem; } .budget-search-grid label { margin:0; } .center-actions { display:flex; justify-content:center; margin:1.1rem 0 2rem; } .budget-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; } .document-status { display:inline-flex; align-items:center; min-height:31px; padding:.3rem .75rem; color:#27476f; font-weight:700; background:#e8eef7; border:1px solid #bdcbe0; border-radius:1rem; } .status-enviado { color:#7a4b00; background:#fff2cc; border-color:#e8c666; } .status-aceptado { color:#176b3a; background:#dff5e7; border-color:#9ed6b3; } .status-rechazado,.status-anulado { color:#9d221d; background:#fde7e7; border-color:#eab2b2; } .status-convertido { color:#174fb6; background:#e0eaff; border-color:#abc1ee; } .status-expired { color:#704219; background:#f3e7dc; border-color:#d6b898; }
.budget-header-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem 1.25rem; } .budget-header-grid label { margin:0; } .budget-header-grid .wide { grid-column:span 2; } .budget-client-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.25rem 0 1.5rem; padding:1rem; color:#324d73; background:#f7f9fc; border:1px solid #dce4ef; border-radius:.4rem; } .budget-lines-wrap { overflow-x:auto; margin-bottom:1rem; border:1px solid #d6e0ed; border-radius:.4rem; } .budget-lines { min-width:1080px; } .budget-lines th { color:#fff; background:#2452d6; } .budget-lines td { padding:.55rem; vertical-align:middle; } .budget-lines input,.budget-lines select { min-width:105px; margin:0; } .budget-lines .line-article { min-width:190px; } .budget-lines .line-description { min-width:250px; } .budget-lines .line-total { min-width:105px; text-align:right; font-weight:700; white-space:nowrap; } .budget-lines .line-remove { min-width:38px; padding:.25rem .55rem; }
.budget-tax-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.75rem; margin:1.35rem 0; } .budget-tax-summary > div { padding:1rem; background:#f8faff; border:1px solid #d5dfed; border-radius:.45rem; } .budget-totals { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:1.3rem; margin:1rem 0 1.4rem; padding:1rem; color:#173f77; background:#f8faff; border-radius:.4rem; } .budget-totals span:last-child { font-size:1.1rem; } .document-actions { display:flex; flex-wrap:wrap; gap:.65rem; } #budget-state-actions { display:flex; flex-wrap:wrap; gap:.65rem; } #budget-save-status,#withholding-settings-status { color:#176b3a; font-weight:600; }
.print-document { color:#111; background:#fff; } .print-toolbar { display:flex; justify-content:flex-end; gap:.6rem; margin-bottom:1.5rem; } .print-header { display:grid; grid-template-columns:260px minmax(0,1fr); gap:2rem; min-height:126px; padding-bottom:1rem; border-bottom:2px solid #173f77; } .print-logo-slot { display:flex; align-items:flex-start; min-height:110px; } .print-company-logo { display:block; width:auto; max-width:240px; height:auto; max-height:110px; object-fit:contain; } .print-company-logo.missing { display:none; } .print-company-details { text-align:right; } .print-company-details h1 { margin:0 0 .3rem; font-size:1.35rem; } .print-company-details small { display:block; margin-bottom:.2rem; } .print-company-details p { margin:.25rem 0 0; color:#222; line-height:1.4; } .print-document-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin:1.25rem 0; } .print-document-heading h1 { margin:0; } .print-document-heading p { margin:0; color:#222; text-align:right; line-height:1.45; } .print-document section { border-color:#ddd; box-shadow:none; } .print-document table { margin:1rem 0; }
@media (max-width:760px) { .container,nav { width:calc(100% - 2rem); } .container { padding:1.5rem 0; } article { margin:32px auto; } .grid,#client-form .grid,.client-summary,.client-editor-grid,.company-summary,.settings-grid,.article-price-grid,.sales-price-grid,.budget-search-grid,.budget-header-grid,.budget-client-summary { grid-template-columns:1fr; gap:1rem; } .client-editor-grid .wide,#client-form label:has(textarea),#client-form label:has(input[name="address"]),.budget-header-grid .wide,.sales-price-grid .tax-selector { grid-column:auto; } .client-fiscal-row { grid-column:auto; flex-wrap:wrap; align-items:flex-end; gap:.75rem; } .client-fiscal-row .withholding-rate { width:100px; } .article-pricing-toolbar { align-items:stretch; flex-direction:column; gap:.75rem; } .article-pricing-toolbar label { min-width:0; } .form-actions { align-items:stretch; flex-direction:column; } .list-page-heading { align-items:stretch; flex-direction:column; } .list-new-action { align-self:flex-end; } .unified-list-search:not(.budget-search-grid) { align-items:stretch; flex-direction:column; } .unified-list-search:not(.budget-search-grid) > label { flex-basis:auto; width:100%; } .unified-list-search:not(.budget-search-grid) > div { align-items:stretch; } .budget-heading { flex-direction:column; } .print-header { grid-template-columns:1fr; gap:1rem; } .print-document-heading p { text-align:left; } .print-document-heading { flex-direction:column; } .budget-totals { justify-content:flex-start; flex-direction:column; gap:.5rem; } section { padding:1rem; } button { min-height:42px; } table { display:block; overflow-x:auto; white-space:nowrap; } .data-pager { flex-wrap:wrap; } .data-pager .page-numbers { order:3; width:100%; } }
.line-order-actions { display:grid; grid-template-columns:1.5rem repeat(3,2.35rem); align-items:center; gap:.3rem; min-width:9.5rem; }
.line-order-actions .line-number { color:#46617f; text-align:center; font-weight:700; }
.line-order-actions button { min-width:2.35rem; min-height:2.35rem; padding:.2rem; font-size:1rem; line-height:1; }
.line-order-actions button:disabled { cursor:not-allowed; opacity:.35; }
.line-order-actions.drag-only { grid-template-columns:1.5rem 2.35rem; min-width:4.5rem; }
.delivery-line-sortable { cursor:grab; touch-action:none; }
.delivery-line-sortable input,.delivery-line-sortable select,.delivery-line-sortable textarea { cursor:auto; }
.delivery-line-dragging { opacity:.55; background:#eaf1ff; cursor:grabbing; user-select:none; }
.budget-line-sortable { cursor:grab; touch-action:none; }
.budget-line-sortable input,.budget-line-sortable select,.budget-line-sortable textarea { cursor:auto; }
.budget-line-dragging { opacity:.55; background:#eaf1ff; cursor:grabbing; user-select:none; }
.budget-lines .line-article-search { min-width:220px; }
.budget-lines textarea.line-description { box-sizing:border-box; width:100%; min-width:300px; min-height:42px; margin:0; resize:none; overflow-wrap:anywhere; white-space:pre-wrap; line-height:1.35; }
.print-document tbody td:first-child { white-space:pre-wrap; overflow-wrap:anywhere; }
.company-logo-layout { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr); gap:1.5rem; align-items:start; }
.company-logo-preview { display:flex; align-items:center; justify-content:center; min-height:260px; padding:1.25rem; color:#60738d; text-align:center; background:#f8faff; border:1px solid #d5dfed; border-radius:.55rem; }
.company-logo-preview img { display:block; max-width:100%; max-height:240px; object-fit:contain; }
.company-logo-drop { margin:1rem 0; padding:2rem 1rem; color:#365578; text-align:center; background:#f8faff; border:2px dashed #9db1ca; border-radius:.55rem; cursor:pointer; transition:.15s ease; }
.company-logo-drop:hover,.company-logo-drop:focus,.company-logo-drop.dragging { color:#173f77; background:#eef4ff; border-color:#2452d6; outline:none; }
.company-logo-details { display:grid; gap:.35rem; margin:1rem 0; }
.company-logo-details > div { display:grid; grid-template-columns:6rem 1fr; gap:.75rem; }
.company-logo-details dt { color:#60738d; font-weight:700; }
.company-logo-details dd { margin:0; overflow-wrap:anywhere; }
#company-logo-status { color:#176b3a; font-weight:600; }
@media (max-width:760px) { .company-logo-layout { grid-template-columns:1fr; } .company-logo-preview { min-height:190px; } }
#family-form .client-editor-grid { grid-template-columns:minmax(150px,220px) minmax(360px,1fr); max-width:980px; }
#family-form label:has(input[name="id"]) { display:none; }
#family-form input[name="code"] { max-width:220px; }
#family-form label:has(input[name="name"]) { min-width:0; }
#family-form .client-editor-grid .wide { grid-column:1 / -1; }
@media (max-width:760px) { #family-form .client-editor-grid { grid-template-columns:1fr; } #family-form input[name="code"] { max-width:100%; } }
#client-editor .client-editor-grid > *,#supplier-full-form .client-editor-grid > *,#client-form .grid > * { order:10; }
#client-editor label:has(input[name="code"]),#supplier-full-form label:has(input[name="code"]),#client-form label:has(input[name="code"]) { grid-column:1; max-width:210px; order:1; }
#client-editor input[name="code"],#supplier-full-form input[name="code"],#client-form input[name="code"] { max-width:210px; }
#client-editor label:has(input[name="name"]),#supplier-full-form label:has(input[name="name"]),#client-form label:has(input[name="name"]) { grid-column:1 / -1; width:min(100%,960px); order:2; }
#client-editor label:has(input[name="tradeName"]),#supplier-full-form label:has(input[name="tradeName"]),#client-form label:has(input[name="tradeName"]) { grid-column:1 / -1; width:min(100%,960px); order:3; }
@media (max-width:760px) { #client-editor label:has(input[name="code"]),#supplier-full-form label:has(input[name="code"]),#client-form label:has(input[name="code"]),#client-editor label:has(input[name="name"]),#supplier-full-form label:has(input[name="name"]),#client-form label:has(input[name="name"]),#client-editor label:has(input[name="tradeName"]),#supplier-full-form label:has(input[name="tradeName"]),#client-form label:has(input[name="tradeName"]) { grid-column:auto; width:100%; max-width:100%; } }
.entity-view-mode input[readonly],.entity-view-mode textarea[readonly],.entity-view-mode select:disabled { color:#243f63; background:#f3f6fa; border-color:#d8e0ea; box-shadow:none; cursor:default; opacity:1; -webkit-text-fill-color:#243f63; }
.entity-view-mode input[type="checkbox"]:disabled,.entity-view-mode input[type="radio"]:disabled { cursor:default; opacity:1; }
.entity-view-mode textarea[readonly] { resize:none; }
.entity-edit-button { min-width:100px; }
.entity-cancel-button { min-width:100px; }
@media print { .print-toolbar { display:none!important; } .print-document .container { width:100%; padding:0; } .print-document section { break-inside:avoid; } }
.page-heading,.section-heading,.document-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin:.35rem 0 1.25rem; }
.page-heading p,.section-heading small,.document-heading p { margin:0; }
.document-search-grid { display:grid; grid-template-columns:minmax(260px,2fr) repeat(4,minmax(135px,1fr)) auto; align-items:end; gap:.8rem; }
.document-search-grid label { margin:0; }
.pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:.45rem; margin-top:1rem; }
.pagination button { color:#1c50d6; background:#fff; border-color:#9eb7df; }
.pagination button:disabled { color:#8a99ae; background:#eef1f5; border-color:#d5dce6; cursor:not-allowed; }
.invoice-origins { margin:1rem 0 1.5rem; padding:1rem; background:#f8faff; border:1px solid #d5dfed; border-radius:.45rem; }
.invoice-origins .section-heading { margin:0; }
#invoice-origin-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); gap:.65rem; margin-top:1rem; }
.invoice-origin-option { display:flex; gap:.55rem; margin:0; padding:.75rem; background:#fff; border:1px solid #d6e0ed; border-radius:.4rem; cursor:pointer; }
.invoice-origin-option input { flex:none; margin-top:.15rem; }
#invoice-lines tr[draggable="true"] { cursor:grab; }
#invoice-lines tr[draggable="true"]:active { cursor:grabbing; background:#eaf1ff; }
.status-emitido { color:#176b3a; background:#dff5e7; border-color:#9ed6b3; }
@media (max-width:900px) { .document-search-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .document-search-grid > :first-child { grid-column:1 / -1; } }
@media (max-width:760px) { .page-heading,.section-heading,.document-heading { flex-direction:column; } .page-heading > button { align-self:flex-end; } .document-search-grid { grid-template-columns:1fr; } .document-search-grid > :first-child { grid-column:auto; } }
/* Facturación masiva */
.heading-actions,.mass-filters,.mass-options,.section-heading,.mass-summary{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.mass-filters label,.mass-options label{min-width:180px;flex:1}.mass-options .checkbox{align-self:center;flex:2}.mass-workspace{display:grid;grid-template-columns:minmax(380px,1fr) minmax(440px,1.15fr);gap:18px}.mass-workspace>section{min-width:0;margin:0}.mass-workspace table{width:100%}.mass-workspace tbody tr{cursor:pointer}.mass-workspace tbody tr:hover,.mass-workspace .selected-row{background:#e9f0ff}.mass-workspace input[type=checkbox]{width:18px;height:18px}.mass-summary{justify-content:space-between;margin-top:18px}.mass-summary strong{font-size:1.05rem}.mass-results{margin-top:18px}
@media(max-width:850px){.mass-workspace{grid-template-columns:1fr}.mass-filters label,.mass-options label{min-width:140px}.mass-summary{align-items:stretch}.mass-summary button{width:100%}}
