/* Base Styles */ :root { --primary-color: #4a6fa5; /* Azul moderado frío */ --secondary-color: #5d9b9b; /* Verde-azulado suave */ --danger-color: #d32f2f; /* Rojo frío más intenso */ --warning-color: #c47c00; /* Ámbar frío oscuro */ --success-color: #88c3a5; /* Verde menta frío */ --text-color: #4a5563; /* Gris azulado oscuro */ --light-text: #6b7683; /* Gris azulado medio */ --bg-color: #ffffff; /* Blanco puro */ --light-bg: #f8fafc; /* Gris azulado muy claro */ --border-color: #d1dde9; /* Borde gris-azulado claro */ --hover-color: #e9f2f8; /* Azul muy claro */ --active-color: #d8e4f0; /* Azul claro medio */ --box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 0; padding: 0; color: var(--text-color); line-height: 1.6; background-color: var(--dark-bg); } h1, h2, h3, h4 { color: var(--primary-color); margin-top: 0.5em; margin-bottom: 0.5em; } /* Tab Navigation */ .tab-container { display: flex; flex-wrap: wrap; background-color: var(--darker-bg); border-bottom: 1px solid var(--border-color); position: sticky; top: 0; z-index: 100; box-shadow: var(--box-shadow); } .tab-button { padding: 12px 18px; cursor: pointer; background: none; border: none; border-bottom: 3px solid transparent; font-weight: 500; transition: all 0.3s ease; color: var(--text-color); } .tab-button:hover { background-color: var(--hover-color); color: var(--primary-color); } .tab-button.active { border-bottom: 3px solid var(--primary-color); background-color: var(--light-bg); color: var(--primary-color); } /* Tab Content */ .tab-content { display: none; padding: 20px; animation: fadeIn 0.3s ease; background-color: var(--dark-bg); } .tab-content.active { display: block; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } /* Forms and Inputs */ input, select, textarea { padding: 10px 14px; border: 1px solid var(--border-color); border-radius: 6px; margin: 5px 0; font-family: inherit; background-color: var(--light-bg); color: var(--text-color); transition: all 0.3s ease; } input:focus, select:focus, textarea:focus { outline: none; border-color: var(--primary-color); box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.2); } button { padding: 10px 18px; background-color: var(--primary-color); color: white; border: none; border-radius: 6px; cursor: pointer; transition: all 0.3s ease; font-weight: 500; } button:hover { background-color: #357abd; transform: translateY(-1px); } .add-btn { background-color: var(--secondary-color); } .add-btn:hover { background-color: #27ae60; } .delete-btn, .remove-btn { background-color: var(--danger-color); color: white; border: none; border-radius: 4px; padding: 4px 8px; cursor: pointer; font-size: 0.8em; } .delete-btn:hover, .remove-btn:hover { background-color: #c0392b; } /* Tables */ table { width: 100%; border-collapse: collapse; margin: 15px 0; box-shadow: var(--box-shadow); background-color: var(--light-bg); border-radius: 8px; overflow: hidden; } th, td { padding: 12px 16px; border: 1px solid var(--border-color); text-align: left; } th { background-color: var(--darker-bg); font-weight: 600; color: var(--primary-color); } tr:nth-child(even) { background-color: var(--hover-color); } .total-row { font-weight: bold; background-color: var(--darker-bg); color: var(--secondary-color); } /* FODA Lists */ ul { list-style-type: none; padding: 0; } li { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; margin: 8px 0; background-color: var(--light-bg); border: 1px solid var(--border-color); border-radius: 6px; box-shadow: var(--box-shadow); transition: all 0.3s ease; } li:hover { transform: translateY(-2px); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); } /* HOLMES Section */ .holmes-table, .critical-table { margin-bottom: 20px; } .holmes-table caption { font-weight: bold; margin-bottom: 10px; color: var(--primary-color); } .critical-table caption { padding: 12px; background-color: var(--danger-color); color: white; font-weight: bold; border-radius: 6px 6px 0 0; } /* PEYEA Section */ .peyea-matrix { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 20px; } .peyea-quadrant { flex: 1; background-color: var(--light-bg); padding: 20px; border-radius: 8px; box-shadow: var(--box-shadow); } #peyea-svg { border: 1px solid var(--border-color); border-radius: 8px; background-color: var(--light-bg); width: 100%; height: 300px; } .point { fill: var(--primary-color); } .axis-label { font-size: 12px; fill: var(--text-color); } /* Porter Section */ .porter-input-group { display: flex; gap: 20px; margin-bottom: 15px; background-color: var(--light-bg); padding: 20px; border-radius: 8px; } .porter-matrix { max-width: 600px; margin: 0 auto; background-color: var(--light-bg); padding: 20px; border-radius: 8px; } .porter-leyenda { display: flex; justify-content: center; gap: 20px; margin-top: 15px; background-color: var(--light-bg); padding: 15px; border-radius: 8px; } .leyenda-item { display: flex; align-items: center; gap: 8px; } .leyenda-color { width: 20px; height: 20px; border-radius: 4px; } /* McKinsey Section */ .mckinsey-container { display: flex; flex-direction: column; gap: 20px; } .mckinsey-input-form { background-color: var(--light-bg); padding: 20px; border-radius: 8px; } .input-group { display: grid; grid-template-columns: 150px 1fr; align-items: center; margin-bottom: 10px; } .mckinsey-matrix-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); gap: 2px; border: 1px solid var(--border-color); margin-top: 15px; height: 300px; background-color: var(--light-bg); border-radius: 8px; overflow: hidden; } .mckinsey-matrix-cell { background-color: var(--hover-color); display: flex; align-items: center; justify-content: center; padding: 10px; text-align: center; border: 1px solid var(--border-color); } /* BCG Section */ .bcg-grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); gap: 20px; margin: 20px 0; } .bcg-quadrant { border: 1px solid var(--border-color); border-radius: 8px; padding: 20px; min-height: 180px; background-color: var(--light-bg); } .bcg-quadrant h3 { margin-top: 0; text-align: center; border-bottom: 1px solid var(--border-color); padding-bottom: 10px; } .product-item { background-color: var(--hover-color); padding: 15px; margin-bottom: 10px; border-radius: 6px; box-shadow: var(--box-shadow); position: relative; transition: all 0.3s ease; } .product-item:hover { transform: translateY(-2px); } .bcg-score { font-size: 0.8em; color: var(--text-color); margin-top: 5px; } .product-item .delete-btn { position: absolute; top: 8px; right: 8px; } /* PEST Section */ .pest-category { margin-bottom: 20px; background-color: var(--light-bg); padding: 20px; border-radius: 8px; } .pest-category h3 { border-bottom: 2px solid var(--primary-color); padding-bottom: 8px; } /* Matrix-specific Styling */ .matrix-table { width: 100%; border-collapse: collapse; border-radius: 8px; overflow: hidden; } .matrix-table th, .matrix-table td { border: 1px solid var(--border-color); padding: 12px 16px; text-align: left; } .matrix-table th { background-color: var(--darker-bg); font-weight: 600; color: var(--primary-color); } .priority-guide { display: flex; justify-content: space-evenly; margin: 15px 0; background-color: var(--light-bg); padding: 15px; border-radius: 8px; } .guide-item { display: flex; align-items: center; gap: 8px; } .guide-item span { font-weight: bold; color: var(--primary-color); } /* MADI and MADE specific styles */ .controls { margin: 15px 0; display: flex; gap: 15px; align-items: center; background-color: var(--light-bg); padding: 15px; border-radius: 8px; } .header-row th { background-color: var(--darker-bg); color: var(--primary-color); font-weight: bold; } .rating-cell { text-align: center; background-color: var(--hover-color); } .editable { background-color: var(--hover-color); } input[type="checkbox"] { transform: scale(1.2); accent-color: var(--primary-color); } .factor-select { min-width: 200px; } .holmes-weight { background-color: var(--darker-bg); color: var(--primary-color); font-weight: bold; } /* Reportes Section Styles */ .report-tabs { display: flex; gap: 10px; margin-bottom: 20px; background-color: var(--light-bg); padding: 15px; border-radius: 8px 8px 0 0; } .report-tab { padding: 10px 20px; background-color: var(--darker-bg); color: var(--text-color); border: none; border-radius: 4px; cursor: pointer; transition: all 0.3s ease; } .report-tab:hover { background-color: var(--hover-color); } .report-tab.active { background-color: var(--primary-color); color: white; } .report-content { display: none; animation: fadeIn 0.3s ease; } .report-content.active { display: block; } .report-summary { margin-bottom: 30px; } .report-table { width: 100%; border-collapse: collapse; margin: 15px 0; box-shadow: var(--box-shadow); background-color: var(--light-bg); border-radius: 8px; overflow: hidden; } .report-table th, .report-table td { padding: 12px 16px; border: 1px solid var(--border-color); text-align: left; } .report-table th { background-color: var(--darker-bg); font-weight: 600; color: var(--primary-color); } .chart-container { display: flex; flex-direction: column; align-items: center; background-color: var(--light-bg); padding: 20px; border-radius: 8px; margin: 20px 0; } .pie-chart { width: 200px; height: 200px; border-radius: 50%; margin: 20px 0; } .chart-legend { display: flex; gap: 15px; flex-wrap: wrap; justify-content: center; margin-top: 10px; } .analisis-text { background-color: var(--light-bg); padding: 20px; border-radius: 8px; line-height: 1.6; } .analisis-text p { margin-bottom: 15px; } /* Responsive Design */ @media (max-width: 768px) { .tab-button { font-size: 0.9em; padding: 10px 12px; } .peyea-matrix { flex-direction: column; } .porter-input-group { flex-direction: column; gap: 10px; } .bcg-grid { grid-template-columns: 1fr; } .input-group { grid-template-columns: 1fr; } table { font-size: 14px; } th, td { padding: 8px 10px; } .report-tab { padding: 8px 12px; font-size: 0.9em; } }