/* Shared palette values are generated from config/branding.json. */
.platform-logo { display: inline-flex; align-items: center; max-width: 100%; width: 220px; height: 50px; flex-shrink: 1; }
.platform-logo img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; object-position: center; }
.platform-logo .brand-image-dark { display: none; }
[data-theme="dark"] .platform-logo .brand-image-light { display: none; }
[data-theme="dark"] .platform-logo .brand-image-dark { display: block; }
.side-bar-logo .platform-logo { width: min(200px, 100%); height: 48px; }
.side-bar-logo a, .pos-logo { background: transparent; border-color: transparent; }
.auth-brand .platform-logo { width: clamp(150px, 19vw, 220px); }
.footer-brand .platform-logo { width: 220px; }
.auth-brand, .brand-link { background: transparent; border-color: transparent; padding: 0; }
.auth-orb-two { background: radial-gradient(circle, var(--looma-accent) 0%, transparent 70%); }
.gradient-text { background-image: linear-gradient(110deg, var(--accent), var(--accent-deep)); }
.auth-page .auth-submit, .btn-primary, .theme-btn, .primary-btn, .primary-button, .popular-badge, .login-btn, .verify-btn, .bg-primary {
    background-color: var(--looma-accent); color: var(--looma-onAccent) !important;
}
.auth-page .auth-submit:hover, .btn-primary:hover, .primary-btn:hover, .primary-button:hover, .theme-btn:hover {
    background-color: var(--looma-accentPressed); color: var(--looma-onAccent) !important;
}
.auth-page .auth-submit, .auth-page .auth-submit:hover, .auth-page .submit-btn {
    box-shadow: 0 12px 30px color-mix(in srgb, var(--looma-accent) 24%, transparent);
    color: var(--looma-onAccent) !important;
}
.primary-button, .primary-button:hover { box-shadow: 0 12px 30px color-mix(in srgb, var(--looma-accent) 24%, transparent); }
.avatar-stack i { background-image: linear-gradient(135deg, var(--looma-accent), var(--looma-accentPressed)); }
.auth-field label, .form-label { color: var(--looma-textTertiary); }
.text-muted, .auth-caption, .form-text { color: var(--looma-textTertiary) !important; }
body, #main-wrapper { background-color: var(--looma-background); }
.side-bar-manu li a { color: var(--looma-navigationInactive); }
.side-bar-manu > ul > li.active > a, .side-bar-manu li:hover > a,
.side-bar-manu li .dropdown-menu li a.active {
    background: var(--looma-navigationSelected); color: var(--looma-navigationActive) !important; box-shadow: none;
}
@media (max-width: 380px) { .auth-brand .platform-logo { width: 140px; height: 38px; } }

/* Same four-dot activity language as Flutter OneUiLoader. */
.spinner-border {
  border: 0 !important;
  background: radial-gradient(circle at 50% 12%, currentColor 0 8%, transparent 9%),
    radial-gradient(circle at 88% 50%, currentColor 0 7%, transparent 8%),
    radial-gradient(circle at 50% 88%, currentColor 0 6%, transparent 7%),
    radial-gradient(circle at 12% 50%, currentColor 0 5%, transparent 6%);
  animation: looma-loader-orbit 1.15s linear infinite;
}
@keyframes looma-loader-orbit { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .spinner-border { animation: none; } }
