:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172b3d;background:#f3f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:#126d96;text-decoration:none}header{height:76px;background:#14293b;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:12px}header a{color:#fff}.brand{display:flex;align-items:center;gap:13px;font-size:20px;font-weight:800;letter-spacing:.03em}.brand small{display:block;font-size:10px;letter-spacing:.18em;color:#a5c6d7;margin-top:3px}.brandmark{display:flex;justify-content:center;align-items:center;background:#18a5a1;color:white;width:48px;height:48px;border-radius:11px;font-size:18px}.user{display:flex;gap:15px;align-items:center;font-size:12px;color:#d1e0e7}.layout{display:flex;min-height:calc(100vh - 118px)}nav{width:240px;background:#20394b;padding:26px 12px;display:flex;flex-direction:column;gap:5px;flex-shrink:0}nav a{color:#e0eef3;padding:14px 16px;border-radius:8px;font-size:14px}nav a:hover{background:#325367}main{width:100%;max-width:1600px;padding:34px 38px;margin:0 auto}footer{text-align:center;padding:14px;font-size:11px;color:#7c8995}h1{font-size:31px;letter-spacing:-.04em;margin:6px 0 15px}h2{font-size:18px;margin:0 0 19px}h3{font-size:15px;margin:22px 0 12px}p{line-height:1.6;color:#5d6d79;margin:10px 0 17px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;color:#188b9b;text-transform:uppercase}.panel{background:#fff;border:1px solid #e0e9ee;border-radius:14px;padding:23px;margin-top:20px;box-shadow:0 5px 15px #10253805;overflow:auto}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:24px 0}.metric{display:flex;flex-direction:column;gap:15px;border:1px solid #e0e9ee;background:#fff;padding:20px;border-radius:12px;color:#172b3d}.metric span{font-size:12px;color:#70808d}.metric strong{font-size:28px;letter-spacing:-.04em}.columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:18px;align-items:start}.between{display:flex;justify-content:space-between;align-items:center;gap:12px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #e8eef2;white-space:nowrap}th{font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:#6f8190;background:#f7f9fa}tr:last-child td{border-bottom:0}.empty{padding:30px;text-align:center;color:#84939d;background:#f8fafb;border-radius:9px;font-size:13px}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#466172;margin-bottom:15px}input,select{width:100%;padding:12px 12px;border-radius:8px;border:1px solid #d3dfe6;background:#fff;font:inherit;color:#243946;font-size:14px;min-width:0}input:focus,select:focus{outline:2px solid #9be3df;border-color:#138c93}button,.button{background:#147e87;border:0;color:#fff;border-radius:8px;padding:12px 16px;cursor:pointer;font-size:13px;font-weight:700;display:inline-block}button:hover,.button:hover{background:#126e76;color:white}button.ghost{background:transparent;border:1px solid #658394;color:#fff}.tiny{padding:7px 10px}.subtle,.small{font-size:12px;color:#738593}.pill{background:#e8f4f4;color:#166b6d;font-size:11px;padding:7px 10px;border-radius:50px;white-space:nowrap}.auth{max-width:465px;margin:7vh auto;padding:38px}.auth h1{font-size:26px}.auth button{width:100%}.flash{background:#e0f5ed;border-left:4px solid #34a57b;margin-bottom:15px;padding:12px 15px;border-radius:5px}.flash.error{background:#ffeded;border-color:#b64242}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.checks{max-height:230px;overflow:auto}.check{display:block;font-weight:500}.check input{width:auto}.inlineform{display:flex;gap:8px;margin-bottom:15px}.inlineform button{flex-shrink:0}.back{font-size:13px}@media(max-width:900px){header{padding:12px 17px;height:auto;min-height:67px}.layout{display:block}nav{width:auto;flex-direction:row;overflow-x:auto;padding:10px;gap:5px}nav a{flex-shrink:0;padding:11px;font-size:12px}main{padding:22px 16px}.columns{grid-template-columns:1fr}.panel{padding:17px}.brand{font-size:16px}.brandmark{width:40px;height:40px}.user{font-size:10px}h1{font-size:25px}th,td{padding:10px 8px}}@media(max-width:470px){.formgrid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.metric{padding:13px}.metric strong{font-size:19px}header .user{flex-direction:column;gap:3px}.brand small{font-size:8px}}
.importform{display:grid;gap:15px;max-width:620px;margin:16px 0 24px}.importform label{display:grid;gap:7px;font-weight:600}.importform input[type=file]{padding:12px;background:#f6f8fa;border:1px solid #d6dce1;border-radius:8px;width:100%}.importform button{justify-self:start}

.posting-scroll{overflow-x:auto}.posting-table input{min-width:110px}.posting-table td:nth-child(2) input{min-width:180px}.posting-table td{padding:6px}

/* Menú agrupado de Contabilidad - V0.7 */
nav .nav-group{width:100%;color:#e0eef3}
nav .nav-group summary{cursor:pointer;list-style:none;padding:14px 16px;border-radius:8px;font-size:14px;font-weight:600;user-select:none}
nav .nav-group summary::-webkit-details-marker{display:none}
nav .nav-group summary::after{content:"▾";float:right}
nav .nav-group[open] summary::after{content:"▴"}
nav .nav-group summary:hover{background:#325367}
nav .nav-submenu{display:flex;flex-direction:column;gap:3px;padding-left:12px;border-left:2px solid #4a6576;margin-left:16px}
nav .nav-submenu a{font-size:13px;padding:10px 12px}
@media(max-width:850px){nav .nav-group{width:auto;flex-shrink:0;position:relative}nav .nav-group summary{padding:11px;white-space:nowrap;font-size:12px}nav .nav-submenu{padding-left:0;margin-left:0;border-left:0;min-width:190px}nav .nav-submenu a{white-space:nowrap}}

/* IASBCN ERP V1.2 — diseño compacto y navegación agrupada */
:root{--ias-blue:#0938b5;--ias-navy:#081b42;--ias-bg:#f4f6fb}
body{background:var(--ias-bg)}header{height:70px;background:#fff;color:var(--ias-navy);border-bottom:1px solid #e3e8f3;padding:0 24px}header a{color:var(--ias-navy)}
.brand{gap:14px;font-size:17px}.ias-logo{display:block;width:190px;height:52px;object-fit:contain;object-position:left center}.erp-brand-label{font-size:17px;letter-spacing:.08em;color:#122c61;border-left:1px solid #dce3f0;padding-left:14px}.erp-brand-label small{color:#7485a2;letter-spacing:.06em}.user{color:#455778}.user .ghost{color:#163c8d;border-color:#b5c3dd}
nav.erp-sidebar{background:#101f42;width:220px;padding:16px 10px;gap:5px}nav.erp-sidebar a{font-size:12.5px;padding:10px 12px;display:block}nav.erp-sidebar a:hover,nav.erp-sidebar a.active{background:#1e3972}nav.erp-sidebar .nav-group summary{font-size:12.5px;padding:11px 12px;display:block;color:#eaf0ff}nav.erp-sidebar .nav-submenu{margin:2px 0 7px 19px;padding-left:9px;border-color:#3153a0}nav.erp-sidebar .nav-submenu a{font-size:12px;padding:8px 10px;color:#d2dcf4}nav.erp-sidebar .nav-icon{display:inline-block;width:22px;color:#8eaeff}nav.erp-sidebar .nav-settings{margin-top:8px}
main{padding:22px 25px;max-width:none}h1{font-size:27px}.panel{margin-top:12px;padding:17px;border-radius:11px}h2{font-size:16px;margin-bottom:12px}th,td{padding:9px 8px}button,.button{background:#1747ae}button:hover,.button:hover{background:#0d348b}input,select{padding:9px 10px}label{margin-bottom:10px}
.client-intro{margin:0 0 8px;font-size:13px}.clients-workspace{display:flex;flex-direction:column;gap:2px}.clients-workspace>section{order:1}.clients-workspace>.client-editor{order:2}.client-editor summary,.client-import summary{cursor:pointer;font-size:15px;font-weight:750;color:#153b8c;list-style:none}.client-editor summary::-webkit-details-marker,.client-import summary::-webkit-details-marker{display:none}.client-editor summary::before,.client-import summary::before{content:'▸';margin-right:9px}.client-editor[open] summary::before,.client-import[open] summary::before{content:'▾'}.client-editor-body{margin-top:17px}.client-editor-body>.columns{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.client-import{margin-top:10px}.clients-workspace table{font-size:12px}.clients-workspace td,.clients-workspace th{padding:8px 7px}
@media(max-width:900px){header{padding:8px 12px}.ias-logo{width:138px;height:42px}.erp-brand-label{font-size:14px}.layout{display:block}nav.erp-sidebar{width:100%;display:flex;flex-direction:row;align-items:flex-start;overflow-x:auto;padding:8px;gap:6px}nav.erp-sidebar .nav-group{min-width:155px}nav.erp-sidebar .nav-group summary{white-space:nowrap}nav.erp-sidebar .nav-submenu{margin-left:0;padding-left:0;border-left:0}nav.erp-sidebar a{white-space:nowrap}main{padding:16px 12px}}
@media(max-width:550px){.erp-brand-label{display:none}.ias-logo{width:120px}.user{gap:5px}header{gap:5px}.clients-workspace table{font-size:11px}}

/* IASBCN ERP V1.2.1 — navegación más legible y acción principal arriba */
@media(min-width:901px){nav.erp-sidebar{width:290px;padding:20px 14px;gap:8px}nav.erp-sidebar a{font-size:15px;padding:13px 15px}nav.erp-sidebar .nav-group summary{font-size:15px;padding:14px 15px}nav.erp-sidebar .nav-submenu a{font-size:14px;padding:11px 13px}nav.erp-sidebar .nav-icon{width:27px}}
.clients-page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.clients-page-heading h1{margin-bottom:0}.clients-new-button{white-space:nowrap;background:#0938b5}.clients-new-button:hover{background:#082b8b}.client-editor{scroll-margin-top:22px}
@media(max-width:900px){nav.erp-sidebar a{font-size:14px}nav.erp-sidebar .nav-group summary{font-size:14px}nav.erp-sidebar .nav-submenu a{font-size:13px}}

/* V1.2.3: respetar el orden del formulario antes del listado */
.clients-workspace>.client-editor{order:0}
.clients-workspace>section{order:1}

/* IASBCN ERP V1.2.6 — botones uniformes del directorio de clientes */
.clients-page-heading .clients-new-button,
#client-live-search-button,
#client-live-clear-button {
  height:34px;
  min-height:34px;
  box-sizing:border-box;
  padding:0 12px;
  font-size:12px;
  font-weight:700;
  line-height:1;
  border-radius:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
  white-space:nowrap;
}

/* V1.2.7: alinear campo y botones y darles dimensiones idénticas */
#client-search-panel .client-live-search-aligned {display:grid;grid-template-columns:minmax(0,1fr) 80px 80px;gap:8px;align-items:end;}
#client-search-panel .client-live-search-aligned > label {display:flex;flex-direction:column;min-width:0;margin:0;}
#client-search-panel #client-live-query {width:100%;height:34px;min-height:34px;box-sizing:border-box;margin:0;}
#client-search-panel #client-live-search-button,
#client-search-panel #client-live-clear-button {width:80px;min-width:80px;max-width:80px;height:34px;min-height:34px;max-height:34px;margin:0;padding:0 6px;box-sizing:border-box;align-self:end;font-size:12px;line-height:1;}
@media(max-width:560px){
#client-search-panel .client-live-search-aligned {grid-template-columns:1fr 1fr;}
#client-search-panel .client-live-search-aligned > label {grid-column:1/-1;}
#client-search-panel #client-live-search-button,
#client-search-panel #client-live-clear-button {width:100%;max-width:none;}
}

/* Presupuestos IASBCN — diseño comercial y adaptación iPad */
.quote-top{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.quote-top h1{margin-bottom:5px}.quote-top p{margin-bottom:5px}.quote-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.quote-extras{margin:10px 0 0}.quote-secondary,.quote-remove{background:#e9f0f3!important;color:#17394b!important;border:1px solid #cbdde5!important}.quote-secondary:hover,.quote-remove:hover{background:#dce9ed!important}.quote-filter{display:grid;grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) auto auto;gap:10px;align-items:end}.quote-filter label{margin:0}.quote-filter button,.quote-filter .button{min-height:42px}.quote-table{overflow:auto}.quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 15px}.quote-grid label{min-width:0}.quote-fieldset{border:0;padding:0;margin:0;min-width:0}.quote-fieldset textarea{width:100%;padding:12px;border:1px solid #d3dfe6;border-radius:8px;font:inherit;color:#243946;resize:vertical}.quote-line{padding:20px;border:1px solid #dbe5eb;background:#f9fbfc;border-radius:12px;margin:12px 0}.quote-line-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.quote-remove{font-size:12px;padding:8px 12px}.quote-line-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quote-photo-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.quote-photo-row>label{flex:1;min-width:210px}.quote-photo-row img{width:100px;height:90px;object-fit:contain;border:1px solid #dae4ea;background:white;border-radius:8px}.quote-photo-row .quote-check{flex:0 1 auto;min-width:0;flex-direction:row;align-items:center}.quote-check input{width:auto}.quote-total-box{margin:20px 0 15px auto;max-width:400px;background:#f4f8f9;border:1px solid #dae6e9;padding:20px;border-radius:10px}.quote-total-box>div{display:flex;justify-content:space-between;gap:20px;margin:8px 0;font-size:14px}.quote-total-box .quote-grand-total{border-top:2px solid #147e87;padding-top:15px;margin-top:14px;font-weight:800;font-size:19px}.quote-save{font-size:15px;padding:14px 24px}@media(max-width:760px){.quote-grid{grid-template-columns:1fr}.quote-line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-filter{grid-template-columns:1fr 1fr}.quote-filter label:first-child{grid-column:1/-1}}@media(max-width:460px){.quote-line-grid{grid-template-columns:1fr 1fr}.quote-filter{grid-template-columns:1fr}.quote-filter label:first-child{grid-column:auto}}
/* Albaranes IASBCN V1.0 */
#delivery-form textarea{width:100%;padding:12px;border:1px solid #d3dfe6;border-radius:8px;font:inherit;color:#243946;resize:vertical}
#delivery-form .quote-line{scroll-margin-top:16px}

/* V1.2.1 — Presupuestos por líneas de descripción, sin partidas ni capítulos visibles */
#quote-form .quote-simple-line{padding:14px 18px;margin:9px 0;background:#fff}
#quote-form .quote-simple-line .quote-line-heading{margin-bottom:8px}
#quote-form .quote-simple-line textarea{min-height:60px}
#quote-form .quote-simple-line .quote-photo-row{margin-top:9px}

/* V1.3.3 - Acciones de borrado de documentos */
a.delete-link{color:#b42332;font-weight:700}
a.delete-link:hover{text-decoration:underline}
a.delete-outline.button{background:#fff;color:#a91f2e;border:1px solid #c75a63}
a.delete-outline.button:hover{background:#fff0f1;color:#8e1724}
button.delete-danger{background:#b42332;color:white}
button.delete-danger:hover{background:#8f1826}

/* IASBCN ERP V1.3.4 — botones para ordenar columnas en todos los listados */
.ias-sortable-table th .ias-sort-button{display:inline-flex;align-items:center;gap:7px;width:100%;min-height:27px;padding:3px 2px;border:0;border-radius:4px;background:transparent!important;color:inherit!important;font:inherit;font-weight:750;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer;white-space:nowrap;}
.ias-sortable-table th .ias-sort-button:hover{background:#e5ecfa!important;color:#0938b5!important;}
.ias-sortable-table th .ias-sort-button:focus-visible{outline:2px solid #0938b5;outline-offset:2px;}
.ias-sortable-table th[aria-sort="ascending"] .ias-sort-button,.ias-sortable-table th[aria-sort="descending"] .ias-sort-button{color:#0938b5!important;}
.ias-sort-arrow{font-size:15px;line-height:1;color:#5374ac;min-width:13px;text-align:center;}
.ias-sortable-table th[aria-sort="ascending"] .ias-sort-arrow,.ias-sortable-table th[aria-sort="descending"] .ias-sort-arrow{color:#0938b5;}

/* IASBCN ERP V1.3.5 — editor compacto de presupuestos */
.quote-editor-page{padding-bottom:110px}
.quote-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:7px 0 12px}
.quote-editor-heading h1{margin:0;font-size:24px}
.quote-editor-heading p{margin:3px 0;color:#65748b;font-size:12px}
.quote-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.quote-editor-actions .button,.quote-editor-actions button{font-size:12px;min-height:35px;padding:8px 12px;margin:0;white-space:nowrap}
.quote-editor-page .quote-compact-header{margin-top:0;padding:14px 16px}
.quote-header-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 11px;align-items:end}
.quote-header-grid label{font-size:12px;font-weight:650;margin:0;min-width:0}
.quote-header-grid input,.quote-header-grid select{width:100%;min-width:0;height:36px;padding:6px 8px;margin-top:4px;font-size:13px}
.quote-header-grid .quote-client-field{grid-column:span 2}
.quote-header-grid .quote-project-field{grid-column:span 1}
.quote-header-grid .quote-title-field{grid-column:span 5}
.quote-optional-details{margin-top:9px;font-size:12px}
.quote-optional-details summary{cursor:pointer;color:#244e8c;font-weight:700}
.quote-optional-details label{display:block;margin-top:8px}
.quote-optional-details textarea{margin-top:4px}
.quote-lines-panel{padding:14px 16px}
.quote-lines-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:9px}
.quote-lines-heading h2{margin:0 0 3px}
.quote-lines-heading p{margin:0}
.quote-add-primary{white-space:nowrap}
#quote-form .quote-simple-line{padding:9px 12px;margin:7px 0;background:#fff}
#quote-form .quote-line-heading{margin-bottom:7px}
.quote-line-title{display:flex;align-items:center;gap:7px;font-size:12px}
.quote-line-drag{font-size:19px;color:#94a3b8}
.quote-line-tools{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.quote-line-tools button{padding:5px 8px;min-height:29px;margin:0;font-size:11px}
.quote-line-tools .quote-line-move{min-width:30px}
.quote-line-tools button:disabled{opacity:.4;cursor:not-allowed}
.quote-line-tools .quote-line-duplicate{background:#e9f0f3;color:#17394b;border:1px solid #cbdde5}
.quote-line-fields{display:grid;grid-template-columns:minmax(230px,3.2fr) minmax(68px,.65fr) minmax(95px,.85fr) minmax(72px,.7fr) minmax(73px,.7fr) minmax(125px,1.1fr);gap:8px;align-items:start}
.quote-line-fields label{min-width:0;margin:0;font-size:11px;font-weight:650;color:#445569}
.quote-line-fields input,.quote-line-fields select{width:100%;height:35px;min-width:0;padding:6px 7px;font-size:13px;margin:3px 0 0}
#quote-form .quote-simple-line .quote-line-fields textarea{min-height:47px;max-height:160px;padding:7px 9px;font-size:13px;margin:3px 0 0}
.quote-line-amount{display:flex;flex-direction:column;justify-content:center;min-height:51px;text-align:right;gap:5px}
.quote-line-amount span{font-size:10px;color:#60758d}
.quote-line-amount strong{font-size:14px;white-space:nowrap;color:#0c3575}
.quote-line-photo{margin-top:4px;font-size:11px}
.quote-line-photo summary{cursor:pointer;color:#4c6885;font-weight:650;display:inline-block}
.quote-line-photo .quote-photo-row{padding-top:8px}
.quote-conditions-panel .quote-total-box{margin-top:10px}
.quote-sticky-toolbar{position:fixed;z-index:50;left:315px;right:18px;bottom:9px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 14px;background:rgba(255,255,255,.97);border:1px solid #cddbea;border-radius:12px;box-shadow:0 7px 24px rgba(9,27,67,.18);backdrop-filter:blur(8px)}
.quote-sticky-toolbar>button{margin:0;white-space:nowrap;min-height:36px}
.quote-sticky-totals{display:flex;flex:1;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;font-size:12px}
.quote-sticky-totals>span{white-space:nowrap}
.quote-sticky-totals strong{color:#102d5c}
.quote-sticky-totals .quote-vat-breakdown{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:#5a6880}
.quote-sticky-totals .quote-vat-entry{white-space:nowrap}
.quote-sticky-grand{padding-left:11px;border-left:1px solid #d0ddec;font-size:14px;font-weight:700}
.quote-sticky-grand strong{color:#0a398e;font-size:17px}
.quote-conditions-panel .quote-vat-breakdown{display:flex;flex-direction:column;gap:3px;align-items:stretch}
.quote-conditions-panel .quote-vat-entry{display:flex;justify-content:space-between;gap:10px}
@media(max-width:1150px){.quote-header-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quote-header-grid .quote-title-field{grid-column:span 3}.quote-line-fields{grid-template-columns:minmax(230px,2fr) repeat(4,minmax(70px,.7fr));}.quote-line-amount{grid-column:1/-1;min-height:0;flex-direction:row;justify-content:flex-end}.quote-sticky-toolbar{left:305px}}
@media(max-width:900px){.quote-sticky-toolbar{left:12px;right:12px}.quote-header-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-header-grid .quote-title-field{grid-column:span 2}.quote-line-fields{grid-template-columns:minmax(210px,2fr) repeat(2,minmax(90px,1fr))}.quote-line-fields .quote-description{grid-row:span 2}.quote-line-amount{grid-column:2/-1}}
@media(max-width:600px){.quote-header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-header-grid .quote-client-field,.quote-header-grid .quote-project-field,.quote-header-grid .quote-title-field{grid-column:span 2}.quote-line-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.quote-line-fields .quote-description{grid-column:1/-1;grid-row:auto}.quote-line-amount{grid-column:1/-1}.quote-sticky-toolbar{bottom:5px;padding:7px 9px;gap:6px}.quote-sticky-totals{justify-content:flex-start;gap:5px 10px;order:3;flex-basis:100%;font-size:11px}.quote-sticky-grand{font-size:12px}.quote-sticky-grand strong{font-size:14px}.quote-editor-page{padding-bottom:145px}}

/* V1.3.6 — controles de presupuesto uniformes */
.quote-editor-page .quote-editor-actions{gap:8px}
.quote-editor-page .quote-editor-actions .button,
.quote-editor-page .quote-editor-actions button{box-sizing:border-box;min-width:108px;height:39px;min-height:39px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;border-radius:7px}
#quote-form .quote-header-grid input,
#quote-form .quote-header-grid select,
#quote-form .quote-line-fields input,
#quote-form .quote-line-fields select,
#quote-form .quote-line-fields textarea{box-sizing:border-box;width:100%;height:40px;min-height:40px;max-height:none;padding:8px 10px;border:1px solid #d0dbe5;border-radius:7px;background:#fff;font:inherit;font-size:13px;line-height:22px;vertical-align:middle}
#quote-form .quote-line-fields .quote-description textarea{height:40px;min-height:40px;max-height:150px;resize:vertical}
#quote-form .quote-line-fields{align-items:end}
#quote-form .quote-line-fields label{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
#quote-form .quote-line-fields .quote-line-amount{height:40px;min-height:40px;align-self:end}
#quote-form .quote-header-grid label{display:flex;flex-direction:column;justify-content:flex-end}
#quote-form .quote-header-grid input,#quote-form .quote-header-grid select{margin-top:5px}
#quote-form .quote-line-fields input,#quote-form .quote-line-fields select,#quote-form .quote-line-fields textarea{margin-top:5px}
#quote-form .quote-header-grid .quote-client-field{grid-column:span 2}
#quote-form .quote-header-grid .quote-title-field{grid-column:span 5}
.quote-sticky-toolbar>button{min-height:39px}
@media(max-width:900px){.quote-editor-page .quote-editor-actions{justify-content:flex-start}.quote-editor-page .quote-editor-actions .button,.quote-editor-page .quote-editor-actions button{min-width:95px}}
@media(max-width:600px){#quote-form .quote-header-grid .quote-title-field{grid-column:span 2}.quote-editor-page .quote-editor-actions .button,.quote-editor-page .quote-editor-actions button{min-width:0;flex:1}}
#quote-form .quote-simple-line .quote-line-fields .quote-description textarea{height:40px;min-height:40px;margin-top:5px}

/* IASBCN ERP V1.3.7 — Albaranes sin capítulos, con importes e IVA */
#delivery-form .delivery-line{padding:12px 14px;margin:9px 0;background:#fff}
#delivery-form .delivery-line-grid{display:grid;grid-template-columns:minmax(250px,3fr) minmax(70px,.65fr) minmax(90px,.85fr) minmax(75px,.7fr) minmax(78px,.7fr) minmax(98px,.85fr) minmax(108px,.95fr);gap:9px;align-items:end}
#delivery-form .delivery-line-grid>label{min-width:0;font-size:12px;margin:0}
#delivery-form .delivery-line-grid input,#delivery-form .delivery-line-grid select{height:38px;min-height:38px;width:100%;box-sizing:border-box;margin-top:4px;padding:6px 8px}
#delivery-form .delivery-line-grid textarea{min-height:44px;height:44px;box-sizing:border-box;margin-top:4px;padding:8px;width:100%;resize:vertical}
#delivery-form .delivery-calculated{display:flex;flex-direction:column;justify-content:flex-end;gap:7px;min-width:0;font-size:12px;padding-bottom:7px}
#delivery-form .delivery-calculated span{color:#52677b;font-weight:650}
#delivery-form .delivery-calculated strong{font-size:13px;text-align:right;white-space:nowrap}
#delivery-form .delivery-total-box{max-width:380px;margin:16px 0 16px auto;padding:16px;background:#f4f8fa;border:1px solid #d6e2e9;border-radius:10px}
#delivery-form .delivery-total-box>div:not(#delivery-vat-breakdown),#delivery-form #delivery-vat-breakdown>div{display:flex;justify-content:space-between;gap:14px;padding:5px 0;font-size:14px}
#delivery-form .delivery-total-box .delivery-grand-total{border-top:2px solid #147e87;margin-top:8px;padding-top:14px!important;font-size:18px!important;font-weight:800}
@media(max-width:1250px){#delivery-form .delivery-line-grid{grid-template-columns:minmax(250px,2fr) repeat(3,minmax(90px,1fr))}#delivery-form .delivery-description{grid-column:span 4}}
@media(max-width:690px){#delivery-form .delivery-line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#delivery-form .delivery-description{grid-column:span 2}#delivery-form .delivery-total-box{max-width:none}}

/* IASBCN ERP V1.3.8 — Albaranes con la misma pantalla que Presupuestos */
.delivery-editor-page .delivery-related-quote{padding:9px 14px;font-size:12px;margin:0 0 10px}
#delivery-form .delivery-header-grid .quote-client-field{grid-column:span 2}
#delivery-form .delivery-header-grid .quote-title-field{grid-column:span 5}
#delivery-form .delivery-header-grid .delivery-receiver-field{grid-column:span 2}
#delivery-form .delivery-header-grid .delivery-quote-field{grid-column:span 3}
#delivery-form .delivery-header-grid label{display:flex;flex-direction:column;justify-content:flex-end;margin:0;min-width:0}
#delivery-form .delivery-header-grid input,#delivery-form .delivery-header-grid select,
#delivery-form .delivery-line-grid input,#delivery-form .delivery-line-grid select,
#delivery-form .delivery-line-grid textarea{box-sizing:border-box;width:100%;height:40px;min-height:40px;padding:8px 10px;margin-top:5px;border:1px solid #d0dbe5;border-radius:7px;background:#fff;font:inherit;font-size:13px;line-height:22px}
#delivery-form .delivery-line-grid textarea{resize:vertical;max-height:150px}
#delivery-form .delivery-line-grid{grid-template-columns:minmax(230px,3.2fr) minmax(65px,.6fr) minmax(88px,.8fr) minmax(70px,.7fr) minmax(72px,.7fr) minmax(95px,.9fr) minmax(105px,1fr);gap:8px;align-items:end}
#delivery-form .delivery-line-grid>label{display:flex;flex-direction:column;justify-content:flex-end;font-size:11px;font-weight:650;min-width:0}
#delivery-form .delivery-line{padding:9px 12px;margin:7px 0;background:#fff}
#delivery-form .delivery-line .quote-line-heading{margin-bottom:7px}
#delivery-form .delivery-calculated{min-height:40px;padding:0;justify-content:center;gap:4px;text-align:right}
#delivery-form .delivery-calculated span{font-size:10px}
#delivery-form .delivery-calculated strong{font-size:13px;color:#0c3575}
#delivery-form .delivery-total-box{max-width:400px;margin:12px 0 15px auto;padding:20px}
#delivery-form .delivery-total-box>div:not(#delivery-vat-breakdown){margin:8px 0;padding:0;font-size:14px}
#delivery-form .delivery-total-box .delivery-grand-total{border-top:2px solid #147e87;padding-top:15px!important;margin-top:14px;font-size:19px!important}
#delivery-form #delivery-vat-breakdown{display:flex;flex-direction:column;gap:3px}
#delivery-form #delivery-vat-breakdown .quote-vat-entry{display:flex;justify-content:space-between;gap:10px;font-size:12px}
.delivery-editor-page .quote-editor-actions .button,.delivery-editor-page .quote-editor-actions button{box-sizing:border-box;min-width:108px;height:39px;min-height:39px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;border-radius:7px}
.delivery-sticky-toolbar .quote-vat-breakdown{display:flex;gap:8px;flex-wrap:wrap}
.delivery-sticky-toolbar .quote-vat-entry{white-space:nowrap}
@media(max-width:1300px){#delivery-form .delivery-line-grid{grid-template-columns:minmax(210px,2fr) repeat(4,minmax(70px,1fr))}#delivery-form .delivery-calculated{grid-column:span 1}}
@media(max-width:900px){#delivery-form .delivery-header-grid .quote-title-field{grid-column:span 2}#delivery-form .delivery-header-grid .delivery-quote-field{grid-column:span 2}#delivery-form .delivery-line-grid{grid-template-columns:minmax(210px,2fr) repeat(2,minmax(80px,1fr))}#delivery-form .delivery-line-grid .delivery-description{grid-column:1/-1}}
@media(max-width:600px){#delivery-form .delivery-header-grid .quote-client-field,#delivery-form .delivery-header-grid .quote-project-field,#delivery-form .delivery-header-grid .quote-title-field,#delivery-form .delivery-header-grid .delivery-receiver-field,#delivery-form .delivery-header-grid .delivery-quote-field{grid-column:span 2}#delivery-form .delivery-line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#delivery-form .delivery-line-grid .delivery-description{grid-column:1/-1}#delivery-form .delivery-total-box{max-width:none}.delivery-editor-page .quote-editor-actions .button,.delivery-editor-page .quote-editor-actions button{min-width:0;flex:1}}

/* IASBCN ERP V1.3.9 — acciones unificadas en la cabecera, sin barra flotante inferior */
.quote-editor-page,.delivery-editor-page{padding-bottom:0}
.quote-editor-page .quote-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.quote-editor-page .quote-editor-actions .quote-add-primary{box-sizing:border-box;min-width:108px;height:39px;min-height:39px;margin:0;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;border-radius:7px;white-space:nowrap}
@media(max-width:900px){.quote-editor-page .quote-editor-actions{justify-content:flex-start}}
@media(max-width:600px){.quote-editor-page .quote-editor-actions .quote-add-primary{min-width:0;flex:1}}

/* IASBCN ERP V1.4.2 — Facturas con interfaz de presupuestos y albaranes */
.invoice-editor-page .invoice-header-grid .invoice-vat-account{grid-column:span 2}
.invoice-editor-page .invoice-header-grid label{display:flex;flex-direction:column;justify-content:flex-end;min-width:0;margin:0}
.invoice-editor-page .invoice-header-grid input,.invoice-editor-page .invoice-header-grid select{box-sizing:border-box;width:100%;height:40px;min-height:40px;margin-top:5px;padding:8px 10px;border:1px solid #d0dbe5;border-radius:7px;background:#fff;font-size:13px}
.invoice-editor-page input[readonly],.invoice-editor-page textarea[readonly]{background:#f4f7f9!important;color:#263d4b}
.invoice-editor-page .invoice-line-grid{display:grid;grid-template-columns:minmax(230px,3.2fr) minmax(65px,.6fr) minmax(88px,.8fr) minmax(70px,.7fr) minmax(72px,.7fr) minmax(95px,.9fr) minmax(105px,1fr);gap:8px;align-items:end}
.invoice-editor-page .invoice-line-grid>label{display:flex;flex-direction:column;justify-content:flex-end;font-size:11px;font-weight:650;min-width:0;margin:0}
.invoice-editor-page .invoice-line-grid input,.invoice-editor-page .invoice-line-grid select,.invoice-editor-page .invoice-line-grid textarea{box-sizing:border-box;width:100%;height:40px;min-height:40px;padding:8px 10px;margin-top:5px;border:1px solid #d0dbe5;border-radius:7px;background:#fff;font:inherit;font-size:13px;line-height:22px}
.invoice-editor-page .invoice-line-grid textarea{resize:vertical;max-height:150px}
.invoice-editor-page .invoice-edit-line,.invoice-editor-page .invoice-detail-line{padding:9px 12px;margin:7px 0;background:#fff}
.invoice-editor-page .invoice-edit-line .quote-line-heading,.invoice-editor-page .invoice-detail-line .quote-line-heading{margin-bottom:7px}
.invoice-editor-page .invoice-calculated{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:40px;text-align:right;font-size:10px;color:#52677b;font-weight:650}
.invoice-editor-page .invoice-calculated strong{font-size:13px;color:#0c3575;white-space:nowrap}
.invoice-editor-page .invoice-total-box{max-width:400px;margin:12px 0 15px auto;padding:20px}
.invoice-editor-page .invoice-total-box>div:not(#invoice-vat-breakdown){margin:8px 0;padding:0;font-size:14px}
.invoice-editor-page .invoice-total-box .quote-grand-total{border-top:2px solid #147e87;padding-top:15px!important;margin-top:14px;font-size:19px!important}
.invoice-editor-page #invoice-vat-breakdown{display:flex;flex-direction:column;gap:3px}
.invoice-editor-page #invoice-vat-breakdown .quote-vat-entry{display:flex;justify-content:space-between;gap:10px;font-size:12px}
.invoice-editor-page .invoice-account-details{margin-top:6px}
.invoice-editor-page .invoice-account-details label{max-width:230px;font-size:12px}
.invoice-editor-page .invoice-account-details input{height:36px}
.invoice-editor-page .invoice-origin-links{margin-top:12px;font-size:13px}
.invoice-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.invoice-filter label{min-width:220px;margin:0}
#delivery-form .delivery-status-facturado{color:#c62828!important;font-weight:800!important;border-color:#e7a5a5!important;background:#fff1f1!important;-webkit-text-fill-color:#c62828!important}
.delivery-status-facturado-pill{color:#c62828!important;background:#fff1f1!important;border:1px solid #e7a5a5!important;font-weight:800!important}
@media(max-width:1300px){.invoice-editor-page .invoice-line-grid{grid-template-columns:minmax(210px,2fr) repeat(4,minmax(70px,1fr))}.invoice-editor-page .invoice-calculated{grid-column:span 1}}
@media(max-width:900px){.invoice-editor-page .invoice-line-grid{grid-template-columns:minmax(210px,2fr) repeat(2,minmax(80px,1fr))}.invoice-editor-page .invoice-line-grid .invoice-description{grid-column:1/-1}}
@media(max-width:600px){.invoice-editor-page .invoice-header-grid .quote-client-field,.invoice-editor-page .invoice-header-grid .invoice-vat-account{grid-column:span 2}.invoice-editor-page .invoice-line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-editor-page .invoice-line-grid .invoice-description{grid-column:1/-1}.invoice-editor-page .invoice-total-box{max-width:none}}

/* IASBCN ERP V1.4.3 — cuenta contable de albaranes: misma altura y aspecto */
#delivery-form .delivery-header-grid .delivery-account-field{grid-column:span 1;align-self:end}
#delivery-form .delivery-header-grid #delivery-client-account{
 box-sizing:border-box!important;width:100%!important;height:var(--erp-control-height,40px)!important;min-height:var(--erp-control-height,40px)!important;
 padding:8px 10px!important;margin:0!important;border:1px solid #d0dbe5!important;
 border-radius:7px!important;background:#fff!important;color:#263d4b!important;
 font-size:13px!important;line-height:20px!important;opacity:1!important;
 -webkit-text-fill-color:#263d4b;
}
.delivery-editor-page .quote-editor-actions .delivery-create-account{
 min-width:164px;background:#eef7fc;border-color:#91b9d4;color:#12476a;font-weight:700;
}
.delivery-editor-page .quote-editor-actions .delivery-create-account[hidden]{display:none!important}
.delivery-editor-page .quote-editor-actions .delivery-create-account:disabled{opacity:.55;cursor:wait}
@media(max-width:600px){#delivery-form .delivery-header-grid .delivery-account-field{grid-column:span 2}}

/* Mensaje de validación accesible sin alterar la altura de la cabecera */
#delivery-account-help.delivery-account-help{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* IASBCN ERP V1.4.5 — ID cliente, dirección completa y enlace a ficha contable */
#delivery-form .delivery-header-grid .delivery-client-id-field{grid-column:span 1}
#delivery-form .delivery-client-id-field input{background:#f8fafc;color:#334155}
#delivery-form .delivery-address-details{margin-top:10px}
#delivery-form .delivery-client-address-grid{display:grid;grid-template-columns:minmax(180px,2fr) repeat(3,minmax(100px,1fr));gap:9px;margin:10px 0}
#delivery-form .delivery-client-address-grid label{font-size:11px;font-weight:650;min-width:0;margin:0}
#delivery-form .delivery-client-address-grid input{box-sizing:border-box;width:100%;height:40px;min-height:40px;padding:8px 10px;margin-top:5px;border:1px solid #d0dbe5;border-radius:7px;background:#f8fafc;color:#263d4b;font:inherit;font-size:13px;opacity:1;-webkit-text-fill-color:#263d4b}
#delivery-form .delivery-client-address-grid .delivery-address-street{grid-column:span 1}
#delivery-form .delivery-destination-label{margin-top:10px}
#delivery-form #delivery-account-help.delivery-account-help{position:static;width:auto;height:auto;padding:0;margin:9px 0 2px;overflow:visible;clip:auto;white-space:normal;border:0;font-size:12px;color:#a34d0a}
#delivery-form #delivery-account-help.delivery-account-help[hidden]{display:none!important}
#delivery-form #delivery-client-edit-link{color:#075a9e;font-weight:750;text-decoration:underline;text-underline-offset:2px;margin-left:5px}
@media(max-width:900px){#delivery-form .delivery-client-address-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#delivery-form .delivery-client-address-grid .delivery-address-street{grid-column:span 2}}
@media(max-width:600px){#delivery-form .delivery-header-grid .delivery-client-id-field{grid-column:span 1}#delivery-form .delivery-client-address-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#delivery-form .delivery-client-address-grid .delivery-address-street{grid-column:span 2}}

/* V1.4.6: borrado de facturas en borrador */
a.invoice-list-delete{color:#b42332;font-weight:700}
a.invoice-list-delete:hover{color:#8f1826;text-decoration:underline}

/* IASBCN ERP V1.4.7 — botones del directorio con una medida común */
.clients-page-heading .client-action-button,
#client-editor .client-action-button,
#client-search-panel #client-live-search-button,
#client-search-panel #client-live-clear-button,
#account-search-dialog .client-action-button{
  width:120px!important;min-width:120px!important;max-width:120px!important;
  height:var(--erp-control-height,40px)!important;min-height:var(--erp-control-height,40px)!important;max-height:var(--erp-control-height,40px)!important;
  box-sizing:border-box!important;margin:0!important;padding:0 7px!important;
  display:inline-flex;align-items:center;justify-content:center;text-align:center;
  border-radius:6px;font-size:12px;line-height:1.15;font-weight:700;white-space:nowrap;
  text-decoration:none;vertical-align:middle;
}
#client-editor .client-form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
#client-editor #open-account-search{flex:none}
#client-search-panel .client-live-search-aligned{grid-template-columns:minmax(0,1fr) 120px 120px;gap:8px;align-items:end}
#client-search-panel #client-live-search-button,#client-search-panel #client-live-clear-button{align-self:end}
#account-search-dialog .client-action-button{white-space:nowrap}
@media(max-width:560px){
 #client-search-panel .client-live-search-aligned{grid-template-columns:1fr 1fr}
 #client-search-panel .client-live-search-aligned>label{grid-column:1/-1}
 #client-search-panel #client-live-search-button,#client-search-panel #client-live-clear-button{width:100%!important;min-width:0!important;max-width:none!important}
}
/* Factura accesible directamente desde el estado Facturado del albarán */
#delivery-form .delivery-invoice-status-link{display:inline-flex;align-items:center;min-height:25px;
 font-size:12px;font-weight:750;color:#075a9e;text-decoration:underline;text-underline-offset:2px;
 margin-top:2px;align-self:flex-start}
.delivery-invoice-notice-link{color:#075a9e;font-weight:750;text-decoration:underline;text-underline-offset:2px;margin-left:7px}

/* V1.4.42 — Libros de IVA */
nav.erp-sidebar .nav-vat-books{margin:4px 0 5px 0;color:#d2dcf4}
nav.erp-sidebar .nav-vat-books>summary{list-style:none;cursor:pointer;padding:11px 13px;font-size:14px;border-radius:7px;font-weight:600}
nav.erp-sidebar .nav-vat-books>summary::-webkit-details-marker{display:none}
nav.erp-sidebar .nav-vat-books>summary::after{content:'▾';float:right}
nav.erp-sidebar .nav-vat-books[open]>summary::after{content:'▴'}
nav.erp-sidebar .nav-vat-books>summary:hover{background:#1e3972}
nav.erp-sidebar .nav-vat-links{border-left:2px solid #3153a0;margin-left:12px;padding-left:7px}
nav.erp-sidebar .nav-vat-links a{font-size:13px;padding:9px 10px}
.vat-book-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.vat-book-inactive{background:#edf2f7!important;color:#1747ae!important;border:1px solid #cfd9e7}
.vat-book-filter{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.vat-book-filter label{max-width:170px;margin:0}
.vat-book-filter button{height:39px}
.vat-book-metrics{margin:17px 0}
.vat-book-metrics .metric strong{font-size:22px}
.vat-book-table{overflow-x:auto}
.vat-book-table td:nth-child(6),.vat-book-table td:nth-child(7),.vat-book-table td:nth-child(8){font-variant-numeric:tabular-nums}
.vat-book-total{font-weight:700;background:#f3f7fb}
/* V1.4.43 · Exportación de IVA soportado */
.vat-book-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}
.vat-book-detail-heading h2{margin:0}
.vat-book-export{position:relative;z-index:3}
.vat-book-export>summary{list-style:none;cursor:pointer;white-space:nowrap;user-select:none}
.vat-book-export>summary::-webkit-details-marker{display:none}
.vat-book-export-options{position:absolute;right:0;top:calc(100% + 5px);background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-width:220px;box-shadow:0 7px 24px #182c4433;overflow:hidden}
.vat-book-export-options a{display:block;padding:11px 14px;text-decoration:none;color:#173b63;font-size:14px}
.vat-book-export-options a:hover{background:#eef4fb}

/* ===============================================================
   IASBCN ERP V1.4.52 — Sistema visual global, moderno y compacto
   No modifica la lógica ni los formularios específicos de módulos.
   =============================================================== */
:root{
  --erp-ink:#172b49;--erp-muted:#65768e;--erp-border:#e2e8f2;
  --erp-blue:#184bb7;--erp-blue-dark:#103a91;--erp-surface:#fff;
  --erp-canvas:#f5f7fb;--erp-radius:11px;--erp-shadow:0 3px 16px rgba(16,35,75,.045);
}
html{scroll-behavior:smooth}
body.ias-ui-v152{background:var(--erp-canvas);color:var(--erp-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px;line-height:1.4}
.ias-ui-v152 .erp-topbar{
  position:sticky;top:0;z-index:100;height:65px;min-height:65px;
  background:rgba(255,255,255,.98);border-bottom:1px solid var(--erp-border);
  box-shadow:0 1px 7px rgba(15,36,80,.025);padding:0 24px;
}
.ias-ui-v152 .erp-topbar-identity{display:flex;align-items:center;gap:17px;min-width:0}
.ias-ui-v152 .erp-topbar .brand{gap:12px;font-size:15px;white-space:nowrap}
.ias-ui-v152 .erp-topbar .ias-logo{width:158px;height:45px;object-fit:contain}
.ias-ui-v152 .erp-topbar .erp-brand-label{font-size:15px;font-weight:800;padding-left:12px;letter-spacing:.035em}
.ias-ui-v152 .erp-topbar .erp-brand-label small{font-size:9px;letter-spacing:.08em}
.ias-ui-v152 .erp-version{display:inline-flex;align-items:center;justify-content:center;
  min-height:23px;padding:2px 9px;border:1px solid #dbe5f7;border-radius:6px;
  background:#f2f6ff;color:#31548e;font-size:11px;font-weight:750;white-space:nowrap}
.ias-ui-v152 .erp-topbar-user{gap:10px;color:#334765;font-size:12px}
.ias-ui-v152 .erp-user-avatar{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;
  border-radius:9px;background:#e8effd;color:#1e4ca3;font-size:13px;font-weight:800}
.ias-ui-v152 .erp-user-details{display:flex;flex-direction:column;line-height:1.3;max-width:180px}
.ias-ui-v152 .erp-user-details strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ias-ui-v152 .erp-user-details small{font-size:10px;color:#7d8da2;text-transform:capitalize}
.ias-ui-v152 .erp-topbar-user form{margin:0}
.ias-ui-v152 .erp-topbar-user .erp-logout{min-height:30px;padding:5px 12px;border-radius:7px;background:#fff;border:1px solid #d7e0ee;color:#304c7d;font-weight:700}
.ias-ui-v152 .erp-topbar-user .erp-logout:hover{background:#eef3fb;color:#143b87}
.ias-ui-v152 .erp-shell{min-height:calc(100vh - 104px);align-items:stretch}
.ias-ui-v152 nav.erp-sidebar{position:sticky;top:65px;align-self:flex-start;height:calc(100vh - 65px);
  width:272px;min-width:272px;overflow-y:auto;overflow-x:hidden;
  padding:17px 12px 12px;gap:3px;background:linear-gradient(180deg,#14254b 0%,#102044 100%);
  scrollbar-width:thin;scrollbar-color:#4b638b transparent}
.ias-ui-v152 .erp-nav-caption{padding:5px 12px 12px;font-size:10px;letter-spacing:.13em;font-weight:800;color:#8098c2}
.ias-ui-v152 nav.erp-sidebar a,.ias-ui-v152 nav.erp-sidebar .nav-group summary{font-size:13px;line-height:1.35;padding:10px 12px;border-radius:8px;color:#d9e3f7;font-weight:650;transition:background .13s ease,color .13s ease}
.ias-ui-v152 nav.erp-sidebar .nav-group summary{position:relative;padding-right:26px}
.ias-ui-v152 nav.erp-sidebar .nav-group summary::after{position:absolute;right:11px;top:10px;float:none;color:#93a7cd;font-size:11px}
.ias-ui-v152 nav.erp-sidebar .nav-group summary:hover,.ias-ui-v152 nav.erp-sidebar a:hover{background:#223c70;color:#fff}
.ias-ui-v152 nav.erp-sidebar .nav-group.is-current>summary{background:#1c3566;color:#fff}
.ias-ui-v152 nav.erp-sidebar .nav-group .nav-submenu{margin:3px 0 8px 21px;padding:2px 0 2px 9px;border-left:1px solid #39517c;gap:1px}
.ias-ui-v152 nav.erp-sidebar .nav-submenu a{padding:7px 9px;font-size:12.5px;font-weight:500;color:#bdcbe6;white-space:normal}
.ias-ui-v152 nav.erp-sidebar a.active{background:#284a87!important;color:#fff!important;font-weight:750;box-shadow:inset 3px 0 #8fb5ff}
.ias-ui-v152 nav.erp-sidebar .nav-icon{width:23px;color:#a2baf0;font-size:17px;vertical-align:-1px}
.ias-ui-v152 .erp-nav-subheading{padding:11px 9px 4px;color:#7e99c6;font-size:9px;font-weight:800;letter-spacing:.12em}
.ias-ui-v152 .erp-sidebar-bottom{margin-top:auto;padding:16px 12px 6px;border-top:1px solid #304269;color:#849bc1;font-size:10px;letter-spacing:.03em}
.ias-ui-v152 .erp-sidebar-bottom span,.ias-ui-v152 .erp-footer span{padding:0 4px;opacity:.55}
.ias-ui-v152 main.erp-main{flex:1;min-width:0;width:auto;max-width:none;padding:23px 28px 36px;margin:0}
.ias-ui-v152 main h1{font-size:25px;font-weight:800;line-height:1.2;letter-spacing:-.035em;margin:4px 0 15px;color:#152b4e}
.ias-ui-v152 main h2{font-size:16px;font-weight:800;letter-spacing:-.012em;color:#203858;margin:0 0 12px}
.ias-ui-v152 main h3{font-size:14px;font-weight:750;color:#2a456a;margin:15px 0 9px}
.ias-ui-v152 main .eyebrow{font-size:10px;letter-spacing:.12em;font-weight:800;color:#3864a9}
.ias-ui-v152 main p{line-height:1.5;margin:8px 0 13px}
.ias-ui-v152 main .panel,.ias-ui-v152 main .metric{border:1px solid var(--erp-border);background:var(--erp-surface);box-shadow:var(--erp-shadow);border-radius:var(--erp-radius)}
.ias-ui-v152 main .panel{padding:17px 19px;margin-top:13px}
.ias-ui-v152 main .metrics{gap:11px;margin:15px 0}
.ias-ui-v152 main .metric{padding:15px 17px;gap:8px}
.ias-ui-v152 main .metric span{font-size:11px;color:#71829b}
.ias-ui-v152 main .metric strong{font-size:25px;color:#193b79}
.ias-ui-v152 main table{font-size:12px;line-height:1.4;border-collapse:separate;border-spacing:0}
.ias-ui-v152 main th,.ias-ui-v152 main td{padding:8px 10px;border-bottom:1px solid #e9edf5;vertical-align:middle}
.ias-ui-v152 main th{background:#f3f6fb;color:#586d89;font-size:10px;letter-spacing:.055em;font-weight:800}
.ias-ui-v152 main tbody tr:hover td{background:#f8faff}
.ias-ui-v152 main .panel>table,.ias-ui-v152 main .panel .posting-scroll{max-width:100%}
.ias-ui-v152 main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.ias-ui-v152 main select,.ias-ui-v152 main textarea{
  border:1px solid #d5deeb;border-radius:7px;background-color:#fff;color:#203650;
  font-family:inherit;font-size:12.5px;line-height:1.35;min-width:0;
}
.ias-ui-v152 main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.ias-ui-v152 main select{min-height:35px;padding:7px 10px}
.ias-ui-v152 main textarea{padding:9px 10px}
.ias-ui-v152 main label{font-size:11.5px;gap:5px;color:#4b617d;font-weight:700;margin-bottom:9px}
.ias-ui-v152 main input:focus-visible,.ias-ui-v152 main select:focus-visible,.ias-ui-v152 main textarea:focus-visible,
.ias-ui-v152 main button:focus-visible,.ias-ui-v152 main a:focus-visible,
.ias-ui-v152 nav.erp-sidebar a:focus-visible,.ias-ui-v152 nav.erp-sidebar summary:focus-visible{
  outline:2px solid #79a5ff;outline-offset:2px}
.ias-ui-v152 main button,.ias-ui-v152 main .button{border-radius:7px;background:#1b4ab1;color:#fff;font-size:12px;font-weight:750;line-height:1.3;padding:9px 13px;transition:background .14s ease,box-shadow .14s ease}
.ias-ui-v152 main button:hover,.ias-ui-v152 main .button:hover{background:#123b92;color:#fff}
.ias-ui-v152 main button:disabled{opacity:.5;cursor:not-allowed}
.ias-ui-v152 main .subtle,.ias-ui-v152 main .small{color:#75869c}
.ias-ui-v152 main .flash{border:1px solid #a7dbc7;border-left:4px solid #2ca478;border-radius:8px;padding:10px 13px;font-size:12px}
.ias-ui-v152 main .flash.error{border-color:#edb8b8;border-left-color:#c64646}
.ias-ui-v152 main .between{gap:10px;flex-wrap:wrap}
.ias-ui-v152 .erp-footer{padding:12px 20px;background:#f5f7fb;border-top:1px solid var(--erp-border);color:#8a97a9;font-size:10px}
@media(min-width:1500px){.ias-ui-v152 main.erp-main{padding-left:36px;padding-right:36px}}
@media(max-width:1000px){
  .ias-ui-v152 nav.erp-sidebar{width:214px;min-width:214px}
  .ias-ui-v152 main.erp-main{padding:20px 17px}
  .ias-ui-v152 .erp-topbar{padding:0 15px}
}
@media(max-width:900px){
  .ias-ui-v152 .erp-shell{display:block}
  .ias-ui-v152 nav.erp-sidebar{position:relative;top:auto;width:100%;min-width:0;height:auto;max-height:none;
    overflow-x:auto;overflow-y:visible;display:flex;flex-direction:row;align-items:flex-start;gap:5px;padding:8px 10px;
    background:#14254b}
  .ias-ui-v152 .erp-nav-caption,.ias-ui-v152 .erp-sidebar-bottom{display:none}
  .ias-ui-v152 nav.erp-sidebar .nav-home{white-space:nowrap;flex:0 0 auto}
  .ias-ui-v152 nav.erp-sidebar .nav-group{min-width:170px;flex:0 0 auto}
  .ias-ui-v152 nav.erp-sidebar .nav-group summary{white-space:nowrap}
  .ias-ui-v152 nav.erp-sidebar .nav-group .nav-submenu{margin:3px 0 0;padding:0;border:0}
  .ias-ui-v152 nav.erp-sidebar .nav-submenu a{white-space:nowrap}
  .ias-ui-v152 main.erp-main{padding:17px 14px}
  .ias-ui-v152 main h1{font-size:23px}
}
@media(max-width:570px){
  .ias-ui-v152 .erp-topbar{height:58px;min-height:58px;padding:0 10px}
  .ias-ui-v152 .erp-topbar .ias-logo{width:108px;height:36px}
  .ias-ui-v152 .erp-topbar .erp-brand-label{display:none}
  .ias-ui-v152 .erp-topbar-identity{gap:7px}
  .ias-ui-v152 .erp-version{font-size:10px;padding:2px 6px}
  .ias-ui-v152 .erp-user-avatar,.ias-ui-v152 .erp-user-details small{display:none}
  .ias-ui-v152 .erp-user-details{max-width:92px}
  .ias-ui-v152 .erp-topbar-user{gap:6px}
  .ias-ui-v152 .erp-topbar-user .erp-logout{padding:5px 7px}
  .ias-ui-v152 main .panel{padding:12px}
  .ias-ui-v152 main .metric{padding:12px}
  .ias-ui-v152 main .metric strong{font-size:20px}
  .ias-ui-v152 main th,.ias-ui-v152 main td{padding:7px 8px}
}
@media(prefers-reduced-motion:reduce){.ias-ui-v152 *{scroll-behavior:auto!important;transition:none!important}}

.ias-ui-v152 main button.ghost,.ias-ui-v152 main .button.ghost{background:#fff;color:#2b4d86;border:1px solid #cbd7e8}
.ias-ui-v152 main button.ghost:hover,.ias-ui-v152 main .button.ghost:hover{background:#edf3fc;color:#143c89}

/* Navegación móvil desplegable: mantiene los módulos compactos */
.ias-ui-v152 .erp-mobile-nav-toggle{display:none}
@media(max-width:900px){
 .ias-ui-v152 .erp-mobile-nav-toggle{display:flex;align-items:center;gap:9px;width:100%;height:40px;
   padding:0 15px;background:#152b55;border:0;border-radius:0;color:#fff;font-size:12px;font-weight:750;text-align:left;cursor:pointer}
 .ias-ui-v152 .erp-mobile-nav-arrow{margin-left:auto}
 .ias-ui-v152 nav.erp-sidebar{display:none;position:static;top:auto;width:100%;height:auto;max-height:65vh;
   overflow-y:auto;overflow-x:hidden;flex-direction:column;align-items:stretch;padding:8px 12px}
 .ias-ui-v152.erp-nav-open nav.erp-sidebar{display:flex}
 .ias-ui-v152 nav.erp-sidebar .nav-group{min-width:0;width:100%}
 .ias-ui-v152 nav.erp-sidebar .nav-group .nav-submenu{margin:3px 0 8px 20px;padding-left:9px;border-left:1px solid #39517c}
 .ias-ui-v152 nav.erp-sidebar .nav-submenu a{white-space:normal}
}

/* IASBCN: ampliación del menú lateral, aproximadamente 20 %. */
.ias-ui-v152 nav.erp-sidebar{width:326.4px;min-width:326.4px;padding:20.4px 14.4px 14.4px;gap:3.6px}
.ias-ui-v152 .erp-nav-caption{padding:6px 14.4px 14.4px;font-size:12px}
.ias-ui-v152 nav.erp-sidebar a,.ias-ui-v152 nav.erp-sidebar .nav-group summary{font-size:15.6px;padding:12px 14.4px;min-height:45px;white-space:normal;overflow-wrap:break-word}
.ias-ui-v152 nav.erp-sidebar .nav-group summary{padding-right:31.2px}
.ias-ui-v152 nav.erp-sidebar .nav-group summary::after{right:13.2px;top:12px;font-size:13.2px}
.ias-ui-v152 nav.erp-sidebar .nav-group .nav-submenu{margin:3.6px 0 9.6px 25.2px;padding:2.4px 0 2.4px 10.8px;gap:1.2px}
.ias-ui-v152 nav.erp-sidebar .nav-submenu a{font-size:15px;padding:8.4px 10.8px;min-height:40px}
.ias-ui-v152 nav.erp-sidebar .nav-icon{width:27.6px;font-size:20.4px}
.ias-ui-v152 .erp-nav-subheading{padding:13.2px 10.8px 4.8px;font-size:10.8px}
.ias-ui-v152 .erp-sidebar-bottom{padding:19.2px 14.4px 7.2px;font-size:12px}
.ias-ui-v152 nav.erp-sidebar .nav-settings{margin-top:9.6px}
@media(min-width:901px) and (max-width:1000px){
 .ias-ui-v152 nav.erp-sidebar{width:256.8px;min-width:256.8px}
}
@media(max-width:900px){
 .ias-ui-v152 .erp-mobile-nav-toggle{height:48px;min-height:48px;padding:0 18px;gap:10.8px;font-size:14.4px}
 .ias-ui-v152 nav.erp-sidebar{width:100%;min-width:0;padding:9.6px 14.4px;gap:6px}
 .ias-ui-v152 nav.erp-sidebar .nav-group .nav-submenu{margin:3.6px 0 9.6px 24px;padding:0 0 0 10.8px}
 .ias-ui-v152 nav.erp-sidebar a,.ias-ui-v152 nav.erp-sidebar .nav-group summary{white-space:normal;min-height:44px}
}

/* Servicio técnico: estilos limitados al módulo. */
.sat-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}
.sat-form{max-width:850px;margin-top:14px}
.sat-form textarea{width:100%;resize:vertical;font:inherit}
.sat-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:15px}
.sat-filter label{flex:1;min-width:160px;margin:0!important}
.sat-filter label:first-child{flex:2}
.sat-scroll{max-width:100%;overflow-x:auto}
.sat-scroll .sat-wrap{white-space:normal;min-width:150px;overflow-wrap:anywhere}
.sat-priority{font-weight:700}.sat-priority-high{color:#a13d18}
.sat-visit,.sat-event{padding:14px 0;border-bottom:1px solid var(--erp-border)}
.sat-text{white-space:pre-wrap;overflow-wrap:anywhere}
.sat-material{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:10px;background:#f2f6fc;border-radius:7px;margin-top:8px}
.sat-material form{margin:0}
@media(max-width:900px){.sat-tabs .button,.sat-form button,.sat-filter button,.sat-filter .button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.sat-form input,.sat-form select,.sat-filter input,.sat-filter select{min-height:44px!important}.sat-form .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){.sat-form .formgrid{grid-template-columns:1fr}.sat-filter{flex-direction:column;align-items:stretch}.sat-filter label{min-width:0}.sat-tabs a{flex:1 0 42%}}
.sat-form label{min-width:0}
.sat-material>span{min-width:0;overflow-wrap:anywhere;flex:1}
