/*
 * InteroDigital admin theme
 * A calm, consistent palette shared by every administration page.
 */

:root {
    color-scheme: light;

    --admin-navy-950: #162832;
    --admin-navy-900: #203946;
    --admin-navy-800: #294957;
    --admin-accent: #4f7180;
    --admin-accent-hover: #3f606f;
    --admin-accent-soft: #e8eff2;

    --admin-page: #f3f6f7;
    --admin-surface: #ffffff;
    --admin-surface-muted: #f8fafb;
    --admin-border: #dbe3e7;
    --admin-border-strong: #c8d4da;

    --admin-text: #22333d;
    --admin-muted: #667680;
    --admin-white: #ffffff;

    --admin-success: #47715d;
    --admin-success-soft: #edf5f0;
    --admin-warning: #866b38;
    --admin-warning-soft: #f7f2e7;
    --admin-danger: #98525a;
    --admin-danger-hover: #7f4249;
    --admin-danger-soft: #f9edef;

    --admin-radius-sm: 7px;
    --admin-radius: 11px;
    --admin-radius-lg: 14px;
    --admin-shadow: 0 8px 24px rgba(22, 40, 50, 0.07);
    --admin-shadow-hover: 0 10px 28px rgba(22, 40, 50, 0.10);

    /* Compatibility with the variables used by older pages. */
    --sidebar-bg: var(--admin-navy-950);
    --sidebar-secondary: var(--admin-navy-900);
    --sidebar-hover: var(--admin-navy-800);
    --sidebar-active: var(--admin-accent-soft);
    --sidebar-active-text: var(--admin-navy-950);
    --sidebar-text: #eef3f5;
    --sidebar-muted: #b9c7cd;
    --page-bg: var(--admin-page);
    --accent: var(--admin-accent);
    --accent-hover: var(--admin-accent-hover);
    --notification: var(--admin-danger);
    --danger: var(--admin-danger);
    --danger-hover: var(--admin-danger-hover);
    --text: var(--admin-text);
    --muted: var(--admin-muted);
    --white: var(--admin-white);
    --navy: var(--admin-navy-950);
    --blue: var(--admin-accent);
    --gold: var(--admin-white);
    --dark: var(--admin-text);
    --light: var(--admin-page);
    --border: var(--admin-border);
    --green: var(--admin-success);
    --orange: var(--admin-warning);
    --red: var(--admin-danger);
}

html {
    background: var(--admin-page);
}

body {
    color: var(--admin-text) !important;
    background: var(--admin-page) !important;
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 16px;
    line-height: 1.5;
}

.login-box {
    background: var(--admin-navy-950) !important;
}

::selection {
    color: var(--admin-white);
    background: var(--admin-accent);
}

h1,
h2,
h3,
h4,
.page-title,
.admin-title,
.manager-card h1,
.support-card h2,
.ticket-box h2,
.event-header h2 {
    color: var(--admin-navy-950) !important;
    letter-spacing: -0.02em;
}

h1,
.page-title,
.admin-title h1,
.manager-card h1 {
    font-weight: 750 !important;
    line-height: 1.18;
}

.page-title,
.admin-title,
.manager-card > h1,
.container > h1,
.wrap > h1 {
    position: relative;
    padding-left: 14px;
}

.page-title::before,
.admin-title::before,
.manager-card > h1::before,
.container > h1::before,
.wrap > h1::before {
    content: "";
    position: absolute;
    top: 0.12em;
    bottom: 0.12em;
    left: 0;
    width: 4px;
    border-radius: 3px;
    background: var(--admin-accent);
}

.page-subtitle,
.description,
.hint,
.help-text,
.small,
.info,
.email,
.u-email,
.meta,
.footer,
.admin-title p,
.email-header p {
    color: var(--admin-muted) !important;
}

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

a:hover {
    color: var(--admin-navy-950);
}

/* Navigation */
.sidebar {
    color: #eef3f5 !important;
    background: var(--admin-navy-950) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 4px 0 18px rgba(22, 40, 50, 0.14) !important;
}

.sidebar h2 {
    color: var(--admin-white) !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    border-bottom-color: rgba(255, 255, 255, 0.10) !important;
}

.sidebar a {
    color: #dce6ea !important;
    border-radius: var(--admin-radius-sm) !important;
}

.sidebar a:hover {
    color: var(--admin-white) !important;
    background: var(--admin-navy-800) !important;
}

.sidebar a.active {
    color: var(--admin-navy-950) !important;
    background: var(--admin-accent-soft) !important;
    box-shadow: none !important;
}

.sidebar .logout {
    color: var(--admin-white) !important;
    background: var(--admin-danger) !important;
}

.sidebar .logout:hover {
    background: var(--admin-danger-hover) !important;
}

.menu-toggle {
    color: var(--admin-white) !important;
    background: var(--admin-navy-950) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    border-radius: var(--admin-radius-sm) !important;
    box-shadow: var(--admin-shadow) !important;
}

