/* appsolvia Design System – Tokens. Schriften lokal (SIL OFL 1.1), damit die App offline und ohne Google-CDN läuft. */
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/montserrat-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/montserrat-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/montserrat-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Nunito Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/nunito-sans-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Nunito Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/nunito-sans-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Nunito Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/nunito-sans-latin-700-normal.woff2') format('woff2'); }

:root {
    /* Primary (Grün) */
    --primary-10: #FCFEFD; --primary-50: #F7FAF9; --primary-100: #F1F9F7; --primary-300: #C7E4DD; --primary-500: #1D9274; --primary-600: #0E644E; --primary-700: #0A3933;
    /* Secondary (Navy) */
    --secondary-10: #FCFDFD; --secondary-100: #E2E7EB; --secondary-300: #8A9CAF; --secondary-500: #14385F; --secondary-700: #0F2A48; --secondary-900: #050E18;
    /* Neutral (warmes Grau) */
    --neutral-100: #EAEFF0; --neutral-200: #CFD8D9; --neutral-300: #9DABAC; --neutral-400: #6A7879; --neutral-500: #46595B; --neutral-600: #354345;
    /* Feedback */
    --success-500: #007C25; --success-100: #E4EFE7; --info-500: #0061A7; --info-100: #DAE6EE;
    --warning-500: #7C6A00; --warning-100: #F2EDCE; --error-500: #A70000; --error-100: #FBF2F2; --accent-orange-500: #BE5900;
    /* Verläufe */
    --gradient-01: linear-gradient(119.358deg, #1D9274 0%, #050E18 100%);
    --gradient-02: linear-gradient(119.358deg, #1D9274 0%, #14385F 100%);
    --gradient-03: linear-gradient(119.358deg, #C7E4DD 0%, #F1F9F7 100%);
    --gradient-app-bg: linear-gradient(119.358deg, rgba(29,146,116,.3) 0%, rgba(20,56,95,.3) 100%), linear-gradient(#F5F5F5, #F5F5F5);
    /* Semantik */
    --text-body: var(--neutral-600); --text-muted: var(--neutral-400); --text-label: var(--secondary-500); --text-heading: var(--neutral-600); --text-on-primary: #FCFEFD;
    --surface-page: #FCFEFD; --surface-card: #FCFEFD; --surface-tint: var(--primary-100);
    --border-default: var(--neutral-100); --border-strong: var(--neutral-200);
    --link-color: var(--primary-500); --link-hover: var(--primary-600);
    --focus-ring: 0 0 0 2.5px var(--accent-orange-500);
    --button-primary-hover: var(--primary-600);
    /* Radius, Schatten, Abstände */
    --radius-4: 4px; --radius-8: 8px; --radius-16: 16px; --radius-32: 32px;
    --shadow-5: 0 2px 8px rgba(20,56,95,.30); --shadow-10: 0 2px 12px rgba(20,56,95,.50);
    --space-4: 4px; --space-8: 8px; --space-16: 16px; --space-24: 24px; --space-32: 32px; --space-40: 40px;
    --transition-base: all .3s ease; --transition-fast: all .2s ease;
    /* Typografie */
    --font-heading: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    --font-body: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    color-scheme: light;
}

/* Dunkelmodus: aus den DS-Skalen abgeleitet (nicht im Figma definiert) */
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --gradient-app-bg: linear-gradient(119.358deg, rgba(29,146,116,.32) 0%, rgba(20,56,95,.42) 100%), linear-gradient(#071419, #071419);
        --surface-page: #0E262C; --surface-card: #0E262C; --surface-tint: #113631;
        --text-body: #EAEFF0; --text-heading: #EAEFF0; --text-muted: #9DABAC; --text-label: #8A9CAF;
        --border-default: #1D3C42; --border-strong: #2B4E54; --link-color: #C7E4DD; --link-hover: #FCFEFD;
        --shadow-5: 0 2px 8px rgba(0,0,0,.45); --shadow-10: 0 2px 12px rgba(0,0,0,.6);
        --focus-ring: 0 0 0 2.5px #F08A3A;
        --button-primary-hover: #23A887;
        color-scheme: dark;
    }
}

:root[data-theme="dark"] {
    --gradient-app-bg: linear-gradient(119.358deg, rgba(29,146,116,.32) 0%, rgba(20,56,95,.42) 100%), linear-gradient(#071419, #071419);
    --surface-page: #0E262C; --surface-card: #0E262C; --surface-tint: #113631;
    --text-body: #EAEFF0; --text-heading: #EAEFF0; --text-muted: #9DABAC; --text-label: #8A9CAF;
    --border-default: #1D3C42; --border-strong: #2B4E54; --link-color: #C7E4DD; --link-hover: #FCFEFD;
    --shadow-5: 0 2px 8px rgba(0,0,0,.45); --shadow-10: 0 2px 12px rgba(0,0,0,.6);
    --focus-ring: 0 0 0 2.5px #F08A3A;
    --button-primary-hover: #23A887;
    color-scheme: dark;
}
