﻿.dashboard-page {
    padding: 1rem;
}

.dashboard-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

    .dashboard-page-header h1 {
        margin: 0 0 .25rem 0;
    }

    .dashboard-page-header p {
        margin: 0;
    }

.dashboard-page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

    .dashboard-page-actions button,
    .dashboard-page-state button,
    .dashboard-widget-state button {
        padding: .5rem .8rem;
        border: 1px solid #c9c9c9;
        border-radius: .35rem;
        background: white;
        cursor: pointer;
    }

        .dashboard-page-actions button.primary {
            font-weight: 600;
        }

        .dashboard-page-actions button:disabled {
            cursor: default;
            opacity: .55;
        }

.dashboard-layout-edit-hint,
.dashboard-layout-message {
    margin-bottom: .75rem;
    padding: .65rem .8rem;
    border: 1px solid #d8d8d8;
    border-radius: .4rem;
}

.dashboard-layout-dirty {
    margin-left: .75rem;
    font-weight: 600;
}

.dashboard-page-state {
    padding: 1.25rem;
}

.dashboard-page-error,
.dashboard-widget-error {
    white-space: pre-wrap;
}

#dashboard-layout {
    min-height: 400px;
}

    #dashboard-layout .e-panel {
        border-radius: .5rem;
        overflow: hidden;
    }

    #dashboard-layout .e-panel-container {
        height: 100%;
    }

    #dashboard-layout .e-panel-header {
        padding: 0;
    }

.dashboard-panel-header {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .6rem .8rem;
    font-weight: 600;
    user-select: none;
}

.dashboard-panel-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-panel-drag-indicator {
    flex: 0 0 auto;
    font-size: 1.1rem;
    letter-spacing: -2px;
    cursor: move;
}

.dashboard-panel-content {
    height: 100%;
    min-height: 0;
    overflow: auto;
    padding: .75rem;
}

.dashboard-runtime-widget {
    height: 100%;
}

.dashboard-widget-state {
    display: flex;
    min-height: 120px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .5rem;
    text-align: center;
}

@media (max-width: 800px) {
    .dashboard-page-header {
        flex-direction: column;
    }

    .dashboard-page-actions {
        width: 100%;
    }
}

.dashboard-toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

    .dashboard-toolbar button {
        color: #212529 !important;
        background-color: #ffffff !important;
        border: 1px solid #ced4da;
        border-radius: 4px;
        padding: 8px 14px;
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
        white-space: nowrap;
    }

        .dashboard-toolbar button:hover {
            background-color: #f3f4f6 !important;
        }

        .dashboard-toolbar button:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }

.dashboard-page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

    .dashboard-page-actions .dashboard-action-button {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-height: 38px;
        padding: 8px 14px;
        color: #222 !important;
        background-color: #fff !important;
        border: 1px solid #cfcfcf !important;
        border-radius: 5px;
        font-family: inherit;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.2;
        text-indent: 0 !important;
        opacity: 1;
        visibility: visible;
        cursor: pointer;
        white-space: nowrap;
    }

        .dashboard-page-actions .dashboard-action-button:hover:not(:disabled) {
            background-color: #f5f5f5 !important;
        }

    .dashboard-page-actions .dashboard-action-button-primary {
        color: #fff !important;
        background-color: #c00055 !important;
        border-color: #c00055 !important;
    }

        .dashboard-page-actions .dashboard-action-button-primary:hover:not(:disabled) {
            background-color: #a60049 !important;
        }

    .dashboard-page-actions .dashboard-action-button:disabled {
        color: #777 !important;
        background-color: #eee !important;
        opacity: 0.65;
        cursor: default;
    }
