@CHARSET "UTF-8";
/*12122013 Aplica Estilos POS*/
h3{
	color:white;
}

@font-face {
	font-family: 'Myriad Pro Regular';
	font-style: normal;
	font-weight: bold;
	src: local('Myriad Pro Regular'), url('myriad-pro/MYRIADPRO-REGULAR.woff') format('woff');
}

@font-face {
	font-family: 'Myriad Pro Condensed';
	font-style: normal;
	font-weight: normal;
	src: local('Myriad Pro Condensed'), url('myriad-pro/MYRIADPRO-COND.woff') format('woff');
}

.checkReiser {
	border-radius: 10px 10px 10px 10px !important;

	-moz-border-radius: 10px 10px 10px 10px !important;

	-webkit-border-radius: 10px 10px 10px 10px !important;

	border: 0px solid #000000 !important;
	
	background-color: #626262 !important;
}

.panelReiser {
	font-size:13px; 
	color: var(--text-secondary);
}
.row-green {
	background-color: #5fca74;
	color : black;
}

.row-red {
	background-color: #ff5845;
	color : white;
}

.row-orange {
	background-color: #ffaa00;
	color : white;
}

.row-cream {
	background-color: var(--table-row-even);
	color: var(--text-secondary);
}

.row-blue {
	background-color: #1c3fed;
	color : white;	
}

.reiserInputText,.reiserPassText {
	background-color: black;
	color: white;
}

.reiserOutputText {
	color: white;
}

