:root {
    --cream: #f7f1e7;
    --sand: #eadbc8;
    --rose: #d9b4a6;
    --wine: #6b2d3a;
    --espresso: #2f1b1f;
    --gold: #b9925e;
    --mist: rgba(255, 255, 255, 0.84);
    --shadow: 0 20px 55px rgba(47, 27, 31, 0.12);
    --border-soft: 1px solid rgba(107, 45, 58, 0.12);
}

* {
    box-sizing: border-box;
}

body {
    min-height: 100vh;
    font-family: Georgia, "Times New Roman", serif;
    color: var(--espresso);
    background:
        radial-gradient(circle at top left, rgba(217, 180, 166, 0.3), transparent 34%),
        radial-gradient(circle at top right, rgba(185, 146, 94, 0.18), transparent 28%),
        linear-gradient(135deg, #fbf6ef 0%, #f4ebdf 42%, #f8f4ee 100%);
}

h1,
h2,
h3,
h4,
h5,
.navbar-brand {
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
    letter-spacing: 0.04em;
}

a {
    color: var(--wine);
}

.glass-panel,
.page-card {
    background: var(--mist);
    backdrop-filter: blur(12px);
    border: var(--border-soft);
    box-shadow: var(--shadow);
    border-radius: 24px;
}

.page-title {
    margin-bottom: 0.4rem;
    color: var(--wine);
}

.page-subtitle {
    color: rgba(47, 27, 31, 0.72);
}

.btn-primary,
.btn-success,
.btn-warning {
    border: none;
}

.btn-primary {
    background: linear-gradient(135deg, #7f3948, var(--wine));
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(135deg, #8f4252, #59242f);
}

.btn-success {
    background: linear-gradient(135deg, #8d6a38, var(--gold));
}

.btn-success:hover,
.btn-success:focus {
    background: linear-gradient(135deg, #9f7841, #a58050);
}

.btn-warning {
    background: linear-gradient(135deg, #d9b066, #c58d3d);
    color: #fff;
}

.btn-warning:hover,
.btn-warning:focus {
    color: #fff;
    background: linear-gradient(135deg, #e1b971, #b17d35);
}

.btn-outline-primary {
    border-color: var(--wine);
    color: var(--wine);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: var(--wine);
    border-color: var(--wine);
}

.form-control {
    border-radius: 14px;
    border: 1px solid rgba(107, 45, 58, 0.18);
    padding: 0.8rem 1rem;
}

.form-control:focus {
    border-color: rgba(107, 45, 58, 0.45);
    box-shadow: 0 0 0 0.25rem rgba(107, 45, 58, 0.12);
}

.table thead th {
    background: rgba(107, 45, 58, 0.08);
    border-bottom: none;
}
