/* ============================================================
   ImpriClick · Panel de administración
   Mismo lenguaje visual que el sitio, pero más sobrio:
   azul marino para la estructura y fucsia solo en las acciones.
   ============================================================ */

:root,
html[data-theme="light"] {
  --primary: #1d5fd0;
  --secondary: #10264a;
  --accent: #e6007e;
  --primary-fg: #fff;
  --header-bg: #10264a;
  --header-color: #ffffff;
  --header-branding-color: #ff5aa8;
  --header-link-color: #ffd9ec;
  --breadcrumbs-bg: #f2f6fc;
  --breadcrumbs-fg: #46597a;
  --breadcrumbs-link-fg: #1d5fd0;
  --link-fg: #1d5fd0;
  --link-hover-color: #e6007e;
  --link-selected-fg: #b80065;
  --hairline-color: #e4eaf4;
  --border-color: #d8e2f0;
  --darkened-bg: #f7f9fd;
  --selected-bg: #ffe8f4;
  --selected-row: #fff3f9;
  --button-bg: #1d5fd0;
  --button-hover-bg: #1749a3;
  --default-button-bg: #e6007e;
  --default-button-hover-bg: #b80065;
  --object-tools-bg: #10264a;
  --object-tools-hover-bg: #1d3f70;
  --close-button-bg: #5c728c;
  --close-button-hover-bg: #46597a;
  --message-success-bg: #e6f6f0;
  --message-warning-bg: #fff5e2;
  --message-error-bg: #fdeceb;
}

html[data-theme="dark"] {
  --primary: #4a8bf0;
  --secondary: #0d1f3d;
  --accent: #ff5aa8;
  --header-bg: #0d1f3d;
  --header-color: #ffffff;
  --header-branding-color: #ff5aa8;
  --header-link-color: #ffd9ec;
  --breadcrumbs-bg: #12294d;
  --breadcrumbs-fg: #c9d8ee;
  --breadcrumbs-link-fg: #9dc0ff;
  --link-fg: #8bb6ff;
  --link-hover-color: #ff8cc4;
  --link-selected-fg: #ff8cc4;
  --hairline-color: #20365c;
  --border-color: #2a4470;
  --darkened-bg: #0f2039;
  --selected-bg: #3a1030;
  --selected-row: #1b2b47;
  --button-bg: #2f6fd0;
  --button-hover-bg: #4a8bf0;
  --default-button-bg: #e6007e;
  --default-button-hover-bg: #ff4fa3;
  --object-tools-bg: #2a4470;
  --object-tools-hover-bg: #3a5a8f;
}

/* ---------------- Estructura ---------------- */
body { font-family: 'Segoe UI', system-ui, -apple-system, Arial, sans-serif; }

#header {
  background: linear-gradient(135deg, var(--navy, #10264a), #1d3f70);
  box-shadow: 0 4px 18px rgba(16, 38, 74, .16);
}
#branding #site-name a { display: flex; align-items: center; gap: 10px; font-weight: 750; letter-spacing: -.01em; }
.impriclick-mark {
  display: inline-block; width: 30px; height: 30px; border-radius: 9px;
  background: linear-gradient(135deg, #e6007e, #ff5aa8);
  box-shadow: 0 4px 10px rgba(230, 0, 126, .35);
}
div.breadcrumbs { border-bottom: 1px solid var(--hairline-color); font-size: 13px; }

/* ---------------- Módulos y tarjetas ---------------- */
.module {
  border: 1px solid var(--hairline-color) !important;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(16, 38, 74, .05);
}
.module h2, .module caption, .inline-group h2 {
  background: #f2f6fc; color: #10264a; font-weight: 750; font-size: 13px;
  letter-spacing: .04em; text-transform: uppercase; padding: 10px 14px;
}
html[data-theme="dark"] .module h2,
html[data-theme="dark"] .module caption,
html[data-theme="dark"] .inline-group h2 { background: #12294d; color: #e8effa; }
#content-related { border-radius: 14px; }
fieldset.module { border-radius: 14px; }

/* ---------------- Botones ---------------- */
.button, input[type=submit], input[type=button], .submit-row input, a.button {
  border-radius: 999px !important;
  padding: 10px 22px;
  font-weight: 650;
  border: 0;
  transition: transform .12s ease, box-shadow .12s ease;
}
.button:hover, input[type=submit]:hover, .submit-row input:hover { transform: translateY(-1px); }
.submit-row { border-radius: 0 0 14px 14px; }
.object-tools a { border-radius: 999px; font-weight: 650; }
.object-tools a.addlink, .object-tools a:link { box-shadow: 0 4px 12px rgba(16, 38, 74, .18); }

/* ---------------- Tablas ---------------- */
#changelist table thead th { background: #f2f6fc; color: #10264a; }
html[data-theme="dark"] #changelist table thead th { background: #12294d; color: #e8effa; }
#changelist table tbody tr:hover { background: #f7f9fd; }
#changelist { border-radius: 14px; }
.paginator { border-radius: 0 0 14px 14px; }

/* ---------------- Formularios ---------------- */
input[type=text], input[type=password], input[type=email], input[type=url], input[type=number],
textarea, select, .vTextField {
  border: 1px solid var(--border-color) !important;
  border-radius: 10px !important;
  padding: 9px 12px;
}
input:focus, textarea:focus, select:focus { border-color: #e6007e !important; box-shadow: 0 0 0 3px rgba(230, 0, 126, .12); }
.readonly { color: #46597a; }
div.help, p.help, form p.help { color: #5c728c; }

/* ---------------- Mensajes ---------------- */
.messagelist li { border-radius: 10px; }
ul.messagelist li.success { border-left: 5px solid #0f7a58; }
ul.messagelist li.warning { border-left: 5px solid #b26b00; }
ul.messagelist li.error { border-left: 5px solid #c0392b; }

/* ---------------- Inicio del panel ---------------- */
#panel-trabajo { border-radius: 14px; }
#panel-trabajo a { text-decoration: none; }
#panel-trabajo a:hover span:last-child { color: #e6007e; }

/* ---------------- Login ---------------- */
.login { background: linear-gradient(135deg, #10264a, #234a86); }
.login #container { border-radius: 18px; box-shadow: 0 20px 50px rgba(0, 0, 0, .3); }
.login .submit-row { border-radius: 0 0 18px 18px; }
