/* CÓDICE ERP · Administración
 * Diseño propio, moderno y limpio, que cubre también las clases de WordPress que usan los módulos del ERP.
 * Paleta: pizarra profunda + índigo; tipografía del sistema. */

:root {
	--ewc-bg: #f4f6fb;
	--ewc-surface: #ffffff;
	--ewc-surface-2: #f8fafc;
	--ewc-line: #e3e8f0;
	--ewc-line-2: #cfd7e3;
	--ewc-text: #0f172a;
	--ewc-muted: #64748b;
	--ewc-accent: #4f46e5;
	--ewc-accent-2: #4338ca;
	--ewc-accent-soft: #eef2ff;
	--ewc-ok: #059669;
	--ewc-ok-soft: #ecfdf5;
	--ewc-warn: #b45309;
	--ewc-warn-soft: #fffbeb;
	--ewc-bad: #dc2626;
	--ewc-bad-soft: #fef2f2;
	--ewc-info-soft: #eff6ff;
	--ewc-side: #0f172a;
	--ewc-side-2: #1e293b;
	--ewc-side-text: #cbd5e1;
	--ewc-side-dim: #94a3b8;
	--ewc-radius: 12px;
	--ewc-radius-sm: 8px;
	--ewc-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 4px 16px rgba(15, 23, 42, .05);
	--ewc-shadow-lg: 0 20px 50px rgba(15, 23, 42, .22);
	--ewc-bar-h: 52px;
	--ewc-side-w: 240px;
	--ewc-font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--ewc-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html.wp-toolbar { padding-top: var(--ewc-bar-h); }
body { margin: 0; background: var(--ewc-bg); color: var(--ewc-text); font: 14px/1.5 var(--ewc-font); -webkit-font-smoothing: antialiased; }
a { color: var(--ewc-accent); text-decoration: none; }
a:hover { color: var(--ewc-accent-2); text-decoration: underline; }
img { max-width: 100%; height: auto; }
code, kbd, pre, .code { font-family: var(--ewc-mono); font-size: 12.5px; }
code { background: var(--ewc-surface-2); border: 1px solid var(--ewc-line); border-radius: 6px; padding: 1px 6px; }
h1, h2, h3, h4 { color: var(--ewc-text); line-height: 1.25; margin: 0 0 .6em; font-weight: 700; }
h1 { font-size: 22px; } h2 { font-size: 17px; } h3 { font-size: 15px; }
p { margin: 0 0 1em; }
hr { border: 0; border-top: 1px solid var(--ewc-line); margin: 20px 0; }
:focus-visible { outline: 2px solid var(--ewc-accent); outline-offset: 2px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.hidden, [hidden] { display: none !important; }
.alignleft { float: left; } .alignright { float: right; } .clear { clear: both; }
.wp-clearfix::after, .clearfix::after { content: ""; display: table; clear: both; }
.description, .ewc-muted { color: var(--ewc-muted); font-size: 13px; }

/* ------------------------------------------------------------------ Barra superior */
#wpadminbar { position: fixed; inset: 0 0 auto 0; height: var(--ewc-bar-h); z-index: 9990; background: rgba(255, 255, 255, .86); backdrop-filter: saturate(1.6) blur(12px); -webkit-backdrop-filter: saturate(1.6) blur(12px); border-bottom: 1px solid var(--ewc-line); }
#wpadminbar .quicklinks { display: flex; align-items: center; justify-content: space-between; height: 100%; padding: 0 12px; }
#wpadminbar ul { list-style: none; margin: 0; padding: 0; }
#wpadminbar .ab-top-menu { display: flex; align-items: center; gap: 2px; height: 100%; }
#wpadminbar .ab-top-menu > li { position: relative; height: 100%; display: flex; align-items: center; }
#wpadminbar .ab-item { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px; border-radius: 10px; color: var(--ewc-text); font-weight: 600; font-size: 13.5px; white-space: nowrap; text-decoration: none; }
#wpadminbar .ab-item:hover { background: var(--ewc-surface-2); color: var(--ewc-accent); }
#wpadminbar .ab-icon { font-size: 15px; color: var(--ewc-muted); width: 18px; text-align: center; }
#wpadminbar .ab-icon::before { font-family: "Font Awesome 6 Free"; font-weight: 900; }
#wpadminbar .ab-sub-wrapper { display: none; position: absolute; top: calc(100% - 4px); left: 0; min-width: 220px; background: var(--ewc-surface); border: 1px solid var(--ewc-line); border-radius: var(--ewc-radius); box-shadow: var(--ewc-shadow-lg); padding: 6px; z-index: 2; }
#wpadminbar .ab-top-secondary .ab-sub-wrapper { left: auto; right: 0; }
#wpadminbar li.menupop:hover > .ab-sub-wrapper, #wpadminbar li.menupop:focus-within > .ab-sub-wrapper, #wpadminbar li.menupop.is-open > .ab-sub-wrapper { display: block; }
#wpadminbar .ab-submenu .ab-item { width: 100%; height: auto; padding: 8px 10px; font-weight: 500; }
#wpadminbar .ab-submenu .ab-item i { width: 18px; color: var(--ewc-muted); text-align: center; }
#wpadminbar .ab-submenu li { position: relative; }
#wpadminbar .ab-submenu .ab-sub-wrapper { top: 0; left: 100%; }
#wpadminbar .ewc-avatar { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, var(--ewc-accent), #0ea5e9); color: #fff; font-weight: 700; font-size: 13px; }
#wpadminbar #wp-admin-bar-ewc-toggle .ab-item { width: 40px; padding: 0; justify-content: center; }
#wpadminbar #wp-admin-bar-site-name .ab-label { max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
#wpadminbar .awaiting-mod, #wpadminbar .update-plugins, #wpadminbar .erpw-bubble { background: var(--ewc-bad); color: #fff; border-radius: 999px; font-size: 11px; padding: 0 6px; line-height: 18px; }

/* ------------------------------------------------------------------ Menú lateral */
#adminmenumain { position: fixed; top: var(--ewc-bar-h); bottom: 0; left: 0; width: var(--ewc-side-w); z-index: 9980; }
#adminmenuback { position: absolute; inset: 0; background: var(--ewc-side); }
#adminmenuwrap { position: relative; height: 100%; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; scrollbar-color: #334155 transparent; padding: 10px 10px 24px; }
#adminmenu { list-style: none; margin: 0; padding: 0; }
#adminmenu > li { margin: 1px 0; position: relative; }
#adminmenu a.menu-top { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px; color: var(--ewc-side-text); font-weight: 600; font-size: 13.5px; text-decoration: none; transition: background .15s, color .15s; }
#adminmenu a.menu-top:hover { background: var(--ewc-side-2); color: #fff; }
#adminmenu li.current > a.menu-top, #adminmenu li.wp-has-current-submenu > a.menu-top { background: linear-gradient(135deg, var(--ewc-accent), #6366f1); color: #fff; box-shadow: 0 6px 18px rgba(79, 70, 229, .35); }
#adminmenu .wp-menu-arrow { display: none; }
#adminmenu .wp-menu-image { width: 22px; flex: 0 0 22px; display: grid; place-items: center; font-size: 15px; color: var(--ewc-side-dim); }
#adminmenu .wp-menu-image br { display: none; }
#adminmenu .wp-menu-image.svg { background: center / 18px no-repeat; height: 20px; }
#adminmenu li.current .wp-menu-image, #adminmenu li.wp-has-current-submenu .wp-menu-image, #adminmenu a.menu-top:hover .wp-menu-image { color: inherit; }
#adminmenu .wp-menu-image.dashicons-before::before { font-size: 16px; width: auto; height: auto; }
#adminmenu .wp-menu-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#adminmenu .wp-menu-name .awaiting-mod, #adminmenu .wp-menu-name .update-plugins, #adminmenu .erpw-bubble { display: inline-block; margin-left: 6px; background: #f43f5e; color: #fff; border-radius: 999px; font-size: 11px; padding: 0 7px; line-height: 18px; font-weight: 700; }
#adminmenu .wp-submenu { list-style: none; margin: 2px 0 8px; padding: 0 0 0 20px; display: none; }
#adminmenu .wp-submenu-head { display: none; }
#adminmenu li.wp-has-current-submenu > .wp-submenu { display: block; }
#adminmenu .wp-submenu a { display: block; padding: 6px 10px 6px 14px; border-left: 1px solid #334155; color: var(--ewc-side-dim); font-size: 13px; text-decoration: none; border-radius: 0 8px 8px 0; }
#adminmenu .wp-submenu a:hover { color: #fff; background: rgba(255, 255, 255, .04); }
#adminmenu .wp-submenu li.current a, #adminmenu .wp-submenu a.current { color: #fff; border-left: 2px solid #818cf8; font-weight: 600; background: rgba(129, 140, 248, .1); }
#adminmenu .wp-submenu a .erpw-mh, #adminmenu .wp-submenu .erpw-menu-head { text-transform: uppercase; font-size: 10.5px; letter-spacing: .08em; color: #64748b; }
}
#adminmenu li.wp-menu-separator { height: 1px; margin: 10px 8px; background: #1e293b; }
#adminmenu li.wp-menu-separator .separator { display: none; }
#collapse-menu { margin-top: 12px; }
#collapse-button { all: unset; cursor: pointer; display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 10px; border-radius: 10px; color: var(--ewc-side-dim); font-size: 13px; }
#collapse-button:hover { background: var(--ewc-side-2); color: #fff; }
.collapse-button-icon { width: 22px; text-align: center; }

#wpcontent { margin-left: var(--ewc-side-w); min-height: calc(100vh - var(--ewc-bar-h)); padding: 0 28px 40px; }
#wpbody-content { padding-top: 22px; padding-bottom: 40px; }
#wpfooter { color: var(--ewc-muted); font-size: 12px; padding: 18px 0 10px; border-top: 1px solid var(--ewc-line); }
#wpfooter p { margin: 0; }

/* Menú contraído */
body.folded { --ewc-side-w: 68px; }
body.folded #adminmenu .wp-menu-name, body.folded .collapse-button-label, body.folded #adminmenu li.wp-has-current-submenu > .wp-submenu { display: none; }
body.folded #adminmenu a.menu-top { justify-content: center; padding: 10px 0; }
body.folded .collapse-button-icon { transform: rotate(180deg); }

/* ------------------------------------------------------------------ Contenido */
.wrap { max-width: 1480px; margin: 0; }
.wrap > h1, .wrap h1.wp-heading-inline { display: inline-block; margin: 4px 12px 16px 0; font-size: 22px; }
.page-title-action, a.add-new-h2 { display: inline-flex; align-items: center; gap: 6px; vertical-align: 4px; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--ewc-line-2); background: var(--ewc-surface); font-weight: 600; font-size: 13px; color: var(--ewc-accent); text-decoration: none; }
.page-title-action:hover { background: var(--ewc-accent-soft); text-decoration: none; }
.wp-header-end { border: 0; margin: 0; }

