/* HPENERHO additions to the supplied Velzon Minimal styles. */
:root { --vz-font-sans-serif: 'HK Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif; }
/* Neutral brand accents in both themes; status colors retain their meaning. */
:root,[data-bs-theme='light'] {
  --vz-primary:#6b7280; --vz-primary-rgb:107,114,128; --vz-primary-text-emphasis:#374151;
  --vz-primary-bg-subtle:#f3f4f6; --vz-primary-border-subtle:#d1d5db;
  --vz-info:#6b7280; --vz-info-rgb:107,114,128; --vz-info-text-emphasis:#374151;
  --vz-info-bg-subtle:#f3f4f6; --vz-info-border-subtle:#d1d5db;
  --vz-link-color:#4b5563; --vz-link-color-rgb:75,85,99;
  --vz-link-hover-color:#1f2937; --vz-link-hover-color-rgb:31,41,55;
}
[data-bs-theme='dark'] {
  --vz-primary:#a1a1aa; --vz-primary-rgb:161,161,170; --vz-primary-text-emphasis:#e5e7eb;
  --vz-primary-bg-subtle:#34373d; --vz-primary-border-subtle:#52525b;
  --vz-info:#a1a1aa; --vz-info-rgb:161,161,170; --vz-info-text-emphasis:#e5e7eb;
  --vz-info-bg-subtle:#34373d; --vz-info-border-subtle:#52525b;
  --vz-link-color:#d1d5db; --vz-link-color-rgb:209,213,219;
  --vz-link-hover-color:#f9fafb; --vz-link-hover-color-rgb:249,250,251;
}
:root[data-sidebar] {
  --vz-vertical-menu-item-color:#6b7280; --vz-vertical-menu-item-hover-color:#374151;
  --vz-vertical-menu-item-active-color:#374151; --vz-vertical-menu-item-bg:#f3f4f6;
  --vz-vertical-menu-item-active-bg:#f3f4f6; --vz-vertical-menu-sub-item-color:#6b7280;
  --vz-vertical-menu-sub-item-hover-color:#374151; --vz-vertical-menu-sub-item-active-color:#374151;
  --vz-vertical-menu-title-color:#6b7280;
}
:root[data-bs-theme='dark'][data-sidebar] {
  --vz-vertical-menu-bg:#212428; --vz-vertical-menu-border:#34373d;
  --vz-vertical-menu-item-color:#b4b4bb; --vz-vertical-menu-item-hover-color:#f3f4f6;
  --vz-vertical-menu-item-active-color:#f3f4f6; --vz-vertical-menu-item-bg:#34373d;
  --vz-vertical-menu-item-active-bg:#34373d; --vz-vertical-menu-sub-item-color:#b4b4bb;
  --vz-vertical-menu-sub-item-hover-color:#f3f4f6; --vz-vertical-menu-sub-item-active-color:#f3f4f6;
  --vz-vertical-menu-title-color:#9ca3af;
}
.form-control:focus,.form-select:focus,.form-check-input:focus { border-color:#9ca3af; box-shadow:0 0 0 .25rem rgba(107,114,128,.2); }
.form-check-input:checked { background-color:#6b7280; border-color:#6b7280; }
.btn-outline-primary,.btn-outline-info { --vz-btn-color:#25a0e2; --vz-btn-border-color:transparent; --vz-btn-hover-color:#25a0e2; --vz-btn-hover-bg:rgba(37,160,226,.12); --vz-btn-hover-border-color:transparent; --vz-btn-active-color:#25a0e2; --vz-btn-active-bg:rgba(37,160,226,.2); --vz-btn-active-border-color:transparent; --vz-btn-focus-shadow-rgb:37,160,226; }
body { min-width: 320px; }
.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-secondary,.btn-dark,.btn-ghost-primary { --vz-btn-color:#25a0e2; --vz-btn-bg:transparent; --vz-btn-border-color:transparent; --vz-btn-hover-color:#25a0e2; --vz-btn-hover-bg:rgba(37,160,226,.12); --vz-btn-hover-border-color:transparent; --vz-btn-active-color:#25a0e2; --vz-btn-active-bg:rgba(37,160,226,.2); --vz-btn-active-border-color:transparent; --vz-btn-disabled-color:#25a0e2; --vz-btn-disabled-bg:transparent; --vz-btn-disabled-border-color:transparent; --vz-btn-focus-shadow-rgb:37,160,226; }
.btn-soft-primary,.btn-soft-success,.btn-soft-info { color:#25a0e2; background:transparent; border-color:transparent; }
.btn-soft-primary:hover,.btn-soft-success:hover,.btn-soft-info:hover { color:#25a0e2; background:rgba(37,160,226,.12); border-color:transparent; }
.portal-account-metric { border:1px solid var(--vz-border-color); border-radius:4px; padding:14px; height:100%; }
.portal-account-metric span,.portal-account-metric small { color:var(--vz-secondary-color); font-size:12px; }
.portal-account-metric strong { display:block; font-size:22px; margin-top:10px; font-weight:600; }
.portal-consumption-chart { min-height:280px; }
.portal-month-picker { width:160px; }
.portal-register-input { width:112px; }
[data-chart-mode][aria-pressed='true'] { color:#25a0e2; background:rgba(37,160,226,.2); border-color:transparent; }
[data-bs-toggle='collapse'] i { transition:transform .2s; }
[data-bs-toggle='collapse'][aria-expanded='true'] i { transform:rotate(180deg); }
[data-bs-theme='dark'] .btn-soft-primary,[data-bs-theme='dark'] .btn-soft-success { background:transparent; color:#25a0e2; }
[data-bs-theme='dark'] .btn-soft-primary:hover,[data-bs-theme='dark'] .btn-soft-success:hover { background:rgba(37,160,226,.12); }
.portal-brand { display:flex; align-items:center; gap:11px; height:70px; text-align:left; color:var(--vz-heading-color); }
.portal-brand-logo { width:52px; height:30px; object-fit:contain; flex:none; }
.navbar-brand-box .portal-brand { gap:8px; }
.navbar-brand-box .portal-brand-name { color:var(--vz-vertical-menu-item-active-color); }
[data-bs-theme='dark'] .portal-brand-logo { filter:invert(1); }
.portal-brand-name { font-weight:700; font-size:17px; line-height:1.4; white-space:nowrap; }
.portal-brand-name small { display:block; font-size:10px; font-weight:400; color:var(--vz-secondary-color); }
.portal-content { max-width:1800px; }
.portal-content .table { vertical-align:middle; }
.portal-content .table thead th { color:var(--vz-secondary-color); font-size:11px; text-transform:uppercase; letter-spacing:.025em; background:var(--vz-tertiary-bg); border-bottom:1px solid var(--vz-border-color); }
.portal-content .table th,.portal-content .table td { padding:.85rem 1rem; }
.portal-content .table-responsive { max-width:100%; }
.portal-content .table td:first-child { white-space:nowrap; }
.portal-consumption { min-width:900px; }
.portal-content .form-group { margin-bottom:1rem; }
.portal-content .btn-block { width:100%; }
.portal-content .font-weight-light { font-weight:400; }
.portal-content .font-weight-bold { font-weight:600; }
.portal-content .text-right { text-align:right; }
.portal-content .shadow-lg { box-shadow:var(--vz-box-shadow) !important; padding:1.25rem; border:1px solid var(--vz-border-color); }
.portal-content .bg-white { background:var(--vz-secondary-bg) !important; }
.portal-content .table-bordered { border-color:var(--vz-border-color); }
.portal-content .collapse.topbar { position:static; }
.portal-content .card-title { font-size:15px; }
.portal-metric { min-height:146px; }
.portal-metric .metric-value { font-size:28px; font-weight:600; letter-spacing:-.8px; margin:16px 0 8px; }
.portal-action { height:100%; transition:transform .15s; }
.portal-action:hover { transform:translateY(-2px); }
.portal-avatar { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; font-size:22px; border-radius:9px; background:var(--vz-primary-bg-subtle); color:var(--vz-primary); }
.portal-chart { min-height:310px; }
.portal-auth-layout { margin-left:0 !important; min-height:100vh; min-height:100svh; background:linear-gradient(rgba(24,32,29,.12),rgba(24,32,29,.12)),url('../../consumer/img/background.jpg') center center/cover no-repeat; }
.portal-auth-layout .page-content { padding:56px 16px 90px; }
.portal-auth-layout .footer { left:0; background:rgba(255,255,255,.94); color:#4b5563; }
.portal-auth-layout .footer a { color:#4b5563 !important; }
.portal-auth { max-width:480px; margin:1vh auto 24px; }
.portal-auth-card { border:1px solid rgba(255,255,255,.6); border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.2); }
.portal-auth-card h1 { color:#374151 !important; }
.portal-auth .portal-brand { height:auto; }
.portal-auth .portal-auth-logo { width:78px; height:auto; flex:none; }
.portal-auth .portal-brand-name { font-size:22px; }
.portal-auth .portal-brand-name small { font-size:12px; }
.portal-search { max-width:360px; }
.portal-empty { padding:3rem 1rem; text-align:center; color:var(--vz-secondary-color); }
[data-sidebar-size='sm'] .portal-brand-name { display:none; }
[data-sidebar-size='sm'] .portal-brand { justify-content:center; }
@media(max-width:767.98px){ .page-content { padding:88px 8px 70px; } .portal-metric .metric-value{font-size:23px;} .portal-content .table th,.portal-content .table td{padding:.7rem;} .portal-auth-layout .page-content{padding-top:28px;} }
@media(max-width:767.98px){ .portal-content .page-title-box { margin-left:-20px; margin-right:-20px; } }
