/* ==========================================================================
   MINE HOLTER DESIGN SYSTEM - CORE STYLES & LAYOUT
   Chacón Partners - Operational Readiness Management System (ORMS)
   ========================================================================== */

/* Typography & Variables */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

:root {
    /* Color Palette - Spec Sheet */
    
    /* Primary Colors */
    --color-blue-primary: #4174F6;     /* Primary/100 */
    --color-blue-secondary: #7696EA;   /* Primary/80 */
    --color-blue-hover: #325ecc;       /* Darker version for hover */
    --color-blue-pressed: #2546a6;     /* Darker version for active */
    
    /* Additional Colors */
    --color-additional-coral: #f27777; /* Coral/Red accent */
    --color-additional-gold: #ffcf56;  /* Gold/Yellow accent */

    /* Grayscale Palette */
    --color-gray-100: #212529;
    --color-gray-90: #343a40;
    --color-gray-80: #495057;
    --color-gray-70: #868e96;
    --color-gray-60: #adb5bd;
    --color-gray-50: #ced4da;
    --color-gray-40: #dee2e6;
    --color-gray-30: #e9ecef;
    --color-gray-20: #f1f3f5;
    --color-gray-10: #f8f9fa;
    --color-gray-0: #ffffff;

    /* Semantic Theme Mappings */
    --color-dark-bg: var(--color-gray-100);       /* Left Nav, Dark Sections (Charcoal Black) */
    --color-light-bg: var(--color-gray-20);        /* Main Page Background (Light Gray) */
    --color-content-bg: var(--color-gray-0);      /* Card & Content Background (Pure White) */
    
    /* Text Color Palette */
    --color-text-primary: var(--color-gray-100);  /* Dark charcoal for text */
    --color-text-secondary: var(--color-gray-80); /* Neutral slate for body readability */
    --color-text-light: var(--color-gray-50);     /* In Nav bars / Subtitles */
    --color-text-white: var(--color-gray-0);
    
    /* Brand Secondary & Borders */
    --color-gray-primary: var(--color-gray-80);
    --color-gray-light: var(--color-gray-20);
    --color-gray-border: var(--color-gray-40);
    
    /* Status Colors - Spec Sheet */
    --color-success: #58df7a;          /* System Success Green */
    --color-info: #037aff;             /* System Info Blue */
    --color-warning: #ffcb03;          /* System Warning Yellow */
    --color-error: #ec483f;            /* System Error Red */

    /* Spacing & Sizes */
    --sidebar-width-compact: 64px;
    --sidebar-width-expanded: 260px;
    --header-height: 60px;
    
    /* Elevation */
    --shadow-subtle: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.02);
    --shadow-medium: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -1px rgba(0, 0, 0, 0.04);

    /* Fonts definition (Inter) */
    --font-family-body: 'Inter', sans-serif;
    --font-family-title: 'Inter', sans-serif;

        /* Font Weights */
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 400;     /* Minimalist header weight */
    --font-weight-semibold: 400;
    --font-weight-bold: 500;       /* Medium bolding */
    --font-weight-extrabold: 300;  /* Elegant thin header weight */
    --font-weight-black: 500;

    /* Typographic Scale Sizes */
    --font-size-h1: 52px;
    --font-size-h2: 38px;
    --font-size-h3: 26px;
    --font-size-h4: 20px;
    --font-size-h5: 18px;
    --font-size-body-1: 24px;
    --font-size-body-2: 20px;
    --font-size-body-3: 16px;
    --font-size-caption-medium: 16px;
    --font-size-caption-narrow: 14px;

    /* Typographic Scale Line Heights */
    --line-height-h1: 0.8;
    --line-height-h2: 0.8;
    --line-height-h3: 1.0;
    --line-height-h4: 1.0;
    --line-height-h5: 1.1;
    --line-height-body: 1.4;
}