.ewc-head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; flex-wrap: wrap; }
.ewc-head__ico { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(135deg, var(--ewc-accent), #0ea5e9); color: #fff; font-size: 19px; box-shadow: 0 8px 22px rgba(79, 70, 229, .3); }
.ewc-head__txt { flex: 1; min-width: 200px; }
.ewc-head__txt h1 { margin: 0; font-size: 22px; }
.ewc-head__txt p { margin: 2px 0 0; color: var(--ewc-muted); }
.ewc-head__act { display: flex; gap: 8px; flex-wrap: wrap; }

.ewc-card, .postbox, .card { background: var(--ewc-surface); border: 1px solid var(--ewc-line); border-radius: var(--ewc-radius); box-shadow: var(--ewc-shadow); padding: 18px 20px; margin: 0 0 18px; max-width: none; }
.ewc-card > h2:first-child, .ewc-card > h3:first-child { display: flex; align-items: center; gap: 8px; }
.ewc-card > h2 i, .ewc-card > h3 i { color: var(--ewc-accent); }
.postbox .hndle, .postbox .postbox-header h2 { font-size: 15px; margin: 0 0 10px; }
.postbox .inside { padding: 0; margin: 0; }
.ewc-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; margin-bottom: 18px; }
.ewc-cards > .ewc-card { margin: 0; }
.ewc-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.ewc-grid2 > * { min-width: 0; }

.ewc-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin-bottom: 18px; }
.ewc-kpi { display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; background: var(--ewc-surface); border: 1px solid var(--ewc-line); border-radius: var(--ewc-radius); padding: 14px 16px; box-shadow: var(--ewc-shadow); color: var(--ewc-text); text-decoration: none; }
a.ewc-kpi:hover { border-color: #c7d2fe; text-decoration: none; transform: translateY(-1px); transition: .15s; }
.ewc-kpi i { grid-row: span 2; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--ewc-accent-soft); color: var(--ewc-accent); font-size: 16px; }
.ewc-kpi span { color: var(--ewc-muted); font-size: 12.5px; }
.ewc-kpi b { font-size: 20px; font-variant-numeric: tabular-nums; }

