:root{
	--erp-bg:#f5f7fb;
	--erp-surface:#ffffff;
	--erp-border:#e4e8ef;
	--erp-text:#1f2937;
	--erp-muted:#6b7280;
	--erp-primary:#0f766e;
	--erp-blue:#2563eb;
	--erp-amber:#b45309;
	--erp-red:#dc2626;
	--erp-green:#16a34a;
	--erp-purple:#7c3aed;
	--erp-soft:#f8fafc;
	--erp-ring:rgba(15,118,110,.18);
	--erp-radius-sm:8px;
	--erp-radius:12px;
	--erp-radius-lg:16px;
	--erp-shadow-sm:0 6px 16px rgba(15,23,42,.05);
	--erp-shadow:0 14px 34px rgba(15,23,42,.08);
	--erp-shadow-lg:0 24px 60px rgba(15,23,42,.12);
	--erp-transition:160ms cubic-bezier(.2,.8,.2,1);
	--erp-sidebar-width:292px;
	--erp-sidebar-collapsed:78px;
}

body{
	background:var(--erp-bg);
	color:var(--erp-text);
	font-size:14px;
	text-rendering:optimizeLegibility;
}

#wrapper{
	background:var(--erp-bg);
}

#page-content-wrapper{
	flex:1 1 auto;
	min-width:0;
	width:calc(100vw - var(--erp-sidebar-width));
}

body.sb-sidenav-toggled #page-content-wrapper{
	width:calc(100vw - var(--erp-sidebar-collapsed));
}

.enterprise-premium-ready{
	--bs-border-color:var(--erp-border);
}

#sidebar-wrapper.enterprise-sidebar{
	width:var(--erp-sidebar-width);
	min-width:var(--erp-sidebar-width);
	border-right:1px solid var(--erp-border);
	box-shadow:0 12px 30px rgba(15,23,42,.08) !important;
	transition:width .18s ease,min-width .18s ease,transform .18s ease;
	background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}

.enterprise-brand{
	display:flex;
	align-items:center;
	gap:.75rem;
	padding:.75rem 1rem .35rem;
}

