html, body {
	height: 100%;
	margin: 0;
	padding: 0;
	padding-right: 0 !important;
}

/* Change the highlighted text color */
::selection {
	background-color: #444444; /* Red background for highlighted text */
	color: #ffffff; /* White text color for highlighted text */
  }
  
  /* Optional: Apply the same styles for Firefox */
  ::-moz-selection {
	background-color: #444444; /* Red background for highlighted text */
	color: #ffffff; /* White text color for highlighted text */
  }

.navbar {
	margin-bottom: 0;
}

.content {
	display: flex;
	flex-direction: row; /* Default: horizontal layout */
	height: calc(100% - 50px); /* Subtract the height of the navbar */
}

.left-panel {
	flex: 1; /* Initially one-fifth of the width */
	max-width: 100%; /* Ensure it doesn't exceed one-fifth */
	padding: 0px;
	border: 1px solid #ddd;
	background-color:  #ffffff;
	overflow-x: hidden; /* Add scrollbars if content overflows */
	overflow-y: hidden; /* Add scrollbars if content overflows */
	position: relative; /* Needed for the resizable handle */
	/* Transition only applied on mobile via media query */
}

/* Panel toggle buttons */
.panel-toggle {
	display: none; /* Hidden by default on desktop */
	position: fixed;
	top: 50px; /* Below navbar */
	z-index: 1000;
	background-color: #444444;
	color: #ffffff;
	border: none;
	padding: 8px 12px;
	cursor: pointer;
	font-size: 16px;
	border-radius: 0 4px 4px 0;
	box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}

.panel-toggle:hover {
	background-color: #555555;
}

.panel-toggle.left-panel-toggle {
	left: 0;
}

.panel-toggle.right-panel-toggle {
	right: 0;
	border-radius: 4px 0 0 4px;
}

/* Responsive: Stack panels vertically on narrow screens */
@media (max-width: 768px) {
	.content {
		flex-direction: column; /* Stack vertically */
		height: auto;
		min-height: calc(100% - 50px);
		position: relative;
	}
	
	.left-panel {
		flex: none;
		width: 100%;
		max-width: 100%;
		height: 50vh; /* Overlay height when visible */
		max-height: 50vh;
		overflow-y: auto;
		overflow-x: hidden;
		position: absolute;
		top: 0;
		left: 0;
		transform: translateX(0); /* Visible by default */
		transition: transform 0.3s ease-in-out; /* Smooth slide animation - only on mobile */
		z-index: 999;
		box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	}
	
	.left-panel.hidden {
		transform: translateX(-100%); /* Slide out to the left */
		box-shadow: none;
	}
	
	.right-panel {
		flex: none;
		width: 100%;
		height: calc(100vh - 50px);
		max-height: calc(100vh - 50px);
		overflow-y: auto;
		overflow-x: hidden;
		position: relative;
		padding-top: 0;
	}
	
	/* When one panel is hidden, the other takes full height - handled by JavaScript */
	
	/* Show toggle buttons on mobile */
	.panel-toggle {
		display: block;
	}
	
	/* Disable resizable on mobile */
	.ui-resizable-handle {
		display: none !important;
	}
	
	/* Adjust reader and library panels for mobile */
	#reader-panel {
		min-height: 100px;
		max-height: 200px;
	}
	
	#library-panel {
		height: calc(100% - 150px) !important;
		min-height: 200px;
	}

	/* Larger library tree text and icons on mobile */
	#library-panel,
	#library-panel .tree,
	#file-tree,
	#reader-tree {
		font-size: 16px;
		line-height: 1.4;
	}

	#library-panel .jstree-anchor,
	#library-panel .jstree-icon,
	#reader-panel .jstree-anchor,
	#reader-panel .jstree-icon {
		font-size: 18px;
	}

	#library-panel .glyphicon,
	#reader-panel .glyphicon {
		font-size: 18px;
	}
}

/* Medium screens: Allow side-by-side but with adjusted proportions */
@media (min-width: 769px) and (max-width: 1024px) {
	.left-panel {
		flex: 0 0 30%; /* 30% width on medium screens */
		max-width: 30%;
	}
	
	.right-panel {
		flex: 0 0 70%; /* 70% width on medium screens */
	}
}

#treeExplorer{
	width:100%;
	overflow-y: auto;
	height: 100%;
}

#reader-panel  {
	background-color:  #f3f3f3;
	width: 100%; 
	width:100%;
	min-height: 120px;
	overflow-x: 	auto;
	overflow-y: 	hidden;
}