/* HOLTER AIMS workflow pages */
[hidden]{display:none!important}
.aims-page{padding:48px 64px;max-width:1440px;margin:0 auto}.eyebrow{display:block;font-size:11px;letter-spacing:.16em;font-weight:700;color:#64748b;margin-bottom:10px}.page-lead{color:#64748b;margin-top:12px;max-width:640px}.aims-alert{padding:14px 18px;margin:20px 0;border-left:3px solid}.aims-alert.success{background:#ecfdf3;border-color:#16a34a;color:#166534}.aims-alert.error{background:#fef2f2;border-color:#dc2626;color:#991b1b}.aims-toolbar{display:flex;align-items:center;justify-content:space-between;margin:28px 0 16px}.aims-toolbar input{max-width:380px}.quiet{font-size:13px;color:#64748b}.aims-table-wrap{background:#fff;border:1px solid #e5e7eb;overflow:auto}.enterprise-table td small{display:block;color:#64748b;margin-top:5px}.enterprise-table td{vertical-align:middle}.table-link{color:#2563eb;font-weight:600;text-decoration:none}.status-pill{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:10px;letter-spacing:.05em;font-weight:700;background:#f1f5f9;color:#475569;white-space:nowrap}.status-pill.approved,.status-aprobado{background:#dcfce7;color:#166534}.status-en_evaluacion{background:#dbeafe;color:#1d4ed8}.status-observado{background:#fef3c7;color:#92400e}.status-rechazado,.status-retirado{background:#fee2e2;color:#991b1b}.status-borrador{background:#f1f5f9;color:#475569}.status-suspendido{background:#ffedd5;color:#9a3412}.status-tabs{display:flex;gap:8px;overflow:auto;margin:30px 0 16px}.status-tabs a{padding:8px 12px;color:#64748b;text-decoration:none;font-size:12px;border-bottom:2px solid transparent;white-space:nowrap}.status-tabs a.active{color:#2563eb;border-color:#2563eb}.aims-dialog{width:min(760px,92vw);max-height:90vh;border:0;padding:0;box-shadow:0 24px 80px #0f172a33}.aims-dialog.wide{width:min(920px,94vw)}.aims-dialog::backdrop{background:#0f172a99}.aims-form{padding:28px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #e5e7eb;padding-bottom:20px;margin-bottom:24px}.dialog-head h2{margin:0}.dialog-head button{border:0;background:none;font-size:28px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label,.aims-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#475569}.form-grid input,.form-grid select,.form-grid textarea,.aims-form textarea,.upload-zone input{border:1px solid #dbe1e8;padding:10px 11px;font:inherit;color:#111827;background:#fff}.span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}.step-progress{display:flex;gap:8px;margin-bottom:26px}.step-progress span{flex:1;border-top:3px solid #e2e8f0;padding-top:8px;font-size:10px;color:#94a3b8}.step-progress span.active{border-color:#2563eb;color:#1d4ed8}.form-step{display:none;min-height:350px}.form-step.active{display:block}.form-step h3{margin:0 0 22px}.upload-zone{border:1px dashed #94a3b8;padding:24px;display:grid;gap:20px}.check{flex-direction:row!important;align-items:center}.sticky-title{position:relative}.back-link{display:block;color:#64748b;text-decoration:none;font-size:12px;margin-bottom:20px}.section-dots{position:fixed;right:24px;top:50%;display:flex;flex-direction:column;gap:7px;z-index:5}.section-dots a{width:27px;height:27px;border-radius:50%;background:#fff;border:1px solid #dbe1e8;color:#64748b;display:grid;place-items:center;font-size:10px;text-decoration:none}.request-detail{scroll-behavior:smooth}.request-screen{min-height:calc(100vh - 60px);display:grid;grid-template-columns:80px minmax(0,900px);align-items:center;gap:35px;border-top:1px solid #e5e7eb;padding:60px 0}.screen-index{font-size:46px;font-weight:200;color:#cbd5e1}.request-screen h2{font-size:34px;line-height:1.15;margin:10px 0 28px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.detail-grid div{display:flex;flex-direction:column;gap:7px}.detail-grid small,.evidence-card small{color:#64748b;text-transform:uppercase;letter-spacing:.08em}.large-copy{font-size:18px;line-height:1.7;color:#334155}.evidence-card{border-left:2px solid #cbd5e1;padding:12px 18px;margin:14px 0}.evidence-card p{color:#475569;margin:8px 0}.split-evidence{display:grid;grid-template-columns:1fr 1fr;gap:50px}.document-row{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #e5e7eb;text-decoration:none;color:#1e293b}.document-row svg{color:#2563eb}.document-row span{flex:1}.document-row small{display:block;color:#64748b;margin-top:5px}.document-row em{font-size:12px;color:#2563eb}.timeline>div{display:flex;gap:15px}.timeline>div>span{width:9px;height:9px;border-radius:50%;background:#2563eb;margin-top:6px}.timeline p{margin:0 0 20px}.timeline small{display:block;color:#64748b;margin-top:5px}.decision-panel{margin-top:30px;background:#f8fafc;padding:24px}.decision-panel textarea{min-height:90px}.decision-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;margin-top:34px}.profile-card{background:#fff;border:1px solid #e5e7eb;padding:24px}.profile-card>small{display:block;color:#64748b;margin-top:20px}.profile-card h2{font-size:21px;margin:8px 0}.profile-card p{color:#475569;min-height:60px}.profile-card footer{border-top:1px solid #e5e7eb;padding-top:16px;display:flex;justify-content:space-between;font-size:12px}.empty-state{text-align:center;color:#64748b;padding:40px}
@media(max-width:800px){.aims-page{padding:30px 20px}.form-grid,.split-evidence,.detail-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.request-screen{grid-template-columns:1fr;min-height:auto;padding:60px 0}.screen-index{font-size:28px}.section-dots{display:none}.workspace-header{align-items:flex-start;gap:20px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html,.request-detail{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.dashboard-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#e2e8f0;margin:38px 0}.dashboard-kpis a{background:#fff;padding:24px;text-decoration:none;color:#0f172a;display:flex;flex-direction:column;gap:10px}.dashboard-kpis small{color:#64748b;text-transform:uppercase;letter-spacing:.08em}.dashboard-kpis strong{font-size:38px;font-weight:400}.dashboard-kpis span{font-size:11px;color:#64748b}.dashboard-two{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;margin-top:55px}.dashboard-two section{border-top:1px solid #cbd5e1;padding-top:22px}.dashboard-timeline{margin-top:25px}@media(max-width:1000px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-two{grid-template-columns:1fr}}
.admin-section{margin-top:55px}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.role-grid article{border:1px solid #e2e8f0;background:#fff;padding:18px}.role-grid small{display:block;color:#64748b;margin:6px 0 12px}.role-grid p{font-size:12px;line-height:1.6;color:#475569}

/* Base resets & layout */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font-family-body);
    letter-spacing: -0.01em;
}

body {
    background-color: var(--color-light-bg);
    color: var(--color-text-primary);
    overflow-x: hidden;
    line-height: var(--line-height-body);
    font-size: var(--font-size-body-3);
    font-weight: var(--font-weight-regular); /* Arial Regular */
}

/* App layout wrapper grid */
#app-layout-wrapper {
    display: grid;
    min-height: 100vh;
    grid-template-columns: var(--sidebar-width-compact) 1fr;
    grid-template-rows: var(--header-height) 1fr;
    grid-template-areas: 
        "sidebar header"
        "sidebar main";
    transition: grid-template-columns 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Sidebar expansion changes layout grid */
#app-layout-wrapper.sidebar-expanded {
    grid-template-columns: var(--sidebar-width-expanded) 1fr;
}

/* Top Header Pane */
#top-header-pane {
    grid-area: header;
    height: var(--header-height);
    background-color: var(--color-light-bg);
    border-bottom: 1px solid var(--color-gray-30);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    position: sticky;
    top: 0;
    z-index: 100;
}

.header-left {
    display: flex;
    align-items: center;
}

.header-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* Main Workspace Pane */
#main-content-pane {
    grid-area: main;
    padding: 32px;
    overflow-y: auto;
    background-color: var(--color-light-bg);
}

