:root { font-size: 15px; }
body.proits-theme-light { --proits-theme:#1677d2;--proits-rgb:22,119,210;--app-bg:#f4f7fb;--surface:#fff;--surface-alt:#f8fafc;--text:#1f2937;--muted:#64748b;--border:#dfe6ee;--navbar:#fff;--navbar-text:#334155;--sidebar:#f8fafc;--sidebar-text:#334155;--sidebar-muted:#64748b;--sidebar-hover:#edf3f9;--sidebar-active:#e4f0fb; }
body.proits-theme-dark { --proits-theme:#22c3dd;--proits-rgb:34,195,221;--app-bg:#1f2832;--surface:#29343e;--surface-alt:#313d48;--text:#edf3f8;--muted:#b5c1cd;--border:#40505e;--navbar:#242e38;--navbar-text:#edf3f8;--sidebar:#202a34;--sidebar-text:#e7eef5;--sidebar-muted:#a9b7c5;--sidebar-hover:#2b3743;--sidebar-active:#174c5b; }
body.proits-theme-blue { --proits-theme:#2aa7dd;--proits-rgb:42,167,221;--app-bg:#edf4fa;--surface:#fff;--surface-alt:#f4f8fc;--text:#17324a;--muted:#60758a;--border:#d5e2ed;--navbar:#174f78;--navbar-text:#f7fbff;--sidebar:#173d5b;--sidebar-text:#f3f8fc;--sidebar-muted:#bed0df;--sidebar-hover:#1e4b6c;--sidebar-active:#246d90; }
body.proits-theme-slate { --proits-theme:#4d7fa9;--proits-rgb:77,127,169;--app-bg:#eef1f5;--surface:#fff;--surface-alt:#f6f8fa;--text:#273442;--muted:#677584;--border:#d7dee6;--navbar:#465361;--navbar-text:#f5f7fa;--sidebar:#394754;--sidebar-text:#f3f6f8;--sidebar-muted:#c2ccd5;--sidebar-hover:#455563;--sidebar-active:#536d82; }

body { background:var(--app-bg)!important;color:var(--text)!important;transition:background-color .18s ease,color .18s ease; }
.content-wrapper { background:var(--app-bg)!important;color:var(--text)!important;min-height:100vh; }
.content,.content-header,h1,h2,h3,h4,h5,h6,label { color:var(--text); }
.text-muted,.proits-sidebar-muted { color:var(--muted)!important; }
.main-header { background:var(--navbar)!important;border-bottom:1px solid var(--border)!important;box-shadow:0 1px 3px rgba(15,23,42,.06);position:sticky;top:0;z-index:1040; }
.main-header .nav-link,.main-header strong { color:var(--navbar-text)!important; }
.main-sidebar,.main-sidebar::before { background:var(--sidebar)!important;border-right:1px solid var(--border); }
.main-sidebar .brand-link { background:var(--sidebar)!important;border-bottom:1px solid var(--border)!important;color:var(--sidebar-text)!important; }
.main-sidebar .sidebar,.main-sidebar .info,.main-sidebar .nav-header { color:var(--sidebar-text)!important; }
.main-sidebar .nav-sidebar .nav-link { color:var(--sidebar-text)!important;border-radius:7px;margin:2px 8px;width:auto; }
.main-sidebar .nav-sidebar .nav-link:hover { background:var(--sidebar-hover)!important; }
.main-sidebar .nav-sidebar .nav-link.active { background:var(--sidebar-active)!important;color:var(--proits-theme)!important;box-shadow:inset 3px 0 0 var(--proits-theme)!important;font-weight:600; }
body.proits-theme-dark .nav-sidebar .nav-link.active,body.proits-theme-blue .nav-sidebar .nav-link.active,body.proits-theme-slate .nav-sidebar .nav-link.active { color:#fff!important; }
.main-sidebar .nav-header { color:var(--sidebar-muted)!important;font-size:.72rem;letter-spacing:.08em;margin-top:.6rem; }
.brand-link.proits-logo-brand { min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.35rem .75rem;overflow:hidden;line-height:1.15; }
.proits-brand-logo { width:108px;max-height:52px;object-fit:contain; }
.proits-brand-name { margin-top:.2rem;text-align:center;font-size:1rem; }
.proits-sidebar-initial { width:34px;height:34px;color:#fff;font-weight:700; }
.proits-user-initial { width:28px;height:28px;color:#fff;font-size:.8rem;font-weight:700; }
.proits-chevron { font-size:.65rem; }

.card,.info-box,.callout,.modal-content,.dropdown-menu,.list-group-item { background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important; }
.card-header,.card-footer,.modal-header,.modal-footer { background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important; }
.table { color:var(--text)!important;background:var(--surface)!important; }
.table th,.table td { border-color:var(--border)!important;vertical-align:middle; }
.table thead th { background:var(--surface-alt)!important;color:var(--text)!important;border-bottom-width:1px; }
.table-striped tbody tr:nth-of-type(odd),.table-hover tbody tr:hover { background:rgba(var(--proits-rgb),.07)!important;color:var(--text)!important; }
.form-control,.form-select,.custom-select,.input-group-text,.custom-file-label,select,input,textarea { background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important; }
.form-control:focus,.custom-select:focus { background:var(--surface)!important;color:var(--text)!important;border-color:var(--proits-theme)!important;box-shadow:0 0 0 .15rem rgba(var(--proits-rgb),.15)!important; }
.dropdown-item { color:var(--text)!important; }
.dropdown-item:hover,.dropdown-item:focus { background:var(--surface-alt)!important;color:var(--text)!important; }
.dropdown-divider,hr { border-color:var(--border)!important; }
.main-footer { background:var(--surface)!important;color:var(--muted)!important;border-color:var(--border)!important; }
.alert { border-radius:6px; }

.btn:not(.btn-tool) { border-radius:6px!important;font-weight:600;min-height:36px;display:inline-flex;align-items:center;justify-content:center;box-shadow:none!important; }
.btn-sm { min-height:32px; }
.btn-primary { background:#1677d2!important;border-color:#1677d2!important;color:#fff!important; }
.btn-info { background:#18a5b8!important;border-color:#18a5b8!important;color:#fff!important; }
.btn-success { background:#27a844!important;border-color:#27a844!important;color:#fff!important; }
.btn-secondary { background:#6c7884!important;border-color:#6c7884!important;color:#fff!important; }
.btn-danger { background:#dc3545!important;border-color:#dc3545!important;color:#fff!important; }
.btn-warning { background:#f0ad00!important;border-color:#f0ad00!important;color:#20262d!important; }
.btn-outline-primary { color:#1677d2!important;border-color:#1677d2!important;background:transparent!important; }
.btn-outline-primary:hover { background:#1677d2!important;color:#fff!important; }
.badge { font-weight:600;padding:.38em .6em; }
.proits-theme-selected::after { content:'\f00c';font-family:'Font Awesome 5 Free';font-weight:900;float:right;color:var(--proits-theme); }

.login-page { background:linear-gradient(145deg,var(--app-bg),rgba(var(--proits-rgb),.13))!important; }
.login-box { width:390px;max-width:calc(100vw - 30px); }
.proits-login-logo { width:190px;height:68px;object-fit:contain; }
.login-logo { color:var(--text)!important;font-size:1.45rem; }
.login-card-body { background:var(--surface)!important;color:var(--text)!important; }
.login-box-msg { color:var(--muted)!important; }

@media (min-width:992px) { .main-sidebar,.main-sidebar::before { width:270px!important; } body:not(.sidebar-collapse) .content-wrapper,body:not(.sidebar-collapse) .main-header,body:not(.sidebar-collapse) .main-footer { margin-left:270px!important; } }
@media (max-width:575.98px) { .content { padding-left:.25rem;padding-right:.25rem; }.brand-text { font-size:.95rem; } }
