@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
    --lc-ink: #16354a;
    --lc-primary: #057d83;
    --lc-primary-hover: #04676c;
    --lc-accent: #f2b84b;
    --lc-surface: #ffffff;
    --lc-surface-muted: #eef5f5;
    --lc-border: #cadbdd;
    --lc-body-bg: #f6f9f8;
    --lc-shadow: 0 14px 34px rgba(22, 53, 74, 0.10);
    --lc-display: 'Fraunces', Georgia, serif;
    --lc-body: 'DM Sans', sans-serif;
}

body[data-theme='atelier'] {
    --lc-ink: #173d35;
    --lc-primary: #27715d;
    --lc-primary-hover: #1d5848;
    --lc-accent: #e76f51;
    --lc-surface: #fffdf8;
    --lc-surface-muted: #f1f4e8;
    --lc-border: #d4ddd0;
    --lc-body-bg: #f8f7f0;
    --lc-shadow: 0 14px 34px rgba(23, 61, 53, 0.11);
    --lc-display: 'Fraunces', Georgia, serif;
    --lc-body: 'DM Sans', sans-serif;
}

body[data-theme='ledger'] {
    --lc-ink: #421c2b;
    --lc-primary: #8b2946;
    --lc-primary-hover: #6c1f36;
    --lc-accent: #d69b21;
    --lc-surface: #fffdfb;
    --lc-surface-muted: #f8f0ea;
    --lc-border: #e2d1c6;
    --lc-body-bg: #faf6f2;
    --lc-shadow: 0 14px 34px rgba(66, 28, 43, 0.11);
    --lc-display: 'Space Grotesk', sans-serif;
    --lc-body: 'DM Sans', sans-serif;
}

body {
    background-color: var(--lc-body-bg);
    background-image: linear-gradient(90deg, transparent 49px, rgba(22, 53, 74, 0.035) 50px);
    background-size: 50px 50px;
    color: var(--lc-ink);
    font-family: var(--lc-body);
}

h1, h2, h3, h4, h5, h6,
.navbar-brand {
    color: var(--lc-ink);
    font-family: var(--lc-display);
    letter-spacing: 0;
}

.navbar {
    background-color: var(--lc-ink) !important;
    border-bottom: 3px solid var(--lc-accent);
}

.navbar .navbar-brand,
.navbar .nav-link {
    color: #ffffff;
}

.letclear-logo {
    display: block;
    width: auto;
    height: 34px;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus {
    color: var(--lc-accent);
}

.card {
    background-color: var(--lc-surface);
    border-color: var(--lc-border);
    border-radius: 6px;
    box-shadow: var(--lc-shadow);
}

.card-header {
    background-color: var(--lc-surface-muted) !important;
    border-bottom-color: var(--lc-border);
}

.btn {
    border-radius: 4px;
    font-weight: 600;
    letter-spacing: 0;
}

.btn-primary {
    --bs-btn-bg: var(--lc-primary);
    --bs-btn-border-color: var(--lc-primary);
    --bs-btn-hover-bg: var(--lc-primary-hover);
    --bs-btn-hover-border-color: var(--lc-primary-hover);
    --bs-btn-active-bg: var(--lc-primary-hover);
    --bs-btn-active-border-color: var(--lc-primary-hover);
}

.btn-outline-secondary {
    --bs-btn-color: var(--lc-ink);
    --bs-btn-border-color: var(--lc-border);
    --bs-btn-hover-bg: var(--lc-surface-muted);
    --bs-btn-hover-border-color: var(--lc-border);
    --bs-btn-hover-color: var(--lc-ink);
}

.form-control,
.form-select {
    background-color: var(--lc-surface);
    border-color: var(--lc-border);
    border-radius: 4px;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--lc-primary);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--lc-primary) 20%, transparent);
}

.text-primary {
    color: var(--lc-primary) !important;
}

.border-primary {
    border-color: var(--lc-primary) !important;
}

.initiator-badge {
    background-color: #fd7e14;
    color: #ffffff;
}

footer {
    background-color: var(--lc-surface-muted) !important;
    border-top: 1px solid var(--lc-border);
}

@media (max-width: 575.98px) {
    body {
        background-size: 32px 32px;
    }
}