/* Breadcrumb Navigation */
.breadcrumb-container {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: var(--font-weight-medium);
}

.crumb-item {
    color: var(--color-text-secondary);
}

.crumb-item.active {
    color: var(--color-text-primary);
    font-weight: var(--font-weight-bold);
}

.crumb-separator {
    color: var(--color-text-secondary);
    font-size: 16px;
    user-select: none;
}

/* Global Search Container */
.global-search-container {
    position: relative;
    width: 280px;
}

.global-search-container input {
    width: 100%;
    height: 36px;
    border: 1px solid var(--color-gray-border);
    background-color: #F9FAFB;
    padding: 0 12px 0 36px;
    font-size: 14px;
    color: var(--color-text-primary);
    outline: none;
    transition: all 150ms ease;
}

.global-search-container input:focus {
    background-color: var(--color-content-bg);
    border-color: var(--color-blue-primary);
    box-shadow: 0 0 0 1px var(--color-blue-primary);
}

.search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-text-secondary);
    pointer-events: none;
}

/* Typography Hierarchy */
h1, h2, h3, h4, h5, h6,
.brand-title,
.nav-title,
.drawer-heading,
.modal-heading,
.card-title,
.notification-title,
.section-title,
.comp-demo-title,
.kpi-value,
.kpi-title,
.dimension-heading {
    font-family: var(--font-family-title);
    font-weight: var(--font-weight-medium);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--color-text-primary);
}

h1 {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
}

h2 {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
}

h3 {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
}

h4 {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
}

