/* ============================================
   LAYOUT & GRID
   ============================================ */

.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
}

/* Header */
.app-header {
    text-align: center;
    padding: 40px 20px;
}

.app-title {
    font-size: clamp(1.8rem, 5vw, 2.5rem);
    font-weight: 700;
    margin-bottom: 10px;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.app-subtitle {
    color: var(--text-light);
    font-size: 1.1rem;
}

/* Grid Principal */
.app-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 30px;
    align-items: start;
}

/* Responsivo */
@media (max-width: 1024px) {
    .app-layout {
        grid-template-columns: 1fr;
    }
    
    .preview-container {
        position: relative;
        top: 0;
    }
}

@media (max-width: 640px) {
    .container {
        padding: 15px;
    }
    
    .app-header {
        padding: 20px 15px;
    }
}