/*
YOPT_DEV_STAMP_START
{
  "title": "YOptimize Plugin Standard-Schriftgrößen",
  "short_description": "Zentrale Standard-Schriftgrößen für kompakte Admin- und Frontend-Oberflächen im Vereinssuite Plugin.",
  "development_status": "development",
  "phase_number": 13,
  "work_status": "development",
  "development_started": "2026-06-09",
  "last_file_modified": "2026-06-09 22:19:11",
  "plugin_affiliation": "yop-vereinssuite",
  "module_affiliation": "design-system",
  "function_affiliation": "standard_font_sizes",
  "subfunction_affiliation": "yoptimize_plugin_font_sizes",
  "release_date": "",
  "last_extension": "2026-06-09 22:19:11",
  "development_version": "0.1.0-foundation",
  "area_type": "design"
}
YOPT_DEV_STAMP_END
*/

/*
YOPT_FEATURE_STAMP_START
{
  "stamp_type": "feature",
  "stamp_version": "1.0.0",
  "file": "assets/css/yopt-plugin-font-sizes.css",
  "plugin": "Vereinssuite",
  "project_id": "yop-vereinssuite",
  "module": {
    "name": "Designsystem",
    "key": "design-system",
    "description": "Definiert globale Designstandards, Schriftgrößen, UI-Grundlagen und visuelle Konsistenz."
  },
  "feature": {
    "name": "YOptimize Plugin Standard-Schriftgrößen",
    "key": "standard_font_sizes",
    "type": "function",
    "description": "Stellt zentrale CSS-Variablen und Basisklassen für kompakte Plugin-Oberflächen bereit.",
    "responsibility": "Diese Datei definiert die einheitlichen Schriftgrößen für Adminbereich, Frontend-App, Tabellen, Buttons, Badges, KPI-Karten und technische Kennungen."
  },
  "subfeature": {
    "name": "Schriftgrößen-Brücke für Vereinssuite UI",
    "key": "yvm_font_size_bridge",
    "description": "Überträgt die YOptimize Standard-Schriftgrößen auf bestehende yvm-* Plugin-Oberflächen."
  },
  "function_catalog": {
    "visible": false,
    "target": "developer",
    "title": "YOptimize Plugin Standard-Schriftgrößen",
    "category": "Designsystem",
    "short_text": "Einheitliche Schriftgrößen für kompakte Plugin-Oberflächen.",
    "description": "Die Standard-Schriftgrößen sorgen für eine kompakte, gut lesbare und konsistente Darstellung in Admin- und Frontend-Bereichen.",
    "benefit": "Mehr Informationen bleiben im sichtbaren Bereich, ohne die Lesbarkeit zu verschlechtern.",
    "sort_order": 1,
    "highlight": false,
    "show_in_backend": true,
    "show_in_frontend": true,
    "show_for_website_visitors": false,
    "show_for_customers": false,
    "show_for_developers": true,
    "show_for_interested_users": false
  },
  "technical_context": {
    "area": "design",
    "view_type": "stylesheet",
    "execution_type": "browser_render",
    "supports_ajax": false,
    "supports_rest_api": false,
    "supports_gutenberg": true,
    "supports_elementor": true
  },
  "user_context": {
    "user_roles": [
      "administrator",
      "club_manager",
      "developer"
    ],
    "permissions_required": []
  },
  "data_context": {
    "data_objects": [
      "CSS-Variablen",
      "Admin-UI",
      "Frontend-App",
      "Tabellen",
      "Buttons",
      "KPI-Karten"
    ],
    "input_data": [],
    "output_data": [
      "Einheitliche Schriftgrößen",
      "Kompakte UI"
    ],
    "related_database_tables": []
  },
  "process_context": {
    "main_actions": [
      "Schriftgrößen definieren",
      "UI-Klassen bereitstellen",
      "Vereinssuite-Oberfläche normalisieren"
    ],
    "dependencies": [
      "Designsystem",
      "Frontend-App",
      "Adminbereich"
    ],
    "related_templates": [],
    "related_assets": [
      "assets/css/yopt-plugin-font-sizes.css"
    ]
  },
  "security_context": {
    "security_requirements": [
      "Keine Benutzerdaten verarbeiten"
    ],
    "privacy_relevance": false,
    "privacy_notes": "Diese Datei enthält ausschließlich CSS-Definitionen."
  },
  "development_context": {
    "status": "development",
    "priority": "high",
    "phase_number": 13,
    "is_core_feature": true,
    "is_optional_feature": false,
    "is_pro_feature": false,
    "last_function_update": "2026-06-09",
    "notes": "Dieser Standard gilt künftig für die vollständige Pluginentwicklung."
  }
}
YOPT_FEATURE_STAMP_END
*/


