@font-face {
  font-family: "BebasNeue";
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/BebasNeue-Regular.ttf);
}

/* CSS Variables */
:root {
    --bg-shaddow-color: #9ab5be;
    --bg-shaddow-color-internal: #e4f2f7;
    --bg-highlight-color: #ffffff;
    --dw-dark-teal: #2f6f82;
    --dw-dark-orange: #ff8300;
    --dw-dark-orange-hover: #ff4400;
    --dw-hot-pink: #ff009c;
    --dw-danger-red: #e72727;
    --dw-hot-pink-hover: #b70170;
    --dw-dark-teal-hover: #1f4a54;
    --dw-gray-text: #666666;
    --dw-border-gray: #e0e0e0;
    --dw-dark-gray-text: #333333;
    --dw-light-gray-background: #fafafa;
    --dw-button-hover: #218328;
    --border-radius: 5px;
    --header-height: 60px;
    --spacing-xxs: 4px;
    --spacing-xs: 8px;
    --spacing-sm: 15px;
    --spacing-md: 20px;
    --spacing-lg: 30px;
    --spacing-xl: 40px;
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 2px 12px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 4px 16px rgba(0, 0, 0, 0.15);
    --transition-speed: 0.3s;
    --border-colour: #ddd;
}

/* Animated Properties */
@property --bg-lightsource-left {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 20%;
}
@property --bg-lightsource-height {
  syntax: "<percentage>";
  inherits: false;
  initial-value: -20%;
}
@property --section-shadow-horizontal {
  syntax: "<length>";
  inherits: false;
  initial-value: 5px;
}
@property --section-shadow-vertical {
  syntax: "<length>";
  inherits: false;
  initial-value: 1px;
}
@property --section-highlight-horizontal {
  syntax: "<length>";
  inherits: false;
  initial-value: -3px;
}
@property --section-highlight-vertical {
  syntax: "<length>";
  inherits: false;
  initial-value: -1px;
}
@property --text-shadow-horizontal {
  syntax: "<length>";
  inherits: false;
  initial-value: 1px;
}
@property --text-shadow-vertical {
  syntax: "<length>";
  inherits: false;
  initial-value: 1px;
}

/* Base Styles */
* {
  box-sizing: border-box;
}

html {
    height: 100%;
    font-size: 16px;
}

body {
    font-family: Helvetica, Arial, sans-serif;
    margin: 0;
    padding: 0;
    background: radial-gradient( at var(--bg-lightsource-left) var(--bg-lightsource-height), var(--bg-highlight-color) 20%, var(--bg-shaddow-color) 100% );
    background-attachment: fixed;
    color: var(--dw-dark-gray-text);
    
}


/* Typography */
h2 {
    font-family: "BebasNeue", sans-serif;
    letter-spacing: 3px;
    color: var(--dw-dark-teal);
    font-size: 60px;
    margin-bottom: var(--spacing-xs);
    margin-top: 0;
}
h4 {
    color: var(--dw-dark-teal);
}
.hr {
    width: 100%;
    display: block;
    border-bottom: 2px solid var(--dw-dark-teal);
    margin: var(--spacing-lg) 0;
 
}
.hr-sidebar {
   width: calc(100% - (var(--spacing-md) + 5px ));
    display: block;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    margin: var(--spacing-xs) var(--spacing-md);
}

/* Header Styles */
.dw-header {
    width: 100%;
    padding: var(--spacing-xs) var(--spacing-sm);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
}

.dw-header-logo {
  opacity: 0.5;
  height: 40px;
  margin-right: var(--spacing-sm);
}

.dw-header-content {
  display: flex;
  justify-content: space-between;
}

.header-right {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
}

.mg-bt {
    margin-bottom:var(--spacing-sm)
}
.mw-500 {
    max-width: 500px;
}
.mw-700 {
    max-width: 700px;
}
.margin-0 {
margin:0;
}
/* Sidebar Navigation */
.sidebar {
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    background-color: var(--dw-dark-teal);
    color: white;
    padding: var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) 0;
    z-index: 1000;
    transition: width var(--transition-speed) ease;
    display: flex;
    flex-direction: column;
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.2);
}

.sidebar.open {
  width: fit-content;
}

.sidebar.open .nav-label {
  display: block;
}

.sidebar.minimized {
  width: 80px;
}

.sidebar.minimized .nav-label {
  display: none;
}

.sidebar-header {
    margin: var(--spacing-lg) var(--spacing-xs) var(--spacing-md) var(--spacing-md);
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    display: flex;
    justify-content: flex-end;
}

.sidebar-toggle {
  background: none;
  border: none;
  color: white;
  cursor: pointer;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--transition-speed);
  flex-shrink: 0;
}

.sidebar-toggle:hover {
  transform: scale(1.2);
}

.sidebar-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    flex-shrink: 0;
    padding-left: var(--spacing-sm);
}

    .sidebar-logo img {
        height: 45px;
        width: 45px;
        object-fit: contain;
        filter: brightness(0) invert(1) drop-shadow(0px 0px 10px rgba(255,255,255,0.5));
        
    }

.sidebar-nav {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.nav-item {
    display: flex;
    background: none;
    border: none;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-xs) var(--spacing-sm) var(--spacing-xs) calc(var(--spacing-sm) * 2);
    color: white;
    text-decoration: none;
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
    transition: background-color 0.2s;
    cursor: pointer;
    overflow: hidden;
}
.right-actions .nav-item {margin-left:10px;
}
.standard-container-header .nav-item {
    width: 22px;
    padding: 0;
}
.sidebar-nav .nav-item:hover {
    background-color: rgba(255, 255, 255, 0.15);
    border-left: 5px solid #fff;
    padding-left: 25px;
}
.sidebar-nav .nav-item.active img {
    filter: drop-shadow(0px 0px 3px rgba(255,255,255,0.7));
}
.nav-item.active {
    background-color: var(--dw-dark-teal-hover);
    border-left: 5px solid var(--dw-hot-pink);
    padding-left: 25px;
    text-shadow: rgba(255, 255, 255, 0.8) 0px 0px 8px;
}

.nav-item:hover .nav-icon {
  animation: iconRotateScale 0.6s ease-in-out;
}

@keyframes iconRotateScale {
  0%, 100% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(25deg) scale(1.1);
  }
}

.nav-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.title-icon { width:44px; margin-right:var(--spacing-sm);
}
.nav-label {
    font-size: 1rem;
    white-space: nowrap;
}


.sidebar-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: var(--spacing-sm);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Main Content Layout */
.main-content {
  transition: margin-left var(--transition-speed) ease;
}

.main-content.sidebar-open {
  margin-left: var(--sidebar-width, 250px);
}

.main-content.sidebar-minimized {
  margin-left: 80px;
}

.App {
  display: flex;
}

.App-main {
  padding: 0 60px;
}

.App.logged-in {
  flex-direction: row;
}
/* duel list classes */
.duel-list-section {
}
.duel-list {
    width:100%;
    display:block;
    padding-bottom:30px;
}
.duel-list:nth-child(2) {
    margin-top:30px;
}
.team-member-list-item {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--spacing-xs);
    font-size: 0.95rem;
    flex-wrap: wrap;
}
    .team-member-list-item.item-added {
        grid-template-columns: 1fr  auto;
    }
.grayed-out {
    pointer-events: none;
    opacity: 0.5;
    filter: saturate(0);
}
.no-user-selected {
    font-size: 0.95rem;
    padding-top:5px;
}

