*{box-sizing:border-box}body{margin:0;background:#f5f2eb;color:#171717;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}header{height:68px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dfdbd2;padding:0 max(18px,calc((100vw - 980px)/2));position:sticky;top:0;background:#f5f2ebee;backdrop-filter:blur(10px);z-index:5;font-size:13px}.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:17px}.brand b,.logo{width:34px;height:34px;border-radius:12px;background:#171717;color:#fff;display:grid;place-items:center}main{width:min(980px,calc(100% - 28px));margin:auto;padding-bottom:90px}.hero{padding:55px 0 28px}.hero>p{color:#777064}.hero h1{font-size:clamp(36px,7vw,64px);line-height:1;letter-spacing:-2px;max-width:700px;margin:8px 0 28px}.capture{background:#fff;border:1px solid #e0dbd1;border-radius:24px;padding:18px;box-shadow:0 18px 60px #302a1e0d}.capture textarea,.edit textarea{width:100%;min-height:120px;resize:vertical;border:0;outline:0;background:transparent;font-size:19px;line-height:1.5}.capture>div{display:flex;justify-content:space-between;align-items:center}.primary{border:0;border-radius:12px;background:#171717;color:#fff;padding:12px 17px;font-weight:800;cursor:pointer}.mic{border:1px solid #ddd7cd;width:48px;height:48px;border-radius:50%;background:#f7f4ed;font-size:20px}.mic.on{background:#171717;color:white}.saved{display:inline-block;margin:13px 0;background:#e6f6e9;color:#286039;border-radius:12px;padding:10px 13px}.ask{display:flex;gap:10px;align-items:center;background:#e9e4db;border-radius:15px;padding:0 15px;margin-top:14px}.ask input{border:0;outline:0;background:transparent;width:100%;padding:15px 0}.section-head{display:flex;align-items:end;justify-content:space-between;margin:18px 0 15px}.section-head small,.page>small{letter-spacing:1.6px;font-weight:900;font-size:10px;color:#837b70}.section-head h2{margin:5px 0 0}.section-head>a{font-size:13px;font-weight:800}.grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.card{background:#fff;border:1px solid #e0dbd1;border-radius:18px;padding:18px;min-height:178px;display:flex;flex-direction:column}.card span,.row span,.tag{font-size:10px;font-weight:800;background:#efebe3;border-radius:999px;padding:5px 9px;width:max-content;color:#71695e}.card h3{margin:14px 0 6px}.card p,.row p{margin:0;color:#6e675e}.card time{margin-top:auto;padding-top:15px;font-size:10px;color:#989084}.empty{grid-column:1/-1;text-align:center;border:1px dashed #d8d1c6;background:#fff;border-radius:18px;padding:38px;color:#6c665d}.page{padding:44px 0}.page h1{font-size:40px;margin:5px 0 20px}.search{display:flex;gap:8px}.search input{flex:1;border:1px solid #dcd6cc;background:#fff;border-radius:12px;padding:13px;outline:0}.list{display:grid;gap:10px;margin-top:22px}.row{display:flex;justify-content:space-between;gap:20px;background:#fff;border:1px solid #e0dbd1;border-radius:16px;padding:16px}.row h3{margin:8px 0 4px}.row time{font-size:10px;color:#91897d}.detail{max-width:720px;padding:48px 0}.detail>.tag{display:block;margin-top:30px}.detail h1{font-size:38px;line-height:1.1}.source{color:#81796e}.edit{background:#fff;border:1px solid #e0dbd1;border-radius:18px;padding:16px}.edit button{display:block;margin-left:auto}.delete{border:0;background:transparent;color:#b42318;font-weight:800;padding:18px 0;cursor:pointer}.auth{min-height:100vh;display:grid;place-items:center;background:#171717;padding:20px}.auth-card{width:min(420px,100%);background:#f7f4ed;border-radius:25px;padding:32px}.auth-card h1{font-size:36px;margin:18px 0 4px}.auth-card>p{color:#736c62}.auth-card label{display:block;font-size:12px;font-weight:800;margin:15px 0 6px}.auth-card input{width:100%;border:1px solid #ddd6cb;border-radius:11px;padding:13px}.auth-card form button{width:100%;margin-top:20px;border:0;border-radius:12px;padding:13px;background:#171717;color:white;font-weight:800}.switch{text-align:center;font-size:12px}.switch a{font-weight:900}.error{background:#ffedeb;color:#9b2b22;padding:10px;border-radius:10px}nav{display:none}@media(max-width:650px){.grid{grid-template-columns:1fr}.hero{padding-top:36px}.hero h1{letter-spacing:-1px}.row{display:block}.row time{display:block;margin-top:10px}nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:70px;background:#faf8f3ee;border-top:1px solid #e1dcd3;z-index:10}nav a{width:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:20px}nav span{font-size:10px;font-weight:800}.search{display:grid}.detail h1{font-size:30px}}.ai-result{margin-top:14px;border-radius:18px;padding:18px;border:1px solid #ded8ce;background:#fff}.ai-result.answer{background:#171717;color:#fff;border-color:#171717}.ai-result.error{background:#fff0ee;border-color:#f0c8c2;color:#8b211a}.ai-result-label{font-size:10px;font-weight:900;letter-spacing:1.5px;opacity:.62;margin-bottom:8px}.ai-result-text{font-size:20px;line-height:1.4;font-weight:700}.ai-summary{margin-top:8px;opacity:.72}.sources{display:grid;gap:6px;margin-top:15px;padding-top:12px;border-top:1px solid #ffffff2a}.sources a{font-size:12px;text-decoration:underline}.ai-result:not(.answer) .sources{border-top-color:#e4dfd5}.examples{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.examples button{border:1px solid #ddd7cc;background:transparent;border-radius:999px;padding:8px 11px;color:#6d665c;font-size:11px;cursor:pointer}.ai-result details{margin-top:10px;opacity:.7}.ai-result summary{cursor:pointer;font-size:11px}

.confidence{display:inline-flex;margin-top:10px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.confidence-alta{background:#e7f6eb;color:#2d6a3c}.confidence-media{background:#fff4d8;color:#7b5a0a}.confidence-baja{background:#ffebe8;color:#9d3429}

.capture-buttons{display:flex;justify-content:space-between;align-items:center;gap:12px}.voice-controls{display:flex;align-items:center;gap:8px;min-width:0}.speaker-toggle{border:1px solid #ddd7cd;width:42px;height:42px;border-radius:50%;background:#f7f4ed;font-size:17px;cursor:pointer}.voice-status{font-size:12px;color:#746d63;white-space:nowrap}.mic.on{animation:voicePulse 1.1s ease-in-out infinite}@keyframes voicePulse{0%,100%{box-shadow:0 0 0 0 rgba(23,23,23,.15)}50%{box-shadow:0 0 0 9px rgba(23,23,23,.08)}}@media(max-width:650px){.voice-status{position:absolute;margin-top:72px;left:18px}.capture-buttons{position:relative;margin-bottom:6px}}

.reminder-confirm{margin-top:10px;font-size:13px;font-weight:800}.reminder-confirm a{text-decoration:underline}.reminder-actions{display:flex;align-items:center;gap:7px}.reminder-actions form{margin:0}.mini-action{border:1px solid #d8d1c6;background:#f6f2ea;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer}.danger-mini{color:#a52a22}.reminder-row{align-items:center}
@media(max-width:650px){nav a{width:33.333%}.reminder-actions{margin-top:12px}.reminder-row{display:block}}

/* =========================================================
   ACUÉRDATE V0.3.7 — DISEÑO ZOIA / RESPONSIVE
   ========================================================= */
:root{
  --ink:#111827;
  --ink-2:#1b2433;
  --cream:#f7f4ee;
  --paper:#ffffff;
  --line:#ebe7df;
  --muted:#747b87;
  --accent:#4f46e5;
  --accent-soft:#eef2ff;
  --accent-deep:#4338ca;
  --shadow:0 18px 55px rgba(17,24,39,.08);
  --radius:22px;
}
html{background:var(--cream)}
body{background:var(--cream);color:var(--ink)}
.app-layout{min-height:100vh;display:flex}
.desktop-sidebar{width:238px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,#101722 0%,#151d29 100%);color:#fff;padding:22px 16px 18px;display:flex;flex-direction:column;z-index:50;box-shadow:8px 0 35px rgba(17,24,39,.08)}
.sidebar-logo{display:flex;align-items:center;gap:10px;padding:6px 8px 20px;font-size:20px;font-weight:900;letter-spacing:-.4px}
.sidebar-logo img{width:42px;height:42px;border-radius:13px;object-fit:cover}
.sidebar-caption{font-size:9px;letter-spacing:1.7px;color:#778292;font-weight:900;padding:0 12px 10px}
.desktop-nav{display:grid!important;position:static!important;height:auto!important;background:transparent!important;border:0!important;gap:6px;padding:0!important}
.desktop-nav a{width:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:12px;padding:12px 13px;border-radius:13px;color:#cbd2dc;font-size:14px!important;font-weight:700}
.desktop-nav a span{font-size:18px!important;width:22px;text-align:center}
.desktop-nav a:hover{background:#ffffff0d;color:#fff}
.desktop-nav a.active{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;box-shadow:0 10px 28px rgba(79,70,229,.24)}
.sidebar-spacer{flex:1}
.sidebar-secondary{display:block;padding:10px 12px;color:#bac3cf;font-size:13px;font-weight:700;border-radius:10px;margin-bottom:10px}.sidebar-secondary:hover{background:#ffffff0d;color:#fff}
.sidebar-user{display:flex;gap:10px;align-items:center;border-top:1px solid #ffffff14;padding:16px 8px 10px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#d9e1ff;color:#313d70;font-weight:900}.sidebar-user-text{display:grid;min-width:0}.sidebar-user-text strong{font-size:12px}.sidebar-user-text small{font-size:9px;color:#8792a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px}
.close-app-btn{border:1px solid #ffffff26;background:#ffffff08;color:#fff;border-radius:12px;padding:10px;font-weight:800;cursor:pointer;margin:5px 5px 8px}.logout-link{text-align:center;color:#8390a1;font-size:10px;padding:5px}.logout-link:hover{color:#fff}
.main-column{margin-left:238px;width:calc(100% - 238px);min-height:100vh}
.topbar{height:72px;position:sticky;top:0;z-index:40;background:rgba(247,244,238,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(223,219,210,.8);padding:0 34px;display:flex;align-items:center;justify-content:flex-end}
.mobile-brand{display:none;align-items:center;gap:9px;font-weight:900}.mobile-brand img{width:38px;height:38px;border-radius:12px}
.topbar-actions{display:flex;gap:8px}.top-icon{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink)}button.top-icon{font:inherit}
.app-main{width:min(1180px,calc(100% - 64px));margin:auto;padding:34px 0 70px}
.dashboard-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px}.hello-line{font-size:14px;color:var(--muted);font-weight:700}.dashboard-heading h1{font-size:clamp(30px,4vw,48px);margin:5px 0 0;letter-spacing:-1.6px}
.voice-panel{background:linear-gradient(145deg,#fff 0%,#f8faff 100%);border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow);position:relative;overflow:hidden}.voice-panel:before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(79,70,229,.12),transparent 65%);top:-170px;right:-100px;pointer-events:none}.voice-panel-copy{text-align:center;max-width:650px;margin:0 auto 20px}.voice-panel-copy h2{font-size:27px;margin:6px 0}.voice-panel-copy p{color:var(--muted);margin:0;line-height:1.5}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:900;color:var(--accent-deep)}
.capture{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;max-width:780px;margin:0 auto}.big-mic-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 0 20px}.mic-symbol{line-height:1}.voice-status{position:static!important;margin:10px 0 0!important;left:auto!important;font-size:12px!important;color:var(--accent-deep)!important;font-weight:800!important}.capture textarea{min-height:88px!important;background:#f8f6f2!important;border:1px solid #e9e4da!important;border-radius:18px!important;padding:16px 18px!important;font-size:16px!important}.capture textarea:focus{border-color:#818cf8!important;box-shadow:0 0 0 4px rgba(79,70,229,.10)}.capture-buttons{margin-top:12px!important}.speaker-toggle{width:48px!important;height:48px!important;background:#fff!important}.send-button{min-width:130px;padding:14px 24px!important;background:var(--ink)!important}
.ai-result{max-width:780px;margin:16px auto 0!important}.ai-result.answer{background:var(--ink)!important}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.dashboard-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 10px 35px rgba(17,24,39,.045)}.dashboard-card .section-head{margin:0 0 12px}.dashboard-card .section-head h2{font-size:20px}.compact-list{display:grid}.compact-row{display:grid;grid-template-columns:38px 1fr 16px;gap:10px;align-items:center;padding:11px 2px;border-bottom:1px solid #f0ece5}.compact-row:last-child{border-bottom:0}.compact-icon{width:34px;height:34px;border-radius:50%;background:#eef2ff;display:grid;place-items:center}.compact-row div{display:grid;gap:3px}.compact-row strong{font-size:13px}.compact-row small{font-size:10px;color:#89909b}.compact-row>b{color:#a4a9b1;font-size:20px}.empty-mini{padding:20px 4px;color:var(--muted);font-size:13px}
/* Páginas internas */
.page{padding:10px 0 45px!important}.page h1{letter-spacing:-1px}.row,.edit,.memory-card,.card{border-color:var(--line)!important;box-shadow:0 8px 28px rgba(17,24,39,.04)}
.mobile-bottom-nav{display:none!important}
.closed-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#111827,#1b2433)}.closed-card{width:min(460px,100%);background:#fff;border-radius:28px;padding:34px;text-align:center;box-shadow:0 25px 80px rgba(0,0,0,.22)}.closed-card img{width:90px;height:90px;border-radius:24px}.closed-card h1{font-size:34px;margin:18px 0 8px}.closed-card p{color:var(--muted);line-height:1.55}.button-link{display:inline-block;margin-top:10px}.subtle-link{display:block;margin-top:18px;font-size:11px;color:#8a8f98}
/* Login más cercano a la marca */
.auth{background:radial-gradient(circle at 20% 0%,#2a3547,#111827 55%,#0c1119)!important}.auth-card{background:#fff!important;border:1px solid #ffffff22!important;box-shadow:0 28px 90px rgba(0,0,0,.3)!important}.auth-card .logo{background:linear-gradient(145deg,#22b8f0 0%,#2563eb 42%,#7c3aed 100%)!important}.auth-card form button{background:var(--ink)!important}

@media (max-width:850px){
  .desktop-sidebar{display:none}.main-column{margin-left:0;width:100%}.topbar{height:64px;padding:0 14px;justify-content:space-between}.mobile-brand{display:flex}.app-main{width:min(100% - 24px,780px);padding:25px 0 95px}.mobile-bottom-nav{display:flex!important;position:fixed;bottom:0;left:0;right:0;height:72px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:60;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav a{width:33.333%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px;color:#737b87;font-size:20px!important}.mobile-bottom-nav a small{font-size:9px;font-weight:800}.mobile-bottom-nav a.active{color:var(--accent-deep)}.dashboard-grid{grid-template-columns:1fr}.voice-panel{padding:24px 18px}.dashboard-heading h1{font-size:34px}.close-top{display:grid}.grid{grid-template-columns:1fr}.row{display:block}.row time{display:block;margin-top:10px}.search{display:grid}.detail h1{font-size:30px}
}
@media (min-width:851px){.close-top{display:none}.topbar-actions{margin-left:auto}}

.header-close-btn{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:0}
.header-close-btn:hover{opacity:.72}

.brand-logo{width:34px;height:34px;border-radius:10px;object-fit:cover;display:block}
.login-brand-logo{width:72px;height:72px;border-radius:20px;display:block;margin-bottom:18px;box-shadow:0 10px 28px rgba(79,70,229,.18)}


/* =========================================================
   ACUÉRDATE V0.3.10 — PALETA AZUL / VIOLETA
   Sobrescribe cualquier resto de la antigua paleta marrón.
   ========================================================= */
:root{
  --accent:#4f46e5;
  --accent-soft:#eef2ff;
  --accent-deep:#4338ca;
  --accent-blue:#2563eb;
  --accent-cyan:#22b8f0;
  --accent-violet:#7c3aed;
}

.desktop-nav a.active{
  background:linear-gradient(135deg,var(--accent-blue),var(--accent-violet))!important;
  box-shadow:0 10px 28px rgba(79,70,229,.24)!important;
}

.voice-panel{
  background:linear-gradient(145deg,#fff 0%,#f8faff 100%)!important;
}
.voice-panel:before{
  background:radial-gradient(circle,rgba(79,70,229,.12),transparent 65%)!important;
}
.eyebrow,
.voice-status,
.mobile-bottom-nav a.active,
.section-head>a{
  color:var(--accent-deep)!important;
}

.mic:not(.mic-large){
  background:linear-gradient(145deg,var(--accent-cyan) 0%,var(--accent-blue) 42%,var(--accent-violet) 100%)!important;
  border-color:#e8edff!important;
  color:#fff!important;
}


.mic:not(.mic-large).on{
  background:linear-gradient(145deg,#2563eb,#6d28d9)!important;
  border-color:#dfe4ff!important;
}


.mic.on{
  animation:voicePulseBlue 1.1s ease-in-out infinite!important;
}
@keyframes voicePulseBlue{
  0%,100%{box-shadow:0 0 0 0 rgba(79,70,229,.22)}
  50%{box-shadow:0 0 0 12px rgba(79,70,229,.10)}
}

.capture textarea:focus,
.search input:focus,
.auth-card input:focus{
  border-color:#818cf8!important;
  box-shadow:0 0 0 4px rgba(79,70,229,.10)!important;
  outline:0;
}

.primary,
.send-button,
.auth-card form button{
  background:linear-gradient(135deg,var(--accent-blue),var(--accent-violet))!important;
  color:#fff!important;
}
.primary:hover,
.send-button:hover,
.auth-card form button:hover{
  filter:brightness(.97);
}

.ask{
  background:#eef2ff!important;
}
.card span,
.row span,
.tag{
  background:#eef2ff!important;
  color:#4338ca!important;
}
.compact-icon{
  background:#eef2ff!important;
  color:#4338ca!important;
}
.speaker-toggle{
  border-color:#dfe4ff!important;
  color:#4338ca!important;
}
.mini-action{
  border-color:#dfe4ff!important;
  background:#f8faff!important;
}
.examples button{
  border-color:#dfe4ff!important;
  color:#4338ca!important;
}
.auth-card .logo{
  background:linear-gradient(145deg,var(--accent-cyan),var(--accent-violet))!important;
}
.saved{
  background:#ecfdf5!important;
  color:#166534!important;
}

/* V0.3.11 — acciones de cabecera y navegación móvil */
.header-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.header-close-btn,
.header-logout-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:38px;
  padding:8px 12px;
  border-radius:12px;
  font:inherit;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
}
.header-close-btn{
  border:1px solid #dfe4ff;
  background:#f8faff;
  color:#111827;
}
.header-logout-btn{
  border:1px solid #fee2e2;
  background:#fff;
  color:#dc2626;
}
.header-close-btn .action-icon,
.header-logout-btn .action-icon{
  font-size:20px;
  line-height:1;
}
.mobile-bottom-nav a{
  gap:3px;
}
.mobile-bottom-nav a .nav-icon{
  font-size:25px!important;
  line-height:1!important;
  min-height:27px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.mobile-bottom-nav a span:not(.nav-icon){
  font-size:11px;
}
@media(max-width:760px){
  .header-actions{gap:5px}
  .header-close-btn,
  .header-logout-btn{
    min-height:36px;
    padding:7px 9px;
    font-size:12px;
  }
  .header-close-btn .action-label,
  .header-logout-btn .action-label{
    display:none;
  }
  .header-close-btn .action-icon,
  .header-logout-btn .action-icon{
    font-size:22px;
  }
  .mobile-bottom-nav a .nav-icon{
    font-size:27px!important;
    min-height:29px;
  }
}

/* Ajustes V0.3.11 sobre la cabecera real */
.logout-top{
  color:#dc2626!important;
  border-color:#fee2e2!important;
  background:#fff!important;
  font-size:22px!important;
}
.close-top{
  font-size:20px!important;
}
/* Un poco más grandes, sin exagerar, los iconos reales del menú inferior */
.mobile-bottom-nav > a{
  font-size:24px!important;
}
.mobile-bottom-nav > a > span{
  font-size:11px!important;
}

/* =========================================================
   V0.3.12 — ICONOS PROFESIONALES
   ========================================================= */

.menu-icon-img{
  width:32px;
  height:32px;
  object-fit:contain;
  flex:0 0 32px;
  border-radius:10px;
}

.desktop-nav a .menu-icon-img{
  width:34px;
  height:34px;
}

.sidebar-secondary{
  display:flex;
  align-items:center;
  gap:10px;
}

.sidebar-secondary .menu-icon-img{
  width:28px;
  height:28px;
}

.top-icon img{
  width:28px;
  height:28px;
  display:block;
  object-fit:contain;
}

.close-top img,
.logout-top img{
  width:30px;
  height:30px;
}

.mobile-bottom-nav .bottom-icon-img{
  width:34px;
  height:34px;
  object-fit:contain;
  display:block;
  margin:0 auto 1px;
}

.mobile-bottom-nav a.active .bottom-icon-img{
  filter:drop-shadow(0 4px 8px rgba(79,70,229,.22));
}

/* El botón no dibuja un segundo círculo: la imagen contiene todo el diseño. */


.mic-state-img{
  width:132px;
  height:132px;
  display:block;
  object-fit:contain;
  object-position:center;
  margin:0;
  transition:transform .18s ease,filter .18s ease;
}

.mic.on .mic-state-img{
  transform:scale(1.04);
}

.compact-icon{
  padding:0!important;
  background:transparent!important;
  overflow:hidden;
}

.compact-icon img{
  width:38px;
  height:38px;
  display:block;
  object-fit:contain;
}

.top-icon{
  padding:3px!important;
  overflow:hidden;
}

.logout-top{
  background:#fff!important;
  border-color:#fee2e2!important;
}

@media (max-width:760px){
  .mobile-bottom-nav .bottom-icon-img{
    width:38px;
    height:38px;
  }

  .top-icon img{
    width:30px;
    height:30px;
  }

  .desktop-nav a .menu-icon-img{
    width:32px;
    height:32px;
  }
}

/* =========================================================
   ACUÉRDATE — HOME COMPACTO EN MÓVIL
   ========================================================= */
@media (max-width:850px){
  .topbar{height:56px!important;min-height:56px!important}
  .app-main{width:min(100% - 16px,780px)!important;padding:10px 0 82px!important}
  .dashboard-heading{margin-bottom:8px!important}
  .hello-line{font-size:11px!important}
  .dashboard-heading h1{font-size:23px!important;line-height:1.08!important;letter-spacing:-.6px!important;margin:2px 0 0!important}

  .voice-panel{padding:10px 10px 12px!important;border-radius:20px!important}
  .voice-panel-copy{margin:0 auto 5px!important;max-width:100%!important}
  .voice-panel-copy p{font-size:11px!important;line-height:1.25!important}

  .big-mic-wrap{padding:5px!important}
  
  .voice-status{margin:2px 0 0!important;font-size:11px!important;line-height:1.1!important}

  .capture textarea{
    min-height:58px!important;height:58px!important;max-height:58px!important;
    resize:none!important;padding:10px 12px!important;border-radius:14px!important;
    font-size:14px!important;line-height:1.3!important
  }

  .capture-buttons{margin-top:7px!important;gap:7px!important}
  .speaker-toggle{width:40px!important;height:40px!important;min-width:40px!important}
  .send-button{min-width:104px!important;min-height:40px!important;padding:9px 16px!important;border-radius:11px!important;font-size:13px!important}

  .ai-result{margin:7px auto 0!important;padding:10px 12px!important;border-radius:14px!important}
  .ai-result-label{font-size:8px!important;letter-spacing:1px!important;margin-bottom:4px!important}
  .ai-result-text{font-size:15px!important;line-height:1.25!important}
  .ai-summary{margin-top:4px!important;font-size:11px!important;line-height:1.25!important}
  .confidence{margin-top:5px!important;padding:3px 6px!important;font-size:9px!important}
  .reminder-confirm{margin-top:5px!important;font-size:10px!important}
  .dashboard-grid{margin-top:12px!important}
}

@media (max-width:850px) and (max-height:780px){
  .voice-panel.has-result{padding-top:7px!important;padding-bottom:8px!important}
  .voice-panel.has-result .voice-panel-copy{display:none!important}
  .voice-panel.has-result .big-mic-wrap{padding:0 0 3px!important}
  
  .voice-panel.has-result .voice-status{font-size:10px!important}
  .voice-panel.has-result .capture textarea{min-height:50px!important;height:50px!important;max-height:50px!important}
  .voice-panel.has-result .capture-buttons{margin-top:5px!important}
  .voice-panel.has-result .ai-result{margin-top:5px!important;padding:8px 10px!important}
  .voice-panel.has-result .ai-result-text{font-size:14px!important;line-height:1.2!important}
}

@media (max-width:850px) and (max-height:720px){
  .dashboard-heading{margin-bottom:5px!important}
  .hello-line{display:none!important}
  .dashboard-heading h1{font-size:19px!important}
  .voice-panel-copy{display:none!important}
  
  .capture textarea{min-height:48px!important;height:48px!important;max-height:48px!important}
  .ai-result-text{font-size:13px!important}
  .mobile-bottom-nav{height:64px!important}
  .app-main{padding-bottom:72px!important}
}


/* =========================================================
   ACUÉRDATE — MICRÓFONO CANÓNICO
   Única definición de tamaño y responsive.
   ========================================================= */

.mic.mic-large{
  width:132px!important;
  height:132px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  cursor:pointer;
  line-height:0;
  transition:transform .18s ease,filter .18s ease;
}

.mic.mic-large:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:none!important;
}

.mic.mic-large.on{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.mic-state-img{
  width:132px;
  height:132px;
  display:block;
  flex:0 0 132px;
  object-fit:contain;
  object-position:center center;
  margin:0!important;
  padding:0!important;
}

/* Móvil estándar */
@media (max-width:850px){
  .mic.mic-large,
  .mic-state-img{
    width:104px!important;
    height:104px!important;
  }

  .mic-state-img{
    flex-basis:104px!important;
  }
}

/* Móvil bajo: cuando ya existe respuesta */
@media (max-width:850px) and (max-height:780px){
  .voice-panel.has-result .mic.mic-large,
  .voice-panel.has-result .mic-state-img{
    width:90px!important;
    height:90px!important;
  }

  .voice-panel.has-result .mic-state-img{
    flex-basis:90px!important;
  }
}

/* Móviles especialmente bajos */
@media (max-width:850px) and (max-height:720px){
  .mic.mic-large,
  .mic-state-img{
    width:88px!important;
    height:88px!important;
  }

  .mic-state-img{
    flex-basis:88px!important;
  }
}


/* =========================================================
   ACUÉRDATE — TAMAÑO FIJO DE LOS 3 ESTADOS DE VOZ
   Siempre 150x150 px, también con .has-result y en móviles bajos.
   ========================================================= */
.mic.mic-large,
.mic-state-img,
.voice-panel.has-result .mic.mic-large,
.voice-panel.has-result .mic-state-img{
  width:150px!important;
  height:150px!important;
}

.mic-state-img,
.voice-panel.has-result .mic-state-img{
  flex:0 0 150px!important;
  flex-basis:150px!important;
}


/* Fondo definitivo del panel de voz */
.voice-panel{
  background:#010212!important;
}

/* ===== ACUÉRDATE DARK AI HUD ===== */
:root{--hud-bg:#010212;--hud-panel:#04091b;--hud-cyan:#22d3ee;--hud-blue:#2563eb;--hud-violet:#7c3aed;--hud-text:#effcff;--hud-muted:#7896a8}
html,body{background:radial-gradient(circle at 50% -10%,#0b2460 0,transparent 32%),linear-gradient(180deg,#010212,#020617 55%,#01030c)!important;color:var(--hud-text)!important}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(34,211,238,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.04) 1px,transparent 1px);background-size:32px 32px}
.topbar,.mobile-bottom-nav{background:rgba(1,2,18,.88)!important;border-color:rgba(34,211,238,.16)!important;backdrop-filter:blur(18px);box-shadow:0 10px 35px rgba(0,0,0,.3)!important}
.brand,.brand-name,.dashboard-heading h1{color:#f3fdff!important}.brand-mark,.hello-line,.eyebrow,.ai-result-label{color:var(--hud-cyan)!important;text-shadow:0 0 12px rgba(34,211,238,.35)}
.desktop-nav a,.sidebar-secondary,.mobile-bottom-nav a{color:#819eaf!important}.desktop-nav a:hover,.desktop-nav a.active,.mobile-bottom-nav a.active{color:#efffff!important;background:rgba(34,211,238,.07)!important;border-color:rgba(34,211,238,.22)!important}
.voice-panel{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 28%,rgba(37,99,235,.16),transparent 34%),linear-gradient(145deg,rgba(5,13,35,.97),rgba(1,2,18,.99))!important;border:1px solid rgba(34,211,238,.27)!important;box-shadow:inset 0 0 45px rgba(37,99,235,.05),0 25px 75px rgba(0,0,0,.45),0 0 30px rgba(34,211,238,.08)!important}
.voice-panel:after{content:"";position:absolute;left:18%;right:18%;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--hud-cyan),transparent);box-shadow:0 0 14px var(--hud-cyan)}
.voice-panel-copy p,.voice-status,.ai-summary,.reminder-confirm{color:var(--hud-muted)!important}
.big-mic-wrap{position:relative}.big-mic-wrap:before{content:"";position:absolute;width:190px;height:190px;left:50%;top:50%;transform:translate(-50%,-53%);border:1px solid rgba(34,211,238,.13);border-radius:50%;box-shadow:0 0 34px rgba(34,211,238,.08),inset 0 0 28px rgba(59,130,246,.06);pointer-events:none}
.mic.mic-large,.mic-state-img,.voice-panel.has-result .mic.mic-large,.voice-panel.has-result .mic-state-img{width:150px!important;height:150px!important}.mic-state-img,.voice-panel.has-result .mic-state-img{flex:0 0 150px!important;filter:drop-shadow(0 0 18px rgba(34,211,238,.2))}
.capture textarea{color:#eaffff!important;background:rgba(0,8,24,.82)!important;border:1px solid rgba(34,211,238,.2)!important;box-shadow:inset 0 0 20px rgba(34,211,238,.025)!important}.capture textarea::placeholder{color:#526f82!important}.capture textarea:focus{border-color:rgba(34,211,238,.65)!important;box-shadow:0 0 0 3px rgba(34,211,238,.07),0 0 24px rgba(34,211,238,.09)!important}
.send-button,.primary{color:#efffff!important;background:linear-gradient(135deg,#0891b2,#2563eb 55%,#6d28d9)!important;border:1px solid rgba(103,232,249,.35)!important;box-shadow:0 0 24px rgba(34,211,238,.14)!important}.send-button:hover,.primary:hover{box-shadow:0 0 32px rgba(34,211,238,.24)!important}.send-button:disabled{opacity:.7;cursor:wait}
.speaker-toggle{background:rgba(2,8,23,.9)!important;border:1px solid rgba(34,211,238,.22)!important;box-shadow:0 0 18px rgba(34,211,238,.07)!important}
.ai-result{color:#efffff!important;background:linear-gradient(135deg,rgba(4,20,37,.94),rgba(8,12,35,.96))!important;border:1px solid rgba(34,211,238,.24)!important;box-shadow:inset 3px 0 0 rgba(34,211,238,.75),0 0 26px rgba(34,211,238,.05)!important}.ai-result-text{color:#f2fdff!important}.confidence{color:#baf7ff!important;background:rgba(34,211,238,.08)!important;border:1px solid rgba(34,211,238,.16)!important}
.card,.panel,.dashboard-card{background:linear-gradient(145deg,rgba(5,13,31,.88),rgba(2,6,23,.94))!important;color:#dffaff!important;border:1px solid rgba(34,211,238,.14)!important;box-shadow:0 18px 48px rgba(0,0,0,.28)!important}.card h2,.card h3,.panel h2,.panel h3,.dashboard-card h2,.dashboard-card h3{color:#effdff!important}.card p,.panel p,.dashboard-card p{color:#7896a8!important}
.top-icon{background:rgba(4,12,29,.86)!important;border-color:rgba(34,211,238,.18)!important}
@media(max-width:850px){.voice-panel{border-radius:20px!important}.big-mic-wrap:before{width:178px;height:178px}}

.voice-panel{background:#010212!important;}


/* =========================================================
   ACUÉRDATE — DARK AI HUD V3
   Unifica páginas internas, .row, login y registro
   ========================================================= */
html,body,main,.main-column,.app-layout,.app-main,.page{
  background-color:#010212!important;
  color:#eefcff!important;
}

.page>small,.section-head small,.source,.detail .source{
  color:#6f93a8!important;
}

.row,.memory-card,.card,.edit,.empty,.ask,.ai-result:not(.answer),.dashboard-card{
  background:linear-gradient(145deg,rgba(5,13,31,.96),rgba(2,6,23,.98))!important;
  border:1px solid rgba(34,211,238,.15)!important;
  color:#eafcff!important;
  box-shadow:0 14px 40px rgba(0,0,0,.30),inset 0 0 24px rgba(34,211,238,.018)!important;
}

.row:hover,.memory-card:hover,.card:hover{
  border-color:rgba(34,211,238,.30)!important;
  box-shadow:0 16px 44px rgba(0,0,0,.34),0 0 18px rgba(34,211,238,.04)!important;
}

.row h1,.row h2,.row h3,.card h1,.card h2,.card h3,
.memory-card h1,.memory-card h2,.memory-card h3,
.detail h1,.page h1,.page h2{
  color:#f1fdff!important;
}

.row p,.card p,.memory-card p,.row time,.card time,.memory-card time,.detail p{
  color:#7898aa!important;
}

.row span,.card span,.tag{
  background:rgba(34,211,238,.08)!important;
  border:1px solid rgba(34,211,238,.13)!important;
  color:#67e8f9!important;
}

.edit,.search,.ask{color:#eefcff!important}

.edit input,.edit textarea,.edit select,
.search input,.ask input,.page input,.page textarea,.page select{
  color:#e9fbff!important;
  background:rgba(0,8,24,.90)!important;
  border:1px solid rgba(34,211,238,.18)!important;
  outline:none!important;
}

.edit input::placeholder,.edit textarea::placeholder,
.search input::placeholder,.ask input::placeholder,
.page input::placeholder,.page textarea::placeholder{
  color:#506f82!important;
}

.edit input:focus,.edit textarea:focus,.edit select:focus,
.search input:focus,.ask input:focus,
.page input:focus,.page textarea:focus,.page select:focus{
  border-color:rgba(34,211,238,.58)!important;
  box-shadow:0 0 0 3px rgba(34,211,238,.07)!important;
}

.empty{
  border-style:dashed!important;
  color:#6f93a8!important;
}

.mini-action,.examples button,.speaker-toggle{
  background:rgba(3,12,29,.94)!important;
  border:1px solid rgba(34,211,238,.18)!important;
  color:#9fefff!important;
}

.mini-action:hover,.examples button:hover{
  border-color:rgba(34,211,238,.38)!important;
  background:rgba(7,23,43,.96)!important;
}

/* LOGIN / REGISTRO */
.auth{
  min-height:100vh!important;
  background:
    radial-gradient(circle at 50% 5%,rgba(37,99,235,.24),transparent 30%),
    radial-gradient(circle at 15% 75%,rgba(124,58,237,.11),transparent 28%),
    #010212!important;
  color:#eefcff!important;
}

.auth::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.24;
  background-image:
    linear-gradient(rgba(34,211,238,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(34,211,238,.035) 1px,transparent 1px);
  background-size:32px 32px;
}

.auth-card{
  position:relative;
  z-index:1;
  background:linear-gradient(145deg,rgba(5,13,31,.96),rgba(2,6,23,.98))!important;
  color:#eefcff!important;
  border:1px solid rgba(34,211,238,.22)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.52),0 0 38px rgba(34,211,238,.06),inset 0 0 35px rgba(37,99,235,.035)!important;
}

.auth-card h1,.auth-card h2,.auth-card h3{
  color:#f2fdff!important;
}

.auth-card>p,.auth-card .switch{
  color:#7898aa!important;
}

.auth-card label{
  color:#9bdbea!important;
}

.auth-card input{
  color:#eefcff!important;
  background:rgba(0,8,24,.94)!important;
  border:1px solid rgba(34,211,238,.20)!important;
  outline:none!important;
}

.auth-card input::placeholder{
  color:#506f82!important;
}

.auth-card input:focus{
  border-color:rgba(34,211,238,.62)!important;
  box-shadow:0 0 0 3px rgba(34,211,238,.07),0 0 20px rgba(34,211,238,.07)!important;
}

.auth-card form button{
  color:#ecfeff!important;
  background:linear-gradient(135deg,#0891b2 0%,#2563eb 55%,#6d28d9 100%)!important;
  border:1px solid rgba(103,232,249,.32)!important;
  box-shadow:0 0 24px rgba(34,211,238,.12)!important;
}

.auth-card form button:hover{
  filter:brightness(1.08)!important;
  box-shadow:0 0 32px rgba(34,211,238,.22)!important;
}

.auth-card .switch a{
  color:#67e8f9!important;
}

.auth-card .logo{
  box-shadow:0 0 28px rgba(34,211,238,.18)!important;
}

.error,.ai-result.error{
  background:rgba(69,10,10,.50)!important;
  color:#fecaca!important;
  border:1px solid rgba(248,113,113,.25)!important;
}

.saved{
  background:rgba(6,78,59,.38)!important;
  color:#a7f3d0!important;
  border:1px solid rgba(52,211,153,.18)!important;
}

.mobile-bottom-nav{background:rgba(1,2,18,.94)!important}
.topbar{background:rgba(1,2,18,.90)!important}

@media (max-width:850px){
  .row,.card,.memory-card,.edit,.empty,.auth-card{
    background:linear-gradient(145deg,rgba(5,13,31,.98),rgba(2,6,23,.99))!important;
  }
}


/* =========================================================
   ACUÉRDATE — MICRÓFONO LIMPIO
   Sin sombras, filtros, halos ni efectos visuales CSS.
   ========================================================= */
.mic,
.mic.mic-large,
.mic.mic-large:hover,
.mic.mic-large.on,
.voice-panel .mic,
.voice-panel .mic.mic-large,
.voice-panel.has-result .mic.mic-large{
  box-shadow:none!important;
  filter:none!important;
  text-shadow:none!important;
  background:transparent!important;
  border:0!important;
}

.mic-state-img,
.voice-panel .mic-state-img,
.voice-panel.has-result .mic-state-img{
  filter:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

/* Quita el círculo/halo decorativo situado detrás del micrófono */
.big-mic-wrap::before,
.big-mic-wrap:before{
  display:none!important;
  content:none!important;
  box-shadow:none!important;
  filter:none!important;
}

/* Mantener los tres estados siempre a 150px */
.mic.mic-large,
.mic-state-img,
.voice-panel.has-result .mic.mic-large,
.voice-panel.has-result .mic-state-img{
  width:150px!important;
  height:150px!important;
}

.mic-state-img,
.voice-panel.has-result .mic-state-img{
  flex:0 0 150px!important;
  flex-basis:150px!important;
}


/* Quitar definitivamente el radial-gradient de .voice-panel::before */
.voice-panel::before,
.voice-panel:before{
  background:none!important;
  background-image:none!important;
}


/* =========================================================
   ACUÉRDATE — IMÁGENES EN RESPUESTAS
   ========================================================= */
.answer-attachments{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}

.answer-attachment{
  display:block;
  width:min(100%,320px);
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(34,211,238,.20);
  background:#010212;
  text-decoration:none;
}

.answer-attachment img{
  display:block;
  width:100%;
  max-height:280px;
  object-fit:contain;
  background:#010212;
}

@media(max-width:850px){
  .answer-attachments{
    margin-top:8px;
  }

  .answer-attachment{
    width:100%;
  }

  .answer-attachment img{
    max-height:220px;
  }
}

/* =========================================================
   ACUÉRDATE — FIX VISIBILIDAD FOTO
   ========================================================= */
[hidden]{
  display:none!important;
}

#photoChooser[hidden],
#photoPreviewWrap[hidden]{
  display:none!important;
}

/* =========================================================
   ACUÉRDATE — CAPTURA / SELECCIÓN DE FOTO
   ========================================================= */
.voice-actions-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  position:relative;
  margin:0 auto;
}

.photo-control{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  min-width:74px;
}

.photo-button{
  width:64px;
  height:64px;
  border-radius:20px;
  border:1px solid rgba(34,211,238,.30);
  background:#050b20;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:0;
  transition:border-color .15s ease,transform .15s ease,background .15s ease;
}

.photo-button:hover{
  transform:translateY(-1px);
  border-color:rgba(34,211,238,.58);
  background:#07132b;
}

.photo-label{
  color:#7898aa;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
}

.camera-css-icon{
  width:31px;
  height:23px;
  position:relative;
  display:block;
  border:3px solid #39bdf8;
  border-radius:6px;
  box-sizing:border-box;
}

.camera-css-icon::before{
  content:"";
  position:absolute;
  width:11px;
  height:7px;
  left:7px;
  top:-8px;
  border:3px solid #39bdf8;
  border-bottom:0;
  border-radius:5px 5px 0 0;
}

.camera-css-icon::after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  left:8px;
  top:5px;
  border:3px solid #7957f6;
  border-radius:50%;
  box-shadow:none!important;
  filter:none!important;
}

.photo-chooser{
  position:absolute;
  z-index:80;
  top:76px;
  right:0;
  width:178px;
  padding:7px;
  border-radius:14px;
  background:#050b20;
  border:1px solid rgba(34,211,238,.22);
  box-shadow:0 18px 48px rgba(0,0,0,.45);
}

.photo-chooser[hidden]{
  display:none!important;
}

.photo-chooser button{
  display:block;
  width:100%;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#dffaff;
  text-align:left;
  padding:10px 11px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.photo-chooser button:hover{
  background:rgba(34,211,238,.08);
  color:#67e8f9;
}

.photo-preview-wrap{
  max-width:780px;
  margin:8px auto 10px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px;
  border:1px solid rgba(34,211,238,.18);
  border-radius:14px;
  background:#03091b;
}

.photo-preview-wrap[hidden]{
  display:none!important;
}

.photo-preview{
  width:72px;
  height:72px;
  flex:0 0 72px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid rgba(34,211,238,.18);
}

.photo-preview-info{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
}

.photo-preview-info strong{
  max-width:240px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#dffaff;
  font-size:11px;
}

.remove-photo-button{
  border:0;
  padding:0;
  background:transparent;
  color:#fb7185;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}

.image-saved-confirm{
  margin-top:7px;
  color:#a7f3d0;
  font-size:11px;
  font-weight:700;
}

.image-error-confirm{
  margin-top:7px;
  color:#fda4af;
  font-size:11px;
  font-weight:700;
}

.memory-attachment{
  margin:18px 0;
}

.memory-attachment img{
  display:block;
  width:min(100%,680px);
  max-height:620px;
  object-fit:contain;
  border-radius:18px;
  border:1px solid rgba(34,211,238,.18);
  background:#010212;
}

@media(max-width:850px){
  .voice-actions-wrap{
    gap:14px;
  }

  .photo-button{
    width:58px;
    height:58px;
    border-radius:18px;
  }

  .photo-control{
    min-width:62px;
  }

  .photo-chooser{
    right:-12px;
  }

  .photo-preview{
    width:62px;
    height:62px;
    flex-basis:62px;
  }
}

/* =========================================================
   ACUÉRDATE — POPUPS PROFESIONALES
   ========================================================= */
.ac-popup-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(0,2,18,.78);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  opacity:0;
  transition:opacity .14s ease;
}

.ac-popup-overlay[hidden]{
  display:none!important;
}

.ac-popup-overlay.is-visible{
  opacity:1;
}

.ac-popup{
  position:relative;
  width:min(92vw,420px);
  padding:28px 24px 22px;
  border-radius:22px;
  border:1px solid rgba(34,211,238,.22);
  background:
    linear-gradient(145deg,rgba(5,13,31,.99),rgba(2,6,23,.99));
  box-shadow:0 28px 80px rgba(0,0,0,.55);
  color:#eafcff;
  text-align:center;
  transform:translateY(8px) scale(.985);
  transition:transform .14s ease;
}

.ac-popup-overlay.is-visible .ac-popup{
  transform:translateY(0) scale(1);
}

.ac-popup-close{
  position:absolute;
  top:12px;
  right:14px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#7898aa;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}

.ac-popup-close:hover{
  background:rgba(255,255,255,.05);
  color:#eafcff;
}

.ac-popup-icon{
  width:58px;
  height:58px;
  margin:0 auto 15px;
  display:grid;
  place-items:center;
  border-radius:18px;
  border:1px solid rgba(34,211,238,.28);
  background:#061127;
  color:#67e8f9;
  font-size:26px;
  font-weight:900;
}

.ac-popup-title{
  margin:0 0 9px;
  color:#f4fdff;
  font-size:20px;
  line-height:1.2;
  letter-spacing:-.02em;
}

.ac-popup-message{
  color:#91aebd;
  font-size:14px;
  line-height:1.55;
  white-space:pre-line;
}

.ac-popup-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:22px;
}

.ac-popup-btn{
  min-width:112px;
  min-height:44px;
  padding:10px 18px;
  border-radius:13px;
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}

.ac-popup-btn-primary{
  border:1px solid rgba(34,211,238,.35);
  background:linear-gradient(135deg,#0ea5e9,#4f46e5 58%,#7c3aed);
  color:#fff;
}

.ac-popup-btn-secondary{
  border:1px solid rgba(148,163,184,.18);
  background:#071023;
  color:#b8d0dc;
}

.ac-popup-success .ac-popup-icon{
  color:#6ee7b7;
  border-color:rgba(52,211,153,.28);
  background:rgba(6,78,59,.18);
}

.ac-popup-warning .ac-popup-icon{
  color:#fbbf24;
  border-color:rgba(251,191,36,.30);
  background:rgba(120,53,15,.16);
}

.ac-popup-error .ac-popup-icon{
  color:#fb7185;
  border-color:rgba(251,113,133,.30);
  background:rgba(127,29,29,.16);
}

.ac-popup-confirm .ac-popup-icon{
  color:#a78bfa;
  border-color:rgba(167,139,250,.30);
  background:rgba(76,29,149,.15);
}

@media(max-width:600px){
  .ac-popup-overlay{
    padding:16px;
    align-items:end;
  }

  .ac-popup{
    width:100%;
    border-radius:22px 22px 18px 18px;
    padding:25px 20px 20px;
  }

  .ac-popup-actions{
    flex-direction:column-reverse;
  }

  .ac-popup-btn{
    width:100%;
  }
}


/* FIX DEFINITIVO: la vista previa no existe visualmente hasta seleccionar una imagen */
#photoPreviewWrap[hidden],
#photoPreviewWrap[aria-hidden="true"]{
  display:none!important;
  visibility:hidden!important;
}

#photoPreviewWrap:not([hidden])[aria-hidden="false"]{
  visibility:visible!important;
}


/* ACUÉRDATE — IMAGEN DE CÁMARA ADJUNTA */
.photo-button{
  padding:0!important;
  overflow:hidden!important;
  background:transparent!important;
  border:0!important;
}
.camera-image-icon{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
  pointer-events:none!important;
}
.photo-button .camera-css-icon{display:none!important;}


/* =========================================================
   ACUÉRDATE — MICRO + CÁMARA CENTRADOS, MISMO TAMAÑO
   ========================================================= */
.voice-actions-wrap{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.big-mic-wrap,
.photo-control{
  flex:0 0 150px!important;
  width:150px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
}

.mic.mic-large,
.mic-state-img,
.voice-panel.has-result .mic.mic-large,
.voice-panel.has-result .mic-state-img,
.photo-button{
  width:150px!important;
  height:150px!important;
  min-width:150px!important;
  min-height:150px!important;
  max-width:150px!important;
  max-height:150px!important;
  flex:0 0 150px!important;
}

.camera-image-icon{
  width:150px!important;
  height:150px!important;
  object-fit:cover!important;
  display:block!important;
}

.voice-status,
.photo-label{
  width:150px!important;
  min-height:20px!important;
  margin-top:6px!important;
  text-align:center!important;
}

@media(max-width:600px){
  .voice-actions-wrap{
    gap:8px!important;
  }

  .big-mic-wrap,
  .photo-control{
    flex:0 0 150px!important;
    width:150px!important;
  }

  .mic.mic-large,
  .mic-state-img,
  .voice-panel.has-result .mic.mic-large,
  .voice-panel.has-result .mic-state-img,
  .photo-button,
  .camera-image-icon{
    width:150px!important;
    height:150px!important;
    min-width:150px!important;
    min-height:150px!important;
    max-width:150px!important;
    max-height:150px!important;
    flex-basis:150px!important;
  }
}


/* =========================================================
   ACUÉRDATE — TEXTOS MICRO / CÁMARA ALINEADOS
   ========================================================= */
.voice-status,
.photo-label{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:150px!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  margin:6px 0 0!important;
  padding:0!important;
  box-sizing:border-box!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:24px!important;
  text-align:center!important;
  white-space:nowrap!important;
}

.big-mic-wrap,
.photo-control{
  align-items:center!important;
}

@media(max-width:600px){
  .voice-status,
  .photo-label{
    width:150px!important;
    height:24px!important;
    min-height:24px!important;
    max-height:24px!important;
    margin-top:6px!important;
    font-size:13px!important;
    line-height:24px!important;
  }
}


/* =========================================================
   ACUÉRDATE — ICONOS RECORDATORIO / CEREBRO
   ========================================================= */
.compact-icon{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:12px!important;
  background:transparent!important;
  border:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.compact-icon img{
  width:40px!important;
  height:40px!important;
  display:block!important;
  object-fit:cover!important;
  border-radius:12px!important;
  margin:0!important;
  padding:0!important;
}

@media(max-width:850px){
  .compact-icon,
  .compact-icon img{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
  }
}

/* ACUÉRDATE — VISIÓN IA V2 EN EDICIÓN */
.memory-attachment-ai{display:grid!important;grid-template-columns:minmax(220px,420px) minmax(260px,1fr)!important;gap:18px!important;align-items:start!important;margin:18px 0!important;padding:16px!important;border:1px solid rgba(34,211,238,.18)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(5,13,31,.96),rgba(2,6,23,.98))!important}
.memory-image-wrap{position:relative!important;overflow:hidden!important;border-radius:15px!important;background:#010212!important;border:1px solid rgba(34,211,238,.14)!important}
.memory-image-wrap>img{display:block!important;width:100%!important;height:auto!important;max-height:420px!important;object-fit:contain!important;margin:0!important;border:0!important;border-radius:15px!important}
.vision-badge{position:absolute!important;left:10px!important;bottom:10px!important;display:inline-flex!important;padding:5px 9px!important;border-radius:999px!important;border:1px solid rgba(34,211,238,.32)!important;background:rgba(1,2,18,.88)!important;color:#67e8f9!important;font-size:10px!important;font-weight:900!important;letter-spacing:.4px!important}
.vision-badge-pending{color:#94a3b8!important;border-color:rgba(148,163,184,.25)!important}
.vision-data-panel{min-width:0!important;color:#eafcff!important}
.vision-data-title{margin:0 0 12px!important;color:#a5f3fc!important;font-size:13px!important;font-weight:900!important}
.vision-data-block{padding:10px 0!important;border-top:1px solid rgba(34,211,238,.10)!important}
.vision-data-block strong{display:block!important;margin-bottom:6px!important;color:#67e8f9!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.65px!important}
.vision-data-block p{margin:0!important;color:#d7f7ff!important;font-size:14px!important;line-height:1.5!important}
.vision-chips{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
.vision-chips span{display:inline-flex!important;padding:5px 8px!important;border-radius:999px!important;background:rgba(37,99,235,.12)!important;border:1px solid rgba(103,232,249,.16)!important;color:#bff6ff!important;font-size:11px!important}
.vision-empty{padding:12px!important;border:1px dashed rgba(148,163,184,.22)!important;border-radius:12px!important;color:#7898aa!important;font-size:12px!important;line-height:1.45!important}
@media(max-width:760px){.memory-attachment-ai{grid-template-columns:1fr!important;gap:12px!important;padding:12px!important}.memory-image-wrap>img{max-height:360px!important}}


/* =========================================================
   ACUÉRDATE — OVERLAY DE PROCESAMIENTO
   ========================================================= */
.processing-overlay[hidden]{
  display:none!important;
}

.processing-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
  background:rgba(1,2,18,.76)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
}

.processing-overlay-card{
  width:min(92vw,390px)!important;
  min-height:310px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:30px 24px!important;
  border-radius:24px!important;
  background:rgba(3,8,27,.90)!important;
  border:1px solid rgba(34,211,238,.24)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.48)!important;
}

.processing-overlay-gif{
  width:150px!important;
  height:150px!important;
  min-width:150px!important;
  min-height:150px!important;
  max-width:150px!important;
  max-height:150px!important;
  object-fit:contain!important;
  display:block!important;
  margin:0 auto 12px!important;
  box-shadow:none!important;
  filter:none!important;
}

.processing-overlay-title{
  margin-top:2px!important;
  color:#effdff!important;
  font-size:22px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:-.3px!important;
}

.processing-overlay-text{
  min-height:21px!important;
  margin-top:8px!important;
  color:#82cfe0!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:600!important;
}

.processing-overlay-dots{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  height:20px!important;
  margin-top:12px!important;
}

.processing-overlay-dots span{
  width:7px!important;
  height:7px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#67e8f9!important;
  animation:acProcessingDot 1.05s ease-in-out infinite!important;
}

.processing-overlay-dots span:nth-child(2){
  animation-delay:.15s!important;
}

.processing-overlay-dots span:nth-child(3){
  animation-delay:.30s!important;
}

@keyframes acProcessingDot{
  0%,60%,100%{transform:translateY(0);opacity:.35}
  30%{transform:translateY(-7px);opacity:1}
}

html.ac-processing,
body.ac-processing{
  overflow:hidden!important;
}

@media(max-width:600px){
  .processing-overlay{
    padding:16px!important;
  }

  .processing-overlay-card{
    width:min(94vw,360px)!important;
    min-height:280px!important;
    padding:25px 18px!important;
    border-radius:22px!important;
  }

  .processing-overlay-gif{
    width:150px!important;
    height:150px!important;
  }

  .processing-overlay-title{
    font-size:20px!important;
  }

  .processing-overlay-text{
    font-size:12px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .processing-overlay-dots span{
    animation:none!important;
    opacity:.8!important;
  }
}


/* ACUÉRDATE — VISIÓN IA V3: confianza y precisión */
.vision-confidence-row{display:flex!important;align-items:center!important;gap:9px!important;flex-wrap:wrap!important}
.vision-confidence-bar{position:relative!important;flex:1 1 150px!important;max-width:260px!important;height:8px!important;border-radius:999px!important;overflow:hidden!important;background:rgba(148,163,184,.15)!important;border:1px solid rgba(34,211,238,.12)!important}
.vision-confidence-bar span{display:block!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:999px!important;background:linear-gradient(90deg,#0ea5e9,#4f46e5 58%,#7c3aed)!important}
.vision-confidence-row>b{color:#dffaff!important;font-size:12px!important}
.vision-uncertain,.vision-certain{display:inline-flex!important;padding:4px 7px!important;border-radius:999px!important;font-size:10px!important;font-weight:800!important}
.vision-uncertain{color:#fde68a!important;background:rgba(120,53,15,.20)!important;border:1px solid rgba(251,191,36,.24)!important}
.vision-certain{color:#a7f3d0!important;background:rgba(6,78,59,.20)!important;border:1px solid rgba(52,211,153,.20)!important}

/* ACUÉRDATE V6 — prueba y suscripción */
.plan-status-card{margin:0 0 18px;padding:14px 16px;border:1px solid rgba(64,211,255,.22);border-radius:16px;background:#010212;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.plan-status-main{display:flex;flex-direction:column;gap:3px}.plan-status-main strong{color:#eefcff}.plan-status-main span,.plan-meters span{color:#91a7bd;font-size:.88rem}
.plan-meters{display:flex;gap:16px;flex:1}.plan-meters b{color:#d9f8ff}.plan-subscribe-button{padding:9px 13px;border-radius:10px;text-decoration:none;border:1px solid rgba(115,98,255,.5);color:#e9e5ff;background:rgba(80,61,210,.16)}
.plan-status-card.is-expired{border-color:rgba(255,90,120,.35)}
.subscription-page{max-width:760px;margin:0 auto}.subscription-hero{text-align:center;margin:24px 0}.subscription-plan-card{background:#010212;border:1px solid rgba(64,211,255,.25);border-radius:22px;padding:28px}
.plan-name{color:#72e7ff;font-weight:700}.plan-price{margin:8px 0 22px}.plan-price strong{font-size:2.5rem;color:#fff}.plan-price span{color:#91a7bd}
.subscription-plan-card li{margin:10px 0;color:#d7e7f4}.subscription-coming{width:100%;margin-top:18px}.payment-note{font-size:.82rem;color:#8194a8;text-align:center}.subscription-active{padding:12px;text-align:center;border-radius:12px;background:rgba(55,220,170,.10);color:#8ff0ce}
@media(max-width:640px){.plan-status-card{gap:10px}.plan-meters{width:100%;flex-basis:100%;justify-content:space-between}.plan-subscribe-button{width:100%;text-align:center}}

/* ACUÉRDATE — firma de producto ZoiaOne */
.zoiaone-signature{margin-top:5px;font-size:.78rem;letter-spacing:.04em;color:#6f8398}
.zoiaone-signature span,.zoiaone-inline,.plan-name small{color:#72e7ff;font-weight:500}
.zoiaone-inline{margin-left:5px;text-transform:none;letter-spacing:.02em}
.plan-name small{font-size:.72rem;margin-left:5px}
@media(max-width:640px){.zoiaone-signature{font-size:.72rem}}

/* ZoiaOne — enlaces de firma */
.zoiaone-signature a,
.zoiaone-inline,
.plan-name small a{
  color:inherit!important;
  text-decoration:none!important;
}
.zoiaone-signature a:hover,
.zoiaone-inline:hover,
.plan-name small a:hover{
  text-decoration:underline!important;
}
