/* ---------- Plugins ---------- */
.plugin-file-notice{margin:0 0 14px;padding:10px 12px;font-size:13px;color:var(--ink-soft);background:var(--st-wait-bg, var(--surface-2));border:1px solid var(--line);border-radius:var(--r-md);}
.plugin-file-notice code{font-family:var(--mono);font-size:12px;}

/* Icono del plugin: trazo de su color (--h) sobre un fondo suave. */
.plugin-tile{
  flex:none;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:var(--r-lg);
  color:hsl(var(--h) 58% 46%);
  background:hsl(var(--h) 70% 55% / .12);
}
.plugin-tile.is-sm{width:28px;height:28px;border-radius:var(--r-md);}
.plugin-tile.is-lg{width:48px;height:48px;border-radius:var(--r-xl);}
:root[data-theme="dark"] .plugin-tile{color:hsl(var(--h) 80% 72%);background:hsl(var(--h) 70% 55% / .16);}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .plugin-tile{color:hsl(var(--h) 80% 72%);background:hsl(var(--h) 70% 55% / .16);} }
.plugin-verified{flex:none;color:var(--accent-solid);vertical-align:-2px;}

/* Añadir por enlace */
.plugin-add{display:flex;gap:8px;max-width:640px;}
.plugin-add[hidden],.plugin-file-notice[hidden]{display:none;}
.plugin-add-field{position:relative;flex:1;min-width:0;display:flex;}
.plugin-add-field svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--ink-faint);pointer-events:none;}
.plugin-add-field input{flex:1;min-width:0;padding-left:34px !important;}
.plugin-url-msg{margin:6px 0 0;font-size:12.5px;color:var(--ink-soft);}
.plugin-url-msg.is-error{color:var(--danger);}
.plugin-add-hint{margin:8px 0 0;font-size:12.5px;color:var(--ink-faint);}
.plugin-add-hint a{color:var(--accent);font-weight:500;text-decoration:none;margin-left:4px;}
.plugin-add-hint a:hover{text-decoration:underline;text-underline-offset:2px;}

.plugins-head{display:flex;align-items:baseline;gap:8px;margin:24px 0 10px;}
.plugins-head h2{margin:0;font-size:13px;font-weight:600;color:var(--ink-soft);}
.plugins-count{font-size:12px;color:var(--ink-faint);font-variant-numeric:tabular-nums;}
.plugins-sub{font-size:12px;color:var(--ink-faint);}
.plugins-empty{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:1px dashed var(--line-strong);
  border-radius:var(--r-lg);
}
.plugins-empty-icon{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:var(--r-md);color:var(--ink-faint);background:var(--surface-2);}
.plugins-empty-icon svg{width:17px;height:17px;}
.plugins-empty strong{font-size:13px;font-weight:600;}
.plugins-empty p{margin:1px 0 0;font-size:12.5px;color:var(--ink-faint);}

