body {
    color: #777;
}

.pure-img-responsive {
    max-width: 100%;
    height: auto;
}

/*
Add transition to containers so they can push in and out.
*/
#layout,
#menu,
.menu-link {
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -ms-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

/*
This is the parent `<div>` that contains the menu and the content area.
*/
#layout {
    position: relative;
    left: 0;
    padding-left: 0;
}
    #layout.active #menu {
        left: 200px;
        width: 200px;
    }

    #layout.active .menu-link {
        left: 200px;
    }
/*
The content `<div>` is where all your content goes.
*/
.content {
    margin: 0 auto;
    padding: 0 2em;
    max-width: 800px;
    margin-bottom: 50px;
    line-height: 1.6em;
}

.header {
     margin: 0;
     color: #333;
     text-align: center;
     padding: 2.5em 2em 0;
     border-bottom: 1px solid #eee;
 }
    .header h1 {
        margin: 0.2em 0;
        font-size: 3em;
        font-weight: 300;
    }
     .header h2 {
        font-weight: 300;
        color: #ccc;
        padding: 0;
        margin-top: 0;
    }

.content-subhead {
    margin: 50px 0 20px 0;
    font-weight: 300;
    color: #888;
}



/*
The `#menu` `<div>` is the parent `<div>` that contains the `.pure-menu` that
appears on the left side of the page.
*/

#menu {
    margin-left: -200px; /* "#menu" width */
    width: 200px;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1000; /* so the menu or its navicon stays above all content */
    background: #f2eaea;
    overflow-y: auto;
    box-shadow: 3px -4px 5px rgba(0,0,0,0.2);
}
    /*
    All anchors inside the menu should be styled like this.
    */
    #menu a {
        color: #000;
        border: none;
        padding: 0.6em 0 0.6em 0.6em;
    }

    /*
    Remove all background/borders, since we are applying them to #menu.
    */
     #menu .pure-menu,
     #menu .pure-menu ul {
        border: none;
        background: transparent;
    }

    /*
    Add that light border to separate items into groups.
    */
    #menu .pure-menu ul,
    #menu .pure-menu .menu-item-divided {
        border-top: 1px solid #eee;
    }
        /*
        Change color of the anchor links on hover/focus.
        */
        #menu .pure-menu li a:hover,
        #menu .pure-menu li a:focus {
            color: darkgrey;
        }

    /*
    This styles the selected menu item `<li>`.
    */
    #menu .pure-menu-selected,
    #menu .pure-menu-heading {
        background: #1E90FF;
    }
        /*
        This styles a link within a selected menu item `<li>`.
        */
        #menu .pure-menu-selected a {
            color: #fff;
        }

    /*
    This styles the menu heading.
    */
    #menu .pure-menu-heading {
        font-size: 110%;
        color: #fff;
        margin: 0;
    }

/* -- Dynamic Button For Responsive Menu -------------------------------------*/

/*
The button to open/close the Menu is custom-made and not part of Pure. Here's
how it works:
*/

/*
`.menu-link` represents the responsive menu toggle that shows/hides on
small screens.
*/
.menu-link {
    position: fixed;
    display: block; /* show this only on small screens */
    top: 0;
    left: 0; /* "#menu width" */
    background: #000;
    background: rgba(0,0,0,0.7);
    font-size: 10px; /* change this value to increase/decrease button size */
    z-index: 10;
    width: 2em;
    height: auto;
    padding: 2.1em 1.6em;
}

    .menu-link:hover,
    .menu-link:focus {
        background: #000;
    }

    .menu-link span {
        position: relative;
        display: block;
    }

    .menu-link span,
    .menu-link span:before,
    .menu-link span:after {
        background-color: #fff;
        pointer-events: none;
        width: 100%;
        height: 0.2em;
    }

        .menu-link span:before,
        .menu-link span:after {
            position: absolute;
            margin-top: -0.6em;
            content: " ";
        }

        .menu-link span:after {
            margin-top: 0.6em;
        }


/* -- Responsive Styles (Media Queries) ------------------------------------- */

/*
Hides the menu at `48em`, but modify this based on your app's needs.
*/
@media (min-width: 48em) {

    .header,
    .content {
        padding-left: 2em;
        padding-right: 2em;
    }

    #layout {
        padding-left: 250px; /* left col width "#menu" */
        left: 0;
    }
    #menu {
        left: 200px;
    }

    .menu-link {
        position: fixed;
        left: 200px;
        display: none;
    }

    #layout.active .menu-link {
        left: 200px;
    }
}

