
/* =========================
GLOBAL
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    background:#fffefe;
    overflow-x:hidden;
}

/* =========================
DASHBOARD
========================= */

.dashboard{
    min-height:100vh;
}

/* =========================
SIDEBAR
========================= */

.sidebar{
    width:74px;
    background:#121718;
    border-radius:16px;
    margin:20px;
    padding-top:20px;
    display:flex;
    justify-content:center;
}

.side-btn{
    width:40px;
    height:40px;
    border:none;
    background:transparent;
    color:#fff;
    border-radius:10px;
    transition:.3s;
}

.side-btn:hover{
    background:rgba(255,255,255,0.15);
}

/* =========================
MAIN CONTENT
========================= */

.main-content{
    padding:20px 10px;
}

/* =========================
HEADER
========================= */

.dashboard-title{
    font-size:13px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#2b3674;
    margin-bottom:8px;
}

.header-area h1{
    font-size:18px;
    font-weight:600;
    margin-bottom:25px;
}

/* =========================
CARD
========================= */

.custom-card{
    background:#fff;
    border-radius:18px;
    padding:20px;
    border:1px solid #e8e8e8;
    box-shadow:0 2px 6px rgba(0,0,0,0.03);
}

/* =========================
TEXT
========================= */

.small-heading{
    font-size:12px;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#110a0a;
}

.question-text{
    margin-top:15px;
    font-size:16px;
}

/* =========================
SELECT
========================= */

.custom-select{
    border-radius:14px;
    border:1px solid #ddd;
    height:35x;
    font-size:13px;
}

/* =========================
SUMMARY
========================= */

.summary-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}

.summary-top h3{
    font-size:18px;
    font-weight:450;
}

.summary-select{
    width:110px;
    height:32px;
    border-radius:6px;
    font-size:12px;
}

.summary-text{
    color:#666;
    line-height:1.9;
    font-size: 15px;
}

/* =========================
CHART CARD
========================= */

.chart-card{
    min-height:290px;
    scrollbar-width:auto;
}

/* =========================
THEME SCROLL
========================= */

.theme-scroll{
    height:305px;
    overflow-y:auto;
    padding-top:0px;
}

.theme-scroll::-webkit-scrollbar{
    width:6px;
}

.theme-scroll::-webkit-scrollbar-thumb{
    background:#999;
    border-radius:20px;
}

/* =========================
CHART HEADER
========================= */

.chart-header{
    font-size:18px;
    font-weight:500;
    position:sticky;
    top:0;
    z-index:100;
    background:#fff;
    padding:12px 0;
    margin-bottom:20px;
}

/* =========================
THEME ITEM
========================= */

.theme-item{
    margin-bottom:20px;
}

.theme-top{
    display:flex;
    justify-content:space-between;
    margin-bottom:8px;
    font-size:13px;
}

/* =========================
PROGRESS BAR
========================= */

.progress{
    height:12px;
    border-radius:10px;
    background:#e5e7eb;
}

.progress-bar{
    background:#000 !important;
}

/* =========================
FILTER PANEL
========================= */

.filter-panel{
    max-height:800px;
    overflow-y:auto;
}

.filter-panel::-webkit-scrollbar{
    width:8px;
}

.filter-panel::-webkit-scrollbar-thumb{
    background:#bdbdbd;
    border-radius:20px;
}

/* =========================
FILTER TOP
========================= */

.filter-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:20px;
    
}


.filter-title{
        font-size:15px;
    }

.header-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

/* =========================
FILTER BUTTONS
========================= */

.filter-action{
    display:flex;
    gap:10px;
    margin-bottom:25px;
}

.apply-btn{
    flex:1;
    height:44px;
    border:none;
    border-radius:12px;
    background:#111;
    color:#fff;
    font-weight:500;
    width:100px;
}

.clear-btn{
    flex:1;
    height:44px;
    border:1px solid #dcdcdc;
    border-radius:12px;
    background:#fff;
    font-weight:500;
    width:100px;
}

/* =========================
COLLAPSE BUTTON
========================= */

.collapse-btn{
    width:42px;
    height:42px;
    border:1px solid #dcdcdc;
    background:#fff;
    border-radius:10px;
    cursor:pointer;
}

/* =========================
FILTER GROUP
========================= */

.filter-group{
    margin-bottom:25px;
}

.filter-group h5{
    font-size:16px;
    font-weight:600;
    margin-bottom:15px;
}

/* =========================
FILTER GRID
========================= */

.filter-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.filter-column{
    display:flex;
    flex-direction:column;
    gap:10px;
}

/* =========================
BOTTOM FILTERS
========================= */

.bottom-filters{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-top:20px;
    grid-template-columns:repeat(3,1fr)
}

