:root {
    --dam-font-sans: 'Inter', sans-serif;
    --dam-font-display: 'Montserrat', sans-serif;
    --dam-font-serif: 'Playfair Display', serif;

    --dam-white: #ffffff;
    --dam-black: #000000;
    --dam-navy: #001f3f;
    --dam-navy-deep: #08162a;
    --dam-navy-soft: #12345d;
    --dam-gold: #d4af37;
    --dam-gold-soft: rgba(212, 175, 55, 0.18);
    --dam-gold-strong: rgba(212, 175, 55, 0.4);
    --dam-cream: #f8f1de;
    --dam-surface: #f4f7fb;
    --dam-text: #243447;
    --dam-text-soft: #6e7e99;
    --dam-border: rgba(0, 31, 63, 0.08);
    --dam-success: #1ca363;
    --dam-danger: #d63848;
    --dam-info: #1a72d9;

    --dam-shadow-sm: 0 8px 28px rgba(8, 22, 42, 0.09);
    --dam-shadow-md: 0 18px 45px rgba(0, 31, 63, 0.12);
    --dam-shadow-gold: 0 18px 38px rgba(212, 175, 55, 0.22);

    --dam-radius-sm: 14px;
    --dam-radius-md: 20px;
    --dam-radius-lg: 22px;
    --dam-radius-xl: 28px;

    --dam-transition-fast: 180ms ease;
    --dam-transition-slow: 320ms ease;
}

body {
    font-family: var(--dam-font-sans);
    overflow-x: hidden;
}

html,
body {
    max-width: 100%;
}

img,
video,
canvas,
svg {
    max-width: 100%;
    height: auto;
}

* {
    min-width: 0;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font: inherit;
}

.button,
.button-outline,
.btn,
.btn-secondary,
.btn-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--dam-font-display);
    font-weight: 700;
    cursor: pointer;
    transition: transform var(--dam-transition-fast), box-shadow var(--dam-transition-fast), border-color var(--dam-transition-fast), background var(--dam-transition-fast), color var(--dam-transition-fast), opacity var(--dam-transition-fast);
}

.panel,
.flyer-card,
.metric-card,
.content-card,
.info-card {
    background: var(--dam-white);
    border: 1px solid var(--dam-border);
    box-shadow: var(--dam-shadow-sm);
}

.global-status {
    font-size: .9rem;
    font-weight: 600;
    min-height: 22px;
    margin-top: 12px;
    transition: color 200ms;
}

.global-status.success { color: var(--dam-success); }
.global-status.error { color: var(--dam-danger); }

.count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(212, 175, 55, .16);
    color: #7a5a10;
    font-weight: 800;
    font-size: .9rem;
    flex-shrink: 0;
}

.dam-display,
.title-xl,
.title-lg,
.title-md,
.panel-title,
.metric-value,
.brand strong {
    font-family: var(--dam-font-display);
}

.dam-surface-card {
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid var(--dam-border);
    box-shadow: var(--dam-shadow-md);
}

.dam-theme-fade-up {
    opacity: 0;
    transform: translateY(18px);
    animation: damFadeUp 700ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.dam-theme-glass {
    background: rgba(255, 255, 255, 0.74);
    backdrop-filter: blur(16px);
}

.dam-theme-gold-line {
    background: linear-gradient(90deg, transparent 0%, rgba(212, 175, 55, 0.65) 12%, #f6e6a3 50%, rgba(212, 175, 55, 0.65) 88%, transparent 100%);
}

@keyframes damFadeUp {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}