@media (max-width: 48em) {
    /* Only apply this when the window is small. Otherwise, the following
    case results in extra padding on the left:
        * Make the window small.
        * Tap the menu to trigger the active state.
        * Make the window large again.
    */
    #layout.active {
        position: relative;
        left: 200px;
    }
}

.editing{
    display: none;
}

.pure-table{
    overflow-x: auto;
    width: 80%;
    margin-left: 15px;
    margin-top: 15px;
    margin-bottom: 30px;
}

.button-success,
.button-error,
.button-warning,
.button-secondary,
.pure-button-primary {
    color: white;
    border-radius: 4px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

.pure-button-primary{
    background-color: #1E90FF!important;
}
.button-success {
    background: rgb(28, 184, 65);
    /* this is a green */
}

.button-error {
    background: rgb(202, 60, 60);
    /* this is a maroon */
}

.button-warning {
    background: rgb(223, 117, 20);
    /* this is an orange */
}

.button-secondary {
    background: rgb(66, 184, 221);
    /* this is a light blue */
}

.button-option{
    background: unset;
    color: #1E90FF;
    border-radius: 4px;
    border: 1px solid #1E90FF;
    text-shadow: unset;
    font-size: 9px;
    font-weight: bold;
    cursor: pointer;
}

.button-option:disabled{
    background: unset;
    color: darkgray;
    border-radius: 4px;
    border: 1px solid darkgray;
    text-shadow: unset;
    font-size: 9px;
    font-weight: bold;
    padding: 10px 15px;
    cursor: not-allowed;
}


.error-table{
    color: #fd7e14;
    font-weight: bold;
    font-family: sans-serif;
    margin-left: 5px;
  }

  .total-cells{
    font-weight: bold;
    font-family: sans-serif;
    margin-left: 5px;
    background-color: #e9ecef;
    color: #000;
  }

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

  #main{
    margin-top: 20px;
    padding-right: 10px;
    padding-left: 10px;
}
  /* Below 768px */

    @media (max-width: 768px) {
        .pure-table{
            width: 100%;
            margin-left: 0px;
            margin-top: 15px;
            margin-bottom: 30px;
        }
    }


    .title-main{
        margin-left: 20px;
    }

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

    .text-danger{
        color: #dc3545;
    }

    .text-warning{
        color: #ffc107;
    }

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

    .text-primary{
        color: #000080;
    }

    .text-secondary{
        color: #6c757d;
    }

    .text-dark{
        color: #343a40;
    }

    .text-light{
        color: #f8f9fa;
    }

    .text-muted{
        color: #6c757d;
    }

    .text-white{
        color: #fff;
    }

    .text-black-50{
        color: rgba(0,0,0,.5);
    }

    .text-white-50{
        color: rgba(255,255,255,.5);
    }

    .text-400{
        font-weight: 400;
    }

    .text-500{
        font-weight: 500;
    }

    .text-600{
        font-weight: 600;
    }

    .text-700{
        font-weight: 700;
    }

    .text-800{
        font-weight: 800;
    }

    .text-900{
        font-weight: 900;
    }

    .float-left{
        float: left;
    }

    .float-right{
        float: right;
        margin-right: 15px;
    }

    .float-none{
        float: none;
    }

    .clearfix::after{
        content: "";
        clear: both;
        display: table;
    }

    .d-none{
        display: none!important;
    }

    .d-inline{
        display: inline;
    }

    .tr-unset{
        background-color: #fff;
        border: none;
    }

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

    .fade-me-out.htmx-swapping {
        opacity: 0;
        transition: opacity 1s ease-out;
      }

      .alertify-notifier {
        color: #fff;
    }

    .mb-15 {
        margin-bottom: 15px!important;
    }

    .tr-border-bottom{
        border-bottom: 2px solid #000!important;
    }

    .tr-border-top{
        border-top: 2px solid #000!important;
    }

    .pure-button-sm{
        font-size: 12px;
        padding: 5px 10px;
    }

    .margin-top-10{
        margin-top: 10px!important;
    }

    .margin-top-15{
        margin-top: 15px!important;
    }


    .border-primary{
        border: 1px solid #000080!important;
    }

    .button-xsmall {
        font-size: 70%;
    }

    .button-small {
        font-size: 85%;
    }

    .button-large {
        font-size: 110%;
    }

    .button-xlarge {
        font-size: 125%;
    }

    .pure-table thead{
        background-color: #1E90FF!important;
        color: #fff!important;
    }

    .width-200{
        width: 200px!important;
    }