@media (min-width: 1200px) {
    .duel-list-section {
            display: flex;
            gap: var(--spacing-xl);
        }

        .duel-list {
            width: 67%;
            display: block;
        }

            .duel-list:nth-child(2) {
                width: 33%;
                margin-top: 0;
            }
    }
    /* Card Component - Reusable */
    .card {
        background: white;
        border-radius: var(--border-radius);
        padding: var(--spacing-lg);
        box-shadow: var(--shadow-sm);
    }

    .card-header {
        display: flex;
        justify-content: space-between;
        align-items: start;
        margin-bottom: var(--spacing-sm);
        border-bottom: 2px solid var(--dw-dark-teal);
        padding-bottom: var(--spacing-md)
    }

.standard-container-header h3, .card-header h3 {
    font-size: 1.2rem;
    color: var(--dw-dark-teal);
    margin: 0;
}

    .card-body {
        flex: 1;
        margin-bottom: var(--spacing-sm);
    }

    .card-actions {
        display: flex;
        gap: 10px;
    }

    /* Settings Items */
    .settings-list {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-sm);
    }

    .settings-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: var(--spacing-sm);
        background-color: #f9f9f9;
        border-radius: var(--border-radius);
        gap: var(--spacing-md);
    }

    .settings-item-column {
        flex-direction: column;
        align-items: stretch;
    }

        .settings-item-column .settings-item-content {
            margin-bottom: var(--spacing-sm);
        }

        .settings-item-column .form-input {
            width: 100%;
        }

    .settings-item-content {
        flex: 1;
        min-width: 0;
    }

    .settings-item-title {
        font-weight: 600;
        color: var(--dw-dark-teal);
        margin-bottom: 4px;
        font-size: 0.95rem;
    }

    .settings-item-subtitle {
        color: #666;
        font-size: 0.85rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .btn-sm {
        padding: 8px 16px;
        font-size: 0.875rem;
        white-space: nowrap;
    }

    /* Page Container - Reusable */
    .page-content {
        width: 100%;
        animation: fadeIn 0.7s ease-in;
    }

    @keyframes fadeIn {
        from {
            opacity: 0;
        }

        to {
            opacity: 1;
        }
    }

    .page-container {
        max-width: 1300px;
        margin: 0 auto;
        padding: var(--spacing-xl) var(--spacing-md);
    }

    .page-subtitle {
        font-size: 1.1rem;
        color: #555;
        margin-top: 0;
        margin-bottom: var(--spacing-lg);
        color: var(--dw-dark-teal);
    }

    /* Dashboard Statistics */
    .dashboard-stats {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: var(--spacing-sm);
        margin-top: var(--spacing-xl);
    }

    .stat-card {
        border-radius: var(--border-radius);
        padding: var(--spacing-sm) var(--spacing-md);
        display: flex;
        gap: var(--spacing-sm);
        transition: all var(--transition-speed);
    }

    .stat-icon {
        width: 40px;
        height: 40px;
        background: linear-gradient(135deg, var(--dw-dark-teal) 0%, var(--dw-dark-teal-hover) 100%);
        border-radius: var(--border-radius);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        color: white;
    }

        .stat-icon img {
            width: 22px;
            height: 22px;
            filter: brightness(0) invert(1);
        }

        .stat-icon svg {
            width: 22px;
            height: 22px;
        }

    .stat-content {
        flex: 1;
        min-width: 0;
    }

    .stat-value {
        font-size: 1.5rem;
        font-weight: 700;
        color: var(--dw-dark-teal);
        line-height: 1;
        margin-bottom: 2px;
    }

    .stat-label {
        font-size: 0.75rem;
        color: #666;
        line-height: 1.2;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    /* Validation - Reusable */
    .text-danger {
        color: #dc3545;
        font-size: 0.875rem;
        margin-top: 4px;
        display: block;
    }

    .validation-summary-errors {
        background-color: #f8d7da;
        border: 1px solid var(--border-colour);
        border-radius: var(--border-radius);
        color: #842029;
        padding: var(--spacing-sm);
        margin-bottom: var(--spacing-md);
    }

        .validation-summary-errors ul {
            margin: 0;
            padding-left: var(--spacing-md);
        }

    /* Alert Component - Reusable */
    .alert {
        padding: var(--spacing-sm) var(--spacing-md);
        border-radius: var(--border-radius);
        margin-bottom: var(--spacing-md);
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .alert-success {
        background-color: #d1e7dd;
        border: 1px solid #badbcc;
        color: #0f5132;
    }

    .alert-danger {
        background-color: #f8d7da;
        border: 1px solid #f5c2c7;
        color: #842029;
    }

    .alert-warning {
        background-color: #fff3cd;
        border: 1px solid #ffecb5;
        color: #664d03;
    }

    .alert-info {
        background-color: #cff4fc;
        border: 1px solid #b6effb;
        color: #055160;
    }

    .alert-dismissible {
        padding-right: 45px;
        position: relative;
    }

    .btn-close {
        background: transparent;
        border: none;
        font-size: 1.2rem;
        cursor: pointer;
        opacity: 0.5;
        transition: opacity var(--transition-speed);
        padding: 0;
        width: 20px;
        height: 20px;
    }

        .btn-close:hover {
            opacity: 1;
        }

        .btn-close::before {
            content: '×';
            font-size: 1.5rem;
            line-height: 1;
        }

    /* Button Component - Reusable */
    button {
        font-size: 1rem;
    }

.btn {
    padding: 7px var(--spacing-sm);
    border: none;
    border-radius: var(--border-radius);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition-speed);
    text-decoration: none;
    display: inline-flex;
    gap: 5px;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

        .btn img, .vertical-align-sub {
            vertical-align: sub;
        }

    .btn-primary {
        background-color: var(--dw-dark-teal);
        color: white;
    }
.pagination-btn {
    width: 30px;
    height: 30px;
    border-radius: 100%;
}

.right-actions .pagination-btn {
    width: 35px;
    height: 35px;
    border-radius: var(--border-radius);
}

    .btn-primary-orange {
        background-color: var(--dw-dark-orange);
        color: white;
    }

    .btn-primary-pink {
        background-color: var(--dw-hot-pink);
        color: white;
    }

.btn-primary:hover{
    background-color: var(--dw-dark-teal-hover);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(47, 111, 130, 0.3);
}

    .btn-primary-orange:hover {
        background-color: var(--dw-dark-orange-hover);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(130, 47, 47, 0.3);
    }

    .btn-primary-pink:hover {
        background-color: var(--dw-hot-pink-hover);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(183, 1, 112, 0.3);
    }

    .btn-primary:active, .btn-primary-orange:active {
        transform: translateY(0);
    }

    .btn-secondary {
        background-color: #e9e9e9;
        color: #666;
    }

        .btn-secondary:hover {
            background-color: #ffffff;
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
        }


    .btn-block {
        width: 100%;
    }

    .btn-danger {
        background-color: var(--dw-danger-red);
        color: white;
    }

        .btn-danger:hover {
            background-color: #ff5252;
        }

    .btn:disabled,
    .btn[disabled] {
        opacity: 0.5;
        cursor: not-allowed;
        background-color: #e0e0e0;
        color: #999;
        transform: none;
        box-shadow: none;
    }

        .btn:disabled:hover,
        .btn[disabled]:hover {
            opacity: 0.5;
            background-color: #e0e0e0;
            color: #999;
            transform: none;
            box-shadow: none;
        }

    .btn-primary:disabled,
    .btn-primary[disabled],
    .btn-primary-orange:disabled,
    .btn-primary-orange[disabled],
    .btn-primary-pink:disabled,
    .btn-primary-pink[disabled] {
        opacity: 0.6;
        cursor: not-allowed;
        background-color: #ccc;
        color: #666;
    }

        .btn-primary:disabled:hover,
        .btn-primary[disabled]:hover,
        .btn-primary-orange:disabled:hover,
        .btn-primary-orange[disabled]:hover,
        .btn-primary-pink:disabled:hover,
        .btn-primary-pink[disabled]:hover {
            opacity: 0.6;
            background-color: #ccc;
            color: #666;
            transform: none;
            box-shadow: none;
        }

    .btn-secondary:disabled,
    .btn-secondary[disabled] {
        opacity: 0.5;
        cursor: not-allowed;
        background-color: #f5f5f5;
        color: #ccc;
    }

        .btn-secondary:disabled:hover,
        .btn-secondary[disabled]:hover {
            opacity: 0.5;
            background-color: #f5f5f5;
            color: #ccc;
            transform: none;
            box-shadow: none;
        }

    /* Form and Form Actions */
    .form-actions {
        display: flex;
        gap: var(--spacing-sm);
        margin-top: var(--spacing-lg);
    }

    .form-footer {
        margin-top: var(--spacing-sm);
        padding-top: var(--spacing-sm);
        border-top: 1px solid var(--border-colour);
    }

    
    /*Loader*/
    .loader {
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 200px;
        opacity: 0.5;
        width: 100%;
    }

    /* Loading Overlay */
.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    animation: fadeIn 0.2s ease-in;
    backdrop-filter: blur(5px);
    transition: opacity 0.3s ease-out, left 0.3s ease;
}

/* Adjust loading overlay for sidebar states */
.sidebar-open ~ * .loading-overlay,
.main-content.sidebar-open .loading-overlay {
    left: 250px;
}

.sidebar-minimized ~ * .loading-overlay,
.main-content.sidebar-minimized .loading-overlay {
    left: 80px;
}

.loading-overlay-fade-out {
    opacity: 0;
}

    .loading-overlay-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: var(--spacing-md);
    }

    .loading-overlay-spinner {
        width: 140px;
        height: 140px;
        opacity: 1;
      
    }



.loading-overlay-message {
    color: var(--dw-dark-teal);
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    margin: 0;
   
}

    /* Status Badge - Reusable */
    .badge {
        padding: 4px 12px;
        border-radius: 12px;
        font-size: 0.75rem;
        font-weight: 600;
    }

    .badge-success {
        background-color: #e8f5e9;
        color: #2e7d32;
    }

    .badge-warning {
        background-color: #fff3e0;
        color: #e65100;
    }

    .badge-info {
        background-color: #e3f2fd;
        color: #1565c0;
    }

    /* Empty State - Reusable */
.standard-container {
    grid-column: 1 / -1;
    padding: var(--spacing-lg);
    background: white;
    border-radius: calc(var(--border-radius) * 1.5);
    box-shadow: var(--shadow-sm);
    position: relative;
    color: var(--dw-dark-teal)
}

    .standard-form-container {
        padding: 10px var(--spacing-md) var(--spacing-md) var(--spacing-md);
        background: white;
        border-radius: var(--border-radius);
        box-shadow: var(--shadow-sm);
        position: relative;
    }

        .standard-form-container h3 {
            color: var(--dw-dark-teal);
            font-size: 1.5rem;
        }

    .standard-container-header {
        text-align: left;
        padding-bottom: var(--spacing-md);
        border-bottom: 2px solid var(--dw-dark-teal);
        margin-bottom: var(--spacing-lg);
        display: flex;
        flex-wrap:wrap;
        justify-content: space-between;
        align-items: center;
    }
        .standard-container-header.editor-header {
            padding-bottom:0;
            border-bottom:none;
            margin-bottom:0;
        }

.header-and-span {
    flex: 1;
    min-width: 0;
    padding-right:var(--spacing-md)
}

    .header-and-span h3 {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        min-width: 0;
    }


    .icon-btn {
        background: none;
        border: none;
        cursor: pointer;
        padding: 4px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: var(--border-radius);
        transition: background-color var(--transition-speed), transform var(--transition-speed);
    }

        .icon-btn:hover {
            background-color: rgba(47, 111, 130, 0.1);
            transform: scale(1.1);
        }

        .icon-btn img {
            width: 24px;
            height: 24px;
        }

    .standard-container-icon {
        width: 120px;
        height: 120px;
        margin-top: var(--spacing-xl);
        margin-bottom: var(--spacing-md);
        opacity: 0.3;
    }

    .standard-container h3 {
        color: var(--dw-dark-teal);
      font-size:1.1rem;
    }

    .standard-container p {
        color: #666;
        margin-bottom: var(--spacing-md);
    }

.empty-state {
    text-align: center;
    margin-bottom: 50px;
}
    .empty-state h3 {
        margin-top:0;
    }
    /* Toggle Switch - Reusable */
    .toggle-switch {
        display: inline-flex;
        align-items: center;
        cursor: pointer;
        position: relative;
    }

        .toggle-switch input {
            display: none;
        }

    .toggle-slider {
        display: inline-block;
        width: 50px;
        height: 26px;
        background-color: #ccc;
        border-radius: 13px;
        position: relative;
        transition: background-color var(--transition-speed);
    }

        .toggle-slider::after {
            content: '';
            position: absolute;
            width: 22px;
            height: 22px;
            background-color: white;
            border-radius: 50%;
            top: 2px;
            left: 2px;
            transition: left var(--transition-speed);
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
        }

    .toggle-switch input:checked + .toggle-slider {
        background-color: var(--dw-dark-teal);
    }

        .toggle-switch input:checked + .toggle-slider::after {
            left: 26px;
        }
    /* Custom Checkbox - Reusable */
    .custom-checkbox {
        display: inline-flex;
        align-items: center;
        cursor: pointer;
        position: relative;
        user-select: none;
    }

        .custom-checkbox input[type="checkbox"] {
            position: absolute;
            opacity: 0;
            cursor: pointer;
            height: 0;
            width: 0;
        }

    .checkbox-box {
        display: inline-block;
        width: 25px;
        height: 25px;
        border: 2px solid #e0e0e0;
        border-radius: 4px;
        background-color: white;
        position: relative;
        transition: all var(--transition-speed);
        flex-shrink: 0;
    }

    .custom-checkbox:hover .checkbox-box {
        border-color: var(--dw-dark-teal);
        background-color: #fafafa;
    }

    .custom-checkbox input[type="checkbox"]:checked + .checkbox-box {
        background-color: var(--dw-dark-teal);
        border-color: var(--dw-dark-teal);
    }

        .custom-checkbox input[type="checkbox"]:checked + .checkbox-box::after {
            content: '';
            position: absolute;
            left: 7px;
            top: 3px;
            width: 5px;
            height: 10px;
            border: solid white;
            border-width: 0 2px 2px 0;
            transform: rotate(45deg);
        }

    .custom-checkbox input[type="checkbox"]:focus + .checkbox-box {
        box-shadow: 0 0 0 3px rgba(47, 111, 130, 0.1);
    }

    .custom-checkbox input[type="checkbox"]:disabled + .checkbox-box {
        background-color: #f5f5f5;
        border-color: #ddd;
        cursor: not-allowed;
        opacity: 0.6;
    }

    .checkbox-label {
        margin-left: var(--spacing-xs);
        color: var(--dw-dark-teal);
        font-size: 0.95rem;
        font-weight: 500;
    }

    .custom-checkbox input[type="checkbox"]:disabled ~ .checkbox-label {
        color: #999;
        cursor: not-allowed;
    }

    /* Checkbox Group Container */
    .checkbox-group {
        display: flex;
        flex-direction: column;
        margin-top: var(--spacing-xs);
    }
    
    /* Custom Radio Button - Reusable */
    .custom-radio {
        display: inline-flex;
        align-items: center;
        cursor: pointer;
        position: relative;
        user-select: none;
    }

        .custom-radio input[type="radio"] {
            position: absolute;
            opacity: 0;
            cursor: pointer;
            height: 0;
            width: 0;
        }

    .radio-circle {
        display: inline-block;
        width: 26px;
        height: 26px;
        border: 2px solid #e0e0e0;
        border-radius: 50%;
        background-color: white;
        position: relative;
        transition: all var(--transition-speed);
        flex-shrink: 0;
    }

    .custom-radio:hover .radio-circle {
        border-color: var(--dw-dark-teal);
        background-color: #fafafa;
    }

    .custom-radio input[type="radio"]:checked + .radio-circle {
        border-color: var(--dw-dark-teal);
        background-color: white;
    }

        .custom-radio input[type="radio"]:checked + .radio-circle::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 13px;
            height: 13px;
            border-radius: 50%;
            background-color: var(--dw-dark-teal);
        }

    .custom-radio input[type="radio"]:focus + .radio-circle {
        box-shadow: 0 0 0 3px rgba(47, 111, 130, 0.1);
    }

    .custom-radio input[type="radio"]:disabled + .radio-circle {
        background-color: #f5f5f5;
        border-color: #ddd;
        cursor: not-allowed;
        opacity: 0.6;
    }

        .custom-radio input[type="radio"]:disabled + .radio-circle::after {
            background-color: #999;
        }

    .radio-label {
        margin-left: var(--spacing-xs);
        color: var(--dw-dark-teal);
        font-size: 0.95rem;
        font-weight: 500;
    }

    .custom-radio input[type="radio"]:disabled ~ .radio-label {
        color: #999;
        cursor: not-allowed;
    }

    /* Radio Button Group Container */