/* Tarjetas: mismo acabado que las de clientes, contactos y contraseñas. */
.plugin-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:10px;}
.plugin-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);
  cursor:pointer;
  transition:border-color .12s ease, box-shadow .12s ease;
}
.plugin-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);}
.plugin-card:focus-visible{outline:none;border-color:var(--accent-solid);box-shadow:0 0 0 3px var(--focus);}
.plugin-card-head{display:flex;align-items:center;gap:11px;min-width:0;}
.plugin-card-title{flex:1;min-width:0;}
.plugin-card-title h3{display:flex;align-items:center;gap:5px;margin:0;font-size:14px;font-weight:600;letter-spacing:-0.01em;min-width:0;}
.plugin-card-title h3 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.plugin-card-title p{margin:1px 0 0;font-size:12px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.plugin-card-actions{flex:none;display:flex;align-items:center;}
.plugin-installed{font-size:12px;color:var(--ink-faint);padding:0 4px;}
.plugin-desc{
  margin:0;
  font-size:13px;
  line-height:1.5;
  color:var(--ink-soft);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.plugin-perm-line{margin:auto 0 0;font-size:12px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* Plugin abierto: barra y marco hasta el final de la ventana. */
.plugin-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-width:0;}
.plugin-bar-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3;}
.plugin-bar-text strong{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.plugin-bar-text span{font-size:12px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.plugin-notice{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:10px;
  padding:9px 12px;
  font-size:13px;
  color:var(--ink-soft);
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:var(--r-md);
}
.plugin-frame-wrap{
  --stage-top:220px;
  height:calc(100dvh - var(--stage-top));
  min-height:360px;
  background:var(--bg);
  border:0;
  border-radius:0;
  overflow:hidden;
}
.plugin-frame{display:block;width:100%;height:100%;border:0;background:transparent;}
#pluginProbeArea{position:absolute;width:0;height:0;overflow:hidden;}

/* Ficha del plugin */
#dlgPlugin{width:min(540px, calc(100vw - 32px));}
#dlgPlugin .dlg-inner{padding-top:18px;}
.plugin-hero{
  position:relative;
  display:flex;
  align-items:center;
  gap:16px;
  margin:0 0 14px;
}
.plugin-hero-text{min-width:0;}
.plugin-hero-text h3{display:flex;align-items:center;gap:6px;margin:0;font-size:16px;font-weight:600;letter-spacing:-0.015em;}
.plugin-hero-text p{margin:3px 0 0;font-size:13px;color:var(--ink-soft);}
.plugin-home{display:inline-flex;align-items:center;gap:5px;margin-top:7px;font-size:12.5px;font-weight:500;color:var(--accent);text-decoration:none;}
.plugin-home:hover{text-decoration:underline;text-underline-offset:2px;}
.plugin-lead{margin:0 0 4px;font-size:13.5px;line-height:1.55;color:var(--ink-soft);}
.plugin-section{margin-top:18px;}
.plugin-section h4{margin:0 0 10px;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);}
.plugin-perms{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.plugin-perms li{display:flex;gap:12px;align-items:center;padding:10px 12px;}
.plugin-perms li + li{border-top:1px solid var(--line);}
.plugin-perm-icon{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:hsl(var(--h) 62% 52%);background:hsl(var(--h) 70% 55% / .13);}
:root[data-theme="dark"] .plugin-perm-icon{color:hsl(var(--h) 85% 74%);background:hsl(var(--h) 70% 55% / .2);}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .plugin-perm-icon{color:hsl(var(--h) 85% 74%);background:hsl(var(--h) 70% 55% / .2);} }
.plugin-perms strong{display:block;font-size:13.5px;font-weight:600;}
.plugin-perms li span:not(.plugin-perm-icon){display:block;font-size:12.5px;color:var(--ink-soft);line-height:1.45;}
.plugin-none{margin:0;font-size:13px;color:var(--ink-soft);}
.plugin-facts{margin:0;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.plugin-facts div{background:var(--surface);padding:9px 12px;min-width:0;}
.plugin-facts dt{font-size:11.5px;color:var(--ink-faint);}
.plugin-facts dd{margin:2px 0 0;font-size:13px;font-weight:500;overflow-wrap:anywhere;}
.plugin-facts div:last-child:nth-child(odd){grid-column:1 / -1;}
.plugin-mono{font-family:var(--mono);font-size:12px;font-weight:400;}
.plugin-safe{display:flex;gap:10px;align-items:flex-start;margin-top:18px;padding:11px 12px;border-radius:var(--r-lg);background:var(--st-done-bg);}
.plugin-safe svg{flex:none;margin-top:1px;color:var(--st-done);}
.plugin-safe p{margin:0;font-size:12.5px;line-height:1.5;color:var(--ink-soft);}
.plugin-safe strong{color:var(--ink);}
.plugin-safe.is-third{background:var(--st-wait-bg);}
.plugin-safe.is-third svg{color:var(--st-wait);}

@media (max-width:600px){
  .plugin-grid{grid-template-columns:minmax(0,1fr);}
  .plugin-facts{grid-template-columns:minmax(0,1fr);}
}

/* Con un plugin abierto la sección es la del propio plugin: sin la cabecera «Plugins». */
body.plugin-open .main-inner > .page-head{display:none;}

/* El plugin ocupa todo el ancho, hasta el borde de la ventana, como una pestaña propia. */
body.plugin-open .main-inner{max-width:none;}
#pluginStage .plugin-frame-wrap{margin-inline:calc(-1 * var(--main-px, 0px));}

/* Barra del plugin abierto: una cabecera de ancho completo con línea inferior, como la de una pestaña. */
#pluginStage .plugin-bar{
  gap:12px;
  margin:0 calc(-1 * var(--main-px, 0px));
  padding:12px var(--main-px, 16px);
  border-bottom:1px solid var(--line);
}
#pluginStage .plugin-bar-text strong{font-size:15px;}
#pluginStage .plugin-bar-text span{font-size:12.5px;}
#pluginStage .plugin-notice{margin:10px 0 0;}
body.plugin-open .main{padding-top:0;}
