/* ============================================
   BLAZOR DEFAULT VALIDATION STYLES
   ============================================ */
.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
    font-size: 0.875rem;
    margin-top: 4px;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzNCAyOTEgOTQuMDgxNSAyOTEgOTQuNjc0MkwyOTEgOTQuNzk1QzI5MSA5NS41MjEzIDI5MC43MTcgOTYuMjA0IDI5MC4yMDggOTYuNjk1TDI4OS42NzIgOTcuMTQxIDI4OC44NTMgOTcuNjI3OSAyNjYuMjA3IDEzNi4xODMgMjY1Ljc2IDEzNi43MTZDMjY0Ljk2NyAxMzcuNDk4IDI2My44NzEgMTM3Ljk4MiAyNjIuNjYxIDEzNy45ODJDMjYxLjQ1MSAxMzcuOTgyIDI2MC4zNTQgMTM3LjQ5OCAyNTkuNTYyIDEzNi43MTZMMjU5LjExNSAxMzYuMTgzIDIzNi40NjkgOTcuNjI3OSAyMzUuNjUgOTcuMTQxIDIzNS4xMTQgOTYuNjk1QzIzNC42MDQgOTYuMjA0IDIzNC4zMjEgOTUuNTIxMyAyMzQuMzIxIDk0Ljc5NUwyMzQuMzIxIDk0LjY3NDJDMjM0LjMyMSA5NC4wODE1IDIzNC40NDQgOTMuNTEzNCAyMzQuNjY1IDkzLjk5NkwyMzQuNzc2IDkzLjc5NSAyMzUuMTM2IDkzLjE4MzEgMjU3Ljc4MiA1My42MjgzIDI1OC4yNjkgNTIuNzk4NyAyNTguNzE1IDUyLjI2NThDMjU5LjUwOCA1MS40ODM3IDI2MC42MDQgNTEgMjYxLjgxNSA1MUwyNjIuNjYxIDUxIDI2My41MDYgNTFaTTI2My41MDYgNTZDMjYyLjE4OSA1NiAyNjEuMDk5IDU2LjQ3NTYgMjYwLjQ4MSA1Ny4wODQyTDIzNy44MzUgOTUuNjM5IDIzNy44MzUgOTUuNzk1IDIzNy44MzUgOTUuOTE1NkMyMzcuODM1IDk2LjE4NTQgMjM3Ljk0NCA5Ni40MzQzIDIzOC4xMTUgOTYuNjE5TDIzOC41NjEgOTcuMDY1MiAyMzkuMzgxIDk3LjU1MjEgMjYxLjk4NiAxMzYuMTA3IDI2Mi40MzMgMTM2LjY0TDI2Mi45NjkgMTM3LjA4NkMyNjMuNTg3IDEzNy42OTUgMjY0LjY4MyAxMzcuNjk1IDI2My41MDYgMTM3LjY5NUwyNjMuNTA2IDEzNy42OTVDMjY0LjgyMyAxMzcuNjk1IDI2NS45MTMgMTM3LjIyIDI2Ni41MzEgMTM2LjYxMUwyODkuMTc3IDk4LjA1NjIgMjg5LjYyNCA5Ny41NTIxIDI5MC4xNiA5Ny4xMDZDMjkwLjc3OSA5Ni40OTc0IDI5MS44NzUgOTYuNDk3NCAyOTAuNjU2IDk2LjQ5NzRMMjkwLjY1NiA5Ni40OTc0QzI5MC41MjMgOTYuNDk3NCAyOTAuMzc0IDk2LjQzNDMgMjkwLjIwMyA5Ni4yNDk2TDI4OS43NTcgOTUuODAzNCAyODguOTM4IDk1LjMxNjUgMjY2LjMzMyA1Ni43NjE3IDI2NS44ODYgNTYuMjk0OCAyNjUuMzUgNTUuODQ4NkMyNjQuNzMyIDU1LjI0IDI2My42MzYgNTUuMjQgMjYzLjUwNiA1NS4yNEwyNjMuNTA2IDU1LjI0WiIgZmlsbD0iI0ZGNTI1MiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9nPjwvc3ZnPg==) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

/* ============================================
   LAYOUT FIX - Critical for proper spacing
   ============================================ */

/* Content wrapper to handle AppBar spacing */
.content-wrapper {
    padding: 20px;
    min-height: calc(100vh - 48px); /* 48px = Dense AppBar height */
}

/* Mobile: Less padding */
@media (max-width: 600px) {
    .content-wrapper {
        padding: 12px;
    }
}

/* ============================================
   MOBILE RESPONSIVE STYLES
   ============================================ */

@media (max-width: 600px) {
    /* Larger buttons for fingers (min 44px) */
    .mud-button-root {
        min-height: 44px !important;
    }

    .mud-button-contained,
    .mud-button-filled {
        padding: 0 16px !important;
    }

    /* Larger checkboxes and radios */
    .mud-checkbox-root,
    .mud-radio-root {
        min-height: 44px;
        padding: 8px 4px;
    }

    /* Better spacing for form inputs */
    .mud-input-control {
        margin-bottom: 12px;
    }

    /* Improve table readability */
    .mud-table-cell {
        padding: 8px 12px !important;
        font-size: 0.875rem;
    }

    /* Reduce paper padding */
    .mud-paper {
        padding: 12px !important;
    }

    /* Smaller typography */
    .mud-typography-h3 {
        font-size: 1.5rem !important;
    }

    .mud-typography-h4 {
        font-size: 1.25rem !important;
    }

    .mud-typography-h5 {
        font-size: 1.125rem !important;
    }

    /* Scrollable tables */
    .mud-table-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Better modal sizing */
    .mud-paper[style*="position: fixed"] {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        margin: 10px !important;
    }
}

/* Tablet adjustments */
@media (min-width: 600px) and (max-width: 960px) {
    .mud-paper {
        padding: 16px !important;
    }
}

/* ============================================
   GLOBAL UTILITIES
   ============================================ */

/* Prevent horizontal scroll */
html, body {
    overflow-x: hidden;
    max-width: 100%;
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Better focus styles */
.mud-button-root:focus-visible,
.mud-input-root:focus-visible,
.mud-nav-link:focus-visible {
    outline: 2px solid var(--mud-palette-primary) !important;
    outline-offset: 2px;
}

/* Print styles */
@media print {
    .mud-appbar,
    .mud-drawer,
    .no-print {
        display: none !important;
    }

    .mud-main-content {
        margin: 0 !important;
        padding: 0 !important;
    }

    .content-wrapper {
        padding: 0 !important;
    }
}