.reiserButton {
	background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #7faf2b), color-stop(1, #749639) );
	background:-moz-linear-gradient( center top, #7faf2b 5%, #749639 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#7faf2b', endColorstr='#749639');
	background-color:#7faf2b;
	-webkit-border-top-left-radius:11px;
	-moz-border-radius-topleft:11px;
	border-top-left-radius:11px;
	-webkit-border-top-right-radius:0px;
	-moz-border-radius-topright:0px;
	border-top-right-radius:0px;
	-webkit-border-bottom-right-radius:11px;
	-moz-border-radius-bottomright:11px;
	border-bottom-right-radius:11px;
	-webkit-border-bottom-left-radius:11px;
	-moz-border-radius-bottomleft:11px;
	border-bottom-left-radius:11px;
	text-indent:9px;
	border:1px solid #26330f;
	display:inline-block;
	color:#000000;
	font-family:Verdana;
	font-size:13px;
	font-weight:normal;
	font-style:normal;
	height:22px;
	line-height:22px;
	width:100px;
	text-decoration:none;
	text-align:center;
	text-shadow:1px 1px 4px #aade7c;
}
.reiserButton:hover {
	background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #749639), color-stop(1, #7faf2b) );
	background:-moz-linear-gradient( center top, #749639 5%, #7faf2b 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#749639', endColorstr='#7faf2b');
	background-color:#749639;
}
.reiserButton:active {
	position:relative;
	top:1px;
}

/* WCAG AA compliant disabled state (3.5:1 ratio) - improve-disabled-button-contrast */
.reiserButton:disabled,
button.ui-button:disabled,
.ui-button:disabled {
	background: #f0f0f0 !important;
	background-image: none !important;
	color: #888888 !important;
	border-color: #d0d0d0 !important;
	opacity: 0.65;
	cursor: not-allowed !important;
}

.reiserSelectOneMenu {
	background-color: black;
	color: white;
}

/*Validaciones*/
.info,.success,.warning,.error,.validation {
	border: 1px solid;
	margin: 10px 0px;
	padding: 15px 10px 15px 50px;
	background-repeat: no-repeat;
	background-position: 10px center;
}

.info {
	color: var(--msg-info-text);
	background-color: var(--msg-info-bg);
	background-image: url('../images/Info.png');
}

.success {
	color: var(--msg-success-text);
	background-color: var(--msg-success-bg);
	background-image: url('../images/Valid.png');
}

.warning {
	color: var(--msg-warning-text);
	background-color: var(--msg-warning-bg);
	background-image: url('../images/Attention.png');
}

.error {
	color: var(--msg-error-text);
	background-color: var(--msg-error-bg);
	background-image: url('../images/error.png');
}

.iceMsg {
	
}

.iceMsgFatal {
	
}

.iceMsgError {
	font-size: 11px;
	color: var(--msg-error-text);
	width: 300px;
}

.errorMessage {
	
}

.iceMsgWarn {
	
}

.iceMsgInfo {
	
}

.iceOutLnk {
	color: white;
	text-decoration: none;
}

/* ========================================= */
/* Light Theme: h:commandLink styles        */
/* ========================================= */

/* JSF h:commandLink renders as <a> tag */
/* Target links that are JSF command links */
a[id*=":"] {
	color: var(--link-color);
	text-decoration: none;
	cursor: pointer;
	transition: color 0.2s ease, text-decoration 0.2s ease;
	padding: 1.1px 1.1px;
	display: inline-block;
	line-height: 1.4;
}

a[id*=":"]:hover {
	color: var(--link-hover);
	text-decoration: underline;
}

a[id*=":"]:focus {
	outline: 2px solid var(--link-color);
	outline-offset: 2px;
}

a [id*=":"]:visited {
	color: var(--link-color);
}

a[id*=":"]:active {
	color: var(--link-hover);
}

.leftAlign{
	text-align: left;
}

.centerAlign{
	text-align: center;
}

.rightAlign{
	text-align: right;
}

#inputForm {
	font-size: 12px;
}

.workspace{
	height: 100%;
	width: 100%;
	position: absolute;
}

.workClientSpace{
	position: absolute;
	bottom: 200px;
	width: 83%;
	left:0px;
	z-index:150;
	color: var(--text-secondary) !important;
}

.workSpaceLeft{
	display:inline-block;
	position:fixed;
    left:23%;
	height:100%;
	width:71%;
	top:80px;
}
.workSpaceTopLeft{
   position:absolute;
    padding: 0;
    margin: 0;
    left:0px;
    width:83%;
    top:40px;
    z-index: 100;
}
.workSpaceBotLeft{
	position:fixed;
    padding: 0;
    margin: 0;
    left:35%;
    bottom: 50px;
    z-index: 101;
}

.workSpaceRight{
	position:fixed;
	right: 0px;
	padding: 0;
	magin: 0;
	border-left:1px solid var(--border-primary);
	background-color: var(--bg-menus);
	min-height:100%;
	width:17%;
}


.titleH3{
  position:absolute;
  top:-40px;
  left:40%;
  z-index:200;
  color: var(--text-secondary);
}


.lblBot{
	color: var(--text-secondary);
	font-size:14pt;
}

.btnSearch{
	background: url('../images/search32.png') no-repeat;
	width:40px;
	height:35px;	
	border:0px;
	cursor:pointer;
}

button.ui-button {
	/* padding: 1px 5px; */
	padding: 5px 10px;
	color: #ffffff !important;	
}

input.ui-inputfield {
	background: var(--input-bg) !important;
	color: var(--input-text) !important;
}

.ui-panel {
    padding: 0px !important;
}

.ui-dialog {
	padding: 0px !important;
	background-color: var(--popup-bg) !important;
	color: var(--text-primary) !important;
	border: 1px solid var(--popup-border) !important;
}

/* IceFaces ACE dialog styling */
.ui-dialog .ui-dialog-titlebar {
	background-color: var(--popup-header-bg) !important;
	color: var(--popup-header-text) !important;
	border-bottom: 1px solid var(--popup-border) !important;
}

.ui-dialog .ui-dialog-content {
	background-color: var(--popup-bg) !important;
	color: var(--text-primary) !important;
}

/* Dialog overlay/modal backdrop */
.ui-widget-overlay {
	background: var(--popup-overlay) !important;
}

/* ========================================= */
/* Dialog Close Button - Hide in All Themes */
/* ========================================= */

/* Hide dialog close button - applies to all themes.
 * All ace:dialog components have closable="false" attribute set to enforce
 * controlled closure through designated action buttons only.
 * Using !important to override ICEfaces/jQuery UI default styles.
 */
.ui-dialog .ui-dialog-titlebar-close,
.ui-dialog .ui-dialog-titlebar-icon.ui-icon-closethick,
.ace-dialog .ui-dialog-titlebar-close {
	display: none !important;
	visibility: hidden !important;
}

/* Popup body styling */
.popupBody {
	background-color: var(--popup-bg) !important;
	color: var(--text-primary) !important;
}

.panel-table {
	overflow-y: scroll;
	height: 490px;
	text-align: center;
}

.panel-category {
	overflow-y: scroll;
	height: 160px;
	text-align-last:center;
	padding:0;
}

.panel-product {
	overflow-y: scroll;
	height: 470px;
	text-align-last: center;
	padding:0;
}

.reiser-table {
	display: inline-block;
}

.riosoft-table {
	display: inline-block;
}

.riosoft-dialog {
	
}

.topAligned {
    vertical-align: top;
}

.repeat-product {
	width:20px;
}

/* ========================================= */
/* Dark Theme: ICEfaces Widget Components   */
/* ========================================= */

/* Base widget container */
body.dark-theme .ui-widget {
	background: var(--widget-bg) !important;
	border: 1px solid var(--widget-border) !important;
	color: var(--text-primary) !important;
}

/* Widget content area - slightly darker than parent */
body.dark-theme .ui-widget-content {
	background: var(--widget-content-bg) !important;
	border: none;
	color: var(--text-primary) !important;
}

/* Widget headers - with focus state distinction */
body.dark-theme .ui-widget-header {
	background: var(--widget-header-bg-unfocused) !important;
	border: 1px solid var(--widget-border) !important;
	color: var(--widget-header-text) !important;
}

body.dark-theme .ui-widget-header:focus,
body.dark-theme .ui-widget-header.ui-state-focus {
	background: var(--widget-header-bg-focused) !important;
}

/* Panel components */
body.dark-theme .ui-panel {
	background-image: var(--widget-content-bg) !important;
	color: var(--text-primary) !important;
}

body.dark-theme .ui-panel .ui-panel-titlebar {
	background: var(--widget-header-bg-unfocused) !important;
	color: var(--widget-header-text) !important;
	border: 1px solid var(--widget-border) !important;
}

/* ========================================= */
/* Dark Theme: Button Components            */
/* ========================================= */

/* ICEfaces/PrimeFaces buttons - Dark Theme with Blue Palette (No Gradients)
   Change: refine-datatable-pagination-themes
   Source: docs/enhancements/requests/20260107-enrich-ui-css-styling-icefaces.md */
body.dark-theme button.ui-button:not(.link-style-button),
body.dark-theme .ui-button:not(.link-style-button) {
	background: var(--button-bg-dark) !important;
	background-image: none !important;
	border: 1px solid var(--button-border-dark) !important;
	color: var(--button-text-dark) !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

body.dark-theme button.ui-button:not(.link-style-button):hover,
body.dark-theme .ui-button:not(.link-style-button):hover {
	background: var(--button-bg-hover-dark) !important;
	background-image: none !important;
	box-shadow: none !important;
}

body.dark-theme button.ui-button:active,
body.dark-theme .ui-button:active {
	background: #004C99 !important;
	background-image: none !important;
}

/* WCAG AA compliant disabled state (4.2:1 ratio) - improve-disabled-button-contrast */
body.dark-theme button.ui-button:disabled,
body.dark-theme .ui-button:disabled {
	background: #3a3a3a !important;
	background-image: none !important;
	color: #a0a0a0 !important;
	border-color: #606060 !important;
	opacity: 0.65;
	cursor: not-allowed !important;
}

/* Reiser button class in dark theme - exclude link-style-button */
body.dark-theme .reiserButton:not(.link-style-button) {
	background: var(--button-bg-dark) !important;
	background-image: none !important;
	border-color: var(--button-border-dark) !important;
	color: var(--button-text-dark) !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

body.dark-theme .reiserButton:not(.link-style-button):hover {
	background: var(--button-bg-hover-dark) !important;
	background-image: none !important;
	box-shadow: none !important;
}

/* WCAG AA compliant disabled state for reiserButton - improve-disabled-button-contrast */
body.dark-theme .reiserButton:disabled {
	background: #3a3a3a !important;
	background-image: none !important;
	color: #a0a0a0 !important;
	border-color: #606060 !important;
	opacity: 0.65;
	cursor: not-allowed !important;
}

/* ========================================= */
/* Dark Theme: Headings and Text Highlights */
/* ========================================= */

/* Heading elements - applies to both themes via CSS variables */
h1, h2, h3, h4, h5, h6 {
	color: var(--heading-color) !important;
}

/* Text selection highlight */
body.dark-theme ::selection {
	background: var(--highlight-bg) !important;
	color: var(--highlight-text) !important;
}

body.dark-theme ::-moz-selection {
	background: var(--highlight-bg) !important;
	color: var(--highlight-text) !important;
}

/* ========================================= */
/* Dark Theme: ACE DataTable                */
/* ========================================= */

body.dark-theme .ui-datatable {
	background: var(--datatable-bg) !important;
	color: var(--text-primary) !important;
	border: 1px solid var(--datatable-border) !important;
}

body.dark-theme .ui-datatable .ui-datatable-header {
	background: var(--datatable-header-bg) !important;
	color: var(--widget-header-text) !important;
	border-bottom: 1px solid var(--datatable-border) !important;
}

body.dark-theme .ui-datatable .ui-datatable-footer {
	background: var(--datatable-header-bg) !important;
	color: var(--widget-header-text) !important;
	border-top: 1px solid var(--datatable-border) !important;
}

body.dark-theme .ui-datatable thead th {
	background: var(--datatable-header-bg) !important;
	color: var(--widget-header-text) !important;
	border: 1px solid var(--datatable-border) !important;
}

body.dark-theme .ui-datatable tbody tr:nth-child(even) {
	/* background: var(--datatable-row-even) !important; */
}

body.dark-theme .ui-datatable tbody tr:nth-child(odd) {
	/* background: var(--datatable-row-odd) !important; */
}

body.dark-theme .ui-datatable tbody tr:hover {
	background: var(--datatable-row-hover) !important;
}

body.dark-theme .ui-datatable tbody tr.ui-state-highlight {
	background: var(--datatable-row-selected) !important;
	color: var(--highlight-text) !important;
}

body.dark-theme .ui-datatable tbody td {
	border: 1px solid var(--datatable-border) !important;
	color: var(--text-primary) !important;
}

body.dark-theme .ui-datatable .ui-sortable-column-icon {
	color: var(--text-secondary) !important;
}

body.dark-theme .ui-datatable .ui-sortable-column:hover {
	background: var(--datatable-row-hover) !important;
}

/* ========================================= */
/* Dark Theme: ACE TabSet                   */
/* ========================================= */

body.dark-theme .ui-tabs {
	background: transparent !important;
	border: none !important;
}

body.dark-theme .ui-tabs .ui-tabs-nav {
	background: var(--bg-secondary) !important;
	border-bottom: 1px solid var(--tab-border) !important;
}

body.dark-theme .ui-tabs .ui-tabs-nav li {
	background: var(--tab-bg) !important;
	border: 1px solid var(--tab-border) !important;
	border-bottom: none !important;
	color: var(--text-secondary) !important;
}

body.dark-theme .ui-tabs .ui-tabs-nav li a {
	color: var(--text-secondary) !important;
}

body.dark-theme .ui-tabs .ui-tabs-nav li:hover {
	background: var(--tab-hover-bg) !important;
}

body.dark-theme .ui-tabs .ui-tabs-nav li.ui-state-active {
	background: var(--tab-active-bg) !important;
	color: var(--text-primary) !important;
}

body.dark-theme .ui-tabs .ui-tabs-nav li.ui-state-active a {
	color: var(--text-primary) !important;
}

body.dark-theme .ui-tabs .ui-tabs-panel {
	background: var(--tab-content-bg) !important;
	color: var(--text-primary) !important;
	border: 1px solid var(--tab-border) !important;
}

/* ========================================= */
/* Dark Theme: ACE SelectMenu / ComboBox    */
/* ========================================= */

body.dark-theme .ui-selectonemenu,
body.dark-theme .ui-selectmenu,
body.dark-theme .ui-combobox {
	background: var(--dropdown-bg) !important;
	border: 1px solid var(--dropdown-border) !important;
	color: var(--input-text) !important;
}

body.dark-theme .ui-selectonemenu:hover,
body.dark-theme .ui-selectmenu:hover,
body.dark-theme .ui-combobox:hover {
	border-color: var(--input-focus-border) !important;
}

body.dark-theme .ui-selectonemenu-trigger,
body.dark-theme .ui-selectmenu-trigger,
body.dark-theme .ui-combobox-trigger {
	background: var(--dropdown-bg) !important;
	border-left: 1px solid var(--dropdown-border) !important;
	color: var(--text-primary) !important;
}

body.dark-theme .ui-selectonemenu-panel,
body.dark-theme .ui-selectmenu-panel,
body.dark-theme .ui-selectmenu-list,
body.dark-theme .ui-combobox-panel,
body.dark-theme .ui-combobox-list {
	background: var(--dropdown-panel-bg) !important;
	border: 1px solid var(--dropdown-border) !important;
}

body.dark-theme .ui-selectonemenu-item,
body.dark-theme .ui-selectmenu-item,
body.dark-theme .ui-combobox-item {
	color: var(--text-primary) !important;
	background: transparent !important;
}

body.dark-theme .ui-selectonemenu-item:hover,
body.dark-theme .ui-selectmenu-item:hover,
body.dark-theme .ui-combobox-item:hover {
	background: var(--dropdown-item-hover) !important;
}

body.dark-theme .ui-selectonemenu-item.ui-state-highlight,
body.dark-theme .ui-selectmenu-item.ui-state-highlight,
body.dark-theme .ui-combobox-item.ui-state-highlight {
	background: var(--dropdown-item-selected) !important;
	color: var(--highlight-text) !important;
}

/* WCAG AA compliant disabled state for select menus (3.5:1 ratio) - improve-disabled-button-contrast */
.ui-selectonemenu.ui-state-disabled,
.ui-selectmenu.ui-state-disabled,
.ui-combobox.ui-state-disabled,
.ui-selectonemenu:disabled,
.ui-selectmenu:disabled,
.ui-combobox:disabled {
	background: #f0f0f0 !important;
	background-image: none !important;
	color: #888888 !important;
	border-color: #d0d0d0 !important;
	opacity: 0.65;
	cursor: not-allowed !important;
}

.ui-selectonemenu.ui-state-disabled .ui-selectonemenu-trigger,
.ui-selectmenu.ui-state-disabled .ui-selectmenu-trigger,
.ui-combobox.ui-state-disabled .ui-combobox-trigger {
	background: #e0e0e0 !important;
	color: #888888 !important;
	cursor: not-allowed !important;
}

/* WCAG AA compliant disabled state for select menus in dark theme (4.2:1 ratio) - improve-disabled-button-contrast */
body.dark-theme .ui-selectonemenu.ui-state-disabled,
body.dark-theme .ui-selectmenu.ui-state-disabled,
body.dark-theme .ui-combobox.ui-state-disabled,
body.dark-theme .ui-selectonemenu:disabled,
body.dark-theme .ui-selectmenu:disabled,
body.dark-theme .ui-combobox:disabled {
	background: #3a3a3a !important;
	background-image: none !important;
	color: #a0a0a0 !important;
	border-color: #606060 !important;
	opacity: 0.65;
	cursor: not-allowed !important;
}

body.dark-theme .ui-selectonemenu.ui-state-disabled .ui-selectonemenu-trigger,
body.dark-theme .ui-selectmenu.ui-state-disabled .ui-selectmenu-trigger,
body.dark-theme .ui-combobox.ui-state-disabled .ui-combobox-trigger {
	background: #3a3a3a !important;
	color: #a0a0a0 !important;
	cursor: not-allowed !important;
}
/* ========================================= */
/* Dark Theme: ACE AutoComplete             */
/* ========================================= */

body.dark-theme .ui-autocomplete,
body.dark-theme .ui-autocomplete-input {
	background: var(--input-bg) !important;
	border: 1px solid var(--input-border) !important;
	color: var(--input-text) !important;
}

body.dark-theme .ui-autocomplete:focus,
body.dark-theme .ui-autocomplete-input:focus {
	border-color: var(--input-focus-border) !important;
	outline: none !important;
}

body.dark-theme .ui-autocomplete-panel {
	background: var(--dropdown-panel-bg) !important;
	border: 1px solid var(--dropdown-border) !important;
}

body.dark-theme .ui-autocomplete-item,
body.dark-theme .ui-autocomplete-list-item {
	color: var(--text-primary) !important;
	background: transparent !important;
}

body.dark-theme .ui-autocomplete-item:hover,
body.dark-theme .ui-autocomplete-list-item:hover {
	background: var(--dropdown-item-hover) !important;
}

body.dark-theme .ui-autocomplete-item.ui-state-highlight,
body.dark-theme .ui-autocomplete-list-item.ui-state-highlight {
	background: var(--dropdown-item-selected) !important;
	color: var(--highlight-text) !important;
}

/* ========================================= */
/* Dark Theme: ACE Tree                     */
/* ========================================= */

body.dark-theme .ui-tree {
	background: var(--tree-bg) !important;
	border: 1px solid var(--tree-border) !important;
	color: var(--text-primary) !important;
}

body.dark-theme .ui-tree .ui-treenode {
	color: var(--text-primary) !important;
}

body.dark-theme .ui-tree .ui-treenode-content {
	background: transparent !important;
	color: var(--text-primary) !important;
}

body.dark-theme .ui-tree .ui-treenode-content:hover {
	background: var(--tree-node-hover) !important;
}

body.dark-theme .ui-tree .ui-treenode.ui-state-highlight,
body.dark-theme .ui-tree .ui-treenode-content.ui-state-highlight {
	background: var(--tree-node-selected) !important;
	color: var(--highlight-text) !important;
}

body.dark-theme .ui-tree .ui-tree-toggler {
	color: var(--text-secondary) !important;
}

body.dark-theme .ui-tree .ui-treenode-label {
	color: var(--text-primary) !important;
}

/* ========================================= */
/* Dark Theme: ACE DateTimeEntry            */
/* ========================================= */

body.dark-theme .ui-datepicker {
	background: var(--calendar-bg) !important;
	border: 1px solid var(--calendar-border) !important;
	color: var(--text-primary) !important;
}

body.dark-theme .ui-datepicker .ui-datepicker-header {
	background: var(--calendar-header-bg) !important;
	color: var(--widget-header-text) !important;
	border: none !important;
}

body.dark-theme .ui-datepicker .ui-datepicker-title {
	color: var(--widget-header-text) !important;
}

body.dark-theme .ui-datepicker .ui-datepicker-calendar {
	background: var(--calendar-bg) !important;
}

body.dark-theme .ui-datepicker .ui-datepicker-calendar thead th {
	background: var(--calendar-header-bg) !important;
	color: var(--widget-header-text) !important;
}

body.dark-theme .ui-datepicker .ui-datepicker-calendar td {
	background: var(--calendar-cell-bg) !important;
}

body.dark-theme .ui-datepicker .ui-datepicker-calendar td a {
	color: var(--text-primary) !important;
}

body.dark-theme .ui-datepicker .ui-datepicker-calendar td:hover {
	background: var(--calendar-cell-hover) !important;
}

body.dark-theme .ui-datepicker .ui-datepicker-calendar td.ui-state-active,
body.dark-theme .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today {
	background: var(--calendar-cell-selected) !important;
}

body.dark-theme .ui-datepicker .ui-datepicker-calendar td.ui-state-active a,
body.dark-theme .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a {
	color: var(--highlight-text) !important;
}

body.dark-theme .ui-datepicker select {
	background: var(--dropdown-bg) !important;
	border: 1px solid var(--dropdown-border) !important;
	color: var(--text-primary) !important;
}

body.dark-theme .ui-datepicker-buttonpane {
	background: var(--calendar-bg) !important;
	border-top: 1px solid var(--calendar-border) !important;
}

/* ========================================= */
/* Dark Theme: ACE FileEntry                */
/* ========================================= */

body.dark-theme .ui-fileupload {
	background: var(--widget-bg) !important;
	border: 1px solid var(--widget-border) !important;
	color: var(--text-primary) !important;
}

body.dark-theme .ui-fileupload .ui-fileupload-buttonbar {
	background: var(--widget-header-bg-unfocused) !important;
	border-bottom: 1px solid var(--widget-border) !important;
}

body.dark-theme .ui-fileupload .ui-fileupload-content {
	background: var(--widget-content-bg) !important;
	color: var(--text-primary) !important;
}

body.dark-theme .ui-fileupload .ui-fileupload-row {
	border: 1px solid var(--widget-border) !important;
}

body.dark-theme .ui-fileupload .ui-progressbar {
	background: var(--widget-content-bg) !important;
	border: 1px solid var(--widget-border) !important;
}

body.dark-theme .ui-fileupload .ui-progressbar-value {
	background: var(--button-bg-dark) !important;
}

body.dark-theme .ui-fileupload .ui-fileupload-filename {
	color: var(--text-primary) !important;
}

/* ========================================= */
/* Dark Theme: ICE Input Fields             */
/* ========================================= */

body.dark-theme input[type="text"],
body.dark-theme input[type="password"],
body.dark-theme input[type="email"],
body.dark-theme input[type="number"],
body.dark-theme input[type="date"],
body.dark-theme input[type="time"],
body.dark-theme textarea,
body.dark-theme .ui-inputfield,
body.dark-theme .reiserInputText,
body.dark-theme .reiserPassText {
	background: var(--input-bg) !important;
	border: 1px solid var(--input-border) !important;
	color: var(--input-text) !important;
}

body.dark-theme input::placeholder,
body.dark-theme textarea::placeholder {
	color: var(--input-placeholder) !important;
	opacity: 1 !important;
}

body.dark-theme input:focus,
body.dark-theme textarea:focus,
body.dark-theme .ui-inputfield:focus {
	border-color: var(--input-focus-border) !important;
	outline: none !important;
	box-shadow: 0 0 3px var(--input-focus-border) !important;
}

body.dark-theme input:disabled,
body.dark-theme textarea:disabled,
body.dark-theme .ui-inputfield:disabled {
	background: var(--input-disabled-bg) !important;
	color: var(--text-secondary) !important;
	cursor: not-allowed !important;
	opacity: 0.6 !important;
}

body.dark-theme .reiserOutputText {
	color: var(--text-primary) !important;
}

/* ========================================= */
/* Dark Theme: ICE SelectOneMenu            */
/* ========================================= */

body.dark-theme .reiserSelectOneMenu,
body.dark-theme select {
	background: var(--dropdown-bg) !important;
	border: 1px solid var(--dropdown-border) !important;
	color: var(--input-text) !important;
}

body.dark-theme .reiserSelectOneMenu:hover,
body.dark-theme select:hover {
	border-color: var(--input-focus-border) !important;
}

body.dark-theme .reiserSelectOneMenu:focus,
body.dark-theme select:focus {
	border-color: var(--input-focus-border) !important;
	outline: none !important;
	box-shadow: 0 0 3px var(--input-focus-border) !important;
}

body.dark-theme .reiserSelectOneMenu:disabled,
body.dark-theme select:disabled {
	background: var(--input-disabled-bg) !important;
	color: var(--text-secondary) !important;
	cursor: not-allowed !important;
	opacity: 0.6 !important;
}

body.dark-theme select option {
	background: var(--dropdown-panel-bg) !important;
	color: var(--text-primary) !important;
}

/* ========================================= */
/* Dark Theme: ICE CommandLink              */
/* ========================================= */

body.dark-theme a,
body.dark-theme .iceOutLnk,
body.dark-theme .ice-cmd-link,
body.dark-theme a[id*=":"] {
	color: #e0e0e0 !important;
	text-decoration: none !important;
	padding: 1.1px 1.1px !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}

body.dark-theme a:hover,
body.dark-theme .iceOutLnk:hover,
body.dark-theme .ice-cmd-link:hover,
body.dark-theme a[id*=":"]:hover {
	color: var(--link-hover) !important;
	text-decoration: underline !important;
}

body.dark-theme a:visited,
body.dark-theme a[id*=":"]:visited {
	color: var(--text-inverse) !important;
}

body.dark-theme a:active,
body.dark-theme a[id*=":"]:active {
	color: var(--text-inverse) !important;
}

body.dark-theme a:focus,
body.dark-theme a[id*=":"]:focus {
	outline: 2px solid var(--link-color) !important;
	outline-offset: 2px !important;
}

/* ========================================= */
/* Dark Theme: ICE DataTable                */
/* ========================================= */

body.dark-theme .ice-datatable,
body.dark-theme .reiser-table,
body.dark-theme .riosoft-table {
	background: var(--datatable-bg) !important;
	border: 1px solid var(--datatable-border) !important;
	color: var(--text-primary) !important;
}

body.dark-theme .ice-datatable th,
body.dark-theme .reiser-table th,
body.dark-theme .riosoft-table th {
	background: var(--datatable-header-bg) !important;
	color: var(--widget-header-text) !important;
	border: 1px solid var(--datatable-border) !important;
}

body.dark-theme .ice-datatable td,
body.dark-theme .reiser-table td,
body.dark-theme .riosoft-table td {
	border: none;
	color: var(--text-primary) !important;
}

body.dark-theme .ice-datatable tr:nth-child(even),
body.dark-theme .reiser-table tr:nth-child(even),
body.dark-theme .riosoft-table tr:nth-child(even) {
	/* background: var(--datatable-row-even) !important; */
}

body.dark-theme .ice-datatable tr:nth-child(odd),
body.dark-theme .reiser-table tr:nth-child(odd),
body.dark-theme .riosoft-table tr:nth-child(odd) {
	/* background: var(--datatable-row-odd) !important; */
}

body.dark-theme .ice-datatable tr:hover,
body.dark-theme .reiser-table tr:hover,
body.dark-theme .riosoft-table tr:hover {
	background: var(--datatable-row-hover) !important;
}

body.dark-theme .ice-datatable tr.ui-state-highlight,
body.dark-theme .reiser-table tr.ui-state-highlight,
body.dark-theme .riosoft-table tr.ui-state-highlight {
	background: var(--datatable-row-selected) !important;
	color: var(--highlight-text) !important;
}

/* ========================================= */
/* Dark Theme: Confirm Dialog               */
/* ========================================= */

body.dark-theme .ui-confirmdialog {
	background: var(--popup-bg) !important;
	border: 1px solid var(--popup-border) !important;
	color: var(--text-primary) !important;
}

body.dark-theme .ui-confirmdialog .ui-dialog-titlebar {
	background: var(--popup-header-bg) !important;
	color: var(--popup-header-text) !important;
}

body.dark-theme .ui-confirmdialog .ui-dialog-content {
	background: var(--popup-bg) !important;
	color: var(--text-primary) !important;
}

/* ========================================= */
/* Dark Theme: Dialog Close Button Override */
/* ========================================= */

/* Ensure close button stays hidden in dark theme with maximum specificity.
 * Dark theme CSS may attempt to re-display the button, so we use multiple
 * defensive properties (display, visibility, opacity, pointer-events) to
 * guarantee it remains hidden in all rendering scenarios.
 */
body.dark-theme .ui-dialog .ui-dialog-titlebar-close,
body.dark-theme .ui-dialog .ui-dialog-titlebar-icon,
body.dark-theme .ui-confirmdialog .ui-dialog-titlebar-close {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* ========================================= */
/* Dark Theme: General Interactive States   */
/* ========================================= */

/* Ensure all ui-state-* classes work properly */
body.dark-theme .ui-state-default {
	background: var(--widget-bg) !important;
	border: 1px solid var(--widget-border) !important;
	color: var(--text-primary) !important;
}

body.dark-theme .ui-state-hover {
	background: var(--dropdown-item-hover) !important;
	border: 1px solid var(--widget-border) !important;
}

body.dark-theme .ui-state-active {
	background: var(--dropdown-item-selected) !important;
	color: var(--highlight-text) !important;
}

body.dark-theme .ui-state-disabled {
	background: var(--input-disabled-bg) !important;
	color: var(--text-secondary) !important;
	opacity: 0.6 !important;
	cursor: not-allowed !important;
}

/* Focus indicators */
body.dark-theme .ui-state-focus {
	outline: 2px solid var(--input-focus-border) !important;
	outline-offset: 1px !important;
}

/* Scrollbars for dark theme */
body.dark-theme ::-webkit-scrollbar {
	width: 12px;
	height: 12px;
}

body.dark-theme ::-webkit-scrollbar-track {
	background: var(--bg-secondary) !important;
}

body.dark-theme ::-webkit-scrollbar-thumb {
	background: var(--widget-border) !important;
	border-radius: 6px;
}

body.dark-theme ::-webkit-scrollbar-thumb:hover {
	background: var(--text-secondary) !important;
}

/* Firefox scrollbars */
body.dark-theme * {
	scrollbar-width: thin;
	scrollbar-color: var(--widget-border) var(--bg-secondary);
}

/* ========================================= */
/* Dark Theme: ACE TextEntry Labels         */
/* ========================================= */

/* 
 * Fix ace:textEntry label visibility in dark theme
 * 
 * Problem: Labels rendered by the 'label' attribute on ace:textEntry components
 * maintain their default dark text color when dark theme is active, causing poor
 * visibility against dark backgrounds.
 * 
 * Solution: Target label elements associated with ACE input components and apply
 * the --text-primary CSS variable (#e0e0e0) for consistent light text in dark theme.
 * 
 * The !important flag is necessary to override ICEfaces component library's inline
 * styles that may be applied dynamically.
 * 
 * Scope: Only affects dark theme (body.dark-theme selector). Original theme remains unchanged.
 * 
 * WCAG Compliance: Ensures ≥4.5:1 contrast ratio for label text in dark mode.
 * 
 * Related: complete-dark-theme-icefaces-components
 * Change ID: fix-ace-textentry-label-dark-theme
 */

/* Target standard label elements */
body.dark-theme label,
body.dark-theme .ui-outputlabel,
body.dark-theme label.ui-outputlabel {
	color: var(--text-primary) !important;
}

/* Target labels associated with specific input fields via 'for' attribute */
body.dark-theme label[for],
body.dark-theme .ui-widget label {
	color: var(--text-primary) !important;
}

/* Ensure labels within or near ACE input components inherit theme colors */
body.dark-theme .ace-text-entry label,
body.dark-theme span.ui-widget > label {
	color: var(--text-primary) !important;
}

/* Link-style button for Acceso Rápido dialog */
/* Light theme - uses CSS variables for theme support */
/* Target both the button wrapper and inner elements */
.link-style-button,
.link-style-button.ui-button,
.link-style-button .ui-button,
button.link-style-button,
.link-style-button button,
.link-style-button .ui-button-text {
	background: none !important;
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	box-shadow: none !important;
	color: #0066cc !important;
	text-decoration: underline !important;
	cursor: pointer !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: inherit !important;
	font-family: inherit !important;
	font-weight: normal !important;
	text-align: left !important;
	display: inline !important;
	min-width: 0 !important;
	transition: color 0.2s ease !important;
}

.link-style-button:hover,
.link-style-button.ui-button:hover,
.link-style-button .ui-button:hover,
button.link-style-button:hover,
.link-style-button button:hover,
.link-style-button .ui-button-text:hover,
.link-style-button:hover .ui-button-text {
	background: none !important;
	background-color: transparent !important;
	background-image: none !important;
	color: #004499 !important;
	text-decoration: underline !important;
	box-shadow: none !important;
}

/* Remove any focus/active states that look like buttons */
.link-style-button:focus,
.link-style-button:active,
.link-style-button.ui-button:focus,
.link-style-button.ui-button:active {
	background: none !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	outline: 1px dotted #0066cc !important;
	outline-offset: 2px !important;
}

/* Dark theme - lighter colors for better contrast */
/* Explicitly remove all backgrounds that dark theme might add */
body.dark-theme .link-style-button,
body.dark-theme .link-style-button.ui-button,
body.dark-theme .link-style-button .ui-button,
body.dark-theme button.link-style-button,
body.dark-theme .link-style-button button,
body.dark-theme .link-style-button .ui-button-text {
	background: none !important;
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	box-shadow: none !important;
	color: #6eb6ff !important;
	text-decoration: underline !important;
}

body.dark-theme .link-style-button:hover,
body.dark-theme .link-style-button.ui-button:hover,
body.dark-theme .link-style-button .ui-button:hover,
body.dark-theme button.link-style-button:hover,
body.dark-theme .link-style-button button:hover,
body.dark-theme .link-style-button .ui-button-text:hover,
body.dark-theme .link-style-button:hover .ui-button-text {
	background: none !important;
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	box-shadow: none !important;
	color: #aabbff !important;
	text-decoration: underline !important;
}

/* Dark theme focus/active states */
body.dark-theme .link-style-button:focus,
body.dark-theme .link-style-button:active,
body.dark-theme .link-style-button.ui-button:focus,
body.dark-theme .link-style-button.ui-button:active {
	background: none !important;
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	box-shadow: none !important;
	outline: 1px dotted #6eb6ff !important;
	outline-offset: 2px !important;
}

/**
 * Rule 4b: Dark theme exception for .row-blue
 * 
 * When dark theme is active, .row-blue should use the dark theme's
 * bottom-top color variable instead of the light theme primary color.
 * This maintains consistency with dark theme design.
 */
body.dark-theme .row-blue {
  background-color: var(--bg-bottom-top) !important;
  color: var(--text-inverse) !important;
}

/**
 * Dark Theme Footer Background
 * Change: improve-menu-workspace-datatable-backgrounds
 * Purpose: Match footer background with bottomTop section for visual consistency
 */
body.dark-theme #bottom {
  background: var(--bg-bottom-top) !important;
  background-image: none !important;
}

/**
 * Rule 5: Add menu/content divider
 * 
 * Adds a visual divider (3px solid line) between the left menu/sidebar
 * and the main content area. The divider uses the flat-primary color
 * to match the flat design aesthetic.
 * 
 * Note: The workspace layout uses <div class="workspace"> containers
 * with <div class="workSpaceLeft"> and <div class="workSpaceRight"> sections.
 * This rule targets the right section (workSpaceRight) with a left border
 * to create the visual divider.
 */
body.dark-theme .menu-division {
  border-right: 2px solid #505050 !important;
}

/* ========================================
   Dark Theme Shadow Removal
   Change: refine-datatable-pagination-themes
   Source: docs/enhancements/requests/20260107-enrich-ui-css-styling-icefaces.md
   ======================================== */

/* Remove shadows from interactive components in dark theme */
body.dark-theme .ui-panel,
body.dark-theme .ui-dialog,
body.dark-theme a.menu-link-selected {
	box-shadow: none !important;
	text-shadow: none !important;
}

/* scope: menu.xhtml - panel menu visual fixes
   Change ID: enrich-menu-css-20260107
   Purpose: Localized overrides for ACE panels rendered inside menu.xhtml (form id: formMenu)
   - Keep overrides narrowly scoped to avoid affecting other pages
   - Use theme variables; use !important only when necessary to override theme JAR specificity
*/

body.dark-theme #formMenu .ui-panel {
    /* Use highlight-bg for the 2px wrapper border in dark theme per spec */
    border: 2px solid var(--highlight-bg) !important;
}

/* End of scope: menu.xhtml - panel menu visual fixes */

/* ========================================
   ace:checkboxButton Standardization - Dark Theme
   Change ID: standardize-ace-checkboxbutton-styling
   Purpose: Ensure consistent styling for ace:checkboxButton components in dark theme
   
   IceFaces DOM Structure (per docs/icefaces_components_css_styling.md):
   <div id="{id}" class="ice-checkboxbutton rsoft-checkbox">
     <span class="ui-button ui-widget">
       <span class="first-child">
         <button class="ui-corner-all ui-widget-content 
                        ice-checkboxbutton-checked|unchecked 
                        [ui-state-disabled]">
           <span class="fa fa-check-square-o|fa-square-o fa-lg"></span>
         </button>
       </span>
     </span>
   </div>
   ======================================== */

/* Enabled State: Remove border for flat UI aesthetic */
body.dark-theme .rsoft-checkbox > .ui-button.ui-widget {
  border: none !important;
  background: transparent !important;
}

/* Disabled State: Visual indicators that component is non-interactive */
body.dark-theme .rsoft-checkbox button.ui-state-disabled {
  background: none !important;
  border: none !important;
  cursor: not-allowed !important;
  pointer-events: none;
}

/* Disabled Check Icon: Reduce opacity to signal disabled state */
body.dark-theme .rsoft-checkbox .ui-state-disabled .fa {
  opacity: var(--rsoft-checkbox-disabled-opacity);
}

/* Remove hover/focus effects for disabled state */
body.dark-theme .rsoft-checkbox .ui-state-disabled:hover,
body.dark-theme .rsoft-checkbox .ui-state-disabled:focus {
  background: none !important;
  box-shadow: none !important;
}

body.dark-theme .ice-pushbutton.link-style-button button {
  border: none !important;
  background: none !important;
  padding-left: 5px !important;
  padding-right: 5px !important;
}

body.dark-theme .ice-pushbutton.link-style-button button:hover {
  border: none !important;
  background: white !important;
  color: #1e1e1e !important;
  padding-left: 5px !important;
  padding-right: 5px !important;
}

body.dark-theme .rsoft-economic-activity {
    margin: 0 auto;
    background-color: var(--bg-menus);
    border-radius: 1px;
    border: 1px solid var(--widget-border);
}

/* ============================================ */
/* Custom Loading Spinner Override
/* ============================================ */

body.dark-theme .ice-sub-mon > .ice-sub-mon-mid.active {
    background: none !important;
    padding: 0;
    border: 1px solid white !important;
    border-radius: 1px;
}

/* Override the default ICEfaces loading spinner with custom image */
body.dark-theme .ice-sub-mon > .ice-sub-mon-mid.active > .ice-sub-mon-img {
    background-image: url("../images/spinners/riosoft_white_spinner_ring_transparent.svg") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
    background-color: var(--bg-bottom-top) !important;
    width: 150px !important;
    height: 150px !important;
    display: inline-block !important;
}

/* If you also want to customize the idle state */
body.dark-theme .ice-sub-mon > .ice-sub-mon-mid.idle > .ice-sub-mon-img {
    background-image: url("../images/spinners/riosoft_white_spinner_ring_transparent.svg") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
    background-color: var(--bg-bottom-top) !important;
    width: 150px !important;
    height: 150px !important;
    display: inline-block !important;
}