/* =========================================================
   YOptimize Plugin Standard-Schriftgrößen
   Basis: kompakte Admin- und Frontend-Oberflächen
   ========================================================= */

/*
   Grundidee:
   - Normale Textgröße: 14px
   - Kompakte Darstellung für Dashboards, Tabellen, Plugin-Übersichten und Adminbereiche
   - Alle Schriftgrößen sind proportional auf eine kompakte UI abgestimmt
   - Ziel: mehr Informationen im sichtbaren Bereich ohne schlechte Lesbarkeit
*/

:root {
    /* =====================================================
       Basis
       ===================================================== */

    --yopt-font-size-base: 14px;
    --yopt-line-height-base: 1.42;

    /* =====================================================
       Fließtext / Beschreibung / Hinweise
       ===================================================== */

    --yopt-font-size-text: 14px;
    --yopt-font-size-text-small: 13px;
    --yopt-font-size-description: 12px;
    --yopt-font-size-muted: 12px;
    --yopt-font-size-meta: 11px;
    --yopt-font-size-label: 11px;

    /* =====================================================
       Tabellen
       ===================================================== */

    --yopt-font-size-table: 13px;
    --yopt-font-size-table-small: 12px;
    --yopt-font-size-table-head: 10.5px;

    /* =====================================================
       Buttons / Badges / Pills
       ===================================================== */

    --yopt-font-size-button: 12px;
    --yopt-font-size-button-small: 11.5px;
    --yopt-font-size-badge: 10.5px;
    --yopt-font-size-pill: 10.5px;

    /* =====================================================
       KPI / Zahlen / Fortschritt
       ===================================================== */

    --yopt-font-size-kpi-value: 22px;
    --yopt-font-size-kpi-label: 11px;
    --yopt-font-size-progress-value: 18px;
    --yopt-font-size-big-progress-value: 24px;

    /* =====================================================
       Frontend-Überschriften
       ===================================================== */

    --yopt-font-size-page-title: 30px;
    --yopt-font-size-section-title: 21px;
    --yopt-font-size-module-title: 18px;
    --yopt-font-size-card-title: 15px;
    --yopt-font-size-subtitle: 13px;

    /* =====================================================
       Backend-Überschriften
       ===================================================== */

    --yopt-admin-font-size-h1: 26px;
    --yopt-admin-font-size-h2: 18px;
    --yopt-admin-font-size-h3: 16px;
    --yopt-admin-font-size-h4: 14px;

    /* =====================================================
       Spezielle UI-Elemente
       ===================================================== */

    --yopt-font-size-audience-title: 19px;
    --yopt-font-size-audience-small: 11px;
    --yopt-font-size-code: 10.5px;
}

/* =========================================================
   Globale Plugin-Basis
   ========================================================= */

.yopt-plugin-wrap,
.yopt-plugin-wrap *,
.yvm-admin-page,
.yvm-admin-page *,
.yvm-frontend-app,
.yvm-frontend-app * {
    font-size: var(--yopt-font-size-base);
    line-height: var(--yopt-line-height-base);
}

/* =========================================================
   Standard-Texte
   ========================================================= */

.yopt-text,
.yvm-admin-page p,
.yvm-frontend-app p {
    font-size: var(--yopt-font-size-text);
    line-height: var(--yopt-line-height-base);
}

