/* ===========================================================
   waomail — BASE ESTRUCTURAL (sin colores literales)
   Toda la maquetación vive aquí usando variables CSS.
   Los COLORES los define cada tema en assets/themes/<tema>.css
   Para crear un tema nuevo, copia un tema y cambia las variables.
   =========================================================== */

/* Valores por defecto (si no carga ningún tema, sigue siendo usable).
   Un tema sobrescribe estas variables. */
:root{
  --bg:#f4f5f8; --panel:#fff; --panel-2:#fafbfc; --sidebar:#f7f8fa;
  --hover:#eef0f5; --sel:#fff7e0; --sel-border:#f5b301; --line:#e4e7ee; --line-soft:#eef1f6;
  --text:#1d2330; --text-2:#5a6273; --text-3:#8b93a4;
  --accent:#f5b301; --accent-weak:#fff7e0; --accent-strong:#e09b00;
  --brand-grad:linear-gradient(120deg,#7b2ff7,#d9329a);
  --on-accent:#3a2c00;
  --danger:#e3344e; --ok:#1f9d57; --unread:#e09b00;
  --avatar-text:#fff;
  --toolbar-bg:#fbfbfd; --topbar-bg:#fff;
  --radius:8px; --radius-sm:6px; --radius-pill:20px;
  --shadow-pop:0 12px 34px rgba(40,30,10,.18);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --reader-bg:#fff;
}

*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text);
  font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}
button{font-family:inherit;cursor:pointer}
a{color:var(--accent-strong);text-decoration:none}

/* ===================== LOGIN ===================== */
.login-body{display:grid;place-items:safe center;min-height:100vh;min-height:100dvh;position:relative;
  overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--login-bg,#13101c)}
.login-aurora{position:fixed;inset:-30%;z-index:0;filter:blur(46px);pointer-events:none;
  background:var(--login-aurora,
    radial-gradient(40% 50% at 25% 30%,rgba(123,47,247,.55),transparent 70%),
    radial-gradient(45% 55% at 75% 70%,rgba(217,50,154,.5),transparent 70%));
  animation:drift 22s ease-in-out infinite alternate}
@keyframes drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(3%,-2%) scale(1.08)}100%{transform:translate(-3%,2%) scale(1.03)}}
@media (prefers-reduced-motion:reduce){.login-aurora{animation:none}}
.login-card{position:relative;z-index:1;width:min(92vw,380px);padding:40px 34px;
  background:var(--login-card,rgba(255,255,255,.96));border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
.login-brand{font-size:32px;font-weight:800;letter-spacing:-.02em;
  background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.login-tag{margin:6px 0 26px;color:var(--text-2);font-size:14px}
.field{display:block;margin-bottom:16px}
.field-label{display:block;font-size:12px;color:var(--text-2);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.field input{width:100%;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font-size:15px}
.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}
.btn-primary{width:100%;padding:13px 16px;border:0;border-radius:var(--radius-sm);background:var(--brand-grad);color:#fff;font-weight:700;font-size:15px;transition:filter .15s,transform .08s}
.btn-primary:hover{filter:brightness(1.06)} .btn-primary:active{transform:translateY(1px)}
.alert{background:#fdecef;border:1px solid #f6c2cc;color:#a32035;padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:18px;font-size:14px}

/* ===================== APP SHELL ===================== */
.app-body{display:flex;flex-direction:column;height:100vh;overflow:hidden}

.topbar{display:flex;align-items:center;gap:14px;padding:0 14px;height:50px;
  background:var(--topbar-bg);border-bottom:1px solid var(--line);flex-shrink:0}
.topbar-brand{font-size:18px;font-weight:800;letter-spacing:-.02em;
  background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn-compose{width:auto;padding:8px 20px;font-size:14px;border-radius:var(--radius-sm);border:0;
  background:var(--accent);color:var(--on-accent);font-weight:700;display:inline-flex;align-items:center;gap:7px}
.btn-compose:hover{background:var(--accent-strong)}
.topbar-search{flex:1;max-width:540px;position:relative}
.topbar-search input{width:100%;padding:8px 14px 8px 36px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--panel-2);font-size:14px;color:var(--text)}
.topbar-search input:focus{outline:none;border-color:var(--accent);background:var(--panel);box-shadow:0 0 0 3px var(--accent-weak)}
.topbar-search .search-ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text-3);display:flex}
.topbar-spacer{flex:1}
.topbar-user{display:flex;align-items:center;gap:12px}
.user-email{color:var(--text-2);font-size:13px}
.link-logout{color:var(--text-3);font-size:13px}
.link-logout:hover{color:var(--accent-strong)}
.theme-switch{background:var(--panel-2);border:1px solid var(--line);color:var(--text-2);
  border-radius:var(--radius-sm);padding:6px 10px;font-size:13px}
.theme-switch:hover{border-color:var(--accent)}

/* Layout con anchos ajustables y resizers. Columnas: carpetas|rs1|lista|rs2|lector */
.layout{--w-folders:222px;--w-list:370px;display:grid;grid-template-columns:var(--w-folders) 6px var(--w-list) 6px 1fr;flex:1;min-height:0;position:relative}
/* Posición explícita de cada panel en el grid (evita que se desordenen al colapsar) */
.layout > .folders{grid-column:1}
.layout > .resizer-1{grid-column:2}
.layout > .message-list{grid-column:3}
.layout > .resizer-2{grid-column:4}
.layout > .reader{grid-column:5}
.layout > .show-folders-tab{grid-column:1;grid-row:1}
.resizer{background:transparent;cursor:col-resize;position:relative;z-index:5}
.resizer:hover,.resizer:active{background:var(--accent-weak)}
.resizer::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:30px;border-radius:2px;background:var(--line)}
.resizer:hover::after{background:var(--accent)}
.layout.folders-collapsed{grid-template-columns:0 0 clamp(280px,var(--w-list),520px) 6px minmax(0,1fr)}
.layout.folders-collapsed .folders,.layout.folders-collapsed .resizer-1{display:none}
.folders-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 6px}
.folders-title{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3)}
.collapse-btn{background:transparent;border:0;color:var(--text-3);font-size:18px;line-height:1;cursor:pointer;width:24px;height:24px;border-radius:5px}
.collapse-btn:hover{background:var(--hover);color:var(--text)}
.folders-body{overflow-y:auto}
.show-folders-tab{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:6;background:var(--accent);color:var(--on-accent);border:0;border-radius:0 8px 8px 0;width:22px;height:40px;font-size:16px;cursor:pointer;box-shadow:2px 2px 8px rgba(0,0,0,.12)}
.show-folders-tab:hover{background:var(--accent-strong)}
.view-toggle{background:var(--panel-2);border:1px solid var(--line);color:var(--text-2);border-radius:var(--radius-sm);width:34px;height:32px;font-size:15px;cursor:pointer;margin-right:10px}
.view-toggle:hover{border-color:var(--accent);color:var(--accent-strong)}
.layout{--h-list:38%}
.layout.view-horizontal{grid-template-columns:var(--w-folders) 6px 1fr;grid-template-rows:var(--h-list) 6px 1fr}
.layout.view-horizontal .resizer-2{grid-row:2;grid-column:3;cursor:row-resize;width:auto}
.layout.view-horizontal .resizer-2::after{width:30px;height:2px}
.layout.view-horizontal .folders{grid-row:1 / span 3;grid-column:1}
.layout.view-horizontal .resizer-1{grid-row:1 / span 3;grid-column:2}
.layout.view-horizontal .message-list{grid-row:1;grid-column:3;border-right:0;border-bottom:1px solid var(--line)}
.layout.view-horizontal .reader{grid-row:3;grid-column:3}
.layout.view-horizontal.folders-collapsed{grid-template-columns:0 0 1fr;grid-template-rows:var(--h-list) 6px 1fr}

