/* VetChip UI Foundation — authenticated shell and responsive navigation. */
.vc-public-return{max-width:1180px;margin:0 auto var(--vc-space-4);display:flex;justify-content:space-between;gap:var(--vc-space-3);align-items:center;padding:0 var(--vc-space-4)}
.vc-public-return a{color:var(--vc-color-brand);font-weight:700;text-decoration:none;min-height:var(--vc-control-min-height);display:inline-flex;align-items:center}
.vc-public-return #installAppButton{min-height:var(--vc-control-min-height);padding:9px 13px;font-size:var(--vc-font-size-sm)}
.vc-network-status{max-width:1180px;margin:0 auto var(--vc-space-4);padding:var(--vc-space-3) var(--vc-space-4);border-radius:var(--vc-radius-sm);background:var(--vc-color-info-soft);color:var(--vc-color-text);border:1px solid var(--vc-color-border)}
.vc-app-header{display:flex;align-items:center;gap:var(--vc-space-4);flex-wrap:wrap;margin-bottom:var(--vc-space-4)}
.vc-app-header h1{margin:0}
.vc-app-brand{appearance:none;border:0;background:transparent;color:inherit;display:inline-flex;align-items:center;gap:10px;min-height:var(--vc-control-min-height);padding:4px 6px;border-radius:var(--vc-radius-sm);font-size:inherit;font-weight:800;cursor:pointer}
.vc-app-brand img{display:block;width:44px;height:44px}
.vc-app-header .subtitle{margin:0;color:var(--vc-color-text-muted);flex:1 1 260px}
.vc-app-header #btnLogout{display:none}
.vc-user-welcome{background:var(--vc-color-surface-muted);padding:10px 15px;border-radius:var(--vc-radius-sm);font-weight:650;font-size:14px;color:var(--vc-color-brand)}
.vc-plan-capacity{margin-bottom:var(--vc-space-4);padding:var(--vc-space-3) var(--vc-space-4);border:1px solid var(--vc-color-border);border-radius:var(--vc-radius-sm);background:var(--vc-color-surface);color:var(--vc-color-text);font-size:var(--vc-font-size-sm)}
.vc-notice-trigger-wrap{display:flex;align-items:center}
.vc-notice-trigger{min-height:var(--vc-control-min-height);padding:10px 16px;border:1px solid var(--vc-color-border);border-radius:var(--vc-radius-sm);background:var(--vc-color-surface);color:var(--vc-color-brand);font-size:15px;cursor:pointer}

.vc-app #appContent{padding:0}
.vc-app #vxLayout{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:72vh;align-items:start;border-radius:var(--vc-radius-lg);overflow:clip;background:var(--vc-color-surface);box-shadow:var(--vc-shadow-sm)}
.vc-app #vxSidebar{background:var(--vc-color-brand);color:var(--vc-color-on-brand);padding:calc(var(--vc-space-6) + env(safe-area-inset-top,0px)) var(--vc-space-4) calc(var(--vc-space-6) + env(safe-area-inset-bottom,0px));position:sticky;top:0;min-height:72vh;align-self:stretch;box-sizing:border-box}
.vc-app .vx-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--vc-space-3);margin-bottom:var(--vc-space-4)}
.vc-app #vxMenuTitle{color:var(--vc-color-surface-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;margin:0 12px}
.vc-app #vxSidebar .app-nav{position:static;display:flex;flex-direction:column;gap:4px;overflow:visible;margin:0;padding:0;border-radius:0;box-shadow:none;background:transparent}
.vc-app #vxSidebar .vc-nav-group-label{margin:15px 12px 5px;color:var(--vc-color-surface-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.vc-app #vxSidebar .vc-nav-group-label:first-child{margin-top:0}
.vc-app #vxSidebar .app-nav button{width:100%;min-height:var(--vc-control-min-height);margin:0;padding:11px 14px;text-align:left;font-size:14px;line-height:1.35;border-radius:var(--vc-radius-sm);border:1px solid transparent;background:transparent;color:var(--vc-color-surface);cursor:pointer}
.vc-app #vxSidebar .app-nav button:hover:not(:disabled){background:var(--vc-color-brand-hover);color:var(--vc-color-on-brand)}
.vc-app #vxSidebar .app-nav button.active,.vc-app #vxSidebar .app-nav button[aria-current=page]{background:var(--vc-color-brand-soft);color:var(--vc-color-brand-soft-text);font-weight:750;border-color:var(--vc-color-border)}
.vc-app #vxSidebar button:focus-visible,.vc-app #vxMenuToggle:focus-visible,.vc-app #vxCloseMenu:focus-visible,.vc-app #centralAvisos button:focus-visible,.vc-app .vc-app-brand:focus-visible{outline:0;box-shadow:var(--vc-focus-ring)}
.vc-app #vxSidebar #btnLogout.vx-logout{position:static;inset:auto;float:none;background:var(--vc-color-danger-soft);color:var(--vc-color-danger);border-color:var(--vc-color-danger);font-weight:700}
.vc-app #vxSidebar #btnLogout.vx-logout:hover{background:var(--vc-color-danger);color:var(--vc-color-on-brand)}
.vc-app .vx-sidebar-note{font-size:12px;color:var(--vc-color-surface-muted);line-height:1.6;padding:var(--vc-space-4) 12px 0;margin-top:var(--vc-space-6);border-top:1px solid var(--vc-color-brand-hover)}
.vc-app #vxWorkspace{padding:0 28px 36px;min-width:0;background:var(--vc-color-surface)}
.vc-app #vxWorkspace .vc-account-toolbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;flex-wrap:wrap;gap:var(--vc-space-3);margin:0 -28px 22px;padding:calc(12px + env(safe-area-inset-top,0px)) 28px 12px;background:var(--vc-color-surface);border-bottom:1px solid var(--vc-color-border)}
.vc-app #vxWorkspace #btnAvisos{position:static;white-space:nowrap}
.vc-app #vxWorkspace .vc-account-toolbar>div{margin:0}
.vc-app #vxWorkspace #userWelcome{margin:0 auto 0 0;max-width:100%;white-space:normal}
.vc-app #vxMenuToggle{display:grid;place-items:center;width:44px;min-width:44px;min-height:var(--vc-control-min-height);background:var(--vc-color-brand-soft);color:var(--vc-color-brand-soft-text);border:1px solid var(--vc-color-border);padding:9px;border-radius:var(--vc-radius-sm)}
.vc-app .vx-menu-icon{display:grid;gap:4px;width:20px}.vc-app .vx-menu-icon i{display:block;width:20px;height:2px;border-radius:2px;background:currentColor}
.vc-app #vxMenuToggle[hidden],.vc-app #vxCloseMenu[hidden]{display:none}
.vc-app #vxCloseMenu{min-height:var(--vc-control-min-height);color:var(--vc-color-on-brand);background:var(--vc-color-brand-hover);border:1px solid var(--vc-color-border);border-radius:var(--vc-radius-sm);font-size:12px;padding:10px}
.vc-app #vxWorkspace .app-context{padding-top:0}.vc-app #vxWorkspace .app-context h2{font-size:27px;line-height:1.25;color:var(--vc-color-brand)}

