:root {
    --color-gray-300: #d1d5dc; 
    --text-xs: 0.75rem;
    --spacing: 0.25rem;
   
    --body-font-color: #000;
    --header-font: 'Montserrat', sans-serif;
    --body-font: 'Roboto', sans-serif;
    --header-text-transform: uppercase;
    --header-font-weight: bold;
    --body-color: 250, 249, 248;
    --brand-color: 46, 59, 46;
    --accent-color: 146, 105, 83;
}

      * {
            box-sizing: border-box;
        }
            
    body, html {
        margin: 0;
        padding: 0;
        font-family: var(--body-font);
        background: rgba( var(--body-color), 1 ) !important;
        color: var(--body-font-color);
        font-size: 1rem;
    }
    
     header {
      background: rgba( var(--body-color), 1 );
      position: fixed;
      top: 0;
      width: 100%;
      display: flex;
      align-items: center;
      padding: 12px 0;
        box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.1);
          border-bottom: 0.5px solid rgba(0, 0, 0, 0.15);
          z-index: 9;
    }
    
    header .top-container {
        width: 100%;
    }
    
    header .inner-header {
        width: 100%;
        display: flex;
    justify-content: center !important;
    align-items: center !important;
    }
    
    header .inner-header .top-container {
        width: 100%;
        display: flex;
    justify-content: center !important;
    align-items: center !important;
    }
    
.search-input {
  position: relative;
  width: 100%;
  max-width: 400px;
}

.search-input input {
    width: 600px;
}

.live-results-box {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-radius: 8px;
  max-height: 300px;
  overflow-y: auto;
  display: none;
  z-index: 999;
}

.live-results-box div {
  padding: 10px;
  font-size: 14px;
  cursor: pointer;
}

.live-results-box div:hover {
  background-color: #f0f0f0;
}

.result-type {
  font-weight: bold;
  font-size: 12px;
  padding: 6px 10px;
  background: #fafafa;
  color: #666;
}

    
    
footer {
  background: rgba(var(--body-color), 1);
  bottom: 0;
  width: 100%;
  display: flex;
  align-items: center;
  padding: 12px 36px;
  box-shadow: 0 -1px 2px 0 rgb(0 0 0 / 0.1);
  border-top: 0.5px solid rgba(0, 0, 0, 0.15);
  z-index: 9;
  font-size: 12px;
}

    
    h1, h2, h3, h4, h5, h6, .small-display, .small-heading {
        font-family: var(--header-font);
        text-transform: var(--header-text-transform);
        color: rgba( var(--header-font-color), 1 );
    }
    

    .small-display {
        font-size: 32px;
        margin-top: 8px;
        margin-bottom: 16px;
        text-transform: none;
    }
    
    .small-heading {
        font-weight: var(--header-font-weight);
        display: block;
        text-transform: uppercase;
    }
    

    
    .paragraph-l {
        font-size: 20px;
    }
    
    .heading {
        color: rgba( var(--body-color), 1 );
    }
    
    .item .heading {
        margin-bottom: 4px;
        color: #868686;
        font-size: 14px;
    }
    
    a {
        text-decoration: none;
        color: #000000;
    }
    
    table a:hover, table a:active, table a:focus  {
        text-decoration: underline;
        color: rgba( var(--accent-color), 1 );
    }
    
    .paragraph-xs, a .paragraph-xs {
        font-size: 12px;
        color: #868686;
    }
    
    i {
        margin-top: 4px;
    }
    
    .invoice-info .brand-icon {
        font-size: 40px;
        margin-top: 12px;
        padding: 0;
    }
    
    .logo {
        width: 100%;
        display: flex;
        justify-content: center;
    }
    
    .logo img {
        width: 100px;
    }
    
    .space-between {
    display: flex;
    justify-content: space-between;
    overflow: hidden;
}

.row-display {
    flex-direction: row !important;
}

.column-display {
    flex-direction: column !important;
}
    
.vertical-navigation {
   height: 100%;
            background: rgba( var(--brand-color), 1 );
            position: fixed;
            padding: 24px 20px;
            width: 200px;
            top: 0;
            display: flex;
            justify-content: space-between;
            flex-direction: column;
    transition: width 0.3s ease;
    z-index: 99;
    font-size: 14px;
}

.nav__container {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-bottom: 3rem;
  overflow: auto;
  scrollbar-width: none; /* For mozilla */
}

/* For Google Chrome and others */
.nav__container::-webkit-scrollbar {
  display: none;
}

.nav__subtitle {
  text-transform: uppercase;
  letter-spacing: .1rem;
}

.nav__link {
  display: flex;
  align-items: center;
  
}

.nav__icon {
  font-size: 1.2rem;
  margin-right: 8px;
}

.nav__name {
  white-space: nowrap;
}

.nav__logout {
  margin-top: 5rem;
}

/* Dropdown */
.nav__dropdown {

}


.nav__dropdown-collapse {
  background-color: var(--first-color-light);
  border-radius: .25rem;
  margin-top: 2px;
}

.nav__dropdown-content {
  margin-left: 16px;
}

.nav__dropdown-item {
  font-size: var(--smaller-font-size);
  font-weight: var(--font-medium);
  color: var(--text-color);
}