#reader-tree {
	background: #f3f3f3;
}

#library-panel {
	padding-top: 2px;
	background: #f3f3f3;
	height: calc(100% - 180px) ;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
}

#library-view {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
}

#node-info-panel,
.node-info-panel {
	flex: 0 0 auto;
	padding: 4px 8px;
	margin-top: 2px;
	border-top: 1px solid #ddd;
	background: #eeeeee;
	font-family: Consolas, Monaco, monospace;
	font-size: 11px;
	line-height: 1.4;
	color: #333;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-height: 1.6em;
}

.lib_buttons_menu{
	padding-top: 6px;
	width:100%;
	background: #eeeeee;
	border: 1px solid #ddd;
}


#file-tree {
	background: #f3f3f3;
}

.right-panel {
	flex: 4; /* Initially four-fifths of the width */
	padding: 0px;
	border: 1px solid #ddd;
	background: #ffffff;
	overflow: auto; /* Add scrollbars if content overflows */
	/* Transition only applied on mobile via media query */
}

/* Resizer handle */
.ui-resizable-handle {
	background: #cccccc;
	cursor: resize; /* Cursor indicates horizontal resize */
}

/* Disable transitions during resizing to ensure smooth resizing */
.ui-resizable-resizing,
.ui-resizing {
	transition: none !important;
}

.ui-resizable-resizing *,
.ui-resizing * {
	transition: none !important;
}



/* Style for the selected tab */
.ui-tabs .ui-tabs-nav li.ui-tabs-active a {
	background-color: #444444; /* Red background for the selected tab */
	color: #ffffff; /* White text color for the selected tab */
	border-color: #444444 !important;
}

/* sytle for selected widget (global) */
.ui-state-active {
	background-color: #444444 !important;
	border-color: #444444 !important;
}

/* sytle for selected widget (global) */
.ui-state-focus {
	border-color: #444444 !important;
	border: 0px !important;
	outline: none !important;
}

/* Style for non-selected tabs */
.ui-tabs .ui-tabs-nav li a {
background-color: #cccccc; /* Light gray background for non-selected tabs */
color: #000000; /* Black text color for non-selected tabs */
}

.separator_h{
	width:100%;
	border: 2px solid #ddd;
}


#root-file-tree:hover{
	cursor: pointer;
}

#selected-po-view{
	width:100%;
	min-height: 150px;
	max-height:250px;
	overflow-y: auto;
}


#dataExplorer{
	display: block;
	height:100%;
	height: 100%;
	overflow-y: auto;
}

.tree {
	display: block;
	font-family: consolas;
	background-color: #ffffff;
	height: 100%;
}

.nopadding {
	padding: 0px !important ;
}

.userMessage {
	color: #477ab8;
}
.userInfo {
	font-size: 13px;
	font-family: consolas;
	font-weight: normal;
	color: #477ab8;
}

#writePOMsgDetails {
	height: 300px;
	overflow-x: auto;
	overflow-y: auto;	
}

.writePOdetailedMsg {
	font-size: 13px;
	font-family: consolas;
	font-weight: normal;
	color: #2262c2;
}

.writePOdetailedWarnMsg {
	font-size: 13px;
	font-family: consolas;
	font-weight: normal;
	color: #f18d0a;
}

.writePOdetailedErrMsg {
	font-size: 13px;
	font-family: consolas;
	font-weight: normal;
	color: #990909;
}



#navbarLogo {
	height: 25px;
}

.dropDownDiv {
	padding-left: 1.5em;
}

#divTokenLinkMsg {
	width: 100%;
}

#reader_srv_ind {
  background-color:#cccccc;
}

.navbar-srv-icon-cont {
    height: 100%; 
	padding-top  : 0px !important;
	padding-bottom  : 0px !important;
}

.navbar-srv-icon {
    height: 100%;
	padding-top  : 15px;
	padding-left  : 3px;
	padding-right  : 3px;
	padding-bottom  : 15px;

}

#samMapping {
    height: 600px !important;
}

#reader_srv_ind.started {
	background-color: rgb(16, 214, 16);
}

#reader_srv_ind.readOnly {
	background-color: rgb(252, 248, 40);
}

#reader_srv_ind.noCard {
	background-color: rgb(52, 129, 202);
}

.filterActive {
	background-color:#e2c417 !important;
	color:#7e7e7e !important;
}

.filterActive:hover {
	color:#ebebeb !important;
}

table {
	width: 100%;
	background-color: #FFFFFF;
	border-collapse: separate;
	border-spacing: 1px ;
}

