/* ===== BASE STYLES - SHARED ACROSS ADMIN & PARTNER ===== */
/* Note: Variables are in /css/variables.css */

/* ===== RESET & BOX SIZING ===== */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* ===== GLOBAL FONT ===== */
.admin-portal,
.admin-portal *,
.venue-portal,
.venue-portal * {
    font-family: -apple-system, BlinkMacSystemFont, 'Noto Sans', sans-serif;
}

/* ===== HEADING FONT ===== */
.admin-portal h1,
.admin-portal h2,
.admin-portal h3,
.venue-portal h1,
.venue-portal h2,
.venue-portal h3 {
    font-family: 'Asap', sans-serif;
}

/* ===== SCROLLBAR STYLES ===== */
/* Webkit browsers (Chrome, Safari, Edge) */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-primary);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background: var(--border-strong, #d5d4d4);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

/* Firefox */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--border-strong, #d5d4d4) var(--bg-primary);
}

/* ===== BASE PORTAL LAYOUT ===== */
.admin-portal,
.venue-portal {
    display: flex;
    min-height: 100vh;
    background: var(--bg-primary);
    color: var(--text-primary);
}

/* ===== CONTENT AREA ===== */
.admin-content {
    flex: 1;
    min-height: 100vh;
    position: relative;
}

/* ===== TYPOGRAPHY ===== */
h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-weight: 600;
    color: var(--text-primary);
}

p {
    margin: 0;
}

/* ===== LINKS ===== */
a {
    color: var(--accent);
    text-decoration: none;
    transition: color var(--transition);
}

a:hover {
    color: var(--accent-hover);
}

/* ===== IMAGES ===== */
img {
    max-width: 100%;
    height: auto;
}

/* ===== FORM ELEMENTS BASE ===== */
button {
    font-family: inherit;
    cursor: pointer;
}

input,
textarea,
select {
    font-family: inherit;
    font-size: inherit;
}

/* Remove default focus outline, we'll add our own */
button:focus,
input:focus,
textarea:focus,
select:focus {
    outline: none;
}

/* ===== UTILITY CLASSES ===== */
.hidden {
    display: none !important;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ===== LOADING STATE ===== */
.loading-state {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    color: var(--text-muted);
    font-size: 0.9rem;
}

/* ===== EMPTY STATE ===== */
.empty-state {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    color: var(--text-muted);
    font-size: 0.9rem;
    text-align: center;
}