.radio-group {
    display: flex;
    flex-direction: column;
    padding-left: var(--spacing-sm)
}

    .radio-group-inline {
        display: flex;
        flex-direction: row;
        gap: var(--spacing-md);
        flex-wrap: wrap;
    }
    /* Meta Info - Reusable */
    .meta {
        display: flex;
        gap: var(--spacing-sm);
        font-size: 0.85rem;
        color: #999;
    }

    /* Description Text - Reusable */
    .description {
        color: var(--dw-gray-text);
        font-size: 0.95rem;
        line-height: 1.5;
        margin-bottom: var(--spacing-sm);
    }

    /* Form List Table Row Styles */
    .form-list-row, .form-list .list-item > div {
        display: grid;
        grid-template-columns: 1.5fr 1fr 1fr auto;
        gap: var(--spacing-md);
        align-items: center;
        padding: var(--spacing-sm);
        border: 1px solid var(--border-colour);
        border-radius: var(--border-radius);
        background-color: white;
        transition: background-color var(--transition-speed), box-shadow var(--transition-speed);
        margin-bottom: var(--spacing-sm);
    }

        .form-list-row.tennant {
            grid-template-columns: 2fr auto;
        }

        .form-list-row:hover, .form-list .list-item > div:hover {
            background-color: #f5f5f5;
            box-shadow: var(--shadow-sm);
        }

    .form-list .list-card-header, .form-list .list-card-description, .form-list .list-card-data {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .form-list .list-item > div {
        text-align: left;
    }

    .form-list-tiles .list-item-wrapper {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

        .form-list-tiles .list-item-wrapper .list-item {
            width: 100%;
            border-radius: var(--border-radius);
            display: flex;
            flex-direction: column;
            position: relative;
            overflow: hidden;
            margin: 0 10px 10px 10px;
            text-align: left;
            transition: transform var(--transition-speed), box-shadow var(--transition-speed);
        }

            .form-list-tiles .list-item-wrapper .list-item:hover {
                transform: translateY(-3px);
                box-shadow: 0 8px 24px rgba(255, 131, 0, 0.15), 0 4px 12px rgba(0, 0, 0, 0.08);
            }

    /* Modern Template Card Styles */
    .form-list-tiles .template-card-inner {
        display: flex;
        flex-direction: column;
        height: 100%;
        background: white;
        border-radius: var(--border-radius);
        border: 1px solid #eaeaea;
        overflow: hidden;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    }

    .form-list-tiles .template-card-accent {
        height: 4px;
        background: linear-gradient(90deg, var(--dw-dark-orange), #ffb366);
        flex-shrink: 0;
    }

    .form-list-tiles .template-card-content {
        padding: 20px;
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .form-list-tiles .template-card-title {
        font-size: 1.15rem;
        font-weight: 700;
        color: var(--dw-dark-teal);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .form-list-tiles .template-card-desc {
        font-size: 0.85rem;
        color: #666;
        line-height: 1.4;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .form-list-tiles .template-card-meta {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-top: auto;
        padding-top: 12px;
    }

    .form-list-tiles .template-card-badge {
        font-size: 0.75rem;
        font-weight: 600;
        color: var(--dw-dark-orange);
        background: rgba(255, 131, 0, 0.08);
        padding: 3px 10px;
        border-radius: 12px;
        border: 1px solid rgba(255, 131, 0, 0.2);
    }

    .form-list-tiles .template-card-date {
        font-size: 0.75rem;
        color: #999;
    }

    .form-list-tiles .template-card-actions {
        display: flex;
        align-items: center;
        gap: 0;
        border-top: 1px solid #f0f0f0;
        background: #fafafa;
    }

    .form-list-tiles .template-card-btn {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 10px 12px;
        font-size: 0.8rem;
        font-weight: 600;
        text-decoration: none;
        cursor: pointer;
        border: none;
        background: none;
        transition: background var(--transition-speed), color var(--transition-speed);
    }

    .form-list-tiles .template-card-btn + .template-card-btn {
        border-left: 1px solid #eaeaea;
    }

    .form-list-tiles .template-card-btn-create {
        color: var(--dw-dark-orange);
    }

    .form-list-tiles .template-card-btn-create:hover {
        background: var(--dw-dark-orange);
        color: white;
    }

    .form-list-tiles .template-card-btn-edit {
        color: var(--dw-dark-teal);
    }

    .form-list-tiles .template-card-btn-edit:hover {
        background: rgba(47, 111, 130, 0.06);
    }

    .form-list-tiles .template-card-btn-delete {
        color: #999;
    }

    .form-list-tiles .template-card-btn-delete:hover {
        background: rgba(231, 39, 39, 0.06);
        color: var(--dw-danger-red);
    }

    .form-list-tiles .list-card-header {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: var(--dw-dark-teal);
        font-size: 1.4rem;
    }

    .form-list-tiles .list-card-description {
        color: var(--dw-dark-teal);
        font-size: 0.9rem;
        margin: 5px 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .form-list-tiles .list-card-data {
        color: var(--dw-gray-text);
        font-size: 0.9rem;
    }

    .form-list-tiles .list-card-footer {
        position: absolute;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: var(--dw-dark-orange);
        text-align: right;
        height: 36px;
    }

    .form-list-tiles .list-card-edit {
        display: none
    }

    .form-list .list-card-create, .form-list .list-card-description {
        display: none
    }

    .form-list-tiles .list-card-link {
        text-decoration: none;
        font-family: "BebasNeue", sans-serif;
        letter-spacing: 3px;
        color: white;
        font-size: 1.5rem;
        position: absolute;
        right: 0;
        bottom: 0px;
        cursor: pointer;
        padding: 4px 10px;
        border-left: 1px solid white;
        background-color: rgba(0, 0, 0, 0.1);
        height: 100%;
    }

        .form-list-tiles .list-card-link:hover {
            background-color: rgba(255,255,255,0.3);
        }

    @media (min-width: 400px) {
        .form-list-tiles .list-item-wrapper .list-item {
            width: calc(50% - 20px);
        }
    }

    @media (min-width: 900px) {
        .form-list-tiles .list-item-wrapper .list-item {
            width: calc(33.3% - 20px);
        }
    }

    @media (min-width: 1300px) {
        .form-list-tiles .list-item-wrapper .list-item {
            width: calc(25% - 20px);
        }
    }

    .form-list-cell {
        display: flex;
        align-items: center;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .form-name {
        font-weight: 600;
        font-size: 1rem;
        color: var(--dw-dark-teal);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .form-metadata {
        display: flex;
        gap: var(--spacing-md);
        overflow: hidden;
    }

    .form-meta-item {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

        .form-meta-item strong {
            color: #333;
        }

    .form-date {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .form-actions {
        display: flex;
        gap: var(--spacing-xs);
        justify-content: flex-end;
        flex-shrink: 0;
        overflow: visible;
        white-space: normal;
    }

    .form-action-link, .form-list .list-card-header {
        color: var(--dw-dark-teal);
        padding: 2px;
        min-width: auto;
        flex-shrink: 0;
        gap: 8px;
        padding: 5px;
        font-weight: bold;
    }



        .form-action-link:not(:last-child):after {
            content: '|';
            margin: 0 10px;
            color: gray;
        }

        .form-action-link img {
            width: 20px;
            height: 20px;
            filter: none;
            margin-top: -2px;
            transition: transform var(--transition-speed);
        }

        .form-action-link:hover img {
            transform: scale(1.2);
        }

        .form-action-link .nav-label {
            font-size: 0.875rem;
        }

    .prevNextPage {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: var(--shadow-sm);
        padding: 12px 0;
    }
.button-group-bottom {
    display: flex;
 
    gap:var(--spacing-md);
    margin-top: var(--shadow-sm);
    padding: 12px 0;
    border-top: 1px solid var(--border-colour);
}
/* Responsive adjustments for form list */
@media (max-width: 1024px) {
    .standard-container-header.editor-header {
        flex-direction: column;
        align-items: flex-start;
    }

        .standard-container-header.editor-header .header-and-span {
            width: 100%;
            padding-right: 0;
        }

            .standard-container-header.editor-header .header-and-span span {
            display:none;}
            .standard-container-header.editor-header .header-and-span h3 {
                white-space: normal;
                overflow: visible;
                text-overflow: clip;
            }

    .form-list-row, .form-list .list-item > div {
            grid-template-columns: 1fr;
            grid-template-rows: auto;
        }

        .form-name {
            grid-column: 1 / -1;
        }

        .form-metadata {
            grid-column: 1;
        }

        .form-date {
            grid-column: 1;
        }

        .form-actions {
            grid-column: 1 / -1;
            justify-content: flex-start;
        }
    }

    @media (max-width: 768px) {
        .title-icon{display:none;}
        .form-list-row {
            grid-template-columns: 1fr;
            gap: var(--spacing-sm);
        }

        .form-metadata {
            flex-direction: column;
            align-items: flex-start;
            gap: var(--spacing-xs);
        }

        .form-date {
            justify-self: start;
        }
    }

    /* Modal - Reusable */
    .modal-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 2000;
        padding: var(--spacing-md);
    }

    .modal-dialog {
        background: white;
        border-radius: var(--border-radius);
        box-shadow: var(--shadow-lg);
        width: 100%;
        max-width: 500px;
        max-height: 90vh;
        display: flex;
        flex-direction: column;
        animation: modalSlideIn 0.3s ease-out;
    }

    @keyframes modalSlideIn {
        from {
            opacity: 0;
            transform: translateY(-50px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .modal-sm {
        max-width: 400px;
    }

    .modal-lg {
        max-width: 800px;
    }

    .modal-xl {
        max-width: 1200px;
    }

    .modal-content {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-md) var(--spacing-lg) var(--spacing-xs);
    border-bottom: 2px solid var(--dw-dark-teal);
}

    .modal-title {
        color: var(--dw-dark-teal);
        font-size: 1.5rem;
        margin: 0;
        font-weight: 600;
    }

    .modal-close {
        background: none;
        border: none;
        color: #666;
        cursor: pointer;
        padding: 4px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: var(--border-radius);
        transition: background-color var(--transition-speed), color var(--transition-speed);
    }

        .modal-close:hover {
            background-color: #f0f0f0;
            color: var(--dw-dark-teal);
        }

    .modal-body {
        flex: 1;
        overflow-y: auto;
        padding: var(--spacing-lg);
    }

    .modal-footer {
        display: flex;
        justify-content: flex-end;
        gap: var(--spacing-sm);
        padding: var(--spacing-md) var(--spacing-lg);
        border-top: 1px solid var(--border-colour);
    }

    /* Grid Layout - Reusable */
    .grid {
        display: grid;
        gap: var(--spacing-md);
    }

    .grid-auto-fill {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }

    .grid-auto-fit {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }

    .grid-thirds {
        grid-template-columns: repeat(3, 1fr);
    }

    @media (max-width: 1400px) {
        .grid-thirds {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    @media (max-width: 1024px) {
        .grid-thirds {
            grid-template-columns: 1fr;
        }
    }

    /* Responsive Design */
    @media (max-width: 768px) {
        .App-main {
            padding: 0 var(--spacing-md);
        }

        h2 {
            font-size: 48px;
        }

        .form-actions {
            flex-direction: column;
        }

/*        .btn {
            width: 100%;
        }*/

        .grid-auto-fill,
        .grid-auto-fit {
            grid-template-columns: 1fr;
        }

        .page-container {
            padding: var(--spacing-lg) var(--spacing-sm);
        }

        .form-card {
            padding: var(--spacing-lg) var(--spacing-md);
        }

        .form-container {
            padding: 10px;
        }

        .card {
            padding: var(--spacing-md);
        }
    }

    @media (max-width: 480px) {
        h2 {
            font-size: 36px;
        }

        .page-subtitle {
            font-size: 1rem;
        }

        .card {
            padding: var(--spacing-sm);
        }

        .form-card {
            padding: var(--spacing-md) var(--spacing-sm);
        }

        .form-header h2 {
            font-size: 1.5rem;
        }
    }

    /* Form Styles - Reusable */
label.required::after {
    content: " *";
    color: red;
    font-weight: bold;
    margin-left: 4px;
}

    .form-container {
        max-width: 600px;
        margin: var(--spacing-xl) auto;
        padding: var(--spacing-md);
    }

    .form-card {
        background: white;
        border-radius: var(--border-radius);
        padding: var(--spacing-xl);
        box-shadow: var(--shadow-md);
    }

    .form-header {
        margin-bottom: var(--spacing-lg);
        padding-bottom: var(--spacing-md);
        border-bottom: 3px solid var(--dw-dark-teal);
    }

        .form-header h2 {
            margin: 0;
            font-size: 2rem;
        }

    .form-group, .form-group-fullwidth {
        margin-bottom: var(--spacing-md);
    }
        .form-group h3, .sharing-editor h3 {
            font-size: 1.5rem;
        }

        .form-group label, .form-group-fullwidth label {
            display: flex;
            margin-bottom: var(--spacing-xs);
            color: var(--dw-dark-teal);
            font-weight: 600;
            font-size: 1.1rem;
        }

    .form-input,
    .form-select,
    .form-textarea {
        width: 100%;
        padding: 12px 14px;
        border: 2px solid #e0e0e0;
        border-radius: var(--border-radius);
        font-size: 0.95rem;
        font-family: inherit;
        transition: border-color var(--transition-speed), box-shadow var(--transition-speed), background-color var(--transition-speed);
        background-color: white;
    }
/* Enhanced Select Styling */
    .form-select,
    select.form-input {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232f6f82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 14px center;
        background-size: 20px;
        padding-right: 45px;
        cursor: pointer;
    }

    .form-select::-ms-expand,
    select.form-input::-ms-expand {
        display: none;
    }

    .form-select option,
    select.form-input option {
        padding: 12px;
        background-color: white;
        color: var(--dw-dark-gray-text);
    }

    .form-select option:hover,
    select.form-input option:hover {
        background-color: var(--dw-light-gray-background);
    }

    .form-select option:checked,
    select.form-input option:checked {
        background-color: var(--dw-dark-teal);
        color: white;
        font-weight: 600;
    }

    .form-select:hover,
    select.form-input:hover {
        border-color: var(--dw-dark-teal);
        background-color: #fafafa;
    }

    .form-select:focus,
    select.form-input:focus {
        border-color: var(--dw-dark-teal);
        box-shadow: 0 0 0 3px rgba(47, 111, 130, 0.1);
        background-color: white;
        outline: none;
    }

    .form-select:disabled,
    select.form-input:disabled {
        opacity: 0.6;
        cursor: not-allowed;
        background-color: #f5f5f5;
        border-color: #ddd;
    }

.right-actions {
    display: flex;
    gap: var(--spacing-xs);
    align-items: center;
}
    .right-actions .form-input,
    .right-actions .form-select {
        padding: 8px 14px;
        padding-right: 40px;
    }

    .right-actions .form-select,
    .right-actions select.form-input {
        background-size: 18px;
        background-position: right 12px center;
    }

        .form-input:hover,
        .form-select:hover,
        .form-textarea:hover {
            border-color: #d0d0d0;
        }

        .form-input:focus,
        .form-select:focus,
        .form-textarea:focus {
            outline: none;
            border-color: var(--dw-dark-teal);
            box-shadow: 0 0 0 3px rgba(47, 111, 130, 0.1);
            background-color: #fafafa;
        }

        .form-input::placeholder {
            color: #999;
            font-size: 0.9rem;
        }

    textarea.form-input,
    .form-textarea {
        resize: vertical;
    }

.form-text {
    display: block;
    font-size: 0.875rem;
    color: var(--dw-gray-text)
}


    /*form editor styles*/
.dw-editor_footer {
    width: 100%;
    padding-top: var(--spacing-md);
    padding-bottom: var(--spacing-sm);
    margin-top: var(--spacing-md);
    border-top: 1px solid var(--border-colour);
    display: flex;
    gap:var(--spacing-sm);
}
.dw-editor_footer_option {
    justify-content: right;
    display: flex;
}

.dw-editor_form_data {
    text-align: left;
    padding-top: 10px;
}
    .dw-editor_form_data h3 {
        margin-top: 0;
        font-size: 1.5rem;
    }

        .dw-editor__section_header, .dw-editor__questions_header {
            display: flex;
            justify-content: space-between;
            gap: var(--spacing-sm);
            align-items: center;
            margin-bottom: var(--spacing-sm);
            color: var(--dw-dark-orange);
            font-size: 1.5rem;
        }

    .dw-editor__section_detail .form-group, .dw-editor__question_detail .form-group {
        width: 100%;
        margin-bottom: var(--spacing-sm);
    }

    

    .dw-question {
        border: 1px solid var(--border-colour);
        padding: var(--spacing-sm);
        border-radius: 5px;
        margin-bottom: var(--spacing-md);
        background-color: var(--dw-light-gray-background);
    }

    .dw-question_header {
        display: flex;
        justify-content: space-between;
        margin-bottom: 8px;
        font-size:1.3rem;
    }
.dw-question_header-buttons {
    display: flex;
    gap: var(--spacing-xs);
}
.dw-question-option {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 6px;
}

    .dw-question-option-input {
        flex: 1;
        padding: 6px;
    }

    .dw-question-option-weight {
        width: 80px;
        padding: 6px;
    }

.sentiment-item {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: var(--spacing-md);
}
.sentiment-item button {padding:12px;
}
    .sentiment-item.dw-theme-swatch {
        grid-template-columns: 1fr 40px;
    }
    .sentiment-colour-val {
        margin-left: var(--spacing-sm);
        width: 105px;
        color: var(--dw-dark-teal);
        font-weight: bold;
        text-align: center;
        text-transform: uppercase;
    }
input[type="color"] {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background: none;
    border: 2px solid var(--dw-border-gray);
    cursor: pointer;
    height: 40px;
    padding: 0;
    width: 40px;
    border-radius: 100%;
}
::-webkit-color-swatch-wrapper {
    padding: 0;
}

::-webkit-color-swatch {
    border: 0;
    border-radius: 0;
}

::-moz-color-swatch,
::-moz-focus-inner {
    border: 0;
}

::-moz-focus-inner {
    padding: 0;
}
.error-message {
    margin-bottom: var(--spacing-md);
    color: var(--dw-hot-pink-hover);
}
    /* Responsive adjustments for form editor*/
    @media (max-width: 1024px) {
}

    @media (min-width: 768px) {
        .dw-editor__section_detail .form-group, .dw-editor__question_detail .form-group {
            width: calc(50% - var(--spacing-sm) /2);
            margin-bottom: var(--spacing-sm);
            display: inline-block;
        }

            .dw-editor__section_detail .form-group:first-child, .dw-editor__question_detail .form-group:first-child {
                margin-right: var(--spacing-sm)
            }
        .form-questions {
            max-width: 700px;
            padding:0 var(--spacing-md);
        }
            .form-questions .form-group {
                margin-bottom: var(--spacing-xl);
            }
    }
.segment-description {
    font-size: 1.2rem;
    margin-bottom: var(--spacing-xl);
    line-height: 1.8rem;
}
.segment-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    background: var(--dw-hot-pink);
    color: white;
    border-radius: 50%;
    font-size: 1.3rem;
    font-weight: 700;
    margin-right: var(--spacing-sm);
    transition: transform var(--transition-speed);
    position: relative;
}

   
    .form-segment:hover .segment-number,
    .standard-container-header:hover .segment-number {
        transform: scale(1.1);
    }

    .dw-editor__section_header_actions {
    display: flex;
    gap: var(--spacing-xs);
    flex-wrap: wrap;
    align-items: center;
}

@media (max-width: 1024px) {
    .dw-editor__section_header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-sm);
    }

    .dw-editor__section_header_actions {
        width: 100%;
        justify-content: flex-start;
    }

    .dw-editor__section_header_actions .btn {
        flex: 0 1 auto;
        white-space: nowrap;
    }

    /*    .dw-editor__section_header_actions .btn img {
        display: none;
    }*/
}
.form-graphics { 
    display: flex;
    gap: var(--spacing-md);
    justify-content:space-between;
 
}
#graphics-selector {
    flex: 1;
    text-align: center;
}
#FormGraphicsSVG{max-height:700px}
/* Wrapper that hugs the right side of .form-graphics at 1024px */
.form-graphics-selector-wrapper {
    display: flex;
    align-self: stretch;
    align-items: flex-start;
    flex-shrink: 0;
    width: fit-content;
}

/* Visualization Selector Styles */
.visualization-selector {
    display: flex;
    gap: var(--spacing-xs);
   
}

.visualization-selector.horizontal {
    flex-direction: row;
    flex-wrap: wrap;
}

.visualization-selector.vertical {
    flex-direction: column;
}

.visualization-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-sm);
    background: white;
    border: 2px solid var(--dw-border-gray);
    border-radius: var(--border-radius);
    cursor: pointer;
    transition: all var(--transition-speed);
    min-width: 44px;
    min-height: 44px;
}

.visualization-btn:hover:not(:disabled) {
    background-color: var(--dw-light-gray-background);
    border-color: var(--dw-dark-teal);
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(47, 111, 130, 0.2);
}

.visualization-btn.active {
    background-color: var(--dw-dark-teal);
    border-color: var(--dw-dark-teal);
    color: white;
}
    .visualization-btn.active:hover {
        background-color: var(--dw-dark-teal-hover);
        border-color: var(--dw-dark-teal-hover);
    }



.visualization-btn.active img {
    filter: brightness(0) invert(1);
}

.visualization-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.visualization-btn:disabled:hover {
    transform: none;
    box-shadow: none;
    background: white;
    border-color: var(--dw-border-gray);
}

.visualization-btn-label {
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
}

.visualization-btn-label-hidden {
    display: none;
}

.visualization-selector.vertical .visualization-btn {
    justify-content: flex-start;
    width: 100%;
}

/* Preview Window Visualization Selector */
.preview-visualization-selector {
    display: flex;
    gap: var(--spacing-xs);
    padding: var(--spacing-xs);
    background: rgba(255, 255, 255, 0.2);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    justify-content: center;
}

.preview-visualization-selector .visualization-btn {
    min-width: 40px;
    min-height: 40px;
    padding: var(--spacing-xs);
}

@media (max-width: 1024px) {
    .form-graphics {
        flex-direction: column;
        gap: 0;
    }

    .form-graphics-selector-wrapper {
        order: -1;
        width: 100%;
        align-self: auto;
        justify-content: center;
        padding: var(--spacing-xs);
        background: rgba(255, 255, 255, 0.2);
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    }

    .form-graphics-selector-wrapper .visualization-selector.vertical {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
    }

    .form-graphics-selector-wrapper .visualization-selector.vertical .visualization-btn {
        width: auto;
        min-width: 40px;
        min-height: 40px;
        padding: var(--spacing-xs);
        justify-content: center;
    }

    .form-graphics-selector-wrapper .visualization-btn-label {
        display: none;
    }
}
@media (max-width: 480px) {
    .dw-editor__section_header_actions {
        flex-direction: column;
        width: 100%;
    }

    .dw-editor__section_header_actions .btn {
        width: 100%;
        justify-content: center;
    }

  
}

/* Sentiment Slider */
.slider {
    padding: var(--spacing-xl) var(--spacing-md)
}
.sentiment-slider-container {
    position: relative;
    width: 100%;
    padding: var(--spacing-md) 0;
}

    .sentiment-slider-handle {
        position: absolute;
        top: -20px;
        cursor: grab;
        z-index: 5;
    }

.sentiment-slider-handle.sentiment-slider-handle-fixed {
    cursor: default;
    z-index: 2;
}

.sentiment-slider-handle.dragging {
    z-index: 10;
    cursor: grabbing;
}

.sentiment-slider-handle-tooltip {
    background-color: var(--dw-dark-teal);
    color: #fff;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    user-select: none;
    position: relative;
}
    .sentiment-slider-handle-tooltip:has(> .sentiment-slider-handle-tooltip-arrow-first) {
        border-radius: 6px 6px 6px 0;
    }
    .sentiment-slider-handle-tooltip-arrow {
        position: absolute;
        bottom: -6px;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-top: 6px solid var(--dw-dark-teal);
    }

.sentiment-slider-handle-tooltip-arrow-first {
    left: 0;
    transform: none;
    border-left: none;
/*    border-right: 10px solid transparent;
    border-top: 10px solid var(--dw-dark-teal);*/
}

.sentiment-slider-tooltip {
    position: absolute;
    top: 4px;
    transform: translateX(-50%);
    background-color: var(--dw-dark-teal);
    color: #fff;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    z-index: 20;
}

.sentiment-slider-tooltip-arrow {
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid var(--dw-dark-teal);
}

.sentiment-slider-track {
    position: relative;
    cursor: pointer;
    opacity: 1;
    height: 30px;
    border-radius: 4px;
    overflow: hidden;
}

.sentiment-slider-track.disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.sentiment-slider-segment {
    position: absolute;
    height: 100%;
}

.sentiment-slider-labels {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin: var(--spacing-xs) 0;
    
}

.sentiment-slider-label {
    position: absolute;
    transform: translateX(-50%);
    color: var(--dw-dark-teal);
    font-size: 1.1rem;
    font-weight: 500;
    text-align: center;
    white-space: nowrap;
}

.sentiment-slider-inputs {

    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.sentiment-slider-input-wrapper {
    flex: 1 1 150px;
    min-width: 150px;
}

.sentiment-slider-input-wrapper label{
   font-size:1.1rem;
   font-weight:bold;
}

.sentiment-slider-input-label {
    display: block;
    margin-bottom: 4px;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--dw-dark-teal);
}

.sentiment-slider-input {
    width: 100%;
    padding: 8px;
    border: 1px solid var(--dw-dark-teal);
    border-radius: 4px;
    font-size: 1rem;
    color: var(--dw-dark-teal);
    background-color: #fff;
    cursor: text;
}

.sentiment-slider-input.disabled {
    background-color: #f5f5f5;
    cursor: not-allowed;
}

@media (max-width: 768px) {
    .sentiment-slider-label {
        font-size: 0.75rem;
    }

    .sentiment-slider-tooltip,
    .sentiment-slider-handle-tooltip {
        font-size: 0.8rem;
        padding: 4px 8px;
    }
    .dw-question_header-buttons {
        flex-direction:column
    }
}

@media (max-width: 1024px) {
    .sentiment-slider-container {
        display: none;
    }
    .slider {
        padding: var(--spacing-xl) 0
    }
}

/*svg styling*/

@keyframes scaleIn {
    0% {
        scale: 0.9;
        opacity: 0.7;
    }

    100% {
        scale: 1;
        opacity: 1;
    }
}

.noHover {
    pointer-events: none;
}

.arcOuter,
.arcInner {
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

    .arcOuter:hover,
    .arcInner:hover {
    }

    .arcOuter:active,
    .arcInner:active {
        -webkit-transition: 0.1s;
        transition: 0.1s;
    }

.arcInnergroup,
.arcOutergroup {
    animation: 0.1s ease-out 0s 1 scaleIn;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    cursor: pointer;
}

    .arcInnergroup:hover,
    .arcOutergroup:hover {
        scale: 1.04;
        filter: drop-shadow(0px 4px 6px rgba(0, 0, 0, 0.22));
    }

    .arcInnergroup:active,
    .arcOutergroup:active {
        -webkit-transition: 0.1s;
        transition: 0.1s;
        scale: 1;
        filter: none;
    }

.sunburst-segment-arc {
    transform-box: fill-box;
    transform-origin: center;
    -webkit-transition: transform 0.4s, fill-opacity 0.4s, filter 0.4s;
    transition: transform 0.4s, fill-opacity 0.4s, filter 0.4s;
}

    .sunburst-segment-arc:hover {
        transform: scale(1.04);
        filter: drop-shadow(0px 4px 6px rgba(0, 0, 0, 0.22));
    }

    .sunburst-segment-arc:active {
        -webkit-transition: transform 0.1s, fill-opacity 0.1s, filter 0.1s;
        transition: transform 0.1s, fill-opacity 0.1s, filter 0.1s;
        transform: scale(1);
        filter: none;
    }

.bubble-segment-circle {
    transform-box: fill-box;
    transform-origin: center;
    -webkit-transition: transform 0.3s, fill-opacity 0.3s, filter 0.3s;
    transition: transform 0.3s, fill-opacity 0.3s, filter 0.3s;
}

    .bubble-segment-circle:hover {
        transform: scale(1.06);
        filter: drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.28));
    }

    .bubble-segment-circle:active {
        -webkit-transition: transform 0.1s, fill-opacity 0.1s, filter 0.1s;
        transition: transform 0.1s, fill-opacity 0.1s, filter 0.1s;
        transform: scale(1);
        filter: none;
    }

.segTextDiv {
    pointer-events: none;
    text-align: center;
    width: fit-content;
    height: fit-content;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.rotator {
    display: flex;
    pointer-events: none;
}

#centerCircle {
    position: absolute;
    line-height: 0.9;
}
.innerCircleLg {

}
.innerCircleSm{font-size:16px}
/* Decision Wheel Style Editor */
.decision-wheel-settings-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
}

@media (max-width: 1024px) {
    .decision-wheel-settings-grid {
        grid-template-columns: 1fr;
    }
}
.checkbox-list-horizontal img {
    margin: 0 0 0 10px;
}
/* Form Wheel Preview Button */
.form-wheel-preview-button {
    position: fixed;
    right: -7px;
    top: 50px;
    background-color: var(--dw-dark-teal);
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.2);
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-xxs);
    padding: 0 var(--spacing-sm) 0 var(--spacing-xs);
    border: none;
    border-radius: var(--border-radius) 0 0 var(--border-radius);
    cursor: pointer;
    z-index: 999;
    transition: transform var(--transition-speed), box-shadow var(--transition-speed);
}

    .form-wheel-preview-button:hover {
        transform: translateX(-5px);
        box-shadow: 2px 0 12px rgba(0, 0, 0, 0.3);
    }
    .form-wheel-preview-button:active {
        transform: translateX(-7px);
        opacity: 0.8;
    }
    .form-wheel-preview-button.preview-open {background-color:var(--dw-hot-pink)
    }

    .form-wheel-preview-button img {
        filter: brightness(0) invert(1);
    }

    .form-wheel-preview-button .preview-arrow {
        transition: transform var(--transition-speed);
    }

    .form-wheel-preview-button.preview-close .preview-arrow {
        transform: rotate(0deg);
    }

    .form-wheel-preview-button.preview-open .preview-arrow {
        transform: rotate(180deg);
    }

@keyframes previewWindowAttach {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes snapLineFade {
    0% {
        opacity: 0;
        transform: scaleY(0.8);
    }
    20% {
        opacity: 0.8;
        transform: scaleY(1);
    }
    100% {
        opacity: 0;
        transform: scaleY(1);
    }
}

@keyframes previewWindowClose {
    0% {
        transform: translate(0, 0) scale(1);
        opacity: 1;
    }
    100% {
        transform: translate(0, calc(50px - var(--preview-start-y))) scale(0.05);
        opacity: 0;
    }
}

/* Preview Window - macOS Glass Theme */
.preview-window {
    position: fixed;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px) saturate(180%);
    -webkit-backdrop-filter: blur(10px) saturate(180%);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12),
                0 2px 8px rgba(0, 0, 0, 0.08),
                inset 0 0 0 1px rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.18);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s ease;
}

.preview-window.attaching {
    animation: previewWindowAttach 0.3s ease-out;
}

.preview-window.closing {
    animation: previewWindowClose 0.3s ease-in forwards;
    pointer-events: none;
    transform-origin: right top;
}

.preview-window:hover {
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.15),
                0 4px 12px rgba(0, 0, 0, 0.1),
                inset 0 0 0 1px rgba(255, 255, 255, 0.6);
}

.preview-window-header {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 12px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: move;
    user-select: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

.preview-window-header:active {
    cursor: grabbing;
}

.preview-window-title {
    font-weight: 600;
    font-size: 13px;
    color: var(--dw-dark-teal);
    letter-spacing: 0.2px;
}

.preview-window-controls {
    display: flex;
    gap: 8px;
    align-items: center;
}

.hot-pink-btn {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
    position: relative;
    background-color: var(--dw-hot-pink);
}

    .hot-pink-btn:hover {
        transform: scale(1.3);
    }


.preview-window-content {
    flex: 1;
    overflow: auto;
    padding: 5px;
    position: relative;
    background: rgba(255, 255, 255, 0.9);
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
    .preview-window-content > svg {
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 100%;
    }

.preview-window-content::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.preview-window-content::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.03);
    border-radius: 5px;
}

.preview-window-content::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

.preview-window-content::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.3);
    background-clip: padding-box;
}