.enterprise-brand-mark{
	width:42px;
	height:42px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:12px;
	background:linear-gradient(135deg,#0f766e,#2563eb);
	color:#fff;
	font-weight:700;
	flex:0 0 auto;
	box-shadow:0 12px 22px rgba(15,118,110,.18);
}

.enterprise-brand strong{
	display:block;
	font-size:.95rem;
	line-height:1.2;
}

.enterprise-brand span span{
	display:block;
	font-size:.72rem;
	color:var(--erp-muted);
	text-transform:uppercase;
	letter-spacing:.04em;
}

.enterprise-menu-search{
	position:relative;
	padding:.35rem 1rem .75rem;
}

.enterprise-menu-search i{
	position:absolute;
	left:1.75rem;
	top:.78rem;
	color:var(--erp-muted);
	font-size:.8rem;
	z-index:1;
}

.enterprise-menu-search input{
	height:34px;
	border-radius:999px;
	padding-left:2rem;
	border-color:var(--erp-border);
	background:#f9fafb;
	box-shadow:none;
	transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.enterprise-menu-search input:focus,
.form-control:focus,
.form-select:focus{
	border-color:#8cc9c2;
	box-shadow:0 0 0 .18rem var(--erp-ring);
	background:#fff;
}

.enterprise-sidebar-meta{
	display:flex;
	justify-content:space-between;
	gap:.5rem;
	padding:0 1rem .6rem;
	font-size:.68rem;
	color:var(--erp-muted);
	text-transform:uppercase;
	letter-spacing:.04em;
}

.enterprise-domain-list{
	padding:.25rem .65rem 1rem;
	max-height:calc(100vh - 150px);
	overflow:auto;
	scrollbar-width:thin;
	scrollbar-color:#c7d2df transparent;
}

.enterprise-domain-list::-webkit-scrollbar,
.table-responsive::-webkit-scrollbar{
	width:8px;
	height:8px;
}

.enterprise-domain-list::-webkit-scrollbar-thumb,
.table-responsive::-webkit-scrollbar-thumb{
	background:#c7d2df;
	border-radius:999px;
}

.enterprise-domain{
	list-style:none;
	margin:.2rem 0 .45rem;
}

.enterprise-domain-toggle{
	width:100%;
	border:0;
	background:transparent;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:.5rem;
	padding:.48rem .55rem;
	border-radius:var(--erp-radius-sm);
	color:#374151;
	font-weight:700;
	font-size:.76rem;
	text-transform:uppercase;
	letter-spacing:.02em;
	transition:background .15s ease,color .15s ease;
}

.enterprise-domain-toggle:hover{
	background:#f3f6fb;
}

.enterprise-domain.is-open > .enterprise-domain-toggle{
	background:#eef8f6;
	color:#0f766e;
}

.enterprise-domain-toggle i{
	margin-right:.45rem;
	color:var(--erp-primary);
}

.enterprise-domain-count{
	min-width:24px;
	height:22px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:999px;
	background:#eef2f7;
	color:var(--erp-muted);
	font-size:.7rem;
}

.enterprise-domain-menu{
	list-style:none;
	padding:.1rem 0 .2rem;
	margin:0;
	display:none;
}

.enterprise-domain.is-open .enterprise-domain-menu,
.enterprise-domain.has-search-match .enterprise-domain-menu{
	display:block;
}

.enterprise-menu-item{
	border:0;
	border-radius:10px !important;
	margin:.1rem 0;
	padding:.1rem .25rem;
	background:transparent;
}

.enterprise-menu-item a{
	display:flex;
	align-items:center;
	gap:.58rem;
	min-height:34px;
	padding:.35rem .48rem;
	border-radius:var(--erp-radius-sm);
	font-size:.86rem;
	color:#334155;
	text-decoration:none;
	transition:background .15s ease,color .15s ease,transform .15s ease;
}

.enterprise-menu-item i{
	width:18px;
	text-align:center;
	color:#64748b;
}

.enterprise-menu-item:hover,
.enterprise-menu-item.active{
	background:#eef8f6;
}

.enterprise-menu-item:hover a{
	transform:translateX(1px);
}

.enterprise-menu-item.active a,
.enterprise-menu-item.active i{
	color:#0f766e !important;
	font-weight:700;
}

.enterprise-menu-item.active{
	box-shadow:inset 3px 0 0 #0f766e;
}

.enterprise-page-tools{
	right:4px;
	top:7px;
	opacity:0;
	transition:opacity .15s ease;
}

.enterprise-menu-item:hover .enterprise-page-tools{
	opacity:1;
}

.enterprise-add-page{
	padding:.75rem 1rem 1.25rem;
	border-top:1px solid var(--erp-border);
}

.enterprise-navbar{
	min-height:66px;
	box-shadow:var(--erp-shadow-sm);
	position:sticky;
	top:0;
	z-index:20;
	backdrop-filter:saturate(180%) blur(8px);
}

.enterprise-nav-left{
	display:flex;
	align-items:center;
	gap:.7rem;
	min-width:0;
}

.enterprise-breadcrumb{
	display:flex;
	flex-direction:column;
	line-height:1.15;
}

.enterprise-breadcrumb-kicker,
.enterprise-breadcrumb small{
	color:var(--erp-muted);
	font-size:.72rem;
}

.enterprise-breadcrumb strong{
	font-size:.98rem;
	color:var(--erp-text);
	max-width:42vw;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.enterprise-nav-actions{
	align-items:center;
	gap:.4rem;
}

.enterprise-quick-actions{
	align-items:center;
	gap:.3rem;
	padding-right:.55rem;
	border-right:1px solid var(--erp-border);
}

.enterprise-quick-action{
	width:34px;
	height:34px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:1px solid var(--erp-border);
	border-radius:999px;
	color:#475569;
	background:#fff;
	text-decoration:none;
	transition:all .15s ease;
}

.enterprise-quick-action:hover{
	color:#0f766e;
	background:#eef8f6;
	border-color:#b7ded8;
	transform:translateY(-1px);
}

.enterprise-quick-action.is-active{
	color:#fff;
	background:#0f766e;
	border-color:#0f766e;
}

.enterprise-quick-action.is-disabled,
.enterprise-kpi-card.is-disabled{
	opacity:.52;
	filter:grayscale(.25);
	cursor:not-allowed;
}

.enterprise-kpi-card.is-disabled:hover{
	transform:none;
	box-shadow:var(--erp-shadow-sm);
	border-color:var(--erp-border);
}

.enterprise-home-shell{
	margin:1rem 0 1.25rem;
	padding:1rem;
	background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
	border:1px solid var(--erp-border);
	border-radius:var(--erp-radius-lg);
	box-shadow:var(--erp-shadow);
	position:relative;
	overflow:hidden;
}

.enterprise-home-shell::before{
	content:"";
	position:absolute;
	inset:0 0 auto 0;
	height:3px;
	background:linear-gradient(90deg,#0f766e,#2563eb,#7c3aed);
}

.enterprise-home-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:1rem;
	margin-bottom:1rem;
}

.enterprise-home-head h5{
	margin:0;
	font-weight:800;
}

.enterprise-home-head small{
	color:var(--erp-muted);
}

.enterprise-kpi-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
	gap:.75rem;
}

.enterprise-kpi-card{
	border:1px solid var(--erp-border);
	border-radius:var(--erp-radius);
	padding:.85rem;
	background:#fbfdff;
	min-height:92px;
	color:inherit;
	text-decoration:none;
	transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.enterprise-kpi-card:hover{
	border-color:#b7ded8;
	box-shadow:var(--erp-shadow);
	transform:translateY(-2px);
}

.enterprise-kpi-card i{
	font-size:1.15rem;
	color:var(--erp-primary);
}

.enterprise-kpi-card strong{
	display:block;
	margin-top:.45rem;
	font-size:.92rem;
}

.enterprise-kpi-card span{
	color:var(--erp-muted);
	font-size:.76rem;
}

.table-responsive{
	border:1px solid var(--erp-border);
	border-radius:var(--erp-radius);
	background:#fff;
	box-shadow:var(--erp-shadow-sm);
	overflow:auto;
}

.table{
	margin-bottom:0;
}

.table thead th{
	background:#f8fafc;
	color:#475569;
	font-size:.76rem;
	text-transform:uppercase;
	letter-spacing:.035em;
	border-bottom:1px solid var(--erp-border);
	white-space:nowrap;
	position:relative;
}

.table tbody td{
	vertical-align:middle;
	border-color:#eef2f7;
}

.table tbody tr:hover td{
	background:#fbfdff;
}

.badge,
.btn{
	letter-spacing:0;
}

/* Bootstrap 5 semantic utilities used by Enterprise modules on the bundled runtime. */
.text-bg-primary{color:#fff !important;background-color:#0d6efd !important}
.text-bg-secondary{color:#fff !important;background-color:#5c636a !important}
.text-bg-success{color:#fff !important;background-color:#157347 !important}
.text-bg-danger{color:#fff !important;background-color:#bb2d3b !important}
.text-bg-warning{color:#212529 !important;background-color:#ffc107 !important}
.text-bg-info{color:#212529 !important;background-color:#0dcaf0 !important}
.text-bg-dark{color:#fff !important;background-color:#212529 !important}
.text-bg-light{color:#212529 !important;background-color:#f8f9fa !important}

.bg-primary-subtle{background-color:#cfe2ff !important}
.bg-secondary-subtle{background-color:#e2e3e5 !important}
.bg-success-subtle{background-color:#d1e7dd !important}
.bg-danger-subtle{background-color:#f8d7da !important}
.bg-warning-subtle{background-color:#fff3cd !important}
.bg-info-subtle{background-color:#cff4fc !important}
.text-primary-emphasis{color:#052c65 !important}
.text-secondary-emphasis{color:#2b2f32 !important}
.text-success-emphasis{color:#0a3622 !important}
.text-danger-emphasis{color:#58151c !important}
.text-warning-emphasis{color:#664d03 !important}
.text-info-emphasis{color:#055160 !important}

.badge.bg-light:not(.text-dark),
.badge.bg-warning:not(.text-dark),
.badge.bg-info:not(.text-dark),
.btn.bg-warning:not(.text-dark),
.btn.bg-info:not(.text-dark){
	color:#212529 !important;
}

.btn{
	border-radius:999px;
	font-weight:600;
	transition:box-shadow var(--erp-transition), background var(--erp-transition), border-color var(--erp-transition), color var(--erp-transition);
}

.btn-outline-secondary{
	color:#565e64;
	border-color:#565e64;
}

.btn-primary,
.backColor{
	box-shadow:0 8px 18px rgba(15,118,110,.16);
}

.enterprise-action-pulse{
	box-shadow:0 0 0 .25rem var(--erp-ring) !important;
}

.btn-sm{
	padding:.28rem .62rem;
}

.card,
.box{
	border-radius:var(--erp-radius);
	border-color:var(--erp-border);
}

.card,
.box{
	box-shadow:var(--erp-shadow-sm);
}

.enterprise-premium-card{
	background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
	border:1px solid var(--erp-border);
	border-radius:var(--erp-radius-lg);
	box-shadow:var(--erp-shadow-sm);
	transition:transform var(--erp-transition), box-shadow var(--erp-transition), border-color var(--erp-transition);
}

.enterprise-premium-card:hover{
	transform:translateY(-2px);
	box-shadow:var(--erp-shadow);
	border-color:#c7dce8;
}

body.enterprise-modal-active #sidebar-wrapper.enterprise-sidebar,
body.enterprise-modal-active .enterprise-navbar{
	transition:none;
}

.badge{
	font-weight:700;
}

.enterprise-health-strip{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
	gap:.65rem;
	margin:.75rem 0 1rem;
}

.enterprise-readiness-strip{
	display:flex;
	flex-wrap:wrap;
	gap:.55rem;
	margin:.5rem 0 1rem;
}

.enterprise-readiness-chip{
	display:inline-flex;
	align-items:center;
	gap:.4rem;
	border:1px solid var(--erp-border);
	background:#fff;
	border-radius:999px;
	padding:.42rem .72rem;
	font-size:.78rem;
	font-weight:700;
	color:#334155;
	box-shadow:0 4px 12px rgba(15,23,42,.04);
}

.enterprise-readiness-chip[data-tone="safe"] i{ color:var(--erp-green); }
.enterprise-readiness-chip[data-tone="warn"] i{ color:var(--erp-amber); }
.enterprise-readiness-chip[data-tone="info"] i{ color:var(--erp-blue); }

.enterprise-health-pill{
	border:1px solid var(--erp-border);
	border-radius:10px;
	background:#fff;
	padding:.65rem .75rem;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:.5rem;
	font-size:.82rem;
}

.enterprise-health-pill i{
	color:#0f766e;
}

.enterprise-empty-state{
	border:1px dashed #cbd5e1;
	background:#f8fafc;
	border-radius:12px;
	padding:1.25rem;
	text-align:center;
	color:var(--erp-muted);
}

.enterprise-loader{
	width:34px;
	height:34px;
	border-radius:50%;
	border:3px solid #dbe7ef;
	border-top-color:#0f766e;
	animation:enterprise-spin .85s linear infinite;
	display:inline-block;
}

.enterprise-skeleton{
	position:relative;
	overflow:hidden;
	background:#edf2f7;
	border-radius:var(--erp-radius-sm);
	min-height:14px;
}

.enterprise-skeleton::after{
	content:"";
	position:absolute;
	inset:0;
	transform:translateX(-100%);
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
	animation:enterprise-shimmer 1.35s infinite;
}

@keyframes enterprise-spin{
	to{ transform:rotate(360deg); }
}

@keyframes enterprise-shimmer{
	100%{ transform:translateX(100%); }
}

.enterprise-section-title{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:.75rem;
	margin:.25rem 0 .85rem;
}

.enterprise-section-title h5,
.enterprise-section-title h6{
	margin:0;
	font-weight:800;
	color:#1f3556;
}

.enterprise-alert-strip{
	border:1px solid #d9e2ec;
	background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
	border-radius:var(--erp-radius);
	padding:.85rem 1rem;
	display:flex;
	align-items:center;
	gap:.7rem;
	box-shadow:var(--erp-shadow-sm);
}

.enterprise-alert-strip i{
	color:#0f766e;
	font-size:1.1rem;
}

.cp-pos-product-panel,
.cp-pos-order-panel{
	min-width:0;
}

.cp-pos-product-panel .viewProducts{
	align-items:stretch;
}

.cp-pos-product-panel .addProductPos{
	display:flex;
}

.cp-pos-product-panel .addProductPos > .card{
	width:100%;
	min-height:176px;
}

.cp-pos-product-panel .card-img-top{
	max-width:190px;
	height:92px;
	object-fit:contain;
}

.cp-pos-order-panel > .card{
	height:100%;
}

@media (min-width:1360px){
	.cp-pos-product-panel.col-lg-6{
		flex:0 0 58.333333%;
		max-width:58.333333%;
	}
	.cp-pos-order-panel.col-lg-6{
		flex:0 0 41.666667%;
		max-width:41.666667%;
	}
	#page-content-wrapper > .container-fluid{
		padding-left:1.75rem !important;
		padding-right:1.75rem !important;
	}
}

@media (min-width:1800px){
	#page-content-wrapper > .container-fluid{
		padding-left:2rem !important;
		padding-right:2rem !important;
	}
	.cp-pos-product-panel .addProductPos > .card{
		min-height:188px;
	}
}

.form-label{
	font-weight:700;
	color:#334155;
	font-size:.82rem;
}

.form-control,
.form-select{
	border-radius:var(--erp-radius-sm);
	border-color:#d9e2ec;
	min-height:38px;
}

.input-group-text{
	border-color:#d9e2ec;
	background:#f8fafc;
	color:#64748b;
}

/* C-ENTERPRISE-15 Demo comercial premium */
.demo-executive-hero{
	display:grid;
	grid-template-columns:minmax(0,1fr) 300px;
	gap:1rem;
	align-items:stretch;
	margin:0 0 1rem;
	padding:1.35rem;
	border-radius:var(--erp-radius-lg);
	background:linear-gradient(135deg,#0f766e 0%,#1f4f8f 54%,#7c3aed 100%);
	color:#fff;
	box-shadow:var(--erp-shadow-lg);
	position:relative;
	overflow:hidden;
}

.demo-executive-hero::after{
	content:"";
	position:absolute;
	width:280px;
	height:280px;
	right:-90px;
	top:-120px;
	border-radius:50%;
	background:rgba(255,255,255,.12);
}

.demo-executive-hero h2{
	font-size:1.65rem;
	font-weight:850;
	margin:.55rem 0 .45rem;
	letter-spacing:0;
}

.demo-executive-hero p{
	max-width:760px;
	margin:0;
	color:rgba(255,255,255,.86);
}

.demo-ribbon{
	display:inline-flex;
	align-items:center;
	gap:.45rem;
	border:1px solid rgba(255,255,255,.28);
	border-radius:999px;
	background:rgba(255,255,255,.12);
	padding:.38rem .7rem;
	font-size:.78rem;
	font-weight:800;
}

.demo-hero-actions{
	display:flex;
	flex-wrap:wrap;
	gap:.55rem;
	margin-top:1rem;
}

.demo-hero-panel{
	background:rgba(255,255,255,.13);
	border:1px solid rgba(255,255,255,.24);
	border-radius:var(--erp-radius);
	padding:1rem;
	backdrop-filter:blur(12px);
	z-index:1;
}

.demo-hero-panel small{
	color:rgba(255,255,255,.78);
	text-transform:uppercase;
	font-weight:800;
}

.demo-hero-panel h5{
	margin:.35rem 0 .75rem;
	font-weight:850;
}

.demo-hero-metric{
	display:flex;
	justify-content:space-between;
	gap:.65rem;
	border-top:1px solid rgba(255,255,255,.18);
	margin-top:.75rem;
	padding-top:.75rem;
}

.demo-kpi-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
	gap:.8rem;
	margin-bottom:1rem;
}

.demo-kpi-card,
.demo-premium-panel,
.demo-scenario-card{
	border:1px solid var(--erp-border);
	border-radius:var(--erp-radius-lg);
	background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
	box-shadow:var(--erp-shadow-sm);
	padding:1rem;
}

.demo-kpi-card{
	min-height:132px;
	position:relative;
	overflow:hidden;
	transition:transform var(--erp-transition), box-shadow var(--erp-transition);
}

.demo-kpi-card:hover,
.demo-scenario-card:hover{
	transform:translateY(-2px);
	box-shadow:var(--erp-shadow);
}

.demo-kpi-card i{
	font-size:1.25rem;
	color:#0f766e;
}

.demo-kpi-card small,
.demo-mini-label{
	display:block;
	color:var(--erp-muted);
	text-transform:uppercase;
	font-size:.72rem;
	font-weight:850;
	margin-top:.45rem;
}

.demo-kpi-card strong{
	display:block;
	font-size:1.35rem;
	margin:.15rem 0;
	color:#1f3556;
}

.demo-kpi-card span,
.demo-scenario-card small,
.demo-why-grid small{
	color:var(--erp-muted);
	font-size:.8rem;
}

.demo-control-bar{
	box-shadow:var(--erp-shadow-sm);
}

.demo-tour{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
	gap:.65rem;
}

.demo-tour-step{
	display:flex;
	gap:.65rem;
	align-items:flex-start;
	border:1px solid #e6edf5;
	border-radius:var(--erp-radius);
	padding:.75rem;
	background:#fff;
}

.demo-step-index{
	width:30px;
	height:30px;
	border-radius:999px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#eef8f6;
	color:#0f766e;
	font-weight:900;
	flex:0 0 auto;
}

.demo-tour-step strong,
.demo-scenario-card h6{
	display:block;
	color:#1f3556;
	font-weight:850;
	margin:0;
}

.demo-tour-step small{
	display:block;
	color:var(--erp-muted);
}

.demo-why-grid,
.demo-export-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:.75rem;
}

.demo-why-grid div,
.demo-export-grid span{
	border:1px solid #e6edf5;
	border-radius:var(--erp-radius);
	padding:.8rem;
	background:#fff;
}

.demo-why-grid i,
.demo-export-grid i{
	color:#0f766e;
	margin-right:.35rem;
}

.demo-why-grid strong{
	display:block;
	margin:.25rem 0;
	color:#1f3556;
}

.demo-sales-flow{
	margin:0;
	padding-left:1.25rem;
}

.demo-sales-flow li{
	margin-bottom:.55rem;
}

.demo-tour-active .demo-tour-step{
	animation:demo-spotlight .5s ease both;
}

.demo-tour-active .demo-tour-step:nth-child(2){animation-delay:.06s}
.demo-tour-active .demo-tour-step:nth-child(3){animation-delay:.12s}
.demo-tour-active .demo-tour-step:nth-child(4){animation-delay:.18s}
.demo-tour-active .demo-tour-step:nth-child(5){animation-delay:.24s}

@keyframes demo-spotlight{
	from{transform:translateY(8px); opacity:.55}
	to{transform:translateY(0); opacity:1}
}

.demo-presentation-mode #sidebar-wrapper,
.demo-presentation-mode .enterprise-navbar{
	opacity:.12;
	transition:opacity var(--erp-transition);
}

.demo-presentation-mode #sidebar-wrapper:hover,
.demo-presentation-mode .enterprise-navbar:hover{
	opacity:1;
}

@media (max-width:992px){
	.demo-executive-hero{
		grid-template-columns:1fr;
	}
	.demo-why-grid,
	.demo-export-grid{
		grid-template-columns:1fr;
	}
}

.enterprise-table-responsive::before{
	content:"";
	display:block;
	height:0;
}

@media (max-width:1199px){
	.enterprise-kpi-grid{
		grid-template-columns:repeat(2,minmax(140px,1fr));
	}
}

@media (max-width:768px){
	body{
		font-size:13px;
	}
	#sidebar-wrapper.enterprise-sidebar{
		width:var(--erp-sidebar-width);
		min-width:var(--erp-sidebar-width);
		position:fixed;
		top:0;
		bottom:0;
		z-index:1040;
		transform:translateX(-100%);
	}
	body:not(.sb-sidenav-toggled) #sidebar-wrapper.enterprise-sidebar{
		transform:translateX(0);
	}
	.enterprise-navbar{
		align-items:flex-start;
		padding:.55rem .75rem;
	}
	.enterprise-nav-actions{
		width:100%;
		justify-content:flex-end;
		flex-wrap:wrap;
	}
	.enterprise-breadcrumb small{
		display:none;
	}
	.enterprise-breadcrumb strong{
		max-width:62vw;
	}
	.enterprise-kpi-grid{
		grid-template-columns:1fr;
	}
	.table-responsive{
		border-radius:10px;
	}
	.table thead th,
	.table tbody td{
		white-space:nowrap;
	}
}

body.sb-sidenav-toggled #sidebar-wrapper.enterprise-sidebar .menu-text,
body.sb-sidenav-toggled #sidebar-wrapper.enterprise-sidebar .enterprise-domain-count,
body.sb-sidenav-toggled #sidebar-wrapper.enterprise-sidebar .enterprise-menu-search,
body.sb-sidenav-toggled #sidebar-wrapper.enterprise-sidebar .enterprise-sidebar-meta{
	display:none !important;
}

body.sb-sidenav-toggled #sidebar-wrapper.enterprise-sidebar{
	width:var(--erp-sidebar-collapsed);
	min-width:var(--erp-sidebar-collapsed);
}

body.sb-sidenav-toggled .enterprise-domain-toggle,
body.sb-sidenav-toggled .enterprise-menu-item a{
	justify-content:center;
}

/* Q3-FIX-5 - Bootstrap modal protection layer
   Bootstrap owns modal layout/stacking. Enterprise visual effects must not
   introduce transforms, filters, animations, or hover reflow inside modals. */
.modal,
.modal-dialog,
.modal-content,
.modal-backdrop{
	transform:none !important;
	animation:none !important;
	filter:none !important;
	backdrop-filter:none !important;
	will-change:auto !important;
	contain:none !important;
}

.modal *,
.modal *::before,
.modal *::after{
	transform:none !important;
	animation:none !important;
	filter:none !important;
	backdrop-filter:none !important;
	will-change:auto !important;
	contain:none !important;
}

.modal .modal-dialog,
.modal.fade .modal-dialog,
.modal.show .modal-dialog,
.modal .modal-content,
.modal .modal-body,
.modal .modal-footer,
.modal .modal-header{
	transition:none !important;
	transform:none !important;
	animation:none !important;
}

.modal .card:hover,
.modal .box:hover,
.modal .btn:hover,
.modal .btn:active,
.modal .table tr:hover,
.modal .table tbody tr:hover,
.modal .table tbody tr:hover td,
.modal [class*="enterprise"]:hover,
.modal [class*="premium"]:hover{
	transform:none !important;
	animation:none !important;
	filter:none !important;
	backdrop-filter:none !important;
	box-shadow:none !important;
}

.modal .btn,
.modal .btn:hover,
.modal .btn:active,
.modal .table,
.modal .table-responsive,
.modal .card,
.modal .box,
.modal [class*="enterprise"],
.modal [class*="premium"]{
	transition-property:background-color,color,border-color,box-shadow !important;
}

/* POS modal fields - keep labels above values in operational modals. */
#modalOpenShift .form-floating,
#methodCash .form-floating,
#methodTransfer .form-floating,
#methodCard .form-floating,
#methodArFull .form-floating,
#methodMixed .form-floating{
	position:relative;
}

#modalOpenShift .form-floating > .form-control,
#methodCash .form-floating > .form-control,
#methodTransfer .form-floating > .form-control,
#methodCard .form-floating > .form-control,
#methodArFull .form-floating > .form-control,
#methodMixed .form-floating > .form-control,
#methodCard .form-floating > .form-select,
#methodArFull .form-floating > .form-select,
#methodMixed .form-floating > .form-select{
	min-height:58px;
	padding:1.55rem .85rem .45rem !important;
	font-size:1.05rem;
	line-height:1.15;
}

#modalOpenShift .form-floating > .form-control-lg,
#methodCash .form-floating > .form-control-lg,
#methodTransfer .form-floating > .form-control-lg,
#methodCard .form-floating > .form-control-lg,
#methodArFull .form-floating > .form-control-lg,
#methodMixed .form-floating > .form-control-lg,
#methodCard .form-floating > .form-select-lg,
#methodArFull .form-floating > .form-select-lg,
#methodMixed .form-floating > .form-select-lg{
	min-height:58px;
	font-size:1.05rem;
}

#modalOpenShift .form-floating > label,
#methodCash .form-floating > label,
#methodTransfer .form-floating > label,
#methodCard .form-floating > label,
#methodArFull .form-floating > label,
#methodMixed .form-floating > label{
	height:auto;
	max-width:calc(100% - 1rem);
	padding:.45rem .85rem 0;
	color:#667085;
	font-size:.78rem;
	font-weight:600;
	line-height:1.1;
	opacity:1;
	overflow:hidden;
	pointer-events:none;
	text-overflow:ellipsis;
	transform:none !important;
	white-space:nowrap;
}

#modalOpenShift .form-floating > .form-control:focus ~ label,
#modalOpenShift .form-floating > .form-control:not(:placeholder-shown) ~ label,
#methodCash .form-floating > .form-control:focus ~ label,
#methodCash .form-floating > .form-control:not(:placeholder-shown) ~ label,
#methodCash .form-floating > .form-control[readonly] ~ label,
#methodTransfer .form-floating > .form-control:focus ~ label,
#methodTransfer .form-floating > .form-control:not(:placeholder-shown) ~ label,
#methodTransfer .form-floating > .form-control[readonly] ~ label,
#methodCard .form-floating > .form-control:focus ~ label,
#methodCard .form-floating > .form-control:not(:placeholder-shown) ~ label,
#methodCard .form-floating > .form-control[readonly] ~ label,
#methodCard .form-floating > .form-select ~ label,
#methodArFull .form-floating > .form-control:focus ~ label,
#methodArFull .form-floating > .form-control:not(:placeholder-shown) ~ label,
#methodArFull .form-floating > .form-control[readonly] ~ label,
#methodArFull .form-floating > .form-select ~ label,
#methodMixed .form-floating > .form-control:focus ~ label,
#methodMixed .form-floating > .form-control:not(:placeholder-shown) ~ label,
#methodMixed .form-floating > .form-control[readonly] ~ label,
#methodMixed .form-floating > .form-select ~ label{
	color:#667085;
	opacity:1;
	transform:none !important;
}

#methodCash .form-floating > .form-control[readonly],
#methodCash .form-floating > .form-control:disabled,
#methodTransfer .form-floating > .form-control[readonly],
#methodTransfer .form-floating > .form-control:disabled,
#methodCard .form-floating > .form-control[readonly],
#methodCard .form-floating > .form-control:disabled,
#methodArFull .form-floating > .form-control[readonly],
#methodArFull .form-floating > .form-control:disabled,
#methodMixed .form-floating > .form-control[readonly],
#methodMixed .form-floating > .form-control:disabled{
	background:#f1f5f9;
	color:#1f2937;
}

#modalOpenShift .form-floating > .form-control:focus,
#methodCash .form-floating > .form-control:focus,
#methodTransfer .form-floating > .form-control:focus,
#methodCard .form-floating > .form-control:focus,
#methodCard .form-floating > .form-select:focus,
#methodArFull .form-floating > .form-control:focus,
#methodArFull .form-floating > .form-select:focus,
#methodMixed .form-floating > .form-control:focus,
#methodMixed .form-floating > .form-select:focus{
	border-color:#8cc9c2;
	box-shadow:0 0 0 .18rem var(--erp-ring);
}

/* POS payment modal: one predictable field system for fiscal and payment data. */
#modalPayMethod .modal-dialog{
	max-height:calc(100dvh - 2rem);
}

#modalPayMethod .modal-content{
	max-height:calc(100dvh - 2rem);
	overflow:hidden;
}

#modalPayMethod #formPayMethod{
	display:flex;
	flex-direction:column;
	min-height:0;
	max-height:calc(100dvh - 2rem);
}

#modalPayMethod .modal-body{
	overflow-y:auto;
	overscroll-behavior:contain;
	padding-bottom:1rem;
}

#modalPayMethod .form-floating{
	position:relative;
	height:auto !important;
	min-height:0;
	padding-top:1.35rem;
}

#modalPayMethod .form-floating > label{
	position:absolute;
	top:0;
	right:auto;
	bottom:auto;
	left:0;
	z-index:2;
	width:100%;
	height:1.05rem;
	max-width:100%;
	padding:0 .1rem;
	color:#5f6b7a;
	font-size:.78rem;
	font-weight:600;
	line-height:1.05rem;
	opacity:1 !important;
	overflow:hidden;
	pointer-events:none;
	text-overflow:ellipsis;
	transform:none !important;
	transform-origin:0 0 !important;
	white-space:nowrap;
}

#modalPayMethod .form-floating > .form-control,
#modalPayMethod .form-floating > .form-select,
#modalPayMethod .form-floating > .form-control-lg,
#modalPayMethod .form-floating > .form-select-lg{
	height:50px !important;
	min-height:50px !important;
	padding:.7rem .85rem !important;
	font-size:1rem;
	line-height:1.25;
}

#modalPayMethod .form-floating > textarea.form-control{
	height:100px !important;
	min-height:100px !important;
	padding:.75rem .85rem !important;
}

#modalPayMethod .form-floating > .form-control:focus ~ label,
#modalPayMethod .form-floating > .form-control:not(:placeholder-shown) ~ label,
#modalPayMethod .form-floating > .form-control[readonly] ~ label,
#modalPayMethod .form-floating > .form-control:disabled ~ label,
#modalPayMethod .form-floating > .form-select ~ label{
	color:#445064;
	opacity:1 !important;
	transform:none !important;
}

