/* ========================================
   CMU DASHBOARD TYPOGRAPHY SYSTEM
   Centro Médico Universal
   ========================================
   Based on nivin-dashboard.php specifications
   Professional monospace typography for medical clarity
   ======================================== */

/* === GLOBAL FONT STACK === */
/* Roboto Mono with fallbacks for maximum compatibility */
* {
    font-family: 'Roboto Mono', 'Courier New', Courier, monospace;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body {
    font-family: 'Roboto Mono', 'Courier New', Courier, monospace;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 400;
    color: #1f2937;
}

/* === HEADER TITLE === */
/* Compact but bold for CMU branding */
h1, .header-title {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.5px;
    font-family: 'Roboto Mono', 'Courier New', Courier, monospace;
}

/* === HEADINGS === */
h2 {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

h3 {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

h4, h5, h6 {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.2px;
}

/* === INPUT/SELECT STYLING === */
/* UI controls: 12-13px text, 600 weight for readability */
input, select, textarea, button {
    font-family: 'Roboto Mono', 'Courier New', Courier, monospace;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

/* === BADGE/CLOCK TEXT === */
/* Schedule labels and pill badges: smoothing + 500-600 weight */
.badge, .clock-text, .schedule-label, .pill {
    font-family: 'Roboto Mono', 'Courier New', Courier, monospace;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.3px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* High DPI displays - stay crisp */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .badge, .clock-text, .schedule-label, .pill {
        font-weight: 600;
    }
}

/* === PARAGRAPHS === */
p, .text {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.2px;
}

/* === LINKS === */
a {
    font-family: 'Roboto Mono', 'Courier New', Courier, monospace;
    font-weight: 500;
    letter-spacing: 0.3px;
    text-decoration: none;
    transition: all 0.2s ease;
}

a:hover {
    text-decoration: underline;
}

/* === BUTTONS === */
button, .btn {
    font-family: 'Roboto Mono', 'Courier New', Courier, monospace;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* === LABELS === */
label {
    font-family: 'Roboto Mono', 'Courier New', Courier, monospace;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #6b7280;
}

/* === TABLES === */
table {
    font-family: 'Roboto Mono', 'Courier New', Courier, monospace;
    font-size: 13px;
}

th {
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

td {
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.3px;
}

/* === SMALL TEXT === */
small, .text-sm {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.3px;
}

/* === LARGE TEXT === */
.text-lg {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.3px;
}

/* === CARD TITLES === */
.card-title, .section-title {
    font-family: 'Roboto Mono', 'Courier New', Courier, monospace;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

/* === NAVIGATION === */
nav, .nav-item, .menu-item {
    font-family: 'Roboto Mono', 'Courier New', Courier, monospace;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* === FORMS === */
.form-control, .form-label, .form-text {
    font-family: 'Roboto Mono', 'Courier New', Courier, monospace;
}

input::placeholder, textarea::placeholder {
    font-weight: 400;
    opacity: 0.6;
}

/* === STATUS INDICATORS === */
.status, .tag, .label {
    font-family: 'Roboto Mono', 'Courier New', Courier, monospace;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

/* === SPECIAL UTILITY CLASSES === */
.mono {
    font-family: 'Roboto Mono', 'Courier New', Courier, monospace !important;
}

.font-bold {
    font-weight: 700;
}

.font-semibold {
    font-weight: 600;
}

.font-medium {
    font-weight: 500;
}

.font-normal {
    font-weight: 400;
}

.uppercase {
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* === RESPONSIVE ADJUSTMENTS === */
@media (max-width: 768px) {
    body {
        font-size: 14px;
    }
    
    h1, .header-title {
        font-size: 14px;
    }
    
    input, select, textarea, button {
        font-size: 12px;
    }
}

/* === PRINT STYLES === */
@media print {
    * {
        font-family: 'Roboto Mono', 'Courier New', Courier, monospace !important;
    }
}