h5 {
    font-size: var(--font-size-h5);
    line-height: var(--line-height-h5);
}

h6 {
    font-size: var(--font-size-body-1);
    line-height: var(--line-height-body);
}

/* Figma Typography Scale Helper Classes */
.h1-spec {
    font-family: var(--font-family-title);
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
}
.h2-spec {
    font-family: var(--font-family-title);
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
}
.h3-spec {
    font-family: var(--font-family-title);
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
}
.h4-spec {
    font-family: var(--font-family-title);
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
}
.h5-spec {
    font-family: var(--font-family-title);
    font-size: var(--font-size-h5);
    line-height: var(--line-height-h5);
}
.body-1-bold {
    font-size: var(--font-size-body-1);
    line-height: var(--line-height-body);
    font-weight: var(--font-weight-bold);
}
.body-1-regular {
    font-size: var(--font-size-body-1);
    line-height: var(--line-height-body);
    font-weight: var(--font-weight-regular);
}
.body-2-bold {
    font-size: var(--font-size-body-2);
    line-height: var(--line-height-body);
    font-weight: var(--font-weight-bold);
}
.body-2-regular {
    font-size: var(--font-size-body-2);
    line-height: var(--line-height-body);
    font-weight: var(--font-weight-regular);
}
.body-3-bold {
    font-size: var(--font-size-body-3);
    line-height: var(--line-height-body);
    font-weight: var(--font-weight-bold);
}
.body-3-regular {
    font-size: var(--font-size-body-3);
    line-height: var(--line-height-body);
    font-weight: var(--font-weight-regular);
}
.caption-medium {
    font-size: var(--font-size-caption-medium);
    line-height: var(--line-height-body);
    font-weight: var(--font-weight-medium);
}
.caption-narrow {
    font-size: var(--font-size-caption-narrow);
    line-height: var(--line-height-body);
    font-weight: var(--font-weight-regular);
}

/* Form Controls and Action overrides */
button, input, select, textarea, label {
    font-family: var(--font-family-body);
}

.page-title {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
    font-weight: var(--font-weight-medium);
    letter-spacing: -0.02em;
    font-family: var(--font-family-title);
}

/* Minimalist Dashboard Layout */
.dashboard-minimal-wrapper {
    display: flex;
    flex-direction: column;
    gap: 72px;
    padding: 40px 0;
}

.chart-minimal-card {
    background-color: var(--color-content-bg);
    border: 1px solid var(--color-gray-border);
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: var(--shadow-subtle);
}

.chart-container-large {
    position: relative;
    width: 100%;
    height: 340px;
}

.minimal-metrics-row {
    display: flex;
    justify-content: space-between;
    gap: 56px;
    margin-top: 20px;
}

.minimalist-metric-card {
    border: none;
    background: transparent;
    padding: 16px 0 0 0;
    display: flex;
    flex-direction: column;
    border-top: 3px solid var(--color-gray-border);
    flex: 1;
}

.minimalist-metric-title {
    font-size: 11px;
    font-weight: var(--font-weight-extrabold);
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 14px;
}

.minimalist-metric-value {
    font-size: 56px;
    font-weight: var(--font-weight-extrabold);
    color: var(--color-text-primary);
    line-height: 1;
    font-family: var(--font-family-title);
}

.minimalist-metric-subtext {
    font-size: 11px;
    color: var(--color-text-secondary);
    margin-top: 8px;
}

.page-subtitle {
    font-size: 14px;
    color: var(--color-text-secondary);
    font-weight: var(--font-weight-regular);
    margin-top: 2px;
}

/* Cards (Maximum 4px border-radius) */
.enterprise-card {
    background-color: var(--color-content-bg);
    border: 1px solid var(--color-gray-border);
    border-radius: 4px;
    box-shadow: var(--shadow-subtle);
    margin-bottom: 36px;
    display: flex;
    flex-direction: column;
}

.enterprise-card.h-full {
    height: 100%;
}