.bottom-filters > div{
    min-width:120px;
}

.bottom-filters h5{
    margin-bottom:12px;
    font-size:16px;
    font-weight:600;
}

.bottom-filters label{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:10px;
    color:#667085;
}

/* =========================
CHECKBOX
========================= */

.filter-check{
    width:16px;
    height:16px;
    cursor:pointer;
}

/* =========================
EXPORT BUTTON
========================= */

.export-btn{
    border:none;
    background:none;
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    margin-bottom: 20px;
}

/* =========================
CHAT BOX
========================= */

.chat-box{
    min-height:500px;
}

.chat-title{
    font-size:18px;
    font-weight:600;
    margin-bottom:20px;
}

.try-asking{
    font-size:12px;
    letter-spacing:2px;
    color:#888;
    margin-bottom:15px;
}

/* =========================
SUGGESTION
========================= */

.suggestion{
    border:1px solid #e4e4e4;
    padding:10px 14px;
    border-radius:30px;
    margin-bottom:10px;
    font-size:13px;
    cursor:pointer;
}

/* =========================
INPUT BOX
========================= */

.question-label{
    margin-top:30px;
    font-size:12px;
    letter-spacing:2px;
    color:#888;
    margin-bottom:10px;
}

.input-box{
    height:46px;
    background:#f4f4f4;
    border-radius:50px;
    display:flex;
    align-items:center;
    padding:0 18px;
    gap:15px;
}

.input-box input{
    flex:1;
    border:none;
    background:none;
    outline:none;
    font-size:14px;
}

/* =========================
VERBATIM
========================= */

.verbatim-container{
    max-height:340px;
    overflow-y:auto;
    padding-right:10px;
    
}

.verbatim-card{
    border:1px solid #e5e7eb;
    border-radius:15px;
    padding:20px;
    margin-bottom:20px;
    background:#fff;
}

.verbatim-card p{
    margin-bottom:12px;
    line-height:1.7;
    color:#374151;
}

.response-number{
    min-width:40px;
    font-size:15px;
    font-weight:450;
    color:#111827;
}

/* =========================
TAGS
========================= */

.tag-wrapper{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:15px;
}

.custom-tag{
    padding:8px 14px;
    border:1px solid #d1d5db;
    border-radius:999px;
    font-size:13px;
    background:#f8fafc;
    color:#374151;
    white-space:nowrap;
}

/* =========================
SENTIMENT LEGEND
========================= */

.sentiment-legend{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    margin-bottom:-53px;
    font-size:10px;
}

.total-count{
    margin-left:auto;
    font-weight:600;
}

/* =========================
DOTS
========================= */

.dot{
    width:12px;
    height:12px;
    border-radius:50%;
    display:inline-block;
    margin-right:8px;
}

.positive{
    background:#18b7cf;
}

.mixed{
    background:#118ea1;
}

.neutral{
    background:#0a788a;
}

.negative{
    background:#045766;
}

/* =========================
CHART AREA
========================= */

.chart-wrapper{
    display:flex;
    gap:15px;
    margin-top:20px;
}

.chart-area{
    flex:1;
    position:relative;
}

/* =========================
Y AXIS
========================= */

.y-axis{
    height:120px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    font-size:13px;
    color:#444;
    margin-top:60px;
}

/* =========================
GRID LINE
========================= */

.grid-line{
    height:1px;
    background:#e5e7eb;
    margin-bottom:44px;
}

/* =========================
STACK BAR
========================= */

.stack-bar{
    width:50%;
    height:115px;
    position:absolute;
    bottom:48px;
    left:55%;
    transform:translateX(-58%);
    display:flex;
    flex-direction:column-reverse;
}

.neutral-bar{
    height:18px;
    background:#0a788a;
}

.mixed-bar{
    height:30px;
    background:#118ea1;
}

.positive-bar{
    flex:1;
    background:#18b7cf;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    font-weight:600;
}

/* =========================
CHART LABEL
========================= */

.chart-label{
    text-align:center;
    margin-top:190px;
    font-size:16px;
}

/* =========================
RESPONSIVE
========================= */

@media(max-width:1200px){

    .dashboard{
        flex-direction:column;
    }

    .sidebar{
        width:100%;
        height:80px;
        margin:0;
        border-radius:0;
        align-items:center;
    }

}

@media(max-width:768px){

    .header-area h1{
        font-size:28px;
    }

    .summary-top{
        flex-direction:column;
        align-items:flex-start;
        gap:15px;
    }

    .filter-title{
        font-size:15px;
    }

    .chat-title{
        font-size:18px;
    }

    .bottom-filters{
        flex-direction:column;
        gap:20px;
    }

    .filter-grid{
        grid-template-columns:1fr;
    }

}