.nav__dropdown {
  border-radius: 4px;
  max-height: 28px;
  overflow: hidden;
  transition: max-height 0.3s ease;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.nav__dropdown.open {
  max-height: 100rem;
}

.nav__dropdown.open .nav__dropdown-icon {
  transform: rotate(180deg);
}


.nav__dropdown-item:hover {
  color: var(--first-color);
}

.nav__dropdown-icon {
  margin-left: auto;
  transition: .4s;
}


/*===== Show menu =====*/
.show-menu {
  left: 0;
}

/*===== Active link =====*/
.active {
  color: var(--first-color);
}

.vertical-navigation hr {
            margin: 10px 0 20px 0;
        }

.vertical-navigation .nav__list {
    margin-top: 2.5em;
}

.nav__items {
    display: flex;
    gap: 4px;
        flex-direction: column;
}

        .vertical-navigation .nav__list .nav-item i {
            margin-right: 14px;
            margin-top: 2px;
        }
        
        .vertical-navigation .nav__list .nav-item span {
            padding-bottom: 2px;
            display: block;
        }
        
        .vertical-navigation .nav__list a:link, .vertical-navigation .nav__list a:visited, .vertical-navigation .nav__list a:hover, .vertical-navigation .nav__list a:active, a button:link, a button:visited, a button:hover, a button:active, .edit-btn {
            color: rgba(255, 255, 255, 0.8 );
            text-decoration: none;
        }
        
        .vertical-navigation .profile .nav__list .nav-item {
             margin: 8px 0;
        }
        
        .vertical-navigation .nav__list .nav-item {
            padding: 4px 8px;
            display: flex;
            align-items: center;
            border-radius: 4px;
          
        }
        
        [data-tooltip="Projects"] {
              flex-direction: row;
            justify-content: space-between;
        }
        
        .vertical-navigation .nav__dropdown .nav-item:first-child {
            margin-top: 0;
        }
        
        .nav-item .icon-text {
            display: flex !important;
            flex-direction: row;
            gap: 0px;
        }
    
    
    .vertical-navigation .nav-item:hover,  .vertical-navigation .active-list-item {
    background-color: rgba(255, 255, 255, 0.1); /* Highlight on hover */
    color: white;
}

    .navigation-control {
        padding: 8px 8px 4px 8px;
        border: rgba( var(--accent-color), 1 ) solid 2px;
        font-size: 16px;
        border-radius: 100%;
        background: rgba( var(--brand-color), 1 );
        color: white;
    }
    
.vertical-navigation {
    transition: width 0.3s ease;
}

.vertical-navigation.shrunken {
    width: 80px;
}

.vertical-navigation .logo img {
    transition: width 0.3s ease;
}

.vertical-navigation.shrunken .logo img {
     width: 60px;
}

.vertical-navigation.shrunken ul li {
    padding: 10px;
}

.vertical-navigation ul li span {
    display: flex;
    align-items: center;
    transition: opacity 0.3s ease;
}

.vertical-navigation ul li span,
.vertical-navigation p {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.vertical-navigation.shrunken hr {
    margin: 0;
}

.vertical-navigation.shrunken ul li span,
.vertical-navigation.shrunken p {
    opacity: 0;
    visibility: hidden;
    width: 0;
    overflow: hidden;
    display: none;
    font-size: 1px;
}



        .container {
            margin-right: 30px;
            padding: 80px 0;
            min-height: 100vh;
            z-index: 2;
            transition: margin-left 0.3s ease;
        }
        
        .no-navigation {
            margin-left: 30px !important;
        }
        
        .container.expand {
            margin-left: 110px;
        }
        
        .footer.expand {
            width: 100%;
        }
        
        .top-container {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-direction: row;
        }
        
        .grid, #overview {
    gap: 20px;
    display: flex
;
    flex-direction: column;
}
        
        section {
            margin: 40px 0;
        }
        
        .grid-container {
            display: grid;
            grid-template-columns: auto auto auto;
            gap: 20px;
            
        }
        
        .gap20 {
            display: flex;
            gap: 20px;
        }
        
        .item {
            background: white;
            padding: 20px 24px;
            border-radius: 0.5rem; /* 8px */
          box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.1);
          border: 0.5px solid rgba(0, 0, 0, 0.15);
        }
        
/* Subtle shadow for .ring-1 equivalent */
.shadow-ring-1 {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); /* Adds a blur for a softer effect */
}

/* Slightly thicker shadow ring */
.shadow-ring-2 {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); /* A more pronounced shadow */
}

/* Customized soft shadow ring */
.shadow-ring-soft {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.08); /* For an even softer and more diffuse effect */
}
        
        .gap {
            display: grid;
            gap: 20px;
        }
        
        .pie-container {
            padding: 40px;
        }
        
        
        
        table {
            border-radius: 12px;
            font-size: 13px;
            width: 100%;
            border-spacing: 0;
            padding: 20px 0;
        }
       
        
        .gridjs-spread {
            border: none !important;
        }
        
        .gridjs-spread:hover {
            background: none !important;
        }
        
        .gridjs-wrapper, .gridjs-footer {
            box-shadow: none !important;
        }
        
        .gridjs-footer {
             background: rgba( var(--background-color), 1 ) !important;
        }
        
        thead {
            background: rgba( var(--container-color), 0.5 ) !important;
            border: none !important;
            text-align: left;
        }
        
        th {
            background: rgba( var(--background-color), 0.5 ) !important;
            border: none !important;
            justify-content: center !important;
            padding: 10px 10px !important;
        }
        
        .gridjs-th-content {
            font-weight: normal;
            font-size: 14px;
            position: relative;
            top: 2px;
        }
        
        table tr:nth-child(odd) {
            background: rgba( var(--body-color), 0.5 );
        }
        
        table tr:nth-child(even) {
            background: rgba( var(--body-color), 0.2 );
        }
        
         table thead tr {
            background: #ffffff !important;
        }
        
        
        tbody, td {
            background-color: transparent !important;
            border: none !important;
             padding: 5px 10px !important;
        }
        
        /* Target only the Actions column header */
