/* VenueIQ panel theme — consolidated from hostCP style pack */

:root {
    --gig-green: #27a94d;
    --gig-green-dark: #1f8a3e;
    --gig-green-soft: rgba(39, 169, 77, 0.16);
    --bs-primary: #27a94d;
    --bs-primary-rgb: 39, 169, 77;
    --bs-link-color: #1f8a3e;
    --bs-link-hover-color: #176b30;
    --bs-focus-ring-color: rgba(39, 169, 77, 0.25);
}

[data-bs-theme="dark"] {
    --gig-green: #2fc45a;
    --gig-green-dark: #27a94d;
    --gig-green-soft: rgba(47, 196, 90, 0.2);
    --bs-primary: #2fc45a;
    --bs-primary-rgb: 47, 196, 90;
    --bs-link-color: #4ade80;
    --bs-link-hover-color: #86efac;
    --bs-focus-ring-color: rgba(47, 196, 90, 0.35);
}

.btn-primary {
    --bs-btn-bg: var(--gig-green);
    --bs-btn-border-color: var(--gig-green);
    --bs-btn-hover-bg: var(--gig-green-dark);
    --bs-btn-hover-border-color: var(--gig-green-dark);
    --bs-btn-active-bg: var(--gig-green-dark);
    --bs-btn-active-border-color: var(--gig-green-dark);
    --bs-btn-disabled-bg: var(--gig-green);
    --bs-btn-disabled-border-color: var(--gig-green);
}

.btn-outline-primary {
    --bs-btn-color: var(--gig-green);
    --bs-btn-border-color: var(--gig-green);
    --bs-btn-hover-bg: var(--gig-green);
    --bs-btn-hover-border-color: var(--gig-green);
    --bs-btn-active-bg: var(--gig-green-dark);
    --bs-btn-active-border-color: var(--gig-green-dark);
}

body { min-height: 100vh; }

.sidebar {
    width: 260px;
    min-height: 100vh;
    flex-shrink: 0;
    background: #1e293b;
    color: #f8fafc;
}

.sidebar .brand-wordmark,
.sidebar .sidebar-brand { color: #ffffff; }

.sidebar .nav-link {
    color: #cbd5e1;
    border-radius: 0.375rem;
    margin-bottom: 0.25rem;
    border-left: 3px solid transparent;
}

.sidebar .nav-link:hover {
    background: #334155;
    color: #fff;
}

.sidebar .nav-link.active {
    background: var(--gig-green-soft);
    color: #fff;
    border-left-color: var(--gig-green);
}

.brand-wordmark-svg {
    display: block;
    height: 36px;
    width: auto;
    max-width: 180px;
}

.brand-wordmark-accent { fill: var(--gig-green, #27a94d); }

.main-content {
    background: linear-gradient(180deg, var(--bs-tertiary-bg) 0%, var(--bs-body-bg) 12rem);
    min-height: 100vh;
    min-width: 0;
}

.panel-topbar {
    background: var(--bs-body-bg);
    border-bottom: 1px solid var(--bs-border-color);
}

[data-bs-theme="light"] .panel-topbar { background: #ffffff; }

.theme-menu .dropdown-item.active {
    background: var(--gig-green-soft);
    color: inherit;
}

.toast-alert {
    animation: venueiq-fade-in 0.25s ease;
}

@keyframes venueiq-fade-in {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Guest / login layout */
body.guest-body {
    margin: 0;
    min-height: 100vh;
    color: #f8fafc;
    background:
        radial-gradient(circle at top left, rgba(129, 140, 248, 0.22), transparent 40%),
        radial-gradient(circle at bottom right, rgba(124, 58, 237, 0.18), transparent 35%),
        linear-gradient(160deg, #0f172a, #111827);
}

.login-card {
    max-width: 420px;
    width: 100%;
    background: rgba(30, 41, 59, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 1.25rem;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(8px);
}

.login-brand { color: #f8fafc; }

body.guest-body .brand-wordmark-svg {
    height: 40px;
    margin: 0 auto;
}

body.guest-body .form-control,
body.guest-body .form-select {
    background-color: rgba(15, 23, 42, 0.6);
    border-color: rgba(148, 163, 184, 0.25);
    color: #f8fafc;
}

body.guest-body .form-control:focus {
    background-color: rgba(15, 23, 42, 0.8);
    border-color: var(--gig-green);
    color: #f8fafc;
    box-shadow: 0 0 0 0.25rem rgba(47, 196, 90, 0.2);
}

body.guest-body .form-label { color: #cbd5e1; }
body.guest-body a { color: #86efac; }
