:root{--brand-primary:#075c4f;--brand-accent:#09b9d0;--bg:#f4f7f8;--text:#14242b;--muted:#687983;--border:#e2eaed;--danger:#c0392b;--success:#11875d;--shadow:0 18px 50px rgba(20,56,68,.09)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}body{margin:0}a{text-decoration:none;color:inherit}button,input{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;background:linear-gradient(180deg,var(--brand-primary),#043c35);color:#fff;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:800;padding:6px 8px 26px}.brand img{width:42px;height:42px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:13px;color:#d9eeea}.sidebar nav a.active{background:rgba(18,191,144,.28);color:#fff}.sidebar nav a small{margin-left:auto;font-size:9px;opacity:.65}.disabled{opacity:.58;cursor:not-allowed}.sidebar-user{margin-top:auto;padding:15px;border-radius:16px;background:rgba(255,255,255,.1);display:grid}.sidebar-user small{opacity:.72}.main-content{padding:0 28px 48px;min-width:0}.topbar{height:88px;display:flex;align-items:center;gap:15px}.topbar-title{display:grid}.topbar-title small{color:var(--muted)}.logout{margin-left:auto;border:1px solid var(--border);background:#fff;padding:10px 15px;border-radius:11px}.menu-button{display:none;background:none;border:0;font-size:24px}.alert{padding:13px 16px;border-radius:12px;margin:0 0 18px}.alert.success{background:#e8f7ef;color:#0f6c49}.alert.error{background:#fff0ef;color:#9b2d24}.welcome-card,.panel,.stats-grid article{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)}.welcome-card{padding:30px 34px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#fff,#e9fbfb)}.welcome-card h1{margin:6px 0}.welcome-card p{margin:0;color:var(--muted)}.welcome-card img{width:110px;height:110px}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--success);font-weight:800}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.stats-grid article{padding:20px;display:grid;gap:6px}.stats-grid span,.stats-grid small{color:var(--muted)}.stats-grid strong{font-size:28px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.panel{padding:24px;margin-bottom:18px}.panel h1,.panel h2{margin-top:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.panel-head h2,.panel-head p{margin:0}.panel-head p{color:var(--muted);margin-top:5px}.status-badge{background:#e8f7ef;color:#0f6c49;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}.progress-list{display:grid;gap:8px;margin-top:22px}.progress-list div{display:flex;justify-content:space-between}.progress-list progress{width:100%;accent-color:var(--success);height:9px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-actions a{border:1px solid var(--border);border-radius:15px;padding:18px 10px;display:grid;text-align:center;gap:8px}.quick-actions a:first-child{color:var(--success);border-color:#a9dac7}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feature-grid div{padding:14px;background:#f7fafb;border-radius:12px}.settings-layout{display:grid;grid-template-columns:2fr 1fr;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label,.auth-card label{display:grid;gap:7px;font-weight:650}.form-grid .full{grid-column:1/-1}input{width:100%;padding:12px 13px;border:1px solid #ccd9dd;border-radius:11px;background:#fff}input:focus{outline:3px solid color-mix(in srgb,var(--brand-accent) 20%,transparent);border-color:var(--brand-accent)}button,.settings-form button,.installer button{border:0;border-radius:12px;background:var(--brand-primary);color:#fff;padding:13px 18px;font-weight:800;cursor:pointer}.settings-form button{margin-top:18px}.brand-preview{text-align:center;background:linear-gradient(160deg,#fff,#e9fbfb)}.brand-preview img{width:130px}.preview-colors{display:flex;justify-content:center;gap:10px;margin:20px}.preview-colors i{width:40px;height:40px;border-radius:50%}.mobile-nav{display:none}.auth-page,.install-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at top,#e4ffff,#f5f8f9 55%)}.auth-card,.installer{width:min(460px,100%);background:#fff;border:1px solid var(--border);border-radius:25px;box-shadow:var(--shadow);padding:30px}.auth-brand{text-align:center}.auth-brand img{width:95px}.auth-brand h1{margin:5px 0}.auth-brand p,.auth-note,.installer small{color:var(--muted)}.auth-card form{display:grid;gap:16px;margin:25px 0}.auth-card button{width:100%}.installer{width:min(850px,100%)}.installer header{display:flex;gap:15px;align-items:center}.installer header img{width:80px}.installer h1,.installer p{margin:2px 0}.installer fieldset{border:1px solid var(--border);border-radius:16px;margin:18px 0;padding:18px}.installer legend{font-weight:800;padding:0 8px}.button-link{display:inline-block;background:var(--brand-primary);color:#fff;border-radius:11px;padding:11px 15px}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:30;left:-270px;width:250px;transition:.25s}.sidebar.open{left:0}.main-content{padding:0 16px 88px}.menu-button{display:block}.stats-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.settings-layout{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.mobile-nav{display:grid;position:fixed;z-index:25;left:0;right:0;bottom:0;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));background:#fff;border-top:1px solid var(--border);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom))}.mobile-nav a{display:grid;place-items:center;font-size:18px}.mobile-nav span{font-size:10px}.mobile-nav .active{color:var(--success)}.welcome-card img{width:80px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}@media(max-width:560px){.topbar{height:72px}.topbar-title small{display:none}.welcome-card{padding:22px}.welcome-card img{display:none}.stats-grid{gap:10px}.stats-grid article{padding:16px}.stats-grid strong{font-size:22px}.quick-actions,.feature-grid{grid-template-columns:1fr}.panel{padding:19px}.installer{padding:20px}.installer header img{width:58px}}

/* Catálogo y productos */
select,textarea{width:100%;padding:12px 13px;border:1px solid #ccd9dd;border-radius:11px;background:#fff;color:var(--text);font:inherit}textarea{resize:vertical;min-height:110px}select:focus,textarea:focus{outline:3px solid color-mix(in srgb,var(--brand-accent) 20%,transparent);border-color:var(--brand-accent)}button,a,.product-card,.quick-actions a{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}button:hover,.button-link:hover,.secondary-button:hover{transform:translateY(-1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-accent) 30%,transparent);outline-offset:2px}.sidebar-backdrop{display:none}.page-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:4px 0 18px}.page-actions h1{margin:5px 0 4px;font-size:clamp(25px,3vw,36px)}.page-actions p{margin:0;color:var(--muted)}.action-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.secondary-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:12px;padding:12px 16px;font-weight:750;cursor:pointer}.danger-button{background:#fff0ef;color:#a13227;border:1px solid #f0c4bf}.button-link.small{padding:9px 13px;font-size:13px}.filter-bar{display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(170px,.8fr) minmax(150px,.7fr) auto auto;gap:12px;align-items:center;padding:16px}.filter-bar select,.filter-bar input{min-height:46px}.search-field{position:relative}.search-field>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}.search-field input{padding-left:38px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.product-card{overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)}.product-card:hover{transform:translateY(-3px);box-shadow:0 22px 55px rgba(20,56,68,.13)}.product-image{height:220px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#f8ffff,#e8f8f5);overflow:hidden}.product-image img{max-width:78%;max-height:180px;object-fit:contain}.featured-tag{position:absolute;top:14px;left:14px;background:var(--brand-primary);color:#fff;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800}.product-card-body{padding:18px}.product-card h2{font-size:19px;margin:10px 0 4px}.product-card p{margin:0 0 16px;color:var(--muted)}.product-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:12px}.badge{display:inline-flex;align-items:center;width:max-content;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}.badge.success{background:#e8f7ef;color:#0f6c49}.badge.neutral{background:#eef2f3;color:#62727a}.product-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:13px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.product-numbers div{display:grid;gap:4px}.product-numbers small{color:var(--muted);font-size:10px}.product-numbers strong{font-size:15px}.card-actions{display:flex;gap:10px;padding-top:14px}.card-actions a{flex:1;text-align:center;padding:10px;border-radius:10px;background:#f2f7f7;font-weight:750;font-size:13px}.card-actions a:last-child{color:var(--success)}.pagination{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:20px 0}.pagination a{width:38px;height:38px;display:grid;place-items:center;background:#fff;border:1px solid var(--border);border-radius:10px}.pagination a.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.empty-state{text-align:center;padding:55px 25px}.empty-state img{width:88px}.empty-state.compact{padding:28px}.empty-state h2,.empty-state h3{margin-bottom:7px}.empty-state p{color:var(--muted)}.catalog-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.7fr);gap:18px}.category-form{align-self:start;position:sticky;top:18px}.form-stack{display:grid;gap:15px;margin:20px 0}.form-stack label{display:grid;gap:7px;font-weight:650}.table-wrap{overflow:auto}.modern-table{width:100%;border-collapse:separate;border-spacing:0}.modern-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:12px;border-bottom:1px solid var(--border)}.modern-table td{padding:14px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.modern-table td:first-child{display:grid;gap:4px;min-width:210px}.modern-table small{display:block;color:var(--muted)}.modern-table tbody tr:hover{background:#f8fbfb}.row-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.row-actions a,.link-button{font-size:13px;font-weight:750;color:var(--success)}.link-button{border:0;background:none;padding:0;cursor:pointer}.product-form{display:grid;gap:18px}.product-form .panel{margin-bottom:0}.check-label{display:flex!important;align-items:center;gap:10px;padding-top:31px}.check-label input{width:18px;height:18px}.image-upload img{display:block;width:120px;height:120px;object-fit:contain;margin-top:10px;border:1px solid var(--border);border-radius:14px;background:#f8fbfb}.image-upload small{color:var(--muted);font-weight:400}.presentation-list{display:grid;gap:12px;margin-top:20px}.presentation-row{display:grid;grid-template-columns:1.2fr .9fr .7fr .8fr .8fr 1fr .8fr 40px;gap:10px;align-items:end;padding:14px;border:1px solid var(--border);border-radius:16px;background:#fafcfc}.presentation-row label{display:grid;gap:5px;font-size:12px;font-weight:700}.presentation-row input,.presentation-row select{padding:10px}.remove-presentation{width:38px;height:42px;padding:0;background:#fff0ef;color:#a13227;border:1px solid #f0c4bf}.sticky-submit{position:sticky;bottom:18px;z-index:10;margin-left:auto;display:flex;gap:10px;width:max-content;padding:10px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.product-detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}.product-showcase{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center}.detail-image{height:260px;position:relative;display:grid;place-items:center;background:linear-gradient(145deg,#f8ffff,#e8f8f5);border-radius:18px}.detail-image img{max-width:78%;max-height:220px;object-fit:contain}.product-showcase h2{font-size:28px;margin:12px 0}.product-showcase p{color:var(--muted);line-height:1.65}.presentation-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.presentation-cards>div{display:grid;gap:5px;padding:16px;border:1px solid var(--border);border-radius:15px;background:#fbfdfd}.presentation-cards h3,.presentation-cards p{margin:0}.presentation-cards strong{font-size:22px;color:var(--brand-primary)}.presentation-cards small{color:var(--muted)}.danger-zone{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.danger-zone h2,.danger-zone p{margin:0}.danger-zone p{margin-top:5px;color:var(--muted)}.catalog-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.catalog-summary div{display:grid;gap:8px;padding:18px;border-radius:16px;background:#f6faf9}.catalog-summary span{color:var(--muted);font-size:13px}.catalog-summary strong{font-size:28px}.catalog-summary .needs-attention{background:#fff5f3;color:#a13227}.recent-products{display:grid;margin-top:18px}.recent-products a{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:13px;padding:12px;border-bottom:1px solid var(--border);border-radius:12px}.recent-products a:hover{background:#f7faf9}.recent-products img{width:50px;height:50px;object-fit:contain;background:#eef9f6;border-radius:11px}.recent-products div{display:grid}.recent-products small{color:var(--muted)}.recent-products span{font-weight:800;color:var(--brand-primary)}
@media(max-width:1200px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.presentation-row{grid-template-columns:repeat(4,1fr) 40px}.presentation-row label:nth-of-type(5){grid-column:1}.product-detail-grid{grid-template-columns:1fr}.danger-zone{grid-column:auto}}
@media(max-width:900px){.sidebar-backdrop{position:fixed;inset:0;z-index:29;border:0;background:rgba(4,35,32,.38);backdrop-filter:blur(2px)}.sidebar.open+.sidebar-backdrop{display:block}.page-actions{align-items:flex-start}.filter-bar{grid-template-columns:1fr 1fr}.filter-bar .search-field{grid-column:1/-1}.catalog-layout{grid-template-columns:1fr}.category-form{position:static}.product-showcase{grid-template-columns:180px 1fr}.catalog-summary{grid-template-columns:1fr 1fr}.presentation-row{grid-template-columns:repeat(2,1fr) 40px}.presentation-row label:nth-of-type(5){grid-column:auto}}
@media(max-width:620px){.page-actions{display:grid}.page-actions>.button-link,.page-actions>.secondary-button,.page-actions>.action-group{width:100%}.page-actions .action-group a{flex:1}.filter-bar{grid-template-columns:1fr}.filter-bar .search-field{grid-column:auto}.filter-bar button,.filter-bar .secondary-button{width:100%}.product-grid{grid-template-columns:1fr}.product-image{height:190px}.catalog-summary{grid-template-columns:1fr 1fr}.presentation-row{grid-template-columns:1fr 1fr 40px}.presentation-row label:first-child{grid-column:1/-2}.product-showcase{grid-template-columns:1fr}.detail-image{height:220px}.presentation-cards{grid-template-columns:1fr}.danger-zone{display:grid;gap:18px}.danger-zone .action-group,.danger-zone form,.danger-zone button{width:100%}.sticky-submit{left:12px;right:12px;bottom:78px;width:auto;justify-content:stretch}.sticky-submit>*{flex:1}.modern-table{min-width:650px}}
@media(max-width:390px){.catalog-summary,.product-numbers{grid-template-columns:1fr 1fr}.product-numbers div:last-child{grid-column:1/-1}.presentation-row{grid-template-columns:1fr 40px}.presentation-row label{grid-column:1}.presentation-row label:first-child{grid-column:1}.presentation-row .remove-presentation{grid-column:2;grid-row:1}}
button:disabled{opacity:.65;cursor:wait;transform:none}
/* Bloque 3: inventario */
.badge.warning{background:#fff4d9;color:#9a6500}.badge.danger{background:#fff0ef;color:#a13227}.stats-grid article.attention-card{background:#fffbef;border-color:#f1dfaa}.stats-grid article.danger-card{background:#fff5f3;border-color:#f0c4bf}.inventory-filter{grid-template-columns:minmax(250px,2fr) minmax(150px,1fr) minmax(160px,1fr) auto auto}.inventory-table{min-width:1120px}.inventory-product{display:flex;align-items:center;gap:12px;min-width:245px}.inventory-product img{width:48px;height:48px;object-fit:contain;background:#eef9f6;border-radius:12px;padding:5px}.inventory-product div{display:grid;gap:3px}.table-link{font-size:13px;font-weight:800;color:var(--success)}.inventory-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.75fr);gap:18px;margin-bottom:18px}.inventory-overview{grid-row:span 2}.inventory-hero{display:flex;gap:22px;align-items:center}.inventory-hero img{width:150px;height:150px;object-fit:contain;background:linear-gradient(145deg,#f8ffff,#e8f8f5);border-radius:20px;padding:18px}.inventory-hero h2{font-size:28px;margin:12px 0 5px}.inventory-hero p{margin:0;color:var(--muted)}.inventory-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.inventory-metrics>div{display:grid;gap:6px;padding:18px;border:1px solid var(--border);border-radius:16px;background:#fafcfc}.inventory-metrics span{font-size:12px;color:var(--muted)}.inventory-metrics strong{font-size:24px;color:var(--brand-primary)}.inventory-metrics small,.inventory-movement-form small{color:var(--muted);font-weight:400}.movement-filter{grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) minmax(145px,.8fr) minmax(145px,.8fr) auto auto}.movement-table{min-width:1050px}.movement-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-bottom:18px}.movement-summary{display:flex;align-items:center;gap:20px}.movement-summary h2{font-size:30px;margin:10px 0 5px}.movement-summary p{margin:0;color:var(--muted)}.movement-icon{width:76px;height:76px;display:grid;place-items:center;border-radius:22px;font-size:32px;font-weight:900}.movement-icon.success{background:#e8f7ef;color:#0f6c49}.movement-icon.warning{background:#fff4d9;color:#9a6500}.movement-icon.danger{background:#fff0ef;color:#a13227}.movement-stock-change{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center}.movement-stock-change div{display:grid;gap:8px}.movement-stock-change span{color:var(--muted)}.movement-stock-change strong{font-size:32px;color:var(--brand-primary)}.movement-arrow{font-size:28px}.detail-list h2{margin-top:0}.detail-list dl{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:20px 0 0}.detail-list dl>div{padding:16px;border-bottom:1px solid var(--border);display:grid;gap:6px}.detail-list dl>div.full{grid-column:1/-1}.detail-list dt{font-size:12px;color:var(--muted);font-weight:700}.detail-list dd{margin:0;font-weight:700}.inventory-settings .form-stack,.movement-form-card .form-stack{margin-bottom:0}
@media(max-width:1100px){.inventory-filter,.movement-filter{grid-template-columns:1fr 1fr}.inventory-filter .search-field,.movement-filter .search-field{grid-column:1/-1}.inventory-detail-grid{grid-template-columns:1fr 1fr}.inventory-overview{grid-column:1/-1;grid-row:auto}}
@media(max-width:760px){.inventory-filter,.movement-filter{grid-template-columns:1fr}.inventory-filter .search-field,.movement-filter .search-field{grid-column:auto}.inventory-detail-grid,.movement-detail{grid-template-columns:1fr}.inventory-overview{grid-column:auto}.inventory-metrics{grid-template-columns:1fr 1fr}.movement-summary{align-items:flex-start}.detail-list dl{grid-template-columns:1fr}.detail-list dl>div.full{grid-column:auto}}
@media(max-width:430px){.inventory-hero{display:grid}.inventory-hero img{width:120px;height:120px}.inventory-metrics{grid-template-columns:1fr}.movement-stock-change strong{font-size:25px}.movement-icon{width:62px;height:62px}}
.logout-form{margin-left:auto}.logout-form .logout{margin-left:0}.mobile-logout{display:grid;place-items:center}.mobile-logout button{display:grid;place-items:center;gap:0;background:none;color:inherit;padding:0;font-size:18px}.mobile-logout span{font-size:10px;font-weight:400}
/* Bloque 4: producción, fórmulas y materias primas */
.badge.muted{background:#eef2f3;color:#62727a}.danger-text{color:#b0372b!important}.warning-text{color:#9a6500!important}.centered{justify-content:center;text-align:center}.secondary-button.centered{width:100%}.small-value{font-size:18px!important}.production-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.production-shortcut{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:center;margin-bottom:18px}.production-shortcut>span,.formula-icon,.material-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#e6faf5,#dff7fb);color:var(--brand-primary);font-size:28px;font-weight:900}.production-shortcut h2,.production-shortcut p{margin:0}.production-shortcut p{margin-top:6px;color:var(--muted);line-height:1.45}.production-shortcut b{grid-column:2;color:var(--success);font-size:13px}.production-dashboard{grid-template-columns:minmax(0,1.8fr) minmax(290px,.8fr)}.production-table{min-width:760px}.low-material-list{display:grid;margin-top:16px}.low-material-list a{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 5px;border-bottom:1px solid var(--border)}.low-material-list a div{display:grid;gap:4px}.low-material-list small{color:var(--muted)}.production-material-layout{grid-template-columns:minmax(300px,.75fr) minmax(0,1.75fr)}.material-filter{grid-template-columns:minmax(220px,1.5fr) minmax(140px,.7fr) minmax(150px,.8fr) auto auto}.material-table{min-width:1050px}.material-hero,.formula-detail-head,.batch-head{display:flex;align-items:center;gap:20px}.material-hero h2,.formula-detail-head h2,.batch-head h2{font-size:30px;margin:10px 0 5px}.material-hero p,.formula-detail-head p,.batch-head p{margin:0;color:var(--muted)}.material-icon{width:90px;height:90px;border-radius:24px;font-size:40px}.material-notes{margin-top:22px;padding:18px;border-radius:16px;background:#f7faf9}.material-notes p{margin:8px 0 0;color:var(--muted);line-height:1.65}.formula-filter,.batch-filter{grid-template-columns:minmax(260px,1.7fr) minmax(160px,.7fr) auto auto}.formula-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}.formula-card{border:1px solid var(--border);border-radius:20px;padding:20px;background:#fff;box-shadow:0 12px 30px rgba(20,56,68,.06)}.formula-card-head{display:flex;align-items:center;justify-content:space-between}.formula-card>small{display:block;color:var(--success);font-weight:800;margin-top:16px}.formula-card h2{font-size:20px;margin:6px 0}.formula-card p{color:var(--muted);margin:0 0 18px}.formula-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.formula-metrics>div{display:grid;gap:5px;padding:12px;border-radius:13px;background:#f7faf9}.formula-metrics span{font-size:10px;color:var(--muted)}.formula-metrics strong{font-size:15px}.formula-card .card-actions{align-items:center;flex-wrap:wrap}.formula-card .card-actions form{margin:0}.formula-card .card-actions a{flex:none}.formula-item-list{display:grid;gap:12px;margin-top:18px}.formula-item-row{display:grid;grid-template-columns:minmax(250px,1.6fr) minmax(150px,.6fr) 42px;gap:12px;align-items:end;padding:14px;border:1px solid var(--border);border-radius:16px;background:#fafcfc}.formula-item-row label{display:grid;gap:6px;font-size:12px;font-weight:700}.remove-formula-item{width:40px;height:45px;padding:0;background:#fff0ef;color:#a13227;border:1px solid #f0c4bf}.formula-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);gap:18px}.formula-icon.large{width:88px;height:88px;border-radius:25px;font-size:40px}.formula-instructions p{color:var(--muted);line-height:1.8;white-space:normal}.batch-table{min-width:1150px}.batch-create-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.7fr);gap:18px}.batch-create-form{align-self:start}.batch-estimate{background:linear-gradient(145deg,#fff,#eafbf7)}.batch-estimate>p{color:var(--muted);line-height:1.55}.batch-estimate dl{display:grid;margin:20px 0 0}.batch-estimate dl>div{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid var(--border)}.batch-estimate dt{color:var(--muted)}.batch-estimate dd{margin:0;font-weight:850;color:var(--brand-primary)}.batch-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);gap:18px}.batch-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px;color:var(--muted);font-size:13px}.complete-batch>p,.batch-result>p{color:var(--muted);line-height:1.6}.batch-result{text-align:center}.batch-result-icon{width:90px;height:90px;display:grid;place-items:center;margin:22px auto;border-radius:50%;font-size:45px;font-weight:900}.batch-result-icon.success{background:#e8f7ef;color:#0f6c49}.batch-result-icon.danger{background:#fff0ef;color:#a13227}
@media(max-width:1180px){.formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.production-shortcuts{grid-template-columns:1fr 1fr}.production-shortcuts .production-shortcut:last-child{grid-column:1/-1}.production-material-layout{grid-template-columns:1fr}.production-material-layout .category-form{position:static}.formula-detail-grid,.batch-detail-grid{grid-template-columns:1fr}}
@media(max-width:900px){.production-dashboard,.batch-create-grid{grid-template-columns:1fr}.production-stats{grid-template-columns:1fr 1fr}.material-filter,.formula-filter,.batch-filter{grid-template-columns:1fr 1fr}.material-filter .search-field,.formula-filter .search-field,.batch-filter .search-field{grid-column:1/-1}}
@media(max-width:680px){.production-shortcuts,.formula-grid{grid-template-columns:1fr}.production-shortcuts .production-shortcut:last-child{grid-column:auto}.material-filter,.formula-filter,.batch-filter{grid-template-columns:1fr}.material-filter .search-field,.formula-filter .search-field,.batch-filter .search-field{grid-column:auto}.formula-item-row{grid-template-columns:1fr 42px}.formula-item-row label{grid-column:1}.formula-item-row .remove-formula-item{grid-column:2;grid-row:1}.material-hero,.formula-detail-head,.batch-head{align-items:flex-start}.formula-metrics{grid-template-columns:1fr 1fr}.formula-metrics>div:last-child{grid-column:1/-1}}
@media(max-width:430px){.production-stats{grid-template-columns:1fr 1fr}.production-shortcut{grid-template-columns:50px 1fr}.production-shortcut>span{width:48px;height:48px;font-size:22px}.material-icon,.formula-icon.large{width:68px;height:68px;font-size:30px}.material-hero h2,.formula-detail-head h2,.batch-head h2{font-size:24px}}
/* Ajustes finales Bloque 4 */
.production-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:18px}.production-catalog-layout{grid-template-columns:minmax(0,1.7fr) minmax(300px,.75fr)}.material-form{position:sticky;top:18px;align-self:start}.formula-card-top,.formula-actions,.batch-status-head{display:flex;align-items:center;gap:14px}.formula-card-top{justify-content:space-between}.formula-symbol,.batch-status-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#e6faf5,#dff7fb);color:var(--brand-primary);font-size:28px;font-weight:900}.formula-symbol.large{width:88px;height:88px;border-radius:25px;font-size:40px}.formula-card-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.formula-card-metrics>div{display:grid;gap:5px;padding:12px;border-radius:13px;background:#f7faf9}.formula-card-metrics span{font-size:10px;color:var(--muted)}.formula-card-metrics strong{font-size:14px}.formula-actions{margin-top:18px;flex-wrap:wrap}.formula-actions form{margin:0}.formula-actions .secondary-button,.formula-actions .ghost-button{padding:10px 12px}.ghost-button{background:#f4f8f7;color:var(--brand-primary);border:1px solid var(--border)}.formula-instructions{color:var(--muted);line-height:1.8;white-space:normal}.batch-create-card{max-width:900px;margin-inline:auto}.readonly-box{min-height:46px;padding:12px 13px;border:1px solid var(--border);border-radius:11px;background:#f7faf9;color:var(--muted)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.batch-status-head{align-items:flex-start}.batch-status-head h2{margin:10px 0 5px}.batch-status-head p{margin:0;color:var(--muted)}.batch-status-icon.success{background:#e8f7ef;color:#0f6c49}.batch-status-icon.warning{background:#fff4d9;color:#9a6500}.batch-status-icon.danger{background:#fff0ef;color:#a13227}.complete-batch-card form+form{margin-top:12px}.danger-button{width:100%;background:#fff0ef;color:#a13227;border:1px solid #f0c4bf}.batch-notes{margin-top:20px;padding:16px;border-radius:14px;background:#f7faf9}.batch-notes p{margin:8px 0 0;color:var(--muted);line-height:1.6}.success-result,.cancelled-result{display:grid;place-items:center;gap:8px;text-align:center;padding:30px 10px}.success-result span,.cancelled-result span{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;font-size:36px;font-weight:900}.success-result span{background:#e8f7ef;color:#0f6c49}.cancelled-result span{background:#fff0ef;color:#a13227}.success-result small{color:var(--muted)}
@media(max-width:1100px){.production-dashboard-grid,.production-catalog-layout{grid-template-columns:1fr}.material-form{position:static}.formula-detail-grid,.batch-detail-grid{grid-template-columns:1fr}}
@media(max-width:680px){.formula-card-metrics{grid-template-columns:1fr 1fr}.formula-actions>*{flex:1}.formula-actions form button{width:100%}.form-actions{display:grid}.form-actions>*{width:100%}.batch-status-head{display:grid}.formula-symbol.large{width:70px;height:70px}}

/* Bloque 5: punto de venta y caja */
.pos-stats,.cash-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.pos-stats article,.cash-summary-grid article{display:grid;gap:5px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.pos-stats span,.pos-stats small,.cash-summary-grid span,.cash-summary-grid small{color:var(--muted)}.pos-stats strong,.cash-summary-grid strong{font-size:23px}.register-open{border-color:#a9dac7!important;background:linear-gradient(145deg,#fff,#eaf9f2)!important}.register-closed{border-color:#f0c4bf!important;background:#fff9f8!important}.pos-empty-register{display:grid;grid-template-columns:auto 1fr minmax(330px,.8fr);align-items:center;gap:20px}.cash-hero-icon{width:76px;height:76px;border-radius:22px;display:grid;place-items:center;font-size:36px;color:var(--brand-primary);background:linear-gradient(145deg,#e5faf4,#e2f9fc)}.pos-empty-register h2,.pos-empty-register p{margin:4px 0}.pos-empty-register p{color:var(--muted)}.inline-open-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}.inline-open-form label{display:grid;gap:6px}.pos-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(360px,.75fr);gap:18px;align-items:start}.pos-catalog{min-width:0}.pos-filter{display:grid;grid-template-columns:minmax(250px,1fr) minmax(190px,.45fr) auto;gap:10px;padding:14px}.pos-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pos-product-card{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(20,56,68,.07);transition:.18s}.pos-product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.pos-product-image{height:145px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#faffff,#eaf8f4)}.pos-product-image img{max-width:70%;max-height:112px;object-fit:contain}.pos-product-image .badge{position:absolute;top:10px;left:10px}.pos-product-body{padding:14px}.pos-product-body>small{color:var(--muted)}.pos-product-body h2{font-size:16px;margin:5px 0}.pos-product-body p{min-height:34px;margin:0 0 12px;color:var(--muted);font-size:12px}.pos-product-body>div{display:flex;justify-content:space-between;align-items:center}.pos-product-body>div>strong{font-size:20px}.pos-add{width:40px;height:40px;padding:0;border-radius:12px;font-size:20px}.pos-add:disabled{opacity:.35;cursor:not-allowed}.pos-cart-panel{position:sticky;top:16px;margin-bottom:0}.cart-clear,.pos-cart-remove{background:#f4f7f8;color:var(--muted);padding:8px 10px}.pos-cart-items{display:grid;gap:10px;max-height:360px;overflow:auto;margin:16px -5px 16px 0;padding-right:5px}.empty-cart{display:grid;place-items:center;gap:5px;padding:30px;color:var(--muted);text-align:center;border:1px dashed var(--border);border-radius:15px}.empty-cart span{font-size:36px}.pos-cart-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto 30px;align-items:center;gap:9px;padding:10px;border:1px solid var(--border);border-radius:14px}.pos-cart-row img{width:44px;height:44px;object-fit:contain;background:#f4faf8;border-radius:10px}.pos-cart-info{display:grid;min-width:0}.pos-cart-info strong,.pos-cart-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-cart-info small{font-size:10px;color:var(--muted)}.pos-qty-controls{display:flex;align-items:center}.pos-qty-controls button{width:27px;height:30px;padding:0;border-radius:8px}.pos-qty-controls input{width:58px;padding:6px;text-align:center;border:0}.pos-line-total{font-size:13px}.pos-cart-remove{padding:4px;width:28px;height:28px;border-radius:8px}.pos-checkout-form,.cash-open-form,.cash-layout aside form{display:grid;gap:13px}.pos-checkout-form label,.cash-open-form label,.cash-layout aside form label{display:grid;gap:6px;font-weight:650}.pos-customer-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pos-totals{display:grid;gap:7px;padding:13px;border-radius:14px;background:#f5f9f8}.pos-totals>div{display:flex;justify-content:space-between}.pos-totals .grand-total{padding-top:9px;border-top:1px solid var(--border);font-size:20px}.change-box{display:flex;justify-content:space-between;padding:11px;border-radius:11px;background:#e8f7ef;color:#0f6c49}.mixed-payment{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mixed-payment small{grid-column:1/-1;padding:10px;border-radius:10px;background:#fff4d9;color:#865b08}.pos-checkout-form button[disabled]{opacity:.45;cursor:not-allowed}.sales-filter{display:grid;grid-template-columns:minmax(230px,1.4fr) repeat(4,minmax(130px,.65fr)) auto;gap:10px}.responsive-table{overflow:auto;margin-top:18px}.responsive-table table{width:100%;border-collapse:collapse;min-width:780px}.responsive-table th,.responsive-table td{padding:13px 11px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.responsive-table th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.responsive-table td small{display:block;color:var(--muted);margin-top:4px}.table-action{font-weight:800;color:var(--brand-primary)}.badge.danger{background:#fff0ef;color:#a13227}.sale-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.55fr);gap:18px}.sale-detail-grid aside{display:grid;gap:18px;align-content:start}.sale-detail-grid aside .panel{margin:0}.sale-detail-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.sale-detail-head h2{margin:12px 0 3px}.sale-detail-head p{margin:0;color:var(--muted)}.sale-total{text-align:right;display:grid}.sale-total small{color:var(--muted)}.sale-total strong{font-size:30px;color:var(--brand-primary)}.sale-calculation{margin-left:auto;width:min(340px,100%);display:grid;gap:9px;padding:18px}.sale-calculation div{display:flex;justify-content:space-between}.sale-calculation div:last-child{font-size:20px;padding-top:10px;border-top:1px solid var(--border)}.sale-notes{padding:15px;border-radius:13px;background:#f7faf9}.sale-notes p{margin:7px 0 0;color:var(--muted)}.payment-list{display:grid;gap:10px}.payment-list>div,.sale-meta>div{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.payment-list span{display:grid}.payment-list small{color:var(--muted)}.sale-meta>div span{color:var(--muted)}.cash-opening-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.cash-welcome{display:grid;place-items:center;text-align:center;padding:45px}.cash-welcome p{color:var(--muted)}.cash-open-form button,.cash-layout aside form button{width:100%}.cash-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.55fr);gap:18px}.cash-layout aside{display:grid;gap:18px;align-content:start}.cash-layout aside>.panel{margin:0}.cash-movement-list{display:grid;margin-top:18px}.cash-movement-list>div{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.cash-direction{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;font-weight:900}.cash-direction.success{background:#e8f7ef;color:#0f6c49}.cash-direction.danger{background:#fff0ef;color:#a13227}.cash-movement-list div>div{display:grid}.cash-movement-list small{color:var(--muted)}.success{color:#0f6c49}.danger{color:#a13227}.cash-close-form{border-color:#f3d8a8}.cash-close-form>p{padding:12px;border-radius:12px;background:#fff4d9}.closed-register-result{display:grid;place-items:center;text-align:center}.closed-register-result>span{width:70px;height:70px;display:grid;place-items:center;border-radius:50%;background:#e8f7ef;color:#0f6c49;font-size:36px}.closed-register-result>div{width:100%;display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.register-history{display:grid;margin-top:15px}.register-history>a{display:grid;grid-template-columns:1fr auto 120px;align-items:center;gap:15px;padding:13px;border-bottom:1px solid var(--border)}.register-history>a:hover{background:#f7faf9}.register-history div{display:grid}.register-history small{color:var(--muted)}
@media(max-width:1250px){.pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-filter{grid-template-columns:1fr 1fr 1fr}.sales-filter .search-field{grid-column:1/-1}}
@media(max-width:1050px){.pos-layout,.sale-detail-grid,.cash-layout{grid-template-columns:1fr}.pos-cart-panel{position:static}.cash-summary-grid,.pos-stats{grid-template-columns:1fr 1fr}.cash-opening-layout{grid-template-columns:1fr}.pos-empty-register{grid-template-columns:auto 1fr}.inline-open-form{grid-column:1/-1}}
@media(max-width:680px){.pos-filter,.sales-filter{grid-template-columns:1fr}.sales-filter .search-field{grid-column:auto}.pos-product-grid{grid-template-columns:1fr 1fr;gap:10px}.pos-product-image{height:115px}.pos-product-image img{max-height:86px}.pos-product-body{padding:11px}.pos-product-body h2{font-size:14px}.pos-product-body>div>strong{font-size:16px}.pos-cart-row{grid-template-columns:40px minmax(0,1fr) auto 28px}.pos-qty-controls{grid-column:2/4}.pos-line-total{grid-column:3}.pos-cart-remove{grid-column:4;grid-row:1}.pos-customer-fields,.mixed-payment{grid-template-columns:1fr}.mixed-payment small{grid-column:auto}.register-history>a{grid-template-columns:1fr auto}.register-history>a>strong{grid-column:1/-1}.pos-empty-register{grid-template-columns:1fr;text-align:center;place-items:center}.inline-open-form{grid-template-columns:1fr;width:100%}}
@media(max-width:420px){.pos-product-grid{grid-template-columns:1fr}.pos-stats,.cash-summary-grid{grid-template-columns:1fr 1fr}.pos-stats article,.cash-summary-grid article{padding:13px}.pos-stats strong,.cash-summary-grid strong{font-size:18px}}

/* Bloque 6: clientes, crédito y precios especiales */
.customer-stats,.customer-detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.customer-stats article,.customer-detail-stats article{display:grid;gap:5px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.customer-stats span,.customer-stats small,.customer-detail-stats span,.customer-detail-stats small{color:var(--muted)}.customer-stats strong,.customer-detail-stats strong{font-size:23px}.customer-filter{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(150px,.55fr)) auto;gap:10px;padding:14px}.customer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.customer-card{display:grid;gap:15px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 10px 30px rgba(20,56,68,.07);transition:.18s}.customer-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.customer-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px}.customer-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#e5faf4,#e2f9fc);color:var(--brand-primary);font-size:20px;font-weight:850}.customer-card-head h2{font-size:17px;margin:3px 0}.customer-card-head p,.customer-card-head small{margin:0;color:var(--muted);font-size:12px}.customer-contact{display:grid;gap:6px;padding:12px;border-radius:13px;background:#f7faf9;color:var(--muted);font-size:12px;overflow:hidden}.customer-contact span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.customer-card-metrics>div{display:grid;gap:4px;padding:10px;border:1px solid var(--border);border-radius:12px}.customer-card-metrics span{font-size:11px;color:var(--muted)}.credit-meter{display:grid;gap:7px}.credit-meter>div{display:flex;justify-content:space-between;gap:10px;font-size:11px}.credit-meter small{color:var(--muted)}.credit-meter progress{width:100%;height:8px;accent-color:var(--brand-primary)}.customer-card-actions{display:flex;justify-content:space-between;gap:10px;padding-top:4px}.customer-card-actions a{font-weight:750;color:var(--brand-primary)}.customer-form-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.55fr);gap:18px;align-items:start}.customer-form-main{display:grid;gap:18px}.customer-credit-settings{display:grid;gap:17px;position:sticky;top:16px}.customer-credit-settings>div:first-child{text-align:center}.credit-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 10px;border-radius:18px;background:linear-gradient(145deg,#e5faf4,#e2f9fc);color:var(--brand-primary);font-size:26px;font-weight:900}.customer-credit-settings h2,.customer-credit-settings p{margin:4px 0}.customer-credit-settings p{color:var(--muted)}.switch-row{display:flex!important;justify-content:space-between;align-items:center;gap:15px;padding:13px;border:1px solid var(--border);border-radius:14px}.switch-row span{display:grid;gap:3px}.switch-row small{color:var(--muted);font-weight:400}.switch-row input{width:22px;height:22px}.credit-current{display:grid;gap:5px;padding:16px;border-radius:15px;background:#f5f9f8}.credit-current span,.credit-current small{color:var(--muted)}.credit-current strong{font-size:26px;color:var(--brand-primary)}.customer-detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.65fr);gap:18px;align-items:start}.customer-detail-main,.customer-detail-side{display:grid;gap:18px}.customer-detail-main>.panel,.customer-detail-side>.panel{margin:0}.customer-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.customer-profile-grid>div{display:grid;gap:5px;padding:13px;border:1px solid var(--border);border-radius:13px}.customer-profile-grid span{font-size:11px;color:var(--muted)}.address-list,.special-price-list,.account-movement-list{display:grid}.address-list article{display:grid;gap:5px;padding:12px 0;border-bottom:1px solid var(--border)}.address-list article>div{display:flex;justify-content:space-between;align-items:center}.address-list p{margin:0}.address-list small{color:var(--muted)}.address-list form{justify-self:end}.address-list form button,.special-price-list form button{padding:4px 8px;background:transparent}.text-danger{color:#a13227!important}.customer-details-form{margin-top:15px;border-top:1px solid var(--border);padding-top:12px}.customer-details-form summary{cursor:pointer;font-weight:800;color:var(--brand-primary)}.customer-details-form form{display:grid;gap:11px;margin-top:14px}.customer-details-form label,.customer-payment-panel label{display:grid;gap:6px;font-weight:650}.check-line{display:flex!important;align-items:center;gap:8px}.check-line input{width:18px;height:18px}.special-price-list article{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.special-price-list img{width:40px;height:40px;object-fit:contain;background:#f4faf8;border-radius:10px}.special-price-list article>div{display:grid}.special-price-list small{color:var(--muted);font-size:10px}.account-movement-list>div{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.account-direction{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;font-weight:900}.account-direction.success{background:#e8f7ef;color:#0f6c49}.account-direction.danger{background:#fff0ef;color:#a13227}.account-movement-list>div>div{display:grid}.account-movement-list small{color:var(--muted)}.account-amount{text-align:right}.customer-payment-panel{display:grid;gap:15px}.customer-payment-panel>div{text-align:center}.customer-payment-panel form{display:grid;gap:11px}.customer-payment-panel button:disabled{opacity:.45;cursor:not-allowed}.muted{color:var(--muted)}#posCustomerBenefit{color:var(--muted);font-weight:400}.pos-checkout-form select option:disabled{color:#999}.catalog-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1250px){.customer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-filter{grid-template-columns:1fr 1fr 1fr}.customer-filter .search-field{grid-column:1/-1}.customer-profile-grid{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){.customer-form-layout,.customer-detail-layout{grid-template-columns:1fr}.customer-credit-settings{position:static}.customer-stats,.customer-detail-stats{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.customer-filter{grid-template-columns:1fr}.customer-filter .search-field{grid-column:auto}.customer-grid{grid-template-columns:1fr}.customer-profile-grid{grid-template-columns:1fr}.special-price-list article{grid-template-columns:40px minmax(0,1fr) auto}.special-price-list form{grid-column:3}.account-movement-list>div{grid-template-columns:38px 1fr}.account-amount{grid-column:2;text-align:left}.catalog-summary{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.customer-stats,.customer-detail-stats{grid-template-columns:1fr 1fr}.customer-stats article,.customer-detail-stats article{padding:13px}.customer-stats strong,.customer-detail-stats strong{font-size:18px}.customer-card-head{grid-template-columns:auto 1fr}.customer-card-head>.badge{grid-column:2;justify-self:start}}

/* Bloque 7: configuración de tienda */
.settings-page-form>.settings-layout{align-items:start}.settings-page-form>.settings-layout>div{display:grid;gap:18px}.settings-page-form .panel{margin:0}.brand-settings-grid{display:grid;grid-template-columns:220px 1fr;gap:20px;margin-top:18px}.logo-upload{display:grid;gap:8px;font-weight:700}.logo-upload>div{min-height:220px;display:grid;place-items:center;align-content:center;gap:10px;padding:18px;border:1px dashed #b8d3d0;border-radius:18px;background:#f7fcfa}.logo-upload img{width:105px;height:105px;object-fit:contain}.logo-upload input{font-size:12px;padding:8px}.logo-upload small,.settings-help small{color:var(--muted);font-weight:400}.switch-row.compact{max-width:310px}.store-copy-fields{margin-top:18px}.delivery-toggles{display:grid;gap:10px}.settings-preview{position:sticky;top:16px}.settings-preview p{line-height:1.5}.settings-help{margin-top:18px!important}.settings-help p{color:var(--muted);line-height:1.5}.settings-help input{font-size:12px}.settings-help small{display:block;margin-top:10px}.settings-page-form>.page-actions button{padding:12px 18px}
@media(max-width:1050px){.brand-settings-grid{grid-template-columns:1fr}.logo-upload>div{min-height:170px}.settings-preview{position:static}}

/* Bloque 8: pedidos y seguimiento */
.order-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.order-stats a{display:grid;gap:5px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.order-stats a:hover{transform:translateY(-2px)}.order-stats span,.order-stats small{color:var(--muted)}.order-stats strong{font-size:25px;color:var(--brand-primary)}.order-filter{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(150px,.6fr)) repeat(2,minmax(140px,.5fr)) auto;gap:10px;padding:14px}.order-filter .search-field{min-width:0}.order-filter>*{min-height:44px}.responsive-table table{width:100%;border-collapse:collapse}.responsive-table th{text-align:left;padding:12px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border)}.responsive-table td{padding:14px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.responsive-table td strong,.responsive-table td small{display:block}.responsive-table td small{margin-top:4px;color:var(--muted);font-size:11px}.responsive-table tbody tr:hover{background:#f8fbfb}.table-action{font-weight:800;color:var(--brand-primary)}.badge.info{background:#e8f7fb;color:#087488}.badge.warning{background:#fff5df;color:#9a6200}.badge.danger{background:#fff0ef;color:#a13227}.order-progress{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;overflow:auto}.order-progress>div{position:relative;display:grid;place-items:center;gap:7px;min-width:105px;text-align:center;color:#91a0a6}.order-progress>div:not(:last-child)::after{content:"";position:absolute;top:17px;left:calc(50% + 24px);width:calc(100% - 18px);height:2px;background:var(--border)}.order-progress span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#edf2f3;font-weight:900;z-index:1}.order-progress strong{font-size:12px}.order-progress .done{color:var(--brand-primary)}.order-progress .done span{background:#e4f7ef;color:#0f6c49}.order-progress .done::after{background:#9fd5c2!important}.order-progress .current span{box-shadow:0 0 0 5px rgba(16,185,129,.12)}.order-progress .cancelled{color:#a13227}.order-progress .cancelled span{background:#fff0ef}.order-detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.65fr);gap:18px;align-items:start}.order-detail-main,.order-detail-side{display:grid;gap:18px}.order-detail-main>.panel,.order-detail-side>.panel{margin:0}.order-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.order-detail-head h2{margin:10px 0 4px}.order-detail-head p{margin:0;color:var(--muted)}.order-total{text-align:right;display:grid;gap:5px}.order-total small{color:var(--muted)}.order-total strong{font-size:30px;color:var(--brand-primary)}.order-info{display:grid;gap:14px}.order-info h2{margin-bottom:3px}.order-info>div{display:grid;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--border)}.order-info span,.order-info small{color:var(--muted);font-size:12px}.secondary-button.full{width:100%;margin-top:4px}.order-action-form{display:grid;gap:12px}.order-action-form h2{margin:0}.order-action-form label{display:grid;gap:6px;font-weight:700}.order-action-form textarea{min-height:75px}.order-action-form button{width:100%}.order-history{display:grid;margin-top:18px}.order-history>div{display:grid;grid-template-columns:18px 1fr;gap:12px;padding:0 0 18px;position:relative}.order-history>div:not(:last-child)::before{content:"";position:absolute;left:7px;top:17px;bottom:0;width:2px;background:var(--border)}.history-dot{width:16px;height:16px;border-radius:50%;background:#dfe7e9;margin-top:2px;z-index:1}.history-dot.success{background:#18a56e}.history-dot.info{background:#16a2bd}.history-dot.warning{background:#e5a22c}.history-dot.danger{background:#d85a4f}.order-history strong,.order-history small{display:block}.order-history small{margin-top:3px;color:var(--muted)}.order-history p{margin:6px 0 0;color:var(--muted)}
@media(max-width:1250px){.order-stats{grid-template-columns:repeat(3,1fr)}.order-filter{grid-template-columns:1fr 1fr 1fr}.order-filter .search-field{grid-column:1/-1}}
@media(max-width:1000px){.order-detail-layout{grid-template-columns:1fr}.order-stats{grid-template-columns:1fr 1fr}.order-progress{justify-content:flex-start}}
@media(max-width:680px){.order-filter{grid-template-columns:1fr}.order-filter .search-field{grid-column:auto}.order-stats{grid-template-columns:1fr 1fr;gap:10px}.order-stats a{padding:14px}.order-detail-head{display:grid}.order-total{text-align:left}.responsive-table{overflow:auto}.responsive-table table{min-width:880px}}
@media(max-width:420px){.order-stats{grid-template-columns:1fr 1fr}.order-stats strong{font-size:21px}.order-progress{padding:16px}.order-progress>div{min-width:90px}}
.order-payment-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.order-payment-actions button{width:100%}@media(max-width:420px){.order-payment-actions{grid-template-columns:1fr}}
.payment-history-details{border-top:1px solid var(--border);padding-top:12px}.payment-history-details summary{cursor:pointer;font-weight:800;color:var(--brand-primary)}.payment-history-details>div{display:grid;margin-top:10px}.payment-history-details article{display:grid;gap:3px;padding:9px 0;border-bottom:1px solid var(--border)}.payment-history-details small,.payment-history-details p{color:var(--muted);font-size:11px}.payment-history-details p{margin:3px 0 0}

/* Bloque 9: entregas, zonas y reparto */
.delivery-metrics article{min-height:118px}.delivery-filter{grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(145px,1fr)) auto}.delivery-filter .filter-actions{align-self:end}.delivery-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px}.delivery-hero h2{margin:12px 0 6px;font-size:clamp(1.25rem,2vw,1.75rem)}.delivery-hero p,.delivery-hero small{display:block;color:var(--muted)}.delivery-total{text-align:right;min-width:180px}.delivery-total small,.delivery-total span{display:block;color:var(--muted)}.delivery-total strong{display:block;font-size:2rem;color:var(--brand-primary);margin:4px 0}.delivery-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px}.delivery-main-stack,.delivery-side-stack{display:grid;gap:20px;align-content:start}.delivery-history{padding-top:4px}.delivery-settings-layout{grid-template-columns:minmax(320px,430px) minmax(0,1fr)}.delivery-zone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.delivery-zone-grid>article{border:1px solid var(--line);border-radius:20px;padding:18px;display:grid;gap:16px;background:linear-gradient(145deg,#fff,#f8fbfa)}.delivery-zone-grid h3,.driver-list h3{margin:8px 0 4px}.delivery-zone-grid p,.driver-list p,.driver-list small{margin:0;color:var(--muted)}.delivery-zone-grid dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.delivery-zone-grid dl div{background:var(--surface-soft);border-radius:14px;padding:10px}.delivery-zone-grid dt{font-size:.76rem;color:var(--muted)}.delivery-zone-grid dd{margin:3px 0 0;font-weight:800}.delivery-zone-grid .action-group,.driver-list .action-group{justify-content:flex-start}.driver-list{display:grid;gap:12px}.driver-list>article{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:18px;padding:15px}.driver-avatar{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));color:#fff;font-weight:900;font-size:1.2rem}.secondary-button.small{padding:8px 11px;font-size:.82rem}.table-action{display:inline-flex;padding:8px 12px;border-radius:10px;background:var(--surface-soft);font-weight:800;color:var(--brand-primary)}
@media (max-width:1180px){.delivery-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.delivery-detail-grid{grid-template-columns:minmax(0,1fr) 320px}.delivery-settings-layout{grid-template-columns:1fr}.delivery-zone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.delivery-detail-grid{grid-template-columns:1fr}.delivery-zone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.delivery-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.delivery-filter{grid-template-columns:1fr}.delivery-filter label,.delivery-filter .filter-actions{width:100%}.delivery-hero{align-items:flex-start;flex-direction:column}.delivery-total{text-align:left}.delivery-zone-grid{grid-template-columns:1fr}.driver-list>article{grid-template-columns:48px minmax(0,1fr)}.driver-list .action-group{grid-column:1/-1}.delivery-settings-layout{display:block}.delivery-settings-layout>.panel+ .panel{margin-top:16px}}

/* Bloque 10: mayoreo, distribuidores y comisiones */
.wholesale-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.wholesale-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:18px;align-items:start}.wholesale-side-stack,.recurring-main-stack,.recurring-side-stack{display:grid;gap:18px;align-content:start}.commercial-customer-list{display:grid;margin-top:18px}.commercial-customer-list>article{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(130px,.55fr) auto;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--border)}.commercial-avatar{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));color:#fff;font-weight:900}.commercial-customer-list strong,.commercial-customer-list small{display:block}.commercial-customer-list small,.muted{color:var(--muted)}.mini-list{display:grid;margin-top:14px}.mini-list>a,.mini-list-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.mini-list strong,.mini-list small{display:block}.mini-list small{color:var(--muted);margin-top:3px}.mini-list span{font-weight:900;color:var(--brand-primary)}.wholesale-settings-layout{grid-template-columns:minmax(360px,.75fr) minmax(0,1.25fr)}.price-list-cards{display:grid;gap:13px;margin-top:16px}.price-list-cards>article{border:1px solid var(--border);border-radius:18px;padding:16px;background:linear-gradient(145deg,#fff,#f8fbfa)}.price-list-cards h3{margin:10px 0 3px}.price-list-cards p{margin:0;color:var(--muted)}.price-list-cards dl,.recurring-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.price-list-cards dl div,.recurring-card dl div{padding:10px;background:#f5f9f9;border-radius:12px}.price-list-cards dt,.recurring-card dt{font-size:11px;color:var(--muted)}.price-list-cards dd,.recurring-card dd{margin:3px 0 0;font-weight:800}.price-rule-layout{display:grid;grid-template-columns:minmax(340px,.75fr) minmax(0,1.35fr);gap:18px;align-items:start}.price-rule-layout>.panel{margin:0}.customer-assignment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.customer-assignment-grid>article{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--border);border-radius:16px;padding:14px}.customer-assignment-grid>article.assigned{border-color:#a9dac7;background:#f1fbf6}.customer-assignment-grid strong,.customer-assignment-grid small{display:block}.customer-assignment-grid small{color:var(--muted);margin-top:3px}.recurring-filter{grid-template-columns:minmax(220px,.6fr) auto auto}.recurring-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.recurring-card{margin:0;display:grid;gap:14px}.recurring-card h2{margin:10px 0 4px;font-size:1.15rem}.recurring-card p{margin:0;color:var(--muted)}.next-date{text-align:right;color:var(--brand-primary);font-size:1.15rem}.next-date small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.recurring-card>.button-link{text-align:center}.recurring-form-layout{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr);gap:18px;align-items:start}.recurring-form-layout>.panel{margin:0}.recurring-items{display:grid;gap:10px;margin:18px 0}.recurring-item-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 44px;align-items:end;gap:10px;padding:12px;border:1px solid var(--border);border-radius:16px}.recurring-item-row label{display:grid;gap:6px;font-weight:700}.recurring-item-row button{height:46px;padding:0}.recurring-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}.recurring-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;background:linear-gradient(120deg,#fff,#edfafa)}.recurring-hero.due{border-color:#a9dac7}.recurring-hero h2{margin:12px 0 5px}.recurring-hero p{margin:0;color:var(--muted)}.recurring-total{text-align:right}.recurring-total small,.recurring-total span{display:block;color:var(--muted)}.recurring-total strong{display:block;font-size:2rem;color:var(--brand-primary);margin:4px 0}.credit-meter{display:grid;gap:12px}.credit-meter>div{display:flex;justify-content:space-between}.credit-meter progress{width:100%;height:10px;accent-color:var(--brand-primary)}.commission-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.commission-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:16px}.commission-rule-grid>form{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(120px,.65fr)) auto;align-items:end;gap:10px;border:1px solid var(--border);border-radius:17px;padding:14px}.commission-rule-grid strong,.commission-rule-grid small{display:block}.commission-rule-grid small{color:var(--muted);margin-top:4px}.commission-rule-grid label{display:grid;gap:5px;font-size:12px;font-weight:700}.commission-filter{grid-template-columns:minmax(180px,.6fr) minmax(200px,.7fr) auto auto}.commission-action{display:grid;grid-template-columns:130px 170px auto;gap:6px;min-width:390px}.commission-action select,.commission-action input,.commission-action button{padding:9px;font-size:12px}
@media(max-width:1200px){.wholesale-dashboard-grid,.price-rule-layout,.recurring-detail-layout{grid-template-columns:1fr}.wholesale-settings-layout,.recurring-form-layout{grid-template-columns:1fr}.recurring-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.commission-rule-grid>form{grid-template-columns:1fr 1fr 1fr}.commission-rule-grid>form>div{grid-column:1/-1}}
@media(max-width:900px){.wholesale-metrics{grid-template-columns:1fr 1fr}.commission-rule-grid{grid-template-columns:1fr}.commercial-customer-list>article{grid-template-columns:46px minmax(0,1fr) auto}.commercial-customer-list>article>div:nth-child(3){grid-column:2}.recurring-grid{grid-template-columns:1fr}.customer-assignment-grid{grid-template-columns:1fr}}
@media(max-width:640px){.wholesale-metrics,.commission-metrics{grid-template-columns:1fr 1fr}.recurring-filter,.commission-filter{grid-template-columns:1fr}.price-list-cards dl,.recurring-card dl{grid-template-columns:1fr 1fr}.recurring-item-row{grid-template-columns:1fr 95px 42px}.recurring-hero{align-items:flex-start;flex-direction:column}.recurring-total{text-align:left}.commission-rule-grid>form{grid-template-columns:1fr}.commission-rule-grid>form>div{grid-column:auto}.commercial-customer-list>article{grid-template-columns:42px minmax(0,1fr)}.commercial-customer-list>article>a{grid-column:1/-1;text-align:center}.customer-assignment-grid>article{align-items:flex-start;flex-direction:column}.customer-assignment-grid form,.customer-assignment-grid button{width:100%}}
@media(max-width:420px){.wholesale-metrics,.commission-metrics{grid-template-columns:1fr}.recurring-item-row{grid-template-columns:1fr}.recurring-item-row button{width:100%}}

/* Bloque 11: promociones, cupones y combos */
.promotion-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.promotion-filter{grid-template-columns:minmax(260px,1.6fr) minmax(170px,.7fr) minmax(170px,.7fr) auto auto}.promotion-form{max-width:1180px}.promotion-form>.form-grid{margin-bottom:22px}.promotion-check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;align-self:end;padding:12px 14px;border:1px solid var(--border);border-radius:12px}.promotion-check input{width:auto}.promotion-bundle{margin:8px 0 24px;padding:20px;border:1px solid var(--border);border-radius:18px;background:#f8fbfb}.promotion-bundle-rows{display:grid;gap:10px;margin-top:16px}.promotion-bundle-rows>div{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px}.promotion-stat-text{font-size:20px!important}.pos-promotion-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pos-promotion-fields small{display:block;color:var(--muted);margin-top:4px}.store-coupon{display:grid;gap:7px;margin-bottom:18px}.store-coupon>span,.promotion-estimate strong{font-size:12px;color:var(--muted)}
@media(max-width:900px){.promotion-stats{grid-template-columns:1fr 1fr}.promotion-filter{grid-template-columns:1fr 1fr}.promotion-filter .search-field{grid-column:1/-1}.promotion-bundle-rows>div,.pos-promotion-fields{grid-template-columns:1fr}}
@media(max-width:560px){.promotion-stats,.promotion-filter{grid-template-columns:1fr}.promotion-filter .search-field{grid-column:auto}}

/* Bloque 12: reportes */
.report-filter{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto auto;gap:12px;align-items:end}.report-filter label{display:grid;gap:7px;font-weight:700}.report-filter label span{font-size:12px;color:var(--muted)}.report-metrics article:nth-child(2){background:linear-gradient(145deg,#fff,#edf9f3)}.report-financial-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 18px}.report-financial-strip article{display:grid;gap:6px;padding:16px 18px;background:#fff;border:1px solid var(--border);border-radius:16px}.report-financial-strip span{font-size:12px;color:var(--muted)}.report-financial-strip strong{font-size:16px}.report-main-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}.report-side-stack{display:grid;gap:18px;align-content:start}.report-bars{display:flex;align-items:end;gap:8px;min-height:300px;overflow-x:auto;padding:28px 4px 4px}.report-bar-item{display:grid;grid-template-rows:22px 230px 20px;gap:6px;min-width:42px;flex:1;text-align:center}.report-bar-value{font-size:10px;color:var(--muted);white-space:nowrap}.report-bar-track{height:230px;border-radius:12px;background:#edf3f4;display:flex;align-items:end;overflow:hidden}.report-bar-track i{display:block;width:100%;min-height:3px;border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,var(--brand-accent),var(--brand-primary));transition:height .25s ease}.report-bar-item small{font-size:10px;color:var(--muted)}.report-progress-list{display:grid;gap:18px;margin-top:20px}.report-progress-list>div{display:grid;gap:7px}.report-progress-list header{display:flex;justify-content:space-between;gap:10px}.report-progress-list progress{width:100%;height:8px;accent-color:var(--brand-primary)}.report-progress-list small{color:var(--muted)}.report-three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.report-mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.report-mini-metrics>div{padding:12px;background:#f7fafb;border-radius:13px;display:grid;gap:4px}.report-mini-metrics .wide{grid-column:1/-1}.report-mini-metrics span{font-size:11px;color:var(--muted)}.report-mini-metrics strong{font-size:18px}.report-alert-list,.report-ranking{display:grid;gap:8px}.report-alert-list a,.report-ranking>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid var(--border)}.report-alert-list a>div,.report-ranking>div>div{display:grid}.report-alert-list small,.report-ranking small{color:var(--muted);font-size:11px}.report-ranking>div>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#edf8f5;color:var(--brand-primary);font-weight:800}.report-ranking>div>div{flex:1}.report-ranking b{font-size:13px}.report-export-center{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(125deg,#fff,#eefafa)}.report-export-center h2,.report-export-center p{margin:4px 0}.report-export-center p{color:var(--muted)}
@media(max-width:1100px){.report-three-grid{grid-template-columns:1fr 1fr}.report-three-grid article:last-child{grid-column:1/-1}.report-financial-strip{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.report-filter{grid-template-columns:1fr 1fr}.report-filter label:last-of-type{grid-column:1/-1}.report-main-grid,.report-three-grid{grid-template-columns:1fr}.report-three-grid article:last-child{grid-column:auto}.report-export-center{align-items:flex-start;flex-direction:column}.report-bars{min-height:250px}.report-bar-item{grid-template-rows:22px 180px 20px}.report-bar-track{height:180px}}
@media(max-width:560px){.report-filter,.report-financial-strip{grid-template-columns:1fr}.report-metrics{grid-template-columns:1fr 1fr}.report-bar-item{min-width:36px}.report-export-center .action-group{display:grid;width:100%}.report-export-center .secondary-button{width:100%}}
.sidebar nav{min-height:0;overflow-y:auto;padding-right:2px;scrollbar-width:thin}

/* Bloque 13: usuarios, permisos, seguridad y respaldos */
.topbar-profile{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));color:#fff;font-weight:850;box-shadow:0 8px 22px color-mix(in srgb,var(--brand-primary) 22%,transparent)}.sidebar-user{color:#fff}.sidebar-user.active{outline:1px solid rgba(255,255,255,.32)}.security-stats article:nth-child(2),.security-stats article:nth-child(4){background:linear-gradient(145deg,#fff,#eefafa)}.security-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px}.security-bottom-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.security-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.security-tool-grid a{display:flex;gap:13px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:16px;background:#fff}.security-tool-grid a:hover{border-color:#a9dac7;box-shadow:0 12px 25px rgba(20,56,68,.07)}.security-tool-grid a>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#edf8f5;color:var(--brand-primary);font-size:20px}.security-tool-grid strong,.security-tool-grid small{display:block}.security-tool-grid small{color:var(--muted);margin-top:4px}.security-policy-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.security-policy-form>label{display:grid;gap:6px;font-weight:700}.security-policy-form small{color:var(--muted)}.security-policy-form button{grid-column:1/-1}.security-check{display:flex!important;align-items:center;gap:9px;padding:12px;border:1px solid var(--border);border-radius:12px}.security-check input{width:auto}.security-activity-list{display:grid;margin-top:12px}.security-activity-list article{display:grid;grid-template-columns:38px minmax(150px,.6fr) minmax(0,1fr);align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.security-activity-list article>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#edf8f5;color:var(--brand-primary);font-weight:800}.security-activity-list strong,.security-activity-list small{display:block}.security-activity-list small,.security-activity-list p{color:var(--muted);font-size:12px}.security-activity-list p{margin:0}.security-session-mini{display:grid;margin-top:12px}.security-session-mini article{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-top:1px solid var(--border)}.security-session-mini strong,.security-session-mini small{display:block}.security-session-mini small,.security-session-mini time{color:var(--muted);font-size:12px}.security-user-filter{grid-template-columns:minmax(260px,1.5fr) minmax(160px,.6fr) minmax(150px,.6fr) auto auto}.user-cell{display:flex;align-items:center;gap:10px}.user-cell>span,.security-avatar{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));color:#fff;font-weight:850}.user-cell strong,.user-cell small{display:block}.user-cell small,.table-note{color:var(--muted);font-size:11px}.table-note{display:block;margin-top:4px}.security-user-form{display:grid;gap:18px}.permission-override-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.permission-override-grid article{border:1px solid var(--border);border-radius:17px;padding:16px}.permission-override-grid h3{margin:0 0 10px}.permission-override-grid label{display:grid;grid-template-columns:minmax(0,1fr) 125px;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.permission-override-grid strong,.permission-override-grid small{display:block}.permission-override-grid small{color:var(--muted);font-size:11px;margin-top:3px}.form-footer{display:flex;justify-content:flex-end;gap:10px}.role-permission-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.role-permission-card fieldset{border:0;border-top:1px solid var(--border);padding:16px 0 0;margin:18px 0}.role-permission-card legend{font-weight:850;padding-right:10px}.permission-check{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:8px 0}.permission-check input{width:auto;margin-top:4px}.permission-check strong,.permission-check small{display:block}.permission-check small{color:var(--muted);font-size:11px;margin-top:2px}.audit-filter{grid-template-columns:minmax(230px,1.3fr) minmax(150px,.55fr) minmax(180px,.65fr) 145px 145px auto auto}.audit-detail{max-width:420px;white-space:normal}.session-filter{grid-template-columns:minmax(260px,.7fr) auto auto}.active-session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.active-session-card{margin:0}.active-session-card header{display:flex;align-items:center;gap:12px}.active-session-card header>div:nth-child(2){flex:1}.active-session-card h2,.active-session-card p{margin:0}.active-session-card p{color:var(--muted);font-size:12px}.security-avatar.small{width:44px;height:44px}.active-session-card dl,.security-profile-card dl{display:grid;gap:10px;margin:18px 0}.active-session-card dl>div,.security-profile-card dl>div{display:grid;grid-template-columns:130px 1fr;gap:10px;padding-top:9px;border-top:1px solid var(--border)}.active-session-card dt,.security-profile-card dt{color:var(--muted);font-size:12px}.active-session-card dd,.security-profile-card dd{margin:0;word-break:break-word}.backup-notice{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(125deg,#fff,#eefafa)}.backup-notice strong{font-size:18px}.backup-notice p{margin:5px 0;color:var(--muted)}.backup-notice>span{font-size:42px;color:var(--brand-primary)}.security-profile-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px}.security-profile-card{text-align:center}.security-profile-card .security-avatar{width:82px;height:82px;border-radius:24px;margin:0 auto 14px;font-size:28px}.security-profile-card h2,.security-profile-card p{margin:4px 0}.security-profile-card p{color:var(--muted)}.security-profile-card dl{text-align:left}.password-policy{padding:13px 15px;border-radius:13px;background:#f4faf8;display:grid!important;gap:4px!important}.password-policy span{color:var(--muted);font-size:12px}
@media(max-width:1200px){.role-permission-layout{grid-template-columns:1fr 1fr}.role-permission-card:last-child{grid-column:1/-1}.audit-filter{grid-template-columns:1fr 1fr 1fr}.audit-filter .search-field{grid-column:1/-1}.active-session-grid{grid-template-columns:1fr}}
@media(max-width:900px){.security-dashboard-grid,.security-bottom-grid,.security-profile-grid{grid-template-columns:1fr}.permission-override-grid,.role-permission-layout{grid-template-columns:1fr}.role-permission-card:last-child{grid-column:auto}.security-user-filter,.audit-filter{grid-template-columns:1fr 1fr}.security-user-filter .search-field,.audit-filter .search-field{grid-column:1/-1}.security-activity-list article{grid-template-columns:38px 1fr}.security-activity-list p{grid-column:2}.topbar-profile{margin-left:auto}.logout-form{margin-left:0}}
@media(max-width:560px){.security-tool-grid,.security-policy-form,.security-user-filter,.audit-filter{grid-template-columns:1fr}.security-user-filter .search-field,.audit-filter .search-field{grid-column:auto}.permission-override-grid label{grid-template-columns:1fr}.security-activity-list article{grid-template-columns:34px 1fr}.active-session-card header{align-items:flex-start;flex-wrap:wrap}.active-session-card dl>div,.security-profile-card dl>div{grid-template-columns:1fr}.form-footer{display:grid}.form-footer>*{width:100%;text-align:center}}

/* Bloque 14: avisos, instalación y estado general */
.sidebar-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#fff;color:var(--brand-primary);font-size:10px;margin-left:6px}.topbar-notifications{position:relative;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;border:1px solid var(--border);background:#fff;color:var(--brand-primary);font-weight:900}.topbar-notifications:hover,.topbar-notifications.active{background:#edf9f5}.topbar-notifications b{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#d84e45;color:#fff;font-size:10px;border:2px solid #fff}.topbar-install{padding:9px 13px;border-radius:12px;background:#e8f7f3;color:var(--brand-primary);border:1px solid #bfe2d8;font-size:12px}.connection-status{position:fixed;left:50%;bottom:86px;transform:translateX(-50%);z-index:9999;padding:11px 16px;border-radius:999px;background:#163832;color:#fff;box-shadow:0 14px 36px rgba(0,0,0,.2);font-weight:800;font-size:13px}.connection-status.success{background:#0f7a55}.connection-status.warning{background:#9a6200}.notification-filter{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) auto auto;gap:10px;align-items:end;padding:14px}.notification-filter label{display:grid;gap:6px;font-weight:700}.notification-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);gap:18px;align-items:start}.notification-layout>.panel{margin:0}.notification-list{display:grid;margin-top:12px}.notification-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.notification-item.unread{margin:0 -12px;padding:16px 12px;border-radius:16px;background:linear-gradient(90deg,#f0fbf7,#fff)}.notification-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;font-weight:900;background:#edf2f3;color:#516b66}.notification-icon.success{background:#e5f8ef;color:#0f7a55}.notification-icon.info{background:#e8f7fb;color:#087488}.notification-icon.warning{background:#fff5df;color:#9a6200}.notification-icon.danger{background:#fff0ef;color:#a13227}.notification-copy>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notification-copy p{margin:5px 0;color:var(--muted);line-height:1.45}.notification-copy small{color:var(--muted)}.notification-item form{margin:0}.notification-item button,.notification-item>a{white-space:nowrap}.notification-preferences form{display:grid;gap:13px}.notification-preferences hr{width:100%;border:0;border-top:1px solid var(--border);margin:2px 0}.notification-preferences button{margin-top:6px}.system-health-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.system-check-list{display:grid;margin-top:14px}.system-check-list article{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--border)}.system-check-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;font-weight:900;font-size:20px}.system-check-icon.success{background:#e5f8ef;color:#0f7a55}.system-check-icon.warning{background:#fff5df;color:#9a6200}.system-check-icon.danger{background:#fff0ef;color:#a13227}.system-check-list p{margin:4px 0 0;color:var(--muted)}.system-health-note{background:linear-gradient(135deg,#fff,#edf9f5)}.system-health-note p{max-width:900px;color:var(--muted);line-height:1.65}.store-install-button{border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);color:inherit;border-radius:12px;padding:9px 12px;font-weight:800;cursor:pointer}
@media (max-width:980px){.notification-layout{grid-template-columns:1fr}.system-health-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-install{display:none!important}}
@media (max-width:640px){.notification-filter{grid-template-columns:1fr}.notification-item{grid-template-columns:42px minmax(0,1fr)}.notification-item>form,.notification-item>a{grid-column:2}.notification-icon{width:40px;height:40px}.system-health-summary{grid-template-columns:1fr 1fr}.system-check-list article{grid-template-columns:40px minmax(0,1fr)}.system-check-list article>.badge{grid-column:2;justify-self:start}.topbar-notifications{width:38px;height:38px}.logout-form{display:none}}