.yopt-text-small,
.yvm-admin-page small,
.yvm-frontend-app small {
    font-size: var(--yopt-font-size-text-small);
    line-height: 1.4;
}

.yopt-description,
.yopt-muted,
.yvm-frontend-header p,
.yvm-dashboard-card small,
.yvm-frontend-brand span {
    font-size: var(--yopt-font-size-muted);
    line-height: 1.4;
}

.yopt-meta,
.yopt-label,
.yvm-admin-page label,
.yvm-frontend-app label {
    font-size: var(--yopt-font-size-meta);
    line-height: 1.3;
}

/* =========================================================
   Frontend-Überschriften
   ========================================================= */

.yopt-page-title,
.yvm-frontend-header h1 {
    font-size: var(--yopt-font-size-page-title) !important;
    line-height: 1.12;
    font-weight: 700;
}

.yopt-section-title,
.yvm-quick-actions h2 {
    font-size: var(--yopt-font-size-section-title) !important;
    line-height: 1.18;
    font-weight: 700;
}

.yopt-module-title,
.yvm-frontend-module h1 {
    font-size: var(--yopt-font-size-module-title) !important;
    line-height: 1.18;
    font-weight: 700;
}

.yopt-card-title,
.yvm-dashboard-card-title,
.yvm-card h2 {
    font-size: var(--yopt-font-size-card-title) !important;
    line-height: 1.25;
    font-weight: 700;
}

.yopt-subtitle {
    font-size: var(--yopt-font-size-subtitle);
    line-height: 1.35;
}

/* =========================================================
   Backend-Überschriften
   ========================================================= */

.yopt-admin-wrap h1,
.yvm-admin-page h1 {
    font-size: var(--yopt-admin-font-size-h1) !important;
    line-height: 1.15;
    font-weight: 700;
}

.yopt-admin-wrap h2,
.yvm-admin-page h2 {
    font-size: var(--yopt-admin-font-size-h2) !important;
    line-height: 1.2;
    font-weight: 700;
}

.yopt-admin-wrap h3,
.yvm-admin-page h3 {
    font-size: var(--yopt-admin-font-size-h3) !important;
    line-height: 1.22;
    font-weight: 700;
}

.yopt-admin-wrap h4,
.yvm-admin-page h4 {
    font-size: var(--yopt-admin-font-size-h4) !important;
    line-height: 1.25;
    font-weight: 700;
}

/* =========================================================
   KPI-Boxen / Dashboard-Zahlen
   ========================================================= */

.yopt-kpi-label,
.yvm-dashboard-card-title {
    font-size: var(--yopt-font-size-kpi-label) !important;
    line-height: 1.3;
}

.yopt-kpi-value,
.yvm-dashboard-card strong {
    font-size: var(--yopt-font-size-kpi-value) !important;
    line-height: 1.05;
    font-weight: 800;
}

.yopt-progress-value {
    font-size: var(--yopt-font-size-progress-value);
    line-height: 1.05;
    font-weight: 800;
}

.yopt-big-progress-value {
    font-size: var(--yopt-font-size-big-progress-value);
    line-height: 1;
    font-weight: 800;
}

/* =========================================================
   Tabellen
   ========================================================= */

.yopt-table,
.yvm-admin-page table,
.yvm-frontend-app table,
.yvm-admin-page .widefat,
.yvm-frontend-app .widefat {
    font-size: var(--yopt-font-size-table);
    line-height: 1.34;
}