/* ---------- Carpetas ---------- */
.folders{background:var(--sidebar);border-right:1px solid var(--line);overflow-y:auto;padding:8px 0}
.folders-loading{color:var(--text-3);padding:14px 16px;font-size:13px}
.folder-group-label{padding:14px 16px 6px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3)}
.folder-item{display:flex;align-items:center;gap:11px;padding:8px 16px;color:var(--text-2);cursor:pointer;font-size:14px;border-left:3px solid transparent}
.folder-item:hover{background:var(--hover)}
.folder-item.active{background:var(--sel);color:var(--text);font-weight:600;border-left-color:var(--sel-border)}
.folder-ico{width:17px;height:17px;flex-shrink:0;opacity:.75;display:flex}
.folder-item.active .folder-ico{opacity:1;color:var(--accent-strong)}
.folder-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
.folder-badge{background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;padding:1px 7px;border-radius:9px;min-width:18px;text-align:center}

/* ---------- Lista ---------- */
.message-list{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;background:var(--panel)}
.list-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line);flex-shrink:0}
.list-title{font-weight:700;font-size:15px}
.list-pager{display:flex;align-items:center;gap:6px}
.pager-btn{background:var(--panel-2);border:1px solid var(--line);color:var(--text-2);width:28px;height:28px;border-radius:var(--radius-sm);font-size:16px;line-height:1}
.pager-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}
.pager-btn:disabled{opacity:.4;cursor:default}
.page-info{color:var(--text-3);font-size:12px;min-width:54px;text-align:center}
.list-body{overflow-y:auto;flex:1}
.date-divider{padding:8px 18px 4px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);background:var(--panel-2);border-bottom:1px solid var(--line-soft);position:sticky;top:0;z-index:1}
.msg-row{display:flex;gap:11px;padding:11px 18px;border-bottom:1px solid var(--line-soft);cursor:pointer;border-left:3px solid transparent}
.msg-row:hover{background:var(--hover)}
.msg-row.active{background:var(--sel);border-left-color:var(--sel-border)}
.avatar{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;color:var(--avatar-text);font-weight:700;font-size:15px}
.msg-main{flex:1;min-width:0}
.msg-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:2px}
.msg-from{font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-date{color:var(--text-3);font-size:12px;flex-shrink:0}
.msg-subject{color:var(--text-2);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-row.unread .msg-from{font-weight:700}
.msg-row.unread .msg-subject{color:var(--text);font-weight:600}
.unread-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--unread);margin-right:6px;vertical-align:middle}
.msg-clip{color:var(--text-3);font-size:12px;margin-left:5px}
.list-empty,.list-loading{padding:48px 18px;text-align:center;color:var(--text-3)}

