/*
 * portal-tokens.css - Portal-eigene Design-Tokens (Admin-Design-Sprache)
 *
 * KOPIE von /admin/assets/css/variables.css - bewusst ENTKOPPELT: das
 * Mitgliederportal soll nicht mehr an der site-weiten framework.css haengen.
 * Bei Aenderungen an admin/assets/css/variables.css hier ggf. nachziehen.
 * Stand der Kopie: variables.css v1.0 (@since 2025-12-26), uebernommen 2026-07-24.
 *
 * Single :root, KEIN [data-theme] - das Portal wird single-theme (Admin-Look).
 * Am Ende: PORTAL-SHIM fuer Token-Namen, die portal.css/Portal-Inline nutzen,
 * die es im Admin-Namensraum nicht gibt oder anders heissen.
 */

:root {
    /* =========================================
       Primärfarben - Grün-Palette
       ========================================= */
    --color-primary-900: #0f172a;
    --color-primary-800: #0f172a;
    --color-primary-700: #1e293b;
    --color-primary-600: #1e293b;
    --color-primary-500: #334155;
    --color-primary-400: #475569;
    --color-primary-300: #64748b;
    --color-primary-200: #cbd5e1;
    --color-primary-100: #e2e8f0;
    --color-primary-50: #f1f5f9;
    
    /* =========================================
       Akzentfarben
       ========================================= */
    --color-accent: #334155;
    --color-accent-light: #475569;
    --color-accent-dark: #1e293b;
    
    /* =========================================
       Neutrale Farben
       ========================================= */
    --color-text: #1e293b; /* slate-800 */
    --color-text-muted: #475569; /* slate-600 */
    --color-text-soft: #64748b; /* slate-500 */
    --color-bg: #f8fafc;
    --color-bg-alt: #f1f5f9;
    --color-card: #ffffff;
    --color-border: #e2e8f0;       /* slate-200 — neutral grau */
    --color-border-light: #f1f5f9; /* slate-100 — sehr helles slate */
    
    /* =========================================
       Feedback-Farben
       ========================================= */
    /* Erfolg (Grün) */
    --color-success: #2563eb;
    --color-success-bg: #dbeafe;
    --color-success-text: #1e40af;
    
    /* Fehler (Rot) */
    --color-error: #ef4444;
    --color-error-bg: #fee2e2;
    --color-error-text: #7f1d1d;
    
    /* Warnung (Orange) */
    --color-warning: #f59e0b;
    --color-warning-bg: #f1f5f9;
    --color-warning-text: #92400e;
    
    /* Info (Blau) */
    --color-info: #3b82f6;
    --color-info-bg: #dbeafe;
    --color-info-text: #1e40af;
    
    /* =========================================
       Schatten
       ========================================= */
    --shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.08);
    --shadow-md: 0 10px 25px rgba(15, 23, 42, 0.12);
    --shadow-lg: 0 18px 40px rgba(15, 23, 42, 0.15);
    --shadow-xl: 0 22px 50px rgba(15, 23, 42, 0.2);
    --shadow-button: 0 16px 36px rgba(15, 23, 42, 0.55);
    --shadow-button-hover: 0 20px 44px rgba(15, 23, 42, 0.65);
    
    /* =========================================
       Abstände (Spacing)
       ========================================= */
    --spacing-xs: 0.25rem;    /* 4px */
    --spacing-sm: 0.5rem;     /* 8px */
    --spacing-md: 1rem;       /* 16px */
    --spacing-lg: 1.5rem;     /* 24px */
    --spacing-xl: 2rem;       /* 32px */
    --spacing-2xl: 3rem;      /* 48px */
    --spacing-3xl: 4rem;      /* 64px */
    
    /* =========================================
       Border Radius
       ========================================= */
    /* Modernes Radius-System (2026-05-14, aligned mit Button 8px) */
    --radius-sm: 0.375rem;  /* 6px  - Badges, Code-Pills, Small-Buttons */
    --radius-md: 0.5rem;    /* 8px  - Inputs, Buttons, Form-Fields */
    --radius-lg: 0.75rem;   /* 12px - Cards, Panels, Container */
    --radius-xl: 0.75rem;   /* 12px - Modals, grosse Container */

    /* ============================================
       Modal Header/Footer (global, einheitlich)
       ============================================ */
    --modal-header-bg: #f8fafc;  /* slate-50 - Header steht oben heraus */
    --modal-footer-bg: #ffffff;  /* card-white - Footer hebt sich durch Border ab */
    --radius-full: 999px;   /* Chips, Sync-Badges, Avatars */
    
    /* =========================================
       Schriftgrößen
       ========================================= */
    --font-xs: 0.78rem;       /* 12.5px */
    --font-sm: 0.85rem;       /* 13.6px */
    --font-base: 0.95rem;     /* 15.2px */
    --font-md: 1rem;          /* 16px */
    --font-lg: 1.1rem;        /* 17.6px */
    --font-xl: 1.25rem;       /* 20px */
    --font-2xl: 1.5rem;       /* 24px */
    --font-3xl: 2rem;         /* 32px */
    
    /* =========================================
       Transitions
       ========================================= */
    --transition-fast: 0.15s ease;
    --transition-normal: 0.25s ease;
    --transition-slow: 0.4s ease;
    
    /* =========================================
       Z-Index
       ========================================= */
    --z-dropdown: 50;
    --z-mobile-nav: 90;
    --z-header: 100;
    --z-sidebar: 150;
    --z-topbar: 200;
    --z-modal: 1000;
    --z-overlay: 9999;
    
    /* =========================================
       Layout
       ========================================= */
    --sidebar-width: 220px;
    --topbar-height: 56px;
    --max-content-width: 1400px;
    --max-page-width: 1100px;
}