#modalPayMethod .form-floating > .form-control[readonly],
#modalPayMethod .form-floating > .form-control:disabled,
#modalPayMethod .form-floating > .form-select:disabled{
	background-color:#f1f5f9;
	color:#1f2937;
	opacity:1;
}

@media (max-width:575.98px){
	#modalPayMethod .modal-dialog{
		margin:.5rem;
		max-height:calc(100dvh - 1rem);
	}

	#modalPayMethod .modal-content,
	#modalPayMethod #formPayMethod{
		max-height:calc(100dvh - 1rem);
	}
}

/* Proveedores Enterprise - keep action footer visible on 1366x768 screens. */
.cp-supplier-modal .modal-dialog{
	margin-top:1.25rem;
	margin-bottom:1.25rem;
	max-height:calc(100dvh - 2.5rem);
}

.cp-supplier-modal .modal-content{
	max-height:calc(100dvh - 2.5rem);
	overflow:hidden;
}

.cp-supplier-modal .modal-body{
	overflow-y:auto;
	padding-bottom:1.25rem;
}

.cp-supplier-modal .modal-footer{
	flex-shrink:0;
	gap:.5rem;
	padding:1rem 1.25rem 1.25rem;
	background:#fff;
}

@media (max-width: 575.98px){
	.cp-supplier-modal .modal-dialog{
		margin:.75rem;
		max-height:calc(100dvh - 1.5rem);
	}

	.cp-supplier-modal .modal-content{
		max-height:calc(100dvh - 1.5rem);
	}
}

