/* KCN Manager — page-specific: login, dashboard, meter grid, invoice detail */

/* ----- Login ----- */
.login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(160deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
    padding: var(--space-4);
}
.login-card {
    background: var(--surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    width: 100%;
    max-width: 380px;
    padding: var(--space-8);
}
.login-card .login-logo { text-align: center; margin-bottom: var(--space-6); }
.login-card .login-logo img { height: 48px; }
.login-card h1 { font-size: var(--fs-lg); text-align: center; }

/* ----- Meter reading grid ----- */
.meter-grid .form-control { max-width: 130px; }
.meter-grid td.locked { color: var(--text-secondary); font-style: italic; }
.meter-grid .consumption-warning { background: var(--warning-bg); }

/* ----- Invoice detail ----- */
.invoice-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-3); margin-bottom: var(--space-4); }
.invoice-meta .meta-item .meta-label { color: var(--text-secondary); font-size: var(--fs-sm); }
.invoice-meta .meta-item .meta-value { font-weight: 600; }
.missing-data-banner {
    background: var(--warning-bg);
    border: 1px solid var(--warning-border);
    border-radius: var(--radius);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-4);
}

/* ----- Dashboard ----- */
.dashboard-section { margin-top: var(--space-6); }
.park-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--space-4); }
