
:root{
--system-color: #00aa20; --system-color-rgb: 0, 170, 32; --system-color-hover: #91ce00; --system-color-hover-rgb: 145, 206, 0; }

/* Vertikale Navbar — alle Icons auf dieselbe Breite ziehen, sonst wandern die
   Labels je nach Icon-Glyphe nach rechts/links. inline-block + feste width +
   text-align center = alles saubere Spalte. Greift auch fuer verschachtelte
   <span>-Varianten (z. B. Clients: <span class="nav-link-icon"><span class="fas …"></span></span>). */
.navbar-vertical .nav-link-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.25em;
	min-width: 1.25em;
	text-align: center;
	flex-shrink: 0;
}

/* Preloader-Overlay — Markup liegt in tpl/navbar-vertical.php. Ring + Logo
   werden dort inline per SVG eingebettet; hier nur Layout + Animationen. */
#preloaderdailybuddy {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
}
[data-bs-theme=light] #preloaderdailybuddy { background: #f5f7fa; }
[data-bs-theme=dark]  #preloaderdailybuddy { background: #0f111a; }

.sb-preloader-ring {
	position: relative;
	width: 120px; height: 120px;
}
.sb-preloader-ring-svg {
	position: absolute;
	inset: 0;
	transform: rotate(-90deg); /* Progress startet oben, nicht rechts */
}
.sb-preloader-ring-svg circle {
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	animation: sbPreloaderRingDraw 2.4s cubic-bezier(.65,.0,.35,1) infinite;
}
@keyframes sbPreloaderRingDraw {
	0%   { stroke-dashoffset: 100; opacity: 1; }
	60%  { stroke-dashoffset: 0;   opacity: 1; }
	85%  { stroke-dashoffset: 0;   opacity: 1; }
	100% { stroke-dashoffset: 0;   opacity: 0; }
}

.sb-preloader-logo {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	filter: drop-shadow(0 6px 18px rgba(0,0,0,.15));
	animation: sbPreloaderBuild 2.4s cubic-bezier(.65,.0,.35,1) infinite;
}
.sb-preloader-logo svg { display: block; }

@keyframes sbPreloaderBuild {
	0%   { clip-path: inset(100% 0 0 0); opacity: 0; transform: scale(.92); }
	35%  { clip-path: inset(0 0 0 0);    opacity: 1; transform: scale(1);    }
	75%  { clip-path: inset(0 0 0 0);    opacity: 1; transform: scale(1);    }
	100% { clip-path: inset(0 0 0 0);    opacity: 0; transform: scale(1.03); }
}

.btn-primary, .tox .tox-dialog__footer .tox-button:last-child, .tox .tox-button {
--phoenix-btn-bg: #00aa20 !important; --phoenix-btn-disabled-bg: #00aa20 !important; --phoenix-btn-hover-bg: #91ce00 !important; }

.accordion-button:not(.collapsed), .linkmaincolor, .avatar .avatar-name, [data-bs-theme=light] .nav-link:hover, [data-bs-theme=light] .navbar-vertical .navbar-vertical-content .navbar-nav .nav-link.active, .text-primary, .navbar-vertical-collapsed .navbar-vertical.navbar-expand-lg .nav-item-wrapper:has(.active) .label-1 .nav-link-icon {
color: #00aa20 !important; }
[data-bs-theme=light] .nav-item a:hover, .nav-underline .nav-link.active, [data-bs-theme=light] .nav-underline .nav-link.active:hover, .nav-underline .show>.nav-link{
color: #91ce00 !important; }

.form-control:focus, .is-focused .choices__inner, .is-open .choices__inner {
border-color: #00aa20 !important; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0),
inset 0 0 0 30px var(--phoenix-emphasis-bg),
0 0 0 .25rem rgba(145, 206, 0, 0.25); }

.bg-systemcolor, swal2-timer-progress-bar, .form-check-input:checked, .nav-pills .nav-link.active, .nav-pills .show>.nav-link, .choices .choices__list--dropdown .choices__item--selectable.is-highlighted, [data-list] li.active .page, .table-list li.active .page{
background-color: #00aa20 !important; }

.border-primary, .form-check-input:checked{
border-color: #00aa20 !important; }

[data-bs-theme=light] .nav{
--phoenix-nav-link-color: #00aa20 !important; }

[data-bs-theme=light] .nav-link.active:hover, [data-bs-theme=light] .nav-link active{
color: #fff !important;
}