.gridjs-th[data-column-id="actions"] {
    min-width: none !important;
    width: auto !important;
    white-space: normal;
    word-break: break-word;
    text-align: center !important; /* Center-align actions column */
}

        
        .gridjs-tbody {
            border: none !important;
        }
        
         tr.gridjs-tr {
             border: none !important;
         }
        
         tr.gridjs-tr:last-child {
            border: none !important;
            border-bottom-right-radius: 12px !important;
            border-bottom-left-radius: 12px !important;
        }


        button, .btn {
            padding-block: calc(var(--spacing)* 2);
            padding-inline: calc(var(--spacing)* 3);
            border: none;
            font-size: 0.875rem;
            border-radius: 6px;
            background: rgba( var(--accent-color), 1 );
            color: white;
            cursor: pointer;
        }
        
        button:hover, .btn:hover {
            background-image: linear-gradient(rgb(0 0 0/20%) 0 0);
        }
        
        .gridjs-pages button, .gridjs-pagges button:hover {
            color: #3d4044 !important;
        }
        
        button i {
            margin-top: 4px;
        }
        
        .secondary-btn {
            border: rgba( var(--accent-color), 1 ) 1px solid;
            color: rgba( var(--accent-color), 1 );
            background-color: transparent;
        }
        
        .secondary-btn:hover {
            background: rgba( var(--accent-color), 1 );
            color: white;
        }
        
        .action-btn {
            margin-right: 16px;
        }
        
        .button-group {
            display: flex;
            gap: 20px;
        }
        
        .buttons a {
            color: white;
            text-decoration: none
        }
        
        .link {
            color: rgba( var(--accent-color), 1 );
        }
        
        .link:hover {
            filter: brightness(0.8)
        }
        
        .delete-btn {
            background-color: #DC143C;
            color: white;
        }
        
        .edit-btn {
            background-color: #228B22;
        }
        
        [data-column-id="status"] {
            min-width: 90px;
        }
        
        [data-column-id="actions"] {
            min-width: 120px !important;
        }
        
        .circle {
            border-radius: 50%;
            width: 36px;
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .null {
            background-color: #e6e6e6;
            color: #868686;
        }
        
        .success {
            background-color: #D9F0DE;
            color: #263B2A;
        }
        
        .success-text {
            color: #598A62 !important;
        }
        
      
        
        .danger {
            background-color: #FDD6D6;
            color: #CE3043;
        }
        
        .current-day, .current-hour {
    background: rgba(var(--accent-color), 0.1) !important;
    border: 2px solid rgba(var(--accent-color), 0.3) !important;
}

        
        .danger-text {
            color: #CE3043 !important;
        }
        
          .warning {
            background-color: #FFDCC7;
            color: #FF8A44;
        }
        
.status-badge {
  padding: 3px 10px 3px 8px;
  border-radius: 4px;
  font-size: 12px;
  text-transform: capitalize;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.status-dot {
  display: inline-block;
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
}

/* --- Existing status colors --- */
.status-badge.requested .status-dot,
.status-badge.not-started .status-dot,
.status-badge.archived .status-dot { background: #666; }
.status-badge.requested,
.status-badge.not-started,
.status-badge.archived { background: #e6e6e6; color: #666; }

.status-badge.queued .status-dot { background: #4b267a; }
.status-badge.queued { background: #e2d6f5; color: #4b267a; }

.status-badge.in-progress .status-dot,
.status-badge.active .status-dot,
.status-badge.open .status-dot { background: #0c5460; }
.status-badge.in-progress,
.status-badge.active,
.status-badge.open { background: #d1ecf1; color: #0c5460; }

.status-badge.on-hold .status-dot,
.status-badge.paused .status-dot,
.status-badge.warning .status-dot { background: #d35400; }
.status-badge.on-hold,
.status-badge.paused,
.status-badge.warning { background: #ffe6d5; color: #d35400; }

.status-badge.ready-for-delivery .status-dot { background: #0056b3; }
.status-badge.ready-for-delivery { background: #d6e9ff; color: #0056b3; }

.status-badge.in-review .status-dot { background: #856404; }
.status-badge.in-review { background: #fff3cd; color: #856404; }

.status-badge.revision-requested .status-dot { background: #b21f1f; }
.status-badge.revision-requested { background: #f8d7da; color: #b21f1f; }

.status-badge.completed .status-dot,
.status-badge.paid .status-dot,
.status-badge.repaid .status-dot { background: #155724; }
.status-badge.completed,
.status-badge.paid,
.status-badge.repaid { background: #d4edda; color: #155724; }

.status-badge.cancelled .status-dot,
.status-badge.void .status-dot { background: #721c24; }
.status-badge.cancelled,
.status-badge.void { background: #f8d7da; color: #721c24; }

/* --- New workflow stages --- */
.status-badge.onboarding .status-dot { background: #007bff; }
.status-badge.onboarding { background: #e6f0ff; color: #007bff; }

.status-badge.briefing .status-dot { background: #17a2b8; }
.status-badge.briefing { background: #d6f5fa; color: #17a2b8; }

.status-badge.planning .status-dot { background: #6f42c1; }
.status-badge.planning { background: #ede2f9; color: #6f42c1; }

.status-badge.design-in-progress .status-dot,
.status-badge.design_in_progress .status-dot { background: #fd7e14; }
.status-badge.design-in-progress,
.status-badge.design_in_progress { background: #ffe5d0; color: #fd7e14; }

.status-badge.review .status-dot { background: #ffc107; }
.status-badge.review { background: #fff6d9; color: #856404; }

.status-badge.revisions .status-dot { background: #e83e8c; }
.status-badge.revisions { background: #fbd6e9; color: #e83e8c; }

.status-badge.finalisation .status-dot { background: #20c997; }
.status-badge.finalisation { background: #d3f9ef; color: #20c997; }

.status-badge.delivered .status-dot { background: #0056b3; }
.status-badge.delivered { background: #d6e9ff; color: #0056b3; }

/* completed, paused, cancelled already covered above */


.badge-counter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 6px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  min-width: 18px;        /* ensures it's circular with small content */
  height: 18px;
  border-radius: 999px;   /* fully rounded no matter the width */
  background-color: rgba(255, 255, 255, 0.2);
  color: #fff;
  vertical-align: middle;
}



        form {
            display: grid;
            gap: 0px;
            position: relative;
        }
        

        
        form div {
            margin: 8px 0;
        }
        
        form div:first-child {
            margin: 0;
        }
        
        form section {
            padding: 20px 24px;
            border-radius: 12px;
        }
        
        
.text-input, select {
    font-family: inherit;
    padding: 0.625rem;
    font-size: 0.875rem;
    color: #111827;
    background-color: #f9fafb;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    outline: none;
    transition: border-color 0.3s, box-shadow 0.3s;
    padding: 6px 4px 6px 12px;
    font-size: 0.875rem; /* 14px */
    line-height: 1.25rem; /* 20px */
    border-radius: 0.375rem; /* 6px */
}

.text-input::placeholder {
    color: #99a1af;
}

.text-input:focus {
    border-color: 1px solid rgba( var(--brand-color), 1 );
    box-shadow: 0 0 0 2px rgba( var(--brand-color), 0.5);
}

    
        
        textarea {  
            overflow: hidden;
            height: 200px;
    font-family: inherit;
    width: 100%;
    padding: 0.625rem;
    font-size: 0.875rem;
    color: #111827;
    background-color: #f9fafb;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    outline: none;
    transition: border-color 0.3s, box-shadow 0.3s;
    padding: 6px 4px 6px 12px;
    font-size: 0.875rem; /* 14px */
    line-height: 1.25rem; /* 20px */
    border-radius: 0.375rem; /* 6px */
        }
        
        .form-btn-container {
            display: flex;
            justify-content: right;
        }
        
        hr {
  border: none;
  border-top: 0.01rem solid rgba(var(--container-color), 1); /* or any light grey */
  width: 100%;
}

        
        .container hr {
            margin: 32px 0 32px 0;
        }
        
        .grid-two-columns {
           display: grid;
           grid-template-columns: auto auto;
           gap: 20px;
       }
       
       .grid-three-columns {
           display: grid;
           grid-template-columns: auto auto auto;
           gap: 20px;
       }
       
       .grid-four-columns {
           display: grid;
           grid-template-columns: auto auto auto auto;
           gap: 20px;
       }
       
       .grid-two-columns.small-large {
           grid-template-columns: minmax(300px, 30%) auto;
       }
       
       .grid-two-columns.large-small {
           grid-template-columns: auto minmax(300px, 30%);
       }
       
       .grid-two-columns.even-columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Two equal columns */
    gap: 20px; /* Add some space between the columns */
    width: 100%; /* Ensure the grid doesn't exceed the container */
    box-sizing: border-box; /* Include padding and borders in the width calculation */
}

       
       .grid-two-rows {
           display: grid;
           grid-template-rows: auto auto;
           gap: 20px;
       }
       
        .grid-three-rows {
           display: grid;
           grid-template-rows: auto auto auto;
           gap: 20px;
       }
       
       .opportunity-index {
           width: 30%;
       }
       
       .deal-value {
           width: 70%;
       }
       
       .opportunity-index .item {
           padding: 0;
       }
       
       .center {
           text-align: center;
       }
       
       .item-header {
           display: flex;
           justify-content: space-between;
           align-items: center;
           padding: 20px 0;
           border-bottom: #ddd 1px solid;
           margin-bottom: 24px;
       }
       
       .item-footer {
           display: flex;
           justify-content: space-between;
           gap: 20px;
           padding: 20px 24px;
       }
       
       .item-footer > div {
           text-align: center;
           display: grid;
           gap: 12px;
       }
       
       .doughnut-container {
           padding: 20px 24px;
       }
       
       .tag-container {
           margin: 0;
           border-radius: 4px;
           display: block;
           top: 0;
       }
       
       .stats-grid {
           display: grid;
           gap: 20px;
       }
       
       .space-between {
           display: flex;
           justify-content: space-between;
           flex-direction: column;
       }
       
       .transparent-btn {
           background-color: transparent;
           color: var(--body-font-color);
       }
       
       .transparent-btn:hover, .transparent-btn.active-btn {
            background: rgba( var(--container-color), 1 );
            color: var(--body-font-color);
       }
       
.cards-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    position: relative; /* For proper positioning of dropdowns */

}

.profile-card, .file-card, .invoice-card {
    background: rgba( var(--container-color), 0.3 );
    border-radius: 12px;
    width: 300px;
    overflow: hidden;
    transition: transform 0.3s;
     border: 1px solid #ddd;
     position: relative;
}

.file-card {
    width: 250px;
}

.file-card .card-logo {
    position: absolute;
    top: -30px;
    right: -70px;
    width: 200px;
    overflow: hidden;
    opacity: 0.1;
    z-index: 1;
}

.file-card p {
    font-size: 12px;
    color: #868686;
}

.profile-card:hover, .file-card:hover, .invoice-card:hover {
    transform: translateY(-10px);
}


.profile-card-header, .file-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    
}

.profile-card-header {
    padding: 15px;
    border-bottom: 1px solid rgba( var(--container-color), 1 );
}

.file-card-header {
    padding: 15px 15px 0 15px;
}

.profile-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.file-info {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.invoice-info {
    height: 30px;
     display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center
}

.profile-img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  background-color: #f0f0f0; /* fallback background */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: bold;
  color: #666;
  margin-bottom: 24px;
}

.profile-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.profile-img-wrapper {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    background-color: #f9f9f9;
    display: flex;
    justify-content: center;
    align-items: center;
}

.profile-img-wrapper-big {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    background-color: #f9f9f9;
    display: flex;
    justify-content: center;
    align-items: center;
}


.profile-img-wrapper img {
    width: 100%;
    height: auto;
}

.profile-name {
    margin-bottom: 4px;
}

.profile-email {
    font-size: 12px;
    color: #868686;
}

.more-options-btn {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #aaa;
    transition: color 0.3s;
}

.more-options-btn:hover {
    color: #666;
}

.profile-card-body, .invoice-card-body {
    padding: 15px;
}

.invoice-card-body > div {
    margin-bottom: 4px;
}

.invoice-card-body .paragraph-xs:first-child {
    color: #000000;
}

.profile-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.profile-card-footer {
    padding: 15px;
    text-align: center;
    border-top: 1px solid rgba( var(--container-color), 1 );
}

.message-btn {
    border: none;
    padding: 10px 20px;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.more-options {
    position: relative;
}

.dropdown-menu {
    display: none;
    position: absolute;
    top: 30px;
    right: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 99;
    min-width: 150px;
    padding: 10px 0;
    transition: opacity 0.3s;
}

.dropdown-menu .dropdown-item {
    padding: 10px 15px;
    font-size: 14px;
    color: #333;
    text-decoration: none;
    display: block;
    transition: background-color 0.3s;
}

.dropdown-menu .dropdown-item:hover {
    background-color: #f5f5f5;
}

.more-options:hover .dropdown-menu {
    display: block;
    opacity: 1;
}

.item .section {
    padding-top: 10px;
    padding-bottom: 20px;
    border-bottom: rgba( var(--accent-color), 0.1 ) 2px solid;
}

.item .section:last-child {
    border-bottom: none;
}

.notes {
    background: rgba( var(--container-color), 0.5 );
    padding: 20px 24px;
    border-radius: 12px;
}

.latest-tasks {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba( var(--container-color), 0.5 );
    padding: 0 12px;
    border-radius: 4px;
}

.checkbox-list {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 0px;
}


input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  border: 0.5px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  vertical-align: bottom;
  cursor: pointer;
  position: relative;
  transition: background-color 0.2s ease;
}

input[type="checkbox"]::before {
  content: '';
  position: absolute;
  top: 1px;
  left: 4px;
  width: 4px;
  height: 8px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 0.1s ease;
}

input[type="checkbox"]:checked {
  background-color: #8E9884; /* Example hex green – change to your preferred green */
  border-color: #8E9884;
}

input[type="checkbox"]:checked::before {
  opacity: 1;
}


.latest-tasks {
    transition: background-color 0.3s, color 0.3s;
}

.checked-task {
    color: #7c7c7c; /* Dimmed text */
    text-decoration: line-through;
}

.checked-container {
    opacity: 50%;
}

.gray-text {
    color: #868686;
}

.icon-text {
    gap: 8px;
    display: flex;
    align-items: center;
}

.timeline {
    position: relative;
    margin: 20px 0;
    padding: 0;
    list-style: none;
}

.timeline::before {
    content: '';
    position: absolute;
    left: 20px; /* Align with the center of the icons */
    top: 0;
    bottom: 0;
    width: 2px;
    background: rgba( var(--accent-color), 1 ); /* Vertical line color */
}

.timeline-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
    position: relative;
}

.timeline-icon {
    width: 40px;
    height: 40px;
    background: rgba( var(--accent-color), 1 );
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 18px; /* Adjust icon size */
    flex-shrink: 0;
    position: relative;
    z-index: 1; /* Ensure icons are above the line */
}

.timeline-content {
    background: #f9f9f9; /* Background color of the content */
    padding: 10px 15px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    max-width: 80%; /* Limit the width of the content box */
    margin-left: 20px; /* Space between the icon and content */
}

.timeline-content .paragraph-xs {
    font-size: 0.85em;
    color: #6c757d;
    margin-top: 5px; /* Space between message and timeDiff */
}

.styled-iframe {
    width: 300px;              /* Full width */
    height: auto;             /* Full height of the viewport */
    border: none;              /* Removes borders */
    overflow: hidden;          /* Hides any overflow */
    box-shadow: none;          /* Removes any shadow */
    outline: none;             /* Removes focus outline */
    margin: 0;                 /* Ensures no margin */
    padding: 0;                /* Ensures no padding */
}

.horizontal-navigation {
    width: 100%;
    padding: 8px 10px;

    border-radius: 0.5rem;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    margin-bottom: 24px;
    gap: 8px;
}

.horizontal-navigation .transparent-btn.active-btn {
    background:  rgba( var(--brand-color), 0.1 ) !important;
    border-radius: 4px;
}

.horizontal-navigation .transparent-btn:hover {
    background: rgba(200, 200, 200, 0.7) !important;
    border-radius: 4px;
}

.button-group .circle:hover {
    background: rgba( var(--accent-color), 0.2 );
  
}

.contact-icons .circle {
    font-size: 14px;
}

        /* Upload Area */
        .upload-container {
            border: 2px dashed #ccc;
            border-radius: 10px;
            padding: 30px;
            text-align: center;
            cursor: pointer;
            margin: 20px auto;
            transition: background-color 0.2s;
        }

        .upload-container:hover {
            background-color: #f8f8f8;
        }

        .upload-container p {
            margin: 0;
            color: #555;
        }

       
/* ---- grid ---- */

.gallery {
  display: flex;
  gap: 20px;
}

.column {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.gallery-item {
    width: 100%; /* Full width of the column */
    max-width: 300px; /* Prevent items from getting too large */
    margin: 0 auto 15px; /* Center items and add bottom margin */
    position: relative;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.2s ease-in-out;
}

.gallery-item img {
    width: 100%; /* Scale image to fit container */
    height: auto; /* Maintain aspect ratio */
    display: block;
    border-radius: 8px;
}


/* File Details (on hover) */
.file-details {
    position: absolute;
    bottom: 0;
     left: 0;
   background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0)); /* Gray to transparent */
    
    color: #fff;
    font-size: 14px;
    padding: 30px 10px 10px 10px;
    opacity: 0;
    transition: opacity 0.1s ease;
    width: 100%;
}

.gallery-item:hover .file-details {
    opacity: 1;
}

.file-details .paragraph-xs {
    color: #ffffff;
}

/* Checkbox at Top Left */
.checkbox {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 10;
}

.checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
}

/* Action Options */
.action-options {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px 20px;
    display: flex;
    gap: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.action-options.hidden {
    display: none;
}

.action-options button {
    background: #4caf50;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
}

.action-options button:hover {
    background: #45a049;
}
        
        
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 10; /* Sit on top */
    padding: 100px 0; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
    text-align: left;
   
}

.modal-content {
    position: relative;
    background-color: #fefefe;
    margin: auto;
    padding: 0;
    border: 1px solid #888;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
    -webkit-animation-name: animatetop;
    -webkit-animation-duration: 0.4s;
    animation-name: animatetop;
    animation-duration: 0.4s;
    white-space: normal;
}

@-webkit-keyframes animatetop {
    from {top:-300px; opacity:0}
    to {top:0; opacity:1}
}

@keyframes animatetop {
    from {top:-300px; opacity:0}
    to {top:0; opacity:1}
}

.close {
    color: black;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
     color: rgba( var(--body-font-color), 1 );
    text-decoration: none;
    cursor: pointer;
}

.modal-header {
    padding: 40px 50px 30px 50px;
     background: rgba( var(--container-color), 0.3 );
    color: black;
}

.modal-header p {
    font-size: 16px;
}

.modal-body {
    padding: 40px 20px;
    font-size: 16px;
}

.modal-header h2 {
    margin: 0;
    padding: 0;
    position: relative;
}

.modal-header h2.icon-text {
    width: auto;
}

.modal-header p {
    position: absolute;
    left: 173px;
    bottom: 26px;
}


.page {
    background-color: #EFE9E7;
    padding: 3px 20px 20px 20px;
}

        .page .checkbox-list {
            width: 200px;
        }

.modal-body a {
    margin: 10px;
}

.modal-body a:hover {
    opacity: 80%;
}



      
        .copy-prompts, .upload-container {
            background-color: #EFE9E7;
        }

        .example-container p, .example-container img {
            display: inline-block;
            position: relative;
        }

        .example-container img {
            margin-right: 10px;
            position: relative;
            top: 4px;
            height: 20px;
        }
        
        .example-container li:before {
            color: #6190C3;
            font-size: 28px;
            padding-right: 10px;
            margin-left: -1.2em;
            position: relative;
            top: 5px;
        }
        
        
        .example-container ul {
            margin-left: 20px;
        }
        
        .example-container .prompt:before {
            content: url('https://caitlinoflynn.com/images/image-gallery.svg');
        }

        .example-container .prompt:before {
            content: url('https://caitlinoflynn.com/images/prompt.svg');
        }

        .example-container .example:before {
            content: url('https://caitlinoflynn.com/images/check-brown.svg');
        }

        .example-container ul li {
            list-style-type: none;
            display: block;
            margin-left: 1em;
            margin-top: 5px;
        }



        .modal-content, .modal .content {
            background: #fff;
            padding: 20px;
            border-radius: 8px;
            text-align: center;
        }
        
        .resource-modal .modal-content {
            text-align: left;
            width: 90%;
        }
        
        .modal-content {
             width: 300px;
        }
        
        

        .progress-bar {
            width: 100%;
            height: 20px;
            background: #f3f3f3;
            border-radius: 10px;
            margin: 20px 0;
            overflow: hidden;
        }

        .progress-bar-fill {
            height: 100%;
            background: #4caf50;
            transition: width 0.2s ease-in-out;
        }

        #progressPercentage {
            font-size: 14px;
            color: #333;
        }
        
        .drag-popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 20px 40px;
    border-radius: 10px;
    text-align: center;
    font-size: 18px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    display: none; /* Hidden by default */
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.drag-popup.show {
    display: block;
    opacity: 1;
}

.subboards-section {
    margin-bottom: 30px;
}

.subboard {
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px;
}

.subboard-title {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 10px;
}

.subboard-images {
    display: flex;
    gap: 10px;
    overflow: hidden;
}

.subboard-images img {
    width: 100px;
    height: auto;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.view-more {
    display: block;
    margin-top: 10px;
    color: #4caf50;
    text-decoration: none;
    font-size: 14px;
}

.view-more:hover {
    text-decoration: underline;
}

.invoice-link {
    display: inline-block; /* Ensures the link wraps only the content */
    text-decoration: none; /* Optional: Remove the underline */
    width: auto; /* Prevent it from taking up the full width */
}

.invoice-card {
    display: flex; /* Keeps the card's content structured */
    flex-direction: column;
    border: 1px solid #ddd; /* Optional: Card border styling */
    border-radius: 0.5rem; /* Optional: Rounded corners */
}

.invoice-grid {
    display: flex;
    flex-wrap: wrap; /* Ensure cards wrap when they run out of space */
    gap: 1rem; /* Adds spacing between cards */
}

.filter-search-container {
    padding:  0 0 20px 0;
}

.filters {
    display: flex;
    gap: 20px;
}

.head-symbol {
    position: absolute; inset: 0; left: 0; top: 0; bottom: 0; display: flex; align-items: center; padding-left: 0.75rem; color: #A0AEC0; pointer-events: none;
}

label {
display: block; 
font-weight: 500; 
color: #4A5568; 
margin-bottom: 0.5rem;    
}

label .label {
    font-size: 14px;
}

.input-container, .input-icon-container {
    position: relative;
}

.search-input {
    padding-left: 35px;
}
        .input-container i {
            position: absolute;
            top: 12px;
            left: 12px;
            color: #868686;
        }


.input-icon {
    padding-left: 35px;
}   


.input-icon-container i {
     position: absolute;
            top: 5px;
            left: 12px;
            color: #868686;
}

.flip-upside-down {
transform: scaleY(-1);
}


        .msg {
            padding: 20px 24px;
            border-radius: 18px;
            margin-bottom: 24px;
}

.msg li {
    list-style-type: none;
}

.msg.success {
     background-color: #D9F0DE;
     color: #598A62;
}

.msg.danger {
     color: #5B151D;
    background-color: #FDD6D6;
}

.status-dropdown {
    list-style: none;
    margin: 0;
    padding: 5px 0;
    background: white;
    border: 1px solid #ccc;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}

.status-dropdown li {
    padding: 5px 10px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.status-dropdown li:hover {
    background: #f0f0f0;
}

.status-dropdown .current-status {
    font-weight: bold;
    color: #007bff;
}

      .wrap-inputs {
        display: flex;
        gap: 16px; /* Adjust spacing between inputs as needed */
    }

    .wrap-inputs label {
        flex: 1; /* Allows labels (and their contents) to stretch equally */
    }
    
    .form-container {
        width: 600px;
    }
    
    #line-chart-container {
        margin-top: 32px;
        width: 100%;
    }
    
    @media (max-width: 1500px) {
        
    .grid-two-columns.small-large#line-chart-container {
    display: grid;
    grid-template-rows: auto auto; 
    grid-template-columns: none;   
}

#line-chart-container .column-display {
    flex-direction: row !important;
    
}

#line-chart-container .gap20 {
    justify-content: space-between
}


    }

@media (max-width: 1024px) {
    
    
    
    .vertical-navigation.shrunken ~ .container {
    margin-left: 110px !important;
    transition: margin-left 0.3s ease; /* Smooth transition */
}

.vertical-navigation ~ .container {
    margin-left: 230px !important;
    transition: margin-left 0.3s ease; /* Smooth transition */
}

   .mobile-table {
        display: none;
    }
    
    .desktop-table {
        display: block;
    }
    
    header {
        padding: 12px 30px;
    }
    
    h1 {
        text-align:center;
    }
    
    .margin-bottom-32 {
        margin-bottom: 32px;
    }

    .container {
            margin-left: 230px;
        }
        
        .container.no-navigation {
            margin-left: 30px;
        }
        
         .container {
            margin-right: 30px;
            padding: 80px 0;
            min-height: 100vh;
        }
        
         #mobile-nav, #hamburger-menu, #close-menu {
        display: none;
    }
        
        #desktop-nav {
        display: flex;
    }
   
      .grid-two-columns, .grid-three-columns {
           display: flex;
           gap: 20px;
           flex-direction: column;
       }
       
       
       .profile-card, .file-card, .invoice-card, .invoice-link, .filters, footer  {
           width: 100%;
       }
       
       .filters{
           justify-content: space-between;
           margin-top: 20px;
       }
       
       .filter-search-container {
           display: flex;
       }
       
.page-title .inner-title  {
     color: rgba( var(--body-font-color), 1 );
    background: rgba(var(--container-color), 1);
    height: 30vh;

}

#img-page-title .inner-title {
     color: rgba( var(--body-font-color), 1 );
    background: rgba(var(--container-color), 0.4);
    height: 30vh;
    display: flex;
    align-items: flex-end;
    padding-left: 220px;
}

       
       
}

@media (max-width: 768px) {
    
    h1 {
        font-size: 28px;
    }
    
    .mobile-table {
        display: block;
    }
    
    .desktop-table {
        display: none;
    }
    
        .vertical-navigation.shrunken ~ .container {
    margin-left: 20px !important;
    transition: margin-left 0.3s ease; /* Smooth transition */
}

.vertical-navigation ~ .container {
    margin-left: 20px !important;
    transition: margin-left 0.3s ease; /* Smooth transition */
}

header {
    height: 60px;
}

header .search-input {
    display: none;
}

tbody, td {
            background-color: transparent !important;
            border: none !important;
             padding: 10px 16px !important;
        }
    
    #hamburger-menu {
        display: block;
        position: fixed;
        right: 30px;
        top: 14px;
    }
    
     #mobile-nav, #hamburger-menu, #close-menu {
        display: block;
    }
    
    #mobile-nav button {
        padding: 0 10px !important;
    }
    
    #desktop-nav {
        display: none;
    }
    
        #mobile-nav {
        display: flex;
        width: 100%;
        z-index: 99;
        transform: translateX(100%); /* Start off-screen */
        transition: transform 0.4s ease-in-out; /* Smooth sliding animation */
       opacity: 0; /* Hidden by default */
}

#mobile-nav.visible {
  transform: translateX(0); /* Slide into view */
  opacity: 1; /* Fully visible */
}

#mobile-nav.hidden {
  transform: translateX(100%); /* Slide out of view */
  opacity: 0; /* Fully hidden */
}
    
    #mobile-nav button {
 
        color: white;
  padding: 20px;
        font: 20px;
    }
    
    #mobile-nav .nav-head {
        display: flex;
        justify-content: space-between;
    }


.item {
    padding: 20px 16px;
}

    
.page-title .inner-title {
    background: rgba( var(--container-color), 1 );
    height: 10vh;
    padding-left: 30px;
    width: 100%;
}

    
     .logo {
        display: flex;
        justify-content: space-between;
    }
    
    .logo img {
        width: auto;
        height: 50px;
    }
    
      .container {
            margin-left: 20px;
            margin-right: 20px;
        }
        
        footer {
            margin-left: 0;
        }
    
}

@media (max-width: 480px) {
    .filters {
              flex-wrap: wrap;
    align-content: flex-start;
    flex-direction: column;

       }
       
}


@media (min-width: 1024px) {
    
     .desktop-table {
        display: block;
    }
    
    .mobile-table {
        display: none;
    }
    
    
    .vertical-navigation.shrunken ~ .container {
    margin-left: 110px !important;
    transition: margin-left 0.3s ease; /* Smooth transition */
}

.vertical-navigation ~ .container {
    margin-left: 230px !important;
    transition: margin-left 0.3s ease; /* Smooth transition */
}
    
    header {
        padding: 12px 30px;
    }

    
#desktop-nav {
        display: flex;
    }
    
    #mobile-nav, #hamburger-menu, #close-menu {
        display: none;
    }
    

    
    .grid-two-columns.even-columns {
        display: grid;
            grid-template-columns: 50% 50%;
       }
       
           
       .grid-two-columns.small-large {
           grid-template-columns: 30% auto;
       }
       
       .grid-two-columns.even {
            display: grid;
           grid-template-columns: 50% auto;
       }
       
       
       .grid-two-columns.large-small {
           grid-template-columns: auto 30%;
       }
       
       .page-title .inner-title {
    color: rgba( var(--body-font-color), 1 );
    background: rgba( var(--container-color), 0.3 );
    height: 30vh;
    display: flex;
    align-items: flex-end;
    padding-left: 30px;
}

#img-page-title .inner-title {
    color: rgba( var(--body-font-color), 1 );
    background: rgba(var(--container-color), 0.4);
    height: 30vh;
    display: flex;
    align-items: flex-end;
    padding-left: 30px;
}

.container {
            margin-left: 230px;
            margin-right: 30px;
            padding: 80px 0;
            min-height: 100vh;
        }

.container.no-navigation {
            margin-left: 30px;
        }
    
   
       
       .dashboard-container div:last-child {
           width: 100%;
       }
       
       
       
       footer {
        width: calc(100% - 200px);
        margin-left: 200px;
    }
}

.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* smooth scrolling on iOS */
  width: 100%;
}

.table-scroll table {
  min-width: 600px; /* or however wide your content needs */
  width: 100%;
  border-collapse: collapse;
}

.table-scroll::-webkit-scrollbar {
  height: 6px;
}

.table-scroll::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}