/* ---------- Lector ---------- */
.reader{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--reader-bg)}
.reader-empty{margin:auto;color:var(--text-3)}
/* Barra de herramientas estilo eM Client: acciones horizontales arriba */
.reader-toolbar{display:flex;align-items:center;gap:4px;padding:8px 16px;border-bottom:1px solid var(--line);background:var(--toolbar-bg);flex-wrap:wrap}
.reader-toolbar button{background:transparent;border:1px solid transparent;color:var(--text-2);padding:7px 13px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px}
.reader-toolbar button:hover{background:var(--hover);border-color:var(--line);color:var(--text)}
.reader-toolbar .act-danger:hover{color:var(--danger);border-color:var(--danger)}
.reader-toolbar .tb-spacer{flex:1}
.reader-head{padding:18px 26px 14px;border-bottom:1px solid var(--line);background:var(--panel)}
.reader-subject{font-size:19px;font-weight:700;margin:0 0 14px;color:var(--text)}
.reader-from-row{display:flex;align-items:center;gap:12px}
.reader-from-row .avatar{width:42px;height:42px;font-size:16px}
.reader-from-info{flex:1;min-width:0}
.reader-from-name{font-weight:600;font-size:14px;color:var(--text)}
.reader-from-addr{color:var(--text-3);font-size:13px}
.reader-time{color:var(--text-3);font-size:12px;white-space:nowrap}
.reader-to{color:var(--text-2);font-size:13px;margin-left:54px;margin-top:4px}
.reader-body-wrap{flex:1;min-height:0;background:var(--reader-bg)}
.reader-iframe{width:100%;height:100%;border:0;background:#fff;display:block}
.reader-text{padding:22px 26px;white-space:pre-wrap;word-break:break-word;line-height:1.6;color:var(--text);background:var(--reader-bg)}
.reader-attachments{padding:14px 26px;border-top:1px solid var(--line);background:var(--panel);display:flex;flex-wrap:wrap;gap:10px}
.att-chip{display:inline-flex;align-items:center;gap:8px;background:var(--panel-2);border:1px solid var(--line);padding:8px 13px;border-radius:var(--radius-sm);font-size:13px;color:var(--text)}
.att-chip:hover{border-color:var(--accent)}
.att-size{color:var(--text-3);font-size:12px}

/* ===================== COMPOSITOR ===================== */
.composer{position:fixed;right:24px;bottom:0;width:min(94vw,620px);height:min(78vh,580px);background:var(--panel);border:1px solid var(--line);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;z-index:50}
.composer.hidden{display:none}
.composer-head{display:flex;justify-content:space-between;align-items:center;padding:11px 18px;background:var(--accent);border-radius:var(--radius) var(--radius) 0 0;font-weight:700;color:var(--on-accent)}
.composer-close{background:transparent;border:0;color:var(--on-accent);font-size:22px;line-height:1}
.composer-fields{padding:8px 18px 0;display:flex;flex-direction:column}
.composer-field{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line-soft);padding:8px 0}
.composer-field label{font-size:12px;color:var(--text-3);width:48px;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}
.composer-field input{flex:1;border:0;font-size:14px;color:var(--text);background:transparent}
.composer-field input:focus{outline:none}
.composer-toolbar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--toolbar-bg)}
.tb-btn{width:30px;height:30px;border:0;background:transparent;border-radius:var(--radius-sm);color:var(--text-2);font-size:14px;display:grid;place-items:center}
.tb-btn:hover{background:var(--hover);color:var(--text)}
.tb-btn.active{background:var(--accent-weak);color:var(--accent-strong)}
.tb-sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.composer-editor{flex:1;overflow-y:auto;padding:16px 18px;color:var(--text);line-height:1.55;outline:none;background:var(--reader-bg)}
.composer-editor:empty::before{content:attr(data-placeholder);color:var(--text-3)}
.composer-foot{display:flex;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid var(--line)}
.composer-foot .btn-send{padding:10px 26px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:7px}
.composer-foot .btn-send:hover{background:var(--accent-strong)}
.composer-status{font-size:13px;color:var(--text-2)}
.composer-status.error{color:var(--danger)}
.composer-status.ok{color:var(--ok)}

/* ===================== RESPONSIVE (móvil) ===================== */
.mob-only{display:none}
/* El backdrop del drawer NO participa del grid en escritorio */
.drawer-back{display:none}
@media (max-width:820px){
  .mob-only{display:inline-grid;place-items:center}

  /* --- Toolbar del correo: fila [☰ Redactar ⊞] + buscador a lo ancho --- */
  .embedded .topbar{display:flex !important;flex-wrap:wrap;gap:8px;padding:8px 10px !important;height:auto}
  .mob-burger{width:42px;height:42px;border:1px solid var(--line);background:var(--panel);
    border-radius:12px;font-size:18px;color:var(--text);cursor:pointer;flex-shrink:0}
  .embedded .btn-compose{flex:1;min-width:0}
  .embedded .topbar-search{order:5;flex-basis:100%;max-width:none;display:flex}
  .embedded .topbar-spacer{display:none}

  /* --- Layout: una sola columna (lista) con scroll táctil --- */
  .layout{grid-template-columns:1fr !important;padding:0 8px 8px !important}
  .resizer{display:none !important}
  .message-list{grid-column:1 !important;border-right:0;min-width:0}
  .list-body,.folders,.reader-body{-webkit-overflow-scrolling:touch}
  .msg-star{opacity:1}
  .msg-row{padding-top:12px;padding-bottom:12px}

  /* --- Carpetas: drawer deslizante --- */
  .layout > .folders{display:flex !important;flex-direction:column;position:fixed;z-index:60;top:0;bottom:0;left:0;
    width:min(80vw,320px);background:var(--panel);border-right:1px solid var(--line);
    box-shadow:0 0 60px rgba(0,0,0,.25);transform:translateX(-105%);transition:transform .22s ease;
    padding:14px;overflow-y:auto;border-radius:0}
  .layout > .folders > *{width:100%;flex-shrink:0}
  .layout > .folders .folder-name{overflow:visible;text-overflow:clip;white-space:normal}
  .layout.folders-open > .folders{transform:translateX(0)}
  .drawer-back{display:none;position:fixed;inset:0;z-index:55;background:rgba(0,0,0,.35)}
  .layout.folders-open .drawer-back{display:block}

  /* --- Lector: overlay a pantalla completa con botón atrás --- */
  .layout > .reader{display:flex;position:fixed;inset:0;z-index:50;transform:translateX(103%);
    transition:transform .22s ease;border-radius:0;margin:0}
  .layout.show-reader > .reader{transform:translateX(0)}
  #actBack{width:40px;height:40px;border-radius:10px;font-size:19px;padding:0;flex-shrink:0}
  .reader-toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:4px}
  .reader-toolbar::-webkit-scrollbar{display:none}
  .reader-toolbar button{white-space:nowrap}

  /* --- Compositor y respuesta rápida a pantalla completa --- */
  .composer{right:0;left:0;top:0;bottom:0;width:100vw;height:100dvh;border-radius:0;max-height:none}
  .qr{left:0;right:0}

  /* --- Barra de selección múltiple compacta --- */
  .sel-bar{padding:8px 10px}
}
.hidden{display:none !important}

