<?php
if (count(get_included_files()) === 1) { http_response_code(403); exit('Forbidden'); }
$page_title = 'Vale Admin — Contextos';
ob_start();
?>
<div class="dashboard-container">
    <?php $adminNav = 'contextos'; require __DIR__ . '/sidebar.php'; ?>

    <main class="main-content">
        <header class="header-bar">
            <h2>Contextos de Vale</h2>
            <span style="font-size:.8rem;color:var(--color-text-muted);">Constitución activa · Rubros · Límites de plan</span>
        </header>

        <div style="flex:1;overflow-y:auto;padding:1.5rem 2rem;max-width:960px;">

            <?php if (!empty($ctxNotice)): ?>
            <div class="alert" style="background:rgba(30,122,77,.1);color:var(--color-verde);border:1px solid rgba(30,122,77,.2);margin-bottom:1rem;"><?= htmlspecialchars($ctxNotice) ?></div>
            <?php endif; ?>
            <?php if (!empty($ctxError)): ?>
            <div class="alert alert-error" style="margin-bottom:1rem;"><?= htmlspecialchars($ctxError) ?></div>
            <?php endif; ?>

            <!-- Constitución de Vale -->
            <section style="background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1.75rem;margin-bottom:2rem;box-shadow:var(--shadow-soft);">
                <div style="display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;">
                    <div>
                        <h3 style="margin-bottom:.25rem;">Constitución de Vale</h3>
                        <p style="font-size:.82rem;color:var(--color-text-muted);">
                            Define el comportamiento global de Vale para todos los negocios.
                            Versión activa en DB: <strong><?= htmlspecialchars($constitution['version'] ?? '—') ?></strong>
                            <?php if (!$constitutionFromDb): ?>
                            · <span style="color:#D99A4E;font-weight:600;">Usando fallback del archivo (tabla vacía)</span>
                            <?php endif; ?>
                        </p>
                    </div>
                    <span style="font-size:.7rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:<?= $constitutionFromDb ? 'rgba(30,122,77,.12)' : 'rgba(217,154,78,.15)' ?>;color:<?= $constitutionFromDb ? '#1E7A4D' : '#9A6B1A' ?>;border-radius:99px;padding:3px 10px;white-space:nowrap;">
                        <?= $constitutionFromDb ? 'DB activa' : 'Archivo fallback' ?>
                    </span>
                </div>

                <form method="POST" action="/admin/contextos">
                    <input type="hidden" name="action" value="save_constitution">
                    <input type="hidden" name="version_anterior" value="<?= htmlspecialchars($constitution['version'] ?? '1.0') ?>">

                    <div style="display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem;">
                        <div class="form-group">
                            <label class="form-label" style="font-weight:700;">Identidad</label>
                            <p style="font-size:.75rem;color:var(--color-text-muted);margin-bottom:.4rem;">Quién es Vale, qué rol cumple, cómo se presenta.</p>
                            <textarea name="identidad" class="form-control" rows="6" style="font-family:monospace;font-size:.82rem;resize:vertical;"><?= htmlspecialchars($constitution['identidad'] ?? '') ?></textarea>
                        </div>
                        <div class="form-group">
                            <label class="form-label" style="font-weight:700;">Guardrails</label>
                            <p style="font-size:.75rem;color:var(--color-text-muted);margin-bottom:.4rem;">Lo que Vale NUNCA hace, sin excepción.</p>
                            <textarea name="guardrails" class="form-control" rows="6" style="font-family:monospace;font-size:.82rem;resize:vertical;"><?= htmlspecialchars($constitution['guardrails'] ?? '') ?></textarea>
                        </div>
                        <div class="form-group">
                            <label class="form-label" style="font-weight:700;">Protocolo de citas</label>
                            <p style="font-size:.75rem;color:var(--color-text-muted);margin-bottom:.4rem;">Protocolo estricto de agendamiento.</p>
                            <textarea name="reglas_citas" class="form-control" rows="6" style="font-family:monospace;font-size:.82rem;resize:vertical;"><?= htmlspecialchars($constitution['reglas_citas'] ?? '') ?></textarea>
                        </div>
                        <div class="form-group">
                            <label class="form-label" style="font-weight:700;">Protocolo de escalado</label>
                            <p style="font-size:.75rem;color:var(--color-text-muted);margin-bottom:.4rem;">Cuándo y cómo escalar al dueño.</p>
                            <textarea name="reglas_escalado" class="form-control" rows="6" style="font-family:monospace;font-size:.82rem;resize:vertical;"><?= htmlspecialchars($constitution['reglas_escalado'] ?? '') ?></textarea>
                        </div>
                        <div class="form-group">
                            <label class="form-label" style="font-weight:700;">Reglas de idioma</label>
                            <p style="font-size:.75rem;color:var(--color-text-muted);margin-bottom:.4rem;">Detección y consistencia de idioma.</p>
                            <textarea name="reglas_idioma" class="form-control" rows="5" style="font-family:monospace;font-size:.82rem;resize:vertical;"><?= htmlspecialchars($constitution['reglas_idioma'] ?? '') ?></textarea>
                        </div>
                        <div class="form-group">
                            <label class="form-label" style="font-weight:700;">Tono default</label>
                            <p style="font-size:.75rem;color:var(--color-text-muted);margin-bottom:.4rem;">Tono base de Vale cuando el negocio no especifica uno.</p>
                            <input type="text" name="tono_default" class="form-control" value="<?= htmlspecialchars($constitution['tono_default'] ?? 'calido') ?>" placeholder="calido">
                            <p style="font-size:.72rem;color:var(--color-text-muted);margin-top:.3rem;">Valores posibles: calido · profesional · relajado · formal</p>
                        </div>
                    </div>

                    <div style="display:flex;align-items:center;gap:1rem;">
                        <button type="submit" class="btn btn-primary">Guardar nueva versión activa</button>
                        <p style="font-size:.78rem;color:var(--color-text-muted);">Guardar crea una nueva versión en la tabla <code>vale_constitution_versions</code> y la activa inmediatamente.</p>
                    </div>
                </form>
            </section>

            <!-- Límites de plan -->
            <section style="background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1.75rem;margin-bottom:2rem;box-shadow:var(--shadow-soft);">
                <div style="margin-bottom:1.25rem;">
                    <h3 style="margin-bottom:.25rem;">Límites de plan</h3>
                    <p style="font-size:.82rem;color:var(--color-text-muted);">Leídos de <code>config/plan_limits.php</code>. Para cambiarlos editá ese archivo en el servidor.</p>
                </div>
                <div style="overflow-x:auto;">
                <table style="width:100%;font-size:.82rem;border-collapse:collapse;">
                    <thead>
                        <tr style="border-bottom:2px solid var(--color-border);">
                            <th style="padding:.6rem .75rem;text-align:left;color:var(--color-text-muted);font-weight:700;">Feature</th>
                            <?php foreach (array_keys($planLimits) as $plan): ?>
                            <th style="padding:.6rem .75rem;text-align:center;color:var(--color-text-muted);font-weight:700;text-transform:capitalize;"><?= htmlspecialchars($plan) ?></th>
                            <?php endforeach; ?>
                        </tr>
                    </thead>
                    <tbody>
                    <?php
                    $featureLabels = [
                        'convos_max'     => 'Conversaciones/mes',
                        'staff_max'      => 'Staff máx.',
                        'whatsapp'       => 'WhatsApp',
                        'recordatorios'  => 'Recordatorios',
                        'badge'          => 'Badge "con Vale"',
                        'multi_sucursal' => 'Multi-sucursal',
                        'precio'         => 'Precio ($/mes)',
                    ];
                    $allFeatures = array_keys($featureLabels);
                    foreach ($allFeatures as $feat):
                    ?>
                    <tr style="border-bottom:1px solid #FAF6F1;">
                        <td style="padding:.55rem .75rem;font-weight:600;"><?= $featureLabels[$feat] ?></td>
                        <?php foreach ($planLimits as $plan => $cfg): ?>
                        <?php $val = $cfg[$feat] ?? null; ?>
                        <td style="padding:.55rem .75rem;text-align:center;">
                            <?php if (is_bool($val)): ?>
                                <span style="color:<?= $val ? '#1E7A4D' : '#C0392B' ?>;font-size:1rem;"><?= $val ? '✓' : '✗' ?></span>
                            <?php elseif ($val === null): ?>
                                <span style="color:#1E7A4D;font-weight:600;">∞</span>
                            <?php elseif ($feat === 'precio'): ?>
                                <span style="font-weight:700;">$<?= $val ?></span>
                            <?php else: ?>
                                <span><?= $val ?></span>
                            <?php endif; ?>
                        </td>
                        <?php endforeach; ?>
                    </tr>
                    <?php endforeach; ?>
                    </tbody>
                </table>
                </div>
            </section>

            <!-- Rubros -->
            <section style="background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1.75rem;margin-bottom:2rem;box-shadow:var(--shadow-soft);">
                <div style="margin-bottom:1.25rem;">
                    <h3 style="margin-bottom:.25rem;">Rubros configurados</h3>
                    <p style="font-size:.82rem;color:var(--color-text-muted);">Leídos de <code>config/rubros.php</code>. Definen vocabulario, capacidades y prompt por rubro.</p>
                </div>
                <div style="display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;">
                <?php foreach ($rubros as $key => $rubro): ?>
                <div style="border:1px solid var(--color-border);border-radius:10px;padding:1rem;">
                    <p style="font-weight:700;font-size:.9rem;margin-bottom:.5rem;text-transform:capitalize;"><?= htmlspecialchars($rubro['label'] ?? $key) ?></p>
                    <p style="font-size:.75rem;color:var(--color-text-muted);margin-bottom:.5rem;">Tono: <?= htmlspecialchars($rubro['tono'] ?? '—') ?></p>
                    <p style="font-size:.75rem;color:var(--color-text-muted);margin-bottom:.5rem;"><?= count($rubro['servicios_semilla'] ?? []) ?> servicios semilla · <?= count($rubro['capacidades'] ?? []) ?> capacidades</p>
                    <details style="font-size:.75rem;">
                        <summary style="cursor:pointer;color:var(--color-barro);font-weight:600;">Ver capacidades</summary>
                        <ul style="margin:.5rem 0 0 1rem;color:var(--color-text-muted);">
                            <?php foreach (($rubro['capacidades'] ?? []) as $cap): ?>
                            <li><?= htmlspecialchars($cap) ?></li>
                            <?php endforeach; ?>
                        </ul>
                    </details>
                </div>
                <?php endforeach; ?>
                </div>
            </section>

            <!-- Modelo Gemini (info) -->
            <section style="background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1.75rem;margin-bottom:2rem;box-shadow:var(--shadow-soft);">
                <h3 style="margin-bottom:.75rem;">Modelo de IA activo</h3>
                <div style="display:flex;gap:1.5rem;flex-wrap:wrap;">
                    <div>
                        <p style="font-size:.75rem;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.8px;">Gemini Model</p>
                        <p style="font-size:1.1rem;font-weight:700;font-family:monospace;"><?= htmlspecialchars(getenv('GEMINI_MODEL') ?: 'gemini-2.0-flash') ?></p>
                    </div>
                    <div>
                        <p style="font-size:.75rem;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.8px;">API Key</p>
                        <p style="font-size:1.1rem;font-weight:700;"><?= getenv('GEMINI_API_KEY') ? '<span style="color:#1E7A4D;">Configurada</span>' : '<span style="color:#C0392B;">No configurada</span>' ?></p>
                    </div>
                </div>
                <p style="font-size:.78rem;color:var(--color-text-muted);margin-top:.75rem;">Para cambiar el modelo, editá <code>GEMINI_MODEL</code> en el archivo <code>.env</code>. Ajustes de integración completos en <a href="/admin/config" style="color:var(--color-barro);">Integraciones →</a></p>
            </section>

        </div>
    </main>
</div>
<?php
$content = ob_get_clean();
require dirname(__DIR__) . '/layout.php';