.ewc-mod { display: flex; gap: 14px; }
.ewc-mod__ico { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 12px; background: var(--ewc-surface-2); display: grid; place-items: center; color: var(--ewc-muted); font-size: 18px; }
.ewc-mod.is-on .ewc-mod__ico { background: var(--ewc-accent-soft); color: var(--ewc-accent); }
.ewc-mod__body { min-width: 0; flex: 1; }
.ewc-mod h3 small, .ewc-theme h3 small { color: var(--ewc-muted); font-weight: 500; }
.ewc-mod p { color: var(--ewc-muted); font-size: 13px; }
.ewc-theme__shot { height: 140px; border-radius: 10px; margin: -4px -4px 12px; display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 20px; letter-spacing: .02em; text-shadow: 0 2px 10px rgba(0, 0, 0, .25); }
.ewc-theme.is-on { border-color: #a5b4fc; box-shadow: 0 0 0 3px var(--ewc-accent-soft), var(--ewc-shadow); }

.ewc-help { background: var(--ewc-info-soft); border: 1px solid #bfdbfe; border-radius: var(--ewc-radius); margin: 0 0 18px; }
.ewc-help summary { cursor: pointer; padding: 10px 14px; font-weight: 600; color: #1d4ed8; list-style: none; }
.ewc-help summary::-webkit-details-marker { display: none; }
.ewc-help summary::after { content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900; float: right; font-size: 12px; transition: transform .2s; }
.ewc-help[open] summary::after { transform: rotate(180deg); }
.ewc-help ul { margin: 0; padding: 0 16px 12px 16px; list-style: none; display: grid; gap: 10px; }
.ewc-help li { display: grid; gap: 2px; }
.ewc-help li span { color: #334155; }

.ewc-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ewc-checks li { display: flex; gap: 8px; align-items: baseline; }
.ewc-checks .is-ok i { color: var(--ewc-ok); }
.ewc-checks .is-bad i { color: var(--ewc-warn); }
.ewc-log-mini { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; }
.ewc-log-mini small { color: var(--ewc-muted); }
.ewc-ok { color: var(--ewc-ok); }

.ewc-tag { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; background: var(--ewc-surface-2); border: 1px solid var(--ewc-line); color: #334155; }
.ewc-tag.is-error { background: var(--ewc-bad-soft); border-color: #fecaca; color: #b91c1c; }
.ewc-tag.is-warning { background: var(--ewc-warn-soft); border-color: #fde68a; color: var(--ewc-warn); }
.ewc-pill { display: inline-flex; align-items: center; gap: 5px; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--ewc-surface-2); color: #475569; border: 1px solid var(--ewc-line); }
.ewc-pill.is-ok { background: var(--ewc-ok-soft); color: var(--ewc-ok); border-color: #a7f3d0; }
.ewc-chips { display: flex; flex-wrap: wrap; gap: 6px; }
/* 2.18: filtros en chip con el diseño de los botones (antes píldoras que se rellenaban de color). */
.ewc-chip { display: inline-flex; align-items: center; gap: 6px; min-height: var(--ewc-b-h-sm); padding: 0 12px; border-radius: var(--ewc-b-r-sm); background: var(--ewc-b-bg); border: 1px solid var(--ewc-b-bd); color: var(--ewc-b-tx); font-weight: var(--ewc-b-fw); font-size: var(--ewc-b-fs-sm); text-decoration: none; box-shadow: var(--ewc-b-shadow); transition: background-color .15s, border-color .15s, color .15s; }
.ewc-chip > i { color: var(--ewc-b-ic); }
.ewc-chip:hover { background: var(--ewc-b-hover-bg); border-color: var(--ewc-b-hover-bd); color: var(--ewc-b-hover-tx); text-decoration: none; }
.ewc-chip.is-on { background: var(--ewc-b-hover-bg); border-color: var(--ewc-b-ic); color: var(--ewc-b-ic); font-weight: 600; text-decoration: none; }
.ewc-chip:focus-visible { outline: none; box-shadow: var(--ewc-b-ring); }

/* ------------------------------------------------------------------ Botones
 * 2.18: sistema único de botones (mismo diseño en ERP-WPS, la tienda y ERP Móvil): fondo blanco, borde gris
 * claro, radio 10px, 40px de alto, texto pizarra y el icono a la izquierda en índigo. Todo sale de los tokens
 * --ewc-b-*; el modo oscuro solo cambia los tokens (app.css). */
:root {
	--ewc-b-h: 40px; --ewc-b-h-sm: 32px; --ewc-b-r: 10px; --ewc-b-r-sm: 8px; --ewc-b-px: 14px; --ewc-b-gap: 8px;
	--ewc-b-fs: 14px; --ewc-b-fs-sm: 13px; --ewc-b-fw: 500;
	--ewc-b-bg: #ffffff; --ewc-b-bd: #e5e7eb; --ewc-b-tx: #1f2937; --ewc-b-ic: #4f46e5;
	--ewc-b-hover-bg: #eef2ff; --ewc-b-hover-bd: #c7d2fe; --ewc-b-hover-tx: #1e1b4b;
	--ewc-b-shadow: 0 1px 2px rgba(16, 24, 40, .05);
	--ewc-b-pri: #4f46e5; --ewc-b-pri-hover: #4338ca; --ewc-b-pri-tx: #ffffff;
	--ewc-b-bad: #dc2626; --ewc-b-bad-bd: #fecaca; --ewc-b-bad-hover-bg: #fef2f2; --ewc-b-bad-hover-bd: #fca5a5; --ewc-b-bad-fill: #dc2626; --ewc-b-bad-fill-hover: #b91c1c;
	--ewc-b-ok: #16a34a; --ewc-b-ok-hover: #15803d;
	--ewc-b-ring: 0 0 0 3px rgba(79, 70, 229, .35);
	--ewc-b-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ewc-btn, .button, .button-primary, .button-secondary, input[type=submit].button, a.button { display: inline-flex; align-items: center; justify-content: center; gap: var(--ewc-b-gap); min-height: var(--ewc-b-h); padding: 0 var(--ewc-b-px); border-radius: var(--ewc-b-r); border: 1px solid var(--ewc-b-bd); background: var(--ewc-b-bg); color: var(--ewc-b-tx); font: var(--ewc-b-fw) var(--ewc-b-fs)/1.2 var(--ewc-font); cursor: pointer; text-decoration: none; white-space: nowrap; box-shadow: var(--ewc-b-shadow); transition: background-color .15s, border-color .15s, box-shadow .15s, color .15s, transform .05s; vertical-align: middle; }
.ewc-btn > i, .ewc-btn > svg, .ewc-btn > .dashicons, .button > i, .button > svg, .button > .dashicons { color: var(--ewc-b-ic); flex: 0 0 auto; font-size: 15px; line-height: 1; }
.ewc-btn > .dashicons, .button > .dashicons { width: 16px; height: 16px; font-size: 16px; }
.ewc-btn > svg, .button > svg { width: 16px; height: 16px; }
.ewc-btn:hover, .button:hover { background: var(--ewc-b-hover-bg); border-color: var(--ewc-b-hover-bd); color: var(--ewc-b-hover-tx); text-decoration: none; }
.ewc-btn:active, .button:active { transform: translateY(1px); }
.ewc-btn:focus-visible, .button:focus-visible { outline: none; box-shadow: var(--ewc-b-ring); border-color: var(--ewc-b-ic); }
/* Principal: misma forma, relleno índigo. */
.ewc-btn--primary, .button-primary, .button.button-primary { background: var(--ewc-b-pri); border-color: var(--ewc-b-pri); color: var(--ewc-b-pri-tx); box-shadow: 0 1px 2px rgba(79, 70, 229, .25); }
.ewc-btn--primary:hover, .button-primary:hover, .button.button-primary:hover { background: var(--ewc-b-pri-hover); border-color: var(--ewc-b-pri-hover); color: var(--ewc-b-pri-tx); }
.ewc-btn--primary > i, .ewc-btn--primary > svg, .ewc-btn--primary > .dashicons, .button-primary > i, .button-primary > svg, .button-primary > .dashicons { color: var(--ewc-b-pri-tx); }
/* Peligro: blanco con texto rojo; relleno rojo solo en la confirmación de borrar (.ewc-btn--danger-fill). */
.ewc-btn--danger, .button.ewc-danger, .button-link-delete.button { background: var(--ewc-b-bg); border-color: var(--ewc-b-bad-bd); color: var(--ewc-b-bad); }
.ewc-btn--danger > i, .ewc-btn--danger > svg, .ewc-btn--danger > .dashicons { color: var(--ewc-b-bad); }
.ewc-btn--danger:hover { background: var(--ewc-b-bad-hover-bg); border-color: var(--ewc-b-bad-hover-bd); color: var(--ewc-b-bad); }
.ewc-btn--danger-fill, .ewc-btn--danger.ewc-btn--fill { background: var(--ewc-b-bad-fill); border-color: var(--ewc-b-bad-fill); color: #fff; }
.ewc-btn--danger-fill > i, .ewc-btn--danger.ewc-btn--fill > i { color: #fff; }
.ewc-btn--danger-fill:hover, .ewc-btn--danger.ewc-btn--fill:hover { background: var(--ewc-b-bad-fill-hover); border-color: var(--ewc-b-bad-fill-hover); color: #fff; }
:is([role=dialog], [aria-modal=true], .ewc-tb-modal, .ewc-fmodal) .ewc-btn--danger:not(.ewc-btn--ghost) { background: var(--ewc-b-bad-fill); border-color: var(--ewc-b-bad-fill); color: #fff; } /* Confirmar en un diálogo: relleno rojo. */
:is([role=dialog], [aria-modal=true], .ewc-tb-modal, .ewc-fmodal) .ewc-btn--danger:not(.ewc-btn--ghost) > i { color: #fff; }
:is([role=dialog], [aria-modal=true], .ewc-tb-modal, .ewc-fmodal) .ewc-btn--danger:not(.ewc-btn--ghost):not(:disabled):hover { background: var(--ewc-b-bad-fill-hover); border-color: var(--ewc-b-bad-fill-hover); color: #fff; }
/* Fantasma: con texto se ve igual que el normal; solo icono (cerrar, quitar) queda sin borde. */
.ewc-btn--ghost.ewc-btn--icon { background: transparent; border-color: transparent; box-shadow: none; }
.ewc-btn--ghost.ewc-btn--icon > i { color: var(--ewc-muted); }
.ewc-btn--ghost.ewc-btn--icon:hover > i { color: var(--ewc-b-ic); }
.ewc-btn--ghost.ewc-btn--icon:focus-visible { box-shadow: var(--ewc-b-ring); }
.ewc-btn--block { display: flex; width: 100%; min-height: 44px; }
.ewc-btn--sm, .button-small, .button.button-small { min-height: var(--ewc-b-h-sm); padding: 0 10px; gap: 6px; font-size: var(--ewc-b-fs-sm); border-radius: var(--ewc-b-r-sm); }
.ewc-btn--sm > i, .button-small > i, .button-small > .dashicons { font-size: 13px; }
.button-large, .button.button-large { min-height: 44px; padding: 0 20px; }
/* Solo icono: cuadrado. */
.ewc-btn--icon { width: var(--ewc-b-h); min-width: var(--ewc-b-h); padding: 0; }
.ewc-btn--icon.ewc-btn--sm { width: var(--ewc-b-h-sm); min-width: var(--ewc-b-h-sm); }
/* Botón que abre un menú: flecha a la derecha (la pone el CSS; se ocultan las flechas escritas a mano). */
.ewc-btn[data-ewc-dropdown]:not(.ewc-btn--icon)::after, .ewc-btn.has-menu:not(.ewc-btn--icon)::after, .button.has-menu::after { content: ""; width: 14px; height: 14px; flex: 0 0 14px; margin-left: -2px; margin-right: -4px; background: currentColor; opacity: .75; -webkit-mask: var(--ewc-b-chev) center / 14px no-repeat; mask: var(--ewc-b-chev) center / 14px no-repeat; }
.ewc-btn[data-ewc-dropdown] > i.fa-chevron-down, .ewc-btn[data-ewc-dropdown] > i.fa-caret-down, .ewc-btn.has-menu > i.fa-chevron-down { display: none; }
.button-link, .button-link-delete { background: none; border: 0; padding: 0; color: var(--ewc-accent); cursor: pointer; font: inherit; min-height: 0; box-shadow: none; }
.button-link-delete, .submitdelete { color: var(--ewc-bad) !important; }
.button[disabled], .button:disabled, .button.disabled, .ewc-btn:disabled, .ewc-btn[disabled], .ewc-btn.is-disabled, .ewc-btn[aria-disabled=true] { opacity: .5; cursor: not-allowed; box-shadow: none; transform: none; }
.button[disabled]:hover, .button:disabled:hover, .ewc-btn:disabled:hover, .ewc-btn[disabled]:hover { background: var(--ewc-b-bg); border-color: var(--ewc-b-bd); color: var(--ewc-b-tx); }
.ewc-btn--primary:disabled:hover, .button-primary:disabled:hover { background: var(--ewc-b-pri); border-color: var(--ewc-b-pri); color: var(--ewc-b-pri-tx); }
p.submit { margin: 16px 0 0; padding: 0; }

/* ------------------------------------------------------------------ Formularios */
input[type=text], input[type=search], input[type=email], input[type=url], input[type=password], input[type=number], input[type=tel], input[type=date], input[type=datetime-local], input[type=time], input[type=month], input[type=color], select, textarea {
	font: 14px/1.4 var(--ewc-font); color: var(--ewc-text); background: var(--ewc-surface); border: 1px solid var(--ewc-line-2); border-radius: var(--ewc-radius-sm); padding: 8px 11px; min-height: 38px; max-width: 100%; transition: border-color .15s, box-shadow .15s;
}
select { padding-right: 30px; -webkit-appearance: none; appearance: none; background: var(--ewc-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center; }
select[multiple] { background-image: none; padding-right: 11px; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--ewc-accent); box-shadow: 0 0 0 3px rgba(79, 70, 229, .15); }
input[type=checkbox], input[type=radio] { width: 17px; height: 17px; accent-color: var(--ewc-accent); vertical-align: middle; margin: 0 6px 0 0; }
input[readonly] { background: var(--ewc-surface-2); }
textarea { min-height: 80px; width: 100%; }
.regular-text { width: 25em; } .large-text { width: 100%; } .small-text { width: 6em; } .tiny-text { width: 4em; }
.ewc-form label, .ewc-field { display: grid; gap: 5px; margin-bottom: 14px; font-weight: 600; font-size: 13px; color: #334155; }
.ewc-form label > span, .ewc-field > span { display: block; }
.ewc-form label input:not([type=checkbox]):not([type=radio]), .ewc-form label select, .ewc-form label textarea, .ewc-field input { width: 100%; font-weight: 400; }
.ewc-form h2 { margin-top: 10px; display: flex; gap: 8px; align-items: center; }
.ewc-form h2 i { color: var(--ewc-accent); }
.ewc-form--narrow { max-width: 760px; }
.ewc-form label.ewc-check, label.ewc-check { display: flex; gap: 8px; align-items: flex-start; font-weight: 500; }
.ewc-check small { display: block; color: var(--ewc-muted); font-weight: 400; }
.ewc-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; }
.ewc-row > label { flex: 1 1 180px; }
.ewc-inline { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.ewc-inline input[type=text], .ewc-inline input[type=email] { flex: 1 1 200px; }
.ewc-filter { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.ewc-or { text-align: center; color: var(--ewc-muted); margin: 4px 0 10px; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.ewc-mt { margin-top: 12px; }
.ewc-hp { position: absolute; left: -9999px; }

.form-table { width: 100%; border-collapse: collapse; margin: 6px 0 12px; }
.form-table th { width: 220px; text-align: left; vertical-align: top; padding: 14px 16px 14px 0; font-weight: 600; color: #334155; }
.form-table td { padding: 10px 0; vertical-align: middle; }
.form-table tr + tr { border-top: 1px solid var(--ewc-line); }
fieldset { border: 0; margin: 0; padding: 0; }
legend { font-weight: 600; }

/* ------------------------------------------------------------------ Tablas */
.widefat, .wp-list-table, .ewc-table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--ewc-surface); border: 1px solid var(--ewc-line); border-radius: var(--ewc-radius); overflow: hidden; font-size: 13.5px; }
.widefat th, .widefat td, .ewc-table th, .ewc-table td { padding: 10px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--ewc-line); }
.widefat thead th, .widefat tfoot th, .ewc-table thead th { background: var(--ewc-surface-2); color: #475569; font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.widefat tbody tr:last-child td { border-bottom: 0; }
.widefat tbody tr:hover td { background: #fafbff; }
.striped > tbody > :nth-child(odd) td { background: #fcfdff; }
.ewc-table-card { padding: 0; overflow-x: auto; }
.ewc-table-card .widefat { border: 0; border-radius: 0; }
.row-actions { font-size: 12px; color: var(--ewc-muted); visibility: hidden; }
tr:hover .row-actions { visibility: visible; }
.check-column { width: 36px; }
.tablenav { display: flex; gap: 10px; align-items: center; justify-content: space-between; flex-wrap: wrap; margin: 10px 0; }
.tablenav .actions { display: flex; gap: 8px; align-items: center; }
.tablenav-pages { display: flex; gap: 6px; align-items: center; color: var(--ewc-muted); }
.tablenav-pages a, .tablenav-pages span.tablenav-pages-navspan, .page-numbers { display: inline-grid; place-items: center; min-width: 32px; height: 32px; padding: 0 8px; border-radius: 8px; border: 1px solid var(--ewc-line); background: var(--ewc-surface); text-decoration: none; }
.page-numbers.current { background: var(--ewc-accent); color: #fff; border-color: var(--ewc-accent); }
.subsubsub { list-style: none; margin: 6px 0 10px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; color: var(--ewc-muted); font-size: 13px; }
.subsubsub li { display: inline; }
.subsubsub a.current { color: var(--ewc-text); font-weight: 700; }
.search-box { display: flex; gap: 6px; float: right; }
.count { color: var(--ewc-muted); font-weight: 400; }

/* ------------------------------------------------------------------ Pestañas */
.nav-tab-wrapper, h2.nav-tab-wrapper { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--ewc-line); margin: 0 0 16px; padding: 0; }
.nav-tab { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--ewc-muted); font-weight: 600; font-size: 13.5px; text-decoration: none; margin-bottom: -1px; }
.nav-tab:hover { color: var(--ewc-text); text-decoration: none; }
.nav-tab-active, .nav-tab-active:hover { color: var(--ewc-accent); border-bottom-color: var(--ewc-accent); }

/* ------------------------------------------------------------------ Avisos */
.notice, div.updated, div.error, .update-nag { position: relative; background: var(--ewc-surface); border: 1px solid var(--ewc-line); border-left: 4px solid var(--ewc-accent); border-radius: 10px; padding: 10px 40px 10px 14px; margin: 0 0 14px; box-shadow: var(--ewc-shadow); }
.notice p, div.updated p, div.error p { margin: .3em 0; }
.notice-success, div.updated { border-left-color: var(--ewc-ok); background: var(--ewc-ok-soft); }
.notice-error, div.error { border-left-color: var(--ewc-bad); background: var(--ewc-bad-soft); }
.notice-warning, .update-nag { border-left-color: #f59e0b; background: var(--ewc-warn-soft); }
.notice-info { border-left-color: #3b82f6; background: var(--ewc-info-soft); }
.notice.inline { box-shadow: none; margin: 10px 0; }
.notice-dismiss { position: absolute; top: 8px; right: 8px; width: 26px; height: 26px; border: 0; background: none; cursor: pointer; color: var(--ewc-muted); border-radius: 6px; }
.notice-dismiss::before { content: "\f00d"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.notice-dismiss:hover { background: rgba(0, 0, 0, .05); }
.ewc-alert { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border-radius: 10px; margin: 0 0 14px; font-size: 13.5px; }
.ewc-alert.is-ok { background: var(--ewc-ok-soft); color: #065f46; border: 1px solid #a7f3d0; }
.ewc-alert.is-err { background: var(--ewc-bad-soft); color: #991b1b; border: 1px solid #fecaca; }

.spinner { display: inline-block; width: 18px; height: 18px; border: 2px solid var(--ewc-line-2); border-top-color: var(--ewc-accent); border-radius: 50%; vertical-align: middle; visibility: hidden; margin: 0 6px; }
.spinner.is-active { visibility: visible; animation: ewc-spin .8s linear infinite; }
@keyframes ewc-spin { to { transform: rotate(360deg); } }

/* ------------------------------------------------------------------ Progreso */
.ewc-progress { margin-top: 14px; }
.ewc-progress__bar { height: 10px; background: var(--ewc-surface-2); border: 1px solid var(--ewc-line); border-radius: 999px; overflow: hidden; }
.ewc-progress__bar span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--ewc-accent), #0ea5e9); transition: width .4s; }
.ewc-progress__label { margin: 8px 0 4px; font-weight: 600; }
.ewc-progress__stats { list-style: none; display: flex; gap: 14px; flex-wrap: wrap; margin: 0; padding: 0; color: var(--ewc-muted); font-size: 12.5px; }

/* ------------------------------------------------------------------ Editor y páginas */
.ewc-edit { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }
.ewc-edit__title { width: 100%; font-size: 22px !important; font-weight: 700; padding: 12px 14px !important; margin-bottom: 14px; }
.ewc-edit__side label { display: grid; gap: 5px; margin-bottom: 12px; font-weight: 600; font-size: 13px; }
.ewc-edit__side input[type=text], .ewc-edit__side select, .ewc-edit__side textarea { width: 100%; }
.ewc-editor { border: 1px solid var(--ewc-line-2); border-radius: var(--ewc-radius); background: var(--ewc-surface); overflow: hidden; }
.ewc-editor__bar { display: flex; flex-wrap: wrap; gap: 2px; padding: 6px; background: var(--ewc-surface-2); border-bottom: 1px solid var(--ewc-line); }
.ewc-editor__bar button { min-width: 34px; height: 32px; border: 0; background: none; border-radius: 8px; cursor: pointer; color: #334155; font-size: 14px; }
.ewc-editor__bar button:hover, .ewc-editor__bar button.is-on { background: var(--ewc-surface); box-shadow: inset 0 0 0 1px var(--ewc-line); }
.ewc-editor__area { padding: 16px 18px; outline: none; line-height: 1.65; overflow: auto; }
.ewc-editor textarea { border: 0; border-radius: 0; font-family: var(--ewc-mono); font-size: 13px; min-height: 360px; }
.ewc-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; }
.ewc-media-grid figure { margin: 0; background: var(--ewc-surface); border: 1px solid var(--ewc-line); border-radius: 10px; overflow: hidden; }
.ewc-media-grid a { display: grid; place-items: center; aspect-ratio: 1; background: var(--ewc-surface-2); color: var(--ewc-muted); font-size: 32px; }
.ewc-media-grid img { width: 100%; height: 100%; object-fit: cover; }
.ewc-media-grid figcaption { padding: 6px 8px; font-size: 11.5px; color: var(--ewc-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ewc-menu-items { margin: 0; padding-left: 20px; display: grid; gap: 4px; }
.ewc-menu-items .is-sub { margin-left: 18px; }
.ewc-menu-items small { color: var(--ewc-muted); }
.ewc-qr { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin: 10px 0 14px; }
.ewc-qr svg { width: 160px; height: 160px; background: #fff; padding: 8px; border-radius: 10px; border: 1px solid var(--ewc-line); }
.ewc-qr code { font-size: 14px; letter-spacing: .05em; }

/* ------------------------------------------------------------------ Biblioteca de medios (ventana) */
.ewc-mm { position: fixed; inset: 0; z-index: 100000; background: rgba(15, 23, 42, .55); display: grid; place-items: center; padding: 20px; animation: ewc-fade .15s; }
@keyframes ewc-fade { from { opacity: 0; } }
.ewc-mm__box { width: min(1100px, 100%); height: min(760px, 100%); background: var(--ewc-surface); border-radius: 16px; box-shadow: var(--ewc-shadow-lg); display: grid; grid-template-rows: auto auto 1fr auto; overflow: hidden; }
.ewc-mm__box header, .ewc-mm__box footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--ewc-line); }
.ewc-mm__box footer { border-bottom: 0; border-top: 1px solid var(--ewc-line); }
.ewc-mm__box header h2 { margin: 0; }
.ewc-mm__x { border: 0; background: none; font-size: 26px; line-height: 1; cursor: pointer; color: var(--ewc-muted); width: 36px; height: 36px; border-radius: 8px; }
.ewc-mm__x:hover { background: var(--ewc-surface-2); }
.ewc-mm__bar { display: flex; gap: 10px; padding: 12px 18px; flex-wrap: wrap; }
.ewc-mm__q { flex: 1; min-width: 160px; }
.ewc-mm__grid { overflow-y: auto; padding: 4px 18px 18px; display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; align-content: start; }
.ewc-mm__item { position: relative; aspect-ratio: 1; border: 2px solid transparent; border-radius: 10px; background: var(--ewc-surface-2) center / cover no-repeat; cursor: pointer; overflow: hidden; padding: 0; display: grid; place-items: end stretch; }
.ewc-mm__item span { background: rgba(255, 255, 255, .92); font-size: 11px; padding: 4px 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ewc-mm__item.is-sel { border-color: var(--ewc-accent); box-shadow: 0 0 0 3px rgba(79, 70, 229, .25); }
.ewc-mm__item.is-sel::after { content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; top: 6px; right: 6px; width: 22px; height: 22px; border-radius: 50%; background: var(--ewc-accent); color: #fff; font-size: 11px; display: grid; place-items: center; }
.ewc-mm__msg { grid-column: 1 / -1; color: var(--ewc-muted); }
body.ewc-dragging, body.ewc-dragging * { cursor: grabbing !important; user-select: none; }
.ui-sortable-placeholder, .ewc-placeholder { border: 2px dashed #a5b4fc; background: var(--ewc-accent-soft); border-radius: 8px; visibility: visible !important; }

/* ------------------------------------------------------------------ Acceso (login, 2FA, instalador) */
body.ewc-auth { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px 16px; background: radial-gradient(1200px 600px at 10% -10%, #c7d2fe 0, transparent 60%), radial-gradient(900px 500px at 110% 110%, #bae6fd 0, transparent 55%), #eef2f9; }
.ewc-auth__card { width: min(420px, 100%); background: rgba(255, 255, 255, .92); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, .7); border-radius: 20px; box-shadow: 0 30px 80px rgba(15, 23, 42, .18); padding: 28px; }
.ewc-auth__card--wide { width: min(680px, 100%); }
.ewc-auth__card h1 { font-size: 21px; margin: 18px 0 16px; }
.ewc-auth__card h2 { font-size: 15px; margin: 22px 0 6px; }
.ewc-auth__brand { display: flex; align-items: center; gap: 12px; }
.ewc-auth__brand img { width: 44px; height: 44px; border-radius: 12px; object-fit: cover; }
.ewc-auth__brand b { display: block; font-size: 16px; }
.ewc-auth__brand small { color: var(--ewc-muted); font-size: 12px; }
.ewc-auth__mark { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: linear-gradient(135deg, var(--ewc-accent), #0ea5e9); color: #fff; font-weight: 800; font-size: 13px; }
.ewc-auth__links { text-align: center; color: var(--ewc-muted); font-size: 13px; margin: 14px 0 0; }
.ewc-auth__foot { color: var(--ewc-muted); font-size: 12px; margin-top: 16px; }
.ewc-otp { font-size: 26px !important; letter-spacing: .35em; text-align: center; font-variant-numeric: tabular-nums; }
.ewc-big { font-size: 17px; font-weight: 700; word-break: break-all; }

/* ------------------------------------------------------------------ Menú inferior tipo app (celular) */
.ewc-tabbar { display: none; }

@media (max-width: 1100px) {
	.ewc-grid2, .ewc-edit { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 782px) {
	:root { --ewc-bar-h: 56px; }
	body { font-size: 15px; }
	#wpadminbar #wp-admin-bar-site-name .ab-label, #wpadminbar #wp-admin-bar-my-account > .ab-item .ab-label { display: none; }
	#adminmenumain { transform: translateX(-105%); transition: transform .25s ease; width: min(86vw, 320px); box-shadow: var(--ewc-shadow-lg); }
	body.ewc-menu-open #adminmenumain { transform: none; }
	body.ewc-menu-open::after { content: ""; position: fixed; inset: 0; background: rgba(15, 23, 42, .4); z-index: 9970; }
	#adminmenu .wp-submenu { display: none !important; }
	#adminmenu li.ewc-sub-open > .wp-submenu, #adminmenu li.wp-has-current-submenu > .wp-submenu { display: block !important; position: static; box-shadow: none; background: none; }
	#adminmenu a.menu-top { padding: 12px; font-size: 15px; }
	#collapse-menu { display: none; }
	#wpcontent { margin-left: 0; padding: 0 14px calc(84px + env(safe-area-inset-bottom)); }
	#wpbody-content { padding-top: 14px; }
	.ewc-head__ico { width: 40px; height: 40px; font-size: 16px; }
	.ewc-head__txt h1, .wrap > h1 { font-size: 19px; }
	.form-table th, .form-table td { display: block; width: 100%; padding: 6px 0; }
	.regular-text { width: 100%; }
	:root { --ewc-b-h: 42px; --ewc-b-h-sm: 40px; } /* 2.18: área táctil de 40px o más en el teléfono. */
	input[type=text], input[type=search], input[type=email], input[type=url], input[type=password], input[type=number], input[type=tel], select, textarea { font-size: 16px; min-height: 44px; } /* 16px evita el zoom en iPhone */
	.widefat { font-size: 13px; }
	.ewc-card, .postbox { padding: 14px; border-radius: 14px; }
	.search-box { float: none; }
	.ewc-tabbar { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9985; background: rgba(255, 255, 255, .94); backdrop-filter: saturate(1.6) blur(14px); -webkit-backdrop-filter: saturate(1.6) blur(14px); border-top: 1px solid var(--ewc-line); padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); }
	.ewc-tabbar a { display: grid; justify-items: center; gap: 3px; padding: 6px 2px; border-radius: 12px; color: var(--ewc-muted); font-size: 11px; font-weight: 600; text-decoration: none; }
	.ewc-tabbar a i { font-size: 19px; }
	.ewc-tabbar a.is-on { color: var(--ewc-accent); }
	.ewc-tabbar a.is-on i { transform: translateY(-1px); }
	.ewc-mm { padding: 0; }
	.ewc-mm__box { height: 100%; border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
@media print { #wpadminbar, #adminmenumain, .ewc-tabbar, #wpfooter, .notice { display: none !important; } #wpcontent { margin: 0; padding: 0; } html.wp-toolbar { padding: 0; } }
/* Los estilos del ERP no deben teñir el texto de los botones principales. */
a.ewc-btn--primary, a.ewc-btn--primary:hover, a.ewc-btn--primary:focus, .ewc-btn--primary i { color: #fff !important; }
/* Cinta del ERP: con el menú lateral de CÓDICE ERP las pestañas no caben en una línea; pasan a dos líneas en vez
   de quedar escondidas (Ayuda y el botón para contraer se cortaban). */
@media (min-width: 783px) {
	body.ewc-admin .erpw-rb2 .erpw-rb2__tabs { flex-wrap: wrap; overflow: visible; row-gap: 2px; }
	body.ewc-admin .erpw-rb2 .erpw-rb2__tab { padding-left: 11px; padding-right: 11px; }
}

/* =====================================================================
 * CÓDICE ERP 1.0.5 · Barra lateral “Nebula”: oscura, con textura de circuitos, botones tipo app y paneles
 * flotantes de cristal. Gana sobre los temas del ERP (look.css) a propósito.
 * =================================================================== */
body.ewc-admin {
	--ewc-side-w: 262px;
	--nb-bg1: #070b1a; --nb-bg2: #0e1638; --nb-bg3: #0a1024;
	--nb-txt: #c7d2fe; --nb-dim: #8b95c9; --nb-hi: #ffffff;
	--nb-a1: #7c3aed; --nb-a2: #4f46e5; --nb-a3: #06b6d4;
	--nb-line: rgba(148, 163, 255, .14);
}
body.ewc-admin #adminmenumain #adminmenuback {
	background:
		radial-gradient(420px 260px at 0% 0%, rgba(124, 58, 237, .35), transparent 60%),
		radial-gradient(380px 300px at 100% 100%, rgba(6, 182, 212, .22), transparent 60%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%2393a5ff' stroke-opacity='.10' stroke-width='1'%3E%3Cpath d='M0 40h40l12 12h36l10-10h62M0 120h28l14-14h50l16 16h52M40 0v28l10 10v40M120 0v18l-12 12v34l14 14v82M80 160v-30l-10-10V96'/%3E%3C/g%3E%3Cg fill='%2393a5ff' fill-opacity='.22'%3E%3Ccircle cx='52' cy='52' r='2.2'/%3E%3Ccircle cx='98' cy='42' r='2.2'/%3E%3Ccircle cx='42' cy='106' r='2.2'/%3E%3Ccircle cx='108' cy='122' r='2.2'/%3E%3Ccircle cx='50' cy='78' r='2.2'/%3E%3Ccircle cx='108' cy='84' r='2.2'/%3E%3Ccircle cx='70' cy='96' r='2.2'/%3E%3C/g%3E%3C/svg%3E"),
		linear-gradient(180deg, var(--nb-bg1) 0%, var(--nb-bg2) 55%, var(--nb-bg3) 100%) !important;
	border-right: 1px solid var(--nb-line);
	box-shadow: 8px 0 30px rgba(7, 11, 26, .25);
}
body.ewc-admin #adminmenumain #adminmenuwrap, body.ewc-admin #adminmenumain #adminmenu { background: transparent !important; }
/* Sin barra de desplazamiento propia en escritorio: así los paneles flotantes no se cortan ni quedan detrás. */
@media (min-width: 783px) {
	body.ewc-admin #adminmenumain #adminmenuwrap { overflow-y: auto; overflow-x: hidden; display: flex; flex-direction: column; min-height: 0; height: 100%; padding: 14px 12px 14px; scrollbar-width: thin; scrollbar-color: rgba(148,163,255,.35) transparent; }
	body.ewc-admin #adminmenumain #adminmenuwrap::-webkit-scrollbar { width: 6px; }
	body.ewc-admin #adminmenumain #adminmenuwrap::-webkit-scrollbar-thumb { background: rgba(148,163,255,.3); border-radius: 6px; }
	body.ewc-admin #adminmenumain #adminmenuwrap > * { flex-shrink: 0; }
	body.ewc-admin #adminmenumain #adminmenumain { z-index: 9989; }
}
/* Marca */
.ewc-brand { position: relative; display: flex; align-items: center; gap: 12px; padding: 10px 10px 16px; margin-bottom: 8px; border-bottom: 1px solid var(--nb-line); text-decoration: none !important; }
.ewc-brand__logo { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; overflow: hidden; background: linear-gradient(135deg, var(--nb-a1), var(--nb-a2) 50%, var(--nb-a3)); box-shadow: 0 0 0 1px rgba(255,255,255,.12) inset, 0 8px 24px rgba(79, 70, 229, .55); color: #fff; font-weight: 800; font-size: 17px; flex: 0 0 42px; }
.ewc-brand__logo img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.ewc-brand__logo.has-img { background: #fff; padding: 3px; } /* 4.5.0: el logo completo (también los horizontales), sin recortarse. */
.ewc-brand__txt { min-width: 0; }
.ewc-brand__txt b { display: block; color: var(--nb-hi); font-size: 15px; letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ewc-brand__txt small { display: inline-flex; align-items: center; gap: 6px; color: var(--nb-dim); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.ewc-brand__txt small::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #22d3ee; box-shadow: 0 0 10px #22d3ee; }
/* Elementos */
body.ewc-admin #adminmenumain #adminmenu > li { margin: 3px 0; }
body.ewc-admin #adminmenumain #adminmenu a.menu-top { position: relative; gap: 12px; padding: 7px 10px 7px 7px !important; border-radius: 14px; color: var(--nb-txt) !important; font-weight: 600; font-size: 14px; background: transparent !important; box-shadow: none !important; transition: background .18s, color .18s, transform .18s; }
body.ewc-admin #adminmenumain #adminmenu .wp-menu-image { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 11px; display: grid; place-items: center; font-size: 15px; color: #a5b4fc !important; background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px rgba(165,180,252,.14); transition: all .18s; }
body.ewc-admin #adminmenumain #adminmenu .wp-menu-image::before { color: inherit !important; }
body.ewc-admin #adminmenumain #adminmenu a.menu-top:hover, body.ewc-admin #adminmenumain #adminmenu li.ewc-fly-open > a.menu-top { background: rgba(255,255,255,.07) !important; color: var(--nb-hi) !important; transform: translateX(2px); }
body.ewc-admin #adminmenumain #adminmenu a.menu-top:hover .wp-menu-image, body.ewc-admin #adminmenumain #adminmenu li.ewc-fly-open > a.menu-top .wp-menu-image { color: #fff !important; background: rgba(129,140,248,.22); box-shadow: inset 0 0 0 1px rgba(165,180,252,.35), 0 0 18px rgba(129,140,248,.35); }
body.ewc-admin #adminmenumain #adminmenu li.current > a.menu-top, body.ewc-admin #adminmenumain #adminmenu li.wp-has-current-submenu > a.menu-top {
	background: linear-gradient(110deg, rgba(124,58,237,.95), rgba(79,70,229,.95) 45%, rgba(6,182,212,.9)) !important; color: #fff !important;
	box-shadow: 0 10px 28px -8px rgba(79, 70, 229, .75), inset 0 0 0 1px rgba(255,255,255,.18) !important; transform: none;
}
body.ewc-admin #adminmenumain #adminmenu li.current > a.menu-top .wp-menu-image, body.ewc-admin #adminmenumain #adminmenu li.wp-has-current-submenu > a.menu-top .wp-menu-image { color: #fff !important; background: rgba(255,255,255,.18); box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }
body.ewc-admin #adminmenumain #adminmenu .wp-has-submenu > a.menu-top::after { content: "\f105"; font-family: "Font Awesome 6 Free"; font-weight: 900; margin-left: auto; font-size: 12px; opacity: .55; transition: transform .2s; }
body.ewc-admin #adminmenumain #adminmenu li.wp-has-current-submenu > a.menu-top::after { transform: rotate(90deg); opacity: .9; }
body.ewc-admin #adminmenumain #adminmenu li.wp-menu-separator { height: 1px; margin: 12px 10px; background: linear-gradient(90deg, transparent, var(--nb-line), transparent); }
/* Submenú de la sección actual */
body.ewc-admin #adminmenumain #adminmenu li.wp-has-current-submenu > .wp-submenu { display: block; position: relative; margin: 6px 0 10px 24px; padding: 4px 0 4px 12px; border-left: 1px solid rgba(129,140,248,.3); background: none !important; box-shadow: none; }
body.ewc-admin #adminmenumain #adminmenu .wp-submenu a { border: 0 !important; border-radius: 10px !important; padding: 7px 10px !important; color: var(--nb-dim) !important; font-size: 13px; font-weight: 500; position: relative; background: none !important; }
body.ewc-admin #adminmenumain #adminmenu .wp-submenu a::before { content: ""; position: absolute; left: -16px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-radius: 50%; background: #1e2550; box-shadow: 0 0 0 2px rgba(129,140,248,.35); transition: all .18s; }
body.ewc-admin #adminmenumain #adminmenu .wp-submenu a:hover { color: #fff !important; background: rgba(255,255,255,.06) !important; }
body.ewc-admin #adminmenumain #adminmenu .wp-submenu li.current > a, body.ewc-admin #adminmenumain #adminmenu .wp-submenu a.current { color: #fff !important; font-weight: 600; background: rgba(99,102,241,.22) !important; }
body.ewc-admin #adminmenumain #adminmenu .wp-submenu li.current > a::before, body.ewc-admin #adminmenumain #adminmenu .wp-submenu a.current::before { background: #22d3ee; box-shadow: 0 0 0 2px rgba(34,211,238,.35), 0 0 12px #22d3ee; }
/* Paneles flotantes (secciones no actuales): de cristal, con puente invisible y se cierran con retraso */
@media (min-width: 783px) {
	body.ewc-admin #adminmenumain #adminmenu li.wp-has-submenu { position: relative; }
	body.ewc-admin #adminmenumain #adminmenu li.wp-not-current-submenu.ewc-fly-open:not(.erpw-has-fly) > .wp-submenu,
	body.ewc-admin.folded #adminmenumain #adminmenu li.wp-has-submenu.ewc-fly-open:not(.erpw-has-fly) > .wp-submenu {
		display: block !important; position: absolute; left: calc(100% + 10px); top: -6px; margin: 0; width: 248px; max-height: 80vh; overflow-y: auto; padding: 10px;
		background: rgba(14, 20, 48, .94) !important; backdrop-filter: blur(16px) saturate(1.4); -webkit-backdrop-filter: blur(16px) saturate(1.4);
		border: 1px solid rgba(165,180,252,.18); border-radius: 16px; box-shadow: 0 24px 60px rgba(2, 6, 23, .55), 0 0 0 1px rgba(0,0,0,.2); z-index: 100000; animation: ewcFly .16s ease-out;
	}
	body.ewc-admin #adminmenumain #adminmenu li.ewc-fly-open > .wp-submenu::before { content: ""; position: absolute; top: 0; bottom: 0; left: -22px; width: 22px; }
	body.ewc-admin #adminmenumain #adminmenu li.ewc-fly-open > .wp-submenu .wp-submenu-head { display: block !important; color: #fff; font-weight: 700; font-size: 13px; letter-spacing: .02em; padding: 4px 10px 10px; margin-bottom: 4px; border-bottom: 1px solid var(--nb-line); }
	body.ewc-admin #adminmenumain #adminmenu li.ewc-fly-open > .wp-submenu a::before { display: none; }
	body.ewc-admin #adminmenumain #adminmenu li.ewc-fly-open > .wp-submenu a { padding: 9px 12px !important; }
	/* Panel del ERP (lo dibuja el ERP): mismo estilo y por encima de todo */
	body.ewc-admin #adminmenumain #toplevel_page_erpw .erpw-fly { left: calc(100% + 10px) !important; top: -6px !important; background: rgba(14, 20, 48, .96) !important; backdrop-filter: blur(16px); border: 1px solid rgba(165,180,252,.18); border-radius: 16px !important; box-shadow: 0 24px 60px rgba(2,6,23,.55) !important; padding: 8px !important; z-index: 100000 !important; }
	body.ewc-admin #adminmenumain #toplevel_page_erpw .erpw-fly::before { left: -22px !important; width: 22px !important; }
	body.ewc-admin #adminmenumain .erpw-fly a { border-radius: 10px; color: #dbe2ff !important; }
	body.ewc-admin #adminmenumain .erpw-fly a:hover, body.ewc-admin #adminmenumain .erpw-fly li:hover > a { background: rgba(129,140,248,.18) !important; color: #fff !important; }
	body.ewc-admin #adminmenumain .erpw-fly .erpw-fly-sub { left: calc(100% + 6px) !important; background: rgba(17, 24, 56, .97) !important; border: 1px solid rgba(165,180,252,.18); border-radius: 14px !important; padding: 8px !important; }
}
@keyframes ewcFly { from { opacity: 0; transform: translateX(-8px) scale(.98); } to { opacity: 1; transform: none; } }
/* Pie: tarjeta del usuario y contraer */
.ewc-side-foot { margin-top: auto; padding-top: 14px; }
.ewc-side-user { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 14px; background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px var(--nb-line); text-decoration: none !important; }
.ewc-side-user:hover { background: rgba(255,255,255,.09); }
.ewc-side-user__av { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--nb-a3), var(--nb-a2)); box-shadow: 0 0 0 2px rgba(255,255,255,.15); }
.ewc-side-user__t { min-width: 0; line-height: 1.25; }
.ewc-side-user__t b { display: block; color: #fff; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ewc-side-user__t small { color: var(--nb-dim); font-size: 11.5px; }
.ewc-side-user i { margin-left: auto; color: var(--nb-dim); }
body.ewc-admin #collapse-menu { list-style: none; margin: 8px 0 0; }
body.ewc-admin #collapse-button { color: var(--nb-dim) !important; border-radius: 12px; }
body.ewc-admin #collapse-button:hover { background: rgba(255,255,255,.06); color: #fff !important; }
/* Barra superior a juego */
body.ewc-admin #wpadminbar { background: linear-gradient(90deg, rgba(7,11,26,.96), rgba(14,22,56,.96)) !important; border-bottom: 1px solid var(--nb-line); backdrop-filter: blur(12px); }
body.ewc-admin #wpadminbar .ab-item, body.ewc-admin #wpadminbar .ab-item * { color: #e0e7ff !important; }
body.ewc-admin #wpadminbar .ab-top-menu > li > .ab-item:hover { background: rgba(255,255,255,.08) !important; }
body.ewc-admin #wpadminbar .ab-sub-wrapper { background: rgba(14, 20, 48, .97) !important; border: 1px solid var(--nb-line); }
body.ewc-admin #wpadminbar .ab-sub-wrapper .ab-item:hover { background: rgba(129,140,248,.18) !important; }
/* Contraído */
body.ewc-admin.folded { --ewc-side-w: 78px; }
body.ewc-admin.folded .ewc-brand__txt, body.ewc-admin.folded .ewc-side-user__t, body.ewc-admin.folded .ewc-side-user i, body.ewc-admin.folded #adminmenumain #adminmenu .wp-has-submenu > a.menu-top::after { display: none; }
body.ewc-admin.folded .ewc-brand, body.ewc-admin.folded .ewc-side-user { justify-content: center; padding-left: 0; padding-right: 0; }
body.ewc-admin.folded #adminmenumain #adminmenu a.menu-top { justify-content: center; padding: 7px 0 !important; }
/* Celular: el menú lateral usa el mismo diseño */
@media (max-width: 782px) {
	body.ewc-admin #adminmenumain #adminmenumain { width: min(88vw, 320px); }
	body.ewc-admin #adminmenumain #adminmenuwrap { display: flex; flex-direction: column; min-height: 100%; }
}
.ewc-collapse { list-style: none; margin: 0; padding: 0; }

/* Que los temas del ERP no tiñan el menú (texto invisible al pasar el mouse) */
body.ewc-admin #adminmenumain #adminmenu li.menu-top, body.ewc-admin #adminmenumain #adminmenu li.menu-top:hover, body.ewc-admin #adminmenumain #adminmenu li.opensub { background: transparent !important; }
body.ewc-admin #adminmenumain #adminmenu li.menu-top > a.menu-top .wp-menu-name { color: inherit !important; }
body.ewc-admin #adminmenumain #adminmenu li.menu-top > a.menu-top:focus { color: #fff !important; }
body.ewc-admin #adminmenumain #adminmenu .wp-submenu li { background: transparent !important; }
body.ewc-admin #adminmenumain #adminmenu .wp-submenu li > a, body.ewc-admin #adminmenumain #adminmenu .wp-submenu li > a:focus { color: var(--nb-dim) !important; }
body.ewc-admin #adminmenumain #adminmenu .wp-submenu li > a:hover { color: #fff !important; }
body.ewc-admin #adminmenumain #adminmenu .wp-submenu li.current > a, body.ewc-admin #adminmenumain #adminmenu .wp-submenu li > a.current { color: #fff !important; }
body.ewc-admin #adminmenumain .erpw-fly a, body.ewc-admin #adminmenumain .erpw-fly a * { color: #dbe2ff !important; }
body.ewc-admin #adminmenumain .erpw-fly .erpw-fly-sec { color: #8b95c9 !important; }
body.ewc-admin #adminmenumain .erpw-fly .dashicons, body.ewc-admin #adminmenumain .erpw-fly i { color: #a5b4fc !important; opacity: 1; }

/* ===== 2.6 · Menú principal: un solo submenú a la vez =====
   Contraído → solo el panel flotante oscuro (seleccionable). Abierto → sin panel flotante, submenús en línea (acordeón). */
@media (min-width: 783px) {
	body.ewc-admin.folded #adminmenumain #adminmenu li.wp-has-submenu:not(.ewc-fly-open) > .wp-submenu,
	body.ewc-admin.folded #adminmenumain #adminmenu li.wp-has-current-submenu:not(.ewc-fly-open) > .wp-submenu { display: none !important; }
	body.ewc-admin:not(.folded) #adminmenumain #adminmenu li.wp-has-submenu:not(#toplevel_page_erpw).ewc-fly-open > .wp-submenu { display: none !important; }
	body.ewc-admin:not(.folded) #adminmenumain #adminmenu li.ewc-sub-open > .wp-submenu { display: block !important; position: relative; margin: 6px 0 10px 24px; padding: 4px 0 4px 12px; border-left: 1px solid rgba(129,140,248,.3); background: none !important; box-shadow: none; }
	body.ewc-admin:not(.folded) #adminmenumain #adminmenu li.wp-has-current-submenu.ewc-sub-closed > .wp-submenu { display: none !important; }
	/* Panel flotante del menú contraído: oscuro siempre, legible y por encima de todo */
	body.ewc-admin.folded #adminmenumain #adminmenu li.ewc-fly-open > .wp-submenu {
		display: block !important; width: 250px; margin: 0; padding: 10px; overflow-y: auto; z-index: 100000;
		background: rgba(14, 20, 48, .97) !important; border: 1px solid rgba(165,180,252,.2); border-radius: 16px; box-shadow: 0 24px 60px rgba(2, 6, 23, .55);
	}
	body.ewc-admin.folded #adminmenumain #adminmenu li.ewc-fly-open > .wp-submenu::before { content: ""; position: absolute; top: -40px; bottom: -40px; left: calc(-1 * var(--ewc-bridge, 22px)); width: var(--ewc-bridge, 22px); }
	body.ewc-admin.folded #adminmenumain #adminmenu li.ewc-fly-open > .wp-submenu .wp-submenu-head { display: block !important; color: #fff !important; }
	body.ewc2 #adminmenumain #adminmenu li.ewc-fly-open > .wp-submenu li > a { color: #dbe2ff !important; background: none !important; padding: 9px 12px !important; border-radius: 10px !important; }
	body.ewc2 #adminmenumain #adminmenu li.ewc-fly-open > .wp-submenu li > a:hover, body.ewc2 #adminmenumain #adminmenu li.ewc-fly-open > .wp-submenu li > a:focus-visible { color: #fff !important; background: rgba(129,140,248,.22) !important; }
	body.ewc2 #adminmenumain #adminmenu li.ewc-fly-open > .wp-submenu li.current > a { color: #fff !important; background: rgba(99,102,241,.35) !important; }
	/* Flecha del acordeón (menú abierto) */
	body.ewc-admin #adminmenumain #adminmenu li.ewc-has-tog { position: relative; }
	body.ewc-admin #adminmenumain #adminmenu li.ewc-has-tog > a.menu-top::after { display: none; }
	body.ewc-admin:not(.folded) #adminmenumain #adminmenu li.ewc-has-tog > a.menu-top { padding-right: 38px !important; }
	.ewc-sub-tog { position: absolute; top: 9px; right: 4px; width: 30px; height: 30px; border: 0; border-radius: 9px; background: transparent; color: var(--nb-dim); cursor: pointer; display: grid; place-items: center; font-size: 11px; }
	.ewc-sub-tog:hover { background: rgba(255,255,255,.1); color: var(--nb-hi); }
	.ewc-sub-tog i { transition: transform .2s; }
	.ewc-sub-tog[aria-expanded="true"] i { transform: rotate(90deg); }
	li.wp-has-current-submenu > .ewc-sub-tog { color: #fff; }
	body.ewc-admin.folded .ewc-sub-tog { display: none; }
}
@media (max-width: 782px) { .ewc-sub-tog { display: none; } }
/* 2.18: en el teléfono la barra superior no cabe: subir módulo y el escáner (también están en el menú) se ocultan. */
@media (max-width: 600px) {
	#wpadminbar li.ewc-bar-upload, #wpadminbar li.hoc-bar-ocr, #wpadminbar li.erpw-bar-upload { display: none !important; }
	#wpadminbar .ab-top-secondary { min-width: 0; }
}

/* ===== Calculadora ===== */
#wpadminbar .ewc-bar-calc > .ab-item { font-size: 15px; }
.ewc-calc { position: fixed; right: 24px; bottom: 24px; z-index: 100050; width: 300px; max-width: calc(100vw - 24px); border-radius: 18px; background: #0f1530; color: #e2e8ff; box-shadow: 0 30px 70px rgba(2, 6, 23, .45), 0 0 0 1px rgba(165,180,252,.18); font: 14px/1.3 inherit; user-select: none; }
.ewc-calc[hidden] { display: none !important; }
.ewc-calc__bar { display: flex; align-items: center; gap: 8px; padding: 10px 10px 6px 14px; cursor: move; }
.ewc-calc__bar b { flex: 1; font-size: 13px; letter-spacing: .02em; color: #c7d2fe; }
.ewc-calc__bar button { all: unset; cursor: pointer; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; color: #a5b4fc; }
.ewc-calc__bar button:hover { background: rgba(255,255,255,.08); color: #fff; }
.ewc-calc__screen { margin: 0 12px; padding: 10px 12px; border-radius: 12px; background: #070b1a; box-shadow: inset 0 0 0 1px rgba(165,180,252,.14); text-align: right; min-height: 64px; }
.ewc-calc__expr { min-height: 18px; color: #8b95c9; font-size: 12.5px; word-break: break-all; font-variant-numeric: tabular-nums; }
.ewc-calc__res { font-size: 28px; font-weight: 700; color: #fff; overflow-x: auto; white-space: nowrap; font-variant-numeric: tabular-nums; user-select: text; }
.ewc-calc__res.is-err { color: #fca5a5; font-size: 16px; }
.ewc-calc__target { margin: 6px 12px 0; font-size: 11.5px; color: #8b95c9; display: flex; align-items: center; gap: 6px; min-height: 16px; }
.ewc-calc__target b { color: #67e8f9; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ewc-calc__keys { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; padding: 10px 12px 12px; }
.ewc-calc__keys button { all: unset; box-sizing: border-box; cursor: pointer; height: 42px; border-radius: 11px; display: grid; place-items: center; background: rgba(255,255,255,.06); color: #e2e8ff; font-size: 16px; font-weight: 600; transition: background .12s, transform .06s; font-variant-numeric: tabular-nums; }
.ewc-calc__keys button:hover { background: rgba(255,255,255,.12); }
.ewc-calc__keys button:active { transform: scale(.96); }
.ewc-calc__keys button:focus-visible { outline: 2px solid #67e8f9; outline-offset: 1px; }
.ewc-calc__keys .is-op { background: rgba(129,140,248,.2); color: #c7d2fe; }
.ewc-calc__keys .is-fn { background: rgba(255,255,255,.03); color: #a5b4fc; font-size: 12.5px; }
.ewc-calc__keys .is-eq { background: linear-gradient(135deg, #6366f1, #06b6d4); color: #fff; }
.ewc-calc__keys .is-use { background: rgba(34,211,238,.16); color: #67e8f9; font-size: 12.5px; }
.ewc-calc__keys .is-use:disabled, .ewc-calc__keys .is-use[aria-disabled="true"] { opacity: .4; cursor: default; }
.ewc-calc__hist { max-height: 0; overflow: hidden; transition: max-height .2s; border-top: 1px solid rgba(165,180,252,.12); }
.ewc-calc.is-hist .ewc-calc__hist { max-height: 180px; overflow-y: auto; }
.ewc-calc__hist p { margin: 10px 14px; color: #8b95c9; font-size: 12px; }
.ewc-calc__hist button { all: unset; box-sizing: border-box; display: block; width: 100%; padding: 6px 14px; text-align: right; cursor: pointer; font-variant-numeric: tabular-nums; }
.ewc-calc__hist button:hover { background: rgba(255,255,255,.06); }
.ewc-calc__hist small { display: block; color: #8b95c9; font-size: 11px; }
.ewc-calc__mem { margin-right: auto; font-size: 11px; color: #67e8f9; }
.ewc-calc-flash { animation: ewcCalcFlash .9s ease-out; }
@keyframes ewcCalcFlash { from { box-shadow: 0 0 0 4px rgba(34,211,238,.6); } to { box-shadow: 0 0 0 0 rgba(34,211,238,0); } }
@media (max-width: 782px) { .ewc-calc { right: 12px !important; left: 12px !important; bottom: 12px !important; top: auto !important; width: auto; } .ewc-calc__bar { cursor: default; } }
.ewc-alert.is-info { background: #eff6ff; color: #1e3a8a; border: 1px solid #bfdbfe; align-items: center; flex-wrap: wrap; }
.ewc-alert.is-info .ewc-btn { margin-left: auto; }
