
:root{
  color-scheme:dark;
  --bg:#090b10;
  --sidebar:#0d1117;
  --panel:#111722;
  --panel2:#161d29;
  --line:#242b36;
  --line2:#344050;
  --text:#f3f6fb;
  --muted:#9aa5b5;
  --muted2:#667184;
  --accent:#dfff5d;
  --accentText:#101407;
  --danger:#ff7b8c;
  --success:#60e49f;
  --warning:#ffd36a;
  --sidebarWidth:300px;
  --contentWidth:920px;
}
*{box-sizing:border-box}
html,body{height:100%;width:100%}
body{
  margin:0;
  overflow:hidden;
  background:#090b10;
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.mobile-only{display:none!important}

/* Base buttons */
.icon-button{
  width:38px;height:38px;border-radius:11px;border:1px solid var(--line);
  background:#111722;color:#cfd7e3;display:grid;place-items:center;
}
.icon-button:hover{background:#172031;border-color:var(--line2);color:#fff}
.primary-button,.secondary-button,.danger-button{
  min-height:42px;border-radius:12px;padding:0 14px;font-weight:800;border:1px solid transparent;
}
.primary-button{background:var(--accent);color:var(--accentText)}
.secondary-button{background:#151b26;color:var(--text);border-color:var(--line)}
.danger-button{background:rgba(255,123,140,.10);color:#ffd2d9;border-color:rgba(255,123,140,.25)}
.eyebrow{margin:0;color:#cde979;font-size:11px;font-weight:850;letter-spacing:.16em}

/* Login */
.login-screen{
  min-height:100%;
  display:grid;
  place-items:center;
  padding:22px;
  background:
    radial-gradient(circle at 50% -10%,rgba(223,255,93,.10),transparent 32%),
    #090b10;
}
.login-ambient{display:none}
.login-shell{
  width:min(520px,100%);
  padding:30px;
  border-radius:24px;
  background:#101620;
  border:1px solid var(--line);
  box-shadow:0 30px 90px rgba(0,0,0,.45);
}
.login-brand-row{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.brand-logo,.hero-logo,.account-avatar,.settings-avatar{
  width:42px;height:42px;border-radius:13px;
  display:grid;place-items:center;
  background:var(--accent);
  color:var(--accentText);
  font-weight:950;
  flex:0 0 auto;
}
.brand-logo.large{width:66px;height:66px;border-radius:20px;font-size:32px}
.brand-title{font-size:27px;font-weight:900;letter-spacing:-.04em}
.brand-caption{margin-top:4px;color:var(--muted);font-size:11px;letter-spacing:.18em}
.login-copy-block h1{margin:8px 0 12px;font-size:38px;line-height:1.05;letter-spacing:-.045em}
.login-copy-block p{margin:0;color:var(--muted);line-height:1.65}
.login-form{margin-top:24px}
.login-form label{display:block;margin-bottom:8px;font-size:13px;color:#dce3ec;font-weight:750}
.key-field{
  display:flex;gap:10px;align-items:center;
  padding:10px 10px 10px 14px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#0c1119;
}
.key-field:focus-within{border-color:#5b6842}
.key-field input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text)}
.key-field input::placeholder{color:#687386}
.field-action{height:34px;padding:0 12px;border:0;border-radius:10px;background:#182130;color:#dce3ec}
.login-error{min-height:24px;margin-top:8px;color:#ffadb7;font-size:13px}
.login-submit{width:100%;margin-top:6px}
.login-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px;color:var(--muted2);font-size:12px}
.meta-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--success);margin-right:7px}

/* Layout */
.app-shell{
  height:100%;
  display:grid;
  grid-template-columns:var(--sidebarWidth) minmax(0,1fr);
  background:#090b10;
}
.sidebar{
  display:flex;
  flex-direction:column;
  min-width:0;
  background:#0c1017;
  border-right:1px solid var(--line);
  overflow:hidden;
}
.sidebar-top{padding:16px 14px 12px}
.sidebar-brand{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:44px;
  margin-bottom:14px;
}
.sidebar-brand-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.sidebar-brand-copy strong{font-size:18px;line-height:1;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-brand-copy span{font-size:12px;color:var(--muted)}
.new-chat-button{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 12px;
  border-radius:14px;
  border:1px solid #2d3542;
  background:#121925;
  color:var(--text);
}
.new-chat-button:hover{background:#172031;border-color:#3b4658}
.new-chat-button .button-icon{
  width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#1e2838;
}
.new-chat-button span:nth-child(2){flex:1;text-align:left;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.new-chat-button kbd{
  padding:3px 6px;border-radius:7px;background:#0c1119;border:1px solid var(--line);color:#aeb8c7;font-family:inherit;font-size:11px;
}
.chat-search-wrap{position:relative;margin-top:10px}
.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#707b8e}
.chat-search-wrap input{
  width:100%;
  height:40px;
  padding:0 12px 0 36px;
  border-radius:12px;
  border:1px solid var(--line)!important;
  background:#0a0e15!important;
  color:var(--text)!important;
  outline:0;
}
.chat-search-wrap input::placeholder{color:#697386}
.sidebar-section-title{padding:0 16px 8px;color:#dce3ec;font-size:12px;font-weight:850}
.chat-list{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:0 8px 10px;
}
.chat-list::-webkit-scrollbar,.conversation::-webkit-scrollbar,.settings-modal::-webkit-scrollbar{width:10px}
.chat-list::-webkit-scrollbar-thumb,.conversation::-webkit-scrollbar-thumb,.settings-modal::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.14);
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}
.chat-item-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) 28px;
  align-items:center;
  gap:5px;
  padding:2px;
  border-radius:12px;
}
.chat-item-wrap.active{background:#121925}
.chat-item{
  min-width:0;
  min-height:38px;
  padding:0 10px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#c5cedb;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.chat-item:hover{background:#151d2a;color:#fff}
.chat-delete{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  padding:0!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#707b8e!important;
  opacity:0!important;
  font-size:18px!important;
  line-height:1!important;
}
.chat-item-wrap:hover .chat-delete{opacity:1!important}
.chat-delete:hover{background:rgba(255,123,140,.12)!important;color:#ffbdc7!important}
.chat-empty{padding:14px 10px;color:var(--muted);font-size:13px}
.sidebar-footer{padding:12px 14px 16px;border-top:1px solid var(--line)}
.account-button{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#111722;
  color:var(--text);
  text-align:left;
}
.account-button:hover{background:#151d2a}
.account-avatar,.settings-avatar{width:38px;height:38px;border-radius:12px}
.account-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.account-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-copy small{font-size:12px;color:var(--muted)}
.chevron{color:var(--muted2)}
.privacy-note{margin-top:10px;color:var(--muted2);font-size:12px;line-height:1.4}

/* Main */
.main-panel{min-width:0;display:flex;flex-direction:column;position:relative;background:#090b10}
.topbar{
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 24px;
  border-bottom:1px solid var(--line);
  background:#090b10;
}
.model-heading{min-width:0}
.model-title-row{display:flex;align-items:center;gap:8px}
.model-title-row strong{font-size:22px;line-height:1;font-weight:900;letter-spacing:-.035em}
.beta-pill{height:22px;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;background:var(--accent);color:var(--accentText);font-size:10px;font-weight:950}
.connection-line{display:flex;align-items:center;gap:7px;margin-top:7px;color:var(--muted);font-size:13px}
.status-dot{width:9px;height:9px;border-radius:50%;background:#6d7786}
.status-dot.online{background:var(--success)}
.status-dot.busy{background:var(--warning)}
.status-dot.error{background:var(--danger)}
.topbar-actions{display:flex;gap:8px;flex:0 0 auto}
.conversation{
  flex:1;
  min-height:0;
  overflow:auto;
  scroll-behavior:smooth;
}
.empty-state{
  width:min(var(--contentWidth),calc(100% - 32px));
  margin:0 auto;
  padding:58px 0 178px;
  text-align:center;
}
.hero-logo{width:78px;height:78px;border-radius:24px;margin:0 auto 18px;font-size:38px}
.empty-state h1{margin:12px 0 10px;font-size:44px;line-height:1.05;letter-spacing:-.045em}
.hero-copy{width:min(680px,100%);margin:0 auto;color:var(--muted);line-height:1.65}
.suggestion-grid{margin-top:26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.suggestion{
  min-height:108px;
  padding:15px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#101620;
  color:var(--text);
  text-align:left;
}
.suggestion:hover{background:#141c29;border-color:#3b4658}
.suggestion-kicker{display:block;margin-bottom:8px;color:#cde979;font-size:10px;font-weight:900;letter-spacing:.12em}
.suggestion strong{display:block;margin-bottom:6px}
.suggestion span:last-child{display:block;color:var(--muted);font-size:13px;line-height:1.45}
.messages{
  width:min(var(--contentWidth),calc(100% - 32px));
  margin:0 auto;
  padding:24px 0 178px;
}
.message-inner{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:14px;
  padding:14px 0;
}
.message-row.user .message-inner{grid-template-columns:minmax(0,1fr)}
.message-avatar{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#121925;color:#dce3ec;border:1px solid var(--line);font-weight:900;
}
.message-body{min-width:0}
.message-row.user .message-body{max-width:min(78%,760px);margin-left:auto}
.message-content{
  padding:15px 17px;
  border-radius:18px;
  border:1px solid transparent;
  background:transparent;
  color:#edf2f7;
  font-size:16px;
  line-height:1.75;
  white-space:pre-wrap;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.message-row.user .message-content{
  background:#1a2230;
  border-color:#2b3545;
}
.message-content.pending{min-height:64px;display:flex;align-items:center}
.message-content.streaming::after{content:"";display:inline-block;width:8px;height:1em;margin-left:4px;background:var(--accent);animation:blink .9s infinite}
.typing-dots{display:flex;gap:5px}
.typing-dots i{width:7px;height:7px;border-radius:50%;background:#aeb8c7;opacity:.35;animation:pulse 1.1s infinite}
.typing-dots i:nth-child(2){animation-delay:.12s}.typing-dots i:nth-child(3){animation-delay:.24s}
.message-actions{display:flex;gap:10px;padding:8px 3px 0;color:var(--muted2);font-size:12px;min-height:26px}
.message-row.user .message-actions{justify-content:flex-end}
.message-actions button{border:0;background:transparent;color:inherit;padding:0}
.message-actions button:hover{color:#fff}
.message-actions .important-action{color:#d9ec76}

/* Markdown */
.markdown>:first-child{margin-top:0!important}.markdown>:last-child{margin-bottom:0!important}
.markdown p{margin:0 0 14px}
.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:22px 0 10px;line-height:1.25;letter-spacing:-.02em}
.markdown h1{font-size:28px}.markdown h2{font-size:23px}.markdown h3{font-size:19px}.markdown h4{font-size:17px}
.markdown strong{font-weight:850;color:#fff}
.markdown ul,.markdown ol{margin:10px 0 14px 24px;padding:0}.markdown li{margin:5px 0}
.markdown a{color:#dfff5d}
.markdown code.inline-code{padding:2px 6px;border-radius:7px;background:#111722;border:1px solid var(--line);color:#eafaa0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.code-block{margin:14px 0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#0c1119}
.code-toolbar{min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#131a25;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}
.code-toolbar button{border:0;background:transparent;color:#dce3ec}
.code-block pre{margin:0;padding:14px;overflow-x:auto}.code-block code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.6;color:#e0e7f0;white-space:pre}
.markdown-table-wrap{margin:14px 0;border:1px solid var(--line);border-radius:14px;overflow:auto}
.markdown table{width:100%;min-width:420px;border-collapse:collapse}
.markdown th,.markdown td{padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}
.markdown th{background:#111722}

/* Composer */
.composer-area{
  position:absolute;
  left:0;right:0;bottom:0;z-index:5;
  padding:20px 20px max(16px,env(safe-area-inset-bottom));
  background:linear-gradient(to top,#090b10 68%,rgba(9,11,16,0));
  pointer-events:none;
}
.composer-area>*{pointer-events:auto}
.cold-start-notice,.edit-banner,.composer,.composer-meta{width:min(var(--contentWidth),calc(100% - 8px));margin-left:auto;margin-right:auto}
.cold-start-notice,.edit-banner{margin-bottom:8px;border-radius:13px;font-size:13px}
.cold-start-notice{display:flex;gap:9px;align-items:center;padding:10px 12px;background:rgba(255,211,106,.08);border:1px solid rgba(255,211,106,.2);color:#d9c88f}
.spinner{width:13px;height:13px;border:1.5px solid rgba(255,211,106,.25);border-top-color:#f3d983;border-radius:50%;animation:spin .8s linear infinite}
.edit-banner{min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:rgba(223,255,93,.07);border:1px solid rgba(223,255,93,.18);color:#dce9a3}
.edit-banner button{border:0;background:transparent;color:#eef9bf}
.composer{
  display:flex;
  align-items:flex-end;
  gap:10px;
  padding:9px;
  border-radius:22px;
  border:1px solid #303a49;
  background:#111722;
  box-shadow:0 18px 44px rgba(0,0,0,.32);
}
.composer:focus-within{border-color:#53633e}
.composer textarea{
  flex:1;
  min-width:0;
  max-height:190px;
  resize:none;
  border:0;
  outline:0;
  background:transparent;
  color:var(--text);
  padding:10px 6px 10px 10px;
  font-size:16px;
  line-height:1.55;
}
.composer textarea::placeholder{color:#737f91}
.send-button{
  width:44px;height:44px;flex:0 0 44px;
  border:0;border-radius:14px;display:grid;place-items:center;
  background:var(--accent);color:var(--accentText);font-weight:950;font-size:17px;
}
.send-button:disabled{opacity:.35;cursor:not-allowed}
.send-button.stop{background:#e4ebf2;color:#111722}
.send-button.stop span{display:block;width:12px;height:12px;border-radius:3px;background:#111722;font-size:0}
.composer-meta{display:flex;justify-content:space-between;gap:10px;padding:6px 4px 0;color:var(--muted2);font-size:12px}

/* Settings */
.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:rgba(0,0,0,.62);padding:20px}
.settings-modal{width:min(540px,100%);max-height:min(680px,calc(100vh - 40px));overflow:auto;padding:22px;border-radius:22px;background:#101620;border:1px solid var(--line);box-shadow:0 30px 90px rgba(0,0,0,.45)}
.modal-header{display:flex;justify-content:space-between;gap:18px}.modal-header h2{margin:6px 0 0;font-size:28px}
.settings-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.account-summary{display:flex;align-items:center;gap:10px}
.account-summary div:last-child{display:flex;flex-direction:column;gap:3px}.account-summary span{color:var(--muted);font-size:13px}
.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}
.settings-card{padding:13px;border:1px solid var(--line);border-radius:14px;background:#111722}
.settings-card span{display:block;color:var(--muted);font-size:12px}.settings-card strong{display:block;margin-top:5px;font-size:18px}
.settings-section h3{margin:0 0 7px}.settings-section p{margin:0;color:var(--muted);line-height:1.6;font-size:14px}
.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.toast{position:fixed;right:18px;bottom:18px;z-index:60;max-width:min(420px,calc(100vw - 36px));padding:12px 14px;border-radius:13px;background:#1a2230;border:1px solid var(--line2);box-shadow:0 24px 70px rgba(0,0,0,.45);font-size:13px;color:#edf2f7}

@keyframes blink{0%,45%{opacity:.8}46%,100%{opacity:0}}
@keyframes pulse{0%,65%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}
@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:760px){
  :root{--sidebarWidth:290px}
  .mobile-only{display:grid!important}
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,88vw);z-index:20;transform:translateX(-102%);transition:transform .2s ease;box-shadow:0 28px 90px rgba(0,0,0,.45)}
  .sidebar.open{transform:translateX(0)}
  .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:11;background:rgba(0,0,0,.58)}
  .topbar{min-height:64px;padding:12px 10px}
  .model-title-row strong{font-size:19px}
  .empty-state{width:calc(100% - 22px);padding:46px 0 160px}
  .empty-state h1{font-size:34px}
  .suggestion-grid{grid-template-columns:1fr}
  .suggestion:nth-child(n+4){display:none}
  .messages{width:calc(100% - 18px);padding:18px 0 164px}
  .message-inner{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px 0}
  .message-avatar{width:34px;height:34px}
  .message-row.user .message-body{max-width:92%}
  .message-content{font-size:15px;padding:13px 14px}
  .composer-area{padding:12px 8px max(10px,env(safe-area-inset-bottom))}
  .cold-start-notice,.edit-banner,.composer,.composer-meta{width:calc(100% - 4px)}
  .composer-meta span:first-child{display:none}
  .composer-meta{justify-content:flex-end}
  .settings-actions,.settings-grid{grid-template-columns:1fr}
}


/* v15 — logo seguro, tamaño fijo, sin tocar el layout */
.logo-image {
  object-fit: contain !important;
  padding: 3px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.35));
}

.brand-logo.logo-image {
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  border-radius: 0 !important;
}

.brand-logo.large.logo-image {
  width: 66px !important;
  height: 66px !important;
  flex: 0 0 66px !important;
}

.hero-logo.logo-image {
  width: 76px !important;
  height: 76px !important;
  margin: 0 auto 18px !important;
  padding: 2px !important;
  border-radius: 0 !important;
}

.account-avatar,
.settings-avatar {
  overflow: hidden !important;
}

.account-avatar img,
.settings-avatar img {
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
  display: block !important;
}

.message-avatar {
  background-image: url("/assets/anonymous-logo.png") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 25px 25px !important;
  color: transparent !important;
}

@media (max-width:760px) {
  .hero-logo.logo-image {
    width: 64px !important;
    height: 64px !important;
  }
}


/* v17 — fix mínimo: evitar logo gigante en tarjeta de cuenta */
.sidebar-footer .account-avatar {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  flex: 0 0 38px !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  background: var(--accent) !important;
  color: var(--accentText) !important;
  font-weight: 950 !important;
}

.sidebar-footer .account-avatar img,
.settings-avatar img {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.sidebar-footer {
  overflow: hidden !important;
}

.account-button {
  overflow: hidden !important;
}


/* v18 — fix mínimo: recuperar sidebar, historial y topbar sin borrar datos */
html,
body {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  overflow: hidden !important;
}

body {
  position: fixed !important;
  inset: 0 !important;
}

.app-shell {
  position: fixed !important;
  inset: 0 !important;
  height: 100vh !important;
  width: 100vw !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: var(--sidebarWidth, 300px) minmax(0, 1fr) !important;
}

.sidebar {
  height: 100vh !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.sidebar-top {
  display: block !important;
  flex: 0 0 auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.sidebar-brand,
.new-chat-button,
.chat-search-wrap,
.sidebar-section-title {
  visibility: visible !important;
  opacity: 1 !important;
}

.chat-list {
  display: block !important;
  flex: 1 1 auto !important;
  min-height: 80px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.sidebar-footer {
  flex: 0 0 auto !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.main-panel {
  height: 100vh !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.topbar {
  display: flex !important;
  flex: 0 0 auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 6 !important;
}

.conversation {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.composer-area {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 10 !important;
}

/* Si algún scroll quedó desplazado por el deploy anterior, esto evita que el usuario vea solo la parte baja del sidebar */
.sidebar * {
  max-width: 100% !important;
}

/* El logo de la cuenta sigue bloqueado a tamaño pequeño */
.sidebar-footer .account-avatar {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  flex: 0 0 38px !important;
}

@media (max-width:760px) {
  .app-shell {
    grid-template-columns: 1fr !important;
  }
}


/* v19 — detalles beta comercial */
.legal-links {
  margin-top: 10px !important;
}
.legal-links a,
.privacy-note a {
  color: var(--accent) !important;
  text-decoration: none !important;
}
.legal-links a:hover,
.privacy-note a:hover {
  text-decoration: underline !important;
}
.settings-grid {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
}


/* v22 — composer siempre visible y concurrencia más clara */
.composer-area {
  position: fixed !important;
  left: var(--sidebarWidth) !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 60 !important;
  pointer-events: none !important;
}

.composer-area > * {
  pointer-events: auto !important;
}

.conversation {
  padding-bottom: 0 !important;
}

.messages {
  padding-bottom: 210px !important;
}

.empty-state {
  padding-bottom: 210px !important;
}

.send-button.stop {
  background: rgba(255, 211, 106, .18) !important;
  color: #ffe2a0 !important;
  border-color: rgba(255, 211, 106, .35) !important;
}

.send-button.stop #sendIcon {
  font-size: 13px !important;
  transform: translateY(-1px);
}

@media (max-width:760px) {
  .composer-area {
    left: 0 !important;
  }
  .messages,
  .empty-state {
    padding-bottom: 220px !important;
  }
}


/* v24 — blindaje definitivo: la barra de escribir nunca desaparece */
.app-shell:not([hidden]) .composer-area {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: fixed !important;
  left: var(--sidebarWidth, 300px) !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 9999 !important;
  transform: none !important;
  pointer-events: none !important;
  padding: 18px 20px max(14px, env(safe-area-inset-bottom)) !important;
  background: linear-gradient(to top, #090b10 76%, rgba(9,11,16,.92) 38%, rgba(9,11,16,0)) !important;
}

.app-shell:not([hidden]) .composer-area > * {
  pointer-events: auto !important;
}

.app-shell:not([hidden]) .composer {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 10000 !important;
}

.app-shell:not([hidden]) #promptInput {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 56px !important;
}

.app-shell:not([hidden]) #sendButton {
  visibility: visible !important;
  opacity: 1 !important;
}

.main-panel {
  padding-bottom: 0 !important;
}

.conversation {
  padding-bottom: 0 !important;
  scroll-padding-bottom: 230px !important;
}

.messages {
  padding-bottom: 235px !important;
}

.empty-state {
  padding-bottom: 235px !important;
}

/* Si el navegador quedó con estilos viejos en caché, esto gana por especificidad */
body .composer-area {
  clip: auto !important;
  clip-path: none !important;
  max-height: none !important;
  overflow: visible !important;
}

@media (max-width:760px) {
  .app-shell:not([hidden]) .composer-area {
    left: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .messages,
  .empty-state {
    padding-bottom: 245px !important;
  }
}
