/* Shared Elastic adapter: neutral navigation, branded actions, mode-safe chrome. */
:root { --brand-primary:#2f6bff; --brand-primaryHover:#2558d8; --brand-background:#f2f7f4; --brand-surface:#ffffff; --brand-radius:6px; --brand-on-primary:#ffffff; --brand-on-primaryHover:#ffffff; --brand-on-background:#000000; --brand-on-surface:#000000; --gestodo-footer-height:40px; }
.btn-primary, button.mainaction, input.button.mainaction, a.button.mainaction { background-color:var(--brand-primary) !important; border-color:var(--brand-primary) !important; color:var(--brand-on-primary) !important; border-radius:var(--brand-radius); }
.btn-primary:hover, .button.mainaction:hover { background-color:var(--brand-primaryHover) !important; border-color:var(--brand-primaryHover) !important; color:var(--brand-on-primaryHover) !important; }
html:not(.dark-mode) body.task-login { background:var(--brand-background); color:var(--brand-on-background); }
html:not(.dark-mode) #login-form { background:var(--brand-surface); color:var(--brand-on-surface); border-radius:var(--brand-radius); }
html.dark-mode body.task-login, html.dark-mode #login-form { background:#21292c; color:#e5ecef; }
/* Apply navigation colors only to the desktop rail; mobile keeps Elastic's menu. */
@media (min-width:481px) {
 body.gestodo-brand-shell #layout-menu { position:relative; }
 #layout-menu, #layout-menu .popover-header, #taskmenu .special-buttons { background:#f5f7fa !important; }
 #taskmenu a { color:#334155; }
 #taskmenu a:hover { color:#111827; background:#e2e8f0; }
 #taskmenu a.selected, #taskmenu .action-buttons a { color:var(--brand-on-primary) !important; background:var(--brand-primary); }
 #taskmenu a.selected:hover, #taskmenu .action-buttons a:hover { color:var(--brand-on-primaryHover) !important; background:var(--brand-primaryHover); }
 html.dark-mode #layout-menu, html.dark-mode #layout-menu .popover-header, html.dark-mode #taskmenu .special-buttons { background:#1b2226 !important; }
 html.dark-mode #taskmenu a { color:#d6e0e5; }
 html.dark-mode #taskmenu a:hover { color:#ffffff; background:#37474f; }
 html.dark-mode #taskmenu a.selected, html.dark-mode #taskmenu .action-buttons a { color:var(--brand-on-primary) !important; background:var(--brand-primary); }
 html.dark-mode #taskmenu a.selected:hover, html.dark-mode #taskmenu .action-buttons a:hover { color:var(--brand-on-primaryHover) !important; background:var(--brand-primaryHover); }
 #taskmenu a.logout { color:#b42318 !important; }
 html.dark-mode #taskmenu a.logout { color:#ff958c !important; }
}
body.gestodo-brand-shell > #layout { height:calc(100% - var(--gestodo-footer-height)); }
#gestodo-powered-footer { position:fixed; bottom:0; left:0; right:0; height:var(--gestodo-footer-height); display:flex; align-items:center; justify-content:center; gap:28px; padding:4px 12px; background:#f5f7fa; border-top:1px solid #dbe1e8; color:#475569; font-size:12px; z-index:100; box-sizing:border-box; }
#gestodo-powered-footer a { display:inline-flex; align-items:center; gap:7px; color:inherit; text-decoration:none; white-space:nowrap; }
#gestodo-powered-footer a:hover { color:#111827; text-decoration:underline; }
#gestodo-powered-footer a:focus-visible { outline:2px solid currentColor; outline-offset:3px; border-radius:3px; }
#gestodo-powered-footer img { width:24px; height:24px; object-fit:contain; background:#ffffff; border-radius:50%; }
html.dark-mode #gestodo-powered-footer { background:#1b2226; border-color:#3a4a52; color:#c8d4dc; }
html.dark-mode #gestodo-powered-footer a:hover { color:#ffffff; }
@media (max-width:480px) { #gestodo-powered-footer { gap:12px; font-size:10px; padding:4px 6px; } #gestodo-powered-footer a { gap:4px; } #gestodo-powered-footer img { width:20px; height:20px; } }
@media print { #gestodo-powered-footer { display:none; } body.gestodo-brand-shell > #layout { height:100%; } }