table,th,tr {
	font-size: 13px;
	font-family: Consolas, Courier New, Courier, Monospace;
	font-weight: normal;

}

th {
    background-color: #444444;
    color: white;
	padding: 1px;
	
}

td {
	padding: 1px;
	overflow: hidden;
	text-overflow: ellipsis;
	border-bottom: 1px solid #ddd;
}

td.centered {
	text-align: center;
}

td.right {
	text-align: right;
}
td.left {
	text-align: left;
}

th.smallWidth, td.smallWidth{
	
	width: 50px;
}

th.medWidth, td.medWidth {
	width: 80px;
}

th.largeWidth, td.largeWidth{
	
	width: 150px;
}

th.xlargeWidth, td.xlargeWidth{
	
	width: 300px;
}

td.overHidden {
	overflow-x: hidden;
    white-space: nowrap;
}


td.s0 {
	padding: 1px;
	padding-left: 1px;
}

td.s1 {
	padding-left: 10px;
}

td.s2 {
	padding-left: 20px;
}

td.s3 {
	padding-left: 30px;
}

td.s4 {
	padding-left: 40px;
}

table.po_info {
	font-family: consolas;
	text-align: center;
	width: 100%;
}

table.po_dump {
	table-layout: fixed;
	font-family: consolas;
	text-align: left;	
	width: 100%;
}

textarea.po_rec {
	font-family: consolas;
	text-align: left;
	width: 100%;
	resize: vertical;
}


th.wrap_all  {
	word-break:break-all;
}

td.clickable_item{
	cursor: pointer;
}

td.clickable_item:hover {
	color:#ebebeb;
	background-color: #414141;
}

#edValue:valid {
	background-color: rgb(210, 224, 210);
  }
  
#edValue:invalid {
	background-color: rgb(247, 154, 168);
}

td.wrap_all {
	word-break:break-all;
}

tr:hover td {
	background-color: #e5f3ffbd ;
}

th.po_dump_ef {
	width: 50px;
}

td.po_dump_ef {
	width: 50px;
}

td.po_dump {
	word-wrap:break-word;
}

tr.po_info_ed_abs {
	color: #dddddd;
	background-color: #959eb3;
	display: none;
}


tr.po_info_ed_bitmap {
	font-weight: bold;
}

tr.po_info_ed_bitmap:hover {
	background-color: #e5f3ff;
}

td.po_info_ed_bitmap {
	font-weight: bold;
}

tr.po_info_ed_invalidVal {
	background-color: #fff344;
}


th.fci_header {
	font-size: 12px;
    background-color: #444444;
	text-align: center;
}

td.fci_header {
	font-size: 12px;
	text-align: center;
}

th.fcp_header {
	font-size: 12px;
    background-color: #444444;
	text-align: center;
}

th.po_info_ed_col0 {
	font-size: 12px;
    background-color: #444444;
	text-align: center;
	
}

th.po_info_ed_col1 {
	font-size: 12px;
    background-color: #888888;
	text-align: center;
}

td.fcp_header  {
	font-size: 12px;
	text-align: center;
}

td.po_info_ed_col0 {
	color: #000;
	background-color: #f5f5f5;
	padding: 1px;
	border-left: solid !important;
	border-left-width: 1px !important;
	border-left-color: #444444 !important;
}

td.po_info_ed_border_col0 {
	color: #000;
	background-color: #f5f5f5;
	padding: 1px;
	border-right: solid !important;
	border-right-width: 1px !important;
	border-right-color: #444444 !important;
}

td.po_info_ed_col1 {
	color: #000;
	padding: 1px;
}

td.po_info_ed_abs {
	color: #dddddd;
	background-color: #959eb3;
	display: none;
}

td.po_info_ed_diff {
	color: #575757;
	background-color: #db968a;
	padding: 1px;
}

td.po_info_ed_warn {
	background-color: #edce2f;
	padding: 1px;
}

td.po_info_ed_ref {
	background-color: #aaaaaa;
	color: #ffffff;
	padding: 1px;
}

td.po_info_ed_identical {
	background-color: #e5f3ff;
	padding: 1px;
}


td.fcp_row_Invalidated {
	background-color: #db968a;
}
td.fcp_row_Valid {
	background-color: #96db8a;	
}

div.data_length_ok {
	background-color: #96db8a;
}
div.data_length_err {
	background-color: #db968a;
}

.show{
  display:block;  
}

.hide{
  display:none;  
}