.yopt-table th,
.yvm-admin-page table th,
.yvm-frontend-app table th,
.yvm-admin-page .widefat th,
.yvm-frontend-app .widefat th {
    font-size: var(--yopt-font-size-table-head) !important;
    line-height: 1.25;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.yopt-table td,
.yvm-admin-page table td,
.yvm-frontend-app table td,
.yvm-admin-page .widefat td,
.yvm-frontend-app .widefat td {
    font-size: var(--yopt-font-size-table) !important;
    line-height: 1.34;
}

.yopt-table small,
.yvm-admin-page table small,
.yvm-frontend-app table small {
    font-size: var(--yopt-font-size-table-small) !important;
    line-height: 1.3;
}

/* =========================================================
   Formulare
   ========================================================= */

.yvm-admin-page input,
.yvm-admin-page select,
.yvm-admin-page textarea,
.yvm-frontend-app input,
.yvm-frontend-app select,
.yvm-frontend-app textarea {
    font-size: var(--yopt-font-size-text-small) !important;
    line-height: 1.35;
}

.yvm-admin-page label,
.yvm-frontend-app label {
    font-size: var(--yopt-font-size-label) !important;
    font-weight: 700;
}

/* =========================================================
   Buttons
   ========================================================= */

.yopt-button,
.yvm-admin-page .button,
.yvm-frontend-app .button,
.yvm-quick-action {
    font-size: var(--yopt-font-size-button) !important;
    line-height: 1;
    font-weight: 800;
}

.yopt-button-small,
.yvm-admin-page .button-small,
.yvm-frontend-app .button-small {
    font-size: var(--yopt-font-size-button-small) !important;
    line-height: 1;
    font-weight: 800;
}

/* =========================================================
   Badges / Pills / Statuslabel
   ========================================================= */

.yopt-badge,
.yopt-pill,
.yopt-status-label,
.yvm-status,
.yvm-priority {
    font-size: var(--yopt-font-size-badge) !important;
    line-height: 1.2;
    font-weight: 800;
}

/* =========================================================
   Code / Slugs / technische Kennungen
   ========================================================= */

.yopt-code,
.yopt-plugin-wrap code,
.yvm-admin-page code,
.yvm-frontend-app code {
    font-size: var(--yopt-font-size-code) !important;
    line-height: 1.25;
}

/* =========================================================
   Zielgruppen-Karten / Funktionsansichten
   ========================================================= */

.yopt-audience-title {
    font-size: var(--yopt-font-size-audience-title);
    line-height: 1.12;
    font-weight: 800;
}

.yopt-audience-small {
    font-size: var(--yopt-font-size-audience-small);
    line-height: 1.3;
}

/* =========================================================
   Vereinssuite-spezifische Feinkorrekturen
   ========================================================= */

.yvm-frontend-brand strong {
    font-size: var(--yopt-font-size-module-title) !important;
    line-height: 1.18;
}

.yvm-frontend-nav a {
    font-size: var(--yopt-font-size-text-small) !important;
    line-height: 1.25;
}

.yvm-dashboard-card {
    padding: 14px;
}

.yvm-dashboard-card-title {
    margin-bottom: 6px;
}

.yvm-card {
    font-size: var(--yopt-font-size-base);
}

.yvm-members-filter-form,
.yvm-fees-filter-form,
.yvm-documents-filter-form,
.yvm-tasks-filter-form,
.yvm-sponsors-filter-form {
    font-size: var(--yopt-font-size-text-small);
}

.yvm-members-form h2,
.yvm-fees-form h2,
.yvm-documents-form h2,
.yvm-tasks-form h2,
.yvm-sponsors-form h2,
.yvm-members-list h2,
.yvm-fees-list h2,
.yvm-documents-list h2,
.yvm-tasks-list h2,
.yvm-sponsors-list h2 {
    font-size: var(--yopt-font-size-card-title) !important;
    line-height: 1.25;
}

/* =========================================================
   Kurzreferenz
   ========================================================= */

/*
   Normale Textgröße:          14px
   Kleiner Text:               13px
   Hinweise / Beschreibungen:  12px
   Meta / Labels:              11px

   Tabelleninhalt:             13px
   Tabellenkopf:               10.5px

   Buttons:                    12px
   Kleine Buttons:             11.5px
   Badges / Pills:             10.5px

   KPI-Zahlen:                 22px
   Große Fortschrittswerte:    24px

   Frontend-Seitentitel:       30px
   Frontend-Bereichstitel:     21px
   Modultitel:                 18px
   Kartentitel:                15px

   Backend H1:                 26px
   Backend H2:                 18px
   Backend H3:                 16px
   Backend H4:                 14px

   Code / Slugs:               10.5px
*/
