/* ===== Fitintrade · App Shell (común a Ficha v6, Centro de datos, Seguimiento) ===== */
:root{
  --bg:#f5f5f7;--panel:#fff;--line:#e8e8ed;
  --green:#00C896;--green-dk:#00A77E;--green-soft:#e9faf4;
  --red:#E5484D;--amber:#E8A33D;--ink:#1d1d1f;--gray:#6e6e73;--soft:#86868b;
  --shadow-1:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}

/* topbar */
.shell-top{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:18px;
  background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);padding:0 20px;height:58px}
.shell-logo{font-weight:800;font-size:19px;letter-spacing:-.02em;white-space:nowrap;text-decoration:none;color:var(--ink)}
.shell-logo .in{color:var(--green)}
.shell-search{position:relative;flex:1;max-width:460px;margin:0 auto}
.shell-search input{width:100%;background:#f0f0f2;border:1px solid transparent;border-radius:999px;
  font-size:14.5px;padding:9px 14px 9px 38px;font-family:inherit;color:var(--ink);outline:none}
.shell-search input:focus{background:#fff;border-color:var(--green)}
.shell-search .ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--soft);pointer-events:none;font-size:14px}
.shell-ac{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--panel);border:1px solid var(--line);
  border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.14);overflow:hidden;max-height:340px;overflow-y:auto;display:none}
.shell-ac.on{display:block}
.shell-ac .it{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;cursor:pointer}
.shell-ac .it:hover,.shell-ac .it.active{background:var(--green-soft)}
.shell-ac .nm{font-weight:600;font-size:14px}
.shell-ac .meta{font-size:12px;color:var(--soft);white-space:nowrap}
.shell-ac .empty{padding:12px 14px;color:var(--gray);font-size:13px}
.shell-nav{display:flex;align-items:center;gap:4px}
.shell-nav a{font-size:13.5px;font-weight:600;color:var(--gray);text-decoration:none;padding:8px 12px;border-radius:9px;white-space:nowrap}
.shell-nav a:hover{color:var(--ink);background:#f0f0f2}
.shell-nav a.on{color:var(--green-dk);background:var(--green-soft)}
.shell-bell{position:relative;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);
  background:var(--panel);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gray);flex-shrink:0}
.shell-bell:hover{color:var(--ink);border-color:var(--soft)}
.shell-bell .cnt{position:absolute;top:-6px;right:-6px;background:var(--red);color:#fff;font-size:10.5px;font-weight:800;
  min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.bell-pop{position:absolute;right:16px;top:56px;width:330px;background:var(--panel);border:1px solid var(--line);
  border-radius:14px;box-shadow:0 16px 44px rgba(0,0,0,.16);z-index:70;display:none;max-height:70vh;overflow-y:auto}
.bell-pop.on{display:block}
.bell-h{padding:12px 14px;border-bottom:1px solid var(--line);font-weight:700;font-size:14px}
.bell-it{padding:11px 14px;border-bottom:1px solid var(--line);cursor:pointer}
.bell-it:last-child{border-bottom:none}
.bell-it:hover{background:#fafafb}
.bell-tk{font-weight:700;font-size:13.5px}
.bell-ds{font-size:12.5px;color:var(--gray);margin-top:2px}
.bell-empty{padding:16px 14px;color:var(--gray);font-size:13px;text-align:center}

/* contexto de ticker (para Ficha v6 / Centro de datos en fases 1B/1C) */
.shell-ctx{max-width:1180px;margin:0 auto;padding:14px 20px 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.shell-ctx .who{font-weight:700}
.shell-ctx .who .tk{color:var(--soft);font-weight:600;font-size:13px;margin-left:6px}
.shell-tabs{display:flex;gap:4px}
.shell-tabs a{font-size:13px;font-weight:600;color:var(--gray);text-decoration:none;padding:7px 12px;border-radius:9px}
.shell-tabs a:hover{background:#f0f0f2;color:var(--ink)}
.shell-tabs a.on{background:var(--ink);color:#fff}

@media(max-width:820px){ .shell-nav a{display:none} .shell-search{max-width:none} }

/* responsive: barra de contexto (tabs + roles) en móvil */
@media(max-width:600px){
  .shell-ctx{gap:10px}
  .shell-ctx .roles{margin-left:0 !important}
  .shell-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
}

/* Bloque de Smart Money dentro del desplegable de avisos (MVP 1.1). Reutiliza .bp-i y .bp-m;
   solo anade el separador de seccion, la marca de no leido y el enlace al final. */
.bp-s{padding:9px 16px;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
      color:var(--soft);border-bottom:1px solid var(--line);opacity:.8}
.bp-i[onclick]{cursor:pointer}
.bp-i[onclick]:hover{background:rgba(127,127,127,.07)}
.bp-nv{box-shadow:inset 3px 0 0 var(--brand,#1a6b52)}
.bp-mas{font-weight:800;color:var(--brand,#1a6b52)}
