@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('../fonts/plus-jakarta-sans-latin.woff2') format('woff2');
}

:root {
    --cem-ink-900: #051a35;
    --cem-ink-800: #0a2a54;
    --cem-brand-700: #0e3a72;
    --cem-brand-600: #0a4ba0;
    --cem-brand-500: #1565d8;
    --cem-brand-400: #00aeef;
    --cem-green: #00a651;
    --cem-paper: #fbfaf7;
    --cem-paper-soft: #f4f1ea;
    --cem-line: #e7e2d6;
    --cem-text: #0f172a;
    --cem-muted: #5a6478;
}

html {
    background: var(--cem-paper-soft);
    font-family: 'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
}

body {
    background-color: var(--cem-paper-soft) !important;
    color: var(--cem-text);
    font-family: inherit;
    letter-spacing: -0.01em;
}

button,
input,
select,
textarea {
    font: inherit;
}

a,
button {
    -webkit-tap-highlight-color: transparent;
}

:focus-visible {
    outline: 3px solid rgba(0, 174, 239, 0.42);
    outline-offset: 2px;
}

::selection {
    background: rgba(0, 174, 239, 0.22);
    color: var(--cem-ink-900);
}

.glass-card {
    background: #fff !important;
    backdrop-filter: none !important;
}

.btn-primary {
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.btn-primary:hover {
    transform: none !important;
    box-shadow: 0 8px 20px -14px rgba(5, 26, 53, 0.65) !important;
}

.rounded-2xl {
    border-radius: 0.875rem !important;
}

.rounded-xl {
    border-radius: 0.625rem !important;
}

.shadow-lg {
    box-shadow: 0 16px 36px -28px rgba(5, 26, 53, 0.58) !important;
}

.cem-system-logo {
    width: 3rem;
    height: 3rem;
    flex: 0 0 auto;
    object-fit: contain;
}

.cem-system-header {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: var(--cem-line) !important;
    backdrop-filter: none !important;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--cem-brand-500) !important;
    box-shadow: 0 0 0 3px rgba(21, 101, 216, 0.12) !important;
}

@media (max-width: 639px) {
    .cem-system-header nav {
        display: none;
    }
}
