/* Theme: Production */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700&family=Inter:wght@300;400;600;700&display=swap');
:root {
  --color-primary:        #1d4ed8;
  --color-primary-hover:  #1e40af;
  --color-primary-light:  #eff6ff;
  --color-primary-text:   #1d4ed8;
  --color-accent:         #3b82f6;
  --color-sidebar-bg:     #ffffff;
  --color-sidebar-border: #dde3ea;
  --color-topbar-bg:      #ffffff;
  --color-topbar-border:  #dde3ea;
  --color-body-bg:        #f4f6f8;
  --color-text:           #1f2937;
  --color-text-muted:     #64748b;
  --color-text-faint:     #94a3b8;
  --color-border:         #dde3ea;
  --color-border-light:   #eef2f6;
  --color-row-hover:      #fafbfd;
  --color-row-selected:   #eff6ff;
  --color-row-dirty:      #fffbeb;
  --color-danger:         #b91c1c;
  --color-danger-bg:      #fef2f2;
  --color-danger-border:  #fca5a5;
  --color-success:        #16a34a;
  --color-success-bg:     #f0fdf4;
  --color-section:        #3b82f6;
  --color-logo-bg:        #1f2937;
  --color-wallpaper:      #f4f6f8;
  --color-wallpaper2:     #e2e8f0;
  --font-title:           'Montserrat', Arial, sans-serif;
  --font-body:            'Inter', Arial, sans-serif;
}

html, body { background: var(--color-wallpaper); color: var(--color-text); font-family: var(--font-body); }
input, textarea, select, button, td, th, .cell-input-direct, .cell-textarea, .cell-view, .cell-cbg-item, .check-group-item, .ts-item, .t-item, .pv-ni, .pv-row { font-family: var(--font-body); }
h1,h2,h3,h4,h5,h6,.topbar,.logo-text,.nav-section-label,.th-name,.edit-head-title,.te-title,.runtime-title,.pv-topbar-title,.pv-logo,.pv-th-row div,.block-title,section.block h2 { font-family: var(--font-title); }
.topbar, .home-topbar { background: var(--color-topbar-bg); border-bottom-color: var(--color-topbar-border); }
.topbar button, .topbar-link { border-color: var(--color-border); color: var(--color-text); }
.topbar button:hover, .topbar-link:hover { background: var(--color-primary-light); }
.topbar button.tab-on, .topbar button.btn-primary { background: var(--color-primary); border-color: var(--color-primary); }
.topbar button.btn-primary:hover { background: var(--color-primary-hover); }
.topbar button.btn-danger { background: var(--color-danger-bg); color: var(--color-danger); border-color: var(--color-danger-border); }
.logo-icon { background: var(--color-logo-bg); }
.logo-text { color: var(--color-text); }
.sidebar, .home-sidebar { background: var(--color-sidebar-bg); border-right-color: var(--color-sidebar-border); }
.nav-item { color: var(--color-text); }
.nav-item:hover { background: var(--color-primary-light); }
.nav-item.active { background: var(--color-primary-light); border-left-color: var(--color-primary); color: var(--color-primary-text); }
.nav-item.active .nav-item-icon .material-icons-outlined { color: var(--color-primary-text); }
.nav-section-label { color: var(--color-section); }
.role-list-row.active { background: var(--color-primary-light); border-left-color: var(--color-primary); }
.panel-head { border-bottom-color: var(--color-border-light); }
.right-panel { border-left-color: var(--color-border); }
.data-grid tr:hover td { background: var(--color-row-hover); }
.data-grid tr.selected td { background: var(--color-row-selected); }
.data-grid tr.dirty td { background: var(--color-row-dirty); }
.form-block input:focus, .form-block select:focus, .form-block textarea:focus { border-color: var(--color-primary); }
.btn-primary { background: var(--color-primary) !important; border-color: var(--color-primary) !important; }
.btn-primary:hover { background: var(--color-primary-hover) !important; }
.save-btn { background: var(--color-primary); }
.save-btn:hover { background: var(--color-primary-hover); }
.card-tab.on { color: var(--color-primary-text); border-bottom-color: var(--color-primary); }
.btn-danger, .act-btn.del { color: var(--color-danger); border-color: var(--color-danger-border); background: var(--color-danger-bg); }
.status-dot.ok { background: var(--color-success); }
.th-filter-btn.active { color: var(--color-primary-text); }
.col-filtered { background: var(--color-primary-light); }
.new-row-tr td { background: var(--color-success-bg); border-bottom-color: var(--color-success); }
