body
{
	/*margin: 0;
	padding: 0;
	color: #555;
	font: normal 12pt Arial,Helvetica,sans-serif;
	background: #EFEFEF;*/
}

#page
{
	margin-top: 5px;
	margin-bottom: 5px;
	background: white;
	border: 1px solid #C9E0ED;
}

#header
{
	margin: 0;
	padding: 0;
	border-top: 3px solid #C9E0ED;
}

#content
{
    //padding: 20px;
}

#sidebar
{
	//padding: 20px 20px 20px 0;
}

#footer
{
	/*padding: 10px;
	margin: 10px 20px;
	font-size: 0.8em;
	text-align: center;
	border-top: 1px solid #C9E0ED;*/
}

#logo
{
	padding: 10px 20px;
	font-size: 200%;
}

#mainmenu
{
	background:white url(bg.gif) repeat-x left top;
}

#mainmenu ul
{
	padding:6px 20px 5px 20px;
	margin:0px;
}

#mainmenu ul li
{
	display: inline;
}

#mainmenu ul li a
{
	color:#ffffff;
	background-color:transparent;
	font-size:12px;
	font-weight:bold;
	text-decoration:none;
	padding:5px 8px;
}

#mainmenu ul li a:hover, #mainmenu ul li.active a
{
	color: #6399cd;
	background-color:#EFF4FA;
	text-decoration:none;
}

div.flash-error, div.flash-notice, div.flash-success
{
	padding:.8em;
	margin-bottom:1em;
	border:2px solid #ddd;
}

div.flash-error
{
	background:#FBE3E4;
	color:#8a1f11;
	border-color:#FBC2C4;
}

div.flash-notice
{
	background:#FFF6BF;
	color:#514721;
	border-color:#FFD324;
}

div.flash-success
{
	background:#E6EFC2;
	color:#264409;
	border-color:#C6D880;
}

div.flash-error a
{
	color:#8a1f11;
}

div.flash-notice a
{
	color:#514721;
}

div.flash-success a
{
	color:#264409;
}

div.form .rememberMe label
{
	display: inline;
}

div.view
{
	padding: 10px;
	margin: 10px 0;
	border: 1px solid #ccc;
        border-radius: 10px;
        background-color: #fff !important;
        line-height: 1.8em;
}

div.view .infosmain{
    font-size: 28px;    
}

div.view .infossecond{
    font-size: 18px;
    font-style: italic;
}
div.view .infosthird{
    font-size: 15px;    
}

div.view b{
    font-weight: bold;
}

div.view fieldset{
    border: 2px solid #3399cc;
    border-radius: 8px;
    padding: 5px;
}

div.view fieldset legend{
    width: 50%;
    text-align: center;
    background-color: #59ba62;
    font-size: 16px;
}

div.breadcrumbs
{
	font-size: 0.9em;
	padding: 5px 20px;
}

div.breadcrumbs span
{
	font-weight: bold;
}

div.search-form
{
	padding: 10px;
	margin: 10px 0;
	background: #ddd;
        border: 1px solid #ccc;
}

.portlet
{

}

.portlet-decoration
{
	padding: 3px 8px;
	background: #B7D6E7;
	border-left: 5px solid #6FACCF;
}

.portlet-title
{
	font-size: 12px;
	font-weight: bold;
	padding: 0;
	margin: 0;
	color: #298dcd;
}

.portlet-content
{
	font-size:0.9em;
	margin: 0 0 15px 0;
	padding: 5px 8px;
	background:#EFFDFF;
}

.portlet-content ul
{
	list-style-image:none;
	list-style-position:outside;
	list-style-type:none;
	margin: 0;
	padding: 0;
}

.portlet-content li
{
	padding: 2px 0 4px 0px;
}

