:root {
    --primary: #7b2d62;
    --primary-dark: #5d2049;
    --soft: #fbf5f9;
    --text: #26222a;
}

body {
    background: #f7f7f9;
    color: var(--text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.card-shell {
    max-width: 760px;
    margin: 0 auto;
    min-height: 100vh;
    background: #fff;
    box-shadow: 0 0 35px rgba(0,0,0,.08);
}

.hero {
    background: linear-gradient(145deg, #7b2d62, #b44b83);
    color: #fff;
    padding: 34px 20px 28px;
    text-align: center;
}

.logo {
    width: 92px;
    height: 92px;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid rgba(255,255,255,.85);
    background: #fff;
}

.hero-image {
    width: 100%;
    max-height: 300px;
    object-fit: cover;
}

.action-grid .btn {
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 600;
}

.section {
    padding: 24px 20px;
    border-bottom: 1px solid #eee;
}

.section-title {
    font-weight: 800;
    font-size: 1.15rem;
    margin-bottom: 16px;
}

.facility-card, .room-card {
    background: var(--soft);
    border: 1px solid #f0e3eb;
    border-radius: 14px;
    padding: 14px;
    height: 100%;
}

.gallery-img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    border-radius: 12px;
}

.qr-image {
    width: 230px;
    max-width: 100%;
    border-radius: 14px;
    border: 1px solid #ddd;
    padding: 8px;
    background: white;
}

.btn-brand {
    background: var(--primary);
    color: white;
    border: none;
}

.btn-brand:hover {
    background: var(--primary-dark);
    color: white;
}

.sticky-bottom-bar {
    position: sticky;
    bottom: 0;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(8px);
    border-top: 1px solid #eee;
    padding: 10px;
    z-index: 50;
}

.admin-wrapper {
    min-height: 100vh;
    background: #f4f5f7;
}

.admin-nav {
    background: #222;
}

.table td, .table th {
    vertical-align: middle;
}

.preview-thumb {
    width: 80px;
    height: 60px;
    object-fit: cover;
    border-radius: 8px;
}