/* POS: keep product amounts and column headers inside the order panel. */
.cp-pos-order-panel .cp-pos-sale-list{
	max-width:100%;
	overflow:hidden;
}

.cp-pos-order-panel .cp-pos-sale-table{
	width:100%;
	max-width:100%;
	table-layout:fixed;
	margin-bottom:0;
}

.cp-pos-order-panel .cp-pos-sale-table .cp-pos-col-product{ width:43%; }
.cp-pos-order-panel .cp-pos-sale-table .cp-pos-col-quantity{ width:27%; }
.cp-pos-order-panel .cp-pos-sale-table .cp-pos-col-subtotal{ width:16%; }
.cp-pos-order-panel .cp-pos-sale-table .cp-pos-col-actions{ width:14%; }

.cp-pos-order-panel .cp-pos-sale-table th,
.cp-pos-order-panel .cp-pos-sale-table td{
	box-sizing:border-box;
	vertical-align:middle;
	padding:.65rem .4rem;
	overflow:hidden;
}

.cp-pos-order-panel .cp-pos-sale-table th{
	font-size:.78rem;
	line-height:1.2;
	white-space:normal;
}

.cp-pos-order-panel .cp-pos-product-summary{
	display:flex;
	align-items:flex-start;
	gap:.55rem;
	min-width:0;
	white-space:normal !important;
}