.center-content {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh; 
}

.center-horizon {
    display: flex;
    justify-content: center;
    align-items: center;
}

.login-a{
    color: #fff;
    text-decoration: none;
}

.login-title{
    color: #000;
}

.width-100{
    width: 100%;
}

.unset-color{
    color: unset!important;
}

  .tab {
    padding: 5px;
    cursor: pointer;
    height: 20px;
    margin-right:5px;
    border: 1px solid #1E90FF;
    border-radius: 4px;
    background-color: #1E90FF;
    color: #fff;
    text-align: center;
  }
  
  .tab-content {
    display: none;
  }
  
  .tab-content.active {
    display: block;
  }

  .iframe{
        width: 95%;
        height: 95vh;
        border: none;
  }


  #twoFactor::-webkit-outer-spin-button,
#twoFactor::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
#twoFactor[type=number] {
  -moz-appearance: textfield;
}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}

.clear-a{
    color: #11a2f0;
    text-decoration: none;
}

.margin-left-10{
    margin-left: 10px!important;
}

.margin-left-20{
    margin-left: 20px!important;
}

.margin-left-30{
    margin-left: 30px!important;
}

.menu-links{
    color: #000080;
    text-decoration: none;
    margin-right: 10px;
    font-size: 20px;
    font-weight: 600;
    border: 1px solid #000080;
    padding: 5px 10px;
    border-radius: 5px;
}

/* media */

.log-out{
    margin-right: 100px;
}

@media (max-width: 768px) {
    .log-out{
        margin-right: 20px;
    }

    .menu-links{
        margin-right: 5px;
        font-size: 15px;
    }

}

.status-table{
    width: 200px!important;
}


/* Styles for the loading container */
.loading-container {
    margin-left: 10px;
    display: inline-block;
}

/* Styles for the spinner */
.spinner {
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-left-color: #333; /* Change the color of the spinner here */
    border-radius: 50%;
    width: 10px;
    height: 10px;
    animation: spin 1s linear infinite;
}

/* Keyframes for the spinner animation */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

#login-form{
    padding: 20px;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
}

.pure-table-center{
    margin: 0 auto;
}

.pure-menu-link{
    cursor: pointer;
}

.pure-menu-link, .pure-menu-has-children{
    font-size: 14px;
}

span.pure-menu-link{
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
    border-radius: 5px;
}

.table-overflow{
    width: 100%;
    overflow-x: auto;
}

.margin-0{
    margin: 0!important;
}


#loading {
    display: none;
    transition: opacity 0.5s;
    font-size: 20px;
    font-weight: bold;
    color: #1E90FF;
    position: fixed;
    top: 25%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 999;
    background-color: #f8f9fc;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);

}

.htmx-request {
    cursor: wait;
    display: block!important;
}

input[type='file'] {
    background-color: #f8f9fc;
    border: 1px solid #ced4da;
    border-radius: 4px;
    padding: 5px;
    color: #495057;
}

.pending{
    color: #f101e5!important;
    font-weight: bold;
}

.completed , .success, .sent{
    color: #28a745!important;
    font-weight: bold;
}

.failed{
    color: #dc3545!important;
    font-weight: bold;
}

.counter{
    font-weight: bold;
    color: #fff;
    background-color: #1E90FF;
    font-weight: bold;
    padding: 5px 8px;
    border-radius: 45px;
    font-size: 10px;
    float: right;
    cursor: pointer;
}

a{
    cursor: pointer;
}

td, th{
    cursor: pointer;
}

.bal-text-arrears{
    color: #dc3545;
}

.bal-text-balance{
    color: #28a745;
}

.bal-text-zero{
    color: #6c757d;
}

iframe{
    width: 100%;
    height: 100%;
}

/*  iframe scrollbar */

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
  background: #888;
}

::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.sucess-text{
    color: #28a745;
}

.error-text{
    color: #dc3545;
}

.warning-text{
    color: #ffc107;
}

#success{
    color: #28a745;
    width: 100%;
    text-align: center;
}

footer {
    text-align: center;
    align-items: center;
    height: 100px; /* Adjust as needed */
    width:100%;
  }  