/*
 * Django admin Font Customization
 * Applies MinerSheets global font system to Django admin Interface
 */

/* Import Work Sans font directly for admin */
@import url('https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap');

/* CSS Variables for admin fonts - Rosemary Primary */
:root {
    --admin-font-primary: 'Rosemary', 'Work Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    --admin-font-weight-normal: 400;
    --admin-font-weight-medium: 500;
    --admin-font-weight-semibold: 600;
    --admin-font-weight-bold: 700;
    --admin-font-size-xs: 0.75rem;
    --admin-font-size-sm: 0.875rem;
    --admin-font-size-base: 1rem;
    --admin-font-size-lg: 1.125rem;
    --admin-font-size-xl: 1.25rem;
    --admin-font-size-2xl: 1.5rem;
    --admin-font-size-3xl: 1.875rem;
}

/* Global admin font override - Force Work Sans */
html, body, div, span, p, a, input, select, textarea, button, h1, h2, h3, h4, h5, h6,
label, th, td, li, ul, ol, dl, dt, dd, form, fieldset, legend {
    font-family: var(--admin-font-primary) !important;
}

/* Specific admin Interface elements */
.admin *,
#header *,
#main *,
#content *,
.breadcrumbs *,
.module *,
.form-row *,
.results *,
.paginator *,
.object-tools *,
.submit-row *,
.messagelist * {
    font-family: var(--admin-font-primary) !important;
}

/* Override Django admin default fonts */
body {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-normal) !important;
    font-size: var(--admin-font-size-base) !important;
    line-height: 1.5 !important;
}

/* admin header */
#header, #header * {
    font-family: var(--admin-font-primary) !important;
}

#branding h1,
#branding h1 a:link,
#branding h1 a:visited {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-bold) !important;
    font-size: var(--admin-font-size-2xl) !important;
    color: #1d4ed8 !important;
}

/* Navigation and breadcrumbs */
.breadcrumbs, .breadcrumbs * {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-normal) !important;
    font-size: var(--admin-font-size-sm) !important;
}

/* User tools */
#user-tools, #user-tools * {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-medium) !important;
    font-size: var(--admin-font-size-sm) !important;
}

/* Content area */
.content h1 {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-bold) !important;
    font-size: var(--admin-font-size-3xl) !important;
}

.content h2 {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-semibold) !important;
    font-size: var(--admin-font-size-xl) !important;
}

.content h3 {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-medium) !important;
    font-size: var(--admin-font-size-lg) !important;
}

/* Tables */
.results th,
.results td,
table, th, td {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-normal) !important;
    font-size: var(--admin-font-size-sm) !important;
}

/* Forms */
.form-row label, label {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-medium) !important;
    font-size: var(--admin-font-size-sm) !important;
}

.form-row input,
.form-row select,
.form-row textarea,
input, select, textarea {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-normal) !important;
    font-size: var(--admin-font-size-base) !important;
}

/* Buttons */
.button,
input[type="submit"],
input[type="button"],
.submit-row input,
button {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-medium) !important;
    font-size: var(--admin-font-size-sm) !important;
}

/* Pagination */
.paginator, .paginator * {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-normal) !important;
    font-size: var(--admin-font-size-sm) !important;
}

/* Messages */
.messagelist li, .messagelist * {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-normal) !important;
    font-size: var(--admin-font-size-base) !important;
}

/* Navigation menu */
.module h2, .module h2 * {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-semibold) !important;
    font-size: var(--admin-font-size-lg) !important;
}

.module th,
.module td,
.module * {
    font-family: var(--admin-font-primary) !important;
    font-weight: var(--admin-font-weight-normal) !important;
    font-size: var(--admin-font-size-sm) !important;
}

/* Login form */
.login {
    font-family: var(--font-primary) !important;
}

.login .form-row label {
    font-family: var(--font-primary) !important;
    font-weight: var(--font-medium) !important;
    font-size: var(--font-base) !important;
}

.login .form-row input {
    font-family: var(--font-primary) !important;
    font-weight: var(--font-normal) !important;
    font-size: var(--font-base) !important;
}

.login input[type="submit"] {
    font-family: var(--font-primary) !important;
    font-weight: var(--font-semibold) !important;
    font-size: var(--font-base) !important;
}

/* dashboard modules */
.module h2 {
    font-family: var(--font-primary) !important;
    font-weight: var(--font-semibold) !important;
    font-size: var(--font-lg) !important;
}

.module th,
.module td {
    font-family: var(--font-primary) !important;
    font-weight: var(--font-normal) !important;
    font-size: var(--font-sm) !important;
}

/* Object tools */
.object-tools li {
    font-family: var(--font-primary) !important;
    font-weight: var(--font-medium) !important;
    font-size: var(--font-sm) !important;
}

/* Help text */
.help {
    font-family: var(--font-primary) !important;
    font-weight: var(--font-normal) !important;
    font-size: var(--font-xs) !important;
    font-style: italic;
}

/* error Lists */
.errorlist {
    font-family: var(--font-primary) !important;
    font-weight: var(--font-normal) !important;
    font-size: var(--font-sm) !important;
}

/* inline forms */
.inline-group .tabular {
    font-family: var(--font-primary) !important;
}

.inline-group .tabular th,
.inline-group .tabular td {
    font-family: var(--font-primary) !important;
    font-weight: var(--font-normal) !important;
    font-size: var(--font-sm) !important;
}

/* Filter sidebar */
#changelist-filter h2 {
    font-family: var(--font-primary) !important;
    font-weight: var(--font-semibold) !important;
    font-size: var(--font-base) !important;
}

#changelist-filter h3 {
    font-family: var(--font-primary) !important;
    font-weight: var(--font-medium) !important;
    font-size: var(--font-sm) !important;
}

#changelist-filter li {
    font-family: var(--font-primary) !important;
    font-weight: var(--font-normal) !important;
    font-size: var(--font-sm) !important;
}

/* Search form */
#changelist-search label {
    font-family: var(--font-primary) !important;
    font-weight: var(--font-medium) !important;
    font-size: var(--font-sm) !important;
}

#changelist-search input {
    font-family: var(--font-primary) !important;
    font-weight: var(--font-normal) !important;
    font-size: var(--font-base) !important;
}

/* Enhanced branding */
#branding h1 {
    color: #1d4ed8 !important;
    font-weight: var(--font-bold) !important;
    letter-spacing: -0.025em;
}

/* Consistent spacing and readability */
.content {
    line-height: var(--leading-normal) !important;
}

/* Responsive font adjustments for admin */
@media (max-width: 768px) {
    #branding h1 {
        font-size: var(--font-xl) !important;
    }

    .content h1 {
        font-size: var(--font-2xl) !important;
    }

    .results th,
    .results td {
        font-size: var(--font-xs) !important;
    }
}
