/* Menu lateral tipo gaveta + conteúdo com max-width 1920px */
body { margin: 0; }
.app-layout { max-width: 1920px; margin: 0 auto; min-height: 100vh; position: relative; }
.drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9998; opacity: 0; visibility: hidden; transition: opacity 0.2s, visibility 0.2s; }
.drawer-overlay.open { opacity: 1; visibility: visible; }
.drawer { position: fixed; top: 0; left: 0; width: 280px; max-width: 85vw; height: 100vh; background: #fff; box-shadow: 4px 0 20px rgba(0,0,0,0.15); z-index: 9999; transform: translateX(-100%); transition: transform 0.25s ease; overflow-y: auto; }
.drawer.open { transform: translateX(0); }
.drawer-header { padding: 1rem 1.25rem; border-bottom: 1px solid #eee; display: flex; align-items: center; justify-content: space-between; }
.drawer-header h2 { margin: 0; font-size: 1.1rem; font-weight: 600; }
.drawer-close { background: none; border: none; cursor: pointer; padding: 0.35rem; font-size: 1.5rem; line-height: 1; color: #666; }
.drawer-close:hover { color: #000; }
.drawer-nav { padding: 0.75rem 0; }
.drawer-nav section { margin-bottom: 0.5rem; }
.drawer-nav .nav-title { padding: 0.35rem 1.25rem; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: #888; }
.drawer-nav a { display: block; padding: 0.5rem 1.25rem; color: #333; text-decoration: none; font-size: 0.9rem; }
.drawer-nav a:hover { background: #f5f5f5; color: #0066cc; }
.drawer-nav a.active { background: #e8f0fe; color: #0066cc; font-weight: 500; }
.menu-trigger { position: fixed; top: 0.75rem; left: 0.75rem; z-index: 10000; background: #fff; border: 1px solid #ddd; border-radius: 8px; padding: 0.5rem 0.75rem; cursor: pointer; font-size: 0.9rem; box-shadow: 0 1px 4px rgba(0,0,0,0.1); display: inline-flex; align-items: center; gap: 0.35rem; }
.menu-trigger:hover { background: #f8f8f8; border-color: #ccc; }
.menu-trigger svg { width: 20px; height: 20px; }
.main-content { padding: 0 1rem 2rem; padding-top: 3.25rem; }
