/* =========================================
   ADMIN — Login page
   ========================================= */
.admin-login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1A1A1A;
}

.admin-login-card {
    background: #fff;
    border-radius: 8px;
    padding: 3rem 2.5rem;
    width: 100%;
    max-width: 400px;
    text-align: center;
}

.admin-login-logo {
    height: 32px;
    width: auto;
    margin: 0 auto 1.5rem;
    filter: invert(1);
}

.admin-login-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: #1A1A1A;
    margin-bottom: 2rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.admin-login-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: left;
}

.admin-field { display: flex; flex-direction: column; gap: 0.3rem; }

.admin-field label {
    font-family: 'DM Sans', sans-serif;
    font-size: 0.82rem;
    font-weight: 500;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.admin-field input {
    font-family: 'DM Sans', sans-serif;
    font-size: 0.95rem;
    padding: 0.75rem 1rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    outline: none;
    transition: border-color 0.2s;
}
.admin-field input:focus { border-color: #1A1A1A; }

.admin-error {
    font-family: 'DM Sans', sans-serif;
    font-size: 0.85rem;
    color: #FD3F28;
    text-align: center;
}

.admin-login-btn { width: 100%; margin-top: 0.5rem; }

/* =========================================
   ADMIN — Home page
   ========================================= */
.admin-page {
    min-height: 100vh;
    background: #F5F5F5;
    font-family: 'DM Sans', sans-serif;
}

.admin-header {
    background: #1A1A1A;
    padding: 1rem 2rem;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.admin-logo  { height: 28px; width: auto; }

.admin-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    flex: 1;
}

.admin-logout {
    font-size: 0.8rem;
    padding: 0.5rem 1.2rem;
}

.admin-main  { padding: 2rem; }

.admin-count {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 1rem;
}

.admin-state {
    text-align: center;
    color: #666;
    padding: 4rem 0;
    font-size: 1rem;
}

.admin-state--error { color: #FD3F28; }

.admin-table-wrapper { overflow-x: auto; }

.admin-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    font-size: 0.88rem;
}

.admin-table thead {
    background: #1A1A1A;
    color: #fff;
}

.admin-table th {
    padding: 0.85rem 1rem;
    text-align: left;
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.admin-table td {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: top;
    color: #333;
}

.admin-table tr:last-child td { border-bottom: none; }

.admin-table tr:hover td { background: #fafafa; }

.admin-table a { color: #1A1A1A; text-decoration: underline; }

.admin-date    { white-space: nowrap; color: #888; font-size: 0.82rem; }
.admin-message { max-width: 300px; }
.admin-sent    { text-align: center; color: #4CAF50; font-weight: bold; }

.admin-badge {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.admin-badge--showcase { background: #e8f5e9; color: #2e7d32; }
.admin-badge--partner  { background: #e3f2fd; color: #1565c0; }
.admin-badge--general  { background: #f3e5f5; color: #6a1b9a; }