/* Mechanics are shared with organizacao.js; appearance lives here. */
.vc-app #vxMenuDialog{padding:0;border:0;margin:0 auto 0 0;max-width:94vw;width:300px;max-height:none;height:100dvh;background:var(--vc-color-brand);overflow:hidden;overscroll-behavior:contain;touch-action:pan-y;transform:translateX(-100%);opacity:0;transition:transform var(--vc-motion-medium) var(--vc-ease),opacity var(--vc-motion-fast) ease-out;will-change:transform,opacity}
.vc-app #vxMenuDialog.vx-panel-visible{transform:translateX(0);opacity:1}
.vc-app #vxMenuDialog::backdrop{background:var(--vc-color-backdrop);opacity:0;transition:opacity var(--vc-motion-fast) ease-out}
.vc-app #vxMenuDialog.vx-panel-visible::backdrop{opacity:1}
.vc-app #vxMenuDialog #vxSidebar{height:100dvh;min-height:100dvh;position:static;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding-top:calc(var(--vc-space-4) + env(safe-area-inset-top,0px));padding-bottom:calc(var(--vc-space-6) + env(safe-area-inset-bottom,0px));scrollbar-gutter:stable}
.vc-app #centralAvisos{position:fixed;z-index:1202;top:76px;right:24px;bottom:auto;left:auto;width:min(420px,calc(100vw - 48px));height:auto;max-height:min(680px,calc(100dvh - 100px));overflow:auto;margin:0;border:1px solid var(--vc-color-border);border-radius:18px;padding:20px;background:var(--vc-color-surface);color:var(--vc-color-text);box-shadow:var(--vc-shadow-lg);overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;transform:translateY(-10px) scale(.985);transform-origin:top right;opacity:0;transition:transform var(--vc-motion-medium) var(--vc-ease),opacity var(--vc-motion-fast) ease-out;will-change:transform,opacity;box-sizing:border-box}
.vc-app #centralAvisos.vx-panel-visible{transform:translateY(0) scale(1);opacity:1}.vc-app #centralAvisos[hidden]{display:none}.vc-app #centralAvisos h2{margin-top:0;color:var(--vc-color-brand)}
.vc-notice-actions{display:flex;gap:var(--vc-space-2);flex-wrap:wrap;margin-bottom:var(--vc-space-4)}
.vc-app #vxNoticeBackdrop{position:fixed;z-index:1201;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;cursor:default;opacity:1}.vc-app #vxNoticeBackdrop[hidden]{display:none}

@media(max-width:900px){
  .vc-app #centralAvisos{top:auto;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:12px;width:auto;height:auto;max-height:min(72dvh,640px);padding:18px;border-radius:18px;transform:translateY(24px);transform-origin:center bottom}
  .vc-app #centralAvisos.vx-panel-visible{transform:translateY(0)}
  .vc-app #vxLayout{display:block;border-radius:0}.vc-app #vxWorkspace{padding:0 20px 30px}.vc-app .container{overflow:visible}
  .vc-app #vxWorkspace .vc-account-toolbar{margin:0 -20px 18px;padding-left:20px;padding-right:20px;gap:8px}
  .vc-app #vxWorkspace #userWelcome{font-size:12px}.vc-app #vxWorkspace .app-context h2{font-size:25px}
}
@media(max-width:700px){.vc-public-return,.vc-network-status{margin-left:var(--vc-space-3);margin-right:var(--vc-space-3)}.vc-app-header{align-items:flex-start}.vc-app-header .subtitle{flex-basis:100%}}
@media(max-width:480px){.vc-app #vxWorkspace{padding:0 14px 24px}.vc-app #vxWorkspace .vc-account-toolbar{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.vc-app #vxWorkspace #userWelcome{flex:1}.vc-app #vxWorkspace #btnAvisos{font-size:12px;padding:10px}.vc-app #centralAvisos{width:94vw}}
@media(prefers-reduced-motion:reduce){.vc-app #vxMenuDialog,.vc-app #vxMenuDialog::backdrop,.vc-app #centralAvisos,.vc-app #vxNoticeBackdrop{transition:none}}
@media print{#vxSidebar,#vxMenuToggle,#vxMenuDialog,#vxNoticeBackdrop,#centralAvisos,#compartilharAnimal{display:none}#vxLayout{display:block}#vxWorkspace{padding:0}}
