.sidebar {
    overflow-y: auto
}

.sidebar nav a {
    padding-top: 10px;
    padding-bottom: 10px
}

.sidebar-foot {
    flex-shrink: 0
}

.notification-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #292929
}

.notification-count {
    background: #fff3ad;
    border: 1px solid #ddbc4b;
    border-radius: 12px;
    font-size: 11px;
    min-width: 20px;
    padding: 3px 5px;
    text-align: center
}

.bulk-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: end;
    padding: 16px;
    background: #fafafa;
    border-bottom: 1px solid #ddd
}

.bulk-actions label {
    display: grid;
    gap: 6px;
    font-size: 12px;
    color: #777;
    max-width: 240px
}

.bulk-actions input,
.bulk-actions select {
    max-width: 100%
}

.overdue-text {
    color: #ad3d31;
    font-weight: 600
}

.calendar-filter {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap
}

.calendar-week {
    display: flex;
    overflow: auto;
    gap: 12px;
    margin-top: 20px
}

.calendar-day {
    background: white;
    border: 1px solid #ddd;
    min-width: 195px;
    flex: 1;
    min-height: 350px;
    border-radius: 3px
}

.calendar-day>header {
    display: flex;
    justify-content: space-between;
    padding: 14px;
    border-bottom: 1px solid #ddd;
    background: #f0f0f0;
    color: #777
}

.calendar-day.is-today>header {
    background: #fff1b3;
    color: #292929
}

.meeting-card {
    display: grid;
    gap: 7px;
    padding: 12px;
    margin: 10px;
    border: 1px solid #e4d69b;
    border-left: 3px solid #e0bc33;
    border-radius: 3px;
    background: #fffcef;
    color: #333;
    font-size: 13px
}

.meeting-card small {
    color: #888;
    font-size: 11px
}

.meeting-card.status-done {
    border-left-color: #779d64;
    background: #f4faf1
}

.meeting-card.status-cancelled {
    opacity: .6;
    border-left-color: #bbb;
    background: #fafafa
}

.notification-row {
    padding: 18px;
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: center;
    border-bottom: 1px solid #eee
}

.notification-row.unread {
    background: #fffcee;
    border-left: 3px solid #e4c044
}

.notification-row small {
    display: block;
    color: #999;
    font-size: 12px;
    margin-top: 8px
}

.analytics-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    padding: 18px;
    align-items: end
}

.analytics-filters label {
    display: grid;
    gap: 7px;
    font-size: 12px;
    color: #777
}

.analytics-filters input,
.analytics-filters select {
    width: 100%
}

.analytics-stages {
    padding: 14px 18px
}

.analytics-stages>div {
    display: grid;
    grid-template-columns: 1fr 30px 100px 150px;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
    align-items: center;
    font-size: 12px
}

.analytics-stages small {
    color: #888
}

.analytics-stages meter {
    width: 100%;
    accent-color: #e0bc33
}

.report-explanation {
    font-size: 12px;
    color: #888;
    line-height: 1.7;
    margin-bottom: 20px
}

.draft-status {
    padding: 10px 18px;
    border-bottom: 1px solid #eee;
    color: #888;
    font-size: 12px
}

.draft-restore {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 12px 18px;
    background: #fff4cc;
    border-bottom: 1px solid #e4d394;
    font-size: 13px
}

.draft-restore button {
    font-size: 12px
}

@media(max-width:1000px) {
    .analytics-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .analytics-stages>div {
        grid-template-columns: 1fr 30px
    }

    .analytics-stages small,
    .analytics-stages meter {
        grid-column: auto
    }
}

@media(max-width:700px) {
    .analytics-filters {
        grid-template-columns: 1fr
    }

    .sidebar nav a {
        padding: 12px
    }

    .account .notification-link span {
        display: inline-block
    }

    .notification-row {
        align-items: start
    }

    .account {
        gap: 8px
    }

    .analytics-stages>div {
        grid-template-columns: 1fr 30px
    }

    .dashboard-grid {
        min-width: 0
    }

    .dashboard-grid>.panel {
        min-width: 0;
        overflow: auto
    }

    .details {
        overflow-wrap: anywhere
    }
}