.preview-window-resize-handle {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 20px;
    height: 20px;
    cursor: nwse-resize;
    background: linear-gradient(135deg, 
                transparent 0%, 
                transparent 40%, 
                var(--dw-hot-pink) 40%, 
                var(--dw-hot-pink) 45%, 
                transparent 45%, 
                transparent 55%, 
                var(--dw-hot-pink) 55%, 
                var(--dw-hot-pink) 60%, 
                transparent 60%, 
                transparent 70%, 
                var(--dw-hot-pink) 70%, 
                var(--dw-hot-pink) 75%, 
                transparent 75%);
    border-bottom-right-radius: 12px;
}

.preview-window-resize-handle-left {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 20px;
    height: 20px;
    cursor: nesw-resize;
    background: linear-gradient(225deg, 
                transparent 0%, 
                transparent 40%, 
                var(--dw-hot-pink) 40%, 
                var(--dw-hot-pink) 45%, 
                transparent 45%, 
                transparent 55%, 
                var(--dw-hot-pink) 55%, 
                var(--dw-hot-pink) 60%, 
                transparent 60%, 
                transparent 70%, 
                var(--dw-hot-pink) 70%, 
                var(--dw-hot-pink) 75%, 
                transparent 75%);
    border-bottom-left-radius: 12px;
}