.cp-pos-order-panel .cp-pos-product-image{
	flex:0 0 60px;
	width:60px !important;
	height:60px !important;
	object-fit:cover;
}

.cp-pos-order-panel .cp-pos-product-info{
	flex:1 1 auto;
	min-width:0;
	white-space:normal !important;
}

.cp-pos-order-panel .cp-pos-product-info .badge{
	max-width:100%;
	white-space:normal;
	overflow-wrap:anywhere;
	word-break:break-word;
}

.cp-pos-order-panel .cp-pos-product-info h6,
.cp-pos-order-panel .cp-pos-product-info strong{
	max-width:100%;
	white-space:normal !important;
	overflow-wrap:anywhere;
	word-break:break-word;
}

.cp-pos-order-panel .cp-pos-product-info small{
	white-space:normal !important;
}

.cp-pos-order-panel .cp-pos-quantity-control{
	width:min(100%, 150px) !important;
	margin:.25rem auto !important;
	flex-wrap:nowrap;
}

.cp-pos-order-panel .cp-pos-quantity-control .input-group-text{
	padding:.5rem .65rem;
}

.cp-pos-order-panel .cp-pos-quantity-control .form-control{
	min-width:36px;
	padding:.5rem .2rem;
}

.cp-pos-order-panel .cp-pos-subtotal-cell,
.cp-pos-order-panel .cp-pos-sale-table th:nth-child(3){
	text-align:right !important;
}

