/* Dashboard Config Page Styles - Scoped to .dashboard-config */

.dashboard-config {
    --h-bg: #1a1410;
    --h-on-surface: #e6ddd4;
    --h-on-surface-variant: #b5a695;
    --h-primary: #e8c34a;
    --h-on-primary: #2c2100;
    --h-outline-variant: #5a4a3a;
    --h-surface-lo-lo: #120e0b;
    --h-surface-lo: #231d19;
    --h-surface-high: #332c26;
    --h-surface-variant: #3d3530;
    --h-success: #4ade80;
    --h-danger: #ef4444;
    --h-font-display: "Libre Caslon Text", serif;
    --h-font-label: "Geist", sans-serif;
    --h-font-body: "Work Sans", sans-serif;
    --h-margin-page: 40px;

    background: var(--h-bg);
    color: var(--h-on-surface);
    font-family: var(--h-font-body);
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
}

.dashboard-config *::selection {
    background: var(--h-primary);
    color: var(--h-on-primary);
}

/* Typography */
.dashboard-config .h-dsp {
    font-family: var(--h-font-display);
    font-size: 48px;
    line-height: 56px;
    letter-spacing: -0.02em;
    font-weight: 700;
}

.dashboard-config .h-ttl {
    font-family: var(--h-font-display);
    font-size: 32px;
    line-height: 40px;
    font-weight: 600;
}

.dashboard-config .h-lbl {
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.05em;
    font-weight: 600;
}

/* Toggle switch */
.dashboard-config .toggle {
    position: relative;
    display: inline-flex;
    width: 36px;
    height: 20px;
    cursor: pointer;
}

.dashboard-config .toggle input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.dashboard-config .toggle-slider {
    position: absolute;
    inset: 0;
    background: var(--h-surface-variant);
    border-radius: 10px;
    transition: background 0.2s;
}

.dashboard-config .toggle-slider::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    left: 2px;
    top: 2px;
    background: var(--h-on-surface-variant);
    border-radius: 50%;
    transition:
        transform 0.2s,
        background 0.2s;
}

.dashboard-config .toggle input:checked + .toggle-slider {
    background: var(--h-primary);
}

.dashboard-config .toggle input:checked + .toggle-slider::before {
    transform: translateX(16px);
    background: var(--h-on-primary);
}

/* Item states */
.dashboard-config .item-disabled {
    opacity: 0.35;
    pointer-events: none;
}

/* Slot selector */
.dashboard-config .slot-selected {
    border-color: var(--h-primary) !important;
    background: rgba(242, 202, 80, 0.06);
}

.dashboard-config .slot-selected .h-lbl {
    color: var(--h-primary);
}

/* Slot control buttons */
.dashboard-config .slot-ctrl-btn {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--h-outline-variant);
    background: transparent;
    color: var(--h-on-surface-variant);
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    transition:
        border-color 0.2s,
        color 0.2s;
    user-select: none;
}

.dashboard-config .slot-ctrl-btn:hover {
    border-color: var(--h-primary);
    color: var(--h-primary);
}

.dashboard-config .slot-ctrl-btn:active {
    background: rgba(242, 202, 80, 0.1);
}

.dashboard-config .empty-slot {
    opacity: 0.4;
}

/* Stats badge */
.dashboard-config .stats-badge {
    font-size: 10px;
    letter-spacing: 0.04em;
    font-weight: 600;
    text-transform: uppercase;
}

/* Filter button active */
.dashboard-config .filter-btn-active {
    border-color: var(--h-primary);
    background: rgba(242, 202, 80, 0.1);
    color: var(--h-primary);
}

/* Hide item */
.dashboard-config .hide-item {
    display: none !important;
}

/* Atmospheric layers */
.dashboard-config .grain-overlay {
    background-image: url("https://www.transparenttextures.com/patterns/carbon-fibre.png");
    opacity: 0.05;
    pointer-events: none;
}

.dashboard-config .vignette {
    background: radial-gradient(
        circle,
        transparent 20%,
        rgba(0, 0, 0, 0.8) 100%
    );
    pointer-events: none;
}

.dashboard-config .bg-primary {
    background-color: var(--h-primary);
}

.dashboard-config .bg-primary\/5 {
    background-color: color-mix(in srgb, var(--h-primary) 5%, transparent);
}

.dashboard-config .bg-primary\/20 {
    background-color: color-mix(in srgb, var(--h-primary) 20%, transparent);
}

.dashboard-config .scanline {
    background: linear-gradient(
        to bottom,
        transparent 50%,
        rgba(0, 0, 0, 0.1) 50%
    );
    background-size: 100% 4px;
    pointer-events: none;
}