.operations
{
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.operations li
{
	padding-bottom: 2px;
}

.operations li a
{
	font: bold 12px Arial;
	color: #0066A4;
	display: block;
	padding: 2px 0 2px 8px;
	line-height: 15px;
	text-decoration: none;
}

.operations li a:visited
{
	color: #0066A4;
}

.operations li a:hover
{
	background: #80CFFF;
}

.mainSelect {
    text-align: center;
    margin:0 20px 20px 0px;    
}

.mainSelect select{
    height: 30px;
    font-family:arial;
    font-size: 15px;
    width:100%;
    padding:0 0 0 5px ;
    border: 2px solid #C6D880;
    background-color: #E6EFC2;
    border-radius: 4px;    
}

input.selectadd {
    float: right;
    width:20%;
    padding:5px 10px;
    border-radius:0;
    background-color: #59ba62;
    font-weight: bold;
    font-size: 14px;
}

input.selectadd:hover {
    background-color: #00782f;
}

input.selectdelete{
    float: left;
    width:20%;
    padding:5px 10px;
    border-radius:0;
    background-color: #ff0000;
    font-weight: bold;
    font-size: 14px;
}

input.selectdelete:hover {
    background-color: #FBC2C4;
}

a.linkbutton {
    background-color: #6399cd;
    color: #fff;
    border-radius: 3px;
    padding: 3px 15px 3px 15px;
    margin: 10px 5px;
    text-decoration: none;
    border: 1px solid #298dcd;
}

a.linkbutton:hover {
    background-color: #6FACCF;
}

table.prime-table  {
    margin-top: 10px;
    font-size: 12px;
    font-style: normal;
}

table.prime-table tr.header {
    background-color: #6FACCF;
    font-size:13px;
    font-weight: bold;
    
}

table.prime-table td {
    border: 2px solid #6FACCF;
    padding: 0 2px 0 2px;
}

.content .tools {
    border: 1px solid #ccc !important;
    padding: 5px;
    background-color: #fff;
    border-radius: 5px;
}


table{    
    border:1px solid #fff;  
    border-collapse: collapse;
}

.tableHeader{
    background-color: #80ABD8;    
    text-align: center;
    font-weight: bold;    
    color: #fff;
}

.pair{
    background-color: #fff;  
    font-size: 12px;
}

.impair{
    background-color: #eee;     
    font-size: 12px;
}

.pair td,
.impair td{
    padding: 4px 3px 4px 3px;
}

.sum{
    background-color:#d0e4b4;     
    font-size: 18px;
}

.pagination-item{
    font-weight:bold;	
    font-size:14px;
}

.pagination-item-select{
        font-weight:bold;
        font-size:16px;
        text-decoration:underline;
        color:#040404;
}

.detailsum {
    font-size: 14px;
}

#itemsell{
    border:2px solid #fff;  
    border-collapse: collapse;
    font-size: 13px;
}


#itemsell td{
   border:2px solid #fff;  
   height: 22px;
   padding-left: 3px;
}
.itemNumber{
    font-size: 24px;
    text-align: right;
}

.itemNumberPu{
    font-size: 24px;    
    text-align: right;
}


.itemTotal{
    font-size: 48px;
    font-family: verdana;
    text-align: center;
    vertical-align: middle;
}


.mainSelect {
    text-align: center;
    margin:20px auto;    
}

.mainSelect select{
    height: 35px;
    font-family:arial;
    font-size: 18px;
    width:100%;
    padding:0 0 0 5px ;
    border: 2px solid #298dcd;
    background-color: #B7D6E7;
    border-radius: 4px;    
}


.mainSelectSub {
    text-align: center;
    margin:10px auto;    
}


.modal-header .close span {
    float:right;
    margin-top: -17px;
}


table.print .title{
    margin: 0;
    padding: 0 20px 0 10px;
   font-family: arial;
   color: #000;
   font-weight: bold;
}

table.print table.main td.title{
   font-size: 22px;
   color: #333;    
   text-align: center;
}

table.print table.main td{
   border-collapse: collapse;
   padding: 0px 10px;
   font-size: 13px;
   vertical-align: middle;
}

table.print table.elts {
    margin-top: 20px;
}

table.print table.elts td{
    border: 1px solid  #333;
   border-collapse: collapse;
   padding: 0px 10px;
   font-size: 12px;
}


table.print table.elts tr.header td{
    background-color: #dfdfdf;
    font-size: 14px;
    font-weight: bold;
}

table.print table.elts tr.header2 td{
    background-color: #d3dfee;
    font-size: 14px;
    font-weight: bold;
}


table.print table.criteria td{
   border-collapse: collapse;
   padding: 0px 10px;
   font-size: 13px;
   font-weight: normal;
}

table.print table.main td.label{
   font-size: 16px;
  font-style: italic;
  border: none !important;
}

table.print table.main td span,
table.print table.main td p{
  font-weight: bold;
}

table.print table.items tr.header{
   background-color: #236DBB;
   color: #fff;
   font-weight: bold;
}

table.print table.items td{
   border: 2px solid #236DBB;
   border-collapse: collapse;
   padding: 5px 5px 5px 5px;
   font-weight: normal;
   font-size: 12px;
}

table.print table.secondary {
  margin-top: 20px;
}


table.print table.secondary td.title{
   font-size: 18px;
   font-style: italic;
   color: #fff;    
   background-color: #236DBB;
   text-align: center;
   font-weight: normal;
}

table.print table.secondary td{
   border: 1px solid #236DBB;
   border-collapse: collapse;
   padding: 5px 5px 5px 5px;
   font-size: 14px;
   font-weight: bold;
}

table.print table.secondary td.value{
   font-size: 12px;   
   font-weight: normal;
}


table.printinfos tr.header td {
   background-color: #eee !important;
   font-weight: bold !important;
   font-style: normal !important;
   font-size: 14px !important;
}


table.printinfos tr.total td {
   background-color: #fcfcfc !important;
   font-weight: bold !important;
   font-style: normal !important;
   font-size: 13px !important;    
   color: #333;
}


table.printinfos tr.sum td {
   background-color:#ccc  !important;
   font-weight: bold !important;
   font-style: normal !important;
   font-size: 15px !important;
   color: #000;
}


table.printinfos td span,
table.printinfos td p{
   padding-bottom: 5px;
   font-size: 20px !important;
   font-style: normal;
   color:#000;
}


table.printinfos tr.data td {    
   font-weight: 100 !important;
   font-style: normal !important;
   font-size: 11px !important;
}




/* KPI Cards */
.kpi-card {
    background: white;
    border-radius: 10px;
    margin: 5px;
    border: 1px solid #e0e0e0;
    padding: 20px;
    display: flex;
    align-items: center;
    box-shadow: 0 0 15px rgba(0,0,0,0.05);
    transition: transform 0.3s;
    cursor: pointer;
}

.kpi-card:hover {
    transform: translateY(-5px);
    box-shadow: 3px 5px 20px rgba(0,0,0,0.1);
}

.kpi-content h3 {
    font-size: 24px !important;
}

.kpi-content p {
    font-size: 14px !important;
}

.kpi-icon {
    width: 60px;
    height: 60px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    color: white;
    font-size: 1.8rem;
}

.kpi-content h3 {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 700;
}

.kpi-content p {
    margin: 0;
    color: #858796;
    font-size: 0.9rem;
}

/* Cards */
.card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0,0,0,0.05);
    margin-bottom: 20px;
}

.card-header {
    background: white;
    border-bottom: 1px solid #e3e6f0;
    padding: 15px 20px;
    border-radius: 10px 10px 0 0 !important;
}

.card-header h5 {
    margin: 0;
    font-size: 1rem;
    color: #4e73df;
    font-weight: 600;
}



/* Styles de base pour la table */
.table {
    width: 100%;
    margin-bottom: 1rem;
    background-color: transparent;
    border-collapse: collapse;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* En-tête de la table */
.table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #dee2e6;
    background-color: #f8f9fa;
    color: #495057;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.2rem;
    letter-spacing: 0.5px;
    padding: 12px 8px;
}

/* Cellules du corps */
.table td {
    
    font-size: 1.2rem;
    padding: 12px 8px;
    font-weight: normal;
    vertical-align: middle;
    border-top: 1px solid #dee2e6;
}

/* Lignes au survol */
.table tbody tr:hover {
    background-color: rgba(0, 123, 255, 0.05);
    transition: background-color 0.2s ease;
}

/* Style pour les lignes paires/impaire */
.table tbody tr:nth-child(even) {
    background-color: #f8f9fa;
}

/* Table avec bordures */
.table-bordered {
    border: 1px solid #dee2e6;
}

.table-bordered th,
.table-bordered td {
    border: 1px solid #dee2e6;
}

.table-bordered thead th,
.table-bordered thead td {
    border-bottom-width: 2px;
}

/* Table sans bordures */
.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
    border: 0;
}

/* Table compacte */
.table-sm th,
.table-sm td {
    padding: 6px;
}

/* Table avec effet zebra */
.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.02);
}

/* Style pour les cellules d'action/boutons */
.table td.actions {
    white-space: nowrap;
    text-align: center;
}

.table .btn-action {
    display: inline-block;
    padding: 4px 8px;
    margin: 0 2px;
    border-radius: 4px;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s;
}

.table .btn-edit {
    background-color: #ffc107;
    color: #212529;
    border: 1px solid #ffc107;
}

.table .btn-edit:hover {
    background-color: #e0a800;
    border-color: #d39e00;
}

.table .btn-delete {
    background-color: #dc3545;
    color: white;
    border: 1px solid #dc3545;
}

.table .btn-delete:hover {
    background-color: #c82333;
    border-color: #bd2130;
}

.table .btn-view {
    background-color: #17a2b8;
    color: white;
    border: 1px solid #17a2b8;
}

