:root { --app-dark:#212529; --app-bg:#f4f5f7; --app-border:#d9dde2; }
.app-swal-actions { width:calc(100% - 3rem); justify-content:flex-end !important; gap:.5rem; }
.app-swal-actions button { margin:0 !important; }
.cadastro-card { transition:border-color .15s,box-shadow .15s; }
.cadastro-card:hover,.cadastro-card:focus-visible { border-color:#86b7fe; box-shadow:0 4px 16px #00000012; }
.produtos-page #tabela-produtos td:last-child { text-align:center; }
body { color:#212529; background:var(--app-bg); padding-bottom:68px; }
.public-header,.app-navbar { background:var(--app-dark); color:#fff; min-height:64px; }
.public-header-content,.app-navbar-content { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:64px; }
.public-brand { display:flex; align-items:center; gap:10px; font-weight:700; font-size:1.1rem; color:#fff; text-decoration:none; }
.public-brand i { color:#f5c65d; }
.public-nav { display:flex; align-items:center; gap:24px; }
.public-nav>a { color:#fff; text-decoration:none; }
.site-footer { position:fixed; bottom:0; left:0; right:0; z-index:1020; background:var(--app-dark); color:#fff; min-height:52px; padding:12px 16px; display:flex; align-items:center; justify-content:center; gap:12px; font-size:.85rem; }
.footer-whatsapp { color:#25d366; text-decoration:none; }
.environment-badge { position:absolute; right:12px; font-size:.75rem; }
.app-navbar-content { padding:0 24px; }
.app-navigation { display:flex; gap:4px; align-items:center; list-style:none; padding:0; margin:0; }
.app-menu { display:flex; gap:4px; align-items:center; list-style:none; padding:0; margin:0; }
.app-menu-link { position:relative; display:inline-flex; align-items:center; padding:9px 8px; text-decoration:none; color:#cbd0d5; font-size:.9rem; white-space:nowrap; transition:color .15s ease; }
.app-menu-link.dropdown-toggle::after { margin-left:6px; }
.app-menu-link:hover,.app-menu-link:focus { color:#fff; background:transparent; }
.app-menu-link.active { color:#fff; font-weight:600; }
.app-menu-link.active::before { content:""; position:absolute; right:9px; bottom:2px; left:9px; height:2px; border-radius:2px; background:#fff; }
.app-navbar .dropdown-menu { min-width:180px; margin-top:8px !important; padding:6px; border:1px solid #c9ced4; border-radius:10px; background:#fff; box-shadow:0 8px 24px #0000002e; }
.app-navbar .dropdown-item { padding:8px 11px; border-radius:6px; color:#212529; font-size:.9rem; }
.app-navbar .dropdown-item:hover,.app-navbar .dropdown-item:focus { background:#f0f2f5; color:#212529; }
.app-navbar .dropdown-item.active,.app-navbar .dropdown-item:active { background:#e8eaed; color:#212529; font-weight:600; }
.app-avatar { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:#6c757d; color:#fff; font-weight:600; }
.app-user-button { color:#fff; display:flex; align-items:center; gap:8px; border:0; background:none; }
.app-navbar .app-user-menu { min-width:230px; }
.app-user-menu .dropdown-divider { margin:6px 4px; border-color:#d5d9de; }
.app-main { padding:24px; max-width:1600px; margin:auto; }
.app-main>.container { max-width:none; padding:0; }
.app-main h2 { font-size:1.6rem; font-weight:600; margin-top:0; }
.app-main .card { border:1px solid var(--app-border); border-radius:8px; box-shadow:0 2px 5px #00000008; }
.app-main .card-header { background:white; }
.app-main .table { background:#fff; }
.app-mobile-toggle { display:none; color:white; border:1px solid #ffffff50; }
@media (max-width:1100px) { .environment-badge { position:static; } .site-footer { flex-wrap:wrap; } }
@media (max-width:850px) { .app-mobile-toggle { display:block; } .app-navbar-content { flex-wrap:wrap; padding:12px 16px; gap:12px; } .app-navigation { display:none; flex-direction:column; align-items:stretch; order:3; width:100%; } .app-navigation.show { display:flex; } .app-main { padding:16px; } .site-footer { font-size:.75rem; gap:8px; } body { padding-bottom:94px; } }
@media (max-width:850px) { .app-menu { flex-direction:column; align-items:stretch; width:100%; } }