.sidebar-overlay {
    background: rgba(22, 40, 50, 0.44) !important;
}

/* Surfaces */
.card,
.box,
.panel,
.manager-card,
.info-card,
.support-card,
.ticket-box,
.contact-card,
.email-card,
.chart-container,
.quick-box,
.selected-user,
.user-row,
.search-result,
.progress-box,
.event-editor,
.receipt-box,
.login-box,
.table-wrapper,
.table-container {
    color: var(--admin-text) !important;
    background: var(--admin-surface) !important;
    border: 1px solid var(--admin-border) !important;
    border-radius: var(--admin-radius-lg) !important;
    box-shadow: var(--admin-shadow) !important;
}

.card:hover,
.quick-box:hover,
.support-card:hover {
    box-shadow: var(--admin-shadow-hover) !important;
}

.card,
.quick-box,
.support-card {
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.card:hover,
.quick-box:hover,
.support-card:hover {
    transform: none !important;
    border-color: var(--admin-border-strong) !important;
}

.card-title,
.info-card span {
    color: var(--admin-muted) !important;
    font-size: 0.9rem !important;
}

.card-value,
.info-card strong,
.amount,
.username,
.u-name {
    color: var(--admin-navy-950) !important;
}

.quick-box a {
    color: var(--admin-navy-950) !important;
}

.selected-user,
.user-row,
.upload-zone,
.empty,
.search-result,
.progress-box {
    background: var(--admin-surface-muted) !important;
    border-color: var(--admin-border) !important;
}

/* Section headers */
.header,
.email-header,
.support-header,
.event-header,
.receipt-header {
    color: var(--admin-white) !important;
    background: var(--admin-navy-950) !important;
    border-color: var(--admin-navy-950) !important;
    box-shadow: none !important;
}

.header h1,
.header h2,
.email-header h1,
.email-header h2,
.support-header h1,
.support-header h2,
.event-header h1,
.event-header h2,
.receipt-header,
.receipt-title {
    color: var(--admin-white) !important;
}

.header p,
.email-header p,
.support-header p,
.event-header p {
    color: #c5d1d6 !important;
}

.email-header::before,
.email-header::after {
    display: none !important;
}

.dashboard-link,
.back {
    color: var(--admin-white) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
}

/* Forms */
input,
select,
textarea {
    color: var(--admin-text) !important;
    background: var(--admin-surface) !important;
    border: 1px solid var(--admin-border-strong) !important;
    border-radius: var(--admin-radius-sm) !important;
    font-family: inherit !important;
    font-size: 0.9375rem !important;
    box-shadow: none !important;
}

input::placeholder,
textarea::placeholder {
    color: #849198 !important;
    opacity: 1;
}

input:focus,
select:focus,
textarea:focus,
.search-input:focus,
.salary-input:focus,
.setting-group textarea:focus,
#replyText:focus {
    border-color: var(--admin-accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(79, 113, 128, 0.14) !important;
}

label,
.salary-label,
.setting-group label {
    color: var(--admin-text) !important;
}

/* Buttons */
button,
input[type="submit"],
.btn,
.button,
.add-button,
.edit-button,
.edit-btn,
.save-button,
.save-btn,
.search-button,
.select-button,
.send-button,
.reply-button,
.open-ticket,
.open-receipt,
.reset-button,
.enable-button,
.submit,
.pagination a.active {
    color: var(--admin-white) !important;
    background: var(--admin-accent) !important;
    background-image: none !important;
    border-color: var(--admin-accent) !important;
    border-radius: var(--admin-radius-sm) !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-weight: 650 !important;
    text-decoration: none !important;
    transition: background-color 0.18s ease, border-color 0.18s ease !important;
}

button:hover,
input[type="submit"]:hover,
.btn:hover,
.button:hover,
.add-button:hover,
.edit-button:hover,
.edit-btn:hover,
.save-button:hover,
.save-btn:hover,
.search-button:hover,
.select-button:hover,
.send-button:hover,
.reply-button:hover,
.open-ticket:hover,
.open-receipt:hover,
.reset-button:hover,
.enable-button:hover,
.submit:hover {
    color: var(--admin-white) !important;
    background: var(--admin-accent-hover) !important;
    border-color: var(--admin-accent-hover) !important;
    opacity: 1 !important;
    transform: none !important;
}

.danger,
.delete-button,
.btn-delete,
.disable-button,
.reject,
.close-button,
.ticket-close,
.receipt-close,
.btn-reset,
#resetAccountButton {
    color: var(--admin-white) !important;
    background: var(--admin-danger) !important;
    border-color: var(--admin-danger) !important;
}

.danger:hover,
.delete-button:hover,
.btn-delete:hover,
.disable-button:hover,
.reject:hover,
.close-button:hover,
.ticket-close:hover,
.receipt-close:hover,
.btn-reset:hover,
#resetAccountButton:hover {
    background: var(--admin-danger-hover) !important;
    border-color: var(--admin-danger-hover) !important;
}