.cp-pos-order-panel .cp-pos-subtotal-cell .pricePurchase,
.cp-pos-order-panel .cp-pos-sale-table td:nth-child(3) .pricePurchase{
	max-width:100%;
	margin:0 !important;
	padding-right:.15rem;
	text-align:right !important;
	white-space:nowrap;
	font-size:.95rem;
}

.cp-pos-order-panel .cp-pos-actions-cell .deleteSale,
.cp-pos-order-panel .cp-pos-sale-table td:nth-child(4) .deleteSale{
	margin:.1rem 0 !important;
	padding:.5rem .65rem !important;
}

@media (max-width: 575.98px){
	.cp-pos-order-panel .cp-pos-sale-table .cp-pos-col-product{ width:42%; }
	.cp-pos-order-panel .cp-pos-sale-table .cp-pos-col-quantity{ width:27%; }
	.cp-pos-order-panel .cp-pos-sale-table .cp-pos-col-subtotal{ width:17%; }
	.cp-pos-order-panel .cp-pos-sale-table .cp-pos-col-actions{ width:14%; }

	.cp-pos-order-panel .cp-pos-sale-table th,
	.cp-pos-order-panel .cp-pos-sale-table td{
		padding:.5rem .25rem;
	}

	.cp-pos-order-panel .cp-pos-sale-table th{
		font-size:.6rem;
		letter-spacing:-.02em;
	}

	.cp-pos-order-panel .cp-pos-product-image{
		flex-basis:46px;
		width:46px !important;
		height:46px !important;
	}

	.cp-pos-order-panel .cp-pos-product-summary{
		gap:.35rem;
	}

	.cp-pos-order-panel .cp-pos-quantity-control .input-group-text{
		padding:.42rem .35rem;
	}

	.cp-pos-order-panel .cp-pos-quantity-control .form-control{
		min-width:28px;
	}

	.cp-pos-order-panel .cp-pos-subtotal-cell .pricePurchase,
	.cp-pos-order-panel .cp-pos-sale-table td:nth-child(3) .pricePurchase{
		font-size:.82rem;
	}
}