.card-header {
    padding: 28px 40px;
    border-bottom: 1px solid var(--color-gray-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.card-header.bg-dark-header {
    background-color: var(--color-dark-bg);
    border-bottom: none;
}

.card-title {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
    font-weight: var(--font-weight-medium);
    letter-spacing: -0.01em;
}

.card-subtitle-caption {
    font-size: 12px;
    color: var(--color-text-secondary);
    text-transform: uppercase;
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.05em;
}

.card-body {
    padding: 40px;
}

.card-body.no-padding {
    padding: 0;
}

.card-footer {
    padding: 24px 40px;
    border-top: 1px solid var(--color-gray-border);
}

/* Tables (Enterprise Fiori/Power BI style) */
.table-responsive-wrapper {
    overflow-x: auto;
    width: 100%;
}

.enterprise-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: 14px;
}

.enterprise-table th {
    background-color: #F9FAFB;
    color: var(--color-text-secondary);
    font-weight: var(--font-weight-bold);
    padding: 12px 18px;
    border-bottom: 1px solid var(--color-gray-border);
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.05em;
    user-select: none;
    position: sticky;
    top: 0;
}

.enterprise-table th.sortable {
    cursor: pointer;
}

.enterprise-table th.sortable:hover {
    background-color: #F3F4F6;
    color: var(--color-text-primary);
}

.enterprise-table td {
    padding: 14px 18px;
    border-bottom: 1px solid var(--color-gray-border);
    color: var(--color-text-primary);
    vertical-align: middle;
}

.enterprise-table tbody tr {
    transition: background-color 150ms ease;
}

.enterprise-table tbody tr:hover {
    background-color: #F9FAFB;
}

.enterprise-table tr.row-selected {
    background-color: #EFF6FF !important; /* Soft blue focus */
}

.col-select {
    width: 48px;
    text-align: center;
    padding: 0 !important;
}

.col-select input[type="checkbox"] {
    cursor: pointer;
}

/* Helpers & Utilities */
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-bold { font-weight: var(--font-weight-bold); }
.text-semibold { font-weight: var(--font-weight-semibold); }
.text-italic { font-style: italic; }
.font-mono { font-family: monospace; font-size: 12px; }
.display-block { display: block; }
.display-none { display: none !important; }
.margin-top-xs { margin-top: 4px; }
.margin-top-sm { margin-top: 8px; }
.margin-top-md { margin-top: 16px; }
.margin-top-lg { margin-top: 24px; }
.margin-bottom-sm { margin-bottom: 8px; }
.margin-bottom-md { margin-bottom: 16px; }
.padding-md { padding: 16px; }
.padding-vertical-sm { padding-top: 8px; padding-bottom: 8px; }
.flex-between { display: flex; justify-content: space-between; align-items: center; }
.flex-wrap { display: flex; flex-wrap: wrap; }
.gap-sm { gap: 8px; }
.gap-md { gap: 16px; }
.gap-lg { gap: 24px; }
.border-subtle { border: 1px solid var(--color-gray-border); }
.cursor-pointer { cursor: pointer; }
.h-full { height: 100%; }

/* Layout Grids */
.workspace-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 32px;
}

.workspace-actions {
    display: flex;
    gap: 12px;
    align-items: center;
}

/* Responsive grid for KPI cards */
.kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-bottom: 32px;
}

/* Multi-column layout for dashboard */
.dashboard-grid-two-col {
    display: grid;
    grid-template-columns: 6.5fr 3.5fr;
    gap: 32px;
}

.grid-left-main, .grid-right-sidebar {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/* Grid layout for tracker */
.tracker-layout-grid {
    display: grid;
    grid-template-columns: 6fr 4fr;
    gap: 32px;
    height: calc(100vh - var(--header-height) - 130px);
}

.tracker-left-panel, .tracker-right-panel {
    height: 100%;
}

/* Text coloring helper classes */
.text-success { color: var(--color-success); }
.text-info { color: var(--color-info); }
.text-warning { color: var(--color-warning); }
.text-error { color: var(--color-error); }
.text-primary { color: var(--color-blue-primary); }
.text-gray { color: var(--color-text-secondary); }
.text-gray-light { color: var(--color-text-light); }

.bg-success { background-color: var(--color-success) !important; color: white !important; }
.bg-info { background-color: var(--color-info) !important; color: white !important; }
.bg-warning { background-color: var(--color-warning) !important; color: white !important; }
.bg-error { background-color: var(--color-error) !important; color: white !important; }
.bg-primary { background-color: var(--color-blue-primary) !important; color: white !important; }
.bg-gray { background-color: var(--color-gray-primary) !important; color: white !important; }

/* Print optimization */
@media print {
    #app-sidebar, #top-header-pane, .workspace-actions {
        display: none !important;
    }
    #app-layout-wrapper {
        grid-template-columns: 1fr !important;
        grid-template-rows: 1fr !important;
        grid-template-areas: "main" !important;
    }
    #main-content-pane {
        padding: 0 !important;
    }
    .enterprise-card {
        box-shadow: none !important;
        border: 1px solid #000 !important;
        page-break-inside: avoid;
    }
}
