/* base.css — shared foundation for all pages including standalone error pages */

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* Design Tokens */
:root {
    --primary-color: #00d4aa;
    --secondary-color: #1a1f3a;
    --accent-color: #7c3aed;
    --surface-color: rgba(26, 31, 58, 0.8);
    --glass-bg: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(255, 255, 255, 0.1);
    --text-primary: #ffffff;
    --text-secondary: #b0bec5;
    --gradient-primary: linear-gradient(135deg, #00d4aa 0%, #7c3aed 100%);
    --gradient-card: linear-gradient(135deg, rgba(26, 31, 58, 0.9) 0%, rgba(0, 212, 170, 0.1) 100%);

    /* Semantic colors */
    --color-success: #00d4aa;
    --color-success-bg: rgba(0, 212, 170, 0.2);
    --color-warning: #f59e0b;
    --color-warning-bg: rgba(245, 158, 11, 0.2);
    --color-danger: #ff416c;
    --color-danger-bg: rgba(255, 65, 108, 0.2);
    --color-info: #667eea;
    --color-info-bg: rgba(102, 126, 234, 0.2);

    /* Typography */
    --font-sans: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
}

body {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);
    min-height: 100vh;
    font-family: var(--font-sans);
}

/* Monospace utility for technical data (IP, CN, serials) */
.font-tech {
    font-family: var(--font-mono);
    font-size: 0.9em;
}
