/* Loaded after individual authenticated views so legacy dark view styles resolve to the AVTAX application system. */
.app-page { --panel: #fff; --panel-muted: #f7faff; --ink: #142438; --muted: #526c81; --line: #d3dfeb; --blue: #1262c4; --blue-soft: #e7f1fb; --success: #16834d; --success-soft: #e9f7ef; --warning: #8c5d00; --warning-soft: #fff5da; --danger: #b42318; --danger-soft: #fff0ef; }
.dashboard-container,.units-container,.details-container,.stats-container,.invoices-container { min-height: calc(100vh - 74px) !important; padding: 42px 0 24px !important; color: var(--ink) !important; background: transparent !important; }
.dashboard-container > .container,.units-container > .container,.details-container > .container,.stats-container > .container,.invoices-container > .container { width: min(100%,1280px); padding-inline: 32px; }
.app-page h1,.app-page h2,.app-page h3,.app-page h4,.app-page h5 { color: var(--ink); font-family: "Urbanist","Segoe UI",sans-serif; text-wrap: balance; }
.app-page .text-muted,.app-page .form-text { color: var(--muted) !important; }
.app-page .alert { border: 1px solid transparent; border-radius: 8px; color: var(--ink); }
.app-page .alert-danger { border-color: #fecdc7; color: var(--danger); background: var(--danger-soft); }
.app-page .alert-success { border-color: #b7e3ca; color: var(--success); background: var(--success-soft); }
.app-page .alert-warning { border-color: #f2d487; color: #704a00; background: var(--warning-soft); }
.app-page .btn { border-radius: 7px; font-size: .84rem; font-weight: 800; transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease; }
.app-page .btn-primary,.app-page .btn-create { border: 1px solid var(--blue) !important; color: #fff !important; background: var(--blue) !important; box-shadow: none !important; }
.app-page .btn-primary:hover,.app-page .btn-create:hover { border-color: #0d4f9f !important; color: #fff !important; background: #0d4f9f !important; transform: translateY(-1px); }
.app-page .btn-secondary,.app-page .btn-outline-light,.app-page .btn-outline-dark { border: 1px solid var(--line) !important; color: #29465d !important; background: #fff !important; }
.app-page .btn-secondary:hover,.app-page .btn-outline-light:hover,.app-page .btn-outline-dark:hover { border-color: #8aa9c2 !important; color: var(--blue) !important; background: var(--blue-soft) !important; }
.app-page .btn-danger { border-color: var(--danger) !important; background: var(--danger) !important; }
.app-page .form-control,.app-page .form-select,.app-page .input-group-text { min-height: 42px; border-color: #bdcddd; color: var(--ink); background: #fff; box-shadow: none; font-size: .9rem; }
.app-page .form-control:focus,.app-page .form-select:focus { border-color: var(--blue); color: var(--ink); background: #fff; box-shadow: 0 0 0 3px rgba(18,98,196,.16); }
.app-page .form-label { color: #29465d; font-size: .82rem; font-weight: 800; }
.app-page .form-check-input:checked { border-color: var(--blue); background-color: var(--blue); }
.app-page .text-danger { color: var(--danger) !important; font-size: .78rem; font-weight: 700; }
.app-page code,.app-page .vat-number { padding: 3px 6px; border-radius: 4px; color: #1d5a91 !important; background: #e9f3fb !important; font-family: "Cascadia Code",Consolas,monospace; font-size: .8rem; }

/* Dashboard overview */
.dashboard-panel.invoice-usage { margin-bottom: 20px; padding: 24px 28px 18px; }
.usage-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.usage-heading .dashboard-panel__heading { margin-bottom: 5px; font-size: 1.2rem; }
.usage-heading p { color: var(--muted); margin: 0; font-size: .875rem; }
.usage-filter { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.usage-year-picker { position: relative; color: var(--blue); }
.usage-year-picker > svg { position: absolute; left: 14px; top: 13px; width: 18px; height: 18px; pointer-events: none; }
.usage-year-picker > .usage-year-chevron { left: auto; right: 12px; color: var(--muted); }
.app-page .usage-year-picker select { width: 142px; height: 44px; padding-left: 42px; border-radius: 8px; font-size: .9375rem; font-weight: 700; cursor: pointer; transition: border-color 200ms, background-color 200ms; }
.app-page .usage-year-picker select:hover { border-color: var(--blue); background-color: #f5f9fe; }
.usage-totals { display: grid; grid-template-columns: 1.25fr 1fr 1fr; margin: 24px 0 20px; }
.usage-totals > div { min-width: 0; padding: 0 28px; border-left: 1px solid var(--line); }
.usage-totals > div:first-child { border: 0; padding-left: 0; }
.usage-totals dt { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: var(--muted); font-size: .875rem; font-weight: 500; }
.usage-total dt { color: var(--ink); font-weight: 600; }
.usage-total dt > span { color: var(--muted); font-weight: 400; }
.usage-totals dd { font-size: 2rem; line-height: 1.25; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.035em; margin: 10px 0 0; }
.usage-total dd { color: var(--blue); font-size: 2.5rem; line-height: 1; }
.usage-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.usage-dot--production { background: var(--blue); }
.usage-dot--simulation { background: #8296a8; }
.usage-months { border-top: 1px solid var(--line); }
.usage-months summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; list-style: none; cursor: pointer; color: var(--ink); font-size: .875rem; font-weight: 600; transition: color 200ms; }
.usage-months summary::-webkit-details-marker { display: none; }
.usage-months summary svg { width: 18px; height: 18px; color: var(--muted); transition: transform 200ms; }
.usage-months[open] summary svg { transform: rotate(180deg); }
.usage-months summary:hover { color: var(--blue); }
.usage-months summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.usage-month-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; margin: 6px 0 20px; }
.usage-month-grid > div { border-top: 2px solid #e5edf5; padding-top: 10px; }
.usage-month-grid dt { color: var(--muted); font-size: .8rem; font-weight: 500; }
.usage-month-grid dd { font-size: 1.125rem; font-weight: 600; margin: 4px 0 0; font-variant-numeric: tabular-nums; }
.usage-note { color: var(--muted); font-size: .75rem; margin: 6px 0 0; }
.usage-error { margin-top: 20px; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.usage-error p { margin: 0; }
.invoice-usage.is-loading .usage-totals dd { color: transparent; background: #e6edf5; border-radius: 4px; width: 90px; }
.invoice-usage.is-loading .usage-months { opacity: .4; pointer-events: none; }
@media (max-width: 640px) {
  .dashboard-panel.invoice-usage { padding: 20px; }
  .usage-heading { align-items: flex-start; gap: 12px; }
  .usage-heading p { max-width: 22ch; }
  .app-page .usage-year-picker select { width: 116px; padding-left: 34px; }
  .usage-year-picker > svg { left: 10px; width: 16px; }
  .usage-totals { grid-template-columns: 1fr 1fr; row-gap: 20px; }
  .usage-totals > div { padding: 0 16px; }
  .usage-totals > .usage-total { grid-column: 1 / -1; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
  .usage-totals > div:nth-child(2) { border-left: 0; padding-left: 0; }
  .usage-month-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { .usage-months summary svg { transition: none; } }
.dashboard-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.dashboard-heading h1 { margin:0; font-size:2.2rem; font-weight:600; letter-spacing:-.035em; }
.dashboard-heading p { max-width:600px; margin:8px 0 0; color:var(--muted); }
.dashboard-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0; }
.stat-card { min-height:174px; padding:22px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--panel); }
.stat-card:hover { border-color:#9ebbd4; background:var(--panel); box-shadow:none; transform:none; }
.stat-card::before { display:none; }
.stat-card__label { display:flex; align-items:center; gap:8px; color:#45627a; font-size:.79rem; font-weight:800; }
.stat-card__label i { color:var(--blue); }
.stat-number { margin:18px 0 8px; color:var(--ink); font-size:2.25rem; font-weight:700; letter-spacing:-.04em; font-variant-numeric:tabular-nums; animation:none; }
.stat-description { margin:0; color:var(--muted); font-size:.82rem; }
.stat-trend { margin-top:14px; color:#355269; font-size:.79rem; }
.stat-trend.up { color:var(--success); }
.dashboard-content-grid { display:grid; grid-template-columns:1.04fr .96fr; gap:18px; margin-top:18px; }
.dashboard-panel,.chart-card { margin:0; padding:24px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--panel); box-shadow:none; }
.chart-card:hover { background:var(--panel); box-shadow:none; }
.chart-title,.dashboard-panel__heading { display:flex; align-items:center; gap:9px; margin:0 0 20px; color:var(--ink); font-family:"Urbanist",sans-serif; font-size:1.14rem; font-weight:600; }
.chart-title::before { display:none; }
.chart-title i,.dashboard-panel__heading i { color:var(--blue); }
.status-list,.unit-volume-list { display:grid; gap:13px; }
.status-row,.unit-volume-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:center; }
.status-row__name,.unit-volume-row__name { display:flex; align-items:center; gap:9px; min-width:0; color:#355269; font-size:.86rem; font-weight:700; }
.status-row__name span,.unit-volume-row__name span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.status-row__name i { font-size:.52rem; }
.status-row--cleared i { color:var(--success); }.status-row--reported i { color:var(--blue); }.status-row--rejected i { color:var(--danger); }
.status-row__value,.unit-volume-row__value { color:var(--ink); font-size:.88rem; font-weight:800; font-variant-numeric:tabular-nums; }
.status-bar { grid-column:1/-1; height:5px; overflow:hidden; border-radius:3px; background:#e4edf5; }.status-bar span { display:block; width:var(--status-width); height:100%; background:var(--status-color); }
/* ZATCA outcome rows on the dashboard: each tone also carries an icon and a label. */
.status-row--success,.status-row--warning,.status-row--danger,.status-row--neutral { --status-color:#8296a8; }.status-row--success { --status-color:var(--success); }.status-row--warning { --status-color:#c28a00; }.status-row--danger { --status-color:var(--danger); }
.status-row--success i,.status-row--warning i,.status-row--danger i,.status-row--neutral i { font-size:.86rem; }.status-row--success i { color:var(--success); }.status-row--warning i { color:#a26b00; }.status-row--danger i { color:var(--danger); }.status-row--neutral i { color:#5f7489; }
.dashboard-panel__sub { margin:-12px 0 18px; color:var(--muted); font-size:.82rem; }.dashboard-panel__note { margin:16px 0 0; color:var(--muted); font-size:.78rem; }.stat-trend.down { color:var(--danger); }
.unit-volume-row__value { color:var(--blue); }.unit-volume-row__name { color:var(--ink); }
.units-panel { margin-top:18px; }.units-panel .table-responsive { margin-inline:-24px; }.units-panel .table { margin:0; }
.app-page .table { margin-bottom:0; color:var(--ink); border-color:var(--line); }.app-page .table > :not(caption) > * > * { padding:15px 16px; border-color:var(--line); background:transparent; }.app-page .table thead th { color:#5a7389; background:#f3f7fa; font-size:.73rem; font-weight:800; letter-spacing:.02em; text-transform:none; }.app-page .table-hover tbody tr:hover > * { color:var(--ink); background:#f4f8fc; }.unit-avatar,.org-avatar { width:34px; height:34px; border-radius:7px; color:var(--blue); background:#e5f0fb; }.app-page .badge-success,.app-page .status-cleared { border:0; color:var(--success) !important; background:var(--success-soft) !important; }.app-page .badge-warning,.app-page .status-pending { border:0; color:var(--warning) !important; background:var(--warning-soft) !important; }.app-page .status-reported { color:#1d5a91 !important; background:#e9f3fb !important; }.app-page .status-rejected { color:var(--danger) !important; background:var(--danger-soft) !important; }.app-page .badge,.app-page .status-badge { border-radius:6px; font-size:.73rem; font-weight:800; }.rate-limit { color:var(--ink) !important; font-variant-numeric:tabular-nums; }.rate-limit small { color:var(--muted) !important; }
.btn-group-actions { gap:6px; }.btn-action,.btn-details,.btn-stats,.btn-invoices,.btn-status,.btn-pdf { border:1px solid var(--line) !important; border-radius:6px; color:#29465d !important; background:#fff !important; box-shadow:none !important; }.btn-action:hover,.btn-details:hover,.btn-stats:hover,.btn-invoices:hover,.btn-status:hover,.btn-pdf:hover { border-color:#8aa9c2 !important; color:var(--blue) !important; background:var(--blue-soft) !important; box-shadow:none !important; transform:none !important; }

/* Other EGS pages, overruling their existing dark local styles. */
.page-header { margin-bottom:24px !important; }.page-title { color:var(--ink) !important; }.page-title h1,.unit-info-card h1 { margin:0 0 8px !important; color:var(--ink) !important; font-size:1.85rem !important; font-weight:600; letter-spacing:-.03em; }.page-title p,.unit-meta,.unit-meta span,.filter-group label { color:var(--muted) !important; }.back-link { color:var(--blue) !important; font-size:.84rem; font-weight:800; }.back-link:hover { color:var(--app-blue-dark) !important; transform:translateX(-2px) !important; }
.units-card,.details-card,.unit-info-card,.filter-card,.invoices-card,.monthly-stats-card,.card { border:1px solid var(--line) !important; border-radius:10px !important; color:var(--ink) !important; background:var(--panel) !important; box-shadow:none !important; }.units-card,.details-card,.unit-info-card,.filter-card,.invoices-card,.monthly-stats-card { padding:22px !important; }.card-header { border-bottom:1px solid var(--line) !important; color:var(--ink) !important; background:#f3f7fa !important; }.card-body { color:var(--ink) !important; background:#fff !important; }.details-card h5 { border-bottom-color:var(--line) !important; color:var(--ink) !important; }.details-card dt { color:var(--muted) !important; }.details-card dd { color:var(--ink) !important; }.credential-input { border-color:#bdcddd !important; color:var(--ink) !important; background:#fff !important; }.quick-action-btn { border:1px solid var(--line); border-radius:8px !important; color:var(--ink) !important; background:#fff !important; box-shadow:none !important; }.quick-action-btn i { color:var(--blue); }.quick-action-btn:hover { border-color:#8aa9c2; color:var(--blue) !important; background:var(--blue-soft) !important; box-shadow:none !important; transform:translateY(-1px) !important; }.quick-action-stats,.quick-action-invoices { background:#fff !important; }
.stats-grid { gap:14px !important; }.stats-card { border:1px solid var(--line) !important; border-radius:10px !important; color:var(--ink); background:var(--panel) !important; box-shadow:none !important; }.stats-card:hover { background:var(--panel) !important; box-shadow:none !important; transform:none !important; }.stats-card .icon { border-radius:7px !important; color:var(--blue); background:var(--blue-soft) !important; }.stats-card .value { color:var(--ink) !important; font-variant-numeric:tabular-nums; }.stats-card .label { color:var(--muted) !important; text-transform:none !important; letter-spacing:0 !important; }.icon-blue,.icon-green,.icon-yellow,.icon-purple,.icon-red { color:var(--blue) !important; background:var(--blue-soft) !important; }.monthly-stats-card h3,.invoices-card h3,.filter-card h4 { color:var(--ink) !important; }.monthly-table,.units-table,.invoices-table { color:var(--ink) !important; }.monthly-table th,.units-table th,.invoices-table th { color:#5a7389 !important; background:#f3f7fa !important; text-transform:none !important; letter-spacing:0 !important; }.monthly-table td,.units-table td,.invoices-table td { color:var(--ink) !important; border-bottom-color:var(--line) !important; }.monthly-table tr:hover,.units-table tbody tr:hover,.invoices-table tbody tr:hover { background:#f4f8fc !important; }.org-additional,.no-data,.no-data h4 { color:var(--muted) !important; }.no-data i { color:#8aa9c2 !important; }.filter-group input,.filter-group select { border-color:#bdcddd !important; color:var(--ink) !important; background:#fff !important; }.filter-group select option { color:var(--ink) !important; background:#fff !important; }
.modal-dark .modal-content { border-color:var(--line) !important; color:var(--ink) !important; background:#fff !important; }.modal-dark .modal-header,.modal-dark .modal-footer { border-color:var(--line) !important; }.modal-dark .btn-close { filter:none !important; }.modal-dark .form-label,.status-detail-label { color:var(--muted) !important; }.modal-dark .form-control,.modal-dark .form-select { border-color:#bdcddd !important; color:var(--ink) !important; background:#fff !important; }.modal-dark .form-select option { color:var(--ink) !important; background:#fff !important; }.status-detail-item { border-bottom-color:var(--line) !important; }.validation-messages { border:1px solid var(--line); background:#f7faff !important; }.validation-warning { border-left:1px solid #d3a929 !important; background:var(--warning-soft) !important; }.validation-error { border-left:1px solid #dc655b !important; background:var(--danger-soft) !important; }
.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate { color:var(--muted) !important; }.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select { border-color:#bdcddd !important; color:var(--ink) !important; background:#fff !important; }.dataTables_wrapper .dataTables_paginate .paginate_button { border-color:var(--line) !important; color:#355269 !important; background:#fff !important; }.dataTables_wrapper .dataTables_paginate .paginate_button:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.current { border-color:var(--blue) !important; color:#fff !important; background:var(--blue) !important; }
.details-card .form-label { color:var(--muted) !important; }
@media (max-width:991px) { .dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.dashboard-content-grid { grid-template-columns:1fr; }.dashboard-container > .container,.units-container > .container,.details-container > .container,.stats-container > .container,.invoices-container > .container { padding-inline:22px; } }
@media (max-width:640px) { .dashboard-container,.units-container,.details-container,.stats-container,.invoices-container { padding-top:27px !important; }.dashboard-container > .container,.units-container > .container,.details-container > .container,.stats-container > .container,.invoices-container > .container { padding-inline:16px; }.dashboard-heading { display:block; }.dashboard-heading h1 { font-size:1.85rem; }.dashboard-grid { grid-template-columns:1fr; }.stat-card,.dashboard-panel,.chart-card { padding:19px; }.units-panel .table-responsive { margin-inline:-19px; }.app-page .table > :not(caption) > * > * { padding:13px 12px; }.btn-text { display:none; }.quick-action-btn { min-width:100% !important; }.filter-group { min-width:100% !important; } }

/* Suspension controls on the EGS unit details page and badges in unit lists. */
.unit-submissions { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 18px; padding:18px 22px; border:1px solid var(--line); border-radius:10px; background:var(--panel); }
.unit-submissions h3 { display:flex; align-items:center; gap:9px; margin:0 0 6px; color:var(--ink) !important; font-family:"Manrope","Segoe UI",sans-serif !important; font-size:1rem; font-weight:700; }
.unit-submissions h3 i { color:var(--success); }
.unit-submissions p { margin:0; max-width:82ch; color:var(--muted); font-size:.86rem; line-height:1.6; }
.unit-submissions .unit-submissions__note { margin-top:6px; color:#5c3d00; overflow-wrap:anywhere; }
.unit-submissions__note span { font-weight:700; }
.unit-submissions--paused { border-color:#f2d487; background:#fffaeb; }
.unit-submissions--paused h3 i { color:#a26b00; }
.unit-submissions form,.unit-submissions > .btn { flex:none; }
.suspend-dialog .modal-content { border:1px solid var(--line); border-radius:12px; color:var(--ink); }
.suspend-dialog .modal-title { margin:0; font-size:1.15rem; font-weight:700; color:var(--ink); }
.suspend-dialog ul { margin:0 0 16px; padding-left:18px; color:#29465d; font-size:.88rem; line-height:1.7; }
.suspend-dialog .form-text { margin:6px 0 0; font-size:.78rem; }
.app-page .badge-suspended { border:0; color:#a4231a !important; background:#fff0ef !important; }
@media (max-width:640px) { .unit-submissions { flex-direction:column; align-items:flex-start; padding:16px; } }
