@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
    --color-bg: #F9F9F9;
    --color-text: #2D2D2D;
    --color-accent: #800020;
    --color-accent-hover: #5e0018;
    --color-white: #ffffff;
    --color-border: #e2e2e2;
    --color-text-muted: #8a8a8a;
    --color-card-bg: #ffffff;
    --color-input-bg: #f4f4f4;

    --font-family: 'Poppins', sans-serif;
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;

    --container-max: 1320px;
    --container-px: 64px;
    --section-gap: 96px;
    --nav-height: 72px;
    --radius-card: 12px;
    --radius-btn: 8px;
    --radius-input: 8px;
    --gap: 20px;

    --shadow-sm: 0 1px 4px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.09);
    --shadow-lg: 0 8px 32px rgba(0,0,0,0.13);
    --transition: 0.18s ease;
    --gradient-soft: radial-gradient(circle at top, rgba(128, 0, 32, 0.08), transparent 46%), linear-gradient(180deg, #fffdf9 0%, #f9f9f9 100%);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: var(--font-family);
    font-weight: var(--fw-regular);
    background: var(--color-bg);
    color: var(--color-text);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
ul, ol { list-style: none; }
button { font-family: var(--font-family); cursor: pointer; border: none; background: none; }
input, textarea, select { font-family: var(--font-family); }

.page-shell {
    min-height: calc(100vh - var(--nav-height));
}

.section__subtitle {
    margin-top: 10px;
    color: var(--color-text-muted);
    font-size: 14px;
}

.empty-panel {
    background: var(--color-card-bg);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-sm);
    padding: 32px;
}

.empty-panel h2 {
    font-size: 24px;
    margin-bottom: 8px;
}

.empty-panel p,
.empty-state {
    color: var(--color-text-muted);
}