/* Accesos a apps en la topbar del correo */
.topbar-apps{display:flex;gap:2px;margin-left:6px}
.topbar-apps .tapp{padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--text-2)}
.topbar-apps .tapp:hover{background:var(--hover);color:var(--text);text-decoration:none}
.topbar-apps .tapp.active{background:var(--accent-weak);color:var(--accent-strong)}
@media (max-width:980px){ .topbar-apps{display:none} }

/* ---- Compositor: barra profesional + adjuntos ---- */
.composer-toolbar{gap:3px}
.tb-select{height:30px;border:1px solid var(--line);background:var(--panel);color:var(--text-2);
  border-radius:var(--radius-sm);font-size:12px;padding:0 6px;max-width:104px;font-family:inherit}
.tb-select:hover{border-color:var(--accent)}
.tb-color{position:relative;overflow:hidden;font-weight:700;border-bottom:3px solid var(--accent)}
.tb-color input[type=color]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.composer-attachments{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;border-top:1px solid var(--line-soft);background:var(--panel-2)}
.attach-chip{display:inline-flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius-sm);padding:6px 10px;font-size:13px;color:var(--text)}
.attach-chip .ac-size{color:var(--text-3);font-size:12px}
.attach-chip .ac-remove{border:0;background:transparent;color:var(--text-3);font-size:16px;line-height:1;cursor:pointer;padding:0 2px}
.attach-chip .ac-remove:hover{color:var(--danger)}
.btn-attach{padding:10px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);
  color:var(--text-2);font-size:14px;font-weight:600}
.btn-attach:hover{border-color:var(--accent);color:var(--text)}
.composer-editor.drag{outline:2px dashed var(--accent);outline-offset:-6px;background:var(--accent-weak)}
.composer-editor blockquote{border-left:3px solid var(--line);margin:8px 0;padding-left:12px;color:var(--text-2)}

/* ---- Compositor: cabecera con opciones, Cc/Cco, hint ---- */
.composer-head-opts{display:flex;align-items:center;gap:14px}
.cr-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--on-accent);font-weight:600;cursor:pointer}
.cr-check input{accent-color:var(--on-accent)}
.cc-toggles{display:flex;gap:8px;margin-left:8px}
.cc-toggles a{font-size:12px;color:var(--text-3);font-weight:600}
.cc-toggles a:hover{color:var(--accent-strong)}
.composer-hint{font-size:11px;color:var(--text-3);margin-left:auto}
.composer-editor img{max-width:100%;height:auto}

/* ---- Respuesta rápida inline ---- */
.quick-reply{border-top:1px solid var(--line);background:var(--panel);padding:14px 26px}
.qr-editor{min-height:64px;max-height:200px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:10px 12px;background:var(--reader-bg);color:var(--text);font-size:14px;line-height:1.5;outline:none}
.qr-editor:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}
.qr-editor:empty::before{content:attr(data-placeholder);color:var(--text-3)}
.qr-foot{display:flex;align-items:center;gap:14px;margin-top:10px}
.qr-foot .btn-send{padding:8px 22px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);font-weight:700;font-size:14px}
.qr-foot .btn-send:hover{background:var(--accent-strong)}
.qr-status{font-size:13px;color:var(--text-2)}
.qr-full{margin-left:auto;font-size:13px;color:var(--accent-strong)}

/* ---- Ventana del compositor: botones y estados ---- */
.composer-winbtn{background:transparent;border:0;color:var(--on-accent);font-size:16px;line-height:1;width:26px;height:26px;border-radius:5px;cursor:pointer}
.composer-winbtn:hover{background:rgba(0,0,0,.12)}
.composer-resize{position:absolute;top:0;left:0;width:18px;height:18px;cursor:nwse-resize;z-index:2}
.composer-resize::before{content:"";position:absolute;top:5px;left:5px;width:8px;height:8px;border-top:2px solid var(--on-accent);border-left:2px solid var(--on-accent);opacity:.5}
.composer.minimized{height:auto !important;width:300px !important}
.composer.minimized .composer-fields,
.composer.minimized .composer-toolbar,
.composer.minimized .composer-editor,
.composer.minimized .composer-attachments,
.composer.minimized .composer-foot,
.composer.minimized .composer-resize{display:none !important}
.composer.minimized .composer-head{border-radius:var(--radius) var(--radius) 0 0;cursor:pointer}
.composer.maximized{right:2vw !important;left:2vw !important;bottom:2vh !important;top:2vh !important;width:auto !important;height:auto !important}

/* ---- Respuesta rápida: barra, minimizar, resize, guardar ---- */
.quick-reply{position:relative}
.qr-resize{position:absolute;top:-4px;left:0;right:0;height:8px;cursor:ns-resize;z-index:2}
.qr-resize::before{content:"";position:absolute;top:3px;left:50%;transform:translateX(-50%);width:40px;height:3px;border-radius:2px;background:var(--line)}
.qr-resize:hover::before{background:var(--accent)}
.qr-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.qr-label{font-size:12px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}
.qr-min{background:var(--panel-2);border:1px solid var(--line);color:var(--text-2);width:24px;height:24px;border-radius:5px;font-size:14px;line-height:1;cursor:pointer}
.qr-min:hover{border-color:var(--accent);color:var(--text)}
.quick-reply.minimized .qr-editor,
.quick-reply.minimized .qr-foot,
.quick-reply.minimized .qr-resize{display:none}
.qr-savebtn{background:var(--panel-2);border:1px solid var(--line);color:var(--text-2);border-radius:var(--radius-sm);padding:8px 16px;font-size:14px;font-weight:600}
.qr-savebtn:hover{border-color:var(--accent);color:var(--text)}

