/* ================================================================
   Ebatech Admin — Design Tokens
   Sourced from server/admin-panel/css/styles.css :root (lines 39–99)
   Last sync: 2026-05-01 audit
   ================================================================ */
/* Brand fonts — Pragmatica family (uploaded by brand team) */
@font-face {
    font-family: 'PragmaticaWebMedium';
    src: url('assets/fonts/Pragmatica.otf') format('opentype'),
         url('assets/fonts/Pragmatica.woff2') format('woff2'),
         url('assets/fonts/Pragmatica.woff')  format('woff');
    font-weight: 400 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'PragmaticaWebMedium';
    src: url('assets/fonts/Pragmatica_Medium.otf') format('opentype');
    font-weight: 500 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'PragmaticaWebMedium';
    src: url('assets/fonts/Pragmatica-Bold.ttf') format('truetype'),
         url('assets/fonts/Pragmatica-Bold.woff2') format('woff2'),
         url('assets/fonts/Pragmatica-Bold.woff')  format('woff');
    font-weight: 700 900;
    font-style: normal;
    font-display: swap;
}

:root {
    /* Brand */
    --brand-primary: #1851AC;
    --brand-primary-end: #458CFF;
    --brand-gradient: linear-gradient(135deg, #1851AC 0%, #458CFF 100%);
    --brand-primary-hover: #1445A0;
    --brand-primary-light: #EBF2FF;
    --brand-accent-green: #30CD6C; /* logo dots */

    /* Surfaces */
    --bg-primary: #f5f7fa;
    --bg-secondary: #ffffff;
    --bg-tertiary: #f8f9fa;

    /* Text */
    --text-primary: #1e293b;
    --text-secondary: #64748b;
    --text-tertiary: #94a3b8;
    --text-inverse: #ffffff;

    /* Borders */
    --border-color: #e2e8f0;
    --border-focus: #458CFF;

    /* Status — 2026 minimal: near-white tints, deep foreground does the work */
    --success:    #15803D;
    --success-bg: #F6FDF9;
    --warning:    #B54708;
    --warning-bg: #FFF8F1;
    --error:      #B42318;
    --error-bg:   #FEF7F6;
    --info:       #175CD3;
    --info-bg:    #F5F9FF;

    /* Shadows */
    --shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.05);
    --shadow-md: 0 1px 3px 0 rgba(0,0,0,0.10);
    --shadow-lg: 0 2px 8px 0 rgba(0,0,0,0.10);

    /* Radius */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-full: 9999px;

    /* Spacing */
    --space-xs:  4px;
    --space-sm:  8px;
    --space-md:  16px;
    --space-lg:  24px;
    --space-xl:  32px;

    /* Type */
    --font-family: 'PragmaticaWebMedium', -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', 'Roboto', sans-serif;
    --font-mono: 'JetBrains Mono', 'SF Mono', Monaco, Consolas, monospace;
    --font-size-xs:  12px;
    --font-size-sm:  13px;
    --font-size-base:14px;
    --font-size-lg:  16px;
    --font-size-xl:  18px;
    --font-size-2xl: 24px;
    --font-size-3xl: 32px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    line-height: 1.6;
    color: var(--text-primary);
    background: var(--bg-primary);
}
*, button, input, select, textarea, optgroup { font-family: var(--font-family); }
code, kbd, pre, samp { font-family: var(--font-mono); }
h1,h2,h3,h4,h5,h6 { font-weight: 600; line-height: 1.3; color: var(--text-primary); }
h1 { font-size: var(--font-size-3xl); }
h2 { font-size: var(--font-size-2xl); }
h3 { font-size: var(--font-size-xl); }
h4 { font-size: var(--font-size-lg); }
h5 { font-size: var(--font-size-base); }
h6 { font-size: var(--font-size-sm); }
p  { color: var(--text-secondary); }
a  { color: var(--brand-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
