:root{--primary:#1D4ED8;--secondary:#0F172A;--surface:#fff;--background:#f3f6fb;--border:#dbe3ef;--text:#172033;--muted:#667085;--danger:#b42318;--success:#027a48;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}
*{box-sizing:border-box}
html{min-height:100%;background:var(--background)}
body{position:relative;isolation:isolate;min-height:100vh;margin:0;background:var(--background);color:var(--text)}
body.branding-background::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:var(--background)}
a{color:inherit;text-decoration:none}
input,button,select,textarea{font:inherit}
label{display:flex;flex-direction:column;gap:.45rem;font-weight:650;color:#344054}
input,select,textarea{width:100%;border:1px solid var(--border);border-radius:.7rem;padding:.78rem .85rem;background:#fff;color:var(--text);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}
input[type="color"]{min-height:48px;padding:.25rem;cursor:pointer}
input[type="file"]{padding:.65rem;background:#f8fafc}
input[type="range"]{padding:.25rem 0;border:0;box-shadow:none;background:transparent}
input[type="checkbox"],input[type="radio"]{width:auto;box-shadow:none}
select{cursor:pointer}
fieldset{border:1px solid var(--border);border-radius:1rem;margin:1.2rem 0;padding:1.2rem;background:rgba(255,255,255,.72)}
legend{padding:0 .5rem;font-weight:800}
.muted{color:var(--muted)}
.field-help{margin:.75rem 0 0;color:var(--muted);font-size:.88rem}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:.75rem;padding:.75rem 1rem;cursor:pointer;font-weight:750}
.button-primary{background:var(--primary);color:#fff}
.button-primary:hover{filter:brightness(.94)}
.button-secondary{background:#e8eef8;color:#23314d}
.button-large{width:100%;padding:.95rem}
.alert{padding:.85rem 1rem;border-radius:.75rem;margin:.75rem 0;position:relative;z-index:2}
.alert-error{background:#fee4e2;color:var(--danger);border:1px solid #fecdca}
.alert-success{background:#dcfae6;color:var(--success);border:1px solid #abefc6}
.brand-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(145deg,var(--primary),var(--secondary));color:#fff;font-size:2rem;font-weight:900;margin:0 auto}
.brand-mark.small{width:36px;height:36px;border-radius:10px;font-size:1.1rem;margin:0}
.installer-body{min-height:100vh;background:radial-gradient(circle at top,#dce8ff,#f5f7fb 48%)}
.installer-shell,.guest-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}
.installer-card,.auth-card,.content-card{background:rgba(255,255,255,.96);border:1px solid rgba(219,227,239,.9);border-radius:1.2rem;box-shadow:0 22px 70px rgba(15,23,42,.12);backdrop-filter:blur(10px)}
.installer-card{width:min(900px,100%);padding:2rem}
.installer-card h1,.auth-card h1{text-align:center}
.auth-card{width:min(430px,100%);padding:2rem}
.auth-card form{display:grid;gap:1rem;margin:1.4rem 0}
.login-card{text-align:center}
.login-logo{display:block;width:min(230px,72%);height:96px;object-fit:contain;margin:0 auto .7rem}
.form-grid{display:grid;gap:1rem;margin-bottom:1rem}
.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
.full-width{grid-column:1/-1}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem clamp(1rem,4vw,3rem);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:center;gap:.7rem;font-weight:850;min-width:0}
.brand img{width:40px;height:40px;object-fit:contain;flex:0 0 auto}
.brand span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topnav{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.topnav a{padding:.55rem .7rem;border-radius:.55rem;color:#344054;white-space:nowrap}
.topnav a:hover{background:#eef2f7}
.page-shell{width:min(1240px,calc(100% - 2rem));margin:1.5rem auto 3rem}
.guest-shell{width:100%;margin:0}
.content-card{padding:1.5rem}
.narrow-card{max-width:650px;margin:4rem auto}
.company-list{display:grid;gap:.75rem;margin:1.2rem 0}
.company-option{display:flex;flex-direction:row;align-items:center;gap:.85rem;border:1px solid var(--border);padding:1rem;border-radius:.85rem;cursor:pointer;background:#fff}
.company-option input{width:auto}
.company-option span{display:flex;flex-direction:column;gap:.2rem}
.company-option small{color:var(--muted)}
.hero{min-height:230px;display:flex;align-items:flex-end;padding:2rem;border-radius:1.2rem;background:linear-gradient(120deg,var(--secondary),var(--primary));color:#fff;box-shadow:0 18px 50px rgba(15,23,42,.18)}
.hero h1{font-size:clamp(2rem,5vw,3.5rem);margin:.25rem 0}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:850;opacity:.78}
.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1rem}
.module-card{position:relative;background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:1rem;padding:1.2rem;min-height:150px;box-shadow:0 10px 32px rgba(15,23,42,.05)}
.module-card h2{font-size:1.05rem;margin:1.4rem 0 .5rem}
.module-card p{color:var(--muted);font-size:.92rem}
.status-pill{position:absolute;right:1rem;top:1rem;background:#edf2f7;border-radius:999px;padding:.28rem .55rem;font-size:.7rem;font-weight:750}
.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.section-heading h1{margin:.2rem 0}
.section-heading p{margin:.4rem 0 0}
.settings-card{max-width:1050px;margin-inline:auto}
.settings-form fieldset h2{font-size:1rem}
.color-input-row{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:.75rem}
.color-input-row span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}
.branding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.branding-file-card{display:flex;flex-direction:column;gap:.8rem;border:1px solid var(--border);border-radius:1rem;padding:1rem;background:#fff}
.branding-file-card h2,.branding-file-card p{margin:0}
.logo-preview{display:grid;place-items:center;overflow:hidden;border:1px dashed #b8c4d6;border-radius:.9rem;background:linear-gradient(135deg,#f8fafc,#eef2f7);color:var(--muted)}
.logo-preview img{width:100%;height:100%;object-fit:contain;padding:.65rem}
.large-logo-preview{height:150px}
.small-logo-preview{width:110px;height:110px}
.checkbox-row{display:flex;flex-direction:row;align-items:center;gap:.55rem;font-weight:600;color:#475467;cursor:pointer}
.background-editor{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:1.2rem;align-items:start}
.background-preview{position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;min-height:330px;border:1px solid var(--border);border-radius:1rem;background:#eef2f7}
.background-preview-image{position:absolute;inset:0;z-index:-1;background-color:#dbe3ef}
.background-preview-content{display:flex;flex-direction:column;gap:.35rem;padding:1.2rem;border-radius:.9rem;background:rgba(255,255,255,.92);box-shadow:0 12px 35px rgba(15,23,42,.15);text-align:center}
.background-preview-content span,.preview-login-card span{color:var(--muted);font-size:.85rem}
.preview-login-card{display:flex;flex-direction:column;align-items:center;gap:.55rem;width:min(290px,82%);padding:1.5rem;border-radius:1rem;background:rgba(255,255,255,.94);box-shadow:0 18px 45px rgba(15,23,42,.18);text-align:center}
.preview-login-card img{width:150px;height:65px;object-fit:contain}
.sticky-actions{position:sticky;bottom:1rem;z-index:5;display:flex;justify-content:flex-end;gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:1rem;background:rgba(255,255,255,.95);box-shadow:0 15px 40px rgba(15,23,42,.12);backdrop-filter:blur(10px)}
@media(max-width:950px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.background-editor{grid-template-columns:1fr}.background-preview{min-height:280px}}
@media(max-width:700px){.two-columns,.branding-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.topbar{align-items:flex-start;flex-direction:column}.brand{width:100%}.topnav{width:100%;overflow:auto;flex-wrap:nowrap;padding-bottom:.15rem}.page-shell{width:min(100% - 1rem,1240px);margin-top:.5rem}.guest-shell{width:100%;margin:0}.installer-card,.auth-card,.content-card{padding:1rem}.installer-shell,.guest-shell{padding:.5rem}.module-grid{grid-template-columns:1fr}.hero{padding:1.2rem;min-height:190px}fieldset{padding:.85rem}.background-preview{min-height:230px}.sticky-actions{bottom:.5rem;display:grid;grid-template-columns:1fr 1fr}.sticky-actions .button{width:100%}}

.alert-info{background:#eff8ff;color:#175cd3;border:1px solid #b2ddff}
.heading-actions,.filter-actions,.card-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}
.filters-bar{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(180px,.7fr) auto;gap:.8rem;align-items:end;padding:1rem;border:1px solid var(--border);border-radius:1rem;background:rgba(248,250,252,.9)}
.audit-filters{grid-template-columns:minmax(220px,1.2fr) minmax(160px,.7fr) 150px 150px auto}
.list-summary{margin:1rem 0;color:var(--muted)}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:1rem;background:#fff}
.data-table{width:100%;border-collapse:collapse;min-width:900px}
.data-table th,.data-table td{padding:.85rem .9rem;text-align:left;border-bottom:1px solid #edf1f6;vertical-align:middle}
.data-table th{background:#f8fafc;color:#475467;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.data-table tbody tr:hover{background:#fbfdff}
.data-table td strong,.data-table td small{display:block}
.data-table td small{margin-top:.2rem;color:var(--muted)}
.actions-column{width:110px}.actions-cell{white-space:nowrap}
.empty-cell,.empty-state{text-align:center;color:var(--muted);padding:2rem!important}
.button-small{padding:.5rem .7rem;border-radius:.6rem;font-size:.84rem}
.button-danger-outline{background:#fff;color:var(--danger);border:1px solid #fda29b}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.24rem .52rem;font-size:.72rem;font-weight:750;line-height:1.2;margin:.15rem .2rem .15rem 0}
.badge-success{background:#dcfae6;color:#027a48}.badge-muted{background:#f2f4f7;color:#475467}.badge-danger{background:#fee4e2;color:#b42318}.badge-info{background:#eaf2ff;color:#175cd3}
.pagination{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center;margin-top:1.2rem}
.pagination a{display:grid;place-items:center;min-width:36px;height:36px;border:1px solid var(--border);border-radius:.6rem;background:#fff}
.pagination a.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.form-card{max-width:1050px;margin-inline:auto}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.choice-card{display:flex;flex-direction:row;align-items:flex-start;gap:.7rem;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:#fff;cursor:pointer}
.choice-card span{display:flex;flex-direction:column;gap:.25rem}.choice-card small{color:var(--muted)}
.switch-field{display:flex;align-items:center;gap:.65rem;min-height:48px;padding:.75rem;border:1px solid var(--border);border-radius:.7rem;background:#fff}
.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.role-card{display:flex;flex-direction:column;gap:1rem;border:1px solid var(--border);border-radius:1rem;padding:1rem;background:#fff;box-shadow:0 8px 25px rgba(15,23,42,.04)}
.role-card.is-inactive{opacity:.7}.role-card-header{display:flex;justify-content:space-between;gap:1rem}.role-card h2,.role-card p{margin:0}.role-card p{color:var(--muted)}
.role-stats{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:0}.role-stats div{padding:.7rem;border-radius:.75rem;background:#f8fafc}.role-stats dt{font-size:.75rem;color:var(--muted)}.role-stats dd{margin:.15rem 0 0;font-size:1.2rem;font-weight:850}
.system-note{padding:.6rem .75rem;border-radius:.7rem;background:#eff8ff;color:#175cd3!important;font-size:.85rem}
.card-actions{margin-top:auto}.card-actions form{margin:0}
.permission-toolbar{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:1rem}
.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.permission-group{border:1px solid var(--border);border-radius:.9rem;padding:1rem;background:#fff}.permission-group h2{margin:0 0 .7rem;font-size:1rem}
.permission-item{display:flex;flex-direction:row;align-items:flex-start;gap:.65rem;padding:.65rem;border-radius:.65rem;cursor:pointer}.permission-item:hover{background:#f8fafc}.permission-item span{display:flex;flex-direction:column;gap:.18rem}.permission-item small{color:var(--muted);font-weight:400}
.audit-list{display:grid;gap:.8rem}.audit-item{border:1px solid var(--border);border-radius:1rem;padding:1rem;background:#fff}
.audit-main{display:flex;justify-content:space-between;gap:1rem;align-items:center}.audit-main time{color:var(--muted);white-space:nowrap}
.audit-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.7rem;color:var(--muted);font-size:.85rem}
.audit-item details{margin-top:.8rem}.audit-item summary{cursor:pointer;font-weight:700;color:#344054}
.audit-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.7rem}.audit-data-grid h3{font-size:.85rem;margin:.2rem 0}.audit-data-grid pre{max-height:320px;overflow:auto;margin:0;padding:.8rem;border-radius:.7rem;background:#101828;color:#f2f4f7;font-size:.75rem;white-space:pre-wrap;word-break:break-word}
@media(max-width:1000px){.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filters .filter-actions{grid-column:1/-1}.permission-groups{grid-template-columns:1fr}}
@media(max-width:700px){.section-heading{align-items:flex-start;flex-direction:column}.heading-actions{width:100%}.heading-actions .button{flex:1}.filters-bar,.audit-filters,.choice-grid,.role-grid{grid-template-columns:1fr}.filter-actions{display:grid;grid-template-columns:1fr 1fr}.data-table{min-width:0}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tr{padding:.65rem;border-bottom:1px solid var(--border)}.data-table td{display:grid;grid-template-columns:120px 1fr;gap:.7rem;border:0;padding:.45rem}.data-table td::before{content:attr(data-label);font-weight:750;color:#475467}.data-table .empty-cell{display:block}.table-wrap{overflow:visible}.audit-main{align-items:flex-start;flex-direction:column}.audit-data-grid{grid-template-columns:1fr}}

/* Maestros comerciales v0.5.0 */
.module-card-link{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.module-card-link:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(15,23,42,.1);border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}
.status-active{background:#dcfae6;color:#027a48}
.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}
.two-span{grid-column:span 2}
.partner-filters{grid-template-columns:minmax(250px,1.4fr) minmax(170px,.65fr) minmax(150px,.55fr) auto}
.partner-table{min-width:1080px}
.inline-form{display:inline-flex;margin:0 .2rem}
.record-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0 0 1rem}
.record-summary div{display:flex;flex-direction:column;gap:.25rem;padding:.85rem;border:1px solid var(--border);border-radius:.8rem;background:#f8fafc}
.record-summary span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.fieldset-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.fieldset-heading h2,.fieldset-heading p{margin:0}
.fieldset-heading h2{font-size:1rem}.fieldset-heading p{margin-top:.3rem;color:var(--muted);font-size:.88rem}
.repeatable-list{display:grid;gap:1rem}
.repeatable-item{border:1px solid var(--border);border-radius:.9rem;padding:1rem;background:#fff}
.repeatable-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.icon-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #fda29b;border-radius:.6rem;background:#fff;color:var(--danger);font-size:1.35rem;line-height:1;cursor:pointer}
.icon-button:hover{background:#fff1f0}
.check-options{display:flex;align-items:center;gap:1rem;min-height:48px;flex-wrap:wrap;padding:.6rem .75rem;border:1px solid var(--border);border-radius:.7rem;background:#f8fafc}
.check-options .checkbox-row{margin:0}
.partner-form-card textarea{resize:vertical;min-height:110px}
@media(max-width:1050px){.three-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-filters .filter-actions{grid-column:1/-1}.record-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.three-columns,.partner-filters,.record-summary{grid-template-columns:1fr}.two-span{grid-column:auto}.fieldset-heading{flex-direction:column}.fieldset-heading .button{width:100%}.repeatable-item{padding:.75rem}.check-options{align-items:flex-start;flex-direction:column}.inline-form{margin:.25rem 0}.partner-table{min-width:0}}

/* Catálogo de productos v0.6.0 */
.heading-actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.product-filters{grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(150px,1fr)) auto}.product-table small,.data-table small{display:block;margin-top:.25rem;color:#64748b}.checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:.75rem}.checkbox-grid label,.checkbox-inline{display:flex;align-items:center;gap:.55rem;padding:.7rem .8rem;border:1px solid #dbe3ef;border-radius:.65rem;background:#f8fafc}.inline-master-form{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:.8rem;align-items:end;margin:1rem 0 1.25rem;padding:1rem;border:1px solid #dbe3ef;border-radius:.85rem;background:#f8fafc}.inline-master-form label{display:grid;gap:.35rem}.inline-master-form .span-2{grid-column:span 2}.supplier-row{grid-template-columns:minmax(210px,1.5fr) minmax(145px,1fr) minmax(120px,.8fr) minmax(90px,.55fr) minmax(100px,.55fr) auto}.product-form .form-grid-4{grid-template-columns:repeat(4,minmax(150px,1fr))}.product-form .span-2{grid-column:span 2}.product-form .span-3{grid-column:span 3}
@media (max-width:1100px){.product-filters{grid-template-columns:repeat(2,minmax(180px,1fr))}.inline-master-form{grid-template-columns:repeat(2,minmax(180px,1fr))}.supplier-row{grid-template-columns:repeat(2,minmax(180px,1fr))}.product-form .form-grid-4{grid-template-columns:repeat(2,minmax(180px,1fr))}.product-form .span-3{grid-column:span 2}}
@media (max-width:680px){.heading-actions,.product-filters,.inline-master-form,.supplier-row,.product-form .form-grid-4,.checkbox-grid{display:grid;grid-template-columns:1fr;width:100%}.inline-master-form .span-2,.product-form .span-2,.product-form .span-3{grid-column:span 1}.heading-actions .button{width:100%;text-align:center}}
.product-form{display:grid;gap:1rem}.form-section{padding:1rem;border:1px solid var(--border);border-radius:1rem;background:rgba(255,255,255,.94)}.form-section>h2{margin:0 0 .9rem;font-size:1.05rem}.subsection-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem}.subsection-heading h2,.subsection-heading p{margin:0}.subsection-heading p{margin-top:.25rem;color:var(--muted)}.repeater-row{display:grid;gap:.7rem;align-items:end;padding:.8rem;margin-bottom:.75rem;border:1px solid var(--border);border-radius:.8rem;background:#f8fafc}.form-actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}.button-danger{background:#b42318;color:#fff;border:1px solid #b42318}.button-danger:hover{background:#912018}.supplier-row label{display:grid;gap:.35rem}.supplier-row .checkbox-inline{display:flex}.product-form textarea{resize:vertical}.textile-section{background:linear-gradient(180deg,#fff,#f8fbff)}
@media(max-width:680px){.subsection-heading{flex-direction:column}.subsection-heading .button,.form-actions .button{width:100%;text-align:center}.form-actions{display:grid;grid-template-columns:1fr}}

/* Almacenes e inventario v0.7.0 */
.warehouse-filters{grid-template-columns:minmax(240px,1.4fr) minmax(180px,.8fr) minmax(150px,.6fr) auto}
.lot-filters{grid-template-columns:minmax(220px,1.2fr) minmax(260px,1.5fr) minmax(150px,.7fr) auto}
.stock-filters{grid-template-columns:minmax(220px,1.2fr) minmax(210px,1fr) minmax(260px,1.3fr) minmax(160px,.7fr) auto}
.movement-filters{grid-template-columns:minmax(210px,1.1fr) minmax(220px,1fr) minmax(210px,1fr) minmax(150px,.7fr) auto}
.kardex-filters{grid-template-columns:minmax(250px,1.4fr) minmax(210px,1fr) minmax(180px,.8fr) repeat(2,minmax(145px,.65fr)) auto}
.location-row{grid-template-columns:minmax(120px,.55fr) minmax(180px,.8fr) minmax(260px,1.4fr) auto auto;align-items:end}
.location-description{min-width:0}.movement-line{grid-template-columns:repeat(4,minmax(150px,1fr));position:relative;padding-top:1rem}.movement-product{grid-column:span 2}.movement-observation{grid-column:span 2}.movement-line>.button-danger{align-self:end}.movement-line [hidden],.movement-form [hidden]{display:none!important}
.inventory-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 1rem}.inventory-summary article{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:#fff}.inventory-summary span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.inventory-summary strong{font-size:1.45rem}
.inventory-table{min-width:1180px}.kardex-table{min-width:1280px}.movement-meta{display:grid;gap:.35rem;margin:1rem 0}.movement-meta p{margin:0}.cancel-box{margin-top:1.2rem;padding:1rem;border:1px solid #fda29b;border-radius:.9rem;background:#fff7f6}.cancel-box h2{margin-top:0}.alert-info{background:#eff8ff;color:#175cd3;border:1px solid #b2ddff}
@media(max-width:1100px){.warehouse-filters,.lot-filters,.stock-filters,.movement-filters,.kardex-filters{grid-template-columns:repeat(2,minmax(180px,1fr))}.warehouse-filters .filter-actions,.lot-filters .filter-actions,.stock-filters .filter-actions,.movement-filters .filter-actions,.kardex-filters .filter-actions{grid-column:1/-1}.location-row{grid-template-columns:repeat(2,minmax(180px,1fr))}.location-description{grid-column:span 2}.movement-line{grid-template-columns:repeat(2,minmax(180px,1fr))}.movement-product,.movement-observation{grid-column:span 2}}
@media(max-width:700px){.warehouse-filters,.lot-filters,.stock-filters,.movement-filters,.kardex-filters,.location-row,.movement-line,.inventory-summary{grid-template-columns:1fr}.location-description,.movement-product,.movement-observation{grid-column:auto}.inventory-table,.kardex-table{min-width:0}.cancel-box .form-actions{display:grid;grid-template-columns:1fr}}


/* Compras y abastecimiento v0.8.0 */
.purchase-filters{grid-template-columns:minmax(240px,1.4fr) repeat(4,minmax(145px,.75fr)) auto}
.quote-filters{grid-template-columns:minmax(220px,1.25fr) minmax(210px,1fr) minmax(160px,.7fr) minmax(150px,.65fr) repeat(2,minmax(140px,.6fr)) auto}
.order-filters,.receipt-filters{grid-template-columns:minmax(230px,1.3fr) minmax(220px,1fr) minmax(160px,.7fr) repeat(2,minmax(140px,.6fr)) auto}
.purchase-table{min-width:1120px}.purchase-document-form{display:grid;gap:1rem}.purchase-request-line{grid-template-columns:minmax(280px,1.6fr) minmax(130px,.6fr) repeat(2,minmax(220px,1fr)) auto}.purchase-product{grid-column:auto}.purchase-spec{min-width:0}
.commercial-line{grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(90px,.65fr)) minmax(160px,1.1fr) minmax(100px,.55fr) auto;min-width:0}.commercial-line>*{min-width:0}.line-total{display:flex;flex-direction:column;gap:.3rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:.65rem;background:#fff}.line-total span{font-size:.72rem;color:var(--muted);text-transform:uppercase}.line-total strong{font-size:1.05rem}.document-totals{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:.75rem;margin-top:1rem}.document-totals>div{display:flex;flex-direction:column;gap:.35rem;padding:.8rem;border:1px solid var(--border);border-radius:.75rem;background:#f8fafc}.document-totals span{font-size:.75rem;color:var(--muted);text-transform:uppercase}.document-totals strong{font-size:1.15rem}.document-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:1.2rem}.document-actions form{margin:0}.document-meta{display:flex;gap:1.2rem;flex-wrap:wrap;margin:0 0 1rem}.document-meta p{margin:0}.priority-urgente{background:#fee4e2;color:#b42318}.priority-alta{background:#fffaeb;color:#b54708}.priority-normal{background:#eff8ff;color:#175cd3}.priority-baja{background:#f2f4f7;color:#344054}.status-borrador,.status-recibida{background:#f2f4f7;color:#344054}.status-emitida,.status-parcial{background:#eff8ff;color:#175cd3}.status-aprobada,.status-seleccionada,.status-cerrada{background:#dcfae6;color:#027a48}.status-rechazada,.status-anulada,.status-vencida{background:#fee4e2;color:#b42318}.progress{height:8px;overflow:hidden;border-radius:999px;background:#e4e7ec}.progress span{display:block;height:100%;background:var(--primary)}
.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.comparison-card{padding:1rem;border:1px solid var(--border);border-radius:1rem;background:#fff}.comparison-card.selected{border:2px solid var(--primary);box-shadow:0 12px 30px rgba(15,23,42,.1)}.comparison-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.comparison-header h2{margin:.5rem 0 .2rem;font-size:1rem}.comparison-header>strong{font-size:1.2rem;color:var(--primary)}.comparison-card dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem .8rem;margin:1rem 0}.comparison-card dt{color:var(--muted)}.comparison-card dd{margin:0;font-weight:650}.mini-lines{display:grid;gap:.45rem}.mini-lines div{display:flex;justify-content:space-between;gap:.8rem;padding:.5rem;border-radius:.55rem;background:#f8fafc;font-size:.78rem}.choice-list{display:grid;gap:.75rem}.choice-list a{display:flex;flex-direction:column;gap:.3rem;padding:1rem;border:1px solid var(--border);border-radius:.8rem;background:#fff;text-decoration:none;color:inherit}.choice-list a:hover{border-color:var(--primary);box-shadow:0 8px 20px rgba(15,23,42,.08)}.choice-list span{color:var(--muted)}
.receipt-lines{display:grid;gap:1rem}.receipt-line{display:grid;grid-template-columns:minmax(280px,1.5fr) repeat(4,minmax(145px,.7fr));gap:.75rem;align-items:end;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:#f8fafc}.receipt-product{display:flex;flex-direction:column;gap:.25rem;align-self:center}.receipt-product span{color:var(--muted);font-size:.85rem}.receipt-observation{grid-column:span 2}
@media(max-width:1200px){.purchase-filters,.quote-filters,.order-filters,.receipt-filters{grid-template-columns:repeat(2,minmax(180px,1fr))}.purchase-filters .filter-actions,.quote-filters .filter-actions,.order-filters .filter-actions,.receipt-filters .filter-actions{grid-column:1/-1}.commercial-line{grid-template-columns:repeat(3,minmax(170px,1fr))}.purchase-product,.purchase-spec{grid-column:span 2}.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-line{grid-template-columns:repeat(3,minmax(170px,1fr))}.receipt-product{grid-column:span 2}}
@media(max-width:700px){.purchase-filters,.quote-filters,.order-filters,.receipt-filters,.purchase-request-line,.commercial-line,.document-totals,.comparison-grid,.receipt-line{grid-template-columns:1fr}.purchase-product,.purchase-spec,.receipt-product,.receipt-observation{grid-column:auto}.purchase-table{min-width:0}.document-actions{display:grid;grid-template-columns:1fr}.document-actions form,.document-actions .button,.document-actions button{width:100%}.comparison-header,.mini-lines div{flex-direction:column}.receipt-line{padding:.8rem}}

/* Servicios, guías y tránsito v0.9.0 */
.service-order-line,.guide-line{grid-template-columns:minmax(230px,2fr) repeat(5,minmax(110px,1fr));align-items:end}
.guide-line{grid-template-columns:minmax(220px,2fr) repeat(8,minmax(120px,1fr));overflow-x:auto}
.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}
.detail-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.3rem}
.detail-card span,.detail-card small{color:#64748b;font-size:.85rem}.detail-card strong{font-size:1rem}
.linked-movements{margin-top:1.25rem}.linked-movements h2{margin-bottom:.75rem}
.timeline{display:grid;gap:.75rem;margin-top:1rem}.timeline article{border-left:4px solid var(--primary);background:#f8fafc;border-radius:0 12px 12px 0;padding:.8rem 1rem}.timeline article strong,.timeline article span{display:block}.timeline article span{font-size:.82rem;color:#64748b;margin-top:.15rem}.timeline article p{margin:.45rem 0 0}
.inline-form{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.inline-form input{flex:1;min-width:240px}
.danger-zone{margin-top:1.25rem;padding:1rem;border:1px solid #fecaca;background:#fff7f7;border-radius:14px}.danger-zone h2{margin:0 0 .25rem}.danger-zone p{margin:.25rem 0 .75rem}
.row-warning{background:#fff7ed}.alert-info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.status-en_transito,.status-parcial{background:#fef3c7;color:#92400e}.status-recibida,.status-entregada,.status-finalizada,.status-cerrada{background:#dcfce7;color:#166534}.status-observada{background:#ffedd5;color:#9a3412}.status-anulada{background:#fee2e2;color:#991b1b}
@media(max-width:980px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-order-line,.guide-line{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.detail-grid{grid-template-columns:1fr}.service-order-line,.guide-line{grid-template-columns:1fr}.inline-form{align-items:stretch}.inline-form input,.inline-form button{width:100%}}

/* Ventas v0.10.0 */
.sales-line{grid-template-columns:minmax(220px,2fr) repeat(4,minmax(95px,.7fr)) minmax(170px,1.2fr) minmax(170px,1.2fr) auto auto;align-items:end}
.sales-product,.sales-spec{min-width:0}.line-total{padding:.75rem .4rem;text-align:right;white-space:nowrap}.document-totals{display:flex;justify-content:flex-end;gap:1.25rem;flex-wrap:wrap;padding:1rem 0;font-size:.95rem}.allocation-line{grid-template-columns:minmax(240px,1.5fr) minmax(280px,2fr) minmax(110px,.7fr) auto;align-items:end}.dispatch-allocation{grid-template-columns:minmax(220px,1.4fr) minmax(260px,1.8fr) repeat(4,minmax(90px,.6fr)) auto}.action-cluster{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap}.action-cluster form{display:flex;align-items:end;gap:.6rem;flex-wrap:wrap}.action-cluster label{min-width:190px}
@media(max-width:1100px){.sales-line,.allocation-line,.dispatch-allocation{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-product,.sales-spec{grid-column:span 2}}
@media(max-width:680px){.sales-line,.allocation-line,.dispatch-allocation{grid-template-columns:1fr}.sales-product,.sales-spec{grid-column:auto}.document-totals{justify-content:flex-start;flex-direction:column;gap:.35rem}}

/* Producción v0.11.0 */
.production-material-row{grid-template-columns:minmax(250px,2fr) minmax(120px,.7fr) minmax(130px,.75fr) minmax(180px,1.2fr) minmax(130px,.7fr) auto}
.production-process-row{grid-template-columns:minmax(220px,1.2fr) minmax(160px,.7fr) minmax(280px,1.7fr) auto}
.production-allocation-row{grid-template-columns:minmax(240px,1.4fr) minmax(300px,2fr) minmax(130px,.7fr) auto}
.production-consumption-row{grid-template-columns:repeat(4,minmax(150px,1fr));position:relative}.production-consumption-row>label:first-child,.production-consumption-row>label:nth-child(2),.production-consumption-row>label:nth-child(3){grid-column:span 1}.production-consumption-row>.button{align-self:end}
.production-shortcuts{margin:1rem 0;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:#f8fafc}
@media(max-width:900px){.production-material-row,.production-process-row,.production-allocation-row,.production-consumption-row{grid-template-columns:1fr 1fr}.production-material-row label:first-child,.production-allocation-row label:nth-child(2){grid-column:span 2}}
@media(max-width:600px){.production-material-row,.production-process-row,.production-allocation-row,.production-consumption-row{grid-template-columns:1fr}.production-material-row label:first-child,.production-allocation-row label:nth-child(2){grid-column:auto}}


/* Panel gerencial y reportes v0.12.0 */
.dashboard-hero{display:flex;justify-content:space-between;gap:1.25rem;align-items:end}.period-form{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap}.period-form label{display:grid;gap:.3rem;font-size:.8rem}.dashboard-hero .period-form label{color:#fff}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}.kpi-card{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem;border:1px solid var(--border);border-radius:1rem;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(15,23,42,.05)}.kpi-card span{text-transform:uppercase;letter-spacing:.04em;font-size:.74rem;color:var(--muted)}.kpi-card strong{font-size:1.65rem;color:var(--secondary)}.kpi-card small{color:var(--muted)}.pending-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.pending-grid a{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;border:1px solid var(--border);border-radius:.85rem;background:#fff;color:inherit;text-decoration:none}.pending-grid strong{font-size:1.2rem;color:var(--primary)}.pending-grid span{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.alert-list{display:grid;gap:.55rem}.operational-alert{display:flex;flex-direction:column;gap:.25rem;padding:.75rem .85rem;border-left:4px solid;border-radius:.65rem;background:#f8fafc;color:inherit;text-decoration:none}.operational-alert span{font-size:.84rem;color:var(--muted)}.alert-level-danger{border-color:#d92d20;background:#fff5f4}.alert-level-warning{border-color:#f79009;background:#fffaeb}.mini-chart{display:grid;gap:.42rem}.chart-row{display:grid;grid-template-columns:48px 1fr;gap:.6rem;align-items:center;font-size:.72rem}.chart-row>div{display:grid;gap:2px}.bar{display:block;height:8px;min-width:1px;border-radius:999px}.sales-bar{background:var(--primary)}.purchase-bar{background:#f79009}.chart-legend{display:flex;gap:1rem;margin-top:.8rem;font-size:.8rem}.chart-legend span{display:flex;align-items:center;gap:.35rem}.chart-legend i{width:12px;height:12px;border-radius:3px}.legend-sales{background:var(--primary)}.legend-purchases{background:#f79009}.report-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:1rem 0;border-bottom:1px solid var(--border)}.report-tabs a{padding:.7rem .9rem;text-decoration:none;color:var(--muted);font-weight:700;border-bottom:3px solid transparent}.report-tabs a.active{color:var(--primary);border-color:var(--primary)}.report-filters{grid-template-columns:repeat(3,minmax(170px,1fr)) auto}.report-meta{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:.75rem 0;color:var(--muted);font-size:.84rem}.report-table-wrap{max-height:65vh}.report-table{font-size:.82rem;min-width:1250px}.report-table th{position:sticky;top:0;z-index:1;background:#f8fafc;white-space:nowrap}.report-table td{white-space:nowrap}.empty-state{color:var(--muted);padding:1rem 0}
@media(max-width:1000px){.kpi-grid,.pending-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-hero{align-items:flex-start;flex-direction:column}.report-filters{grid-template-columns:repeat(2,minmax(170px,1fr))}}
@media(max-width:650px){.kpi-grid,.pending-grid,.report-filters{grid-template-columns:1fr}.period-form{display:grid;grid-template-columns:1fr 1fr;width:100%}.period-form .button{grid-column:1/-1}.report-tabs{display:grid;grid-template-columns:repeat(2,1fr)}.report-tabs a{text-align:center}.report-table-wrap{max-height:none}.report-table{min-width:0}.report-meta{flex-direction:column}.kpi-card strong{font-size:1.35rem}}
@media print{.topbar,.no-print,.heading-actions,.module-grid,.report-tabs{display:none!important}body,.page-shell{background:#fff!important}.page-shell{max-width:none;padding:0}.content-card{box-shadow:none;border:0;padding:0}.report-table-wrap{max-height:none;overflow:visible}.report-table{min-width:100%;font-size:8pt}.report-table th{position:static}.report-table td,.report-table th{white-space:normal;padding:4px}.branding-background::before{display:none}}

/* Finanzas v0.13.0 */
.finance-metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.module-links{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}
.module-links a{display:inline-flex;padding:.65rem .9rem;border:1px solid var(--border,#dbe2ea);border-radius:.65rem;text-decoration:none;background:#fff;color:var(--secondary)}
.module-links a:hover{border-color:var(--primary);color:var(--primary)}
.two-column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
@media(max-width:900px){.two-column-grid{grid-template-columns:1fr}}

/* Seguridad, respaldos y mantenimiento v0.14.0 */
.system-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1rem}.system-kpis article{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:#fff}.system-kpis span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.system-kpis strong{font-size:1.6rem}.system-grid{margin:1rem 0}.maintenance-state{padding:1rem;border:1px solid var(--border);border-radius:.85rem;background:#f8fafc;margin-bottom:1rem}.maintenance-state.is-active{border-color:#fda29b;background:#fff4f2}.maintenance-state p{margin:.65rem 0 0}.stack-form{display:grid;gap:.8rem}.stack-form label{display:grid;gap:.35rem}.stack-form textarea{resize:vertical}.system-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.system-details div{padding:.8rem;border:1px solid var(--border);border-radius:.75rem;background:#f8fafc}.system-details dt{font-size:.75rem;color:var(--muted);text-transform:uppercase}.system-details dd{margin:.25rem 0 0;font-weight:750;word-break:break-word}.health-ok{background:#dcfae6;color:#027a48}.health-warning{background:#fffaeb;color:#b54708}.health-error{background:#fee4e2;color:#b42318}.inline-backup-form{display:flex;gap:.6rem;flex-wrap:wrap}.inline-backup-form input{min-width:260px}.backup-actions{display:flex;gap:.45rem;flex-wrap:wrap}.backup-actions form{margin:0}.button-small{padding:.42rem .65rem;font-size:.78rem}.restore-row td{background:#f8fafc}.restore-row details{max-width:760px}.restore-row summary{cursor:pointer;font-weight:750;color:var(--primary)}.restore-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr) auto;gap:.75rem;align-items:end;margin-top:.8rem}.restore-form label{display:grid;gap:.35rem}.restore-form .checkbox-inline{display:flex}.cleanup-form{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap;margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:.85rem;background:#f8fafc}.cleanup-form label{display:grid;gap:.35rem}.cleanup-form input{width:130px}.warning-card{border-color:#fedf89;background:#fffcf5}.maintenance-public{text-align:center}.maintenance-public .brand-mark{margin-bottom:1rem}.maintenance-public .form-actions{justify-content:center}.badge-danger{background:#fee4e2;color:#b42318}.system-health-table{min-width:900px}.backup-table{min-width:1080px}
@media(max-width:900px){.system-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.restore-form{grid-template-columns:1fr}.inline-backup-form{width:100%}.inline-backup-form input,.inline-backup-form .button{width:100%}.system-details{grid-template-columns:1fr}}
@media(max-width:650px){.system-kpis{grid-template-columns:1fr}.cleanup-form{display:grid;grid-template-columns:1fr}.cleanup-form input,.cleanup-form .button{width:100%}.system-health-table,.backup-table{min-width:0}}

/* v0.15.0 - Calidad, integridad e incidencias */
.quality-hero{overflow:hidden}
.quality-kpis{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin:22px 0}
.quality-kpis article,.quality-master-counts div{border:1px solid var(--border,#dbe3ef);background:rgba(255,255,255,.84);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:6px}
.quality-kpis span,.quality-master-counts span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:700}
.quality-kpis strong,.quality-master-counts strong{font-size:1.45rem;color:#0f172a}
.quality-run-form{display:grid;grid-template-columns:minmax(250px,1fr) auto;align-items:end;gap:12px;padding:16px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}
.quality-run-form label{margin:0}
.quality-grid{align-items:start}
.quality-master-counts{display:grid;grid-template-columns:repeat(5,minmax(80px,1fr));gap:8px;margin-top:18px}
.quality-master-counts div{padding:12px;text-align:center}
.quality-summary-list{display:grid;gap:8px;margin:0}
.quality-summary-list div{display:flex;justify-content:space-between;gap:16px;padding:12px;border-bottom:1px solid #e2e8f0}
.quality-summary-list dt{color:#475569}.quality-summary-list dd{font-weight:800;margin:0;color:#0f172a}
.quality-state-aprobado,.result-state-ok{background:#dcfce7;color:#166534}
.quality-state-observado,.result-state-hallazgo{background:#fef3c7;color:#92400e}
.quality-state-error,.result-state-error{background:#fee2e2;color:#991b1b}
.quality-state-en_proceso{background:#dbeafe;color:#1e40af}
.result-state-no_aplica{background:#e2e8f0;color:#475569}
.severity-critica{background:#fee2e2;color:#991b1b}
.severity-alta{background:#ffedd5;color:#9a3412}
.severity-media,.severity-advertencia{background:#fef3c7;color:#92400e}
.severity-baja,.severity-info{background:#dbeafe;color:#1e40af}
.quality-results-table tr.result-hallazgo td{background:rgba(254,243,199,.22)}
.quality-results-table tr.result-error td{background:rgba(254,226,226,.24)}
.quality-results-table small{display:block;max-width:440px;white-space:normal;line-height:1.45}
.incident-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.incident-meta span{padding:8px 12px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.88rem}
@media(max-width:1000px){.quality-kpis{grid-template-columns:repeat(2,minmax(130px,1fr))}.quality-master-counts{grid-template-columns:repeat(3,minmax(90px,1fr))}}
@media(max-width:640px){.quality-kpis,.quality-master-counts{grid-template-columns:1fr 1fr}.quality-run-form{grid-template-columns:1fr}.quality-results-table small{max-width:none}}

/* v0.16.0 - Importaciones, exportaciones e impresiones */
.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.tool-card{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.1rem;border:1px solid var(--border);border-radius:1rem;background:#fff}.tool-card h2,.tool-card p{margin:.25rem 0}.tool-card p{color:var(--muted)}.tool-actions{display:grid;gap:.75rem}.upload-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:.7rem;align-items:end;padding:.8rem;border:1px dashed #b9c6d8;border-radius:.8rem;background:#f8fafc}.upload-form label{display:grid;gap:.35rem}.action-grid{display:flex;gap:.65rem;flex-wrap:wrap}.print-document-body{margin:0;background:#eef2f7;color:#172033}.print-toolbar{position:sticky;top:0;z-index:10;display:flex;justify-content:center;gap:.75rem;padding:.75rem;background:rgba(15,23,42,.92);backdrop-filter:blur(8px)}.print-sheet{width:min(210mm,calc(100% - 2rem));min-height:297mm;margin:1rem auto;padding:14mm;background:#fff;box-shadow:0 20px 60px rgba(15,23,42,.16)}.print-document-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding-bottom:1rem;border-bottom:3px solid var(--primary)}.print-company{display:flex;gap:1rem;align-items:center}.print-company img{max-width:110px;max-height:70px;object-fit:contain}.print-company h1{margin:0;font-size:1.25rem}.print-company p{margin:.15rem 0;color:#526074;font-size:.82rem}.print-document-number{min-width:190px;text-align:center;border:2px solid var(--primary);border-radius:.75rem;overflow:hidden}.print-document-number span{display:block;padding:.45rem;background:var(--primary);color:#fff;font-size:.76rem;font-weight:800;letter-spacing:.08em}.print-document-number strong{display:block;padding:.75rem .5rem;font-size:1.15rem}.print-document-number small{display:block;padding:0 .5rem .6rem;color:#667085}.print-party-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:1rem 0}.print-party-grid>div{padding:.65rem;border:1px solid #d9e1ec;border-radius:.55rem}.print-party-grid span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#667085}.print-party-grid strong{display:block;margin-top:.2rem;font-size:.85rem}.print-table{width:100%;border-collapse:collapse;font-size:.76rem}.print-table th,.print-table td{padding:.48rem;border:1px solid #cfd8e5;text-align:left;vertical-align:top}.print-table th{background:#f1f5f9;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em}.print-totals{display:grid;grid-template-columns:minmax(0,1fr) 220px;margin:1rem 0 0 auto;max-width:420px}.print-totals div{grid-column:2;display:flex;justify-content:space-between;gap:1rem;padding:.45rem .6rem;border-bottom:1px solid #dbe3ef}.print-totals div:last-child{font-size:1rem;border-top:2px solid var(--primary);border-bottom:0}.print-notes{margin-top:1rem;padding:.75rem;border:1px solid #dbe3ef;border-radius:.55rem}.print-notes p{margin:.35rem 0 0;white-space:pre-line}.print-footer{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:.65rem;border-top:1px solid #cfd8e5;color:#667085;font-size:.68rem}.document-print-link{white-space:nowrap}.print-orientation-landscape .print-sheet{width:min(297mm,calc(100% - 2rem));min-height:210mm}.print-document-alert{margin-top:1rem;padding:.65rem .8rem;border:2px solid #b42318;border-radius:.55rem;color:#b42318;text-align:center;font-size:.78rem}.print-status-watermark{position:fixed;inset:42% auto auto 50%;z-index:1;transform:translate(-50%,-50%) rotate(-28deg);font-size:64px;font-weight:900;letter-spacing:.12em;color:#b42318;opacity:.09;pointer-events:none;white-space:nowrap}.print-sheet{position:relative;z-index:2}.print-signatures{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-top:18mm}.print-signatures>div{text-align:center}.print-signatures>div span{display:block;min-height:10mm;border-bottom:1px solid #667085}.print-signatures>div strong{display:block;padding-top:.35rem;font-size:.72rem;color:#475467}.print-totals,.print-notes,.print-document-alert,.print-signatures{break-inside:avoid}
@media(max-width:850px){.tool-grid{grid-template-columns:1fr}.upload-form{grid-template-columns:1fr}.print-sheet{width:100%;margin:0;padding:1rem;min-height:auto}.print-document-header{flex-direction:column}.print-document-number{width:100%}.print-party-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.print-party-grid{grid-template-columns:1fr}.print-company{align-items:flex-start}.print-company img{max-width:80px}.print-table{font-size:.68rem}}
@media print{@page{size:A4;margin:8mm 8mm 16mm}.print-document-body{background:#fff}.print-toolbar{display:none!important}.print-sheet{width:auto!important;min-height:auto;margin:0;padding:0 0 11mm;box-shadow:none}.print-document-header{break-inside:avoid}.print-party-grid{break-inside:avoid}.print-table{font-size:7.5pt}.print-table thead{display:table-header-group}.print-table tr{break-inside:avoid}.print-footer{position:fixed;bottom:0;left:0;right:0}.page-number::after{content:counter(page)}}

/* Alertas y recordatorios v0.17.0 */
.notification-nav-link{display:inline-flex!important;align-items:center;gap:.4rem}
.notification-nav-count{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .3rem;border-radius:999px;background:#d92d20;color:#fff;font-size:.68rem;font-weight:850}
.notification-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin:1rem 0}
.notification-kpis article{padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:#fff}
.notification-kpis span{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}
.notification-kpis strong{display:block;margin-top:.3rem;font-size:1.7rem}
.notification-filters{grid-template-columns:minmax(170px,.8fr) minmax(150px,.7fr) minmax(160px,.7fr) auto}
.notification-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:1rem;align-items:start;margin-top:1.2rem}
.notification-list{display:grid;gap:.75rem}
.notification-card{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border);border-left:5px solid #98a2b3;border-radius:.9rem;background:#fff}
.notification-card.is-unread{box-shadow:0 8px 24px rgba(15,23,42,.07)}
.notification-card.severity-critica{border-left-color:#d92d20}.notification-card.severity-alta{border-left-color:#f79009}.notification-card.severity-media{border-left-color:#2e90fa}
.notification-card h3{margin:.45rem 0 .35rem;font-size:1rem}.notification-card p{margin:0;color:#475467}
.notification-meta{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.notification-meta time{font-size:.78rem;color:var(--muted)}
.notification-actions{display:flex;align-items:flex-start;gap:.45rem;flex-wrap:wrap}.notification-actions form{margin:0}
.notification-more{position:relative}.notification-more summary{cursor:pointer;padding:.5rem .65rem;border:1px solid var(--border);border-radius:.6rem;font-size:.82rem;font-weight:750;background:#fff}
.notification-more>div{position:absolute;right:0;z-index:5;width:290px;display:grid;gap:.55rem;margin-top:.35rem;padding:.75rem;border:1px solid var(--border);border-radius:.75rem;background:#fff;box-shadow:0 14px 35px rgba(15,23,42,.14)}
.notification-more form{display:grid;grid-template-columns:1fr auto;gap:.45rem}.notification-more form:last-child{grid-template-columns:1fr}
.reminder-create-card{position:sticky;top:90px;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:#f8fafc}.reminder-create-card h2{margin-top:0}
.reminder-section{margin-top:1.5rem}.reminder-table{min-width:900px}.reminder-table tr.is-overdue td{background:#fff4f2}
.notification-toggle-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}
@media(max-width:950px){.notification-layout{grid-template-columns:1fr}.reminder-create-card{position:static}.notification-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-toggle-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}
@media(max-width:700px){.notification-kpis,.notification-toggle-grid{grid-template-columns:1fr}.notification-filters{grid-template-columns:1fr}.notification-card{flex-direction:column}.notification-actions{width:100%}.notification-actions .button{flex:1}.notification-more{width:100%}.notification-more summary{text-align:center}.notification-more>div{position:static;width:100%}}

/* v0.17.1 - Navegación principal agrupada y responsive */
.topbar{z-index:50;display:flex;align-items:center;gap:1rem;padding:.65rem clamp(.8rem,2.6vw,2rem)}
.topbar-primary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:190px}
.brand{max-width:245px}
.topnav{display:flex;align-items:center;justify-content:flex-end;gap:.18rem;flex:1;min-width:0;flex-wrap:nowrap}
.topnav>a,.nav-menu-group>summary,.nav-logout{display:flex;align-items:center;min-height:40px;padding:.55rem .62rem;border-radius:.62rem;color:#344054;font-size:.88rem;font-weight:680;white-space:nowrap;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.topnav>a:hover,.nav-menu-group>summary:hover,.nav-menu-group[open]>summary{background:#eef2f7;color:#172033}
.topnav>a.is-active,.nav-menu-group.is-active>summary{background:color-mix(in srgb,var(--primary) 11%,#fff);color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 20%,transparent)}
.nav-menu-group{position:relative}
.nav-menu-group>summary{list-style:none;gap:.42rem;user-select:none}
.nav-menu-group>summary::-webkit-details-marker{display:none}
.nav-chevron{width:.46rem;height:.46rem;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}
.nav-menu-group[open] .nav-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.nav-menu-panel{position:absolute;top:calc(100% + .48rem);left:0;z-index:60;display:grid;width:max-content;min-width:240px;max-width:min(340px,calc(100vw - 2rem));max-height:min(70vh,620px);overflow:auto;padding:.5rem;border:1px solid var(--border);border-radius:.85rem;background:rgba(255,255,255,.99);box-shadow:0 18px 50px rgba(15,23,42,.16)}
.nav-menu-group:nth-last-of-type(-n+2) .nav-menu-panel{right:0;left:auto}
.nav-menu-panel a{display:block;padding:.62rem .72rem;border-radius:.58rem;color:#344054;font-size:.86rem;font-weight:620;white-space:normal}
.nav-menu-panel a:hover{background:#f2f5f9;color:#172033}
.nav-menu-panel a.is-active{background:color-mix(in srgb,var(--primary) 11%,#fff);color:var(--primary);font-weight:800}
.nav-menu-section{display:block;padding:.62rem .72rem .28rem;color:#7b8798;font-size:.66rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.nav-menu-section:not(:first-child){margin-top:.28rem;padding-top:.72rem;border-top:1px solid #eef2f6}
.nav-direct-link{font-weight:760!important}
.nav-logout-form{display:flex;margin:0}
.nav-logout{margin-left:.25rem;border:0;background:#fff1f0;color:#b42318!important;font:inherit;cursor:pointer}
.nav-logout:hover{background:#fee4e2!important}
.nav-toggle{display:none;align-items:center;gap:.55rem;border:1px solid var(--border);border-radius:.68rem;padding:.55rem .72rem;background:#fff;color:#344054;font-weight:750;cursor:pointer}
.nav-toggle:hover{background:#f8fafc}
.nav-toggle-icon{display:grid;gap:3px;width:17px}
.nav-toggle-icon i{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon i:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

@media(max-width:1180px){
    .topbar{align-items:stretch;flex-direction:column;gap:.55rem;padding:.65rem 1rem}
    .topbar-primary{width:100%}
    .brand{max-width:calc(100% - 95px)}
    .nav-toggle{display:inline-flex}
    .topnav{display:none;width:100%;max-height:calc(100vh - 85px);overflow:auto;padding:.5rem;border:1px solid var(--border);border-radius:.85rem;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.12)}
    .topnav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.4rem}
    .topnav>a,.nav-menu-group>summary,.nav-logout{width:100%;justify-content:space-between;min-height:44px;padding:.68rem .75rem}
    .nav-menu-group{position:static;min-width:0}
    .nav-menu-group>summary::after{content:""}
    .nav-menu-panel,.nav-menu-group:nth-last-of-type(-n+2) .nav-menu-panel{position:static;display:grid;width:100%;min-width:0;max-width:none;max-height:none;margin:.2rem 0 .45rem;padding:.35rem;border:0;border-left:3px solid color-mix(in srgb,var(--primary) 28%,#dbe3ef);border-radius:0 .65rem .65rem 0;background:#f8fafc;box-shadow:none}
    .nav-menu-panel a{padding:.68rem .75rem}
    .nav-menu-section{padding:.62rem .75rem .25rem}
    .nav-logout-form{width:100%}
    .nav-logout{width:100%;margin-left:0;justify-content:flex-start}
}

@media(max-width:700px){
    .topbar{align-items:stretch;flex-direction:column}
    .topbar-primary{width:100%}
    .brand{width:auto;max-width:calc(100% - 92px)}
    .topnav{width:100%;overflow:auto;flex-wrap:initial;padding:.5rem}
    .topnav.is-open{grid-template-columns:1fr}
    .nav-menu-group>summary,.topnav>a,.nav-logout{font-size:.92rem}
    .nav-menu-panel{padding:.3rem .25rem .4rem .55rem}
}

/* Comprobantes electrónicos v0.18.0 */
.status-pendiente{background:#f2f4f7;color:#344054}
.status-generado,.status-enviando{background:#eff8ff;color:#175cd3}
.status-aceptado{background:#dcfae6;color:#027a48}
.status-aceptado_observacion{background:#fff6ed;color:#b54708}
.status-rechazado,.status-error{background:#fee4e2;color:#b42318}

/* SYSTEXCFL v0.19.0: ayuda, capacitación y despliegue */
.help-hero,.deployment-hero{overflow:hidden}
.help-progress-summary,.deployment-summary{display:flex;align-items:center;gap:18px;padding:18px;border-radius:18px;background:linear-gradient(135deg,rgba(29,78,216,.08),rgba(15,23,42,.04));border:1px solid rgba(148,163,184,.28)}
.help-progress-ring{--progress:0;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;flex:0 0 82px;background:conic-gradient(var(--primary) calc(var(--progress)*1%),#e2e8f0 0);position:relative}
.help-progress-ring::after{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.help-progress-ring strong{position:relative;z-index:1;font-size:1.05rem}
.help-category h2,.deployment-category h2{margin:0}
.help-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.help-topic-card{border:1px solid #dbe3ef;border-radius:16px;padding:18px;background:rgba(255,255,255,.94);display:flex;flex-direction:column;min-height:220px;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.help-topic-card.status-completado{border-color:#86efac;background:#f0fdf4}
.help-topic-card h3{margin:10px 0 8px}.help-topic-card p{margin:0 0 16px;color:#475569;flex:1}.help-topic-card .button{align-self:flex-start}
.help-topic-meta{display:flex;gap:8px;flex-wrap:wrap}
.help-steps{list-style:none;padding:0;margin:26px 0;display:grid;gap:14px;counter-reset:help-step}
.help-steps li{display:grid;grid-template-columns:42px 1fr;align-items:start;gap:14px;border:1px solid #dbe3ef;border-radius:14px;padding:15px;background:#fff}
.help-steps li>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:800}.help-steps p{margin:5px 0 0}
.help-tips{padding:18px;border-left:4px solid #f59e0b;background:#fffbeb;border-radius:0 14px 14px 0}.help-tips h2{margin-top:0}.help-tips li+li{margin-top:8px}
.help-progress-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;border-top:1px solid #e2e8f0;padding-top:18px}.help-progress-form label{min-width:220px}
.deployment-hero.is-ready{border-color:#86efac}.deployment-summary{justify-content:space-between;flex-wrap:wrap}.deployment-summary>strong{font-size:2.15rem;color:var(--primary)}.deployment-summary>div{display:grid;gap:7px;min-width:min(360px,100%);flex:1}.deployment-summary progress{width:100%;height:12px;accent-color:var(--primary)}
.deployment-items{display:grid;gap:14px}.deployment-item{border:1px solid #dbe3ef;border-left:5px solid #94a3b8;border-radius:14px;padding:16px;background:rgba(255,255,255,.94)}.deployment-status-verificado,.deployment-status-no_aplica{border-left-color:#16a34a}.deployment-status-en_proceso{border-left-color:#f59e0b}
.deployment-item-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}.deployment-item h3{margin:0 0 6px}.deployment-item p{margin:0 0 5px}.deployment-item small{color:#64748b}
.deployment-form{display:grid;grid-template-columns:180px minmax(180px,1fr) minmax(180px,1fr) auto;gap:10px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid #e2e8f0}.deployment-form label{margin:0}
@media (max-width:1050px){.help-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.deployment-form{grid-template-columns:1fr 1fr}.deployment-form .button{align-self:end}}
@media (max-width:680px){.help-topic-grid{grid-template-columns:1fr}.help-progress-summary,.deployment-summary{align-items:flex-start}.deployment-item-heading{display:grid}.deployment-form{grid-template-columns:1fr}.help-progress-form{display:grid}.help-progress-form label{min-width:0}.help-steps li{grid-template-columns:36px 1fr;padding:12px}.help-steps li>span{width:32px;height:32px}}

/* SYSTEXCFL v1.0.0-rc2: asistente y trazabilidad de emisión electrónica */
.badge-warning{background:#fff6ed;color:#b54708}
.cpe-readiness-summary{display:flex;align-items:center;gap:18px;padding:18px;border:1px solid rgba(148,163,184,.3);border-radius:18px;background:linear-gradient(135deg,rgba(29,78,216,.08),rgba(15,23,42,.035));margin-top:18px}
.cpe-readiness-summary.compact{margin:18px 0}.cpe-readiness-summary>div:nth-child(2){display:grid;gap:7px;flex:1;min-width:240px}.cpe-readiness-summary>div:nth-child(2)>strong{font-size:1.05rem}.cpe-readiness-summary>div:nth-child(2)>span{color:var(--muted)}
.cpe-summary-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.cpe-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.cpe-stage-card{margin:0;border-left:5px solid #ef4444}.cpe-stage-card.is-ready{border-left-color:#16a34a}.cpe-stage-card h2{margin:.75rem 0 .45rem}.cpe-stage-card p{margin:0;color:var(--muted)}
.cpe-stage-strip{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:1rem}
.cpe-check-list{display:grid;gap:.8rem}.cpe-check-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border);border-left:5px solid #94a3b8;border-radius:.9rem;background:#fff}.cpe-check-item.status-ok{border-left-color:#16a34a}.cpe-check-item.status-advertencia{border-left-color:#f59e0b}.cpe-check-item.status-error{border-left-color:#dc2626}.cpe-check-item.status-no_aplica{border-left-color:#94a3b8}.cpe-check-item h3{margin:.35rem 0 .25rem;font-size:1rem}.cpe-check-item p{margin:0;color:var(--muted)}.cpe-check-item .button{flex:0 0 auto}
.cpe-attempt-filters{grid-template-columns:minmax(230px,1.3fr) repeat(5,minmax(145px,.65fr)) auto}
@media(max-width:1180px){.cpe-attempt-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.cpe-attempt-filters .filter-actions{grid-column:1/-1}.cpe-stage-grid{grid-template-columns:1fr 1fr}.cpe-readiness-summary{align-items:flex-start;flex-wrap:wrap}.cpe-summary-badges{justify-content:flex-start}}
@media(max-width:700px){.cpe-stage-grid,.cpe-attempt-filters{grid-template-columns:1fr}.cpe-readiness-summary{display:grid}.cpe-check-item{align-items:flex-start;flex-direction:column}.cpe-check-item .button{width:100%}.cpe-summary-badges{display:grid;grid-template-columns:1fr}.cpe-summary-badges .badge{justify-content:center}}

/* v1.0.0-rc3: QR tributario en la representación impresa */
.print-tax-qr{display:flex;align-items:center;gap:18px;margin:18px 0 8px;padding:14px;border:1px solid #d8dee9;border-radius:10px;background:#fff}
.print-tax-qr #tax-qr{width:116px;height:116px;flex:0 0 116px;display:flex;align-items:center;justify-content:center}
.print-tax-qr #tax-qr img,.print-tax-qr #tax-qr canvas{display:block;max-width:116px!important;max-height:116px!important}
.print-tax-qr p{margin:6px 0 0;color:#4b5563;font-size:12px;line-height:1.45}
@media(max-width:640px){.print-tax-qr{align-items:flex-start}.print-tax-qr #tax-qr{width:96px;height:96px;flex-basis:96px}.print-tax-qr #tax-qr img,.print-tax-qr #tax-qr canvas{max-width:96px!important;max-height:96px!important}}

/* v1.0.0-rc4: diagnóstico de estabilidad */
.diagnostic-json{max-width:520px;max-height:280px;overflow:auto;margin:.7rem 0 0;padding:.8rem;border-radius:.65rem;background:#0f172a;color:#e2e8f0;font-size:.76rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}
details>summary{cursor:pointer;color:var(--primary);font-weight:700}

/* SYSTEXCFL v1.0.0-rc34: formatos reales de cliente - proforma y OS a tercero */
.client-format-print{font-family:Arial,Helvetica,sans-serif;color:#263238;padding:10mm;font-size:10px}
.client-format-print .text-left{text-align:left!important}
.client-format-header{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:18px;align-items:start;margin-bottom:14px}
.client-company-block{display:flex;align-items:flex-start;gap:14px;min-width:0}.client-company-logo{width:125px;max-height:95px;object-fit:contain;object-position:left top}.client-company-block h1{margin:0 0 3px;font-size:22px;line-height:1.05;color:var(--primary)}.client-company-block p{margin:2px 0;font-size:9px;line-height:1.35}.client-doc-box{border:2px solid var(--primary);background:#fff}.client-doc-box h2{margin:0;padding:5px 8px;text-align:center;background:var(--primary);color:#fff;font-size:18px}.client-doc-box>div{display:grid;grid-template-columns:115px 1fr;align-items:center;border-top:1px solid #bfc8d4;min-height:25px}.client-doc-box span{padding:4px 6px;font-size:8px;font-weight:800}.client-doc-box strong{padding:4px 6px;border-left:1px solid #bfc8d4;text-align:center;font-size:11px}
.client-info-grid{display:grid;grid-template-columns:120px minmax(0,1.5fr) 90px minmax(0,1fr);gap:0;margin:12px 0;border:1px solid #9ca9b7}.client-info-grid>div{display:contents}.client-info-grid span,.client-info-grid strong{padding:4px 6px;border-bottom:1px dotted #b7c0ca;min-height:22px}.client-info-grid span{font-size:9px;font-weight:800;color:var(--primary)}.client-info-grid strong{font-size:10px;font-weight:600}
.client-format-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:9px}.client-format-table th,.client-format-table td{border:1px solid #a9b5c0;padding:4px 5px;text-align:center;vertical-align:middle}.client-format-table th{background:var(--primary);color:#fff;font-size:9px;font-weight:800}.proforma-detail th:nth-child(1){width:11%}.proforma-detail th:nth-child(2){width:12%}.proforma-detail th:nth-child(3){width:34%}.proforma-detail th:nth-child(4){width:16%}.proforma-detail th:nth-child(5){width:13%}.proforma-detail th:nth-child(6){width:14%}.client-extra-charge td{background:#fff59d;font-weight:700}.client-total-row td{font-weight:800;background:#f7f9fb}
.proforma-summary-row{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:14px;align-items:start;margin-top:7px}.proforma-summary-row p{margin:4px 0}.client-noncommercial{text-align:center;font-size:11px;font-weight:700;color:#334155}.client-grand-total{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:800}.client-grand-total strong{padding:4px 10px;background:#fff59d;font-size:14px}.client-bank-section{margin-top:8px;padding-top:6px}.client-bank-section h3{margin:0 0 5px;font-size:10px}.client-bank-section p{margin:3px 0 3px 110px;font-size:10px}.client-bank-section small{color:#64748b}.client-contact-footer{margin:70px 0 0 110px;font-size:10px}.client-contact-footer p{margin:3px 0}
.client-section-box{margin:8px 0;border:1px solid #20262e}.client-section-box h3{display:inline-block;margin:-1px 0 0 -1px;padding:3px 6px;border:1px solid #20262e;border-bottom:0;background:#fff;font-size:10px}.client-os-grid{display:grid;grid-template-columns:135px minmax(0,1.2fr) 90px minmax(0,1fr);border-top:1px solid #20262e}.client-os-grid span,.client-os-grid strong,.client-process-grid span,.client-process-grid strong{padding:3px 5px;border-right:1px solid #4c5560;border-bottom:1px solid #4c5560;min-height:20px}.client-os-grid span,.client-process-grid span{font-weight:800}.client-os-grid strong,.client-process-grid strong{font-weight:500}.client-os-grid .span-value-3{grid-column:2/5}.client-process-grid{display:grid;grid-template-columns:130px 1fr 115px 1fr 115px 1fr;border-top:1px solid #20262e}.os-detail{font-size:8px}.os-detail th{background:#f2f4f7;color:#172033;border-color:#20262e}.os-detail td{border-color:#4c5560}.client-amount-words{display:flex;gap:8px;padding:4px;border:1px solid #20262e;border-top:0;font-size:9px}.os-total-area{display:grid;grid-template-columns:1fr 190px;gap:14px;margin-top:24px;align-items:end}.os-observations{min-height:70px;border-bottom:1px solid #20262e}.os-observations p{margin:5px 0}.os-totals{border:1px solid #20262e}.os-totals>div{display:flex;justify-content:space-between;gap:10px;padding:4px 7px;border-bottom:1px solid #20262e}.os-totals>div:last-child{border-bottom:0;font-size:11px;font-weight:800}.os-signatures{display:grid;grid-template-columns:1fr 1fr;gap:52%;margin-top:18px}.os-signatures>div{border:1px solid #20262e;text-align:center}.signature-space{height:52px;display:grid;place-items:center}.os-signatures span{display:block;border-top:1px solid #20262e;padding:3px}.os-reference-note{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:start;margin-top:18px}.os-reference-note strong{font-size:9px}.os-reference-note p{margin:0;padding:12px;background:#fff86a;text-align:center;font-weight:700}
@media(max-width:850px){.client-format-header{grid-template-columns:1fr}.client-doc-box{width:100%}.client-info-grid{grid-template-columns:105px 1fr}.client-info-grid>div{display:contents}.client-process-grid,.client-os-grid{grid-template-columns:120px 1fr}.client-os-grid .span-value-3{grid-column:auto}.proforma-summary-row{grid-template-columns:1fr}.client-bank-section p,.client-contact-footer{margin-left:0}.os-total-area{grid-template-columns:1fr}.os-signatures{gap:20px}}
@media print{.client-format-print{padding:0;font-size:8.5pt}.client-format-header,.client-info-grid,.client-section-box,.proforma-summary-row,.os-total-area,.os-signatures,.os-reference-note{break-inside:avoid}.client-format-table thead{display:table-header-group}.client-format-table tr{break-inside:avoid}.client-contact-footer{margin-top:35mm}.client-format-print .print-footer{font-size:6pt}}

/* FINAL-02 / rc37 · panel gerencial definitivo */
.executive-health{margin:1rem 0}.health-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center}.health-score{font-size:2.6rem;line-height:1;color:var(--primary)}.health-score small{font-size:.9rem;color:var(--muted)}.health-reasons{grid-column:1/-1;display:flex;gap:.45rem;flex-wrap:wrap}.health-reasons span{font-size:.78rem;padding:.32rem .55rem;border-radius:999px;background:#f8fafc;border:1px solid var(--border);color:var(--muted)}
.kpi-link{text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.kpi-link:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,23,42,.09)}.executive-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.executive-grid .content-card{height:100%}.metric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.metric-list>div{padding:.8rem;border:1px solid var(--border);border-radius:.75rem;background:#f8fafc;display:grid;gap:.25rem}.metric-list span{font-size:.78rem;color:var(--muted)}.metric-list strong{font-size:1.08rem;color:var(--secondary)}.metric-list.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-note{margin:.8rem 0 0;font-size:.8rem;color:var(--muted)}.text-link,.table-source-link{color:var(--primary);font-weight:700;text-decoration:none}.text-link:hover,.table-source-link:hover{text-decoration:underline}
@media(max-width:1100px){.executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.executive-kpis,.metric-list,.metric-list.compact{grid-template-columns:1fr}.health-card{grid-template-columns:1fr}.health-score{justify-self:start}}

/* SYSTEXCFL v1.0.0-rc48: legibilidad de resultados reales en liquidación de servicios tercerizados */
@media (min-width:701px){
form[action*="service-settlement"] .table-wrap{overflow-x:auto}
form[action*="service-settlement"] .data-table{min-width:0;table-layout:fixed}
form[action*="service-settlement"] .data-table th,form[action*="service-settlement"] .data-table td{padding:.72rem .45rem}
form[action*="service-settlement"] .data-table th:nth-child(1),form[action*="service-settlement"] .data-table td:nth-child(1){width:15%}
form[action*="service-settlement"] .data-table th:nth-child(2),form[action*="service-settlement"] .data-table td:nth-child(2){width:8%}
form[action*="service-settlement"] .data-table th:nth-child(3),form[action*="service-settlement"] .data-table td:nth-child(3),form[action*="service-settlement"] .data-table th:nth-child(4),form[action*="service-settlement"] .data-table td:nth-child(4),form[action*="service-settlement"] .data-table th:nth-child(5),form[action*="service-settlement"] .data-table td:nth-child(5),form[action*="service-settlement"] .data-table th:nth-child(6),form[action*="service-settlement"] .data-table td:nth-child(6){width:7%}
form[action*="service-settlement"] .data-table th:nth-child(7),form[action*="service-settlement"] .data-table td:nth-child(7){width:9%}
form[action*="service-settlement"] .data-table th:nth-child(8),form[action*="service-settlement"] .data-table td:nth-child(8){width:7%}
form[action*="service-settlement"] .data-table th:nth-child(9),form[action*="service-settlement"] .data-table td:nth-child(9){width:9%}
form[action*="service-settlement"] .data-table th:nth-child(10),form[action*="service-settlement"] .data-table td:nth-child(10){width:10%}
form[action*="service-settlement"] .data-table th:nth-child(11),form[action*="service-settlement"] .data-table td:nth-child(11){width:8%}
form[action*="service-settlement"] .data-table th:nth-child(12),form[action*="service-settlement"] .data-table td:nth-child(12){width:6%}
form[action*="service-settlement"] .data-table input,form[action*="service-settlement"] .data-table select{min-width:0;width:100%;box-sizing:border-box;padding:.68rem .55rem}
form[action*="service-settlement"] .data-table th{white-space:normal;line-height:1.25}
}
@media (min-width:701px) and (max-width:1050px){form[action*="service-settlement"] .data-table{min-width:1080px}}

/* SYSTEXCFL v1.0.0-rc50 · control físico textil complementario */
.physical-control-card{margin-top:.8rem;padding:.85rem;border:1px solid var(--border);border-radius:.75rem;background:#f8fafc}
.physical-control-card[hidden]{display:none!important}
.physical-control-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.7rem}
.physical-control-head strong{color:var(--secondary)}
.physical-control-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:.65rem;align-items:end}
.physical-package-list{display:grid;gap:.55rem;margin-top:.75rem}
.physical-package-row{display:grid;grid-template-columns:56px repeat(2,minmax(110px,1fr)) minmax(150px,1.4fr);gap:.55rem;align-items:end;padding:.6rem;border:1px solid var(--border);border-radius:.65rem;background:#fff}
.physical-package-row .package-number{align-self:center;font-weight:800;color:var(--primary)}
.physical-package-metrics{grid-column:1/-1;font-size:.78rem;color:var(--muted);line-height:1.4}
.physical-summary{margin-top:.65rem;font-size:.82rem;color:var(--muted)}
.physical-trace-table td,.physical-trace-table th{white-space:nowrap}
.physical-reference-note{font-size:.78rem;color:var(--muted);margin-top:.35rem}
@media(max-width:760px){.physical-control-grid,.physical-package-row{grid-template-columns:1fr}.physical-package-row .package-number,.physical-package-metrics{grid-column:1/-1}.physical-trace-table{min-width:820px}}
.physical-entry-panel{grid-column:1/-1;margin-top:.35rem;padding:.85rem;border:1px solid var(--border);border-radius:.75rem;background:#f8fafc}
.physical-entry-panel[hidden]{display:none!important}
.physical-line [hidden]{display:none!important}
.physical-panel-heading{display:flex;justify-content:space-between;gap:.7rem;align-items:flex-start;margin-bottom:.7rem}.physical-panel-heading strong{display:block;color:var(--secondary)}.physical-panel-heading small{display:block;margin-top:.2rem;color:var(--muted)}
.physical-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(125px,1fr)) auto;gap:.65rem;align-items:end}
.physical-generate-action{padding-bottom:.1rem}.physical-package-summary{margin:.65rem 0 0}
.physical-package-row{grid-template-columns:95px minmax(120px,1fr) minmax(120px,1fr) repeat(3,minmax(80px,.7fr)) minmax(160px,1.4fr);align-items:end}
.physical-package-row>strong{align-self:center;color:var(--primary)}
.physical-calculated{display:grid;gap:.25rem;align-self:center}.physical-calculated span{font-size:.72rem;color:var(--muted)}.physical-calculated strong{font-size:.88rem;color:var(--secondary)}
.physical-package-note{min-width:0}.physical-trace-card{margin-top:.8rem;padding:.8rem;border:1px solid var(--border);border-radius:.75rem}.physical-trace-card h3{margin:0 0 .65rem;color:var(--secondary)}
@media(max-width:980px){.physical-summary-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.physical-generate-action{align-self:end}.physical-package-row{grid-template-columns:repeat(2,minmax(140px,1fr))}.physical-package-row>strong,.physical-package-note{grid-column:1/-1}}
@media(max-width:600px){.physical-summary-grid,.physical-package-row{grid-template-columns:1fr}.physical-package-row>strong,.physical-package-note{grid-column:auto}.physical-generate-action .button{width:100%}}
