/* Cores principais do SumaTube */ :root { --suma-red: #cc0000; --suma-light-red: #e60000; --suma-dark-red: #990000; --suma-beige: #f5f5dc; --suma-light-gray: #f8f8f8; --suma-gray: #e0e0e0; --suma-dark-gray: #606060; --suma-black: #212121; } /* Estilos Gerais */ html, body { height: 100%; font-family: 'Roboto', 'Segoe UI', sans-serif; margin: 0; padding: 0; } body { background-color: var(--suma-light-gray); color: var(--suma-black); display: flex; flex-direction: column; min-height: 100vh; } .hide-body { display: none; } /* Barra de Navegação */ #nav-bar { background-color: var(--suma-red) !important; padding: 0.5rem 1rem; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); } .navbar-brand { font-size: 1.5rem; font-weight: 700; color: white !important; } .navbar-nav .nav-item { margin: 0 5px; } .navbar-nav .nav-item.active { background-color: rgba(255, 255, 255, 0.2); border-radius: 4px; } .navbar-nav .nav-link { padding: 8px 16px !important; border-radius: 3px; transition: all 0.2s ease; } .navbar-nav .nav-link:hover { background-color: rgba(255, 255, 255, 0.1); } .navbar-nav .nav-link.text-black { color: white !important; font-weight: 500; } /* Conteúdo principal */ main { flex: 1 0 auto; display: flex; flex-direction: column; } .container { padding: 20px 15px; max-width: 1280px; } /* Footer */ .footer { flex-shrink: 0; background-color: var(--suma-beige); color: var(--suma-dark-gray); padding: 20px 0; width: 100%; margin-top: auto; } /* Login container */ .login-container { max-width: 500px; margin: 60px auto; background-color: white; border-radius: 10px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); padding: 30px; text-align: center; } /* Seção de hero banner */ .hero-banner { background: linear-gradient(135deg, var(--suma-red), var(--suma-dark-red)); color: white; padding: 2.5rem 0; margin-bottom: 2rem; border-radius: 8px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15); position: relative; overflow: hidden; } .hero-banner::before { content: ''; position: absolute; top: -50%; right: -50%; width: 60%; height: 200%; background: rgba(255, 255, 255, 0.1); transform: rotate(-15deg); pointer-events: none; } .hero-banner h1 { font-weight: 700; font-size: 2.2rem; margin-bottom: 1rem; text-shadow: 0 2px 3px rgba(0, 0, 0, 0.2); } .hero-banner .lead { font-size: 1.15rem; font-weight: 300; margin-bottom: 1.5rem; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); } /* Botões */ .btn-primary, .btn-red { background-color: var(--suma-red) !important; border-color: var(--suma-dark-red) !important; padding: 8px 16px; border-radius: 4px; transition: all 0.2s ease; } .btn-primary:hover, .btn-red:hover { background-color: var(--suma-light-red) !important; transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); } .btn-hero { background-color: white; color: var(--suma-red); border: none; padding: 0.8rem 1.5rem; font-weight: 600; transition: all 0.3s ease; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); } .btn-hero:hover { transform: translateY(-2px); background-color: #f8f8f8; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25); color: var(--suma-dark-red); } /* Responsividade */ @media (max-width: 768px) { .hero-banner { padding: 2rem 0; text-align: center; } .hero-banner h1 { font-size: 1.8rem; } .btn-hero { display: block; width: 100%; } } /* Animações */ .pulse { animation: pulse 0.5s ease-in-out; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } /* Efeito de loading */ .loading { position: fixed; z-index: 9999; height: 2em; width: 2em; overflow: show; margin: auto; top: 0; left: 0; bottom: 0; right: 0; } .loading:before { content: ''; display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(245, 245, 220, 0.7); } .loading:not(:required):after { content: ''; display: block; font-size: 10px; width: 1em; height: 1em; margin-top: -0.5em; animation: spinner 1500ms infinite linear; border-radius: 0.5em; box-shadow: rgba(204, 0, 0, 0.75) 1.5em 0 0 0, rgba(204, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(204, 0, 0, 0.75) 0 1.5em 0 0, rgba(204, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(204, 0, 0, 0.75) -1.5em 0 0 0, rgba(204, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(204, 0, 0, 0.75) 0 -1.5em 0 0, rgba(204, 0, 0, 0.75) 1.1em -1.1em 0 0; } /* Animação do spinner */ @keyframes spinner { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }