/* Choices.js custom styling */
.choices {
    margin-bottom: 0 !important;
}

.choices:focus,
.choices:focus-visible {
    outline: none !important;
}

.choices__inner {
    display: block !important;
    width: 100% !important;
    padding: 0.5rem 0.75rem !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    line-height: 1.4rem !important;
    color: #67748e !important;
    background-color: #fff !important;
    background-clip: padding-box !important;
    border: 1px solid #d2d6da !important;
    appearance: none !important;
    border-radius: 0.5rem !important;
    transition: box-shadow 0.15s ease, border-color 0.15s ease !important;
    min-height: unset !important;
}

.choices__list--single {
    padding: 0 !important;
}

.choices__list--dropdown {
    border: 1px solid #d2d6da !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08) !important;
}

.choices__list--dropdown .choices__item {
    padding: 0.5rem 0.75rem !important;
    font-size: 0.875rem !important;
    color: #67748e !important;
}

.choices__list--dropdown .choices__item--selectable.is-highlighted {
    background-color: #f6f9fc !important;
    color: #6BC168 !important;
}

.choices__input {
    background-color: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    font-size: 0.875rem !important;
}

.choices[data-type*='select-one']:after {
    border-color: #67748e transparent transparent transparent !important;
    right: 11.5px !important;
}

.choices[data-type*='select-one'].is-open:after {
    border-color: transparent transparent #67748e transparent !important;
}

.choices__inner:hover {
    border-color: #6BC168 !important;
}

.choices.is-focused .choices__inner {
    border-color: #6BC168 !important;
    box-shadow: 0 0 0 2px rgba(107, 193, 104, 0.25) !important;
}

/* Ensure Choices dropdown collapses after selection */
.choices:not(.is-open) .choices__list--dropdown {
    visibility: hidden !important;
    pointer-events: none;
}

.custom-upload-btn {
    display: inline-block;
    background-color:  #1e8449 ;
    color: #fff;
    padding: 7.5px 20px;
    border: none;
    border-radius: 7.5px;
    font-weight: 700;
    cursor: pointer;
    font-size: 13px;
    transition: background 0.2s;
    text-align: center;
    text-decoration: none;
  }
  
  .custom-upload-btn:hover {
    background-color: #1e8449;
  }
  
  .hidden-input {
    display: none;
  }

.dashboard-poll-chart {
    position: relative;
    flex: 1 1 auto;
    width: 100%;
    min-height: 16rem;
}

.dashboard-poll-chart canvas {
    display: block;
}

.profile-logo-preview {
    width: 172px;
    max-width: 100%;
    height: 58px;
    display: block;
    overflow: hidden;
    background-color: #f8f9fa;
    background-image:
        linear-gradient(45deg, #e9ecef 25%, transparent 25%),
        linear-gradient(-45deg, #e9ecef 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #e9ecef 75%),
        linear-gradient(-45deg, transparent 75%, #e9ecef 75%);
    background-size: 12px 12px;
    background-position: 0 0, 0 6px, 6px -6px, -6px 0;
}

.profile-logo-preview-img {
    display: block;
    width: 172px;
    height: 58px;
    max-width: 100%;
    object-fit: contain;
}

.profile-logo-crop-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.75);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 2100;
    padding: 16px;
}

.profile-logo-crop-modal__panel {
    background: #fff;
    border-radius: 10px;
    width: min(96vw, 900px);
    max-height: 92vh;
    overflow-y: auto;
    padding: 16px;
}

.profile-logo-crop-container {
    width: 100%;
    max-height: 55vh;
    background: #111;
    border-radius: 8px;
    overflow: hidden;
}

.profile-logo-crop-container img {
    display: block;
    max-width: 100%;
}

.profile-logo-crop-preview-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 12px;
}

.profile-logo-crop-preview-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #6c757d;
    margin-bottom: 8px;
}

.profile-logo-crop-preview-frame {
    width: min(100%, 344px);
    aspect-ratio: 344 / 116;
    border: 2px solid #dee2e6;
    border-radius: 8px;
    overflow: hidden;
    background: #f8f9fa;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.04);
}

.profile-logo-crop-preview-frame img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (min-width: 768px) {
    .profile-logo-crop-preview-wrap {
        margin-top: 0;
    }
}