/* Dashboard shared styles */

.dashboard-container,
.designer-container {
    margin: 0;
    padding: 0;
    width: 100%;
}

.dashboard-container > div,
.designer-container > div {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 240px;
    grid-auto-flow: dense;
    gap: 10px;
    padding: 0;
    background: transparent;
    width: 100%;
    box-sizing: border-box;
    min-width: 0;
}

.dashboard-container .chart-container,
.designer-container .chart-container {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dashboard-container canvas,
.designer-container canvas {
    max-width: 100% !important;
}

.dashboard-container .card-body,
.designer-container .card-body {
    min-width: 0;
    overflow: hidden;
}

/* Dashboard view grid */
.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 240px;
    grid-auto-flow: dense;
    gap: 25px;
    padding: 30px;
    background: radial-gradient(circle at 50% 50%, #fcfdfe 0%, #f0f4f8 100%);
    border-radius: 24px;
    min-height: 80vh;
    box-shadow: inset 0 0 50px rgba(0,0,0,0.02);
}

/* Sortable drag-and-drop */
.dashboard-sortable-ghost {
    opacity: 0.3;
    background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%) !important;
    border: 3px dashed var(--mud-palette-primary) !important;
    border-radius: 8px;
    box-shadow: none !important;
    transform: scale(0.98);
}

.widget-container-drag-handle {
    cursor: grab;
}

.widget-container-drag-handle:active {
    cursor: grabbing;
}

/* Widget sizing */
.widget-size-1-1 { grid-column: span 1; grid-row: span 1; }
.widget-size-1-2 { grid-column: span 1; grid-row: span 2; }
.widget-size-1-3 { grid-column: span 1; grid-row: span 3; }
.widget-size-1-4 { grid-column: span 1; grid-row: span 4; }
.widget-size-2-1 { grid-column: span 2; grid-row: span 1; }
.widget-size-2-2 { grid-column: span 2; grid-row: span 2; }
.widget-size-2-3 { grid-column: span 2; grid-row: span 3; }
.widget-size-2-4 { grid-column: span 2; grid-row: span 4; }
.widget-size-3-1 { grid-column: span 3; grid-row: span 1; }
.widget-size-3-2 { grid-column: span 3; grid-row: span 2; }
.widget-size-3-3 { grid-column: span 3; grid-row: span 3; }
.widget-size-3-4 { grid-column: span 3; grid-row: span 4; }
.widget-size-4-1 { grid-column: span 4; grid-row: span 1; }
.widget-size-4-2 { grid-column: span 4; grid-row: span 2; }
.widget-size-4-3 { grid-column: span 4; grid-row: span 3; }
.widget-size-4-4 { grid-column: span 4; grid-row: span 4; }

/* Utility */
.border-2 { border-width: 2px !important; }
.border-dashed { border-style: dashed !important; }