/* ---- Redimensión de imágenes en el editor ---- */
.composer-editor .editor-img,.composer-editor img{cursor:pointer;max-width:100%}
.img-resize-overlay{position:fixed;z-index:200;border:2px solid var(--accent);pointer-events:none;box-sizing:border-box}
.img-resize-overlay .img-handle{position:absolute;width:14px;height:14px;background:var(--accent);border:2px solid #fff;border-radius:3px;pointer-events:auto}
.img-resize-overlay .img-handle.br{right:-8px;bottom:-8px;cursor:nwse-resize}
.img-size-toolbar{position:fixed;z-index:201;display:flex;gap:3px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:4px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.img-size-toolbar button{width:30px;height:30px;border:1px solid var(--line);background:var(--panel-2);color:var(--text-2);border-radius:6px;font-size:13px;font-weight:700;cursor:pointer}
.img-size-toolbar button:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-weak)}

/* ---- Menú contextual (clic derecho) ---- */
.ctx-menu{position:fixed;z-index:300;min-width:210px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px;box-shadow:0 10px 34px rgba(0,0,0,.20)}
.ctx-item{position:relative;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:7px;font-size:14px;color:var(--text);cursor:pointer;white-space:nowrap}
.ctx-item:hover{background:var(--hover)}
.ctx-item.danger{color:var(--danger)}
.ctx-item.danger:hover{background:rgba(220,53,69,.1)}
.ctx-ico{width:18px;text-align:center;font-size:14px;flex-shrink:0}
.ctx-arrow{margin-left:auto;color:var(--text-3)}
.ctx-sep{height:1px;background:var(--line);margin:5px 8px}
.ctx-submenu{display:none;position:absolute;left:100%;top:-6px;min-width:180px;max-height:320px;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.ctx-item.has-sub:hover .ctx-submenu{display:block}
/* Botón nueva carpeta */
.folder-add{display:flex;align-items:center;gap:10px;padding:9px 14px;margin-top:6px;border-top:1px dashed var(--line-soft);color:var(--text-3);font-size:13px;cursor:pointer}
.folder-add:hover{color:var(--accent-strong)}
.folder-add .folder-ico{font-size:16px;font-weight:700}
/* Aviso breve (toast) */
.mini-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);z-index:400;background:var(--text);color:var(--panel);padding:10px 20px;border-radius:24px;font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:all .25s}
.mini-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---- Diálogos con diseño propio (reemplazo de alert/confirm/prompt) ---- */
.ui-dialog-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;
  background:rgba(20,20,30,.42);opacity:0;transition:opacity .16s;padding:20px}