.table .btn-view:hover {
    background-color: #138496;
    border-color: #117a8b;
}

/* Style pour les statuts */
.table .status-badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
}

.table .status-active {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.table .status-inactive {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.table .status-pending {
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeeba;
}

/* Table responsive */
.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 576px) {
    .table-responsive-sm {
        display: block;
        width: 100%;
        overflow-x: auto;
    }
}

.table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 768px) {
    .table-responsive-md {
        display: block;
        width: 100%;
        overflow-x: auto;
    }
}

.table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 992px) {
    .table-responsive-lg {
        display: block;
        width: 100%;
        overflow-x: auto;
    }
}

.table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 1200px) {
    .table-responsive-xl {
        display: block;
        width: 100%;
        overflow-x: auto;
    }
}

/* Style pour les écrans mobiles */
@media (max-width: 768px) {
    .table-mobile {
        display: block;
    }
    
    .table-mobile thead {
        display: none;
    }
    
    .table-mobile tbody,
    .table-mobile tr,
    .table-mobile td {
        display: block;
        width: 100%;
    }
    
    .table-mobile tr {
        margin-bottom: 15px;
        border: 1px solid #dee2e6;
        border-radius: 8px;
        overflow: hidden;
    }
    
    .table-mobile td {
        text-align: right;
        padding-left: 50%;
        position: relative;
        border-top: none;
        border-bottom: 1px solid #dee2e6;
    }
    
    .table-mobile td:last-child {
        border-bottom: none;
    }
    
    .table-mobile td:before {
        content: attr(data-label);
        position: absolute;
        left: 6px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        font-weight: 600;
        text-align: left;
    }
}

/* Styles pour les titres et pieds de table */
.table caption {
    padding-top: 12px;
    padding-bottom: 12px;
    color: #6c757d;
    text-align: left;
    caption-side: bottom;
}

.table tfoot {
    background-color: #f8f9fa;
    font-weight: 600;
}

.table tfoot td {
    border-top: 2px solid #dee2e6;
}

/* Table avec effet de chargement */
.table-loading {
    position: relative;
    min-height: 200px;
}

.table-loading:after {
    content: "Chargement...";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #6c757d;
    font-style: italic;
}

/* Animation de chargement */
@keyframes table-pulse {
    0% {
        background-color: rgba(0, 123, 255, 0);
    }
    50% {
        background-color: rgba(0, 123, 255, 0.1);
    }
    100% {
        background-color: rgba(0, 123, 255, 0);
    }
}

.table-pulse tr {
    animation: table-pulse 2s infinite;
}

/* Style pour les tables avec ombre */
.table-shadow {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
}

.table-shadow thead th:first-child {
    border-top-left-radius: 8px;
}

.table-shadow thead th:last-child {
    border-top-right-radius: 8px;
}

/* Style pour les lignes sélectionnées */
.table tbody tr.selected {
    background-color: rgba(0, 123, 255, 0.2);
}

/* Style pour les checkbox dans les tables */
.table .checkbox-cell {
    width: 40px;
    text-align: center;
}

.table .checkbox-cell input[type="checkbox"] {
    cursor: pointer;
    width: 18px;
    height: 18px;
}

/* Style pour les images dans les tables */
.table .avatar-cell {
    width: 50px;
    text-align: center;
}

.table .avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Style pour les chiffres/montants */
.table .text-right {
    text-align: right;
}

.table .text-center {
    text-align: center;
}

.table .text-left {
    text-align: left;
}

.table .font-bold {
    font-weight: 600;
}

.table .text-success {
    color: #28a745;
}

.table .text-danger {
    color: #dc3545;
}

.table .text-warning {
    color: #ffc107;
}

.table .text-info {
    color: #17a2b8;
}

/* Style pour les badges numériques */
.table .badge-count {
    display: inline-block;
    min-width: 24px;
    height: 24px;
    line-height: 24px;
    border-radius: 12px;
    background-color: #6c757d;
    color: white;
    font-size: 0.75rem;
    text-align: center;
    padding: 0 6px;
}

/* Style pour les tooltips */
.table [data-tooltip] {
    position: relative;
    cursor: help;
}

.table [data-tooltip]:before {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 10px;
    background-color: #333;
    color: white;
    font-size: 0.75rem;
    border-radius: 4px;
    white-space: nowrap;
    display: none;
    z-index: 1000;
}

.table [data-tooltip]:hover:before {
    display: block;
}

/* Style pour les cellules tronquées */
.table .truncate {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}