:root {
    --brand-ink: #0f172a;
    --brand-deep: #1e293b;
    --brand-gold: #c4902f;
    --brand-wine: #7f1d3a;
    --brand-sky: #0f766e;
    --brand-paper: #f8fafc;
}

* {
    box-sizing: border-box;
}

body {
    font-family: "Inter", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    color: var(--brand-ink);
}

.site-bg {
    background:
        radial-gradient(circle at 10% 10%, rgba(196, 144, 47, 0.18), transparent 38%),
        radial-gradient(circle at 90% 8%, rgba(15, 118, 110, 0.16), transparent 34%),
        radial-gradient(circle at 80% 88%, rgba(127, 29, 58, 0.12), transparent 30%),
        linear-gradient(140deg, #eef2ff 0%, #f8fafc 45%, #fff7ed 100%);
    min-height: 100vh;
}

.brand-title,
h1,
h2,
h3 {
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    letter-spacing: 0.2px;
}

nav.app-nav {
    background: linear-gradient(120deg, #0f172a, #1e293b 55%, #334155);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

nav.app-nav a {
    text-decoration: none;
}

.nav-pill {
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 9999px;
    padding: 0.32rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #f1f5f9;
    transition: all 180ms ease;
}

.nav-pill:hover {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.1);
}

.logout-btn {
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 9999px;
    padding: 0.35rem 0.85rem;
    font-weight: 600;
    font-size: 0.8rem;
    color: #fff;
    background: linear-gradient(120deg, #7f1d3a, #be123c);
}

.logout-btn:hover {
    filter: brightness(1.07);
}

.app-shell {
    padding-top: 1.75rem;
    padding-bottom: 2.5rem;
}

.app-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    box-shadow: 0 20px 45px -28px rgba(15, 23, 42, 0.45);
}

article.bg-white,
section.bg-white,
div.bg-white {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    box-shadow: 0 16px 36px -26px rgba(15, 23, 42, 0.45);
}

input,
textarea,
select {
    border: 1px solid #cbd5e1;
    border-radius: 0.7rem;
    background: #fff;
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: #0f766e;
    box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.17);
}

button,
a.inline-block.bg-stone-900 {
    background: linear-gradient(120deg, #0f766e, #0f172a);
    color: #fff;
    border-radius: 0.75rem;
    border: none;
    font-weight: 600;
    transition: transform 130ms ease, filter 130ms ease;
}

button:hover,
a.inline-block.bg-stone-900:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.guest-card {
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #e2e8f0;
    border-radius: 1.2rem;
    box-shadow: 0 26px 55px -35px rgba(15, 23, 42, 0.45);
}

.hero-tag {
    color: #7f1d3a;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

table thead {
    background: #f8fafc;
}

table th {
    color: #334155;
    font-weight: 700;
}
