/**
 * Safe Click ERP — Readable UI (subtle contrast, no nested boxes)
 */

:root {
    --erp-bg: #f1f5f9;
    --erp-glass-border: #e2e8f0;
    --erp-field-border: #cbd5e1;
    --erp-field-border-focus: #1a7ff5;
    --erp-table-head-bg: #f8fafc;
    --erp-table-row-border: #e2e8f0;
}

/* Soft page background — not harsh gray */
body.erp-bg-mesh,
.erp-bg-mesh {
    background-color: var(--erp-bg);
    background-image:
        radial-gradient(ellipse 80% 50% at 100% -10%, rgba(99, 102, 241, 0.06), transparent),
        radial-gradient(ellipse 60% 40% at 0% 100%, rgba(26, 127, 245, 0.05), transparent);
}

@media (hover: none), (pointer: coarse), (max-width: 1023px) {
    body.erp-bg-mesh,
    .erp-bg-mesh {
        background-image: none;
        background-color: var(--erp-bg);
    }
}

/* One clean card surface — skip module panels (they have their own styling) */
.glass:not(.erp-hrc-panel):not(.erp-safe-panel):not(.erp-salary-panel),
.erp-glass:not(.erp-hrc-panel):not(.erp-safe-panel):not(.erp-salary-panel),
.erp-glass-card {
    background: #ffffff;
    border: 1px solid var(--erp-glass-border);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 6px 24px rgba(15, 23, 42, 0.04);
}

/* Standalone module panels without .glass */
.erp-safe-panel:not(.glass),
.erp-hrc-panel:not(.glass),
.erp-salary-panel:not(.glass) {
    background: #ffffff;
    border: 1px solid var(--erp-glass-border);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

/* Form fields only — visible but not heavy */
.input-field,
.erp-form-control,
.erp-safe-filters__input,
.erp-invoices-search__input,
.erp-clients-search-form__input,
.erp-clients-billing-month-form__input,
.erp-quick-pay-form__input,
.erp-bill-strip__input,
.company-chat-compose__input,
.erp-pw-field__input {
    background-color: #ffffff;
    color: #0f172a;
    border: 1px solid var(--erp-field-border);
}

.input-field:focus,
.erp-form-control:focus,
.erp-safe-filters__input:focus,
.erp-invoices-search__input:focus,
.erp-clients-search-form__input:focus {
    outline: none;
    border-color: var(--erp-field-border-focus);
    box-shadow: 0 0 0 3px rgba(26, 127, 245, 0.12);
}

.input-field::placeholder,
.erp-form-control::placeholder {
    color: #94a3b8;
}

/* Labels slightly darker than text-slate-400 */
main label.text-slate-400,
.erp-main-content label.text-slate-400 {
    color: #64748b;
}

/* Tables: row lines + header only (no extra box around table area) */
.erp-data-table thead th,
.erp-safe-ledger-table thead th,
.erp-safe-cashflow-table thead th,
.erp-salary-history-table thead th,
.erp-suppliers-table thead th,
.erp-invoices-table thead th,
.erp-hrc-table thead th,
.erp-fv-table thead th,
.erp-safe-chart-table thead th,
.boardroom-table thead th,
.erp-print-table thead th {
    background: var(--erp-table-head-bg);
    color: #475569;
    border-bottom: 1px solid #cbd5e1;
}

.erp-data-table tbody td,
.erp-safe-ledger-table tbody td,
.erp-safe-cashflow-table tbody td,
.erp-salary-history-table tbody td,
.erp-suppliers-table tbody td,
.erp-invoices-table tbody td,
.erp-hrc-table tbody td,
.erp-fv-table tbody td,
.erp-safe-chart-table tbody td,
.boardroom-table tbody td,
.erp-print-table tbody td {
    border-bottom: 1px solid var(--erp-table-row-border);
}

.erp-data-table tbody tr:last-child td,
.erp-hrc-table tbody tr:last-child td {
    border-bottom: none;
}

/* Login */
.login-page {
    background-color: #f1f5f9;
}

.login-page .login-card {
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 24px rgba(15, 23, 42, 0.08);
}

.login-page input[type="text"],
.login-page input[type="password"] {
    border: 1px solid var(--erp-field-border);
    background: #ffffff;
}

.login-page input:focus {
    border-color: var(--erp-field-border-focus);
    box-shadow: 0 0 0 3px rgba(26, 127, 245, 0.12);
}
