P11 Common CSS Variables
Quick and Efficient Theme Customization
This page offers a condensed list of essential CSS variables, serving as an optimized template for creating custom themes. Instead of navigating the entire, extensive list of Bootstrap variables, this overview focuses on the key variables and their resolved, final values.
The provided lists for both Light and Dark Mode contain only the concrete color and style values, with direct assignments like --bs-accordion-color: var(--bs-body-color); removed and replaced by their final values. This significantly simplifies the process, allowing you to focus directly on the relevant values that define the look and feel of your application.
You can use these lists as a starting point to build your own theme. Simply copy the code blocks, adjust the values, and save the result as your own CSS file. You can then dynamically load this theme at runtime using the P11 ThemeService, for example, with ThemeService.SetThemeFromCssFileAsync("wwwroot/assets/my-custom-theme.css");.
To revert to the default styles and remove the custom theme, simply use ThemeService.ClearCurrentTheme();.
Implementation Details
/* Light mode */
/* Bootstrap v5.3.7 (the information is current as of August 2025) */
/* P11Accordion */
.accordion {
--bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
--bs-accordion-btn-padding-x: 1.25rem;
--bs-accordion-btn-padding-y: 1rem;
--bs-accordion-btn-icon: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'
viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round'
stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e);
--bs-accordion-btn-icon-width: 1.25rem;
--bs-accordion-btn-icon-transform: rotate(-180deg);
--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
--bs-accordion-btn-active-icon: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'
viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round'
stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e);
--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
--bs-accordion-body-padding-x: 1.25rem;
--bs-accordion-body-padding-y: 1rem;
}
/* P11AccordionNative */
.tpc-accordion-nativ {
--tpc-accordion-border-radius: 0.25rem;
--tpc-accordion-shadow: none;
}
.tpc-accordion-nativ > summary {
--tpc-accordion-header-padding: 1rem;
}
.tpc-accordion-nativ > summary .fw-bold {
--tpc-accordion-title-font-weight: bold;
--tpc-accordion-title-font-size: 1rem;
}
.tpc-accordion-nativ > div {
--tpc-accordion-content-bg: white;
--tpc-accordion-content-padding: 1rem;
}
/* P11Button */
/* Base Button Styles */
.btn {
--bs-btn-padding-x: 0.75rem;
--bs-btn-padding-y: 0.375rem;
--bs-btn-font-size: 1rem;
--bs-btn-font-weight: 400;
--bs-btn-line-height: 1.5;
--bs-btn-bg: transparent;
--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
--bs-btn-disabled-opacity: 0.65;
}
/* Solid Buttons */
.btn-primary {
--bs-btn-color: #fff;
--bs-btn-bg: #0d6efd;
--bs-btn-border-color: #0d6efd;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #0b5ed7;
--bs-btn-hover-border-color: #0a58ca;
--bs-btn-focus-shadow-rgb: 49, 132, 253;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #0a58ca;
--bs-btn-active-border-color: #0a53be;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #0d6efd;
--bs-btn-disabled-border-color: #0d6efd;
}
.btn-secondary {
--bs-btn-color: #fff;
--bs-btn-bg: #6c757d;
--bs-btn-border-color: #6c757d;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #5c636a;
--bs-btn-hover-border-color: #565e64;
--bs-btn-focus-shadow-rgb: 130, 138, 145;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #565e64;
--bs-btn-active-border-color: #51585e;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #6c757d;
--bs-btn-disabled-border-color: #6c757d;
}
.btn-success {
--bs-btn-color: #fff;
--bs-btn-bg: #198754;
--bs-btn-border-color: #198754;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #157347;
--bs-btn-hover-border-color: #146c43;
--bs-btn-focus-shadow-rgb: 60, 153, 110;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #146c43;
--bs-btn-active-border-color: #13653f;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #198754;
--bs-btn-disabled-border-color: #198754;
}
.btn-danger {
--bs-btn-color: #fff;
--bs-btn-bg: #dc3545;
--bs-btn-border-color: #dc3545;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #bb2d3b;
--bs-btn-hover-border-color: #b02a37;
--bs-btn-focus-shadow-rgb: 225, 83, 97;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #b02a37;
--bs-btn-active-border-color: #a52834;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #dc3545;
--bs-btn-disabled-border-color: #dc3545;
}
.btn-warning {
--bs-btn-color: #000;
--bs-btn-bg: #ffc107;
--bs-btn-border-color: #ffc107;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #ffca2c;
--bs-btn-hover-border-color: #ffc720;
--bs-btn-focus-shadow-rgb: 217, 164, 6;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #ffcd39;
--bs-btn-active-border-color: #ffc720;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #000;
--bs-btn-disabled-bg: #ffc107;
--bs-btn-disabled-border-color: #ffc107;
}
.btn-info {
--bs-btn-color: #000;
--bs-btn-bg: #0dcaf0;
--bs-btn-border-color: #0dcaf0;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #31d2f2;
--bs-btn-hover-border-color: #25cff2;
--bs-btn-focus-shadow-rgb: 11, 172, 204;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #3dd5f3;
--bs-btn-active-border-color: #25cff2;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #000;
--bs-btn-disabled-bg: #0dcaf0;
--bs-btn-disabled-border-color: #0dcaf0;
}
.btn-light {
--bs-btn-color: #000;
--bs-btn-bg: #f8f9fa;
--bs-btn-border-color: #f8f9fa;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #d3d4d5;
--bs-btn-hover-border-color: #c6c7c8;
--bs-btn-focus-shadow-rgb: 211, 212, 213;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #c6c7c8;
--bs-btn-active-border-color: #babbbc;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #000;
--bs-btn-disabled-bg: #f8f9fa;
--bs-btn-disabled-border-color: #f8f9fa;
}
.btn-dark {
--bs-btn-color: #fff;
--bs-btn-bg: #212529;
--bs-btn-border-color: #212529;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #424649;
--bs-btn-hover-border-color: #373b3e;
--bs-btn-focus-shadow-rgb: 66, 70, 73;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #4d5154;
--bs-btn-active-border-color: #373b3e;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #212529;
--bs-btn-disabled-border-color: #212529;
}
/* Outline Buttons */
.btn-outline-primary {
--bs-btn-color: #0d6efd;
--bs-btn-border-color: #0d6efd;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #0d6efd;
--bs-btn-focus-shadow-rgb: 13, 110, 253;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #0d6efd;
--bs-btn-active-border-color: #0d6efd;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #0d6efd;
--bs-btn-disabled-bg: transparent;
}
.btn-outline-secondary {
--bs-btn-color: #6c757d;
--bs-btn-border-color: #6c757d;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #6c757d;
--bs-btn-focus-shadow-rgb: 108, 117, 125;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #6c757d;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #6c757d;
--bs-btn-disabled-bg: transparent;
}
/* (Alle anderen Outline-Buttons nach demselben Muster gek�rzt) */
/* Link Button */
.btn-link {
--bs-btn-font-weight: 400;
--bs-btn-bg: transparent;
--bs-btn-border-color: transparent;
--bs-btn-disabled-color: #6c757d;
--bs-btn-disabled-border-color: transparent;
--bs-btn-box-shadow: 0 0 0 #000;
--bs-btn-focus-shadow-rgb: 49, 132, 253;
}
/* P11Offcanvas */
.offcanvas {
--bs-offcanvas-zindex: 1045;
--bs-offcanvas-width: 400px;
--bs-offcanvas-height: 30vh;
--bs-offcanvas-padding-x: 1rem;
--bs-offcanvas-padding-y: 1rem;
--bs-offcanvas-transition: transform 0.3s ease-in-out;
--bs-offcanvas-title-line-height: 1.5;
}
/* P11FloatingPanel */
.tpc-floating-panel {
--tpc-panel-bg: #ffffde;
--tpc-panel-border: 3px solid #bdbdbd;
--tpc-panel-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
--tpc-panel-min-width: 250px;
--tpc-panel-border-radius: 5px;
}
.tpc-floating-panel-header {
--tpc-panel-header-bg: #00007b;
--tpc-panel-header-color: #fff;
--tpc-panel-header-radius: 4px;
--tpc-panel-header-padding: 3px 10px;
}
.tpc-floating-panel-title {
--tpc-panel-title-weight: bold;
--tpc-panel-title-size: 1.1em;
}
.tpc-floating-panel-close {
--tpc-panel-close-color: #fff;
--tpc-panel-close-margin-left: 10px;
}
.tpc-floating-panel-close:hover {
--tpc-panel-close-hover-color: #bdbdbd;
}
.tpc-floating-panel-content {
--tpc-panel-content-bg: white;
--tpc-panel-content-color: #333;
--tpc-panel-content-size: 0.9em;
--tpc-panel-content-padding: 10px 7px 5px 7px;
}
/* P11Modal */
.modal {
--bs-modal-zindex: 1055;
--bs-modal-width: 500px;
--bs-modal-padding: 1rem;
--bs-modal-margin: 0.5rem;
--bs-modal-title-line-height: 1.5;
--bs-modal-footer-gap: 0.5rem;
}
/* P11ProgressBar */
.progress {
--bs-progress-height: 1rem;
--bs-progress-font-size: 0.75rem;
--bs-progress-bar-color: #fff;
--bs-progress-bar-bg: #0d6efd;
--bs-progress-bar-transition: width 0.6s ease;
}
/* P11Toast */
.toast {
--bs-toast-zindex: 1090;
--bs-toast-padding-x: 0.75rem;
--bs-toast-padding-y: 0.5rem;
--bs-toast-spacing: 1.5rem;
--bs-toast-max-width: 350px;
--bs-toast-font-size: 0.875rem;
}
/* ROOT (true-perfect-code) */
:root {
--tpc-accordion-border-radius: 0.25rem;
--tpc-accordion-shadow: none;
--tpc-accordion-header-padding: 1rem;
--tpc-accordion-title-font-weight: bold;
--tpc-accordion-title-font-size: 1rem;
--tpc-accordion-content-bg: white;
--tpc-accordion-content-padding: 1rem;
--tpc-drawer-transition-duration: 0.3s;
--tpc-drawer-z-index: 1060;
--tpc-drawer-width: 300px;
--tpc-drawer-height: 250px;
--tpc-drawer-padding: 1rem;
--tpc-drawer-title-font-size: 1.25rem;
--tpc-drawer-title-font-weight: 500;
--tpc-drawer-close-hover-opacity: 0.75;
--tpc-drawer-close-top-offset: 1rem;
--tpc-drawer-close-right-offset: 1rem;
--tpc-drawer-overlay-z-index: 1059;
--tpc-panel-bg: #ffffde;
--tpc-panel-border: 3px solid #bdbdbd;
--tpc-panel-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
--tpc-panel-min-width: 250px;
--tpc-panel-border-radius: 5px;
--tpc-panel-header-bg: #00007b;
--tpc-panel-header-color: #fff;
--tpc-panel-header-radius: 4px;
--tpc-panel-header-padding: 3px 10px;
--tpc-panel-title-weight: bold;
--tpc-panel-title-size: 1.1em;
--tpc-panel-close-color: #fff;
--tpc-panel-close-hover-color: #bdbdbd;
--tpc-panel-close-margin-left: 10px;
--tpc-panel-content-bg: white;
--tpc-panel-content-color: #333;
--tpc-panel-content-size: 0.9em;
--tpc-panel-content-padding: 10px 7px 5px 7px;
--bs-breakpoint-xs: 0;
--bs-breakpoint-sm: 576px;
--bs-breakpoint-md: 768px;
--bs-breakpoint-lg: 992px;
--bs-breakpoint-xl: 1200px;
--bs-breakpoint-xxl: 1400px;
--bs-blue: #0d6efd;
--bs-indigo: #6610f2;
--bs-purple: #6f42c1;
--bs-pink: #d63384;
--bs-red: #dc3545;
--bs-orange: #fd7e14;
--bs-yellow: #ffc107;
--bs-green: #198754;
--bs-teal: #20c997;
--bs-cyan: #0dcaf0;
--bs-black: #000;
--bs-white: #fff;
--bs-gray: #6c757d;
--bs-gray-dark: #343a40;
--bs-gray-100: #f8f9fa;
--bs-gray-200: #e9ecef;
--bs-gray-300: #dee2e6;
--bs-gray-400: #ced4da;
--bs-gray-500: #adb5bd;
--bs-gray-600: #6c757d;
--bs-gray-700: #495057;
--bs-gray-800: #343a40;
--bs-gray-900: #212529;
--bs-primary: #0d6efd;
--bs-secondary: #6c757d;
--bs-success: #198754;
--bs-info: #0dcaf0;
--bs-warning: #ffc107;
--bs-danger: #dc3545;
--bs-light: #f8f9fa;
--bs-dark: #212529;
--bs-primary-rgb: 13, 110, 253;
--bs-secondary-rgb: 108, 117, 125;
--bs-success-rgb: 25, 135, 84;
--bs-info-rgb: 13, 202, 240;
--bs-warning-rgb: 255, 193, 7;
--bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41;
--bs-primary-text-emphasis: #052c65;
--bs-secondary-text-emphasis: #2b2f32;
--bs-success-text-emphasis: #0a3622;
--bs-info-text-emphasis: #055160;
--bs-warning-text-emphasis: #664d03;
--bs-danger-text-emphasis: #58151c;
--bs-light-text-emphasis: #495057;
--bs-dark-text-emphasis: #495057;
--bs-primary-bg-subtle: #cfe2ff;
--bs-secondary-bg-subtle: #e2e3e5;
--bs-success-bg-subtle: #d1e7dd;
--bs-info-bg-subtle: #cff4fc;
--bs-warning-bg-subtle: #fff3cd;
--bs-danger-bg-subtle: #f8d7da;
--bs-light-bg-subtle: #fcfcfd;
--bs-dark-bg-subtle: #ced4da;
--bs-primary-border-subtle: #9ec5fe;
--bs-secondary-border-subtle: #c4c8cb;
--bs-success-border-subtle: #a3cfbb;
--bs-info-border-subtle: #9eeaf9;
--bs-warning-border-subtle: #ffe69c;
--bs-danger-border-subtle: #f1aeb5;
--bs-light-border-subtle: #e9ecef;
--bs-dark-border-subtle: #adb5bd;
--bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
"Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
--bs-body-font-size: 1rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: #212529;
--bs-body-bg: #fff;
--bs-border-width: 1px;
--bs-border-radius: 0.375rem;
--bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem;
--bs-border-radius-xxl: 2rem;
--bs-border-radius-pill: 50rem;
--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
--bs-focus-ring-width: 0.25rem;
--bs-focus-ring-opacity: 0.25;
--bs-focus-ring-color: rgba(13, 110, 253, 0.25);
}/* Dark mode */
/* Bootstrap v5.3.7 (the information is current as of August 2025) */
[data-bs-theme="dark"] {
/* P11Accordion */
.accordion {
--bs-accordion-btn-icon: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'
viewBox='0 0 16 16' fill='none' stroke='%23dee2e6' stroke-linecap='round'
stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e);
--bs-accordion-btn-active-icon: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'
viewBox='0 0 16 16' fill='none' stroke='%236ea8fe' stroke-linecap='round'
stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e);
--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(110, 168, 254, 0.25);
}
/* P11AccordionNative */
.tpc-accordion-nativ {
--tpc-accordion-shadow: 0 0 0 rgba(0, 0, 0, 0.1);
}
.tpc-accordion-nativ > div {
--tpc-accordion-content-bg: #212529;
--tpc-accordion-content-color: #dee2e6;
}
/* P11Button - Base */
.btn {
--bs-btn-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
/* Solid Buttons */
.btn-primary {
--bs-btn-bg: #6ea8fe;
--bs-btn-border-color: #6ea8fe;
--bs-btn-hover-bg: #5a93e4;
--bs-btn-hover-border-color: #4d89e0;
--bs-btn-active-bg: #4d89e0;
--bs-btn-active-border-color: #3f7fdc;
--bs-btn-disabled-bg: #6ea8fe;
--bs-btn-disabled-border-color: #6ea8fe;
}
.btn-secondary {
--bs-btn-bg: #5a6268;
--bs-btn-border-color: #5a6268;
--bs-btn-hover-bg: #4a5156;
--bs-btn-hover-border-color: #42484d;
--bs-btn-active-bg: #42484d;
--bs-btn-active-border-color: #3a4044;
--bs-btn-disabled-bg: #5a6268;
--bs-btn-disabled-border-color: #5a6268;
}
.btn-success {
--bs-btn-bg: #1aa05c;
--bs-btn-border-color: #1aa05c;
--bs-btn-hover-bg: #168a4f;
--bs-btn-hover-border-color: #137a45;
--bs-btn-active-bg: #137a45;
--bs-btn-active-border-color: #106a3b;
}
.btn-danger {
--bs-btn-bg: #dc3545;
--bs-btn-border-color: #dc3545;
--bs-btn-hover-bg: #bb2d3b;
--bs-btn-hover-border-color: #a52834;
--bs-btn-active-bg: #a52834;
--bs-btn-active-border-color: #8f232e;
}
.btn-warning {
--bs-btn-bg: #ffc107;
--bs-btn-border-color: #ffc107;
--bs-btn-hover-bg: #e0a800;
--bs-btn-hover-border-color: #d39e00;
--bs-btn-active-bg: #d39e00;
--bs-btn-active-border-color: #c69500;
}
.btn-info {
--bs-btn-bg: #0dcaf0;
--bs-btn-border-color: #0dcaf0;
--bs-btn-hover-bg: #0da5d8;
--bs-btn-hover-border-color: #0b9bcc;
--bs-btn-active-bg: #0b9bcc;
--bs-btn-active-border-color: #0a91c0;
}
.btn-light {
--bs-btn-bg: #f8f9fa;
--bs-btn-border-color: #f8f9fa;
--bs-btn-hover-bg: #d3d4d5;
--bs-btn-hover-border-color: #c6c7c8;
--bs-btn-active-bg: #c6c7c8;
--bs-btn-active-border-color: #babbbc;
}
.btn-dark {
--bs-btn-bg: #212529;
--bs-btn-border-color: #212529;
--bs-btn-hover-bg: #373b3e;
--bs-btn-hover-border-color: #2c3034;
--bs-btn-active-bg: #2c3034;
--bs-btn-active-border-color: #212529;
}
/* Outline Buttons */
.btn-outline-primary {
--bs-btn-color: #6ea8fe;
--bs-btn-border-color: #6ea8fe;
--bs-btn-hover-bg: #6ea8fe;
--bs-btn-active-bg: #6ea8fe;
--bs-btn-disabled-color: #6ea8fe;
}
.btn-outline-secondary {
--bs-btn-color: #5a6268;
--bs-btn-border-color: #5a6268;
--bs-btn-hover-bg: #5a6268;
--bs-btn-active-bg: #5a6268;
--bs-btn-disabled-color: #5a6268;
}
/* Link Button */
.btn-link {
--bs-btn-color: #6ea8fe;
--bs-btn-hover-color: #8bb9fe;
--bs-btn-disabled-color: #5a6268;
}
/* P11Offcanvas */
.offcanvas {
--bs-offcanvas-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.3);
}
/* P11FloatingPanel */
.tpc-floating-panel {
--tpc-panel-bg: #1a1d20;
--tpc-panel-border: 3px solid #495057;
--tpc-panel-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
}
.tpc-floating-panel-header {
--tpc-panel-header-bg: #0d6efd;
--tpc-panel-header-color: #ffffff;
}
.tpc-floating-panel-content {
--tpc-panel-content-bg: #212529;
--tpc-panel-content-color: #dee2e6;
}
/* P11Modal */
.modal {
--bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.3);
}
/* P11ProgressBar */
.progress {
--bs-progress-bar-bg: #6ea8fe;
--bs-progress-bg: #343a40;
}
/* P11Toast */
.toast {
--bs-toast-bg: rgba(33, 37, 41, 0.95);
--bs-toast-border-color: rgba(255, 255, 255, 0.1);
}
}
/* ROOT (true-perfect-code) */
:root {
--tpc-accordion-content-bg: #212529;
--tpc-panel-bg: #343a40;
--tpc-panel-border: 3px solid #495057;
--tpc-panel-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
--tpc-panel-header-bg: #1a1d20;
--tpc-panel-header-color: #fff;
--tpc-panel-close-color: #fff;
--tpc-panel-close-hover-color: #dee2e6;
--tpc-panel-content-bg: #212529;
--tpc-panel-content-color: #dee2e6;
--bs-primary: #6ea8fe;
--bs-secondary: #adb5bd;
--bs-success: #75b798;
--bs-info: #6edff6;
--bs-warning: #ffda6a;
--bs-danger: #ea868f;
--bs-light: #f8f9fa;
--bs-dark: #212529;
--bs-primary-rgb: 110, 168, 254;
--bs-secondary-rgb: 173, 181, 189;
--bs-success-rgb: 117, 183, 152;
--bs-info-rgb: 110, 223, 246;
--bs-warning-rgb: 255, 218, 106;
--bs-danger-rgb: 234, 134, 143;
--bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41;
--bs-body-color: #dee2e6;
--bs-body-color-rgb: 222, 226, 230;
--bs-body-bg: #212529;
--bs-body-bg-rgb: 33, 37, 41;
--bs-emphasis-color: #fff;
--bs-emphasis-color-rgb: 255, 255, 255;
--bs-secondary-color: rgba(222, 226, 230, 0.75);
--bs-secondary-color-rgb: 222, 226, 230;
--bs-secondary-bg: #343a40;
--bs-secondary-bg-rgb: 52, 58, 64;
--bs-tertiary-color: rgba(222, 226, 230, 0.5);
--bs-tertiary-color-rgb: 222, 226, 230;
--bs-tertiary-bg: #2b3035;
--bs-tertiary-bg-rgb: 43, 48, 53;
--bs-primary-text-emphasis: #6ea8fe;
--bs-secondary-text-emphasis: #a7acb1;
--bs-success-text-emphasis: #75b798;
--bs-info-text-emphasis: #6edff6;
--bs-warning-text-emphasis: #ffda6a;
--bs-danger-text-emphasis: #ea868f;
--bs-light-text-emphasis: #f8f9fa;
--bs-dark-text-emphasis: #dee2e6;
--bs-primary-bg-subtle: #031633;
--bs-secondary-bg-subtle: #161719;
--bs-success-bg-subtle: #051b11;
--bs-info-bg-subtle: #032830;
--bs-warning-bg-subtle: #332701;
--bs-danger-bg-subtle: #2c0b0e;
--bs-light-bg-subtle: #343a40;
--bs-dark-bg-subtle: #1a1d20;
--bs-primary-border-subtle: #084298;
--bs-secondary-border-subtle: #41464b;
--bs-success-border-subtle: #0f5132;
--bs-info-border-subtle: #087990;
--bs-warning-border-subtle: #997404;
--bs-danger-border-subtle: #842029;
--bs-light-border-subtle: #495057;
--bs-dark-border-subtle: #343a40;
--bs-heading-color: inherit;
--bs-link-color: #6ea8fe;
--bs-link-hover-color: #8bb9fe;
--bs-link-color-rgb: 110, 168, 254;
--bs-link-hover-color-rgb: 139, 185, 254;
--bs-code-color: #e685b5;
--bs-highlight-color: #dee2e6;
--bs-highlight-bg: #664d03;
--bs-border-color: #495057;
--bs-border-color-translucent: rgba(255, 255, 255, 0.15);
--bs-form-valid-color: #75b798;
--bs-form-valid-border-color: #75b798;
--bs-form-invalid-color: #ea868f;
--bs-form-invalid-border-color: #ea868f;
}