:root { --primary-color: #FFD300; --dark-bg: #111111; --light-bg: #f4f6f8; --text-color: #333333; --border-color: #cccccc; --card-bg: #ffffff; --accent-red: #ff4d4d; --success-color: #2ecc71; }
        * { box-sizing: border-box; margin: 0; padding: 0; font-family: 'Arial', sans-serif; }
        body { background-color: var(--light-bg); color: var(--text-color); padding-top: 90px; }
        header { background-color: var(--dark-bg); color: white; padding: 12px 30px; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 2px 4px rgba(0,0,0,0.1); position: fixed; width: 100%; top: 0; z-index: 1000; }
        .logo-container img { height: 40px; width: auto; display: block; }
        main { padding: 20px; max-width: 900px; width: 100%; margin: 0 auto; }
        .brief-card { background: var(--card-bg); padding: 30px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); margin-bottom: 50px; }
        .branding-header-block { display: flex; flex-direction: column; gap: 15px; margin-bottom: 25px; padding-bottom: 20px; border-bottom: 3px solid var(--primary-color); }
        .client-logo-box { height: 60px; display: flex; align-items: center; justify-content: flex-start; }
        .client-logo-box img { max-height: 100%; object-fit: contain; }
        h2 { font-size: 16px; color: #111111; margin: 35px 0 15px 0; padding-bottom: 4px; border-bottom: 2px solid var(--primary-color); text-transform: uppercase; letter-spacing: 0.5px; }
        .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
        .grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 15px; }
        .form-group { margin-bottom: 18px; display: flex; flex-direction: column; page-break-inside: avoid; }
        label { font-size: 13px; font-weight: bold; margin-bottom: 6px; color: #2c3e50; }
        .tag-critico { display: inline-block; font-size: 9px; text-transform: uppercase; padding: 1px 5px; border-radius: 3px; font-weight: bold; margin-bottom: 4px; width: fit-content; background-color: #ffebee; color: var(--accent-red); }
        input[type="text"], input[type="date"], select, textarea { width: 100%; padding: 10px; border: 1px solid var(--border-color); border-radius: 4px; font-size: 14px; background-color: #ffffff; color: #333333; }
        textarea { resize: vertical; min-height: 65px; }
        
        /* Contenedor de Checkboxes en Línea */
        .checkbox-group { display: flex; gap: 20px; padding: 5px 0; }
        .checkbox-item { display: flex; align-items: center; gap: 6px; font-size: 14px; cursor: pointer; }
        .checkbox-item input[type="checkbox"] { width: 16px; height: 16px; cursor: pointer; }

        /* Contenedor dinámico de entregables */
        .sub-area-block { background-color: #fafbfc; border-left: 3px solid var(--dark-bg); padding: 12px; margin-top: 10px; border-radius: 0 4px 4px 0; }

        .print-text-output { display: none; font-size: 13px; color: #111111; line-height: 1.4; white-space: pre-wrap; margin-top: 2px; }
        
        .action-bar { display: flex; justify-content: flex-end; gap: 12px; margin-top: 30px; padding-top: 20px; border-top: 2px solid var(--dark-bg); }
        .btn-action { padding: 12px 24px; font-size: 14px; font-weight: bold; border-radius: 4px; cursor: pointer; border: none; }
        .btn-secondary { background-color: #e0e0e0; color: #333; }
        .btn-primary { background-color: var(--dark-bg); color: white; }
        .btn-success { background-color: var(--success-color); color: white; }
        .hidden { display: none !important; }
        
        @media print {
            header, .action-bar, input, select, textarea, .checkbox-group, #i-selector-area { display: none !important; }
            body { background-color: #ffffff !important; padding-top: 0 !important; color: #111111 !important; }
            main { padding: 0 !important; max-width: 100% !important; }
            .brief-card { box-shadow: none !important; padding: 0 !important; }
            
            /* SOLUCIÓN AL SALTO DE PÁGINA (Un chacho y un chacho) */
            .brief-card, .fase-view-segment { page-break-inside: auto !important; }
            .form-group { page-break-inside: avoid !important; page-break-after: auto !important; }
            
            .fase-view-segment { display: block !important; }
            .print-text-output { display: block !important; }
            .print-pdf-header { display: flex !important; justify-content: space-between; align-items: center; background-color: #111111 !important; padding: 10px 15px !important; margin-bottom: 15px !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
            h2 { font-size: 14px; margin: 25px 0 8px 0; page-break-after: avoid; border-bottom: 1px solid #111111; }
            label { font-size: 12px; }
            .sub-area-block { background: none !important; padding: 0 !important; border-left: none !important; margin-top: 5px; }
        }