/* POS payment methods - polished action grid without touching payment logic. */
#payMethods h6{
	margin-bottom:.55rem;
	font-weight:700;
	color:#334155;
}

.cp-payment-method-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:.75rem;
}

.cp-payment-method-grid-secondary{
	grid-template-columns:repeat(2, minmax(0, 1fr));
	margin-top:.75rem;
}

.cp-payment-card{
	position:relative;
	width:100%;
	min-height:76px;
	border:1px solid rgba(15, 23, 42, .08) !important;
	border-radius:10px !important;
	overflow:hidden;
	background:#fff !important;
	box-shadow:0 10px 28px rgba(15, 23, 42, .06);
	transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.cp-payment-card::before{
	content:"";
	position:absolute;
	inset:0;
	opacity:.11;
	background:linear-gradient(135deg, var(--cp-pay-accent), transparent 62%);
	pointer-events:none;
}

.cp-payment-card::after{
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:3px;
	background:linear-gradient(90deg, var(--cp-pay-accent), var(--cp-pay-soft));
}

.cp-payment-card:hover,
.cp-payment-card:focus{
	transform:translateY(-2px);
	border-color:color-mix(in srgb, var(--cp-pay-accent) 42%, #d7dee8) !important;
	box-shadow:0 14px 34px rgba(15, 23, 42, .11);
}

.cp-payment-card .card-body{
	position:relative;
	z-index:1;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:.2rem;
	padding:.9rem .7rem;
	color:#1f2937;
}

.cp-payment-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:32px;
	height:32px;
	border-radius:999px;
	color:#fff;
	background:linear-gradient(135deg, var(--cp-pay-accent), var(--cp-pay-soft));
	box-shadow:0 8px 18px color-mix(in srgb, var(--cp-pay-accent) 28%, transparent);
}

.cp-payment-icon i{
	font-size:1rem;
	line-height:1;
}

.cp-payment-title{
	display:block;
	font-size:.92rem;
	font-weight:700;
	line-height:1.15;
}

.cp-payment-note{
	display:block;
	font-size:.72rem;
	line-height:1.15;
	color:#64748b;
	white-space:normal;
}

.cp-payment-card-cash{
	--cp-pay-accent:#0f9f7a;
	--cp-pay-soft:#21c7a8;
}

.cp-payment-card-transfer{
	--cp-pay-accent:#0e73d8;
	--cp-pay-soft:#22b8cf;
}

.cp-payment-card-card{
	--cp-pay-accent:#6d5dfc;
	--cp-pay-soft:#11a5c7;
}

.cp-payment-card-credit{
	--cp-pay-accent:#f59e0b;
	--cp-pay-soft:#f97316;
}

.cp-payment-card-mixed{
	--cp-pay-accent:#7c3aed;
	--cp-pay-soft:#ec4899;
}

@media (max-width: 1199.98px){
	.cp-payment-note{
		display:none;
	}
}

@media (max-width: 575.98px){
	.cp-payment-method-grid,
	.cp-payment-method-grid-secondary{
		grid-template-columns:1fr;
	}

	.cp-payment-card{
		min-height:68px;
	}

	.cp-payment-card .card-body{
		flex-direction:row;
		justify-content:flex-start;
		gap:.65rem;
		padding:.75rem .9rem;
	}

	.cp-payment-note{
		display:block;
		margin-left:auto;
		text-align:right;
	}
}