/* ============================================================
   PORTAL-SHIM
   Token-Namen, die das Portal (portal.css + Inline in PHP/JS) nutzt, aber der
   Admin-Namensraum nicht (oder anders) kennt. Alias auf das passende Admin-Token
   bzw. Neu-Definition. Ermittelt per grep-Diff portal-genutzt vs. variables.css.
   ============================================================ */
:root {
    /* Aliase auf vorhandene Admin-Token (anderer Name im Portal) */
    --color-surface:        var(--color-card);      /* Portal: surface = Admin card (#fff) */
    --color-surface-alt:    var(--color-bg-alt);    /* leicht abgesetzte Flaeche */
    --color-card-bg:        var(--color-card);      /* Alias (Portal-Schreibweise) */
    --color-text-secondary: var(--color-text-soft); /* Portal: secondary = Admin soft */
    --color-danger:         var(--color-error);     /* Portal-Alias fuer error */
    --color-primary:        #334155;                /* ENTGRUENT: Primaer = Slate (kein Gruen) */
    --color-link:           #334155;                /* ENTGRUENT: Links = Slate */
    --color-success-border: var(--color-success);   /* Border = Success-Gruen */
    --color-bg-subtle:      var(--color-bg-alt);    /* dezente Flaeche */

    /* Von Admin NICHT definiert -> Portal-Neudefinition */
    --font-weight-normal:   400;
    --font-weight-medium:   500;
    --font-weight-semibold: 600;
    --font-weight-bold:     700;
    --font-mono:            ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;
    --spacing-2:            0.5rem;   /* wie framework: Portal-Spacing beibehalten */
    --spacing-3:            0.75rem;
    --spacing-4:            0.875rem;
    /* === ENTGRUENUNG (User-Entscheid: kein Gruen in der Portal-UI) === */
    /* Primaer-/Accent-Palette Oliv -> Slate */
    --color-primary-50:  #f1f5f9;
    --color-primary-100: #e2e8f0;
    --color-primary-200: #e2e8f0;
    --color-primary-300: #cbd5e1;
    --color-primary-400: #94a3b8;
    --color-primary-500: #334155;
    --color-primary-600: #1e293b;
    --color-primary-700: #1e293b;
    --color-primary-800: #0f172a;
    --color-primary-900: #0f172a;
    --color-accent:       #334155;
    --color-accent-light: #475569;
    --color-accent-dark:  #1e293b;
    /* "Success/positiv/aktiv" -> BLAU (kein Gruen) */
    --color-success:      #2563eb;
    --color-success-bg:   #dbeafe;
    --color-success-text: #1e40af;
    --color-success-border: #2563eb;
    /* Schatten: gruen-getoent -> neutral slate */
    --shadow-sm: 0 2px 8px rgba(15,23,42,0.08);
    --shadow-md: 0 10px 25px rgba(15,23,42,0.12);
    --shadow-lg: 0 18px 40px rgba(15,23,42,0.15);
    --shadow-xl: 0 22px 50px rgba(15,23,42,0.2);
}