.ui-dialog-overlay.show{opacity:1}
.ui-dialog{width:100%;max-width:420px;background:var(--panel,#fff);border-radius:14px;
  box-shadow:0 20px 60px rgba(0,0,0,.30);transform:translateY(12px) scale(.98);transition:transform .18s;overflow:hidden}
.ui-dialog-overlay.show .ui-dialog{transform:translateY(0) scale(1)}
.ui-dialog-head{padding:18px 22px 4px;font-size:16px;font-weight:700;color:var(--text,#1a1a1a)}
.ui-dialog-body{padding:6px 22px 16px;font-size:14px;line-height:1.5;color:var(--text-2,#555);white-space:pre-wrap}
.ui-dialog-field{padding:0 22px 18px}
.ui-dialog-input{width:100%;box-sizing:border-box;padding:11px 13px;border:1px solid var(--line,#dcdce3);
  border-radius:9px;font-size:14px;font-family:inherit;background:var(--reader-bg,#fff);color:var(--text,#1a1a1a);outline:none}
.ui-dialog-input:focus{border-color:var(--accent,#f4bf1a);box-shadow:0 0 0 3px var(--accent-weak,rgba(244,191,26,.2))}
.ui-dialog-foot{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 20px}
.ui-dialog-btn{padding:10px 20px;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent}
.ui-dialog-cancel{background:var(--panel-2,#f4f4f7);border-color:var(--line,#dcdce3);color:var(--text-2,#555)}
.ui-dialog-cancel:hover{background:var(--hover,#ececf0);color:var(--text,#1a1a1a)}
.ui-dialog-ok{background:var(--accent,#f4bf1a);color:var(--on-accent,#1a1a1a)}
.ui-dialog-ok:hover{background:var(--accent-strong,#d9a800)}
.ui-dialog-ok.danger{background:var(--danger,#dc3545);color:#fff}
.ui-dialog-ok.danger:hover{background:#c12d3c}

/* ============ Ajustes del usuario (modal) ============ */
.user-email-btn{background:transparent;border:0;cursor:pointer;font:inherit;color:inherit;padding:4px 8px;border-radius:6px}
.user-email-btn:hover{background:var(--hover);color:var(--accent-strong)}
.settings-modal{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:20px}
.settings-modal.hidden{display:none}
.settings-box{width:100%;max-width:560px;max-height:90vh;background:var(--panel);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.settings-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}
.settings-head h2{margin:0;font-size:18px;color:var(--text)}
.settings-close{border:0;background:transparent;font-size:26px;line-height:1;color:var(--text-3);cursor:pointer}
.settings-close:hover{color:var(--text)}
.settings-body{overflow-y:auto;padding:8px 24px 24px}
.settings-section{padding:18px 0;border-bottom:1px solid var(--line-soft)}
.settings-section:last-child{border-bottom:0}
.settings-subtitle{margin:0 0 12px;font-size:15px;color:var(--text)}
.settings-avatar-row{display:flex;align-items:center;gap:18px}
.settings-avatar{width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,#7b2ff7,#d9329a);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;background-size:cover;background-position:center;flex-shrink:0}
.settings-avatar.has-img{background:none;background-size:cover;background-position:center}
.settings-avatar-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.btn-soft{padding:8px 14px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}
.btn-soft:hover{border-color:var(--accent);background:var(--hover)}
.btn-soft-danger{color:var(--danger);border-color:transparent}
.btn-soft-danger:hover{background:rgba(220,53,69,.1);border-color:transparent}
.settings-hint{margin:2px 0 0;font-size:12px;color:var(--text-3)}
.settings-label{display:block;font-size:13px;font-weight:600;color:var(--text-2);margin:12px 0 5px}
.settings-input{width:100%;box-sizing:border-box;padding:10px 13px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;background:var(--reader-bg,var(--panel-2));color:var(--text)}
.settings-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}
textarea.settings-input{resize:vertical;min-height:60px}
.settings-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn-accent-md{margin-top:16px;padding:10px 20px;border:0;border-radius:9px;background:var(--accent);color:var(--on-accent);font-size:14px;font-weight:700;cursor:pointer}
.btn-accent-md:hover{background:var(--accent-strong)}
.btn-accent-md:disabled{opacity:.5;cursor:not-allowed}
.settings-status{margin-left:12px;font-size:13px;font-weight:600}
.settings-status.ok{color:#1f9d57}
.settings-status.err{color:var(--danger)}
.settings-notice{background:var(--accent-weak);color:var(--text);padding:11px 14px;border-radius:8px;font-size:13px;margin-bottom:12px}
.settings-notice.hidden{display:none}

/* Logo de marca (reemplaza el texto @marca) */
.brand-logo-img{max-height:34px;max-width:160px;object-fit:contain;vertical-align:middle;display:inline-block}
.login-brand .brand-logo-img,.reg-brand .brand-logo-img{max-height:48px;max-width:220px}
.topbar-brand .brand-logo-img{max-height:30px;max-width:150px}

/* Adjuntos del visor: nombre (previsualiza) + botón de descarga */
.att-chip-name{display:inline-flex;align-items:center;gap:8px;color:var(--text);text-decoration:none}
.att-chip-name:hover{color:var(--accent-strong)}
.att-chip-dl{color:var(--text-3);text-decoration:none;padding:2px 5px;border-radius:6px;font-size:13px}
.att-chip-dl:hover{background:var(--hover);color:var(--text)}

/* Apps en la barra lateral del correo: ocultas por defecto; cada tema
   decide mostrarlas (ej. Arena las activa y esconde el nav superior). */
.side-apps{display:none;border-top:1px solid var(--line-soft);margin-top:10px;padding-top:2px}
.side-apps .folder-item{text-decoration:none}

/* ===================== MODO EMBEBIDO (shell app.php) =====================
   El módulo va dentro del shell unificado: sin marca, sin nav de apps,
   sin usuario/tema/salir (todo eso vive en el shell). El correo conserva
   su barra funcional: Redactar, buscador y disposición. */
.embedded .topbar-brand,
.embedded .topbar-apps,
.embedded .topbar-user,
.embedded .side-apps{display:none !important}
.embedded .topbar{height:54px}
.embedded.apps-body .shell-main > .topbar{display:none}

/* ---- Buscador: ámbito integrado (botón + popover) ---- */
.topbar-search{position:relative;display:flex;align-items:center}
.topbar-search input{flex:1;padding-right:40px}
.scope-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:var(--text-3);
  display:grid;place-items:center;cursor:pointer}
.scope-btn:hover{background:var(--hover);color:var(--text)}
.scope-btn.scope-on{color:var(--accent-strong);background:var(--accent-weak)}
.scope-pop{position:absolute;top:calc(100% + 6px);right:0;min-width:230px;z-index:60;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  box-shadow:var(--shadow-pop);padding:6px}
.scope-pop-label{padding:6px 10px 4px;font-size:10.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--text-3)}
.scope-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
  text-align:left;background:transparent;border:0;padding:8px 10px;border-radius:8px;
  font-size:13px;color:var(--text);cursor:pointer}
.scope-opt:hover{background:var(--hover)}
.scope-opt.active{background:var(--accent-weak);color:var(--accent-strong);font-weight:600}
.scope-opt .scope-hint{font-size:11px;color:var(--text-3);font-weight:400}
.list-loading-more{padding:14px;text-align:center;color:var(--text-3);font-size:13px}

/* ---- Toolbar del correo embebido: alineada a las columnas del layout.
   Grid: [ancho carpetas] [buscador sobre la lista/lector] [acciones].
   --w-folders se sincroniza vía JS con el resizer del layout. ---- */
.embedded .topbar{display:grid;grid-template-columns:calc(var(--w-folders,222px) - 10px) minmax(0,640px) 1fr auto;
  align-items:center;column-gap:16px;padding:0 16px}
.embedded .btn-compose{justify-self:stretch;text-align:center}
.embedded .topbar-search{max-width:none;width:100%}
.embedded .topbar-spacer{display:none}
.embedded .topbar.folders-off{grid-template-columns:auto minmax(0,640px) 1fr auto}

/* ---- Destacados (estrella) y etiquetas de color ---- */
.topbar-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.msg-row{position:relative}
.msg-star{position:absolute;right:8px;bottom:8px;border:0;background:transparent;cursor:pointer;
  font-size:15px;line-height:1;color:var(--text-3);opacity:0;padding:3px;border-radius:6px;transition:opacity .12s}
.msg-row:hover .msg-star{opacity:1}
.msg-star:hover{background:var(--hover);color:var(--accent-strong)}
.msg-star.on{opacity:1;color:#e6a700}
.msg-meta{display:flex;align-items:center;gap:6px;flex-shrink:0}
.msg-labels{display:flex;gap:3px}
.msg-label-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.reader-toolbar .star-on{color:#b8860b}
.tb-label-wrap{position:relative;display:inline-flex}
.label-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:70;min-width:170px;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);padding:6px;
  display:flex;flex-direction:column}
.label-pop.hidden{display:none}
.label-opt{display:flex;align-items:center;gap:10px;border:0;background:transparent;text-align:left;
  padding:8px 10px;border-radius:8px;font-size:13px;color:var(--text);cursor:pointer}
.label-opt:hover{background:var(--hover)}
.label-opt.on{font-weight:700}
.label-swatch{width:13px;height:13px;border-radius:50%;flex-shrink:0}
.label-clear{color:var(--text-3);border-top:1px solid var(--line-soft);border-radius:0 0 8px 8px;margin-top:4px}

/* Editor de etiquetas (Ajustes) */
.labels-editor{display:flex;flex-direction:column;gap:8px;margin:10px 0 14px}
.label-edit-row{display:flex;align-items:center;gap:10px}
.label-edit-row input[type=color]{width:34px;height:34px;padding:2px;border:1px solid var(--line);
  border-radius:8px;background:var(--panel);cursor:pointer;flex-shrink:0}
.label-edit-row .settings-input{margin:0;flex:1}
.label-edit-row .label-del{border:0;background:transparent;color:var(--text-3);font-size:18px;line-height:1;
  cursor:pointer;width:28px;height:28px;border-radius:6px;flex-shrink:0}
.label-edit-row .label-del:hover{background:rgba(220,53,69,.12);color:var(--danger)}
.btn-soft{margin-right:8px}

/* Imagen de firma (Ajustes) */
.sig-image-row{display:flex;align-items:flex-start;gap:14px;margin:10px 0 4px}
.sig-image-preview{max-width:220px;max-height:90px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:4px}

/* ============ Login rediseñado (split promo + panel) ============ */
.login-split{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr minmax(440px,600px);
  gap:clamp(28px,4vw,72px);height:100vh;max-width:1560px;margin:0 auto;padding:22px clamp(22px,3.5vw,56px);
  box-sizing:border-box;align-items:stretch}
.login-promo{padding:26px 30px 26px 12px;display:flex;flex-direction:column;overflow-y:auto;min-height:0;
  scrollbar-width:thin;scrollbar-color:var(--scroll,#cfc7b6) transparent}
/* Scroll con diseño: delgado, redondeado y del tema */
.login-promo::-webkit-scrollbar{width:8px}
.login-promo::-webkit-scrollbar-track{background:transparent;margin:14px 0}
.login-promo::-webkit-scrollbar-thumb{background:linear-gradient(var(--scroll,#cfc7b6),var(--scroll-h,#b3aa96));
  border-radius:99px;border:2px solid transparent;background-clip:padding-box}
.login-promo::-webkit-scrollbar-thumb:hover{background:var(--scroll-h,#b3aa96);background-clip:padding-box}
.login-promo .login-brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}
.login-promo .brand-logo-img{max-height:44px;max-width:220px}
.promo-kicker{font-size:10.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3)}
.promo-title{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:clamp(38px,4.6vw,58px);
  line-height:1.06;margin:0 0 16px;color:var(--text)}
.promo-sub{margin:0 0 28px;max-width:520px;color:var(--text-2);font-size:14.5px;line-height:1.6}
.price-card{background:var(--accent,#1b1813);color:var(--on-accent,#fff);border-radius:18px;padding:22px 26px;
  max-width:330px;box-shadow:0 18px 44px var(--btn-shadow,rgba(27,24,19,.28));margin-bottom:30px}
.price-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.price-row{display:flex;align-items:baseline;gap:10px;margin:8px 0 2px}
.price-amount{font-size:52px;font-weight:800;line-height:1}
.price-unit{font-size:15px;opacity:.9}
.price-note{font-size:12px;opacity:.75;margin-bottom:12px}
.price-chip{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);
  border-radius:99px;padding:5px 14px;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.btn-cta{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:var(--on-accent);
  border-radius:14px;padding:14px 30px;font-weight:800;font-size:15px;text-decoration:none;
  box-shadow:0 12px 30px var(--btn-shadow,rgba(27,24,19,.25));margin:0 0 8px;width:fit-content;
  transition:transform .12s,box-shadow .12s}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 16px 36px var(--btn-shadow,rgba(27,24,19,.3));color:var(--on-accent)}
.btn-cta .cta-arrow{transition:transform .12s}
.btn-cta:hover .cta-arrow{transform:translateX(4px)}
.cta-note{font-size:12px;color:var(--text-3);margin:0 0 26px}
.feature-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:14px;max-width:460px}
@media (min-width:1180px){
  .feature-list{grid-template-columns:1fr 1fr;max-width:none;column-gap:26px}
  .claim{max-width:520px}
  .promo-title{font-size:clamp(44px,4.2vw,64px)}
}
.feature-list li{display:flex;gap:13px;align-items:flex-start;font-size:13px;color:var(--text-2);line-height:1.45}
.feature-list strong{color:var(--text);font-size:13.5px}
.feat-ico{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;font-size:17px;
  background:var(--panel);border:1px solid var(--line);border-radius:11px;box-shadow:var(--card-shadow,none)}
.feat-d{font-size:12.5px}
.login-panel{background:var(--login-card,var(--panel));border:1px solid var(--line);border-radius:22px;
  box-shadow:var(--shadow-pop);display:flex;flex-direction:column;overflow:hidden;min-height:0}
.login-panel .panel-inner{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scroll,#cfc7b6) transparent}
.login-panel .panel-inner::-webkit-scrollbar{width:8px}
.login-panel .panel-inner::-webkit-scrollbar-thumb{background:var(--scroll,#cfc7b6);border-radius:99px}
.panel-top{text-align:right;padding:20px 26px 0;font-size:13px;color:var(--text-2)}
.panel-top a{font-weight:700}
.panel-inner{flex:1;display:flex;flex-direction:column;justify-content:center;padding:20px 56px 26px;max-width:480px;margin:0 auto;width:100%;box-sizing:border-box}
.panel-title{margin:0;text-align:center;font-size:27px}
.panel-sub{margin:6px 0 26px;text-align:center;color:var(--text-2);font-size:13.5px}
.field{position:relative}
.field-hint{position:absolute;right:12px;top:34px;background:var(--panel-2);border:1px solid var(--line-soft,var(--line));
  color:var(--text-3);font-size:11px;border-radius:99px;padding:3px 10px;pointer-events:none}
.field-pass .pass-toggle{position:absolute;right:12px;top:34px;border:0;background:transparent;color:var(--text-2);
  font-size:12px;font-weight:600;cursor:pointer;padding:3px 6px;border-radius:6px}
.field-pass .pass-toggle:hover{background:var(--hover);color:var(--text)}
.btn-login{display:flex;justify-content:center;gap:10px;align-items:center}
.trust{margin-top:26px;border-top:1px solid var(--line-soft,var(--line));padding-top:18px}
.trust-line{font-size:13px;color:var(--text)}
.trust-p{margin:8px 0 0;font-size:12px;color:var(--text-3);line-height:1.55;background:var(--panel-2);
  border:1px solid var(--line-soft,var(--line));border-radius:10px;padding:12px 14px}
.panel-foot{display:flex;justify-content:space-between;padding:14px 26px;border-top:1px solid var(--line-soft,var(--line));
  font-size:11.5px;color:var(--text-3)}
@media (max-width:940px){
  .login-body{place-items:start center}
  .login-split{grid-template-columns:1fr;padding:12px;height:auto;min-height:100dvh;gap:16px}
  .login-promo{padding:18px 6px;order:2;overflow:visible;max-height:none}
  .login-panel{min-height:0;overflow:visible}
  .login-panel .panel-inner{overflow:visible;padding:14px 20px 22px;justify-content:flex-start}
  .promo-title{font-size:clamp(30px,9vw,38px)}
  .price-card{max-width:none}
  .claim{max-width:none}
  .feature-list{grid-template-columns:1fr;max-width:none}
  .panel-top{padding:16px 18px 0}
  .panel-foot{padding:12px 18px}
}
@media (max-height:640px){
  .panel-title{font-size:22px}
  .panel-sub{margin-bottom:14px}
  .trust-p{display:none}
}

/* ---- Selección múltiple de correos ---- */
.sel-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 16px;border-bottom:1px solid var(--line-soft,var(--line));background:var(--panel-2);font-size:12.5px;color:var(--text-2)}
.sel-bar.hidden{display:none}
.sel-actions{display:flex;gap:6px}
.sel-actions button{border:1px solid var(--line);background:var(--panel);color:var(--text-2);
  border-radius:8px;padding:5px 12px;font-size:12px;cursor:pointer}
.sel-actions button:hover{color:var(--text);border-color:var(--text-3)}
.sel-actions .sel-danger{color:var(--danger)}
.sel-actions .sel-danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}
.sel-actions .sel-danger:disabled{opacity:.45;cursor:default}
.pager-btn.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.msg-check{display:none;width:18px;height:18px;border:2px solid var(--text-3);border-radius:50%;
  flex-shrink:0;align-self:center;place-items:center;font-size:11px;color:transparent;transition:all .1s}
.sel-mode .msg-check{display:grid}
.sel-mode .msg-row{cursor:default}
.msg-row.selected .msg-check{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.msg-row.selected .msg-check::before{content:'✓'}
.msg-row.selected{background:var(--row-sel,var(--sel)) !important}

/* ---- Verificador de disponibilidad (login) ---- */
.claim{margin:0 0 26px;max-width:430px}
.claim-label{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--text-3);margin-bottom:9px}
.claim-pill{display:flex;align-items:center;gap:2px;background:var(--panel);border:2px solid var(--line);
  border-radius:16px;padding:6px 16px;box-shadow:var(--card-shadow,0 8px 24px rgba(0,0,0,.06));
  transition:border-color .15s, box-shadow .15s}
.claim-pill:focus-within{border-color:var(--text);box-shadow:0 0 0 4px var(--ring,rgba(27,24,19,.08))}
.claim-pill.ok{border-color:var(--ok,#4e9a6f)}
.claim-pill.ok:focus-within{box-shadow:0 0 0 4px rgba(78,154,111,.15)}
.claim-pill.bad{border-color:var(--danger,#c94f5e)}
.claim-pill input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:16.5px;padding-left:2px;
  font-weight:600;color:var(--text);padding:9px 4px;outline:none}
.claim-pill input::placeholder{color:var(--text-3);font-weight:400}
.claim-domain{font-size:15px;font-weight:700;color:var(--text-2);white-space:nowrap}
.claim-result{min-height:22px;margin:8px 2px 12px;font-size:13px;color:var(--text-3);transition:color .15s}
.claim-result.ok{color:var(--ok,#4e9a6f);animation:claimPop .25s ease}
.claim-result.bad{color:var(--danger,#c94f5e)}
.claim-result.busy{color:var(--text-3)}
@keyframes claimPop{0%{transform:translateY(3px);opacity:0}100%{transform:none;opacity:1}}
.claim .btn-cta{margin-bottom:8px}
.claim .cta-note{margin-bottom:0}

/* Sufijo @dominio en el usuario del login: visible y claro */
.login-user-wrap{position:relative;display:flex;align-items:center}
.login-user-wrap input{flex:1;padding-right:120px}
.login-suffix{position:absolute;right:14px;font-size:15px;font-weight:800;color:var(--text-2);pointer-events:none}
.field-hint{display:none}

/* Botón actualizar bandeja */
#btnRefresh svg{display:block;transition:transform .2s}
#btnRefresh.spinning svg{animation:lm-spin .7s linear infinite}
@keyframes lm-spin{to{transform:rotate(360deg)}}

/* Pastilla de correos nuevos */
.new-mail-pill{position:absolute;top:54px;left:50%;transform:translateX(-50%);z-index:20;
  background:var(--accent);color:var(--on-accent);border:0;border-radius:99px;padding:8px 18px;
  font-size:12.5px;font-weight:700;cursor:pointer;box-shadow:0 8px 22px var(--btn-shadow,rgba(27,24,19,.3));
  animation:pillIn .25s ease}
.new-mail-pill:hover{filter:brightness(1.15)}
@keyframes pillIn{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}
.message-list{position:relative}