.approve {
    color: var(--admin-white) !important;
    background: var(--admin-success) !important;
    border-color: var(--admin-success) !important;
}

.cancel-button,
.secondary,
.btn-disabled {
    color: var(--admin-text) !important;
    background: var(--admin-accent-soft) !important;
    border-color: var(--admin-border-strong) !important;
}

.cancel-button:hover,
.secondary:hover {
    color: var(--admin-navy-950) !important;
    background: #dce7eb !important;
}

/* Tables */
table,
.manager-table,
.support-table {
    color: var(--admin-text) !important;
    background: var(--admin-surface) !important;
    border-color: var(--admin-border) !important;
}

thead,
.support-table thead,
.manager-table th,
.support-table th {
    color: var(--admin-navy-950) !important;
    background: var(--admin-accent-soft) !important;
}

th,
td,
.manager-table td,
.support-table td,
.support-table tbody tr {
    border-color: var(--admin-border) !important;
}

tbody tr:nth-child(even),
.support-table tbody tr:nth-child(even) {
    background: var(--admin-surface-muted) !important;
}

tbody tr:hover,
.manager-table tr:hover,
.support-table tbody tr:hover {
    background: #edf2f4 !important;
}

/* Tabs, filters and progress */
.manager-tabs,
.support-tabs,
.table-filters {
    background: var(--admin-surface-muted) !important;
    border-color: var(--admin-border) !important;
}

.manager-tab,
.support-tab,
.tab-button {
    color: var(--admin-muted) !important;
    background: transparent !important;
    border-color: transparent !important;
}

.manager-tab:hover,
.support-tab:hover,
.tab-button:hover {
    color: var(--admin-navy-950) !important;
    background: var(--admin-accent-soft) !important;
}

.manager-tab.active,
.support-tab.active,
.tab-button.active {
    color: var(--admin-white) !important;
    background: var(--admin-accent) !important;
    border-color: var(--admin-accent) !important;
}

.tab-count,
.new-badge,
.network-badge {
    color: var(--admin-navy-950) !important;
    background: var(--admin-accent-soft) !important;
}

.progress-bar {
    background: #e1e8eb !important;
}

.progress-fill {
    background: var(--admin-accent) !important;
}

/* Statuses and messages remain distinct, but deliberately muted. */
.success,
.success-box,
.msg-success,
.alert.success,
.notice.success,
.receipt-message.success,
.status-approved,
.status-active,
.status.ok,
.available {
    color: #355b49 !important;
    background: var(--admin-success-soft) !important;
    border-color: #cfe0d6 !important;
}

.error,
.err,
.msg-error,
.alert.error,
.notice.error,
.receipt-message.error,
.status-rejected,
.status-disabled,
.negative {
    color: #7f4249 !important;
    background: var(--admin-danger-soft) !important;
    border-color: #e8cfd3 !important;
}

.status-pending,
.badge-orange,
.pending-card,
.used {
    color: #6e5629 !important;
    background: var(--admin-warning-soft) !important;
    border-color: #e8dcc1 !important;
}

.badge-red {
    color: #7f4249 !important;
    background: var(--admin-danger-soft) !important;
    border: 1px solid #e8cfd3 !important;
}

.badge-green {
    color: #355b49 !important;
    background: var(--admin-success-soft) !important;
    border: 1px solid #cfe0d6 !important;
}

.status-inactive,
.status-closed,
.status-replied {
    color: var(--admin-muted) !important;
    background: #eef2f4 !important;
    border-color: var(--admin-border) !important;
}

.badge,
.status-badge,
.notice,
.alert,
.msg,
.success,
.error,
.err,
.success-box {
    border-radius: var(--admin-radius-sm) !important;
    box-shadow: none !important;
}

/* Modals and notifications */
.ticket-modal,
.receipt-modal {
    background: rgba(22, 40, 50, 0.52) !important;
}

.ticket-box,
.receipt-box,
#adminNotificationPopup {
    background: var(--admin-surface) !important;
    border-color: var(--admin-border) !important;
    border-left-color: var(--admin-accent) !important;
    border-radius: var(--admin-radius) !important;
    box-shadow: 0 16px 38px rgba(22, 40, 50, 0.16) !important;
}

#adminNotificationPopup strong,
#adminNotificationPopup p {
    color: var(--admin-text) !important;
}

.chat-user {
    background: var(--admin-accent-soft) !important;
    border-color: var(--admin-border) !important;
}

.chat-admin {
    color: var(--admin-white) !important;
    background: var(--admin-navy-900) !important;
}

.conversation-history {
    background: var(--admin-surface-muted) !important;
    border-color: var(--admin-border) !important;
}

@media (max-width: 768px) {
    body {
        font-size: 16px;
    }

    .main {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .card,
    .manager-card,
    .email-card,
    .ticket-box,
    .receipt-box {
        border-radius: var(--admin-radius) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
