/* Design System */
:root {
    --sruti-bg: #1A1A2E;
    --sruti-panel: #16213E;
    --sruti-accent: #BB86FC;
    --sruti-secondary: #03DAC6;
    --sruti-text: #E2E8F0;
    --sruti-muted: #A0AEC0;
    --sruti-error: #CF6679;
    --sruti-success: #46b450;
}

/* --- ADMIN UI (Master Page) --- */
.sruti-master-container { padding: 24px 20px; background: #f3f6fa; min-height: 100vh; font-family: 'Segoe UI', Tahoma, sans-serif; color: #1a202c; }
.sruti-master-container > h1 { margin: 0 0 16px; padding: 16px 20px; border-radius: 8px; background: #172033; color: #fff; box-shadow: 0 10px 22px rgba(17,24,39,0.12); letter-spacing: 0; }
.sruti-master-container .wp-header-end { display: none; }
.sruti-admin-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; border-bottom: 1px solid #d9e2ec; }
.sruti-admin-tab { appearance: none; border: 1px solid transparent; border-bottom: none; background: transparent; color: #334155; padding: 9px 13px; border-radius: 7px 7px 0 0; cursor: pointer; font-weight: 650; }
.sruti-admin-tab:hover { background: #fff; border-color: #d9e2ec; }
.sruti-admin-tab.active { background: #fff; border-color: #d9e2ec; color: #172033; margin-bottom: -1px; }
.sruti-admin-shell { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 28px; align-items: start; }
.sruti-admin-sidebar { position: sticky; top: 44px; background: #ffffff; border: 1px solid #d9e2ec; border-radius: 8px; padding: 8px; box-shadow: 0 8px 18px rgba(15,23,42,0.05); }
.sruti-nav-btn { appearance: none; width: 100%; min-height: 42px; display: flex; align-items: center; gap: 10px; border: 0; border-radius: 6px; background: transparent; color: #334155; cursor: pointer; padding: 9px 10px; text-align: left; font-weight: 650; }
.sruti-nav-btn:hover { background: #edf2f7; color: #172033; }
.sruti-nav-btn.active { background: #172033; color: #fff; }
.sruti-admin-content { min-width: 0; display: grid; gap: 24px; }
.sruti-dashboard-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.sruti-dashboard-summary > div { background: #fff; border: 1px solid #d9e2ec; border-radius: 8px; padding: 18px 22px; box-shadow: 0 8px 18px rgba(15,23,42,0.05); min-width: 0; }
.sruti-dashboard-summary span { display: block; color: #64748b; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.02em; margin-bottom: 6px; }
.sruti-dashboard-summary strong { display: block; color: #172033; font-size: 1.05rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sruti-section.card { display: block; background: #fff; border-radius: 8px; padding: 24px 28px; margin: 0; box-shadow: 0 8px 20px rgba(15,23,42,0.06); border: 1px solid #d9e2ec; box-sizing: border-box; scroll-margin-top: 48px; }
.sruti-section.card.active { border-color: #9fb3c8; box-shadow: 0 10px 24px rgba(15,23,42,0.08); }
.sruti-section h2 { margin-top: 0; display: flex; align-items: center; gap: 10px; color: #172033; border-bottom: 1px solid #e5eaf2; padding-bottom: 10px; font-size: 1.12rem; }

/* API & Config Box */
.sruti-api-box { max-width: 800px; }
.sruti-input-group label { display: block; font-weight: bold; margin-bottom: 8px; color: #4A5568; }
.sruti-input-group input, .sruti-input-group select { padding: 10px 12px; border-radius: 6px; border: 1px solid #CBD5E0; width: 100%; background: #F7FAFC; box-sizing: border-box; }
.sruti-input-group select { height: 42px; cursor: pointer; }
.sruti-status-msg { font-weight: bold; margin-left: 10px; font-size: 0.9rem; }
.sruti-status-msg.success { color: var(--sruti-success); }
.sruti-status-msg.error { color: var(--sruti-error); }

.sruti-floating-global-grid { display: flex; flex-wrap: wrap; gap: 18px; align-items: flex-end; }
.sruti-floating-global-grid select { min-width: 230px; }
/* Pestanas del editor de asistente (backend) */
.sruti-be-tabs { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 2px solid #d9e2ec; margin: 4px 0 20px; }
.sruti-be-tab { appearance: none; background: transparent; border: none; border-bottom: 3px solid transparent; padding: 10px 18px; margin-bottom: -2px; cursor: pointer; font-size: 0.92rem; font-weight: 600; color: #64748b; font-family: inherit; transition: all 0.15s; border-radius: 6px 6px 0 0; }
.sruti-be-tab:hover { color: #172033; background: #f1f5f9; }
.sruti-be-tab.active { color: #5b21b6; border-bottom-color: #7c3aed; }
.sruti-be-panel { display: none; }
.sruti-be-panel.active { display: block; animation: srutiFadeIn 0.2s ease; }
@keyframes srutiFadeIn { from { opacity: 0; } to { opacity: 1; } }
.sruti-be-panel > .sruti-behavior-options:first-child,
.sruti-be-panel > .sruti-assistant-access-box:first-child,
.sruti-be-panel > .sruti-lang-options-box:first-child,
.sruti-be-panel > .sruti-wc-kb-panel:first-child,
.sruti-be-panel > .sruti-floating-editor-box:first-child { margin-top: 0; }
.sruti-behavior-options { margin-top: 24px; padding: 24px 28px; border: 1px solid #d9e2ec; border-radius: 12px; background: #f8fbff; display: grid; gap: 14px; }
.sruti-behavior-options h3 { margin: 0 0 4px; color: #172033; }
.sruti-behavior-options label { display: flex; align-items: center; gap: 8px; color: #334155; }
.sruti-assistant-access-box { margin-top: 24px; padding: 24px 28px; border: 1px solid #d9e2ec; border-radius: 8px; background: #fbfdff; }
.sruti-assistant-access-box h3 { margin: 0 0 12px; color: #172033; }
.sruti-lang-options-box { margin-top: 24px; padding: 24px 28px; border: 1px solid #d9e2ec; border-radius: 12px; background: #f8fbff; }
.sruti-lang-options-box h3 { margin: 0 0 12px; color: #172033; }
.sruti-lang-options-box > label { display: flex; align-items: center; gap: 8px; color: #334155; margin-bottom: 14px; }
.sruti-lang-fields-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.sruti-lang-fields-grid h4 { margin: 0 0 8px; }
.sruti-lang-fields-grid select { width: 100%; border: 1px solid #cbd5e0; border-radius: 6px; padding: 6px 8px; }
.sruti-assistant-access-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.sruti-assistant-access-grid p { margin: 0; }
.sruti-assistant-access-grid select { width: 100%; min-height: 38px; border: 1px solid #cbd5e0; border-radius: 7px; padding: 7px 9px; box-sizing: border-box; }
.sruti-floating-editor-box { margin-top: 24px; padding: 24px 28px; border: 1px solid #d9e2ec; border-radius: 12px; background: #fbfdff; }
.sruti-floating-editor-box h3 { margin: 0 0 12px; color: #1A1A2E; }
.sruti-floating-editor-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 22px; margin-top: 16px; }
.sruti-floating-editor-grid p { margin: 0; }
.sruti-floating-editor-grid label { display: block; margin-bottom: 5px; color: #334e68; }
.sruti-floating-editor-grid input, .sruti-floating-editor-grid select { width: 100%; min-height: 38px; border: 1px solid #cbd5e0; border-radius: 7px; padding: 7px 9px; box-sizing: border-box; }
.sruti-floating-editor-grid input[type="color"] { padding: 3px; height: 42px; cursor: pointer; }
.sruti-offset-field { display: flex; gap: 6px; align-items: center; }
.sruti-offset-field input[type="number"] { flex: 1 1 auto; min-width: 0; }
.sruti-offset-field select { flex: 0 0 auto; width: 68px !important; min-width: 68px; }
.sruti-file-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.sruti-file-actions input[type="file"] { max-width: 260px; }
.sruti-floating-avatar-row { display: flex; gap: 10px; align-items: center; margin-top: 14px; }
.sruti-floating-avatar-preview { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: #1A1A2E; color: #fff; font-weight: 800; background-size: cover; background-position: center; box-shadow: inset 0 0 0 2px rgba(255,255,255,0.7); }
.sruti-floating-avatar-preview.has-image { color: transparent; }
.sruti-tools-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.sruti-tools-grid > div { background: #f8fbff; border: 1px solid #d9e2ec; border-radius: 12px; padding: 22px; }
.sruti-tools-grid h3 { margin: 0 0 10px; color: #172033; font-size: 1rem; }
.sruti-tools-grid label { display: flex; align-items: center; gap: 8px; margin: 8px 0; color: #334155; }
.sruti-tools-grid input[type="file"] { width: 100%; margin: 6px 0 10px; }
.sruti-tools-grid .button { margin-top: 4px; }
.sruti-page-picker { margin-top: 18px; }
.sruti-page-picker label { margin-top: 0 !important; }
.sruti-page-picker input[type="search"] { width: 100%; min-height: 38px; border: 1px solid #cbd5e0; border-radius: 7px; padding: 8px 10px; box-sizing: border-box; margin: 8px 0; }
.sruti-page-picker select { width: 100%; border: 1px solid #cbd5e0; border-radius: 7px; padding: 8px; background: #fff; box-sizing: border-box; }
.sruti-page-selected { margin: 0 0 8px; padding: 8px 10px; border-radius: 6px; background: #edf2f7; color: #64748b; font-size: 0.88rem; display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.sruti-page-selected.has-pages { background: #f8fbff; color: #115e59; border: 1px solid #d9e2ec; }
.sruti-page-chip { appearance: none; border: 1px solid #99f6e4; background: #e6fffb; color: #115e59; border-radius: 999px; padding: 5px 8px 5px 10px; display: inline-flex; gap: 7px; align-items: center; cursor: pointer; font: inherit; font-size: 0.82rem; max-width: 100%; }
.sruti-page-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sruti-page-chip b { width: 16px; height: 16px; border-radius: 50%; background: rgba(17,94,89,0.12); display: grid; place-items: center; line-height: 1; }
.sruti-page-chip:hover { border-color: #14b8a6; background: #ccfbf1; }

/* Editor Grid */
.sruti-editor-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: 28px; margin-top: 24px; }
.sruti-col label { display: block; margin-top: 15px; font-weight: bold; color: #2D3748; }
.sruti-col .description { margin-bottom: 8px; color: #718096; font-size: 0.9rem; }
.sruti-col textarea, .sruti-frontend-editor textarea, .sruti-frontend-editor input[type="text"], .sruti-frontend-editor input[type="number"], .sruti-frontend-editor select, .sruti-frontend-editor input[type="password"] { 
    border-radius: 8px; border: 1px solid #CBD5E0; padding: 12px; background: #F7FAFC; font-family: 'Consolas', 'Monaco', monospace; font-size: 0.9rem; width: 100%; box-sizing: border-box;
}

/* Files List */
.sruti-files-list { background: #EDF2F7; border: 1px solid #E2E8F0; border-radius: 8px; padding: 15px; min-height: 100px; margin-top: 10px; margin-bottom: 10px; }
.sruti-file-item { background: #fff; border: 1px solid #E2E8F0; border-radius: 6px; padding: 10px 15px; margin-bottom: 8px; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 2px 4px rgba(0,0,0,0.02); color: #000;}
.sruti-file-main { display: inline-flex; align-items: center; gap: 6px; min-width: 140px; flex: 1 1 auto; }
.sruti-file-folder { width: min(240px, 40%); min-width: 140px; border: 1px solid #cbd5e0; border-radius: 6px; padding: 6px 8px; font-size: 0.82rem; }
.sruti-file-note { width: min(220px, 32%); min-width: 130px; border: 1px solid #cbd5e0; border-radius: 6px; padding: 6px 8px; font-size: 0.82rem; }
.sruti-file-private { white-space: nowrap; font-size: 0.82rem; color: #475569; }
.sruti-folder-manager { margin: 10px 0 12px; border: 1px solid #d9e2ec; background: #f8fbff; border-radius: 8px; padding: 12px; }
.sruti-folder-head { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-bottom: 10px; }
.sruti-folder-head select { max-width: 260px; }
.sruti-folder-tree { background: #fff; border: 1px solid #e2e8f0; border-radius: 6px; padding: 8px; min-height: 44px; max-height: 220px; overflow: auto; }
.sruti-folder-row, .sruti-folder-root { display: flex; align-items: center; gap: 6px; padding: 3px 4px 3px calc(6px + (var(--depth, 0) * 18px)); border-radius: 5px; }
.sruti-folder-row.active, .sruti-folder-root.active { background: #e6fffb; }
.sruti-folder-pick { appearance: none; border: 0; background: transparent; cursor: pointer; text-align: left; flex: 1; color: #115e59; font-weight: 600; padding: 4px 6px; }
.sruti-folder-pick:before { content: "▸ "; color: #64748b; }
.sruti-folder-up, .sruti-folder-down { width: 26px; height: 26px; border: 1px solid #cbd5e0; background: #fff; border-radius: 5px; cursor: pointer; line-height: 1; }
.sruti-folder-actions { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr) auto auto auto; gap: 8px; margin-top: 10px; align-items: center; }
.sruti-folder-actions input, .sruti-folder-actions select { width: 100%; min-height: 32px; border: 1px solid #cbd5e0; border-radius: 6px; padding: 6px 8px; }
.sruti-folder-visual-modal { position: fixed; inset: 0; z-index: 100020; background: rgba(15, 23, 42, 0.55); align-items: center; justify-content: center; padding: 24px; }
.sruti-folder-visual-card { width: min(980px, 96vw); max-height: 88vh; background: #fff; border-radius: 10px; box-shadow: 0 24px 70px rgba(15,23,42,0.28); display: flex; flex-direction: column; overflow: hidden; }
.sruti-folder-visual-head { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-bottom: 1px solid #e2e8f0; }
.sruti-folder-visual-body { overflow: auto; min-height: 320px; background: #f8fbff; }
.sruti-folder-visual-svg { min-width: 760px; width: 100%; height: auto; display: block; }
.sruti-folder-visual-lines path { fill: none; stroke: #99c2d8; stroke-width: 2; }
.sruti-folder-visual-node { cursor: pointer; }
.sruti-folder-visual-node rect { fill: #fff; stroke: #14b8a6; stroke-width: 1.5; }
.sruti-folder-visual-node.active rect { fill: #ccfbf1; stroke: #0f766e; stroke-width: 2.5; }
.sruti-folder-visual-node text { fill: #115e59; font-size: 13px; font-weight: 700; pointer-events: none; }
@media (max-width: 1180px) { .sruti-woo-audit-grid { grid-template-columns: 1fr; } }
.sruti-wc-kb-box, .sruti-wc-kb-panel { margin: 10px 0 12px; border: 1px solid #d9e2ec; background: #f8fbff; border-radius: 8px; padding: 12px; }
.sruti-wc-kb-box input[type="number"], .sruti-wc-kb-panel input[type="number"] { width: 120px; border: 1px solid #cbd5e0; border-radius: 6px; padding: 6px 8px; }
.sruti-wc-kb-panel select { width: 100%; max-width: 520px; border: 1px solid #cbd5e0; border-radius: 6px; padding: 6px 8px; }
.sruti-wc-import-process { border: 1px solid #d9e2ec; background: #f8fbff; border-radius: 8px; padding: 14px; }
.sruti-wc-process-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.sruti-wc-process-head h3 { margin: 0 0 4px; }
.sruti-wc-process-grid { display: grid; grid-template-columns: minmax(160px, 220px) minmax(220px, 420px); gap: 14px; margin: 12px 0; }
.sruti-wc-process-grid input { width: 100%; border: 1px solid #cbd5e0; border-radius: 6px; padding: 6px 8px; }
.sruti-wc-process-status { min-height: 28px; margin-top: 12px; font-weight: 600; color: #115e59; display: flex; align-items: center; gap: 8px; }
.sruti-inline-spinner { width: 16px; height: 16px; border: 2px solid #99f6e4; border-top-color: #0f766e; border-radius: 999px; animation: srutiSpin 0.8s linear infinite; display: inline-block; }
.sruti-wc-import-preview { margin-top: 12px; }
.sruti-wc-import-preview h4 { margin: 0 0 8px; }
.sruti-wc-preview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.sruti-wc-preview-card { display: grid; gap: 5px; border: 1px solid #e2e8f0; background: #fff; border-radius: 6px; padding: 10px; font-size: 0.88rem; }
.sruti-wc-preview-card span { color: #334155; overflow-wrap: anywhere; }
.sruti-wc-generated-files { margin-top: 16px; }
.sruti-wc-generated-file { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; border: 1px solid #e2e8f0; background: #fff; border-radius: 6px; padding: 10px 12px; margin-bottom: 8px; }
.sruti-wc-fields-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 12px; }
.sruti-wc-fields-list { display: grid; gap: 6px; background: #fff; border: 1px solid #e2e8f0; border-radius: 6px; padding: 10px; max-height: 260px; overflow: auto; }
.sruti-wc-fields-list label { margin: 0 !important; }
.sruti-wc-field-actions { display: flex; gap: 6px; margin-bottom: 4px; }
.sruti-woo-audit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.sruti-woo-audit-card { border: 1px solid #d9e2ec; background: #f8fbff; border-radius: 8px; padding: 14px; min-width: 0; }
.sruti-woo-audit-card h3 { margin: 0 0 10px; color: #172033; }
.sruti-woo-audit-card textarea { width: 100%; min-height: 128px; margin-top: 8px; border: 1px solid #cbd5e0; border-radius: 7px; padding: 9px 10px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 0.86rem; }
.sruti-woo-audit-card > label { display: block; margin-top: 12px; color: #334155; }
.sruti-woo-audit-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.sruti-file-name { cursor: pointer; text-decoration: underline; color: #3182ce; flex-grow: 1; font-weight: 500; margin-left: 8px; }
.sruti-file-name:hover { color: #2b6cb0; }
.sruti-remove-file { color: #A0AEC0; cursor: pointer; font-weight: bold; font-size: 20px; line-height: 1; padding: 0 5px; }
.sruti-remove-file:hover { color: var(--sruti-error); }
.sruti-anchor-highlight { outline: 2px solid rgba(3, 218, 198, 0.85); outline-offset: 4px; transition: outline-color 0.3s ease; scroll-margin-top: 90px; }
@keyframes srutiSpin { to { transform: rotate(360deg); } }

/* Modal Editor de Archivos */
.sruti-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 99999; display: none; align-items: center; justify-content: center; backdrop-filter: blur(3px); }
.sruti-modal-content { background: #fff; width: 90%; max-width: 800px; border-radius: 12px; padding: 25px; box-shadow: 0 10px 30px rgba(0,0,0,0.3); display: flex; flex-direction: column; max-height: 90vh; }
.sruti-modal-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #e2e8f0; padding-bottom: 15px; margin-bottom: 15px; }
.sruti-modal-header h3 { margin: 0; color: #1a202c; }
.sruti-modal-body textarea { width: 100%; height: 400px; padding: 15px; font-family: monospace; border: 1px solid #cbd5e0; border-radius: 8px; resize: vertical; box-sizing: border-box; }
.sruti-modal-footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 15px; border-top: 1px solid #e2e8f0; padding-top: 15px; }

/* --- FRONTEND UI (Chat) --- */
.sruti-chat-wrapper { background: linear-gradient(180deg, var(--sruti-bg) 0%, #0F0F1A 100%); border: 1px solid rgba(187, 134, 252, 0.2); border-radius: 12px; padding: 15px; font-family: 'Inter', -apple-system, sans-serif; font-size: var(--sruti-chat-font-size-live, 15px); color: var(--sruti-text); max-width: 100%; margin: 20px auto; box-shadow: 0 15px 35px rgba(0,0,0,0.4); display: flex; flex-direction: column; position: relative; overflow: hidden; box-sizing: border-box; }
.sruti-floating-window > .sruti-chat-wrapper-floating { position: absolute !important; inset: 0 !important; margin: 0 !important; width: 100% !important; max-width: none !important; height: auto !important; min-width: 0 !important; min-height: 0 !important; border-radius: 18px; border: none; box-shadow: none; overflow: hidden; padding: 14px; }
.sruti-floating-window > .sruti-chat-wrapper-floating, .sruti-floating-window > .sruti-chat-wrapper-floating * { box-sizing: border-box; }
.sruti-floating-window > .sruti-chat-wrapper-floating .sruti-header { flex: 0 0 auto; width: 100%; }
.sruti-floating-window > .sruti-chat-wrapper-floating .sruti-chat-history { width: 100% !important; max-width: none !important; height: auto !important; flex: 1 1 auto; min-width: 0; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.sruti-floating-window > .sruti-chat-wrapper-floating .sruti-panels-container { flex: 1 1 auto; width: 100% !important; max-width: none !important; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.sruti-floating-window > .sruti-chat-wrapper-floating .sruti-panel { flex: 1 1 auto; width: 100% !important; max-width: none !important; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.sruti-floating-window > .sruti-chat-wrapper-floating .sruti-input-area { flex: 0 0 auto; width: 100% !important; max-width: none !important; min-width: 0; }
.sruti-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px solid rgba(255,255,255,0.05); }
.sruti-title-group { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.sruti-title { font-weight: 700; color: var(--sruti-accent); font-size: 1.1rem; }
.sruti-model-badge { font-size: 0.7rem; font-weight: 500; color: var(--sruti-text); opacity: 0.48; letter-spacing: 0.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sruti-assistant-switcher { flex: 0 0 auto; display: flex; gap: 4px; overflow-x: auto; padding: 3px 0 5px; margin-bottom: 3px; border-bottom: 1px solid rgba(255,255,255,0.07); scrollbar-width: none; }
.sruti-assistant-switcher::-webkit-scrollbar { display: none; }
.sruti-switcher-btn { display: inline-flex; align-items: center; gap: 4px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 20px; padding: 2px 8px 2px 3px; cursor: pointer; color: var(--sruti-text, #e2e8f0); font-family: inherit; font-size: 0.68rem; white-space: nowrap; transition: background 0.15s, border-color 0.15s, opacity 0.15s; opacity: 0.6; flex-shrink: 0; }
.sruti-switcher-btn:hover { opacity: 1; background: rgba(255,255,255,0.1); }
.sruti-switcher-btn.is-active { opacity: 1; border-color: var(--sruti-accent, #BB86FC); color: var(--sruti-accent, #BB86FC); }
.sruti-switcher-avatar { width: 18px; height: 18px; border-radius: 50%; background: var(--sruti-accent, #BB86FC); color: #fff; font-size: 0.6rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; }
.sruti-switcher-btn.is-active .sruti-switcher-avatar { background: var(--sruti-accent, #BB86FC); }
.sruti-switcher-avatar img { width: 100%; height: 100%; object-fit: cover; }
.sruti-switcher-name { max-width: 80px; overflow: hidden; text-overflow: ellipsis; }
.sruti-title-has-dropdown { cursor: pointer; position: relative; user-select: none; }
.sruti-title-dropdown { position: absolute; top: calc(100% + 5px); left: 0; z-index: 200; background: var(--sruti-bg, #1A1A2E); border: 1px solid rgba(187,134,252,0.2); border-radius: 10px; padding: 5px; display: flex; flex-direction: column; gap: 3px; min-width: 155px; opacity: 0; pointer-events: none; transform: translateY(-5px); transition: opacity 0.15s, transform 0.15s; box-shadow: 0 8px 24px rgba(0,0,0,0.35); }
.sruti-title-has-dropdown.is-open .sruti-title-dropdown { opacity: 1; pointer-events: auto; transform: translateY(0); }
.sruti-title-dropdown .sruti-switcher-btn { width: 100%; justify-content: flex-start; border-radius: 7px; }
.sruti-header-actions { display: flex; gap: 10px; align-items: center; }
.sruti-lang-toggle { appearance: none; -webkit-appearance: none; -moz-appearance: none; background: transparent; color: var(--sruti-accent); border: 1px solid rgba(187,134,252,0.35); border-radius: 16px; height: 32px; padding: 0 10px; cursor: pointer; font-size: 0.78rem; font-weight: 600; font-family: inherit; outline: none; transition: all 0.2s; }
.sruti-lang-toggle:hover { border-color: var(--sruti-secondary); color: var(--sruti-secondary); }
.sruti-lang-toggle option { background: #ffffff; color: #111111; }
/* Selector compacto tipo capsula (mayusculas) solo en la ventana flotante; se adapta al ancho del texto */
.sruti-chat-wrapper-floating .sruti-lang-toggle { height: 24px; min-height: 24px; box-sizing: border-box; line-height: 22px; vertical-align: middle; width: auto; min-width: 0; padding: 0 14px; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; border-radius: 12px; text-align: center; text-align-last: center; }
/* Botones de icono compactos y siempre redondos (sin aplastarse) en la ventana flotante */
.sruti-chat-wrapper-floating .sruti-btn-icon { width: 24px; height: 24px; min-width: 24px; flex-shrink: 0; font-size: 13px; }

/* Botones Cross-Browser Fix */
.sruti-btn-icon { appearance: none; -webkit-appearance: none; -moz-appearance: none; background: transparent; color: var(--sruti-accent); border: 1px solid rgba(187,134,252,0.35); width: 32px; height: 32px; border-radius: 50%; cursor: pointer; font-size: 16px; display: flex; align-items: center; justify-content: center; transition: all 0.2s; padding: 0; line-height: 1; outline: none; }
.sruti-btn-icon:hover { border-color: var(--sruti-secondary); color: var(--sruti-secondary); transform: scale(1.1); }
.sruti-btn-chat-history svg { display: block; }
.sruti-chat-wrapper-floating .sruti-btn-minimize { background: var(--sruti-accent); border-color: var(--sruti-accent); color: var(--sruti-secondary); font-weight: 900; }
.sruti-chat-wrapper-floating .sruti-btn-minimize:hover { color: var(--sruti-secondary); filter: brightness(1.08); transform: scale(1.06); }

.sruti-no-access { background: rgba(187,134,252,0.07); border-left: 3px solid var(--sruti-accent); padding: 12px 16px; border-radius: 0 8px 8px 0; color: var(--sruti-muted); font-style: italic; margin: 10px 0; }
.sruti-no-access a { color: var(--sruti-accent); }
.sruti-chat-history { background: rgba(0,0,0,0.25); border-radius: 10px; height: 450px; overflow-y: auto; padding: 20px; }
.sruti-chat-history, .sruti-frontend-editor, .sruti-modal-body textarea, .sruti-notes-textarea {
    scrollbar-width: thin;
    scrollbar-color: rgba(187,134,252,0.72) rgba(255,255,255,0.06);
}
.sruti-chat-history::-webkit-scrollbar, .sruti-frontend-editor::-webkit-scrollbar, .sruti-modal-body textarea::-webkit-scrollbar, .sruti-notes-textarea::-webkit-scrollbar { width: 9px; height: 9px; }
.sruti-chat-history::-webkit-scrollbar-track, .sruti-frontend-editor::-webkit-scrollbar-track, .sruti-modal-body textarea::-webkit-scrollbar-track, .sruti-notes-textarea::-webkit-scrollbar-track { background: rgba(255,255,255,0.06); border-radius: 999px; }
.sruti-chat-history::-webkit-scrollbar-thumb, .sruti-frontend-editor::-webkit-scrollbar-thumb, .sruti-modal-body textarea::-webkit-scrollbar-thumb, .sruti-notes-textarea::-webkit-scrollbar-thumb { background: linear-gradient(180deg, rgba(187,134,252,0.85), rgba(3,218,198,0.65)); border-radius: 999px; border: 2px solid rgba(15,15,26,0.8); }
.sruti-chat-history::-webkit-scrollbar-thumb:hover, .sruti-frontend-editor::-webkit-scrollbar-thumb:hover, .sruti-modal-body textarea::-webkit-scrollbar-thumb:hover, .sruti-notes-textarea::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, rgba(187,134,252,1), rgba(3,218,198,0.9)); }
.sruti-msg-user { border-left: 4px solid var(--sruti-accent); background: transparent; padding: 10px 12px; margin-bottom: 10px; border-radius: 0 10px 10px 0; }
.sruti-msg-ai { border-left: 4px solid var(--sruti-secondary); background: transparent; padding: 10px 12px; margin-bottom: 10px; border-radius: 0 10px 10px 0; }
.sruti-input-area { display: flex; gap: 12px; margin-top: 6px; align-items: flex-end;}
.sruti-input { flex: 1 1 auto; min-width: 0; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.1); color: #fff; padding: 12px 15px; border-radius: 10px; outline: none; font-family: inherit; font-size: var(--sruti-input-font-size-live, 15px); box-sizing: border-box; resize: none; overflow: hidden; }
.sruti-btn-send { appearance: none; -webkit-appearance: none; flex: 0 0 auto; background: var(--sruti-accent); color: #000; border: none; padding: 10px 25px; border-radius: 10px; cursor: pointer; font-weight: bold; transition: all 0.2s; font-family: inherit; outline: none; }
.sruti-btn-send:hover { transform: translateY(-1px); filter: brightness(1.1); }

/* Animación Typewriter de los puntos suspensivos (Mobile por defecto) */
.sruti-thinking { display: inline-block; font-weight: bold; color: var(--sruti-secondary); margin-left: 2px; }
.sruti-thinking::after { content: ''; animation: sruti-dots 1.5s infinite steps(4, end); }
.sruti-thinking[data-elapsed]::before { content: attr(data-elapsed) 's  '; font-size: 0.78em; font-weight: 400; opacity: 0.65; }
.sruti-response-time { font-size: 0.72rem; opacity: 0.45; margin-left: 6px; font-weight: 400; vertical-align: middle; }
.sruti-cot-block { margin: 6px 0 8px; border-left: 3px solid var(--sruti-border, rgba(255,255,255,0.12)); padding-left: 10px; }
.sruti-cot-summary { cursor: pointer; font-size: 0.76rem; font-weight: 500; color: var(--sruti-text, #ccc); opacity: 0.55; user-select: none; list-style: none; }
.sruti-cot-summary::-webkit-details-marker { display: none; }
.sruti-cot-summary::before { content: '▶ '; font-size: 0.65em; }
details[open] .sruti-cot-summary::before { content: '▼ '; }
.sruti-cot-content { margin-top: 6px; font-size: 0.8rem; line-height: 1.5; color: var(--sruti-text, #ccc); opacity: 0.6; white-space: pre-wrap; word-break: break-word; }

@keyframes sruti-dots { 0% { content: ''; } 25% { content: '.'; } 50% { content: '..'; } 75% { content: '...'; } 100% { content: ''; } }

/* Animación de "/" giratorio para Desktop */
@media (min-width: 768px) {
    .sruti-thinking::after { content: '/'; animation: sruti-spin 0.8s infinite; }
}

@keyframes sruti-spin {
    0% { content: '/'; }
    25% { content: '—'; }
    50% { content: '\\'; }
    75% { content: '|'; }
}

.sruti-welcome { opacity: 0.8; font-style: italic; }

/* Barra de restaurar sesión */
.sruti-restore-bar { display: flex; align-items: center; gap: 8px; background: rgba(187,134,252,0.06); border: 1px solid rgba(187,134,252,0.18); border-radius: 7px; padding: 7px 12px; margin-bottom: 14px; font-size: 0.8rem; color: var(--sruti-muted); }
.sruti-restore-bar span { flex: 1; }
.sruti-restore-btn { appearance: none; background: transparent; border: 1px solid rgba(187,134,252,0.35); color: var(--sruti-accent); padding: 4px 10px; border-radius: 5px; cursor: pointer; font-size: 0.78rem; transition: background 0.15s; white-space: nowrap; font-family: inherit; }
.sruti-restore-btn:hover { background: rgba(187,134,252,0.12); }
.sruti-restore-dismiss { appearance: none; background: transparent; border: none; color: rgba(255,255,255,0.2); cursor: pointer; font-size: 0.85rem; padding: 2px 4px; line-height: 1; transition: color 0.15s; font-family: inherit; }

/* Botones de acción de respuesta */
.sruti-retry-row { margin-top: 10px; }
.sruti-retry-btn { appearance: none; background: var(--sruti-accent); color: #111; border: none; padding: 6px 14px; border-radius: 6px; cursor: pointer; font-size: 0.82rem; font-weight: 600; font-family: inherit; transition: opacity 0.15s; }
.sruti-retry-btn:hover { opacity: 0.85; }
.sruti-retry-btn:disabled { opacity: 0.5; cursor: default; }
.sruti-copy-row { margin-top: 4px; display: flex; gap: 1px; opacity: 0; transition: opacity 0.18s; }
.sruti-msg-ai:hover .sruti-copy-row, .sruti-chat-wrapper-floating .sruti-copy-row { opacity: 1; }
.sruti-copy-btn { appearance: none; background: transparent; border: none; color: rgba(255,255,255,0.22); padding: 3px; border-radius: 3px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; line-height: 1; transition: all 0.12s; font-family: inherit; }
.sruti-copy-btn:hover { color: rgba(255,255,255,0.72); background: rgba(255,255,255,0.06); }
.sruti-copy-btn svg { width: 13px; height: 13px; display: block; pointer-events: none; }
.sruti-source-preview-btn { appearance: none; border: 1px solid rgba(3,218,198,0.45); background: rgba(3,218,198,0.1); color: var(--sruti-secondary); border-radius: 5px; padding: 3px 8px; margin: 2px 4px; cursor: pointer; font: inherit; font-size: 0.78rem; }
.sruti-source-preview-btn:hover { background: rgba(3,218,198,0.18); }
.sruti-source-preview-popover { position: fixed; z-index: 100000; width: min(340px, calc(100vw - 24px)); max-height: min(360px, calc(100vh - 24px)); overflow: hidden; display: none; background: #fff; color: #1a202c; border: 1px solid #d9e2ec; border-radius: 8px; box-shadow: 0 18px 44px rgba(15,23,42,0.22); }
.sruti-source-preview-head { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border-bottom: 1px solid #e2e8f0; }
.sruti-source-preview-head strong { font-size: 0.86rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sruti-source-preview-head button { appearance: none; border: none; background: transparent; color: #475569; cursor: pointer; font-size: 16px; }
.sruti-source-preview-body { overflow: auto; max-height: 310px; color: #1a202c; padding: 10px; }
.sruti-source-preview-body pre { white-space: pre-wrap; margin: 0; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 14px; color: #1a202c; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.sruti-source-preview-body img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.sruti-resp-content a { color: var(--sruti-secondary); text-decoration: underline; text-underline-offset: 2px; }
.sruti-resp-content a.sruti-internal-link { font-weight: 650; }
.sruti-resp-content a.sruti-external-link { color: #ffd166; }
.sruti-resp-content a.sruti-frontend-newtab { font-weight: 400; text-decoration: none; opacity: 0.6; font-size: 0.85em; margin-left: 2px; padding: 0 3px; border-radius: 4px; }
.sruti-resp-content a.sruti-frontend-newtab:hover { opacity: 1; background: rgba(187,134,252,0.18); }
.sruti-msg-time { display: inline-block; font-size: 0.68em; opacity: 0.45; margin-left: 6px; vertical-align: baseline; font-variant-numeric: tabular-nums; letter-spacing: 0.3px; cursor: default; }
.sruti-quick-send-wrap { display: inline-flex; align-items: center; gap: 4px; }
.sruti-quick-send { appearance: none; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; padding: 0; border: 1px solid rgba(187,134,252,0.45); border-radius: 5px; background: rgba(187,134,252,0.14); color: var(--sruti-accent); cursor: pointer; vertical-align: middle; transition: background 0.12s, transform 0.12s; }
.sruti-quick-send:hover { background: rgba(187,134,252,0.3); transform: translateY(1px); }
.sruti-quick-send:disabled { opacity: 0.5; cursor: default; }
.sruti-stale-anchor-notice { display: inline-flex; align-items: center; gap: 5px; margin-left: 6px; color: var(--sruti-muted); font-size: 0.86em; }
.sruti-saved-badge { display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; padding: 3px 9px; border: 1px solid rgba(3,218,198,0.45); border-radius: 999px; background: rgba(3,218,198,0.14); color: var(--sruti-secondary, #03DAC6); font-size: 0.78em; line-height: 1.2; }
.sruti-saved-badge svg { flex: 0 0 auto; }
/* Plan multi-paso */
.sruti-plan-card { margin: 8px 0; border: 1px solid rgba(187,134,252,0.30); border-radius: 10px; background: rgba(187,134,252,0.06); overflow: hidden; }
.sruti-plan-header { padding: 8px 12px 6px; border-bottom: 1px solid rgba(187,134,252,0.15); }
.sruti-plan-title { font-size: 0.76em; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: var(--sruti-accent); opacity: 0.85; }
.sruti-plan-steps { margin: 0; padding: 4px 0; list-style: none; }
.sruti-plan-step { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; appearance: none; background: transparent; border: none; border-bottom: 1px solid rgba(255,255,255,0.04); padding: 7px 12px; color: var(--sruti-text); cursor: pointer; font-family: inherit; font-size: 0.84em; transition: background 0.12s; }
.sruti-plan-step:last-child { border-bottom: none; }
.sruti-plan-step:hover:not(:disabled):not(.sruti-plan-step--done):not(.sruti-plan-step--active) { background: rgba(187,134,252,0.10); }
.sruti-plan-step:disabled { cursor: default; }
.sruti-plan-step-n { flex: 0 0 20px; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(187,134,252,0.45); border-radius: 50%; font-size: 0.74em; font-weight: 700; color: var(--sruti-accent); transition: all 0.15s; }
.sruti-plan-step-label { flex: 1; }
.sruti-plan-step-status { font-size: 0.82em; margin-left: auto; min-width: 14px; text-align: right; }
.sruti-plan-step--active .sruti-plan-step-n { border-color: var(--sruti-accent); background: rgba(187,134,252,0.20); }
.sruti-plan-step--active .sruti-plan-step-status::before { content: '\2026'; opacity: 0.6; }
.sruti-plan-step--done .sruti-plan-step-n { border-color: var(--sruti-secondary, #03DAC6); color: var(--sruti-secondary, #03DAC6); }
.sruti-plan-step--done .sruti-plan-step-status::before { content: '\2713'; color: var(--sruti-secondary, #03DAC6); }
.sruti-plan-step--error .sruti-plan-step-n { border-color: var(--sruti-error, #cf6679); color: var(--sruti-error, #cf6679); }
.sruti-plan-step--error .sruti-plan-step-status::before { content: '\2717'; color: var(--sruti-error, #cf6679); }
.sruti-plan-progress { padding: 6px 12px 8px; border-top: 1px solid rgba(187,134,252,0.12); }
.sruti-plan-bar { height: 3px; background: rgba(187,134,252,0.18); border-radius: 2px; margin-bottom: 5px; overflow: hidden; }
.sruti-plan-bar-fill { height: 100%; background: var(--sruti-accent); border-radius: 2px; transition: width 0.35s ease; width: 0%; }
.sruti-plan-status-text { font-size: 0.76em; opacity: 0.7; color: var(--sruti-text); }
.sruti-plan-footer { display: flex; gap: 8px; padding: 8px 12px; border-top: 1px solid rgba(187,134,252,0.15); align-items: center; }
.sruti-plan-run-all { appearance: none; display: inline-flex; align-items: center; gap: 5px; background: var(--sruti-accent); color: #111; border: none; padding: 5px 12px; border-radius: 6px; cursor: pointer; font-size: 0.82em; font-weight: 700; font-family: inherit; transition: opacity 0.15s; }
.sruti-plan-run-all:hover { opacity: 0.85; }
.sruti-plan-run-all:disabled { opacity: 0.45; cursor: default; }
.sruti-plan-cancel { appearance: none; background: transparent; border: 1px solid rgba(187,134,252,0.35); color: var(--sruti-text); padding: 4px 10px; border-radius: 6px; cursor: pointer; font-size: 0.78em; font-family: inherit; opacity: 0.75; transition: opacity 0.12s; }
.sruti-plan-cancel:hover { opacity: 1; }
.sruti-plan-card--done .sruti-plan-bar-fill { background: var(--sruti-secondary, #03DAC6); }
.sruti-plan-card--done .sruti-plan-title::after { content: ' \00B7 Completado'; color: var(--sruti-secondary, #03DAC6); text-transform: none; letter-spacing: 0; font-weight: 400; }
/* Nav guard: overlay de confirmación al navegar con respuesta en proceso */
.sruti-nav-guard-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.55); z-index: 999999; display: flex; align-items: center; justify-content: center; }
.sruti-nav-guard-box { background: var(--sruti-float-bg, #1e1e2e); border: 1px solid rgba(187,134,252,0.40); border-radius: 12px; padding: 22px 24px 18px; max-width: 340px; width: 90%; box-shadow: 0 8px 32px rgba(0,0,0,0.45); }
.sruti-nav-guard-msg { margin: 0 0 16px; font-size: 0.93em; color: var(--sruti-text, #e0e0e0); line-height: 1.45; }
.sruti-nav-guard-btns { display: flex; gap: 10px; justify-content: flex-end; }
.sruti-nav-guard-cancel { appearance: none; background: transparent; border: 1px solid rgba(187,134,252,0.40); color: var(--sruti-text, #e0e0e0); padding: 6px 14px; border-radius: 7px; cursor: pointer; font-size: 0.84em; font-family: inherit; transition: border-color 0.15s; }
.sruti-nav-guard-cancel:hover { border-color: var(--sruti-accent, #BB86FC); }
.sruti-nav-guard-go { appearance: none; background: var(--sruti-accent, #BB86FC); border: none; color: #fff; padding: 6px 14px; border-radius: 7px; cursor: pointer; font-size: 0.84em; font-family: inherit; font-weight: 600; transition: opacity 0.15s; }
.sruti-nav-guard-go:hover { opacity: 0.85; }
/* Panel interactivo de bloques de correos */
.sruti-email-block-nav { margin: 8px 0; border: 1px solid rgba(187,134,252,0.28); border-radius: 10px; background: rgba(187,134,252,0.05); padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; }
.sruti-email-block-info { font-size: 0.82em; color: var(--sruti-muted); }
.sruti-email-block-info strong { color: var(--sruti-text); }
.sruti-email-block-btns { display: flex; flex-wrap: wrap; gap: 5px; }
.sruti-email-block-btn { appearance: none; background: rgba(187,134,252,0.10); border: 1px solid rgba(187,134,252,0.40); border-radius: 6px; color: var(--sruti-text); cursor: pointer; font-family: inherit; font-size: 0.80em; padding: 4px 10px; transition: background 0.12s, border-color 0.12s; }
.sruti-email-block-btn:hover { background: rgba(187,134,252,0.22); }
.sruti-email-block-btn--active { background: rgba(187,134,252,0.30); border-color: var(--sruti-accent); font-weight: 700; }
.sruti-block-range { font-size: 0.86em; opacity: 0.70; }
.sruti-email-block-result { font-size: 0.84em; }
.sruti-email-block-result pre { margin: 4px 0 0; }
.sruti-email-block-label { font-size: 0.78em; color: var(--sruti-muted); margin-bottom: 4px; }
.sruti-download-btn { appearance: none; align-self: flex-start; background: transparent; border: 1px solid rgba(3,218,198,0.45); border-radius: 6px; color: var(--sruti-secondary, #03DAC6); cursor: pointer; font-family: inherit; font-size: 0.80em; padding: 4px 11px; transition: background 0.12s; }
.sruti-download-btn:hover { background: rgba(3,218,198,0.12); }
.sruti-download-btn:disabled { opacity: 0.55; cursor: default; }
.sruti-msg-user .sruti-msg-time, .sruti-msg-ai .sruti-msg-time { color: var(--sruti-text); }
.sruti-resp-content code { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.08); border-radius: 4px; padding: 1px 5px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.sruti-resp-content pre { background: rgba(0,0,0,0.25); border: 1px solid rgba(255,255,255,0.08); border-radius: 8px; padding: 10px; overflow-x: auto; white-space: pre-wrap; margin: 6px 0; }
.sruti-copyable-block { position: relative; margin: 6px 0; border: 1px solid rgba(3,218,198,0.24); border-radius: 8px; background: rgba(3,218,198,0.06); overflow: hidden; }
.sruti-copyable-block pre { margin: 0; padding: 8px 38px 8px 10px; border: 0; border-radius: 0; background: transparent; max-height: 360px; overflow: auto; }
.sruti-copy-block-btn { position: absolute; top: 4px; right: 4px; appearance: none; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; border: 1px solid rgba(3,218,198,0.55); background: rgba(3,218,198,0.16); color: var(--sruti-secondary); border-radius: 5px; cursor: pointer; line-height: 1; transition: background 0.12s, color 0.12s; }
.sruti-copy-block-btn:hover { background: rgba(3,218,198,0.24); }
.sruti-copy-block-btn svg { width: 14px; height: 14px; display: block; pointer-events: none; }
.sruti-copy-block-btn.is-copied { color: #6ee7b7; border-color: rgba(110,231,183,0.55); background: rgba(110,231,183,0.16); }
/* Checklist interactivo: estilo consola minimalista, compacto, una linea por opcion (ASCII [ ]/[x]). */
.sruti-interactive-checklist { --sruti-checklist-bg: rgba(0,0,0,0.18); --sruti-checklist-border: rgba(187,134,252,0.30); --sruti-checklist-hover: rgba(187,134,252,0.10); --sruti-checklist-button-bg: rgba(187,134,252,0.16); --sruti-checklist-button-border: rgba(187,134,252,0.55); --sruti-checklist-button-hover: rgba(187,134,252,0.28); margin: 0; border: 1px solid var(--sruti-checklist-border); border-left: 3px solid var(--sruti-accent); border-radius: 3px; background: var(--sruti-checklist-bg); padding: 4px 8px; display: grid; gap: 0; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 0.85em; box-shadow: none; }
.sruti-interactive-checklist strong { color: var(--sruti-accent); font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; font-size: 0.82em; opacity: 0.92; margin: 0; }
.sruti-interactive-options { display: grid; gap: 0; }
.sruti-interactive-options label { display: flex; align-items: baseline; gap: 0; color: var(--sruti-text); line-height: 1.25; cursor: pointer; padding: 0; margin: 0; }
.sruti-interactive-options label:hover { background: var(--sruti-checklist-hover); }
.sruti-interactive-options input { appearance: none; -webkit-appearance: none; -moz-appearance: none; width: 0; height: 0; margin: 0; padding: 0; border: 0; opacity: 0; flex: 0 0 0; }
.sruti-interactive-options label > span::before { content: "[ ] "; white-space: pre; color: var(--sruti-accent); font-family: inherit; }
.sruti-interactive-options input:checked + span::before { content: "[x] "; }
.sruti-interactive-submit { justify-self: start; appearance: none; border: 1px solid var(--sruti-checklist-button-border); background: var(--sruti-checklist-button-bg); color: var(--sruti-text); border-radius: 3px; padding: 2px 10px; cursor: pointer; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 0.78rem; margin: 6px 0 0; }
.sruti-interactive-submit::before { content: "> "; opacity: 0.7; }
.sruti-interactive-submit:hover { background: var(--sruti-checklist-button-hover); }
.sruti-interactive-submit:disabled { opacity: 0.62; cursor: default; }
.sruti-floating-theme-light .sruti-interactive-checklist,
.sruti-user-theme-light .sruti-interactive-checklist { --sruti-checklist-bg: #ffffff; --sruti-checklist-border: rgba(124,77,255,0.42); --sruti-checklist-hover: rgba(3,168,150,0.10); --sruti-checklist-button-bg: rgba(124,77,255,0.12); --sruti-checklist-button-border: rgba(124,77,255,0.70); --sruti-checklist-button-hover: rgba(124,77,255,0.20); box-shadow: 3px 3px 0 rgba(21,18,12,0.14); }
.sruti-floating-theme-dark .sruti-interactive-checklist,
.sruti-user-theme-dark .sruti-interactive-checklist { --sruti-checklist-bg: rgba(0,0,0,0.18); --sruti-checklist-border: rgba(187,134,252,0.30); --sruti-checklist-hover: rgba(187,134,252,0.10); --sruti-checklist-button-bg: rgba(187,134,252,0.16); --sruti-checklist-button-border: rgba(187,134,252,0.55); --sruti-checklist-button-hover: rgba(187,134,252,0.28); box-shadow: none; }
.sruti-resp-content ul { margin: 6px 0 6px 20px; padding: 0; }
.sruti-chat-wrapper-floating .sruti-resp-content { display: block; color: var(--sruti-text); opacity: 1; visibility: visible; min-height: 1.4em; }
.sruti-panels-container { margin-bottom: 0px; border-radius: 10px; overflow: hidden; border: 1px solid rgba(255,255,255,0.06); }
.sruti-backend-history-panel { position: absolute; inset: 48px 12px 68px; z-index: 8; display: none; flex-direction: column; overflow: hidden; border: 1px solid rgba(187,134,252,0.28); border-radius: 10px; background: var(--sruti-bg); box-shadow: 0 18px 42px rgba(0,0,0,0.38); }
.sruti-backend-history-panel.is-open { display: flex; }
.sruti-backend-history-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,0.08); color: var(--sruti-accent); }
.sruti-backend-history-close { appearance: none; border: none; background: transparent; color: var(--sruti-muted); cursor: pointer; font: inherit; font-size: 16px; line-height: 1; }
.sruti-backend-history-list { overflow: auto; padding: 8px; color: var(--sruti-text); font-size: 0.86rem; }
.sruti-backend-history-empty { margin: 6px 4px; color: var(--sruti-muted); }
.sruti-backend-history-item { display: grid; grid-template-columns: 1fr auto; gap: 6px; align-items: stretch; padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
.sruti-backend-history-item:last-child { border-bottom: none; }
.sruti-backend-history-load { appearance: none; border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.04); color: var(--sruti-text); border-radius: 7px; padding: 8px 10px; text-align: left; cursor: pointer; font: inherit; min-width: 0; }
.sruti-backend-history-load strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.88rem; }
.sruti-backend-history-load span { display: block; margin-top: 2px; color: var(--sruti-muted); font-size: 0.74rem; }
.sruti-backend-history-load:hover { border-color: rgba(3,218,198,0.35); background: rgba(3,218,198,0.08); }
.sruti-backend-history-delete { appearance: none; border: 1px solid rgba(255,90,90,0.28); background: rgba(255,90,90,0.08); color: #ff9b9b; border-radius: 7px; padding: 0 8px; cursor: pointer; font: inherit; font-size: 0.72rem; }

/* --- EDITOR FRONTEND --- */
.sruti-frontend-editor { display: none; background: #fff; color: #1A1A2E; border-radius: 10px; padding: 20px; max-height: 600px; overflow-y: auto; font-family: 'Segoe UI', Tahoma, sans-serif;}
.sruti-fe-tabs { display: flex; border-bottom: 2px solid #edf2f7; margin-bottom: 15px; flex-wrap: wrap; }
.sruti-fe-tab { padding: 10px 15px; cursor: pointer; font-weight: bold; color: #718096; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: color 0.2s; }
.sruti-fe-tab:hover { color: #2d3748; }
.sruti-fe-tab.active { color: var(--sruti-accent); border-bottom-color: var(--sruti-accent); }
.sruti-fe-panel { display: none; }
.sruti-fe-panel.active { display: block; }
.sruti-frontend-editor label { font-weight: bold; margin-top: 15px; display: block; font-size: 0.9rem; color: #4A5568;}

.sruti-fe-btn { appearance: none; background: var(--sruti-accent); color: #000; border: none; padding: 10px 18px; border-radius: 6px; cursor: pointer; font-weight: bold; font-family: inherit; transition: filter 0.2s; }
.sruti-fe-btn:hover { filter: brightness(1.1); }
.sruti-fe-btn-cancel { appearance: none; background: transparent; color: #718096; border: 1px solid #cbd5e0; padding: 10px 18px; border-radius: 6px; cursor: pointer; font-weight: bold; font-family: inherit; margin-right: 10px; transition: background 0.2s; }
.sruti-fe-btn-cancel:hover { background: #f7fafc; color: #2d3748; }
.sruti-fe-btn-sec { appearance: none; background: #EDF2F7; color: #2D3748; border: 1px solid #CBD5E0; padding: 8px 15px; border-radius: 6px; cursor: pointer; font-weight: bold; font-family: inherit; transition: background 0.2s;}
.sruti-fe-btn-sec:hover { background: #e2e8f0; }

.sruti-fe-history-item { border-left: 3px solid var(--sruti-secondary); padding: 10px; margin-bottom: 10px; background: #F7FAFC; border-radius: 0 6px 6px 0; font-size: 0.85rem;}
.sruti-fe-history-meta { color: #718096; font-size: 0.8rem; margin-bottom: 5px; }

.sruti-edit-rev-note {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.9rem;
    opacity: 0.4;
    transition: all 0.2s;
    padding: 2px 5px;
}
.sruti-edit-rev-note:hover {
    opacity: 1;
    transform: scale(1.2);
}

/* Modal de Notas Arrastrable */
.sruti-notes-modal {
    position: fixed;
    top: 60px;
    right: 40px;
    width: 450px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.3);
    z-index: 10000;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(187, 134, 252, 0.3);
    overflow: hidden;
    backdrop-filter: blur(10px);
}

.sruti-notes-modal-header {
    background: var(--sruti-bg);
    color: #fff;
    padding: 10px 15px;
    cursor: grab;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
}

.sruti-notes-modal-header:active {
    cursor: grabbing;
}

.sruti-notes-close-btn {
    background: none;
    border: none;
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    line-height: 1;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.sruti-notes-close-btn:hover {
    opacity: 1;
}

.sruti-notes-modal-body {
    padding: 15px;
    background: #fff;
}

.sruti-notes-textarea {
    width: 100%;
    height: 320px;
    border: 1px solid #edf2f7;
    border-radius: 10px;
    padding: 15px;
    font-family: 'Segoe UI', system-ui, sans-serif;
    font-size: 0.95rem;
    color: #2d3748;
    resize: vertical;
    background: #fdfdfd;
    line-height: 1.5;
    outline: none;
    transition: border-color 0.2s;
}
.sruti-notes-textarea:focus {
    border-color: var(--sruti-accent);
}

.sruti-btn-collab-trigger:hover {
    opacity: 1 !important;
    color: var(--sruti-accent) !important;
    text-decoration: underline;
}

/* Toasts */
.sruti-toast {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #2d3748;
    color: #fff;
    padding: 12px 24px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 10001;
    transform: translateY(100px);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.sruti-toast.show {
    transform: translateY(0);
    opacity: 1;
}

.sruti-toast.error {
    border-left: 4px solid var(--sruti-error);
}

.sruti-toast.success {
    border-left: 4px solid var(--sruti-success);
}

/* --- FLOATING ASSISTANTS --- */
.sruti-floating-root {
    --sruti-float-bg: #ffffff;
    --sruti-float-panel: #f6f1e7;
    --sruti-float-text: #15120c;
    --sruti-float-border: #15120c;
    --sruti-float-accent: #7c4dff;
    --sruti-float-secondary: #03a896;
    --sruti-float-accent-ink: #ffffff;
    --sruti-float-shadow: #15120c;
    font-family: inherit;
}
.sruti-floating-theme-dark {
    --sruti-float-bg: #121827;
    --sruti-float-panel: #0f172a;
    --sruti-float-text: #f7fafc;
    --sruti-float-border: rgba(255,255,255,0.12);
    --sruti-float-accent: #BB86FC;
    --sruti-float-secondary: #03DAC6;
    --sruti-float-accent-ink: #15120c;
    --sruti-float-shadow: rgba(0,0,0,0.36);
}
.sruti-floating-theme-light {
    --sruti-float-bg: #f6f1e7;
    --sruti-float-panel: #ffffff;
    --sruti-float-text: #15120c;
    --sruti-float-border: #15120c;
    --sruti-float-accent: #7c4dff;
    --sruti-float-secondary: #03a896;
    --sruti-float-accent-ink: #ffffff;
    --sruti-float-shadow: #15120c;
}
@media (prefers-color-scheme: dark) {
    .sruti-floating-theme-auto {
        --sruti-float-bg: #121827;
        --sruti-float-panel: #0f172a;
        --sruti-float-text: #f7fafc;
        --sruti-float-border: rgba(255,255,255,0.12);
        --sruti-float-accent: #BB86FC;
        --sruti-float-secondary: #03DAC6;
        --sruti-float-accent-ink: #15120c;
        --sruti-float-shadow: rgba(0,0,0,0.36);
    }
}
.sruti-floating-btn {
    position: fixed;
    z-index: 99990;
    min-width: 58px;
    height: 58px;
    border: 2px solid var(--sruti-float-border);
    border-radius: 999px;
    background: var(--sruti-float-accent);
    color: var(--sruti-float-accent-ink);
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 6px;
    cursor: pointer;
    box-shadow: 4px 4px 0 var(--sruti-float-shadow);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
    font: inherit;
}
.sruti-floating-btn:hover { transform: translate(-1px, -1px); filter: brightness(1.05); box-shadow: 6px 6px 0 var(--sruti-float-shadow); }
.sruti-floating-avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--sruti-float-panel);
    display: grid;
    place-items: center;
    overflow: hidden;
    font-weight: 800;
    color: var(--sruti-float-text);
    flex: 0 0 auto;
}
.sruti-floating-avatar img, .sruti-fan-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sruti-floating-teaser {
    max-width: 0;
    overflow: hidden;
    white-space: nowrap;
    opacity: 0;
    font-size: 0.86rem;
    font-weight: 700;
    transition: max-width 0.22s ease, opacity 0.18s ease, padding-right 0.18s ease;
}
.sruti-floating-btn:hover .sruti-floating-teaser, .sruti-floating-btn:focus-visible .sruti-floating-teaser {
    max-width: 190px;
    opacity: 1;
    padding-right: 12px;
}
.sruti-floating-mode-expanded .sruti-floating-teaser {
    max-width: 220px;
    opacity: 1;
    padding-right: 12px;
}
.sruti-floating-mode-expanded .sruti-floating-avatar {
    width: auto;
    min-width: 46px;
    max-width: 150px;
    padding: 0 12px;
    border-radius: 999px;
    white-space: nowrap;
}
.sruti-floating-mode-compact .sruti-floating-teaser { display: none; }
.sruti-float-anim-pulse { animation: sruti-float-pulse 2.8s ease-in-out infinite; }
.sruti-float-anim-glow { animation: sruti-float-glow 3.4s ease-in-out infinite; }
.sruti-float-anim-none { animation: none; }
@keyframes sruti-float-pulse {
    0%, 100% { box-shadow: 0 14px 34px rgba(0,0,0,0.26), 0 0 0 0 rgba(187,134,252,0.25); }
    50% { box-shadow: 0 14px 34px rgba(0,0,0,0.26), 0 0 0 10px rgba(187,134,252,0); }
}
@keyframes sruti-float-glow {
    0%, 100% { filter: brightness(1); }
    50% { filter: brightness(1.16); }
}
.sruti-floating-window {
    position: fixed;
    z-index: 99991;
    min-width: 360px;
    min-height: 500px;
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    display: none;
    flex-direction: column;
    box-sizing: border-box;
    background: var(--sruti-window-bg-custom, var(--sruti-float-bg));
    color: var(--sruti-window-text-custom, var(--sruti-float-text));
    border: 1px solid var(--sruti-float-border);
    border-radius: 18px;
    overflow: hidden;
    resize: both;
    box-shadow: 6px 6px 0 var(--sruti-float-shadow), 0 24px 70px rgba(0,0,0,0.18);
}
.sruti-floating-window > .sruti-chat-wrapper-floating {
    --sruti-bg: var(--sruti-window-bg-custom, var(--sruti-float-bg));
    --sruti-panel: var(--sruti-window-panel-custom, var(--sruti-float-panel));
    --sruti-accent: var(--sruti-window-accent-custom, var(--sruti-float-accent));
    --sruti-secondary: var(--sruti-window-secondary-custom, var(--sruti-float-secondary));
    --sruti-text: var(--sruti-window-text-custom, var(--sruti-float-text));
    --sruti-muted: var(--sruti-text);
    background: var(--sruti-bg) !important;
    color: var(--sruti-text);
}
.sruti-floating-window > .sruti-chat-wrapper-floating .sruti-chat-history,
.sruti-floating-window > .sruti-chat-wrapper-floating .sruti-resp-content pre {
    background: var(--sruti-panel);
}
.sruti-floating-window > .sruti-chat-wrapper-floating .sruti-input {
    background: var(--sruti-panel);
    color: var(--sruti-text);
    border-color: var(--sruti-float-border);
}
.sruti-floating-window > .sruti-chat-wrapper-floating .sruti-input::placeholder {
    color: var(--sruti-text);
    opacity: 0.62;
}
.sruti-floating-window.is-open { display: flex; animation: sruti-window-in 0.18s ease-out; }
@keyframes sruti-window-in {
    from { opacity: 0; transform: translateY(10px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.sruti-floating-resize {
    position: absolute;
    right: 3px;
    bottom: 3px;
    width: 16px;
    height: 16px;
    border: none;
    border-radius: 3px;
    background: transparent;
    color: var(--sruti-float-accent, #BB86FC);
    cursor: nwse-resize;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: color 0.15s, filter 0.15s;
}
.sruti-floating-resize:hover { color: var(--sruti-float-accent, #BB86FC); filter: brightness(1.2); }
.sruti-floating-mobile-grab { display: none; }

@media (min-width: 783px) {
    .sruti-floating-root.has-open.sruti-is-dock-mode .sruti-floating-btn,
    .sruti-floating-root.has-open.sruti-is-dock-mode .sruti-floating-hub {
        display: none !important;
    }
    .sruti-floating-window {
        resize: none;
    }
    .sruti-floating-window > .sruti-chat-wrapper-floating {
        inset: 0 !important;
        padding: 10px 12px 12px;
    }
    .sruti-floating-window > .sruti-chat-wrapper-floating .sruti-header {
        min-height: 30px;
        margin-bottom: 6px;
        padding-bottom: 6px;
        padding-left: 24px;
        cursor: grab;
        user-select: none;
    }
    .sruti-floating-window > .sruti-chat-wrapper-floating .sruti-header button,
    .sruti-floating-window > .sruti-chat-wrapper-floating .sruti-header input,
    .sruti-floating-window > .sruti-chat-wrapper-floating .sruti-header select,
    .sruti-floating-window > .sruti-chat-wrapper-floating .sruti-header a { cursor: pointer; }
    .sruti-floating-window.is-dragging > .sruti-chat-wrapper-floating .sruti-header { cursor: grabbing; }
    .sruti-floating-window > .sruti-chat-wrapper-floating .sruti-title {
        font-size: 0.92rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        min-width: 0;
    }
    .sruti-floating-resize {
        left: 4px;
        top: 4px;
        right: auto;
        bottom: auto;
        cursor: nwse-resize;
    }
}
.sruti-floating-hub { position: fixed; z-index: 99990; }
.sruti-floating-hub .sruti-floating-btn { position: static; }

/* Fan items: stacked on hub at rest, fanning out when expanded */
.sruti-fan-item {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    border: 2px solid var(--sruti-float-border);
    cursor: pointer;
    display: grid;
    place-items: center;
    box-shadow: 3px 3px 0 var(--sruti-float-shadow);
    font: inherit;
    overflow: visible;
    transform: scale(0);
    opacity: 0;
    transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1), opacity 0.18s ease;
    transition-delay: 0s;
    pointer-events: none;
}
.sruti-fan-item:hover { filter: brightness(1.08); }
.sruti-fan-item .sruti-floating-avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 1rem;
    overflow: hidden;
    flex-shrink: 0;
    color: inherit;
    background: transparent;
}
/* Tooltip label beside each fan item */
.sruti-fan-label {
    position: absolute;
    right: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%) translateX(6px);
    white-space: nowrap;
    background: var(--sruti-float-bg);
    color: var(--sruti-float-text);
    padding: 4px 10px;
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 600;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    border: 1px solid var(--sruti-float-border);
    opacity: 0;
    transition: opacity 0.15s, transform 0.15s;
    pointer-events: none;
}
.sruti-fan-item:hover .sruti-fan-label { opacity: 1; transform: translateY(-50%); }
/* Label on right for left-anchored hub */
.sruti-floating-hub-left .sruti-fan-item { right: auto; left: 0; }
.sruti-floating-hub-left .sruti-fan-label { right: auto; left: calc(100% + 10px); transform: translateY(-50%) translateX(-6px); }
.sruti-floating-hub-left .sruti-fan-item:hover .sruti-fan-label { transform: translateY(-50%); }
/* Top-anchored hub: fan items anchor to top corner */
.sruti-floating-hub-top .sruti-fan-item { bottom: auto; top: 0; }
/* Horizontal directions: label goes above the item */
.sruti-hub-dir-left .sruti-fan-label,
.sruti-hub-dir-right .sruti-fan-label {
    right: auto; left: 50%;
    top: auto; bottom: calc(100% + 8px);
    transform: translateX(-50%) translateY(-4px);
}
.sruti-hub-dir-left .sruti-fan-item:hover .sruti-fan-label,
.sruti-hub-dir-right .sruti-fan-item:hover .sruti-fan-label { transform: translateX(-50%); }
/* Direction vectors via CSS custom properties */
.sruti-hub-dir-up    .sruti-fan-item { --fan-tx: 0px;   --fan-ty: calc((var(--idx) + 1) * -72px); }
.sruti-hub-dir-down  .sruti-fan-item { --fan-tx: 0px;   --fan-ty: calc((var(--idx) + 1) *  72px); }
.sruti-hub-dir-left  .sruti-fan-item { --fan-tx: calc((var(--idx) + 1) * -72px); --fan-ty: 0px; }
.sruti-hub-dir-right .sruti-fan-item { --fan-tx: calc((var(--idx) + 1) *  72px); --fan-ty: 0px; }
/* Expanded: controlado exclusivamente por clase JS .is-expanded */
.sruti-floating-hub.is-expanded .sruti-fan-item {
    transform: translate(var(--fan-tx), var(--fan-ty)) scale(1);
    opacity: 1;
    pointer-events: auto;
    transition-delay: calc(var(--idx) * 0.055s);
}

@media (max-width: 1100px) {
    .sruti-floating-editor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sruti-editor-grid { grid-template-columns: 1fr; gap: 24px; }
}
/* ---- Dock de ventanas minimizadas ---- */
.sruti-floating-dock {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 99998;
    display: none;
    align-items: flex-end;
    gap: 8px;
    padding: 8px 12px;
    pointer-events: none;
}
.sruti-floating-dock.is-visible { display: flex; }
.sruti-dock-chip {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 10px 5px 6px;
    border-radius: 999px;
    border: 1.5px solid var(--sruti-float-border);
    background: var(--sruti-float-bg);
    color: var(--sruti-float-text);
    box-shadow: 3px 3px 0 var(--sruti-float-shadow), 0 6px 18px rgba(0,0,0,0.14);
    cursor: pointer;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 600;
    transition: transform 0.14s ease, box-shadow 0.14s ease;
    white-space: nowrap;
    max-width: 200px;
}
.sruti-dock-chip:hover { transform: translateY(-2px); box-shadow: 4px 4px 0 var(--sruti-float-shadow), 0 10px 24px rgba(0,0,0,0.18); }
.sruti-dock-chip-avatar {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--sruti-float-panel);
    display: grid;
    place-items: center;
    overflow: hidden;
    font-weight: 800;
    font-size: 0.72rem;
    flex: 0 0 auto;
}
.sruti-dock-chip-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sruti-dock-chip-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 120px;
}
.sruti-dock-chip-close {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--sruti-float-panel);
    border: 1px solid var(--sruti-float-border);
    display: grid;
    place-items: center;
    font-size: 0.72rem;
    line-height: 1;
    flex: 0 0 auto;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.12s;
}
.sruti-dock-chip-close:hover { opacity: 1; }
@media (max-width: 782px) { .sruti-floating-dock { display: none !important; } }
/* ---- fin Dock ---- */

@media (max-width: 1024px) {
    .sruti-floating-editor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 782px) {
    .sruti-master-container { padding: 16px; }
    .sruti-admin-shell { display: block; }
    .sruti-admin-sidebar { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 18px; }
    .sruti-dashboard-summary { grid-template-columns: 1fr; gap: 12px; }
    .sruti-section.card { margin-bottom: 18px; padding: 20px 18px; }
    .sruti-section h2 { font-size: 1.05rem; }
    .sruti-tools-grid { grid-template-columns: 1fr; gap: 16px; }
    .sruti-assistant-access-grid { grid-template-columns: 1fr; }
    .sruti-floating-editor-grid { grid-template-columns: 1fr; gap: 14px; }
    .sruti-editor-grid { gap: 20px; }
    .sruti-behavior-options { padding: 18px 16px; }
    .sruti-floating-editor-box { padding: 18px 16px; }
    .sruti-assistant-access-box { padding: 18px 16px; }
    .sruti-admin-topbar { flex-direction: column; align-items: flex-start; gap: 10px; }
    .sruti-master-container .sruti-admin-topbar h1 { font-size: 1.1rem; padding: 12px 14px; width: 100%; box-sizing: border-box; }
    .sruti-admin-tabs { gap: 4px; }
    .sruti-admin-tab { padding: 8px 10px; font-size: 0.85rem; }
    .sruti-floating-global-grid { flex-direction: column; align-items: stretch; gap: 14px; }
    .sruti-floating-global-grid select { min-width: 0; width: 100%; }
    .sruti-floating-window {
        bottom: 10px !important;
        top: auto !important;
        height: var(--sruti-m-h, 78vh) !important;
        min-width: 0;
        min-height: 240px;
        resize: none;
        max-width: calc(100vw - 20px) !important;
        max-height: calc(100vh - 20px) !important;
    }
    /* Posicion/ancho en movil segun config del asistente (data-mobile-pos) */
    .sruti-floating-window[data-mobile-pos="stretch"] { left: 10px !important; right: 10px !important; width: auto !important; }
    .sruti-floating-window[data-mobile-pos="center"] { left: 50% !important; right: auto !important; width: var(--sruti-m-w, 100%) !important; transform: translateX(-50%); }
    .sruti-floating-window[data-mobile-pos="left"]   { left: 10px !important; right: auto !important; width: var(--sruti-m-w, 100%) !important; }
    .sruti-floating-window[data-mobile-pos="right"]  { right: 10px !important; left: auto !important; width: var(--sruti-m-w, 100%) !important; }
    .sruti-floating-resize { display: none; }
    .sruti-floating-mobile-grab { display: block; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 96px; height: 20px; z-index: 7; cursor: ns-resize; touch-action: none; }
    .sruti-floating-mobile-grab::before { content: ""; position: absolute; top: 7px; left: 50%; transform: translateX(-50%); width: 46px; height: 5px; border-radius: 999px; background: var(--sruti-float-accent, #BB86FC); opacity: 0.55; }
    .sruti-chat-wrapper-floating .sruti-header { margin-bottom: 10px; }
    .sruti-chat-wrapper-floating .sruti-chat-history { padding: 14px; }
    .sruti-floating-btn { max-width: calc(100vw - 20px); }
    .sruti-floating-root.has-open .sruti-floating-btn,
    .sruti-floating-root.has-open .sruti-floating-hub { display: none !important; }
}

.sruti-prompt-modal {
    position: fixed;
    inset: 0;
    z-index: 100050;
    background: rgba(15,23,42,0.55);
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.sruti-prompt-modal-card {
    width: min(820px, 100%);
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 24px 70px rgba(15,23,42,0.35);
    overflow: hidden;
}
.sruti-prompt-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    font-weight: 700;
    border-bottom: 1px solid #e2e8f0;
}
.sruti-prompt-modal-x {
    appearance: none;
    border: none;
    background: transparent;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    color: #475569;
}
.sruti-prompt-modal-body { padding: 16px 18px; overflow: auto; }
.sruti-prompt-vars { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 12px; }
.sruti-prompt-var code {
    background: #eef2ff;
    color: #3730a3;
    border: 1px solid #c7d2fe;
    border-radius: 6px;
    padding: 2px 7px;
    font-size: 0.8rem;
    cursor: help;
}
.sruti-prompt-modal-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 18px;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}
.sruti-prompt-modal-foot > div { display: flex; gap: 8px; }

/* ===== Backend brutalista (claro por defecto + toggle oscuro) ===== */
.sruti-master-container {
    --b-paper: #f6f1e7;
    --b-card: #ffffff;
    --b-ink: #15120c;
    --b-line: #15120c;
    --b-accent: #7c4dff;
    --b-accent-ink: #ffffff;
    --b-muted: #5b5546;
    background: var(--b-paper) !important;
    color: var(--b-ink);
}
.sruti-master-container.sruti-admin-dark {
    --b-paper: #1b1b24;
    --b-card: #262630;
    --b-ink: #e7e4db;
    --b-line: #474753;
    --b-accent: #BB86FC;
    --b-accent-ink: #15120c;
    --b-muted: #9a9486;
}
.sruti-admin-topbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.sruti-master-container .sruti-admin-topbar h1 {
    margin: 0 0 16px; padding: 14px 18px;
    background: var(--b-accent); color: var(--b-accent-ink);
    border: 3px solid var(--b-line); border-radius: 0;
    box-shadow: 6px 6px 0 var(--b-line);
    font-weight: 800; letter-spacing: 0.5px;
}
/* Botones 3D */
.sruti-master-container .button,
.sruti-master-container .sruti-admin-tab,
.sruti-master-container .sruti-theme-toggle,
.sruti-master-container button.sruti-edit-btn,
.sruti-master-container button.sruti-duplicate-btn,
.sruti-master-container button.sruti-delete-btn {
    border: 2px solid var(--b-line);
    background: var(--b-card);
    color: var(--b-ink);
    border-radius: 0;
    font-weight: 700;
    box-shadow: 3px 3px 0 var(--b-line);
    transition: transform 0.05s ease, box-shadow 0.05s ease;
    cursor: pointer;
}
.sruti-master-container .button:hover,
.sruti-master-container .sruti-admin-tab:hover,
.sruti-master-container .sruti-theme-toggle:hover {
    transform: translate(-1px, -1px);
    box-shadow: 4px 4px 0 var(--b-line);
    background: var(--b-card);
}
.sruti-master-container .button:active,
.sruti-master-container .sruti-admin-tab:active,
.sruti-master-container .sruti-theme-toggle:active {
    transform: translate(3px, 3px);
    box-shadow: 0 0 0 var(--b-line);
}
.sruti-master-container .button-primary,
.sruti-master-container .sruti-admin-tab.active {
    background: var(--b-accent) !important;
    color: var(--b-accent-ink) !important;
    border-color: var(--b-line) !important;
}
.sruti-master-container .sruti-theme-toggle { padding: 8px 14px; display: inline-flex; align-items: center; gap: 8px; }
.sruti-master-container .sruti-admin-tabs { border-bottom: 3px solid var(--b-line); gap: 8px; padding-bottom: 0; }
.sruti-master-container .sruti-admin-tab { margin-bottom: -3px; }
/* Tarjetas / secciones */
.sruti-master-container .sruti-section.card {
    background: var(--b-card);
    color: var(--b-ink);
    border: 3px solid var(--b-line);
    border-radius: 0;
    box-shadow: 6px 6px 0 var(--b-line);
}
.sruti-master-container .sruti-section.card.active { box-shadow: 6px 6px 0 var(--b-accent); border-color: var(--b-line); }
.sruti-master-container .sruti-section h2 { color: var(--b-ink); border-bottom: 2px solid var(--b-line); }
.sruti-master-container h3 { color: var(--b-ink); }
.sruti-master-container .sruti-be-tabs { border-bottom-color: var(--b-line); }
.sruti-master-container .sruti-be-tab { color: var(--b-ink); }
.sruti-master-container .sruti-be-tab:hover { background: var(--b-paper); }
.sruti-master-container .sruti-be-tab.active { color: var(--b-accent); border-bottom-color: var(--b-accent); }
/* Cajas internas */
.sruti-master-container .sruti-behavior-options,
.sruti-master-container .sruti-assistant-access-box,
.sruti-master-container .sruti-lang-options-box,
.sruti-master-container .sruti-floating-editor-box,
.sruti-master-container .sruti-tools-grid > div,
.sruti-master-container .sruti-files-list,
.sruti-master-container .sruti-api-override-box {
    background: var(--b-card);
    color: var(--b-ink);
    border: 2px solid var(--b-line);
    border-radius: 0;
    box-shadow: 3px 3px 0 var(--b-line);
}
/* Inputs */
.sruti-master-container input[type="text"],
.sruti-master-container input[type="password"],
.sruti-master-container input[type="search"],
.sruti-master-container input[type="number"],
.sruti-master-container input[type="email"],
.sruti-master-container select,
.sruti-master-container textarea {
    background: var(--b-card) !important;
    color: var(--b-ink) !important;
    border: 2px solid var(--b-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.sruti-master-container input:focus,
.sruti-master-container select:focus,
.sruti-master-container textarea:focus {
    outline: none !important;
    box-shadow: 3px 3px 0 var(--b-accent) !important;
}
.sruti-master-container label,
.sruti-master-container .sruti-input-group label,
.sruti-master-container .sruti-col label { color: var(--b-ink); }
.sruti-master-container .description,
.sruti-master-container small { color: var(--b-muted); }
/* Tabla de asistentes */
.sruti-master-container .wp-list-table {
    border: 2px solid var(--b-line);
    border-radius: 0;
    background: var(--b-card);
    box-shadow: 3px 3px 0 var(--b-line);
}
.sruti-master-container .wp-list-table th,
.sruti-master-container .wp-list-table td,
.sruti-master-container .wp-list-table strong { color: var(--b-ink); }
.sruti-master-container .wp-list-table thead th { border-bottom: 2px solid var(--b-line); }
.sruti-master-container .wp-list-table code { background: var(--b-paper); color: var(--b-ink); border: 1px solid var(--b-line); }
.sruti-master-container .sruti-delete-btn { color: #c0392b; }
/* Modal de prompt en dark */
.sruti-master-container.sruti-admin-dark #sruti_prompt_modal .sruti-prompt-modal-card { background: var(--b-card); color: var(--b-ink); }
.sruti-master-container.sruti-admin-dark #sruti_prompt_modal .sruti-prompt-modal-head,
.sruti-master-container.sruti-admin-dark #sruti_prompt_modal .sruti-prompt-modal-foot { border-color: var(--b-line); background: var(--b-paper); }

/* ===== Spacing overrides for inline-styled elements in admin ===== */
.sruti-master-container .sruti-input-group { margin-bottom: 14px; }
.sruti-master-container .sruti-section.card > div[style*="display:flex"],
.sruti-master-container .sruti-section.card > div[style*="display:grid"] { margin-bottom: 8px; }
.sruti-master-container #sruti_assistant_form > div[style*="display:grid"] { gap: 24px !important; }
.sruti-master-container #sruti_assistant_form > div[style*="display:flex"][style*="background"] {
    background: var(--b-paper) !important;
    border: 2px solid var(--b-line) !important;
    border-radius: 0 !important;
    padding: 20px 24px !important;
    margin-top: 24px !important;
    box-shadow: 3px 3px 0 var(--b-line);
}
.sruti-master-container #sruti_assistant_form > div[style*="border-top"] {
    margin-top: 28px !important;
    padding-top: 20px !important;
    border-top: 2px solid var(--b-line) !important;
}
.sruti-master-container .sruti-col > div[style*="background:#f7fafc"] {
    background: var(--b-paper) !important;
    border: 2px solid var(--b-line) !important;
    border-radius: 0 !important;
    padding: 20px !important;
    box-shadow: 3px 3px 0 var(--b-line);
}
.sruti-master-container .wp-list-table td { padding: 12px 10px; }
.sruti-master-container .wp-list-table th { padding: 14px 10px; }
.sruti-master-container .sruti-nav-btn { color: var(--b-ink); }
.sruti-master-container .sruti-nav-btn:hover { background: var(--b-paper); color: var(--b-ink); }
.sruti-master-container .sruti-nav-btn.active { background: var(--b-accent); color: var(--b-accent-ink); }
.sruti-master-container .sruti-admin-sidebar {
    background: var(--b-card);
    border: 2px solid var(--b-line);
    border-radius: 0;
    box-shadow: 3px 3px 0 var(--b-line);
}
.sruti-master-container .sruti-dashboard-summary > div {
    background: var(--b-card);
    border: 2px solid var(--b-line);
    border-radius: 0;
    box-shadow: 3px 3px 0 var(--b-line);
}
.sruti-master-container .sruti-dashboard-summary span { color: var(--b-muted); }
.sruti-master-container .sruti-dashboard-summary strong { color: var(--b-ink); }
.sruti-master-container .sruti-status-msg.success { color: #2e7d32; }
.sruti-master-container.sruti-admin-dark .sruti-status-msg.success { color: #81c784; }
.sruti-master-container .sruti-status-msg.error { color: #c62828; }
.sruti-master-container.sruti-admin-dark .sruti-status-msg.error { color: #ef9a9a; }
.sruti-master-container .sruti-file-item { background: var(--b-card); border: 1px solid var(--b-line); color: var(--b-ink); }
.sruti-master-container .sruti-file-folder { background: var(--b-paper); border-color: var(--b-line); color: var(--b-ink); }
.sruti-master-container .sruti-folder-manager,
.sruti-master-container .sruti-wc-kb-panel,
.sruti-master-container .sruti-wc-kb-box,
.sruti-master-container .sruti-wc-import-process,
.sruti-master-container .sruti-folder-tree { background: var(--b-card); border-color: var(--b-line); color: var(--b-ink); }
.sruti-master-container .sruti-folder-row.active,
.sruti-master-container .sruti-folder-root.active { background: rgba(20, 184, 166, 0.14); }
.sruti-master-container .sruti-folder-pick { color: var(--b-ink); }
.sruti-master-container .sruti-folder-up,
.sruti-master-container .sruti-folder-down,
.sruti-master-container .sruti-folder-actions input,
.sruti-master-container .sruti-folder-actions select,
.sruti-master-container .sruti-file-note,
.sruti-master-container .sruti-wc-fields-list,
.sruti-master-container .sruti-wc-preview-card,
.sruti-master-container .sruti-wc-generated-file,
.sruti-master-container .sruti-wc-kb-box input[type="number"],
.sruti-master-container .sruti-wc-kb-panel input[type="number"],
.sruti-master-container .sruti-wc-kb-panel select,
.sruti-master-container .sruti-wc-process-grid input,
.sruti-master-container .sruti-folder-head select { background: var(--b-paper); border-color: var(--b-line); color: var(--b-ink); }
.sruti-master-container .sruti-wc-preview-card span { color: var(--b-muted); }
.sruti-master-container .sruti-page-selected { background: var(--b-paper); color: var(--b-muted); border: 1px solid var(--b-line); }
.sruti-master-container .sruti-page-selected.has-pages { background: var(--b-card); color: var(--b-ink); border-color: var(--b-line); }

/* Mobile admin extra overrides */
@media (max-width: 782px) {
    .sruti-master-container #sruti_assistant_form > div[style*="display:grid"] { grid-template-columns: 1fr !important; }
    .sruti-master-container #sruti_assistant_form > div[style*="display:flex"][style*="background"] { flex-direction: column !important; gap: 16px !important; }
    .sruti-master-container .sruti-section.card > div[style*="display:flex"] { flex-direction: column !important; align-items: stretch !important; gap: 14px !important; }
    .sruti-master-container .wp-list-table { font-size: 0.85rem; }
    .sruti-master-container .wp-list-table th,
    .sruti-master-container .wp-list-table td { padding: 10px 8px; }
    .sruti-master-container .sruti-file-actions { flex-direction: column; align-items: stretch; }
    .sruti-master-container .sruti-file-actions input[type="file"] { max-width: 100%; }
    .sruti-folder-head, .sruti-folder-actions { grid-template-columns: 1fr; flex-direction: column; align-items: stretch; }
    .sruti-wc-fields-grid { grid-template-columns: 1fr; }
    .sruti-folder-head select { max-width: 100%; }
    .sruti-file-item { align-items: stretch; flex-direction: column; gap: 8px; }
    .sruti-file-folder { width: 100%; }
    .sruti-file-note { width: 100%; }
}

/* ===== Sistema avanzado: prompts del backend ===== */
.sruti-sysprompts-wrap { margin-top: 18px; border: 1px solid #e0d7ec; border-radius: 8px; background: #fafaff; }
.sruti-sysprompts-summary { padding: 12px 14px; cursor: pointer; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; user-select: none; }
.sruti-sysprompts-summary::-webkit-details-marker { display: none; }
.sruti-sysprompts-caret { display: inline-block; transition: transform 0.15s ease; font-size: 0.9em; color: #6b5d8a; }
details[open] > .sruti-sysprompts-summary .sruti-sysprompts-caret { transform: rotate(90deg); }
.sruti-sysprompts-title { font-weight: 600; }
.sruti-sysprompts-summary small { flex-basis: 100%; color: #7a6f8e; }
.sruti-sysprompts-body { padding: 14px; border-top: 1px solid #e0d7ec; }

.sruti-sysprompts-editors { background: #fff; border: 1px dashed #d1c5e0; border-radius: 6px; padding: 12px; margin-bottom: 14px; }
.sruti-sysprompts-editors h4 { margin: 0 0 4px; }
.sruti-sysprompts-editors-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 8px; }
@media (max-width: 720px) { .sruti-sysprompts-editors-row { grid-template-columns: 1fr; } }

.sruti-sysprompts-toolbar { display: flex; gap: 10px; align-items: center; margin-bottom: 12px; }

.sruti-sysprompts-cards { display: flex; flex-direction: column; gap: 12px; }
.sruti-sysprompt-card { background: #fff; border: 1px solid #e0d7ec; border-radius: 6px; padding: 12px; }
.sruti-sysprompt-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 6px; }
.sruti-sysprompt-name { font-weight: 600; font-size: 0.98em; }
.sruti-sysprompt-badge { font-size: 0.72em; padding: 2px 8px; border-radius: 10px; text-transform: uppercase; letter-spacing: 0.04em; font-weight: 600; }
.sruti-sysprompt-badge-default { background: #eef0f4; color: #6b7280; }
.sruti-sysprompt-badge-mod { background: #fff0d6; color: #b45309; }
.sruti-sysprompt-badge-dirty { background: #fee2e2; color: #b91c1c; }

.sruti-sysprompt-desc { font-size: 0.82em; color: #6b6480; margin: 4px 0 8px; line-height: 1.45; }
.sruti-sysprompt-desc code { background: #f3eefb; padding: 1px 5px; border-radius: 3px; font-size: 0.92em; }
.sruti-sysprompt-placeholders { font-size: 0.82em; color: #6b6480; margin: 0 0 8px; }
.sruti-sysprompt-placeholders code { background: #ede8f7; padding: 1px 6px; border-radius: 3px; margin: 0 3px; }

.sruti-sysprompt-text { width: 100%; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 0.85rem; }
.sruti-sysprompt-card .sruti-sysprompt-badge-mod ~ * .sruti-sysprompt-text,
.sruti-sysprompt-card .sruti-sysprompt-text { transition: border-color 0.15s; }

.sruti-sysprompt-foot { display: flex; gap: 8px; align-items: center; margin-top: 8px; flex-wrap: wrap; }
.sruti-sysprompt-note { flex: 1; min-width: 220px; }

.sruti-sysprompt-history-panel { margin-top: 10px; background: #faf7ff; border: 1px solid #e0d7ec; border-radius: 4px; padding: 10px; max-height: 360px; overflow-y: auto; }
.sruti-sysprompt-hentry { padding: 8px 0; border-bottom: 1px dashed #e0d7ec; }
.sruti-sysprompt-hentry:last-child { border-bottom: 0; }
.sruti-sysprompt-hmeta { font-size: 0.85em; color: #555; }
.sruti-sysprompt-haction { display: inline-block; padding: 1px 6px; border-radius: 3px; background: #ede8f7; font-size: 0.8em; }
.sruti-sysprompt-hactions { margin-top: 4px; }
.sruti-sysprompt-hdiff { background: #1f1f2e; color: #d4d4d8; padding: 10px; border-radius: 4px; font-size: 0.78em; max-height: 280px; overflow: auto; white-space: pre-wrap; margin-top: 6px; }

.sruti-sysprompts-group { margin-bottom: 14px; border: 1px solid #e0d7ec; border-radius: 6px; background: #fff; }
.sruti-sysprompts-group-summary { padding: 10px 12px; cursor: pointer; display: flex; align-items: center; gap: 8px; font-weight: 600; user-select: none; }
.sruti-sysprompts-group-summary::-webkit-details-marker { display: none; }
details[open] > .sruti-sysprompts-group-summary .sruti-sysprompts-caret { transform: rotate(90deg); }

/* ── Bulk edit: prompt editor ── */
.sruti-prompt-editor { border: 1px solid #c4b5fd; border-radius: 8px; background: #faf8ff; margin: 10px 0; overflow: hidden; font-size: 0.87rem; }
.sruti-pe-header { display: flex; align-items: center; gap: 6px; padding: 8px 12px; background: #ede9fe; border-bottom: 1px solid #c4b5fd; }
.sruti-pe-header svg { flex: 0 0 auto; color: #7c3aed; }
.sruti-pe-label { font-weight: 600; color: #4c1d95; flex: 1; }
.sruti-pe-hint { font-size: 0.75em; color: #7c3aed; background: #ddd6fe; padding: 1px 7px; border-radius: 10px; }
.sruti-pe-textarea { display: block; width: 100%; box-sizing: border-box; padding: 10px 12px; border: none; border-bottom: 1px solid #e9d5ff; background: #fff; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 0.83rem; line-height: 1.5; resize: vertical; color: #1e1b4b; outline: none; }
.sruti-pe-textarea:focus { background: #fefcff; }
.sruti-pe-actions { display: flex; gap: 8px; padding: 8px 12px; flex-wrap: wrap; }
.sruti-pe-regen, .sruti-pe-launch { display: inline-flex; align-items: center; gap: 5px; padding: 5px 12px; border-radius: 6px; border: 1px solid; font-size: 0.82rem; cursor: pointer; font-weight: 500; transition: background 0.15s; }
.sruti-pe-regen  { background: #f5f3ff; border-color: #c4b5fd; color: #5b21b6; }
.sruti-pe-regen:hover  { background: #ede9fe; }
.sruti-pe-launch { background: #7c3aed; border-color: #7c3aed; color: #fff; }
.sruti-pe-launch:hover { background: #6d28d9; }
.sruti-pe-launch svg, .sruti-pe-regen svg { flex: 0 0 auto; }

/* ── Bulk edit: tarjeta de lote ── */
.sruti-bulk-card { border: 1px solid #a7f3d0; border-radius: 8px; background: #f0fdf4; margin: 10px 0; overflow: hidden; font-size: 0.87rem; }
.sruti-bulk-card--done { border-color: #6ee7b7; background: #ecfdf5; }
.sruti-bulk-header { display: flex; align-items: center; gap: 8px; padding: 9px 12px; background: #d1fae5; border-bottom: 1px solid #a7f3d0; }
.sruti-bulk-info { display: flex; flex-direction: column; gap: 1px; }
.sruti-bulk-title { font-weight: 600; color: #065f46; font-size: 0.9rem; }
.sruti-bulk-sub   { font-size: 0.76em; color: #059669; }
.sruti-bulk-actions { display: flex; gap: 8px; padding: 8px 12px; flex-wrap: wrap; }
.sruti-bulk-apply-btn, .sruti-bulk-preview-btn { display: inline-flex; align-items: center; gap: 5px; padding: 5px 12px; border-radius: 6px; border: 1px solid; font-size: 0.82rem; cursor: pointer; font-weight: 500; transition: background 0.15s; }
.sruti-bulk-apply-btn   { background: #059669; border-color: #059669; color: #fff; }
.sruti-bulk-apply-btn:hover:not(:disabled) { background: #047857; }
.sruti-bulk-apply-btn:disabled { opacity: 0.6; cursor: default; }
.sruti-bulk-preview-btn { background: #f0fdf4; border-color: #6ee7b7; color: #065f46; }
.sruti-bulk-preview-btn:hover, .sruti-bulk-preview-btn.active { background: #d1fae5; }
.sruti-bulk-result { padding: 8px 12px; font-size: 0.83rem; border-top: 1px solid #a7f3d0; }
.sruti-bulk-ok  { color: #065f46; font-weight: 600; }
.sruti-bulk-err { color: #b91c1c; font-weight: 600; }
.sruti-bulk-snap-id { font-size: 0.75em; color: #6b7280; font-family: ui-monospace, monospace; }
.sruti-bulk-undo-btn { margin-top: 5px; display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 5px; border: 1px solid #fca5a5; background: #fff7f7; color: #b91c1c; font-size: 0.8rem; cursor: pointer; }
.sruti-bulk-undo-btn:hover { background: #fee2e2; }
.sruti-bulk-preview-list { margin: 0; padding: 8px 12px 8px 30px; border-top: 1px solid #a7f3d0; background: #fff; max-height: 200px; overflow-y: auto; font-size: 0.82rem; color: #374151; line-height: 1.6; }
.sruti-bulk-preview-list li { padding: 2px 0; }
.sruti-bulk-pid { font-family: ui-monospace, monospace; font-size: 0.8em; color: #6b7280; margin-right: 6px; }
.sruti-sysprompts-group-body { padding: 12px; border-top: 1px solid #e0d7ec; display: flex; flex-direction: column; gap: 12px; }
