:root {
  --main-bg-color: #f7f9fb;
  --main-text-color: #2c3e50;
  --second-text-color: #6c757d;
  --second-bg-color: #ffffff;
  --primary-color: #0d6efd; 
  --secondary-color: #e9ecef;
  --sidebar-width: 17rem;
}

body {
    font-family: 'Outfit', sans-serif;
    background-color: var(--main-bg-color);
    overflow-x: hidden;
}

.primary-text {
  color: var(--main-text-color);
}

.second-text {
  color: var(--second-text-color);
}

.primary-bg {
  background-color: var(--main-bg-color);
}

.secondary-bg {
  background-color: var(--second-bg-color);
}

.rounded-full {
  border-radius: 100%;
}

#wrapper {
  overflow-x: hidden;
  background-image: linear-gradient(
    to right,
    #ffffff,
    #ffffff,
    #ffffff,
    #ffffff,
    #ffffff
  );
}

#sidebar-wrapper {
  min-height: 100vh;
  margin-left: -var(--sidebar-width); 
  -webkit-transition: margin 0.25s ease-out;
  -moz-transition: margin 0.25s ease-out;
  -o-transition: margin 0.25s ease-out;
  transition: margin 0.25s ease-out;
  width: var(--sidebar-width); 
  position: fixed; 
  z-index: 1000;
  box-shadow: 0 0 15px rgba(0,0,0,0.05);
}

#sidebar-wrapper .sidebar-heading {
  padding: 0.875rem 1.25rem;
  font-size: 1.2rem;
}

#sidebar-wrapper .list-group {
  width: var(--sidebar-width);
}

#page-content-wrapper {
  width: 100%;
  margin-left: 0; 
  padding-left: 0; 
  transition: padding-left 0.25s ease-out; 
}

#wrapper.toggled #sidebar-wrapper {
  margin-left: 0;
}

#wrapper.toggled #page-content-wrapper {
   padding-left: var(--sidebar-width); 
}

@media (min-width: 768px) {
  #sidebar-wrapper {
    margin-left: 0;
    position: fixed; 
  }

  #page-content-wrapper {
    width: 100%;
    padding-left: var(--sidebar-width); 
  }

  #wrapper.toggled #sidebar-wrapper {
    margin-left: -var(--sidebar-width);
  }
  
  #wrapper.toggled #page-content-wrapper {
      padding-left: 0;
  }
}

.start-box {
    background-color: white;
    padding: 20px;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
}

.start-box:hover {
    transform: translateY(-5px);
}

.list-group-item {
  border: none;
  padding: 20px 30px;
}

.list-group-item.active {
  background-color: transparent;
  color: var(--main-text-color);
  font-weight: bold;
  border-left: 5px solid var(--primary-color);
}

.glass-effect {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

/* Global Placeholder Styling for 'Sleek/Silik' look */
::placeholder { /* Modern Browsers */
  color: #aab0b6 !important;
  opacity: 1; /* Firefox defaults to lower opacity */
  font-weight: 300;
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #aab0b6 !important;
  font-weight: 300;
}

::-ms-input-placeholder { /* Microsoft Edge */
  color: #aab0b6 !important;
  font-weight: 300;
}

/* Folder list modals: 70% of content width/height */
.folder-modal {
  padding-left: 0;
}

@media (min-width: 768px) {
  .folder-modal {
    padding-left: var(--sidebar-width);
  }
}

.folder-modal .modal-dialog {
  width: calc((100vw - var(--sidebar-width)) * 0.7);
  max-width: calc((100vw - var(--sidebar-width)) * 0.7);
  height: 70vh;
}

.folder-modal .modal-content {
  height: 70vh;
}

.folder-modal .modal-body {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

.folder-modal #folderListGroup,
.folder-modal #folderList {
  flex: 1 1 auto;
  max-height: none;
  overflow-y: auto;
  padding-bottom: 0.5rem;
}