.kevin-eyebrow{font-size:10px;letter-spacing:.15em;color:#c5662b}.kevin-shell{font-family:inherit;min-width:0}.kevin-shell .kevin-mark{flex-shrink:0;font-weight:600}.kevin-shell .kevin-message{box-sizing:border-box;min-width:0}.kevin-shell .kevin-source{margin-top:14px;font-size:11px;font-weight:400}.kevin-shell details{margin-top:12px;white-space:normal}.kevin-shell summary{cursor:pointer;font-size:12px;color:#4a5e75}.kevin-shell .kevin-table-wrap{max-width:100%}.kevin-prompts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.kevin-prompts button{font:inherit;font-size:12px;border:1px solid #e5e9ef;background:#fff;border-radius:20px;padding:7px 12px;color:#58687a;cursor:pointer}.kevin-prompts button:disabled{opacity:.5;cursor:not-allowed}.kevin-shell :focus-visible,#kevin-launcher:focus-visible,#kevin-dialog button:focus-visible{outline:3px solid #e98940;outline-offset:3px}
#kevin-launcher[hidden]{display:none!important}#kevin-launcher{position:fixed;right:24px;bottom:24px;z-index:1100;display:flex;align-items:center;gap:10px;border:1px solid #ffffff3b;border-radius:50px;background:#172c43;color:white;padding:12px 19px;font:inherit;font-size:14px;box-shadow:0 5px 24px #172c432b;cursor:pointer}#kevin-launcher span:first-child{display:grid;place-items:center;background:#ed873f;border-radius:50%;width:28px;height:28px;font-weight:600}
#kevin-dialog{position:fixed;inset:auto 18px 18px auto;margin:0;width:min(570px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 36px);box-sizing:border-box;border:1px solid #e0e6ee;border-radius:22px;padding:20px;background:#f7f9fc;box-shadow:0 22px 90px #10283c38;color:#172334;overflow:auto;z-index:1200}#kevin-dialog::backdrop{background:#0f203b3b;backdrop-filter:blur(2px)}.kevin-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:12px;color:#667085}.kevin-dialog-bar button{border:1px solid #dce3ec;border-radius:8px;padding:7px 12px;background:white;color:#344054;font:inherit;cursor:pointer}#kevin-dialog .kevin-head{margin-bottom:16px}#kevin-dialog .kevin-mark{width:44px;height:44px;border-radius:14px;font-size:23px}#kevin-dialog .kevin-head h2{font-size:24px}#kevin-dialog .kevin-head p{font-size:13px}#kevin-dialog .kevin-log{min-height:100px;max-height:30dvh;padding:16px}#kevin-dialog .kevin-message{max-width:100%;font-size:14px}#kevin-dialog .kevin-compose{padding:14px}#kevin-dialog .kevin-controls select{width:100%;font-size:12px}#kevin-dialog .kevin-note{font-size:11px}
@media(max-width:600px){#kevin-launcher{right:14px;bottom:calc(18px + env(safe-area-inset-bottom));padding:8px 13px}#kevin-dialog{inset:auto 8px 8px auto;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:14px}.kevin-shell .kevin-controls select{width:100%}.kevin-shell .kevin-actions{align-items:stretch}.kevin-shell .kevin-actions button{font-size:12px;padding:10px}.kevin-shell .kevin-message{max-width:100%}}
.kevin-shell [hidden]{display:none!important}.kevin-proposal{padding:20px;border-top:1px solid #efceaf;background:#fff8ef;font-size:13px;overflow-wrap:anywhere}.kevin-proposal p{color:#715f4c;font-size:12px}.kevin-proposal dl{display:grid;grid-template-columns:minmax(90px,1fr) 2fr;gap:8px;margin:16px 0}.kevin-proposal dt{color:#735d49}.kevin-proposal dd{margin:0;white-space:pre-wrap}.kevin-proposal button{border:0;border-radius:9px;padding:10px 14px;margin:5px 8px 0 0;cursor:pointer;font:inherit}.kevin-confirm{background:#cf641c;color:white}.kevin-cancel{background:#eee5dc;color:#463b32}.kevin-proposal button:disabled{opacity:.5;cursor:wait}
.kevin-pending .kevin-log,#kevin-dialog .kevin-pending .kevin-log{min-height:0;max-height:140px}.kevin-dialog-bar{position:sticky;top:-20px;padding:8px 0;background:#f7f9fc;z-index:2}@media(max-width:600px){.kevin-dialog-bar{top:-14px}}

/* Position is persisted by kevin_launcher.js; only this control captures drag. */
#kevin-launcher {
    --kevin-safe-top:env(safe-area-inset-top,0px);
    --kevin-safe-right:env(safe-area-inset-right,0px);
    --kevin-safe-bottom:env(safe-area-inset-bottom,0px);
    --kevin-safe-left:env(safe-area-inset-left,0px);
    box-sizing:border-box; min-height:48px; touch-action:none;
    user-select:none; -webkit-user-select:none; -webkit-touch-callout:none;
    cursor:grab; -webkit-tap-highlight-color:transparent;
}
#kevin-launcher.is-dragging { cursor:grabbing; box-shadow:0 10px 32px #10283c55; }
#kevin-launcher span:first-child { font-weight:400; }
#kevin-launcher::after { content:''; width:3px; height:12px; border-left:2px dotted #ffffff78; margin-left:2px; }
.kevin-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.kevin-shell .kevin-inventory-summary{border:1px solid #dce4f1;border-radius:12px;padding:12px;background:#f6f8fd;overflow-wrap:anywhere}.kevin-shell .kevin-inventory-summary>summary{font-weight:600;color:#203b68}.kevin-shell .kevin-inventory-summary p{font-size:11px;line-height:1.5;color:#596a80;margin:10px 0}.kevin-shell .kevin-inventory-summary dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;margin:10px 0;font-size:12px}.kevin-shell .kevin-inventory-summary dt,.kevin-shell .kevin-inventory-summary dd{margin:0}.kevin-shell .kevin-inventory-summary dd{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}
.kevin-dialog-tools { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.kevin-dialog-tools button { min-height:44px; }
@media(max-width:900px) {
    #kevin-launcher { width:52px; height:52px; min-height:52px; padding:7px; gap:0; justify-content:center; border-radius:50%; }
    #kevin-launcher span:first-child { width:34px; height:34px; font-size:16px; }
    #kevin-launcher .kevin-launcher-label { display:none; }
    #kevin-launcher::after { position:absolute; bottom:4px; left:20px; width:10px; height:0; margin:0; border-left:0; border-bottom:2px dotted #ffffff80; }
    .kevin-dialog-bar { align-items:center; flex-wrap:wrap; }
    .kevin-dialog-bar > span { flex:1 1 140px; }
}

/* Conversación: prioriza el historial y mantiene visible el cuadro de mensaje. */
.kevin-shell .kevin-compose textarea{min-height:66px;max-height:150px}.kevin-shell .kevin-note{line-height:1.5}.kevin-shell .kevin-log{min-height:220px}.kevin-shell .kevin-head{margin-bottom:14px}.kevin-shell .kevin-head h2{font-size:26px}#kevin-dialog{height:min(780px,calc(100dvh - 36px));display:flex;flex-direction:column;overflow:hidden}#kevin-dialog:not([open]){display:none}#kevin-dialog .kevin-dialog-bar{position:static;flex-shrink:0;margin-bottom:8px;padding:0}#kevin-dialog .kevin-shell{display:flex;flex-direction:column;min-height:0;flex:1}#kevin-dialog .kevin-head{flex-shrink:0;margin-bottom:10px}#kevin-dialog .kevin-head p{margin:2px 0}#kevin-dialog .kevin-card{display:flex;flex-direction:column;min-height:0;flex:1}#kevin-dialog .kevin-log{flex:1;min-height:70px;max-height:none;overscroll-behavior:contain}#kevin-dialog .kevin-compose{flex-shrink:0;padding:12px}#kevin-dialog .kevin-note{flex-shrink:0;margin:9px 2px 0;font-size:10px}#kevin-dialog .kevin-status{padding:10px 16px;font-size:12px}#kevin-dialog #kevin-settings{padding:8px 16px!important;font-size:11px!important}#kevin-dialog .kevin-proposal{max-height:40dvh;overflow:auto;flex-shrink:0}#kevin-dialog .kevin-pending .kevin-log{min-height:40px;max-height:none}@media(max-width:600px){#kevin-dialog{height:calc(100dvh - 16px);padding:12px}.kevin-head p{font-size:13px}#kevin-dialog .kevin-head{gap:10px}#kevin-dialog .kevin-head h2{font-size:22px}#kevin-dialog .kevin-note{font-size:10px}}