.preview-window-resize-handle:hover {
    background: linear-gradient(135deg, 
                transparent 0%, 
                transparent 40%, 
                rgba(47, 111, 130, 0.3) 40%, 
                rgba(47, 111, 130, 0.3) 45%, 
                transparent 45%, 
                transparent 55%, 
                rgba(47, 111, 130, 0.3) 55%, 
                rgba(47, 111, 130, 0.3) 60%, 
                transparent 60%, 
                transparent 70%, 
                rgba(47, 111, 130, 0.3) 70%, 
                rgba(47, 111, 130, 0.3) 75%, 
                transparent 75%);
}

.preview-window-resize-handle-left:hover {
    background: linear-gradient(225deg, 
                transparent 0%, 
                transparent 40%, 
                rgba(47, 111, 130, 0.3) 40%, 
                rgba(47, 111, 130, 0.3) 45%, 
                transparent 45%, 
                transparent 55%, 
                rgba(47, 111, 130, 0.3) 55%, 
                rgba(47, 111, 130, 0.3) 60%, 
                transparent 60%, 
                transparent 70%, 
                rgba(47, 111, 130, 0.3) 70%, 
                rgba(47, 111, 130, 0.3) 75%, 
                transparent 75%);
}

/* Responsive adjustments for preview window */
@media (max-width: 480px) {
    .preview-window {
        left: 10px !important;
        top: 70px !important;
        right: 10px;
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px);
        height: calc(100vh - 150px) !important;
        max-height: calc(100vh - 150px);
    }

    .preview-window-resize-handle,
    .preview-window-resize-handle-left {
        display: none;
    }

/* PDF Export Modal */
.pdf-export-form-name {
    margin: 8px 0 2px;
    font-size: 15px;
}

.pdf-export-description {
    margin: 0 0 12px;
    color: var(--text-secondary, #666);
    font-size: 13px;
}

.pdf-export-chart-select {
    margin-top: 14px;
}

.pdf-export-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary, #666);
    margin-bottom: 8px;
}

.pdf-export-error {
    margin-top: 10px;
    color: var(--danger, #dc3545);
    font-size: 13px;
}
}