#apduCmdInput {
	font-family: monospace;
	font-size: 12px;
	text-align: left;
}

#consoleTextArea {
	font-family: monospace;
	font-size: 12px;
	text-align: left;
	width: 100%;
	resize: none;
}

/* admin console */
#adminMainFrame {
	width: 100%;
	height: calc(100% - 100px);
}
.vresizableFrame {
	width: 100%;
	flex: 1;
	min-height: 0; /* Allow flexbox to shrink */
	overflow-y: auto;
	overflow-x: auto;
	/*resize: vertical;*/
}

#tblUserList {
	background-color: #ffffff;
}
#tblGroupList {
	background-color: #ffffff;
}

#tblSamList {
	background-color: #ffffff;
}

#tblLogList {
	background-color: #ffffff;
}

/* admin console layout */
.content .container-fluid .admin-layout {
	height: 100%;
	overflow: hidden;
}
.admin-layout {
	position: relative;
	height: 100%;
	overflow: hidden;
}
.admin-sidebar {
	position: fixed;
	left: 0;
	top: 60px; /* Height of navbar + 5px offset */
	width: 200px;
	height: calc(100vh - 55px);
	background-color: #f8f9fa;
	border-right: 1px solid #dee2e6;
	padding: 20px 0;
	overflow-y: auto;
	z-index: 1000;
}
.admin-sidebar .menu-button {
	display: block;
	width: 100%;
	padding: 12px 20px;
	border: none;
	background-color: transparent;
	text-align: left;
	cursor: pointer;
	font-size: 16px;
	color: #333;
	transition: background-color 0.2s;
}
.admin-sidebar .menu-button:hover {
	background-color: #e9ecef;
}
.admin-sidebar .menu-button.active {
	background-color: #444444;
	color: #fff;
}
/* Override container-fluid padding and height for admin console to allow full-width content */
.content .container-fluid {
	padding-left: 0;
	padding-right: 0;
	height: 100%;
	overflow: hidden;
}
.admin-content {
	margin-left: 200px; /* Width of fixed sidebar */
	width: calc(100vw - 200px - 15px); /* Full viewport width minus sidebar and right padding */
	padding: 20px;
	height: calc(100vh - 60px); /* Full viewport height minus navbar, constrained to fit */
	max-height: calc(100vh - 60px); /* Prevent overflow */
	box-sizing: border-box;
	overflow: hidden; /* Prevent content from causing scrollbars on admin-content */
}
.admin-section {
	display: none;
	height: 100%;
	overflow: hidden;
}
.admin-section.active {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.admin-section h3 {
	margin-top: 0;
	margin-bottom: 10px;
	flex-shrink: 0;
}

.ui-datepicker {
	z-index: 10000!important
}

.userWarning {
	color: #dddddd;
	background-color: #da3a3a;
}

.mirror-horizontal {
	transform: scaleX(-1);
	display: inline-block; /* Ensure the transformation works correctly */
}

#drop_zone {
	border: 2px solid #da3a3a;
	height: 100px;
	overflow-y: auto;
	font-family: consolas;
	font-size : 12px;
	padding: 1px;
  }




.test_ko {
	background-color: #da3a3a;
	font-weight: bold;
}

.test_ok {
	color: #3cc222;
	font-weight: bold;
}


.preview {
	margin-top: 20px;
	border: 1px solid #ccc;
	padding: 10px;
	width: 320px; /* Slightly larger than image width */
	text-align: center;
}

.preview img {
	width: 50px;
	height: auto;
}


.attachment {
	margin-top: 20px;
	border: 1px solid #ccc;
	padding: 10px;
	width: 100%;
	text-align: center;
}
.attachment img {
	width: auto;
	height: 400px;
}

div.page {
	page-break-after: always; 
	page-break-inside: avoid;
}

.template_header_logo {
	height: 80px;
}

#comments {
  resize: none;
}


.json-tree {
	font-family: monospace;
	line-height: 1.4;
}
.json-tree ul {
	list-style-type: none;
	padding-left: 20px;
	margin: 0;
}
.json-key {
	color: #92278f;
	font-weight: bold;
}
.json-value {
	color: #2222aa;
	inline-size: 300px;
	overflow-wrap: break-word;
}
.json-toggle {
	color: #666;
	cursor: pointer;
}
.json-tree .collapsed > ul {
	display: none;
}

.inputSmall {
	width : 60px;
}

.inputMedium {
	width : 90px;
}

.inputLarge {
	width : 120px;
}
.inputXLarge {
	width : 150px;
}