/* Layout */
.qqp-dash {
    max-width: 1200px;
    margin: 32px auto;
    padding: 0 16px
}

.qqp-dash-head h1 {
    margin: 0 0 6px
}

.qqp-muted {
    color: #6c7a80;
    font-size: 13px;
    margin: 6px 0 0
}

.qqp-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 18px 0 28px
}

.qqp-grid-2 {
    display: grid;
    grid-template-columns: 2fr 1.6fr;
    gap: 16px;
    margin: 4px 0 28px
}

@media (max-width:1000px) {
    .qqp-grid-3 {
        grid-template-columns: 1fr
    }

    .qqp-grid-2 {
        grid-template-columns: 1fr
    }
}

/* Cards */
.qqp-card {
    background: #fff;
    border: 1px solid #e6edf0;
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .04);
    overflow: hidden
}

.qqp-card-h {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid #eef3f4
}

.qqp-card-h h3 {
    margin: 0;
    font-size: 16px
}

.qqp-card-b {
    padding: 14px
}

/* Charts */
.qqp-chart-wrap {
    position: relative;
    height: 300px
}

@media (max-width:480px) {
    .qqp-chart-wrap {
        height: 260px
    }
}

/* Schedule – редовете с подсекции и статус бейдж */
.qqp-schedule{list-style:none;margin:0;padding:0}
.qqp-schedule li{
  border:1px solid #eef2f3;border-radius:10px;padding:12px 14px;margin-bottom:10px;background:#fff
}
.qqp-schedule .qqp-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:10px}
.qqp-title{font-weight:600}
.qqp-time{color:#6c7a80;font-size:12px}
.qqp-sub{color:#6c7a80;font-size:12px;margin-top:4px}

/* Status badges */
.qqp-status{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;white-space:nowrap;border:1px solid transparent}
.qqp-status.inprogress{background:#fff3e6;border-color:#ffd8b2;color:#b35a00}   /* оранжево */
.qqp-status.scheduled{background:#eef2f6;border-color:#d8e0ea;color:#3b4752}   /* сиво-синьо */
.qqp-status.finished{background:#eaf7ef;border-color:#c9ebd3;color:#1a7f3c}     /* зелено */

/* Chart container височина */
.qqp-chart-wrap{position:relative;height:300px}
@media (max-width:480px){ .qqp-chart-wrap{height:260px} }


/* Calendar */
.qqp-cal-head {
    gap: 8px
}

.qqp-cal-nav {
    border: 1px solid #e0e6ea;
    background: #f8fafb;
    border-radius: 8px;
    padding: 4px 10px;
    cursor: pointer
}

.qqp-calendar {
    user-select: none
}

.qqp-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px
}

.qqp-cal-dow {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
    margin-bottom: 6px
}

.qqp-cal-dow div {
    font-size: 12px;
    color: #6c7a80;
    text-align: center
}

.qqp-day {
    border: 1px solid #e7edf0;
    border-radius: 10px;
    min-height: 70px;
    padding: 8px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between
}

.qqp-day .qqp-dnum {
    font-size: 13px;
    color: #44505a
}

.qqp-day .qqp-count {
    align-self: flex-end;
    font-size: 12px;
    background: #eef6ff;
    border: 1px solid #d8e7fb;
    border-radius: 999px;
    padding: 2px 6px
}

.qqp-day.today {
    border-color: #ffcc8a;
    background: #fff7ee
}

.qqp-day.muted {
    opacity: .45
}