:root {
  --navy: #15324b;
  --navy-2: #204b6b;
  --teal: #2fb7a8;
  --teal-dark: #238f84;
  --bg: #f4f7f9;
  --surface: #ffffff;
  --surface-2: #eef3f6;
  --text: #1f2d3a;
  --muted: #6d7a86;
  --border: #dbe4ea;
  --danger: #d9534f;
  --warning: #e9a23b;
  --success: #2f9d68;
  --shadow: 0 12px 28px rgba(25, 54, 75, .08);
  --radius: 18px;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); background: var(--bg); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 270px 1fr; }
.sidebar { position: sticky; top: 0; height: 100vh; background: linear-gradient(180deg, var(--navy), #10283c); padding: 24px 18px; color: white; display: flex; flex-direction: column; z-index: 40; }
.brand { display: flex; gap: 12px; align-items: center; padding: 2px 10px 26px; }
.brand-mark { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(135deg, var(--teal), #62d4c7); color: white; font-weight: 800; font-size: 24px; box-shadow: 0 8px 24px rgba(47, 183, 168, .28); }
.brand strong { display: block; font-size: 22px; line-height: 1.1; }
.brand span { display: block; color: rgba(255,255,255,.66); font-size: 12px; margin-top: 4px; }
.main-nav { display: grid; gap: 8px; }
.nav-button { border: 0; background: transparent; color: rgba(255,255,255,.74); border-radius: 13px; padding: 13px 14px; display: flex; gap: 11px; align-items: center; text-align: left; font-weight: 650; }
.nav-button:hover, .nav-button.active { color: white; background: rgba(255,255,255,.11); }
.nav-icon { width: 25px; text-align: center; font-size: 18px; }
.sync-card { margin-top: auto; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 13px; display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.05); }
.sync-card strong, .sync-card span { display: block; }
.sync-card strong { font-size: 13px; }
.sync-card span { color: rgba(255,255,255,.63); font-size: 11px; margin-top: 3px; }
.status-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--danger); box-shadow: 0 0 0 5px rgba(217,83,79,.13); }
.status-dot.online { background: var(--success); box-shadow: 0 0 0 5px rgba(47,157,104,.13); }

.main-area { min-width: 0; }
.topbar { height: 88px; background: rgba(255,255,255,.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); padding: 0 30px; display: flex; align-items: center; gap: 18px; position: sticky; top: 0; z-index: 30; }
.topbar h1 { margin: 0; font-size: 24px; }
.topbar p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.avatar { width: 43px; height: 43px; border-radius: 50%; border: 0; background: #dceaf0; color: var(--navy); font-weight: 800; }
.content { padding: 28px; max-width: 1500px; margin: 0 auto; }

.page-actions, .toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.toolbar-group { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.button { border: 0; border-radius: 12px; padding: 11px 16px; font-weight: 750; display: inline-flex; gap: 8px; align-items: center; justify-content: center; min-height: 43px; }
.button.primary { background: var(--navy); color: white; }
.button.primary:hover { background: var(--navy-2); }
.button.accent { background: var(--teal); color: white; }
.button.accent:hover { background: var(--teal-dark); }
.button.secondary { background: var(--surface-2); color: var(--text); border: 1px solid var(--border); }
.button.ghost { background: transparent; color: var(--navy); border: 1px solid var(--border); }
.button.danger { background: #fff0ef; color: var(--danger); border: 1px solid #f4cfcc; }
.button.small { min-height: 34px; padding: 7px 10px; border-radius: 9px; font-size: 12px; }
.button:disabled { opacity: .45; cursor: not-allowed; }
.icon-button { width: 42px; height: 42px; border: 1px solid var(--border); background: white; border-radius: 11px; }
.mobile-only { display: none; }

.grid { display: grid; gap: 18px; }
.grid.cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.grid.cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid.cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 20px; }
.card.no-shadow { box-shadow: none; }
.card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.card h2, .card h3 { margin: 0; }
.card h2 { font-size: 20px; }
.card h3 { font-size: 16px; }
.card p { color: var(--muted); }
.metric-card { position: relative; overflow: hidden; }
.metric-card::after { content: ''; position: absolute; width: 95px; height: 95px; right: -25px; bottom: -35px; border-radius: 50%; background: rgba(47,183,168,.09); }
.metric-label { color: var(--muted); font-size: 13px; }
.metric-value { display: block; margin-top: 9px; font-size: 31px; font-weight: 850; color: var(--navy); }
.metric-caption { color: var(--muted); font-size: 12px; margin-top: 6px; }

.empty-state { text-align: center; padding: 54px 20px; border: 1px dashed #c7d4dc; border-radius: var(--radius); background: rgba(255,255,255,.65); }
.empty-icon { width: 74px; height: 74px; margin: 0 auto 16px; border-radius: 22px; display: grid; place-items: center; background: #e5f6f3; color: var(--teal-dark); font-size: 32px; }
.empty-state h3 { margin: 0 0 7px; }
.empty-state p { max-width: 530px; margin: 0 auto 18px; color: var(--muted); }

.project-card, .form-card, .run-card { display: flex; flex-direction: column; min-height: 210px; }
.card-badge-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.badge { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; background: #edf3f6; color: #53626d; font-size: 11px; font-weight: 800; }
.badge.success { background: #e9f7ef; color: var(--success); }
.badge.warning { background: #fff4df; color: #9e6615; }
.badge.danger { background: #fff0ef; color: var(--danger); }
.badge.accent { background: #e5f6f3; color: var(--teal-dark); }
.card-title { font-size: 19px; font-weight: 800; margin-bottom: 7px; }
.card-description { color: var(--muted); font-size: 13px; line-height: 1.55; flex: 1; }
.card-meta { border-top: 1px solid var(--border); padding-top: 13px; margin-top: 17px; display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 12px; }
.card-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }

.table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: 14px; }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th, td { padding: 13px 14px; border-bottom: 1px solid var(--border); text-align: left; font-size: 13px; vertical-align: top; }
th { background: #f3f7f9; color: #50616d; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
tr:last-child td { border-bottom: 0; }

.form-field { display: grid; gap: 7px; }
.form-field label { font-size: 12px; font-weight: 800; color: #4e5d68; }
.form-field input, .form-field select, .form-field textarea { width: 100%; border: 1px solid #cbd7df; border-radius: 11px; padding: 11px 12px; background: white; color: var(--text); outline: 0; }
.form-field textarea { min-height: 100px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(47,183,168,.12); }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.form-row.cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.check-row { display: flex; gap: 8px; align-items: center; font-size: 13px; }
.check-row input { width: 18px; height: 18px; }
.help-text { font-size: 11px; color: var(--muted); }

.modal-backdrop { position: fixed; inset: 0; background: rgba(10,27,40,.58); display: grid; place-items: center; padding: 22px; z-index: 100; }
.modal { width: min(720px, 100%); max-height: 92vh; overflow: auto; background: white; border-radius: 20px; box-shadow: 0 25px 80px rgba(0,0,0,.25); }
.modal.large { width: min(1040px, 100%); }
.modal.full { width: min(1220px, 100%); }
.modal-header { position: sticky; top: 0; background: white; z-index: 2; padding: 19px 22px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; }
.modal-header h2 { margin: 0; font-size: 20px; }
.modal-body { padding: 22px; }
.modal-footer { position: sticky; bottom: 0; background: white; border-top: 1px solid var(--border); padding: 16px 22px; display: flex; justify-content: flex-end; gap: 10px; }

.question-list { display: grid; gap: 13px; }
.question-builder-card { border: 1px solid var(--border); border-radius: 15px; padding: 16px; background: white; display: grid; grid-template-columns: 44px 1fr auto; gap: 13px; align-items: start; }
.question-number { width: 42px; height: 42px; border-radius: 12px; background: #e8f1f5; color: var(--navy); display: grid; place-items: center; font-weight: 850; }
.question-builder-card h4 { margin: 0 0 7px; font-size: 15px; }
.question-builder-card p { margin: 0; font-size: 12px; }
.question-controls { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.option-editor { display: grid; gap: 8px; margin-top: 12px; }
.option-row { display: grid; grid-template-columns: 1fr 110px auto auto; gap: 8px; align-items: center; }

.progress-wrap { display: flex; align-items: center; gap: 12px; }
.progress { height: 9px; flex: 1; border-radius: 999px; background: #e4ecef; overflow: hidden; }
.progress > span { display: block; height: 100%; background: linear-gradient(90deg, var(--teal), #6cd6ca); border-radius: inherit; }
.progress-label { min-width: 55px; color: var(--muted); font-size: 12px; font-weight: 800; }

.run-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; }
.run-main { display: grid; gap: 16px; }
.run-side { position: sticky; top: 108px; display: grid; gap: 14px; }
.question-card { background: white; border: 1px solid var(--border); border-radius: 17px; padding: 20px; box-shadow: var(--shadow); }
.question-card.missing { border-color: #efb5b1; box-shadow: 0 0 0 3px rgba(217,83,79,.08); }
.question-header { display: flex; gap: 13px; align-items: flex-start; margin-bottom: 16px; }
.question-header h3 { margin: 1px 0 5px; font-size: 17px; line-height: 1.4; }
.question-header p { margin: 0; font-size: 12px; }
.question-index { width: 35px; height: 35px; border-radius: 11px; display: grid; place-items: center; flex: 0 0 auto; background: var(--navy); color: white; font-weight: 850; }
.question-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.answer-options { display: grid; gap: 9px; }
.answer-option { border: 1px solid var(--border); border-radius: 12px; padding: 11px 12px; display: flex; gap: 10px; align-items: center; background: #fbfcfd; }
.answer-option:hover { border-color: #a6c9c4; }
.answer-option input { width: 19px; height: 19px; }
.answer-tools { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 15px; padding-top: 14px; border-top: 1px dashed var(--border); }
.image-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px,1fr)); gap: 9px; margin-top: 12px; }
.image-thumb { position: relative; border-radius: 12px; overflow: hidden; border: 1px solid var(--border); aspect-ratio: 1.25; background: #edf3f6; }
.image-thumb img { width: 100%; height: 100%; object-fit: cover; }
.image-thumb button { position: absolute; right: 6px; top: 6px; width: 28px; height: 28px; border: 0; border-radius: 50%; background: rgba(20,30,38,.78); color: white; }
.drawing-preview { margin-top: 12px; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; background: white; }
.drawing-preview img { display: block; width: 100%; max-height: 240px; object-fit: contain; }
.score-big { font-size: 48px; line-height: 1; font-weight: 900; color: var(--navy); }
.score-good { color: var(--success); }
.score-warn { color: var(--warning); }
.score-bad { color: var(--danger); }

.canvas-wrap { border: 1px solid var(--border); border-radius: 14px; overflow: hidden; background: #fff; touch-action: none; }
#drawingCanvas { width: 100%; height: 520px; display: block; touch-action: none; }
.canvas-tools { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.canvas-tools input[type="color"] { width: 45px; height: 38px; padding: 2px; border: 1px solid var(--border); border-radius: 9px; }
.canvas-tools input[type="range"] { width: 150px; }

.stat-bar-row { display: grid; grid-template-columns: 180px 1fr 54px; gap: 12px; align-items: center; margin: 11px 0; }
.stat-bar-label { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stat-bar { height: 11px; background: #e8eef1; border-radius: 999px; overflow: hidden; }
.stat-bar > span { height: 100%; display: block; background: var(--teal); border-radius: inherit; }
.stat-bar-value { text-align: right; font-weight: 800; font-size: 12px; }

.toast-root { position: fixed; right: 22px; bottom: 22px; z-index: 200; display: grid; gap: 10px; }
.toast { width: min(370px, calc(100vw - 44px)); background: #172f42; color: white; border-radius: 13px; padding: 13px 15px; box-shadow: 0 16px 40px rgba(0,0,0,.2); animation: toast-in .2s ease; }
.toast.error { background: #9f342f; }
.toast.success { background: #207f58; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }

.section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 24px 0 13px; }
.section-title h2 { margin: 0; font-size: 19px; }
.muted { color: var(--muted); }
.text-small { font-size: 12px; }
.hidden { display: none !important; }
.divider { height: 1px; background: var(--border); margin: 18px 0; }
.callout { padding: 14px 16px; border-radius: 13px; background: #eef8f6; border: 1px solid #c9ebe6; color: #30675f; font-size: 13px; }
.warning-callout { background: #fff7e8; border-color: #f3d9a7; color: #805b19; }
.danger-callout { background: #fff0ef; border-color: #f2cbc8; color: #8e3531; }

@media (max-width: 1100px) {
  .grid.cols-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .grid.cols-3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .run-layout { grid-template-columns: 1fr; }
  .run-side { position: static; grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; left: -285px; width: 270px; transition: left .2s ease; box-shadow: 18px 0 55px rgba(0,0,0,.18); }
  .sidebar.open { left: 0; }
  .mobile-only { display: inline-grid; place-items: center; }
  .topbar { height: 78px; padding: 0 15px; }
  .topbar h1 { font-size: 20px; }
  .topbar p { display: none; }
  .content { padding: 16px; }
  .grid.cols-4, .grid.cols-3, .grid.cols-2, .form-row, .form-row.cols-3, .run-side { grid-template-columns: 1fr; }
  .question-builder-card { grid-template-columns: 38px 1fr; }
  .question-controls { grid-column: 1 / -1; justify-content: flex-start; }
  .option-row { grid-template-columns: 1fr 90px; }
  .option-row .option-na, .option-row .option-remove { grid-column: auto; }
  .modal-backdrop { padding: 0; }
  .modal, .modal.large, .modal.full { width: 100%; height: 100%; max-height: 100%; border-radius: 0; }
  #drawingCanvas { height: 62vh; }
  .stat-bar-row { grid-template-columns: 105px 1fr 42px; }
}

@media print {
  .sidebar, .topbar, .no-print { display: none !important; }
  .app-shell { display: block; }
  .content { padding: 0; }
  .card, .question-card { box-shadow: none; break-inside: avoid; }
}

/* =========================================================
   Acceso Formix / Dataware
   ========================================================= */
:root {
  --dw-black-pearl: #081e36;
  --dw-lochmara: #0080d1;
  --dw-supernova: #ffc600;
  --dw-conifer: #9adb3c;
  --login-bg: #f8fafc;
  --login-card: rgba(255, 255, 255, .92);
  --login-heading: #081e36;
  --login-copy: #71809e;
  --login-line: #cbd5e1;
  --login-shadow: 0 20px 55px rgba(8, 30, 54, .11);
}

html[data-theme="dark"] {
  --bg: #071726;
  --surface: #0d2338;
  --surface-2: #122c44;
  --text: #ecf4fb;
  --muted: #9fb1c2;
  --border: #294157;
  --login-bg: #061524;
  --login-card: rgba(12, 34, 54, .96);
  --login-heading: #f5f9fd;
  --login-copy: #a9b9cb;
  --login-line: #345069;
  --login-shadow: 0 22px 65px rgba(0, 0, 0, .35);
}

body.login-mode { overflow: hidden; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.login-view {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(420px, 38%) minmax(0, 1fr);
  background: var(--login-bg);
  color: var(--login-heading);
}

.login-brand-panel {
  min-height: 100vh;
  background-color: var(--dw-black-pearl);
  background-image: url('formix-login-panel.webp');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.login-main {
  position: relative;
  min-width: 0;
  display: grid;
  place-items: center;
  padding: 110px 48px 62px;
  background:
    radial-gradient(circle at 88% 18%, rgba(0,128,209,.035), transparent 26%),
    radial-gradient(circle at 16% 88%, rgba(154,219,60,.025), transparent 24%),
    var(--login-bg);
  transition: background .2s ease;
}

.login-theme-switch {
  position: absolute;
  right: clamp(34px, 5.8vw, 84px);
  top: 38px;
  height: 63px;
  min-width: 156px;
  padding: 0 13px;
  border: 1px solid var(--login-line);
  border-radius: 10px;
  background: var(--login-card);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  box-shadow: 0 4px 15px rgba(8,30,54,.025);
}

.theme-button {
  width: 48px;
  height: 48px;
  padding: 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #173b67;
  display: grid;
  place-items: center;
}
.theme-button:hover, .theme-button.active { background: rgba(0,128,209,.08); color: var(--dw-lochmara); }
.theme-button svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.theme-separator { width: 1px; height: 33px; background: var(--login-line); }
html[data-theme="dark"] .theme-button { color: #c8d8e7; }

.login-card-wrap { width: min(695px, 100%); }
.login-card {
  width: 100%;
  padding: clamp(54px, 6vh, 72px) clamp(42px, 4.2vw, 58px) 56px;
  border: 1px solid var(--login-line);
  border-radius: 11px;
  background: var(--login-card);
  box-shadow: var(--login-shadow);
  backdrop-filter: blur(8px);
}
.login-card h1 {
  margin: 0;
  color: var(--login-heading);
  font-size: clamp(38px, 3.2vw, 51px);
  line-height: 1.08;
  letter-spacing: -.035em;
  font-weight: 800;
}
.login-subtitle {
  margin: 14px 0 48px;
  color: var(--login-copy);
  font-size: clamp(19px, 1.45vw, 24px);
}
.login-mobile-brand { display: none; }

#loginForm { display: grid; gap: 25px; }
.login-field {
  position: relative;
  height: 80px;
  display: flex;
  align-items: center;
  border: 1px solid var(--login-line);
  border-radius: 8px;
  background: rgba(255,255,255,.38);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
html[data-theme="dark"] .login-field { background: rgba(4,19,33,.34); }
.login-field:focus-within {
  border-color: var(--dw-lochmara);
  box-shadow: 0 0 0 4px rgba(0,128,209,.11);
  background: rgba(255,255,255,.64);
}
html[data-theme="dark"] .login-field:focus-within { background: rgba(7,26,43,.72); }
.login-field-icon {
  width: 77px;
  height: 100%;
  display: grid;
  place-items: center;
  color: #14365e;
  flex: 0 0 auto;
}
html[data-theme="dark"] .login-field-icon { color: #bdd0e2; }
.login-field-icon svg, .password-toggle svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.login-field input {
  width: 100%;
  min-width: 0;
  height: 100%;
  border: 0;
  outline: 0;
  padding: 0 20px 0 0;
  background: transparent;
  color: var(--login-heading);
  font-size: 19px;
}
.login-field input::placeholder { color: var(--login-copy); opacity: 1; }
.password-toggle {
  width: 64px;
  height: 100%;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  color: #14365e;
  display: grid;
  place-items: center;
}
html[data-theme="dark"] .password-toggle { color: #bdd0e2; }
.password-toggle:hover { color: var(--dw-lochmara); }
.password-toggle svg { width: 26px; height: 26px; }

.login-options {
  margin-top: 5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #52617e;
  font-size: 16px;
}
.remember-option { display: inline-flex; align-items: center; gap: 11px; cursor: pointer; }
.remember-option input {
  appearance: none;
  width: 23px;
  height: 23px;
  margin: 0;
  border: 1px solid #9bb0c4;
  border-radius: 4px;
  background: white;
  display: grid;
  place-items: center;
}
.remember-option input:checked { background: var(--dw-lochmara); border-color: var(--dw-lochmara); }
.remember-option input:checked::after { content: '✓'; color: white; font-size: 16px; font-weight: 900; line-height: 1; }
html[data-theme="dark"] .login-options { color: #b8c8d9; }
html[data-theme="dark"] .remember-option input { background: #102c45; }
.login-link {
  border: 0;
  padding: 2px 0;
  background: transparent;
  color: #0076e3;
  font-weight: 600;
  text-decoration: none;
}
.login-link:hover { text-decoration: underline; }

.login-error {
  margin-top: -7px;
  padding: 11px 13px;
  border: 1px solid #f1c2be;
  border-radius: 8px;
  background: #fff1f0;
  color: #9a332e;
  font-size: 14px;
}
html[data-theme="dark"] .login-error { background: #45201f; border-color: #75403d; color: #ffd1cd; }

.login-submit {
  min-height: 77px;
  margin-top: 8px;
  border: 0;
  border-radius: 7px;
  padding: 0 28px;
  background: linear-gradient(105deg, #066fc9, #007be1);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  font-size: 20px;
  font-weight: 750;
  box-shadow: 0 9px 24px rgba(0,117,222,.16);
  transition: transform .15s ease, filter .15s ease;
}
.login-submit:hover { filter: brightness(1.04); transform: translateY(-1px); }
.login-submit:active { transform: translateY(0); }
.login-submit:disabled { opacity: .65; cursor: wait; transform: none; }
.login-submit svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.login-submit.loading svg { animation: login-arrow 1s ease-in-out infinite; }
@keyframes login-arrow { 50% { transform: translateX(7px); } }

.login-divider { height: 1px; margin: 38px 0 38px; background: var(--login-line); }
.create-account-row { margin: 0; text-align: center; color: var(--login-copy); font-size: 17px; }
.create-account-row .login-link { margin-left: 7px; font-size: inherit; }

.user-menu-wrap { position: relative; }
.user-popover {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: 245px;
  padding: 15px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: 0 18px 48px rgba(8,30,54,.17);
  z-index: 90;
}
.user-popover-name { color: var(--text); font-size: 14px; font-weight: 800; }
.user-popover-email { margin-top: 4px; color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; }
.user-popover-divider { height: 1px; margin: 13px -15px 8px; background: var(--border); }
.user-popover-action { width: 100%; padding: 10px 11px; border: 0; border-radius: 9px; background: transparent; color: var(--danger); text-align: left; font-weight: 750; }
.user-popover-action:hover { background: #fff0ef; }

html[data-theme="dark"] .topbar { background: rgba(8,30,54,.94); }
html[data-theme="dark"] .card,
html[data-theme="dark"] .question-card,
html[data-theme="dark"] .question-builder-card,
html[data-theme="dark"] .modal,
html[data-theme="dark"] .modal-header,
html[data-theme="dark"] .modal-footer { background: var(--surface); color: var(--text); }
html[data-theme="dark"] .form-field input,
html[data-theme="dark"] .form-field select,
html[data-theme="dark"] .form-field textarea,
html[data-theme="dark"] .answer-option,
html[data-theme="dark"] .icon-button { background: #0b2033; color: var(--text); border-color: var(--border); }

@media (max-width: 1050px) {
  .login-view { grid-template-columns: minmax(345px, 40%) minmax(0, 1fr); }
  .login-main { padding-left: 30px; padding-right: 30px; }
  .login-card { padding-left: 38px; padding-right: 38px; }
  .login-card h1 { font-size: 39px; }
}

@media (max-width: 780px) {
  body.login-mode { overflow: auto; }
  .login-view { display: block; min-height: 100vh; }
  .login-brand-panel { display: none; }
  .login-main { min-height: 100vh; padding: 98px 18px 28px; }
  .login-theme-switch { top: 20px; right: 18px; height: 54px; min-width: 132px; }
  .theme-button { width: 42px; height: 42px; }
  .login-card { padding: 34px 24px 32px; border-radius: 15px; }
  .login-mobile-brand { margin: 0 0 23px; display: flex; align-items: center; gap: 12px; color: var(--login-heading); letter-spacing: .22em; }
  .login-mobile-mark { width: 46px; height: 46px; border-radius: 14px; background: linear-gradient(145deg, #0797ff, #0069dd); color: white; display: grid; place-items: center; font-weight: 900; font-size: 24px; font-style: italic; box-shadow: 0 10px 28px rgba(0,128,209,.24); }
  .login-card h1 { font-size: 34px; }
  .login-subtitle { margin-bottom: 30px; font-size: 18px; }
  #loginForm { gap: 18px; }
  .login-field { height: 66px; }
  .login-field-icon { width: 60px; }
  .login-field input { font-size: 16px; }
  .login-options { align-items: flex-start; font-size: 14px; }
  .login-submit { min-height: 64px; font-size: 18px; }
  .login-divider { margin: 28px 0; }
  .create-account-row { font-size: 15px; }
}

@media (max-width: 430px) {
  .login-options { display: grid; justify-content: stretch; }
  .login-options .login-link { text-align: left; }
}

@media print {
  .login-view { display: none !important; }
}

/* =========================================================
   Formix V6 - Configuración, formularios y disponibilidad
   ========================================================= */
:root { --brand-accent:#ffc600; --font-scale:1; --density-space:1; }
html[data-font-scale="small"] { --font-scale:.9; }
html[data-font-scale="medium"] { --font-scale:1; }
html[data-font-scale="large"] { --font-scale:1.12; }
html[data-density="compact"] { --density-space:.78; }
html[data-density="comfortable"] { --density-space:1; }
html[data-density="spacious"] { --density-space:1.2; }
body { font-size:calc(16px * var(--font-scale)); }
.content { padding:calc(28px * var(--density-space)); }
.card,.question-card { padding:calc(20px * var(--density-space)); }
.sidebar { overflow-y:auto; scrollbar-width:thin; }
.brand-mark img { width:100%; height:100%; object-fit:contain; padding:4px; }
.main-nav { gap:4px; padding-bottom:18px; }
.nav-section { display:grid; gap:5px; }
.nav-section + .nav-section { margin-top:15px; padding-top:13px; border-top:1px solid rgba(255,255,255,.09); }
.nav-section-title { color:rgba(255,255,255,.46); text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:850; padding:0 14px 5px; }
.nav-button { min-height:43px; padding:11px 14px; }
.nav-button.active { box-shadow:inset 3px 0 0 var(--brand-accent); background:rgba(255,255,255,.13); }
.sync-card { flex:0 0 auto; }
.avatar.has-photo { overflow:hidden; padding:0; }
.avatar.has-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.dashboard-secondary { margin-top:18px; }
.table-actions { display:flex; gap:7px; flex-wrap:wrap; min-width:max-content; }
.permission-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.permission-group { border:1px solid var(--border); border-radius:15px; padding:15px; background:var(--surface); }
.permission-group h3 { margin:0 0 10px; font-size:15px; }
.permission-item { display:flex; align-items:flex-start; gap:10px; border-radius:10px; padding:9px; cursor:pointer; }
.permission-item:hover { background:var(--surface-2); }
.permission-item input { width:18px; height:18px; margin-top:2px; }
.permission-item span,.permission-item strong,.permission-item small { display:block; }
.permission-item strong { font-size:12px; line-height:1.35; }
.permission-item small { color:var(--muted); margin-top:3px; font-size:9px; }
.user-cell { display:flex; align-items:center; gap:11px; min-width:220px; }
.user-thumb { width:42px; height:42px; border-radius:13px; object-fit:cover; background:var(--surface-2); flex:0 0 auto; }
.user-thumb.fallback { display:grid; place-items:center; color:var(--navy); font-weight:850; }
.user-editor-head { display:flex; gap:16px; align-items:center; }
.user-photo-preview { width:104px; height:104px; border-radius:22px; border:1px dashed var(--border); background:var(--surface-2); display:grid; place-items:center; color:var(--muted); overflow:hidden; }
.user-photo-preview img { width:100%; height:100%; object-fit:cover; }
.project-score { margin-top:16px; background:var(--surface-2); border-radius:13px; padding:12px 14px; display:flex; justify-content:space-between; align-items:center; }
.project-score span { color:var(--muted); font-size:12px; font-weight:700; }
.project-score strong { font-size:24px; }
.linked-list { margin-top:13px; padding-top:12px; border-top:1px dashed var(--border); color:var(--muted); font-size:11px; line-height:1.45; }
.warning-text { color:#9e6615; }
.selection-list { display:grid; gap:10px; }
.selection-item { border:1px solid var(--border); border-radius:13px; padding:12px; display:flex; gap:11px; align-items:flex-start; background:var(--surface); }
.selection-item:hover { border-color:var(--teal); }
.selection-item input { width:20px; height:20px; margin-top:2px; }
.selection-item span,.selection-item strong,.selection-item small { display:block; }
.selection-item small { color:var(--muted); margin-top:4px; }
.selection-button { width:100%; border:1px solid var(--border); border-radius:14px; background:var(--surface); text-align:left; padding:15px; color:var(--text); }
.selection-button:hover { border-color:var(--teal); background:var(--surface-2); }
.selection-button strong,.selection-button span { display:block; }
.selection-button span { color:var(--muted); font-size:12px; margin-top:4px; }
.analytics-grid { margin-top:18px; }
.personalization-layout { align-items:stretch; }
.preview-card { display:grid; grid-template-columns:150px 1fr; min-height:390px; padding:0 !important; overflow:hidden; }
.preview-sidebar { background:linear-gradient(180deg,var(--navy),#10283c); color:white; padding:22px 15px; display:flex; flex-direction:column; align-items:center; gap:13px; }
.preview-brand { width:50px; height:50px; display:grid; place-items:center; border-radius:14px; background:var(--teal); font-weight:900; font-size:24px; }
.preview-menu { height:12px; width:100%; background:rgba(255,255,255,.12); border-radius:7px; }
.preview-menu.active { background:rgba(255,255,255,.32); box-shadow:inset 3px 0 0 var(--brand-accent); }
.preview-content { padding:30px; }
.preview-question { margin-top:30px; border:1px solid var(--border); border-radius:15px; padding:20px; display:grid; gap:25px; }
.settings-tabs { display:flex; gap:8px; margin-bottom:16px; position:sticky; top:100px; z-index:4; background:var(--bg); padding:8px 0; }
.settings-tabs a { color:var(--navy); text-decoration:none; background:var(--surface); border:1px solid var(--border); padding:9px 13px; border-radius:10px; font-weight:750; font-size:12px; }
.settings-section { margin-bottom:18px; scroll-margin-top:150px; }
.upload-preview { min-height:150px; border:1px dashed var(--border); border-radius:15px; background:var(--surface-2); display:grid; place-items:center; color:var(--muted); overflow:hidden; }
.upload-preview.signature { background:var(--surface); }
.upload-preview img { width:100%; height:150px; object-fit:contain; padding:12px; }
.scale-editor { display:grid; gap:9px; }
.scale-row { display:grid; grid-template-columns:minmax(180px,1fr) 110px 110px 62px; gap:10px; align-items:center; }
.scale-row input { width:100%; border:1px solid var(--border); background:var(--surface); color:var(--text); border-radius:10px; padding:10px; }
.scale-row input[type="color"] { height:42px; padding:3px; }
.hide-descriptions .card-description,.hide-descriptions .metric-caption,.hide-descriptions .topbar p,.hide-descriptions .help-text,.hide-descriptions .login-subtitle { display:none !important; }
html[data-theme="dark"] body,html[data-theme="dark"] .main-area { background:var(--bg); color:var(--text); }
html[data-theme="dark"] .topbar,html[data-theme="dark"] .card,html[data-theme="dark"] .question-card,html[data-theme="dark"] .modal,html[data-theme="dark"] .modal-header,html[data-theme="dark"] .modal-footer,html[data-theme="dark"] .permission-group,html[data-theme="dark"] .selection-item,html[data-theme="dark"] .selection-button { background:var(--surface); color:var(--text); }
html[data-theme="dark"] th { background:var(--surface-2); color:var(--muted); }
html[data-theme="dark"] .form-field input,html[data-theme="dark"] .form-field select,html[data-theme="dark"] .form-field textarea,html[data-theme="dark"] .option-row input { background:var(--surface-2); color:var(--text); border-color:var(--border); }
html[data-theme="dark"] .answer-option { background:var(--surface-2); }
html[data-theme="dark"] .badge { background:var(--surface-2); color:var(--muted); }
html[data-theme="dark"] .empty-state { background:var(--surface); }
html[data-theme="dark"] .settings-tabs { background:var(--bg); }
html[data-theme="dark"] .settings-tabs a { background:var(--surface); color:var(--text); }
@media (max-width:1200px) { .permission-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .permission-grid { grid-template-columns:1fr; } .preview-card { grid-template-columns:90px 1fr; } .preview-content { padding:18px; } .scale-row { grid-template-columns:1fr 75px 75px 50px; } .settings-tabs { overflow-x:auto; top:78px; } .user-editor-head { align-items:flex-start; } }
.check-inline { display:flex; align-items:center; gap:10px; font-weight:700; color:var(--text); }
.check-inline input { width:18px; height:18px; }
.stats-inline { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.calendar-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; }
.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
.calendar-head { padding:10px 8px; font-size:12px; font-weight:800; color:var(--muted); text-align:center; }
.calendar-cell { min-height:136px; border:1px solid var(--border); border-radius:14px; background:var(--surface); padding:10px; display:flex; flex-direction:column; gap:8px; }
.calendar-cell.muted-cell { background:var(--surface-2); border-style:dashed; }
.calendar-date { font-weight:800; color:var(--navy); }
.calendar-events { display:grid; gap:6px; }
.calendar-event { border-radius:10px; padding:6px 8px; font-size:11px; line-height:1.35; }
.calendar-event.pending { background:rgba(255,198,0,.18); color:#7a6100; }
.calendar-event.accepted { background:rgba(154,219,60,.16); color:#35690a; }
.calendar-event.rejected { background:rgba(217,83,79,.14); color:#9f2d2a; }
.calendar-more { font-size:11px; color:var(--muted); font-weight:700; }
.detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.detail-item { border:1px solid var(--border); border-radius:14px; padding:14px; background:var(--surface-2); }
.detail-item span { display:block; color:var(--muted); font-size:12px; margin-bottom:6px; }
.detail-item strong { display:block; font-size:14px; line-height:1.45; }
.detail-item.full { grid-column:1 / -1; }
@media (max-width:900px) { .calendar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .calendar-head { display:none; } .detail-grid { grid-template-columns:1fr; } }
.nav-button { position:relative; }
.nav-notification { margin-left:auto; min-width:22px; height:22px; padding:0 6px; border-radius:999px; display:inline-grid; place-items:center; background:var(--brand-accent); color:#081e36; font-size:10px; font-weight:900; box-shadow:0 0 0 3px rgba(255,198,0,.12); }
.availability-alert { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:16px; padding:15px 18px; border-radius:15px; border:1px solid rgba(255,198,0,.55); background:linear-gradient(90deg,rgba(255,198,0,.16),rgba(0,128,209,.08)); }
.availability-alert strong,.availability-alert div { display:block; }
.availability-alert > div > div { margin-top:4px; color:var(--muted); font-size:12px; }
.availability-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.availability-tab { border:1px solid var(--border); background:var(--surface); color:var(--text); border-radius:12px; padding:10px 15px; font-weight:800; cursor:pointer; }
.availability-tab:hover { border-color:var(--teal); }
.availability-tab.active { background:var(--navy); border-color:var(--navy); color:white; box-shadow:inset 0 -3px 0 var(--brand-accent); }
.availability-filters { margin-bottom:18px; }
.pre-sales-card { cursor:pointer; transition:.18s ease; }
.pre-sales-card:hover { transform:translateY(-2px); border-color:var(--teal); }
.pre-sales-card.selected { border-color:var(--teal); box-shadow:0 0 0 3px rgba(0,128,209,.11); }
.next-activity { margin-top:14px; padding-top:12px; border-top:1px dashed var(--border); display:grid; gap:3px; }
.next-activity span,.next-activity small { color:var(--muted); font-size:11px; }
.next-activity strong { font-size:13px; }
.activity-title { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.new-request-row { background:rgba(255,198,0,.055); }
.pulse-badge { animation:formix-pulse 1.7s infinite; }
@keyframes formix-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(255,198,0,.28)} 50%{box-shadow:0 0 0 6px rgba(255,198,0,0)} }
.status-comment { max-width:210px; margin-top:5px; }
.calendar-event { width:100%; border:0; text-align:left; cursor:pointer; display:grid; grid-template-columns:auto 1fr; column-gap:5px; row-gap:2px; font-family:inherit; }
.calendar-event span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.calendar-event small { grid-column:1 / -1; opacity:.78; }
.calendar-event:hover { filter:brightness(.97); transform:translateY(-1px); }
.calendar-event.under_review { background:rgba(0,128,209,.13); color:#005b96; }
.calendar-event.reschedule { background:rgba(255,198,0,.18); color:#7a6100; border-left:3px solid #ffc600; }
.calendar-event.completed { background:rgba(154,219,60,.14); color:#35690a; opacity:.78; }
.calendar-event.cancelled,.calendar-event.rejected { background:rgba(217,83,79,.12); color:#9f2d2a; opacity:.75; }
.detail-item small { display:block; margin-top:5px; color:var(--muted); }
.timeline { display:grid; gap:0; }
.timeline-item { display:grid; grid-template-columns:20px 1fr; gap:10px; padding:0 0 18px; position:relative; }
.timeline-item::before { content:""; position:absolute; left:6px; top:13px; bottom:-3px; width:2px; background:var(--border); }
.timeline-item:last-child::before { display:none; }
.timeline-dot { width:14px; height:14px; border-radius:50%; background:var(--teal); border:3px solid var(--surface); box-shadow:0 0 0 1px var(--teal); margin-top:2px; z-index:1; }
.timeline-item p { margin:6px 0 0; font-size:12px; color:var(--text); }
html[data-theme="dark"] .availability-tab.active { background:var(--navy-2); }
html[data-theme="dark"] .new-request-row { background:rgba(255,198,0,.075); }
@media (max-width:760px) { .availability-alert { align-items:flex-start; flex-direction:column; } .availability-alert .button { width:100%; } .availability-tabs { display:grid; grid-template-columns:1fr; } }


/* Formix V6 */
.login-cover-settings-grid { display:grid; grid-template-columns:minmax(260px,420px) 1fr; gap:20px; align-items:start; }
.login-cover-preview { width:100%; aspect-ratio:5/8; max-height:520px; border:1px dashed var(--border); border-radius:18px; overflow:hidden; background:var(--surface-2); display:grid; place-items:center; }
.login-cover-preview img { width:100%; height:100%; object-fit:cover; }
.form-draft-status { margin-top:12px; padding:9px 12px; border-radius:10px; background:rgba(154,219,60,.12); color:#3d6d13; font-size:12px; font-weight:750; }
.modal-layer { position:relative; }
.location-map-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,1fr); gap:16px; align-items:stretch; }
.map-preview-box,.map-detail { min-height:260px; border:1px solid var(--border); border-radius:15px; overflow:hidden; background:var(--surface-2); }
.maps-frame { width:100%; height:100%; min-height:260px; border:0; display:block; }
.maps-frame.compact { min-height:320px; }
.map-empty { min-height:260px; display:grid; place-items:center; text-align:center; padding:25px; color:var(--muted); }
.demo-template-box { border:1px solid var(--border); background:var(--surface-2); border-radius:16px; padding:16px; }
.demo-template-box .section-title { margin-top:0; }
@media (max-width:900px) { .login-cover-settings-grid,.location-map-grid { grid-template-columns:1fr; } .login-cover-preview { max-width:360px; } }

/* Formix V6.1 - ajuste visual de imágenes y escala del login */
:root { --login-scale: 1; --login-scale-inverse: 100%; }
.login-main { overflow: auto; }
.login-card-wrap { width: min(695px, var(--login-scale-inverse, 100%)); zoom: var(--login-scale, 1); transition: zoom .2s ease, width .2s ease; }
.image-settings-row { align-items: start; }
.logo-preview img { object-fit: contain; }
.login-settings-stack { display: grid; gap: 18px; }
.login-scale-control { padding: 18px; border: 1px solid var(--border); border-radius: 15px; background: var(--surface-2); }
.login-scale-control input[type="range"] { width: 100%; accent-color: var(--teal); }
.range-labels { display: flex; justify-content: space-between; gap: 10px; margin-top: 7px; color: var(--muted); font-size: 10px; }
.image-editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, 300px); gap: 20px; align-items: start; }
.image-editor-stage { position: relative; width: 100%; max-height: 70vh; aspect-ratio: var(--editor-aspect); margin: 0 auto; overflow: hidden; border: 1px solid var(--border); border-radius: 18px; background-color: #eef2f5; background-image: linear-gradient(45deg, #dfe5ea 25%, transparent 25%), linear-gradient(-45deg, #dfe5ea 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #dfe5ea 75%), linear-gradient(-45deg, transparent 75%, #dfe5ea 75%); background-size: 24px 24px; background-position: 0 0, 0 12px, 12px -12px, -12px 0; display: grid; place-items: center; }
.image-editor-stage canvas { display: block; width: 100%; height: 100%; object-fit: contain; cursor: grab; touch-action: none; }
.image-editor-stage canvas:active { cursor: grabbing; }
.image-editor-center-h,.image-editor-center-v { position: absolute; pointer-events: none; opacity: .45; }
.image-editor-center-h { left: 0; right: 0; top: 50%; border-top: 1px dashed #0080d1; }
.image-editor-center-v { top: 0; bottom: 0; left: 50%; border-left: 1px dashed #0080d1; }
.image-editor-stage.circle-guide::after { content: ''; position: absolute; inset: 4%; border: 2px solid rgba(255,255,255,.92); border-radius: 50%; box-shadow: 0 0 0 999px rgba(8,30,54,.28); pointer-events: none; }
.image-editor-controls { display: grid; gap: 17px; }
.image-editor-controls input[type="range"] { width: 100%; accent-color: var(--teal); }
.signature-drawing-guide { margin: 0 0 10px; color: var(--muted); font-size: 12px; }
.signature-canvas-wrap { background: #fff; border-radius: 14px; border: 1px solid var(--border); }
.signature-canvas-wrap canvas { aspect-ratio: 3/1; max-height: 420px; }
@media (max-width: 900px) { .image-editor-layout { grid-template-columns: 1fr; } .image-editor-stage { max-height: 58vh; } }

/* Formix V6.2 - notificaciones de disponibilidad */
.availability-alert.notification-warning { border-color: rgba(217,83,79,.35); background: linear-gradient(90deg,rgba(217,83,79,.10),rgba(255,198,0,.08)); }
.notification-badges { display:grid; gap:5px; min-width:125px; }
.notification-badges .badge { width:max-content; }
.notification-detail { margin-top:8px; }
.notification-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.notification-summary-grid > div { display:grid; gap:6px; padding:12px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.notification-summary-grid span { color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.notification-channel-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }
.notification-channel-card { border:1px solid var(--border); border-radius:17px; background:var(--surface); padding:20px; }
.notification-channel-card h3 { margin:12px 0 5px; }
.notification-channel-card p { min-height:22px; color:var(--muted); overflow-wrap:anywhere; }
.notification-channel-icon { width:48px; height:48px; border-radius:14px; display:grid; place-items:center; background:#dcf8c6; color:#176b35; font-weight:900; }
.notification-channel-icon.email { background:rgba(0,128,209,.13); color:#0069ab; font-size:24px; }
html[data-theme="dark"] .notification-channel-card,html[data-theme="dark"] .notification-summary-grid > div { background:var(--surface); }
@media (max-width:760px) { .notification-channel-grid,.notification-summary-grid { grid-template-columns:1fr; } }
/* Formix V7 */
.save-status{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:11px;font-weight:750;color:var(--muted);white-space:nowrap}
.save-status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 18%,transparent)}
.save-status.saving .save-status-dot{background:var(--brand-accent);animation:pulse 1s infinite}.save-status.pending .save-status-dot{background:#f0ad4e}.save-status.error .save-status-dot{background:#d9534f}.save-status.synced .save-status-dot{background:var(--teal)}
.notification-bell{position:relative;border:1px solid var(--border);background:var(--surface);color:var(--text);width:42px;height:42px;border-radius:13px;cursor:pointer;font-size:18px}.notification-badge{position:absolute;right:-6px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#d9534f;color:white;display:grid;place-items:center;font-size:10px;font-weight:850;border:2px solid var(--surface)}
.notification-list{display:grid;gap:10px}.notification-item{display:grid;grid-template-columns:1fr auto;gap:14px;width:100%;border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:14px;text-align:left;color:var(--text);cursor:pointer}.notification-item.unread{border-color:var(--teal);box-shadow:inset 4px 0 0 var(--teal)}.notification-item p{margin:5px 0;color:var(--muted)}.notification-item span{font-size:11px;color:var(--muted)}.delivery-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.notification-preferences-editor,.report-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.notification-preferences-editor>strong{grid-column:1/-1}
.recovery-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:24px;font-weight:900;letter-spacing:.08em;padding:15px;border-radius:12px;background:var(--surface-2);text-align:center}
.compact-metrics{margin-top:15px}.compact-metrics>div{background:var(--surface-2);border-radius:12px;padding:10px;text-align:center}.compact-metrics strong,.compact-metrics span{display:block}.compact-metrics strong{font-size:20px}.compact-metrics span{font-size:10px;color:var(--muted);margin-top:4px}
.form-sections-editor{display:grid;gap:9px;margin-bottom:14px}.form-section-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);background:var(--surface-2);border-radius:13px;padding:12px 14px}.form-section-row strong,.form-section-row span{display:block}.form-section-row span{font-size:11px;color:var(--muted);margin-top:3px}.builder-section{border:1px solid var(--border);border-radius:16px;padding:14px;margin-bottom:14px;background:var(--surface)}.builder-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px dashed var(--border);margin-bottom:11px}.builder-section-head h3{margin:0}.builder-section-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.empty-section{padding:18px;text-align:center;color:var(--muted);background:var(--surface-2);border-radius:12px}
.run-section{display:grid;gap:13px;margin-bottom:22px}.run-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;background:linear-gradient(135deg,var(--navy),var(--teal-dark));color:white;border-radius:16px;padding:17px 19px}.run-section-header h2{margin:0;font-size:19px}.run-section-header p{margin:5px 0 0;color:rgba(255,255,255,.75);font-size:12px}.section-progress{text-align:right}.section-progress strong,.section-progress span{display:block}.section-progress strong{font-size:19px}.section-progress span{font-size:11px;color:rgba(255,255,255,.75)}.section-progress-bar{margin-top:-20px;border-radius:0 0 16px 16px;background:rgba(255,255,255,.18)}
.save-recovery-banner{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;margin-bottom:12px;border-radius:12px;background:color-mix(in srgb,var(--success) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--success) 35%,var(--border));font-size:12px}.save-recovery-banner span{font-weight:750}.save-recovery-banner strong{color:var(--success)}
.danger-zone{border-color:rgba(217,83,79,.45);background:color-mix(in srgb,#d9534f 5%,var(--surface))}.backup-list{display:grid;gap:10px;margin-top:14px}.backup-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:12px;padding:11px 13px}.backup-row strong,.backup-row span{display:block}.backup-row span{font-size:11px;color:var(--muted);margin-top:3px}
.calendar-event.blocked{background:rgba(8,30,54,.12);color:var(--navy);border:1px dashed var(--navy)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media(max-width:1000px){.save-status{display:none}.notification-item{grid-template-columns:1fr}.delivery-badges{justify-content:flex-start}.report-options-grid,.notification-preferences-editor{grid-template-columns:1fr}}

/* =========================================================
   FORMIX V7.3 · COMISIONES DE PREVENTA
   ========================================================= */
:root {
  --navy: #081e36;
  --navy-2: #0d3558;
  --teal: #0080d1;
  --teal-dark: #0069ad;
  --brand-accent: #ffc600;
  --success: #78b92f;
  --bg: #f5f7fa;
  --surface: #ffffff;
  --surface-2: #f0f3f6;
  --text: #17283a;
  --muted: #68798a;
  --border: #dfe6ec;
  --shadow: 0 14px 38px rgba(8,30,54,.07);
  --shadow-lg: 0 25px 70px rgba(8,30,54,.13);
  --radius: 20px;
}

body {
  background:
    radial-gradient(circle at 83% 8%, rgba(0,128,209,.055), transparent 25%),
    linear-gradient(180deg,#f7f9fb 0%,#f2f5f8 100%);
  letter-spacing: -.005em;
}

.app-shell { grid-template-columns: 288px minmax(0,1fr); }
.sidebar {
  width: 288px;
  padding: 22px 17px 18px;
  background:
    linear-gradient(160deg,rgba(0,128,209,.15),transparent 34%),
    linear-gradient(180deg,#081e36 0%,#071a2e 100%);
  border-right: 1px solid rgba(255,255,255,.07);
  box-shadow: 18px 0 45px rgba(8,30,54,.08);
  isolation: isolate;
}
.sidebar::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.28;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,black,transparent 72%);
}
.brand {
  position:relative;
  min-height:72px;
  padding:5px 9px 22px;
  gap:13px;
  border-bottom:1px solid rgba(255,255,255,.085);
  margin-bottom:17px;
}
.brand-mark {
  position:relative;
  width:48px;
  height:48px;
  border-radius:15px;
  background:linear-gradient(145deg,#0094ed,#006bb0);
  box-shadow:0 12px 26px rgba(0,128,209,.28),inset 0 1px 0 rgba(255,255,255,.32);
  font-size:24px;
}
.brand-mark i {
  position:absolute;
  right:-3px;
  bottom:-3px;
  width:13px;
  height:13px;
  border-radius:5px;
  background:var(--brand-accent);
  border:3px solid #081e36;
}
.brand-copy { min-width:0; }
.brand-copy strong { font-size:21px; letter-spacing:.13em; font-weight:900; }
.brand-copy span { font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.53); }
.brand-version {
  margin-left:auto;
  align-self:flex-start;
  padding:4px 7px;
  border-radius:7px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  color:#081e36;
  background:var(--brand-accent);
}
.main-nav { gap:4px; padding:0 0 18px; }
.nav-section + .nav-section { margin-top:13px; padding-top:12px; }
.nav-section-title {
  padding:0 13px 6px;
  font-size:9px;
  letter-spacing:.16em;
  color:rgba(255,255,255,.37);
}
.nav-button {
  position:relative;
  min-height:44px;
  padding:11px 13px;
  border-radius:12px;
  font-size:13px;
  font-weight:710;
  color:rgba(255,255,255,.68);
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.nav-button:hover { color:#fff; background:rgba(255,255,255,.075); transform:translateX(2px); }
.nav-button.active {
  color:#fff;
  background:linear-gradient(90deg,rgba(0,128,209,.27),rgba(0,128,209,.09));
  box-shadow:inset 0 0 0 1px rgba(79,183,245,.12);
}
.nav-button.active::before {
  content:"";
  position:absolute;
  left:-4px;
  top:10px;
  bottom:10px;
  width:3px;
  border-radius:5px;
  background:var(--brand-accent);
  box-shadow:0 0 12px rgba(255,198,0,.5);
}
.nav-icon { width:25px; font-size:17px; opacity:.92; }
.sync-card {
  padding:13px 14px;
  border-radius:14px;
  border-color:rgba(255,255,255,.09);
  background:rgba(255,255,255,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.main-area { background:transparent; }
.topbar {
  height:92px;
  padding:0 32px;
  background:rgba(248,250,252,.9);
  border-bottom:1px solid rgba(211,221,230,.88);
  box-shadow:0 8px 25px rgba(8,30,54,.025);
}
.topbar h1 { font-size:25px; line-height:1.1; color:var(--navy); font-weight:860; letter-spacing:-.025em; }
.topbar p { margin-top:7px; font-size:12px; color:#758595; }
.topbar-actions { gap:10px; }
.save-status,.notification-bell,.avatar {
  box-shadow:0 6px 18px rgba(8,30,54,.055);
}
.notification-bell { border-radius:12px; font-size:0; }
.notification-bell::before { content:""; width:18px; height:18px; display:block; margin:auto; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22a2.5 2.5 0 0 0 2.45-2h-4.9A2.5 2.5 0 0 0 12 22Zm7-6v-5a7 7 0 0 0-5.5-6.84V3a1.5 1.5 0 0 0-3 0v1.16A7 7 0 0 0 5 11v5l-2 2v1h18v-1l-2-2Z'/%3E%3C/svg%3E") center/contain no-repeat; }
.avatar { border-radius:13px; background:linear-gradient(145deg,#e8f2f9,#d6e7f2); border:1px solid #d5e2ea; }
.content { max-width:1580px; padding:30px 32px 54px; }

.card,.question-card {
  border:1px solid rgba(217,226,233,.92);
  border-radius:18px;
  box-shadow:0 12px 34px rgba(8,30,54,.055);
}
.card { transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease; }
.card:hover { border-color:#cfdbe4; box-shadow:0 17px 42px rgba(8,30,54,.075); }
.button {
  min-height:40px;
  border-radius:10px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.005em;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.button:hover:not(:disabled) { transform:translateY(-1px); }
.button.accent,.button.primary {
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  box-shadow:0 8px 20px color-mix(in srgb,var(--teal) 23%,transparent);
}
.button.secondary { background:var(--surface); border:1px solid #ccd9e2; color:var(--navy); }
.button.ghost { color:var(--teal-dark); }
.icon-button,.icon-action { transition:background .15s ease,transform .15s ease; }
.icon-action {
  width:34px;
  height:34px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
  color:var(--teal-dark);
  display:inline-grid;
  place-items:center;
  font-weight:900;
  cursor:pointer;
}
.icon-action:hover { background:#eaf5fb; transform:translateX(2px); }

/* Panel ejecutivo */
.dashboard-hero {
  position:relative;
  min-height:245px;
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr);
  align-items:stretch;
  overflow:hidden;
  border-radius:24px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 10%,rgba(0,128,209,.64),transparent 31%),
    radial-gradient(circle at 62% 100%,rgba(255,198,0,.13),transparent 28%),
    linear-gradient(130deg,#071b31 0%,#0a2a49 54%,#0b3a64 100%);
  box-shadow:0 28px 70px rgba(8,30,54,.19);
  margin-bottom:31px;
}
.dashboard-hero::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.19;
  background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(90deg,transparent,black);
}
.dashboard-hero::after {
  content:"";
  position:absolute;
  right:-80px;
  bottom:-150px;
  width:370px;
  height:370px;
  border:55px solid rgba(255,255,255,.055);
  border-radius:50%;
}
.dashboard-hero-content { position:relative; z-index:1; padding:35px 40px; align-self:center; }
.dashboard-kicker,.eyebrow {
  display:block;
  margin-bottom:8px;
  color:var(--teal);
  font-size:9px;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.dashboard-kicker { color:#73cfff; }
.dashboard-hero h2 { margin:0; font-size:38px; letter-spacing:-.04em; line-height:1.08; }
.dashboard-hero p { max-width:680px; margin:13px 0 24px; color:rgba(255,255,255,.7); font-size:14px; line-height:1.65; }
.dashboard-hero-actions { display:flex; gap:10px; flex-wrap:wrap; }
.button.hero-primary { background:var(--brand-accent); color:#081e36; box-shadow:0 10px 24px rgba(255,198,0,.2); }
.button.hero-secondary { color:#fff; background:rgba(255,255,255,.075); border:1px solid rgba(255,255,255,.17); }
.button.hero-secondary:hover { background:rgba(255,255,255,.14); }
.dashboard-hero-summary {
  position:relative;
  z-index:1;
  align-self:stretch;
  display:grid;
  align-content:center;
  gap:0;
  margin:26px 28px 26px 0;
  padding:8px 22px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  background:rgba(4,20,36,.34);
  backdrop-filter:blur(12px);
}
.dashboard-hero-summary div { display:flex; justify-content:space-between; gap:15px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.09); }
.dashboard-hero-summary div:last-child { border:0; }
.dashboard-hero-summary span { color:rgba(255,255,255,.5); font-size:11px; }
.dashboard-hero-summary strong { color:#fff; font-size:12px; }
.dashboard-section-heading { display:flex; justify-content:space-between; align-items:end; margin:0 0 15px; }
.dashboard-section-heading h2,.premium-section-title h2 { margin:0; font-size:20px; color:var(--navy); }
.dashboard-date { color:var(--muted); font-size:11px; text-transform:capitalize; }
.premium-metrics { margin-bottom:28px; }
.premium-metric { position:relative; min-height:165px; padding:20px 21px; overflow:hidden; }
.premium-metric::after { display:none; }
.premium-metric::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--teal); }
.premium-metric.metric-score::before { background:var(--brand-accent); }
.premium-metric.metric-runs::before { background:var(--success); }
.premium-metric-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:17px; }
.premium-metric-head span { color:#a3afba; font-size:10px; font-weight:900; letter-spacing:.12em; }
.premium-metric-head i { width:33px; height:3px; border-radius:5px; background:var(--teal); opacity:.25; }
.premium-metric .metric-label { font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.premium-metric .metric-value { margin:6px 0 7px; font-size:35px; letter-spacing:-.04em; }
.dashboard-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(300px,.62fr); gap:20px; align-items:start; }
.dashboard-side-column { display:grid; gap:18px; }
.premium-section-title { margin-top:0; }
.section-title.compact { margin:0 0 14px; }
.section-title.compact h2 { font-size:17px; }
.premium-table-card { padding:0; overflow:hidden; }
.borderless-table { border:0; border-radius:0; }
.premium-table-card table { min-width:780px; }
.premium-table-card th { height:45px; padding-left:17px; background:#f6f8fa; font-size:9px; letter-spacing:.09em; }
.premium-table-card td { padding:14px 17px; vertical-align:middle; }
.premium-table-card tbody tr { transition:background .15s ease; }
.premium-table-card tbody tr:hover { background:#f8fbfd; }
.table-primary-cell { display:flex; align-items:center; gap:11px; min-width:210px; }
.table-cell-icon { width:34px; height:34px; flex:0 0 auto; border-radius:10px; display:grid; place-items:center; background:#e8f3fa; color:var(--teal-dark); font-weight:900; }
.table-primary-cell strong,.table-primary-cell small { display:block; }
.table-primary-cell small { margin-top:3px; color:var(--muted); font-size:10px; }
.result-value { font-size:14px; }
.dashboard-status-card,.dashboard-agenda-card { padding:20px; }
.status-list { display:grid; }
.status-list > div { display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-bottom:1px solid var(--border); }
.status-list > div:last-child { border:0; padding-bottom:0; }
.status-list span { color:var(--muted); font-size:11px; }
.status-list strong { color:var(--navy); font-size:17px; }
.status-list small { color:var(--muted); font-size:10px; }
.agenda-preview-list { display:grid; gap:8px; }
.agenda-preview-item { display:flex; align-items:center; gap:11px; padding:10px; border-radius:12px; background:#f6f8fa; }
.agenda-date-box { width:43px; height:46px; flex:0 0 auto; border-radius:11px; display:grid; place-items:center; align-content:center; background:var(--navy); color:#fff; line-height:1; }
.agenda-date-box strong { font-size:16px; }
.agenda-date-box span { margin-top:4px; color:#78c8f6; font-size:8px; text-transform:uppercase; }
.agenda-preview-item > div:last-child strong,.agenda-preview-item > div:last-child span { display:block; }
.agenda-preview-item > div:last-child strong { max-width:205px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:12px; }
.agenda-preview-item > div:last-child span { margin-top:4px; color:var(--muted); font-size:10px; }
.premium-empty { background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(240,246,250,.9)); }

/* Tablas, formularios y modales */
.table-wrap { border-radius:14px; border-color:#dde6ed; }
th { background:#f4f7f9; color:#607181; font-size:9px; letter-spacing:.09em; }
td { color:#2a3a4a; }
.form-field label { color:#506173; font-size:10px; text-transform:uppercase; letter-spacing:.055em; }
.form-field input,.form-field select,.form-field textarea {
  min-height:43px;
  border-radius:10px;
  border-color:#ccd8e1;
  background:#fbfcfd;
}
.form-field textarea { min-height:105px; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { background:#fff; border-color:var(--teal); box-shadow:0 0 0 3px rgba(0,128,209,.1); }
.modal-backdrop { background:rgba(4,18,32,.68); backdrop-filter:blur(5px); }
.modal { border:1px solid rgba(255,255,255,.7); border-radius:21px; box-shadow:0 35px 100px rgba(0,0,0,.3); }
.modal-header { padding:21px 24px; }
.modal-header h2 { color:var(--navy); font-size:19px; }
.modal-body { padding:24px; }
.modal-footer { padding:16px 24px; }
.question-builder-card { border-radius:14px; box-shadow:0 8px 22px rgba(8,30,54,.035); }
.question-number,.question-index { background:linear-gradient(145deg,var(--navy),#123d61); }
.question-card { padding:22px; }
.answer-option { background:#fbfcfd; }
.answer-option:hover { border-color:#8fc5e5; background:#f3f9fd; }
.progress > span { background:linear-gradient(90deg,var(--teal),#44b3f2); }
.badge.accent { background:#e5f3fb; color:#006cae; }
.badge.success { background:#eff8e6; color:#568d19; }

/* Login premium */
.login-view { background:#f4f7f9; }
.login-brand-panel::after { content:"FORMIX"; position:absolute; left:34px; bottom:27px; color:rgba(255,255,255,.58); font-size:9px; font-weight:900; letter-spacing:.22em; }
.login-main { background:radial-gradient(circle at 88% 8%,rgba(0,128,209,.07),transparent 26%),#f7f9fb; }
.login-card { border:1px solid #dbe5ec; border-radius:24px; box-shadow:0 30px 80px rgba(8,30,54,.12); }
.login-card h1 { color:var(--navy); letter-spacing:-.035em; }
.login-submit { background:linear-gradient(135deg,#0080d1,#0065a7); box-shadow:0 12px 25px rgba(0,128,209,.22); }
.login-field { border-radius:12px; background:#f9fbfc; }
.login-field:focus-within { border-color:#0080d1; box-shadow:0 0 0 3px rgba(0,128,209,.1); }

html[data-theme="dark"] body { background:#071522; }
html[data-theme="dark"] .topbar { background:rgba(7,21,34,.92); border-color:#203344; }
html[data-theme="dark"] .topbar h1,html[data-theme="dark"] .dashboard-section-heading h2,html[data-theme="dark"] .premium-section-title h2,html[data-theme="dark"] .status-list strong,html[data-theme="dark"] .modal-header h2 { color:#edf5fa; }
html[data-theme="dark"] .premium-table-card th { background:#132536; }
html[data-theme="dark"] .premium-table-card tbody tr:hover,html[data-theme="dark"] .agenda-preview-item { background:#132536; }
html[data-theme="dark"] .table-cell-icon { background:#17354b; color:#67c2f8; }
html[data-theme="dark"] .form-field input,html[data-theme="dark"] .form-field select,html[data-theme="dark"] .form-field textarea { background:#102333; }

@media (max-width:1260px) {
  .dashboard-hero { grid-template-columns:1fr 280px; }
  .dashboard-layout { grid-template-columns:minmax(0,1fr) 310px; }
  .dashboard-hero-content { padding:32px; }
}
@media (max-width:1100px) {
  .app-shell { grid-template-columns:260px minmax(0,1fr); }
  .sidebar { width:260px; }
  .content { padding:25px 24px 45px; }
  .dashboard-hero { grid-template-columns:1fr; }
  .dashboard-hero-summary { grid-template-columns:repeat(3,1fr); margin:0 28px 27px; }
  .dashboard-hero-summary div { display:grid; justify-content:start; border-bottom:0; border-right:1px solid rgba(255,255,255,.09); }
  .dashboard-hero-summary div:last-child { border-right:0; }
  .dashboard-layout { grid-template-columns:1fr; }
  .dashboard-side-column { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .app-shell { grid-template-columns:1fr; }
  .sidebar { left:-300px; width:288px; }
  .topbar { height:78px; padding:0 14px; }
  .content { padding:16px 14px 38px; }
  .dashboard-hero { min-height:auto; border-radius:19px; }
  .dashboard-hero-content { padding:27px 22px; }
  .dashboard-hero h2 { font-size:30px; }
  .dashboard-hero-summary { grid-template-columns:1fr; margin:0 20px 20px; }
  .dashboard-hero-summary div { display:flex; border-right:0; border-bottom:1px solid rgba(255,255,255,.09); }
  .dashboard-hero-summary div:last-child { border-bottom:0; }
  .dashboard-section-heading { align-items:start; }
  .dashboard-date { display:none; }
  .dashboard-side-column { grid-template-columns:1fr; }
  .premium-metric { min-height:145px; }
  .premium-metric .metric-value { font-size:31px; }
}

/* FORMIX V7.3 */
.brand { min-height:92px; align-items:center; }
.brand-mark,
.sidebar .brand-mark {
  width:64px;
  height:64px;
  min-width:64px;
  border-radius:0;
  padding:0;
  background:transparent !important;
  box-shadow:none !important;
  color:#fff;
  font-size:28px;
}
.brand-mark img { width:100%; height:100%; object-fit:contain; object-position:center; padding:0; }
.brand-mark i { display:none; }
.square-logo-preview { width:min(100%,300px); aspect-ratio:1/1; min-height:0; margin-inline:auto; background:linear-gradient(45deg,#f3f6f8 25%,transparent 25%),linear-gradient(-45deg,#f3f6f8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f3f6f8 75%),linear-gradient(-45deg,transparent 75%,#f3f6f8 75%); background-size:24px 24px; background-position:0 0,0 12px,12px -12px,-12px 0; }
.square-logo-preview img { height:100%; aspect-ratio:1/1; object-fit:contain; padding:18px; }
.color-customizer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.color-picker-card { background:var(--surface); border:1px solid var(--border); border-radius:18px; padding:18px; box-shadow:var(--shadow); }
.color-picker-card h3 { margin:0 0 14px; color:var(--navy); }
.color-choice-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.color-choice { position:relative; display:grid; justify-items:center; gap:7px; padding:10px 6px; border:1px solid var(--border); border-radius:13px; cursor:pointer; background:var(--surface); transition:.18s ease; }
.color-choice:hover,.color-choice.selected { transform:translateY(-2px); border-color:var(--teal); box-shadow:0 9px 20px rgba(8,30,54,.09); }
.color-choice input { position:absolute; opacity:0; pointer-events:none; }
.color-swatch { width:34px; height:34px; border-radius:11px; border:2px solid rgba(255,255,255,.8); box-shadow:0 0 0 1px rgba(8,30,54,.12); }
.color-choice span:last-child { text-align:center; min-width:0; }
.color-choice strong,.color-choice small { display:block; }
.color-choice strong { font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.color-choice small { font-size:8px; color:var(--muted); margin-top:2px; }
.letterhead-editor { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:center; border:1px solid var(--border); background:var(--surface-2); border-radius:16px; padding:16px; }
.letterhead-preview { min-height:105px; border:1px dashed var(--border); border-radius:13px; background:var(--surface); display:grid; place-items:center; overflow:hidden; }
.letterhead-preview img { width:100%; height:140px; object-fit:contain; }
.letterhead-preview div { text-align:center; padding:18px; }
.letterhead-preview strong,.letterhead-preview span { display:block; }
.letterhead-preview span { color:var(--muted); font-size:12px; margin-top:4px; }
.import-form-preview .card { margin:0; }
.import-preview-section { margin-top:14px; border:1px solid var(--border); border-radius:14px; padding:14px; }
.import-preview-section>strong { color:var(--navy); }
.import-preview-section>div { display:grid; grid-template-columns:28px 1fr auto; gap:9px; align-items:start; border-top:1px solid var(--border); padding:9px 0; }
.import-preview-section>div:first-of-type { margin-top:9px; }
.import-preview-section>div>span { width:24px; height:24px; border-radius:7px; background:var(--surface-2); display:grid; place-items:center; font-size:10px; font-weight:800; }
.import-preview-section p { margin:2px 0; color:var(--text); font-size:12px; }
.import-preview-section small,.import-preview-section em { color:var(--muted); font-size:10px; }
.run-bottom-actions { margin-top:24px; padding:18px; border:1px solid var(--border); border-radius:16px; background:var(--surface); position:relative; }
.modal-backdrop { cursor:default; }
.modal { cursor:auto; }
@media(max-width:900px){.color-customizer-grid{grid-template-columns:1fr}.color-choice-list{grid-template-columns:repeat(3,minmax(0,1fr))}.letterhead-editor{grid-template-columns:1fr}.brand-mark,.sidebar .brand-mark{width:54px;height:54px;min-width:54px}.brand{min-height:82px}}

/* Formix V7.3 - Comisiones de Preventa */
.project-commission-summary { margin-top:10px; padding:12px 14px; border:1px solid var(--border); border-radius:13px; background:linear-gradient(135deg,rgba(0,128,209,.08),rgba(154,219,60,.08)); display:grid; grid-template-columns:1fr auto; gap:4px 12px; align-items:center; }
.project-commission-summary span { font-size:11px; color:var(--muted); font-weight:750; }
.project-commission-summary strong { font-size:18px; color:var(--navy); }
.project-commission-summary small { grid-column:1 / -1; color:var(--muted); }
.commission-policy-banner { border-radius:22px; padding:24px 26px; margin-bottom:20px; background:linear-gradient(135deg,var(--navy),#0b3155); color:#fff; display:flex; justify-content:space-between; align-items:center; gap:24px; box-shadow:0 18px 40px rgba(8,30,54,.18); }
.commission-policy-banner h2 { margin:4px 0 8px; font-size:24px; color:#fff; }
.commission-policy-banner p { margin:0; color:rgba(255,255,255,.76); max-width:850px; }
.commission-policy-banner .eyebrow { color:var(--brand-accent); }
.commission-kpis { margin-bottom:18px; }
.commission-filter-card { margin-bottom:18px; }
.commission-filter-actions { justify-content:flex-end; }
.commission-settings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.commission-preview-field { min-height:45px; border:1px solid var(--border); border-radius:12px; padding:8px 12px; background:var(--surface-2); display:flex; flex-direction:column; justify-content:center; gap:2px; }
.commission-preview-field strong { color:var(--navy); font-size:17px; }
.commission-preview-field small { color:var(--muted); font-size:10px; }
.commission-row.bonus-row { background:linear-gradient(90deg,rgba(255,198,0,.08),transparent); }
.commission-amount { color:var(--navy-2); white-space:nowrap; font-size:15px; }
.table-subtext { display:block; margin-top:3px; color:var(--muted); font-size:10px; }
.danger-text { color:#bd3b37; }
.commission-detail-header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:18px; margin-bottom:16px; border:1px solid var(--border); border-radius:18px; background:linear-gradient(135deg,var(--surface-2),var(--surface)); }
.commission-detail-header h2 { margin:4px 0; }
.commission-detail-header p { margin:0; color:var(--muted); }
.commission-detail-amount { text-align:right; display:grid; gap:10px; justify-items:end; }
.commission-detail-amount strong { font-size:30px; color:var(--navy); }
.commission-payment-summary { display:flex; justify-content:space-between; align-items:center; padding:16px; margin-bottom:16px; border:1px solid var(--border); border-radius:15px; background:var(--surface-2); }
.commission-payment-summary span { color:var(--muted); font-weight:700; }
.commission-payment-summary strong { font-size:25px; color:var(--navy); }
.commission-file-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.commission-upload-list { display:grid; gap:8px; margin-top:10px; }
.commission-upload-item { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:9px 11px; border:1px solid var(--border); border-radius:11px; background:var(--surface-2); }
.commission-upload-item span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-theme="dark"] .project-commission-summary,html[data-theme="dark"] .commission-preview-field,html[data-theme="dark"] .commission-detail-header,html[data-theme="dark"] .commission-payment-summary,html[data-theme="dark"] .commission-upload-item { background:var(--surface-2); }
html[data-theme="dark"] .project-commission-summary strong,html[data-theme="dark"] .commission-preview-field strong,html[data-theme="dark"] .commission-detail-amount strong,html[data-theme="dark"] .commission-payment-summary strong { color:var(--text); }
@media (max-width:1000px) { .commission-settings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .commission-policy-banner { align-items:flex-start; flex-direction:column; } }
@media (max-width:680px) { .commission-settings-grid { grid-template-columns:1fr; } .commission-detail-header { flex-direction:column; } .commission-detail-amount { text-align:left; justify-items:start; } }

/* Formix V7.5 - navegación, pestaña y hoja membretada */
.app-shell { transition:grid-template-columns .22s ease; }
.app-shell.sidebar-collapsed { grid-template-columns:0 minmax(0,1fr); }
.app-shell.sidebar-collapsed .sidebar { transform:translateX(-100%); opacity:0; pointer-events:none; }
.sidebar { overflow:hidden; transition:transform .22s ease,opacity .18s ease; }
.sidebar .brand { flex:0 0 auto; }
.main-nav { flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; scrollbar-width:thin; padding-right:3px; }
.nav-home-sticky { position:sticky; top:0; z-index:6; padding:4px 0 10px; margin-bottom:8px; background:linear-gradient(180deg,#0a2643 0%,#081e36 80%,rgba(8,30,54,.96) 100%); border-bottom:1px solid rgba(255,255,255,.08); }
.nav-home-sticky .nav-button { margin-top:0; }
.nav-collapsible { gap:5px; }
.nav-parent { width:100%; min-height:44px; border:0; border-radius:12px; padding:11px 13px; display:flex; align-items:center; gap:9px; color:rgba(255,255,255,.78); background:rgba(255,255,255,.035); cursor:pointer; font:inherit; font-size:12px; font-weight:830; letter-spacing:.035em; text-align:left; transition:.18s ease; }
.nav-parent:hover,.nav-collapsible.expanded>.nav-parent { background:rgba(255,255,255,.085); color:#fff; }
.nav-parent>span:nth-child(2) { flex:1; }
.nav-chevron { font-size:15px; opacity:.7; transform:rotate(-90deg); transition:transform .18s ease; }
.nav-collapsible.expanded .nav-chevron { transform:rotate(0deg); }
.nav-children { display:grid; gap:4px; padding:5px 0 2px 10px; }
.nav-child { min-height:40px; padding:9px 12px; font-size:12px; }
.nav-child .nav-icon { width:22px; font-size:15px; }
.sync-card { flex:0 0 auto; margin-top:8px; }
#menuButton { display:inline-grid !important; place-items:center; flex:0 0 auto; }
.browser-brand-grid { display:grid; grid-template-columns:220px minmax(0,1fr); gap:20px; align-items:start; margin-top:14px; }
.browser-favicon-preview { width:112px; height:112px; border:1px dashed var(--border); border-radius:20px; background:var(--surface-2); display:grid; place-items:center; overflow:hidden; }
.browser-favicon-preview img { width:78px; height:78px; object-fit:contain; }
.browser-tab-preview { margin-top:12px; max-width:430px; min-height:48px; display:grid; grid-template-columns:24px 1fr auto; gap:9px; align-items:center; border:1px solid var(--border); border-bottom-color:#c8d4dd; border-radius:12px 12px 5px 5px; background:var(--surface-2); padding:9px 12px; color:var(--muted); }
.browser-tab-preview strong { color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.browser-tab-preview img { width:20px; height:20px; object-fit:contain; }
.letterhead-preview { min-height:150px; aspect-ratio:8.5/11; max-height:340px; }
.letterhead-preview img { width:100%; height:100%; object-fit:contain; padding:8px; background:#fff; }
@media(max-width:900px){.browser-brand-grid{grid-template-columns:1fr}.browser-favicon-preview{width:96px;height:96px}}
@media(max-width:760px){.app-shell.sidebar-collapsed{grid-template-columns:1fr}.app-shell.sidebar-collapsed .sidebar{transform:none;opacity:1;pointer-events:auto}.main-nav{padding-bottom:10px}}

/* Formix V7.5 - navegación desplegable corregida */
.nav-collapsible > .nav-children { display:none !important; }
.nav-collapsible.expanded > .nav-children { display:grid !important; }
.nav-parent { position:relative; }
.nav-parent:focus-visible { outline:2px solid rgba(0,128,209,.9); outline-offset:2px; }
.nav-collapsible.expanded > .nav-parent { box-shadow:inset 3px 0 0 var(--brand-accent); }

/* Formix V7.5 - escritura táctil */
.pencil-button { border-color:color-mix(in srgb,var(--teal) 55%,var(--border)); }
.pencil-callout { margin-bottom:12px; }
.handwriting-canvas-wrap canvas { touch-action:none; cursor:crosshair; }
.handwriting-preview { margin-top:12px; border:1px dashed var(--border); border-radius:14px; padding:10px; background:var(--surface-2); }
.handwriting-preview > span { display:block; margin-bottom:7px; color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.handwriting-preview img { width:100%; max-height:260px; object-fit:contain; background:#fff; border-radius:10px; }

/* Formix V7.5 - estudio de personalización */
.personalization-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; padding:26px 28px !important; background:linear-gradient(135deg,var(--surface) 10%,color-mix(in srgb,var(--teal) 5%,var(--surface-2)) 100%); border:1px solid var(--border); }
.personalization-hero h2 { margin:5px 0 7px; font-size:24px; color:var(--navy); }
.personalization-hero p { margin:0; color:var(--muted); max-width:760px; }
.eyebrow { font-size:10px; letter-spacing:.16em; font-weight:900; color:var(--teal); }
.personalization-live-badge { display:flex; align-items:center; gap:8px; white-space:nowrap; border:1px solid var(--border); border-radius:999px; padding:8px 12px; background:var(--surface); color:var(--muted); font-size:11px; font-weight:800; }
.personalization-live-badge span { width:8px; height:8px; border-radius:50%; background:var(--success); box-shadow:0 0 0 5px color-mix(in srgb,var(--success) 15%,transparent); }
.personalization-studio { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr); gap:18px; margin-top:18px; align-items:start; }
.personalization-controls { display:grid; gap:16px; }
.personalization-panel { padding:20px !important; }
.personalization-panel-head { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:15px; }
.personalization-panel-head > div { display:grid; grid-template-columns:auto 1fr; column-gap:10px; }
.personalization-panel-head .step-chip { grid-row:1 / span 2; align-self:start; width:32px; height:32px; border-radius:10px; background:color-mix(in srgb,var(--teal) 12%,var(--surface)); color:var(--teal); display:grid; place-items:center; font-weight:900; font-size:11px; }
.personalization-panel-head h3 { margin:0; color:var(--navy); font-size:17px; }
.personalization-panel-head p { margin:3px 0 0; color:var(--muted); font-size:11px; }
.visual-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.visual-choice { position:relative; min-height:112px; border:1px solid var(--border); border-radius:16px; padding:15px; display:grid; grid-template-columns:42px 1fr auto; grid-template-rows:auto auto; column-gap:11px; align-items:center; cursor:pointer; background:var(--surface); transition:.18s ease; }
.visual-choice input,.segment-option input,.color-choice input { position:absolute; opacity:0; pointer-events:none; }
.visual-choice:hover { transform:translateY(-1px); border-color:color-mix(in srgb,var(--teal) 55%,var(--border)); }
.visual-choice.selected { border-color:var(--teal); box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 12%,transparent); background:color-mix(in srgb,var(--teal) 4%,var(--surface)); }
.visual-choice-icon { grid-row:1 / span 2; width:42px; height:42px; border-radius:13px; display:grid; place-items:center; background:var(--surface-2); font-size:20px; }
.visual-choice strong { color:var(--text); font-size:13px; }
.visual-choice small { color:var(--muted); font-size:10px; line-height:1.35; }
.visual-choice i { width:20px; height:20px; border-radius:50%; display:grid; place-items:center; background:var(--teal); color:white; font-style:normal; opacity:0; }
.visual-choice.selected i { opacity:1; }
.personalization-subgroup + .personalization-subgroup { margin-top:15px; }
.personalization-subgroup > label { display:block; color:var(--muted); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; margin-bottom:7px; }
.segmented-choice { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; padding:5px; background:var(--surface-2); border:1px solid var(--border); border-radius:14px; }
.segment-option { position:relative; min-height:40px; display:grid; place-items:center; border-radius:10px; cursor:pointer; color:var(--muted); transition:.16s ease; }
.segment-option.selected { background:var(--surface); color:var(--navy); box-shadow:0 4px 12px rgba(8,30,54,.08); }
.segment-option strong { font-size:11px; }
.personal-toggle { margin-top:16px; min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid var(--border); border-radius:14px; padding:11px 13px; cursor:pointer; }
.personal-toggle span strong,.personal-toggle span small { display:block; }
.personal-toggle span strong { font-size:12px; color:var(--text); }
.personal-toggle span small { margin-top:3px; font-size:10px; color:var(--muted); }
.personal-toggle input { appearance:none; width:42px; height:24px; border-radius:999px; background:#cfd8df; position:relative; transition:.18s; flex:0 0 auto; }
.personal-toggle input:after { content:''; position:absolute; width:18px; height:18px; border-radius:50%; background:#fff; top:3px; left:3px; box-shadow:0 2px 5px rgba(0,0,0,.18); transition:.18s; }
.personal-toggle input:checked { background:var(--teal); }
.personal-toggle input:checked:after { transform:translateX(18px); }
.color-customizer-grid.integrated { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.color-customizer-grid.integrated .color-picker-card { border:1px solid var(--border); border-radius:15px; padding:12px; background:var(--surface-2); }
.color-customizer-grid.integrated .color-picker-card h3 { margin:0 0 9px; font-size:12px; color:var(--navy); }
.color-customizer-grid.integrated .color-choice-list { display:grid; grid-template-columns:repeat(5,1fr); gap:5px; }
.color-customizer-grid.integrated .color-choice { min-width:0; padding:6px; border-radius:10px; display:grid; place-items:center; }
.color-customizer-grid.integrated .color-choice > span:last-child { display:none; }
.color-customizer-grid.integrated .color-swatch { width:28px; height:28px; border-radius:9px; border:2px solid transparent; box-shadow:inset 0 0 0 1px rgba(0,0,0,.08); }
.color-customizer-grid.integrated .color-choice.selected { background:var(--surface); box-shadow:0 0 0 2px color-mix(in srgb,var(--teal) 18%,transparent); }
.color-customizer-grid.integrated .color-choice.selected .color-swatch { border-color:var(--teal); }
.personalization-preview-card { position:sticky; top:105px; padding:0 !important; overflow:hidden; }
.preview-toolbar { min-height:42px; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:7px; padding:0 14px; background:var(--surface-2); }
.preview-toolbar .preview-dot { width:8px; height:8px; border-radius:50%; background:var(--border); }
.preview-toolbar strong { margin-left:auto; font-size:10px; color:var(--muted); }
.preview-app-shell { display:grid; grid-template-columns:105px 1fr; min-height:430px; }
.preview-side { background:linear-gradient(180deg,var(--navy),color-mix(in srgb,var(--navy) 88%,#000)); padding:20px 12px; display:flex; flex-direction:column; align-items:center; gap:13px; }
.preview-logo { width:42px; height:42px; border-radius:13px; background:var(--teal); color:white; display:grid; place-items:center; font-weight:900; }
.preview-line { width:80%; height:8px; border-radius:99px; background:rgba(255,255,255,.13); }
.preview-line.wide { width:92%; margin-bottom:8px; }
.preview-line.short { width:58%; }
.preview-line.active { background:color-mix(in srgb,var(--teal) 75%,white); box-shadow:inset 3px 0 0 var(--brand-accent); }
.preview-workspace { padding:24px; background:var(--surface); }
.preview-workspace h2 { margin:13px 0 5px; color:var(--navy); font-size:19px; }
.preview-kpis { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin:20px 0; }
.preview-kpis > div { border:1px solid var(--border); border-radius:12px; padding:10px; background:var(--surface-2); }
.preview-kpis small,.preview-kpis strong { display:block; }
.preview-kpis small { color:var(--muted); font-size:9px; }
.preview-kpis strong { margin-top:4px; color:var(--navy); font-size:18px; }
.preview-question-modern { border:1px solid var(--border); border-radius:14px; padding:14px; display:grid; grid-template-columns:30px 1fr; gap:10px; align-items:start; }
.preview-question-modern > span { width:30px; height:30px; border-radius:9px; background:color-mix(in srgb,var(--teal) 12%,var(--surface)); color:var(--teal); display:grid; place-items:center; font-size:10px; font-weight:900; }
.preview-question-modern strong,.preview-question-modern small { display:block; }
.preview-question-modern strong { font-size:11px; color:var(--text); }
.preview-question-modern small { margin-top:4px; color:var(--muted); font-size:9px; }
.preview-actions { display:flex; justify-content:flex-end; gap:7px; margin-top:16px; }
.palette-summary { display:flex; align-items:center; gap:6px; border-top:1px solid var(--border); padding:13px 15px; background:var(--surface-2); }
.palette-summary > span { width:24px; height:24px; border-radius:8px; border:1px solid rgba(0,0,0,.08); }
.palette-summary small { margin-left:auto; color:var(--muted); font-size:9px; font-weight:800; }
.personalization-actions { margin-top:18px; }
html[data-theme="dark"] .personalization-hero h2,html[data-theme="dark"] .personalization-panel-head h3,html[data-theme="dark"] .color-customizer-grid.integrated .color-picker-card h3,html[data-theme="dark"] .preview-workspace h2,html[data-theme="dark"] .preview-kpis strong { color:var(--text); }
@media(max-width:1100px){.personalization-studio{grid-template-columns:1fr}.personalization-preview-card{position:static}.color-customizer-grid.integrated{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.personalization-hero{flex-direction:column}.visual-choice-grid{grid-template-columns:1fr}.segmented-choice{grid-template-columns:1fr}.color-customizer-grid.integrated{grid-template-columns:1fr}.preview-app-shell{grid-template-columns:82px 1fr}}
/* V7.7 tablet capture mode */
body.tablet-capture-mode .sidebar,
body.tablet-capture-mode .topbar { display:none !important; }
body.tablet-capture-mode .main-area { margin-left:0 !important; width:100% !important; }
body.tablet-capture-mode .content { padding:18px 24px 120px !important; max-width:1500px; margin:0 auto; }
body.tablet-capture-mode .run-layout { grid-template-columns:minmax(0,1fr) 280px; }
body.tablet-capture-mode .question-card { padding:26px; border-radius:20px; }
body.tablet-capture-mode .question-card h3 { font-size:1.25rem; }
body.tablet-capture-mode textarea,
body.tablet-capture-mode input,
body.tablet-capture-mode select { min-height:52px; font-size:1.05rem; }
body.tablet-capture-mode .answer-option { min-height:58px; padding:15px 18px; }
body.tablet-capture-mode .run-bottom-actions { position:sticky; bottom:10px; z-index:20; background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:12px 16px; box-shadow:var(--shadow); }
@media (max-width:900px){ body.tablet-capture-mode .run-layout{grid-template-columns:1fr;} body.tablet-capture-mode .run-side{display:none;} }
/* V7.7 weekly agenda */
.availability-view-switch{display:flex;justify-content:flex-end;gap:8px;margin:10px 0 4px}.week-agenda-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:8px;overflow-x:auto}.week-day-column{border:1px solid var(--border);border-radius:14px;min-height:300px;background:var(--surface)}.week-day-column>header{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-bottom:1px solid var(--border);text-transform:capitalize}.week-day-column>header span{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--surface-2);font-weight:800}.week-day-events{display:grid;gap:8px;padding:8px}.week-agenda-event{border:0;border-left:4px solid var(--secondary,#0080d1);border-radius:10px;background:var(--surface-2);padding:10px;text-align:left;color:var(--text);cursor:pointer}.week-agenda-event strong,.week-agenda-event span,.week-agenda-event small{display:block}.week-agenda-event span,.week-agenda-event small{font-size:10px;color:var(--muted)}.week-agenda-event.accepted{border-left-color:#9adb3c}.week-agenda-event.blocked{border-left-color:#9c9c9a;opacity:.75}.week-agenda-event.pending{border-left-color:#ffc600}.week-empty{padding:16px 8px;text-align:center;color:var(--muted);font-size:11px}
/* V7.7 actionable notifications */
.notification-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.notification-main{border:0;background:transparent;text-align:left;color:inherit;padding:0;cursor:pointer}.notification-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border)}
/* Formix V7.7 - agenda semanal por Preventa */
.week-presales-grid{display:grid;gap:12px;overflow-x:auto;padding-bottom:6px}.week-presales-column{min-width:220px;border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}.week-presales-column>header{padding:13px 14px;background:var(--surface-2);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:8px;align-items:center}.week-presales-column>header strong{color:var(--navy)}.week-presales-column>header span{font-size:10px;color:var(--muted)}
.week-agenda-event.type-demo{border-left:4px solid #0080d1}.week-agenda-event.type-assessment{border-left:4px solid #ffc600}.week-agenda-event.type-visit{border-left:4px solid #9adb3c}.week-agenda-event.type-followup{border-left:4px solid #7768d8}.week-agenda-event.type-training{border-left:4px solid #d98032}.week-agenda-event.type-block{border-left:4px solid #9c9c9a}
/* Formix V7.7 - expediente consolidado */
.report-project-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.report-project-row:last-child{border-bottom:0}.report-project-row>div{min-width:0}.report-project-row strong,.report-project-row span{display:block}.report-project-row>div>span{font-size:10px;color:var(--muted);margin-top:3px}.report-project-row>b{font-size:17px;color:var(--navy);white-space:nowrap}

/* Formix V7.8 - interfaz suave, profesional y minimalista */
:root {
  --navy:#28475f;
  --navy-2:#365d78;
  --teal:#6fa9a3;
  --teal-dark:#578d88;
  --bg:#f6f8fa;
  --surface:#ffffff;
  --surface-2:#f1f5f7;
  --text:#203443;
  --muted:#71818d;
  --border:#dfe7ec;
  --danger:#cf6a67;
  --warning:#d9a75f;
  --success:#6e9e79;
  --shadow:0 8px 24px rgba(35,66,89,.055);
  --radius:16px;
}
body { background:var(--bg); }
.sidebar { background:linear-gradient(180deg,#223d53 0%,#294c66 100%); box-shadow:none; }
.nav-button { color:rgba(255,255,255,.78); font-weight:600; }
.nav-button:hover,.nav-button.active { background:rgba(255,255,255,.095); }
.nav-button.active { box-shadow:inset 3px 0 0 rgba(160,197,218,.95); }
.topbar { height:76px; background:rgba(255,255,255,.96); border-color:#e6ecef; }
.topbar h1 { font-size:20px; font-weight:700; color:#253c4d; }
.content { max-width:1540px; padding:28px 30px 50px; }
.card { box-shadow:var(--shadow); }
.button { border-radius:10px; font-weight:650; }
.button.primary,.button.accent { background:#355f7c; }
.button.primary:hover,.button.accent:hover { background:#2d536d; }
.button.secondary { background:#f8fafb; }
.badge { font-weight:650; }
.page-section-title { margin:0 0 5px; font-size:26px; font-weight:720; color:#253c4d; }
.soft-page-actions { margin-bottom:16px; }
.soft-welcome { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 22px; margin-bottom:18px; border:1px solid var(--border); border-radius:16px; background:linear-gradient(90deg,#ffffff,#f7fafb); }
.soft-welcome h2 { margin:3px 0 4px; font-size:25px; font-weight:700; color:#253c4d; }
.soft-welcome p { margin:0; color:var(--muted); font-size:13px; }
.soft-welcome-date { padding:9px 12px; border:1px solid var(--border); border-radius:10px; color:var(--muted); background:#fff; font-size:12px; text-transform:capitalize; }
.soft-kpis { margin-bottom:18px; }
.soft-kpi { display:flex; align-items:center; gap:14px; text-align:left; min-height:118px; padding:18px; border-radius:16px; cursor:pointer; transition:.16s ease; }
.soft-kpi:hover { transform:translateY(-1px); box-shadow:0 10px 26px rgba(35,66,89,.08); }
.soft-kpi-icon { width:48px; height:48px; flex:0 0 auto; border-radius:14px; display:grid; place-items:center; background:#eaf2f6; color:#557f9b; font-size:20px; }
.soft-kpi:nth-child(2) .soft-kpi-icon { background:#e8f4f1; color:#61978f; }
.soft-kpi:nth-child(3) .soft-kpi-icon { background:#f7f0e4; color:#b18b52; }
.soft-kpi:nth-child(4) .soft-kpi-icon { background:#edf3ea; color:#76977a; }
.soft-kpi>span:last-child { display:grid; }
.soft-kpi small { color:var(--muted); font-size:12px; }
.soft-kpi strong { margin-top:4px; color:#223849; font-size:29px; line-height:1; }
.soft-kpi em { margin-top:8px; color:#6084a0; font-size:10px; font-style:normal; }
.home-soft-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; margin-bottom:18px; }
.soft-panel { padding:18px; }
.activity-soft-list,.upcoming-soft-list { display:grid; }
.activity-soft-row { display:grid; grid-template-columns:38px 1fr auto; gap:11px; align-items:center; width:100%; border:0; border-top:1px solid var(--border); padding:12px 4px; background:transparent; color:var(--text); text-align:left; }
.activity-soft-row:first-child { border-top:0; }
.activity-soft-icon { width:34px; height:34px; border-radius:11px; display:grid; place-items:center; background:#e8f4f1; color:#63988f; }
.activity-soft-row strong,.activity-soft-row small { display:block; }
.activity-soft-row small { margin-top:3px; color:var(--muted); font-size:10px; }
.activity-soft-row time,.upcoming-soft-row time { color:var(--muted); font-size:10px; }
.upcoming-soft-row { display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:12px; padding:10px 0; border-top:1px solid var(--border); }
.upcoming-soft-row:first-child { border-top:0; }
.upcoming-soft-row strong,.upcoming-soft-row span { display:block; }
.upcoming-soft-row span { margin-top:2px; color:var(--muted); font-size:10px; }
.soft-date { width:44px; min-height:44px; display:grid; place-items:center; align-content:center; border-radius:10px; background:#f1f5f7; }
.soft-date strong { font-size:16px; line-height:1; }
.soft-date span { margin-top:3px !important; font-size:9px !important; text-transform:uppercase; }
.soft-empty { padding:28px 8px; text-align:center; color:var(--muted); font-size:12px; }
.home-mini-analytics { margin-bottom:18px; }
.soft-chart-card { min-height:150px; }
.soft-chart-card h3 { color:#314b5e; font-size:14px; font-weight:700; }
.soft-stat-lines { display:grid; gap:10px; margin-top:18px; }
.soft-stat-lines div { display:flex; justify-content:space-between; border-bottom:1px solid var(--border); padding-bottom:8px; }
.soft-stat-lines span,.soft-gauge span { color:var(--muted); font-size:11px; }
.soft-gauge { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:95px; }
.soft-gauge strong { font-size:31px; color:#355f7c; }
.project-filter-soft,.forms-filter-soft,.run-filter-soft { display:grid; grid-template-columns:minmax(280px,1fr) 210px; gap:12px; align-items:end; padding:14px; margin-bottom:14px; box-shadow:none; }
.run-filter-soft { grid-template-columns:minmax(320px,1fr) 220px 180px auto; }
.project-list-soft { display:grid; gap:10px; }
.project-row-soft { display:grid; grid-template-columns:50px minmax(220px,1.35fr) 120px minmax(130px,.75fr) minmax(160px,.95fr) 80px minmax(170px,1fr) 36px; gap:15px; align-items:center; padding:15px 16px; border:1px solid var(--border); border-radius:15px; background:#fff; box-shadow:0 5px 16px rgba(35,66,89,.04); }
.project-monogram { width:46px; height:46px; display:grid; place-items:center; border-radius:12px; background:#edf3f7; color:#527d99; font-weight:750; font-size:17px; }
.project-main-soft { min-width:0; }
.project-title-line { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.project-title-line>strong { font-size:14px; color:#263e50; }
.project-main-soft>span { display:block; margin-top:4px; font-size:10px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.project-progress-soft strong,.project-progress-soft span { display:block; }
.project-progress-soft strong { font-size:18px; color:#304e63; }
.project-progress-soft span { color:var(--muted); font-size:9px; }
.project-progress-soft>div { height:4px; margin-top:6px; border-radius:20px; background:#e7edf1; overflow:hidden; }
.project-progress-soft i { display:block; height:100%; border-radius:inherit; background:#789fba; }
.project-info-soft small,.project-info-soft strong,.project-info-soft span { display:block; }
.project-info-soft small { color:var(--muted); font-size:9px; }
.project-info-soft strong { margin-top:4px; color:#31495a; font-size:11px; font-weight:650; }
.project-info-soft span { margin-top:2px; color:var(--muted); font-size:9px; }
.project-actions-soft { text-align:right; }
.forms-table-soft,.runs-table-soft { padding:0; overflow:hidden; }
.forms-table-soft .table-wrap,.runs-table-soft .table-wrap { border:0; border-radius:0; }
.forms-table-soft th,.runs-table-soft th { background:#f7f9fa; color:#72818c; font-weight:650; }
.forms-table-soft td,.runs-table-soft td { vertical-align:middle; }
.import-review-soft .import-preview-section { background:#fff; }
.import-review-soft .import-preview-section>strong { display:inline-block; margin-right:8px; }
.week-agenda-event { background:#f5f8f9; }
.week-agenda-event.type-demo { border-left-color:#86a8c7; }
.week-agenda-event.type-assessment { border-left-color:#c9aa76; }
.week-agenda-event.type-visit { border-left-color:#8fb494; }
.week-agenda-event.type-followup { border-left-color:#a798c5; }
.week-agenda-event.type-training { border-left-color:#c99b91; }
.stat-bar>span { background:#75a7a3; }
.metric-card::after { background:rgba(111,169,163,.07); }
@media(max-width:1200px){.project-row-soft{grid-template-columns:50px 1fr 110px 130px 80px 36px}.project-info-soft:nth-of-type(2),.project-next-soft{display:none}.home-soft-grid{grid-template-columns:1fr}.run-filter-soft{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.soft-welcome{align-items:flex-start;flex-direction:column}.project-filter-soft,.forms-filter-soft,.run-filter-soft{grid-template-columns:1fr}.project-row-soft{grid-template-columns:44px 1fr 36px}.project-progress-soft,.project-info-soft,.project-next-soft{display:none}.home-soft-grid{grid-template-columns:1fr}.soft-kpi{min-height:100px}}

/* Formix V7.8 - Base Funcional In Action */
.sharepoint-settings-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}
.sharepoint-status-card{margin-top:16px;padding:16px 18px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2);display:flex;align-items:center;justify-content:space-between;gap:16px}
.sharepoint-status-card strong,.sharepoint-status-card span{display:block}.sharepoint-status-card span{margin-top:4px;color:var(--muted);font-size:12px}
.functional-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 24px;margin-bottom:18px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(135deg,var(--surface),var(--surface-2));box-shadow:var(--shadow-sm)}
.functional-hero h2{margin:5px 0 6px;font-size:25px}.functional-hero p{margin:0;color:var(--muted);max-width:760px}.functional-source-status{min-width:290px;display:flex;align-items:center;gap:11px;padding:13px 15px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.functional-source-status .status-dot{width:10px;height:10px;border-radius:50%;background:#b8c2cc;box-shadow:0 0 0 5px rgba(184,194,204,.12)}.functional-source-status .status-dot.online{background:#70b995;box-shadow:0 0 0 5px rgba(112,185,149,.13)}
.functional-source-status strong,.functional-source-status small{display:block}.functional-source-status small{max-width:250px;margin-top:3px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.functional-kpis{margin-bottom:18px}.functional-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.functional-tab{border:1px solid var(--border);background:var(--surface);color:var(--muted);padding:10px 14px;border-radius:12px;font-weight:800;cursor:pointer}.functional-tab:hover{border-color:var(--primary)}.functional-tab.active{background:color-mix(in srgb,var(--primary) 10%,var(--surface));border-color:color-mix(in srgb,var(--primary) 35%,var(--border));color:var(--primary)}
.functional-section{padding:20px}.functional-sharepoint-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;margin:14px 0 18px;border:1px solid var(--border);border-radius:15px;background:var(--surface-2)}.functional-sharepoint-strip strong,.functional-sharepoint-strip small{display:block}.functional-sharepoint-strip small{color:var(--muted);margin-top:3px}.source-badge{display:inline-block;margin-bottom:5px;font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--primary)}
.functional-analysis-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;margin:16px 0}.functional-analysis-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.functional-analysis-summary>div{border:1px solid var(--border);border-radius:14px;padding:13px;background:var(--surface-2)}.functional-analysis-summary span,.functional-analysis-summary strong{display:block}.functional-analysis-summary span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.functional-analysis-summary strong{margin-top:5px}
.functional-results-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:start}.functional-analysis-aside{border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--surface-2);position:sticky;top:18px}.functional-analysis-aside h3{margin:0 0 12px}.functional-count-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.functional-count-row:last-of-type{border-bottom:none}.functional-analysis-aside .soft-gauge{margin-top:18px}
.functional-evidence-summary{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;margin-bottom:16px}.functional-evidence-summary>div{border:1px solid var(--border);border-radius:15px;padding:16px;background:var(--surface-2)}.functional-evidence-summary span,.functional-evidence-summary strong{display:block}.functional-evidence-summary span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.functional-evidence-summary strong{margin-top:6px}.functional-evidence-list{display:grid;gap:12px}.functional-evidence-card{border:1px solid var(--border);border-radius:15px;padding:15px;background:var(--surface)}.functional-evidence-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.functional-evidence-card header span{color:var(--muted);font-size:11px}.functional-evidence-card p{margin:12px 0 0;padding:12px;border-radius:10px;background:var(--surface-2);line-height:1.55}
.functional-coverage-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:18px}.coverage-row{display:grid;grid-template-columns:210px 1fr 46px;gap:12px;align-items:center;padding:9px 0}.coverage-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.coverage-track{height:9px;border-radius:999px;background:var(--surface-2);overflow:hidden}.coverage-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--secondary) 80%,white),color-mix(in srgb,var(--primary) 70%,white))}.coverage-row small{text-align:right;color:var(--muted)}
.badge.info{background:rgba(95,157,198,.13);color:#427aa0}.badge.neutral{background:rgba(125,139,153,.13);color:#66717b}
@media (max-width:1100px){.functional-results-layout,.functional-coverage-layout{grid-template-columns:1fr}.functional-analysis-aside{position:static}.functional-source-status{min-width:0}.functional-hero{flex-direction:column}.sharepoint-settings-grid{grid-template-columns:1fr}}
@media (max-width:760px){.functional-analysis-controls{grid-template-columns:1fr}.functional-analysis-summary,.functional-evidence-summary{grid-template-columns:1fr}.functional-sharepoint-strip,.sharepoint-status-card{align-items:flex-start;flex-direction:column}.coverage-row{grid-template-columns:1fr}.coverage-row small{text-align:left}}

/* Formix V7.9 - propuesta visual aprobada + Conector Universal */
:root{
  --primary-soft:#3f6782;
  --blue-soft:#779bb6;
  --green-soft:#86ad8e;
  --amber-soft:#c8a66c;
  --violet-soft:#9a8eb6;
  --red-soft:#c9827f;
}
body{background:#f5f7f9;color:#203443}
.topbar{background:rgba(255,255,255,.985);box-shadow:0 1px 0 rgba(42,67,84,.06)}
.content{padding-top:30px}
.card{border-color:#e2e8ec;box-shadow:0 7px 22px rgba(37,64,82,.045)}
.card:hover{box-shadow:0 9px 28px rgba(37,64,82,.06)}
.page-actions{gap:18px}
.form-field input,.form-field select,.form-field textarea{border-color:#dce5ea;background:#fff}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#8ba9bc;box-shadow:0 0 0 3px rgba(96,137,163,.10)}
.table-wrap{border-color:#e4eaee}
table thead th{background:#f8fafb;color:#70808c;font-size:10px;letter-spacing:.02em}
table tbody tr:hover{background:#fafcfd}
.badge.success{background:#eaf4ec;color:#54805e}.badge.warning{background:#f8f1e5;color:#957238}.badge.danger{background:#f8eaea;color:#a45e5b}
.button.primary,.button.accent{background:#355f7c;border-color:#355f7c}.button.primary:hover,.button.accent:hover{background:#2f5670}
.button.secondary{background:#fbfcfd;border-color:#dbe4e9;color:#3b596d}.button.ghost{color:#49687d}
.soft-kpi{border-color:#e2e9ed}.soft-kpi-icon{background:#edf3f7;color:#557d98}.soft-kpi:nth-child(2) .soft-kpi-icon{background:#edf6f3;color:#66998e}.soft-kpi:nth-child(3) .soft-kpi-icon{background:#f8f1e5;color:#a48246}.soft-kpi:nth-child(4) .soft-kpi-icon{background:#eef4ec;color:#73947a}
.soft-chart-card,.soft-panel{background:linear-gradient(180deg,#fff,#fbfcfd)}
.stat-bar{background:#edf1f4}.stat-bar>span{background:linear-gradient(90deg,#7ea7a3,#6d91ab)}
.project-row-soft{grid-template-columns:50px minmax(210px,1.25fr) 110px minmax(125px,.72fr) minmax(145px,.9fr) 70px minmax(160px,.95fr) minmax(112px,auto)}
.project-actions-soft{display:flex;justify-content:flex-end;align-items:center;gap:7px}.project-capture-btn{white-space:nowrap;padding:8px 11px}
.project-monogram{background:linear-gradient(135deg,#eef4f7,#f7f9fb);border:1px solid #e0e8ed}
.project-progress-soft i{background:linear-gradient(90deg,#87a8be,#6f95ad)}
.functional-hero{background:linear-gradient(135deg,#ffffff 0%,#f4f8fa 100%)}
.functional-tabs{padding:5px;border:1px solid var(--border);border-radius:14px;background:#f8fafb;width:max-content;max-width:100%}.functional-tab{border:0;background:transparent}.functional-tab.active{background:#fff;box-shadow:0 3px 10px rgba(42,67,84,.07);color:#355f7c}
.functional-sharepoint-strip{background:linear-gradient(90deg,#f6f9fa,#fbfcfd)}
.sharepoint-status-card{background:#f7f9fa}
.functional-analysis-aside{background:#f8fafb}
.week-agenda-event.type-demo{background:#eef4f9;border-left-color:#7c9ebd}.week-agenda-event.type-visit{background:#eef5ee;border-left-color:#88aa8c}.week-agenda-event.type-assessment{background:#f7f2e9;border-left-color:#c5a368}.week-agenda-event.type-followup{background:#f3f0f8;border-left-color:#9d91b7}.week-agenda-event.type-training{background:#f8eeee;border-left-color:#c9827f}.week-agenda-event.blocked{background:#f2f4f5}
.run-kpis .soft-kpi{min-height:108px}.runs-table-soft td{padding-top:12px;padding-bottom:12px}
.modal-card{border-radius:20px;box-shadow:0 24px 65px rgba(19,42,58,.20)}
.selection-button{border-color:#dfe7ec}.selection-button:hover{border-color:#8caabd;background:#f7fafc}
@media(max-width:1200px){.project-row-soft{grid-template-columns:50px 1fr 110px 120px minmax(112px,auto)}.project-info-soft:nth-of-type(2),.project-info-soft:nth-of-type(3),.project-next-soft{display:none}}
@media(max-width:760px){.project-row-soft{grid-template-columns:44px 1fr minmax(92px,auto)}.project-actions-soft .icon-action{display:none}.project-capture-btn{padding:8px 9px}}

/* V7.9.2 - Analisis de desarrollos estructurado */
.functional-dev-intro{display:grid;gap:12px;margin:16px 0 18px}
.functional-dev-tip{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid #cfe0ef;border-radius:14px;background:#f5f9fd;color:#254861}
.functional-dev-tip-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#e1eef8;color:#2e6f9c;font-weight:900}
.functional-dev-tip strong,.functional-dev-tip small{display:block}.functional-dev-tip small{margin-top:5px;color:#667d8d}
.functional-original-box{border:1px solid var(--border);border-radius:15px;background:var(--surface);padding:15px 16px}
.functional-original-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.functional-original-head span,.functional-original-head strong{display:block}.functional-original-head span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.functional-original-head strong{margin-top:3px}
.functional-original-box p{margin:12px 0 0;color:var(--text);line-height:1.55;white-space:pre-wrap}
.functional-detected-note{margin-top:12px;padding:9px 11px;border-radius:10px;background:#f2f7fb;color:#35647f;font-size:12px}
.functional-result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 12px}
.functional-filter-chips{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}.filter-chip span{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-left:6px;border-radius:999px;background:var(--surface-2);font-size:11px}.filter-chip.active{background:#274e69;color:#fff;border-color:#274e69}.filter-chip.active span{background:rgba(255,255,255,.18)}
.functional-development-list{display:grid;gap:12px}.functional-development-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;border:1px solid var(--border);border-radius:17px;background:var(--surface);padding:14px;box-shadow:0 3px 14px rgba(38,61,78,.04)}.functional-development-card.confirmed{border-color:#cfe2d8;background:linear-gradient(180deg,#fff,#fbfdfc)}
.functional-development-number{display:grid;place-items:center;align-self:start;width:46px;height:46px;border-radius:13px;background:#edf4fa;color:#254f6b;font-size:20px;font-weight:900}
.functional-development-content{min-width:0}.functional-development-grid{display:grid;grid-template-columns:110px minmax(150px,.9fr) minmax(240px,1.8fr) minmax(140px,.85fr) minmax(110px,.7fr);gap:16px;align-items:start}.functional-development-grid>div{min-width:0}.functional-label{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.functional-development-grid p{margin:0;line-height:1.48;color:var(--text);word-break:break-word}.functional-development-main p{font-weight:700}.functional-development-main small{display:block;margin-top:5px;color:var(--muted)}
.functional-development-footer{display:grid;grid-template-columns:minmax(180px,.8fr) 130px minmax(0,1.8fr);gap:14px;align-items:end;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.functional-confidence>span,.functional-status-block>span{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.functional-confidence strong{display:inline-block;margin:4px 10px 0 0}.functional-confidence-track{display:inline-block;vertical-align:middle;width:120px;height:7px;border-radius:999px;background:#edf1f4;overflow:hidden}.functional-confidence-track span{display:block;height:100%;border-radius:999px;background:#4e91bf}.functional-status-block .badge{margin-top:6px}.functional-card-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.functional-detected-total{margin-bottom:14px;padding:14px;border:1px solid #dbe7ef;border-radius:13px;background:#f6f9fb}.functional-detected-total span,.functional-detected-total strong,.functional-detected-total small{display:block}.functional-detected-total span{color:var(--muted);font-size:11px}.functional-detected-total strong{margin-top:3px;font-size:30px;color:#274e69}.functional-detected-total small{color:var(--muted)}.functional-aside-subtitle{margin:14px 0 5px;font-size:11px;font-weight:900;text-transform:uppercase;color:var(--muted);letter-spacing:.05em}.soft-gauge small{display:block;margin-top:5px;color:var(--muted);font-size:11px}
.development-entry-hint{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:9px;padding:11px 13px;border:1px solid #d8e6ef;border-radius:12px;background:#f7fafc}.development-entry-hint strong,.development-entry-hint span,.development-entry-hint small{display:block}.development-entry-hint span{margin-top:2px;color:var(--muted);font-size:12px}.development-entry-hint small{margin-top:4px;color:#6d8290}.development-entry-hint b{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#e8f2f8;color:#35647f;font-size:11px}
@media (max-width:1280px){.functional-development-grid{grid-template-columns:110px minmax(160px,1fr) minmax(230px,1.5fr) minmax(130px,.8fr)}.functional-development-grid>div:last-child{grid-column:4}.functional-development-footer{grid-template-columns:1fr 120px}.functional-card-actions{grid-column:1/-1;justify-content:flex-start}}
@media (max-width:900px){.functional-development-card{grid-template-columns:1fr}.functional-development-number{width:42px;height:42px}.functional-development-grid{grid-template-columns:1fr 1fr}.functional-development-main{grid-column:1/-1}.functional-development-footer{grid-template-columns:1fr}.functional-card-actions{grid-column:auto;justify-content:flex-start}.development-entry-hint{flex-direction:column}.functional-dev-tip{flex-direction:row}}
@media (max-width:620px){.functional-development-grid{grid-template-columns:1fr}.functional-development-main{grid-column:auto}.functional-original-head{flex-direction:column}.functional-filter-chips{width:100%}.filter-chip{flex:1 1 auto;text-align:center}}
/* Formix V7.10 Performance Core */
.performance-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,var(--surface),var(--surface-2));margin-bottom:18px}.performance-hero h2{margin:4px 0 6px}.performance-hero p{margin:0;color:var(--muted)}.performance-health{padding:8px 14px;border-radius:999px;font-weight:800;font-size:12px}.performance-health.good{background:rgba(154,219,60,.15);color:#477b17}.performance-health.warn{background:rgba(255,198,0,.16);color:#8a6700}.performance-health.bad{background:rgba(217,83,79,.14);color:#9f2d2a}.performance-storage{padding:18px;border-radius:16px;background:var(--surface-2);margin:12px 0 16px}.performance-storage strong{font-size:28px}.performance-storage span{color:var(--muted);margin-left:8px}.performance-bar{height:8px;border-radius:999px;background:var(--border);overflow:hidden;margin-top:14px}.performance-bar i{display:block;height:100%;border-radius:inherit;background:var(--secondary)}.performance-list{display:grid;gap:0}.performance-list>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border)}.performance-list>div:last-child{border-bottom:0}.performance-actions{display:flex;gap:10px;flex-wrap:wrap}.performance-metrics .metric-card{min-height:118px}@media(max-width:900px){.performance-hero{align-items:flex-start;flex-direction:column}}


/* Formix V7.10.1 · Live Repository Validation */
.functional-hero{border-color:#dce7ef;background:linear-gradient(135deg,#ffffff 0%,#f5f9fc 58%,#eef6fb 100%);box-shadow:0 12px 30px rgba(25,59,84,.06)}
.functional-hero .eyebrow{color:#6a879b;letter-spacing:.14em}.functional-hero h2{color:#102e49;font-size:28px}.functional-kpis .metric-card{border-color:#e1e9ef;box-shadow:0 5px 18px rgba(38,64,83,.04)}
.live-validation-trace{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 16px}.live-step{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:#f8fafb}.live-step>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#e8eef3;color:#4f6879;font-weight:900}.live-step.done{border-color:#cfe3d8;background:#f8fcfa}.live-step.done>span{background:#dff1e7;color:#2f7f5b}.live-step.error{border-color:#efd2d0;background:#fff9f8}.live-step.error>span{background:#f8dfdc;color:#aa5149}.live-step strong,.live-step small{display:block}.live-step small{margin-top:4px;color:var(--muted);line-height:1.4}.functional-evidence-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}.evidence-origin{margin-top:9px}.functional-evidence-summary small{display:block;margin-top:5px;color:var(--muted)}
.functional-validation-origin{margin-top:8px}.functional-confidence small{display:block;margin-top:6px;color:var(--muted);font-size:10px}.functional-source-status{box-shadow:0 4px 14px rgba(38,65,84,.04)}
.functional-development-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.functional-development-card:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(34,68,92,.07);border-color:#cbdce8}.functional-development-number{background:linear-gradient(135deg,#eef5fb,#e7f0f8)}
@media(max-width:760px){.live-validation-trace{grid-template-columns:1fr}.functional-evidence-toolbar{justify-content:stretch}.functional-evidence-toolbar .button{width:100%}}

.functional-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.functional-kpi-card{display:flex;align-items:center;gap:14px;padding:17px 18px;border:1px solid #e0e8ee;border-radius:17px;background:#fff;box-shadow:0 5px 18px rgba(37,65,84,.04)}.functional-kpi-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:14px;font-size:22px;font-weight:900}.functional-kpi-card.blue .functional-kpi-icon{background:#eaf2fb;color:#477bad}.functional-kpi-card.cyan .functional-kpi-icon{background:#e8f7f7;color:#358a90}.functional-kpi-card.green .functional-kpi-icon{background:#edf7f0;color:#4e8d67}.functional-kpi-card.gold .functional-kpi-icon{background:#fbf3e4;color:#a87927}.functional-kpi-card span,.functional-kpi-card strong,.functional-kpi-card small{display:block}.functional-kpi-card span{color:var(--muted);font-size:11px}.functional-kpi-card strong{margin:2px 0;font-size:24px;color:#18354d}.functional-kpi-card small{color:var(--muted)}
.functional-tab{display:inline-flex;align-items:center;gap:7px}.functional-tab>span{font-size:15px}.functional-module-cell,.functional-document-cell{display:flex;align-items:center;gap:9px}.functional-module-cell>span,.functional-doc-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:#edf4f8;color:#39728f;font-weight:900}.functional-doc-icon{background:#f4f6fb;color:#59718c}.functional-analysis-summary>div{display:flex;align-items:center;gap:12px}.functional-analysis-summary>div>div span,.functional-analysis-summary>div>div strong{display:block}.functional-summary-icon{display:grid!important;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:#edf4fa;color:#3d7396;font-size:18px!important}.functional-analysis-summary>div:nth-child(2) .functional-summary-icon{background:#f0effb;color:#6a69a6}.functional-analysis-summary>div:nth-child(3) .functional-summary-icon{background:#edf7f0;color:#518a68}
@media(max-width:1100px){.functional-kpi-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.functional-kpi-grid{grid-template-columns:1fr}}


/* Formix V7.10.5 · Repository Connector Core */
.repository-diagnostic-card{margin:0 0 16px;padding:15px 16px;border:1px solid #dce7ef;border-radius:15px;background:linear-gradient(180deg,#fbfdff,#f7fafc)}
.repository-diagnostic-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}.repository-diagnostic-head span,.repository-diagnostic-head strong{display:block}.repository-diagnostic-head>div>span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.repository-diagnostic-head>div>strong{margin-top:4px;color:#203f56}
.repository-diagnostic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.repository-diagnostic-grid>div{padding:11px 12px;border:1px solid #e4ebef;border-radius:12px;background:#fff}.repository-diagnostic-grid span,.repository-diagnostic-grid strong{display:block}.repository-diagnostic-grid span{font-size:10px;color:var(--muted)}.repository-diagnostic-grid strong{margin-top:3px;font-size:20px;color:#254f6b}
.repository-reviewed{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px}.repository-reviewed>span:first-child{width:100%;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.repository-reviewed-chip{padding:5px 8px;border-radius:999px;background:#edf4f8;color:#466a80;font-size:10px}.repository-errors{margin-top:11px;padding:9px 11px;border-radius:10px;background:#fff7f6;color:#92534e;font-size:11px}.repository-errors summary{cursor:pointer;font-weight:800}.repository-errors div{margin-top:6px}.repository-meta-note{margin-top:11px;color:#607987;font-size:11px}
@media(max-width:760px){.repository-diagnostic-head{flex-direction:column}.repository-diagnostic-grid{grid-template-columns:1fr 1fr}}

/* Formix V7.10.5 · Repository Connector Core */
.repository-connector-line{display:block;margin-top:7px;color:var(--muted);font-size:11px}
.repository-hard-error{display:grid;gap:5px;margin:0 0 12px;padding:12px 14px;border:1px solid #f0c9c1;border-radius:12px;background:#fff5f2;color:#7d352a}
.repository-hard-error strong,.repository-hard-error span,.repository-hard-error code{display:block}.repository-hard-error code{width:max-content;max-width:100%;padding:4px 7px;border-radius:7px;background:#fff;border:1px solid #efd6d0;font-size:10px;overflow-wrap:anywhere}
.repository-steps{display:grid;gap:7px;margin-top:12px}.repository-step{display:grid;grid-template-columns:24px 1fr;gap:9px;align-items:start;padding:9px 10px;border:1px solid #e4ebef;border-radius:11px;background:#fff}.repository-step>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:800;font-size:12px;background:#eef4f7;color:#547084}.repository-step strong,.repository-step small{display:block}.repository-step strong{font-size:11px;color:#23465f}.repository-step small{margin-top:2px;font-size:10px;color:var(--muted);overflow-wrap:anywhere}.repository-step.ok>span{background:#e7f7ed;color:#25884b}.repository-step.error>span{background:#fff0ec;color:#cb4935}.repository-step.warning>span{background:#fff7e4;color:#a66a00}.settings-probe-steps{margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:14px;background:#f9fbfc}.sharepoint-status-card small{display:block;margin-top:7px;color:var(--muted)}
.evidence-location{margin:8px 0 2px;font-size:10px;font-weight:800;color:#5a7487;text-transform:uppercase;letter-spacing:.03em}

/* Formix V7.10.5 · Revalidacion completa y seleccion de mejor evidencia */
.functional-source-comparison{display:block;margin-top:8px;color:var(--muted,#66788a);font-size:12px;line-height:1.45}
.functional-source-winner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch;margin:14px 0;padding:14px;border:1px solid #d9e5ef;border-radius:16px;background:#f8fbfd}
.functional-source-winner>div{display:flex;flex-direction:column;gap:5px;padding:12px;border-radius:12px;background:#fff;border:1px solid #e5edf4}
.functional-source-winner>div span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#718398;font-weight:700}
.functional-source-winner>div strong{font-size:18px;color:#102a43}
.functional-source-winner>div small{color:#6b7f92;overflow-wrap:anywhere}
.functional-source-winner>div.winner{background:#eef8f3;border-color:#c9e9d8}
.functional-source-winner>.badge{grid-column:1/-1;justify-self:start}
@media(max-width:900px){.functional-source-winner{grid-template-columns:1fr}.functional-source-winner>.badge{grid-column:1}}

/* V7.10.6 - refinamiento visual Validador de desarrollos */
.functional-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;border:1px solid rgba(8,30,54,.08);border-radius:18px;background:#fff;box-shadow:none;margin-bottom:16px}
.functional-hero h2{margin:6px 0 8px;font-size:28px}
.functional-hero p{margin:0;max-width:760px;color:#5b7087}
.functional-source-status{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;border:1px solid rgba(8,30,54,.08);background:#f8fafc;min-width:210px;box-shadow:none}
.functional-source-status strong{display:block;margin-bottom:2px}
.functional-source-status small{display:block;color:#6e8196}
.functional-kpi-grid{gap:12px;margin-bottom:16px}
.functional-kpi-card{padding:16px 18px;border-radius:16px;border:1px solid rgba(8,30,54,.08);box-shadow:none;background:#fff}
.functional-kpi-card .kpi-subtitle{color:#70839a}
.functional-tabs{gap:8px;margin-bottom:16px}
.functional-tab{border-radius:12px;padding:10px 14px;border:1px solid rgba(8,30,54,.08);background:#fff;box-shadow:none}
.functional-tab.active{border-color:rgba(0,128,209,.25);background:#f6fbff}
.functional-section{padding:18px;border-radius:18px;box-shadow:none;border:1px solid rgba(8,30,54,.08)}
.functional-sharepoint-strip{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;margin:14px 0 18px;border:1px solid rgba(8,30,54,.08);border-radius:16px;background:#fbfcfe;box-shadow:none}
.functional-sharepoint-copy{display:grid;gap:4px}
.functional-sharepoint-copy strong{font-size:15px}
.functional-sharepoint-copy small{color:#6f8196}
.functional-document-cell,.functional-module-cell{gap:10px}
.functional-development-card{border:1px solid rgba(8,30,54,.08);box-shadow:none;border-radius:18px}
.functional-development-card .functional-development-content{padding:18px}
.functional-development-footer{padding-top:14px;margin-top:14px;border-top:1px solid rgba(8,30,54,.08)}
.functional-source-comparison{display:block;margin-top:8px;color:#6e8196}
.functional-evidence-summary{display:grid;grid-template-columns:1.6fr 1fr;gap:14px;margin-bottom:12px}
.functional-evidence-summary>div{padding:16px;border:1px solid rgba(8,30,54,.08);border-radius:16px;background:#fff}
.functional-evidence-summary span{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;color:#71859a;text-transform:uppercase;margin-bottom:6px}
.repository-status-inline{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;margin:10px 0 16px;border:1px solid rgba(8,30,54,.08);border-radius:16px;background:#f9fbfd}
.repository-status-inline strong{display:block;margin-top:6px}
.repository-status-inline small{display:block;margin-top:4px;color:#6f8196}
.repository-doc-list{display:grid;gap:10px}
.repository-doc-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid rgba(8,30,54,.08);border-radius:14px;background:#fff}
.repository-doc-row small{color:#6e8196}
@media (max-width: 900px){
  .functional-hero,.functional-sharepoint-strip,.repository-status-inline{flex-direction:column;align-items:flex-start}
  .functional-evidence-summary{grid-template-columns:1fr}
}

/* Formix V7.11.1 - Consulta inteligente */
.assistant-page{display:flex;flex-direction:column;min-height:calc(100vh - 150px);max-width:1240px;margin:0 auto;width:100%;position:relative}
.assistant-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:0 2px}
.assistant-source-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.assistant-source-chips span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(8,30,54,.09);border-radius:10px;background:#fff;font-size:12px;font-weight:700;color:#334e68}
.assistant-source-chips span.success{color:#277a49;background:#f8fcf8}
.assistant-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-height:0;flex:1}.assistant-workspace.with-history{grid-template-columns:210px minmax(0,1fr)}.assistant-main{display:flex;flex-direction:column;min-width:0;min-height:0}.assistant-history{border:1px solid rgba(8,30,54,.09);border-radius:14px;background:#fff;overflow:hidden;align-self:stretch;min-height:0}.assistant-history-head{padding:12px 12px 9px;border-bottom:1px solid rgba(8,30,54,.07)}.assistant-history-head strong{display:block;font-size:12px;color:#173551}.assistant-history-head small{display:block;font-size:9px;color:#8a9bac;margin-top:2px}.assistant-history-list{padding:6px;display:grid;gap:4px;max-height:calc(100vh - 270px);overflow:auto}.assistant-history-item{display:grid;grid-template-columns:minmax(0,1fr) 26px;align-items:center;border-radius:10px;border:1px solid transparent}.assistant-history-item:hover{background:#f7faff}.assistant-history-item.active{background:#eef6ff;border-color:#dbeafe}.assistant-history-open{border:0;background:transparent;text-align:left;min-width:0;padding:9px 7px 9px 9px;cursor:pointer;color:#244664}.assistant-history-open strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assistant-history-open small{display:block;font-size:9px;color:#8a9aaa;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assistant-history-delete{width:24px;height:24px;border:0;border-radius:7px;background:transparent;color:#8b9aaa;cursor:pointer;font-size:16px;line-height:1}.assistant-history-delete:hover{background:#fff0f0;color:#b44747}.assistant-history-delete:disabled{opacity:.35;cursor:not-allowed}.assistant-thread{flex:1;min-height:430px;max-height:calc(100vh - 295px);overflow:auto;padding:8px 14px 18px;scroll-behavior:smooth}
.assistant-empty{height:100%;min-height:360px;display:grid;place-content:center;text-align:center;color:#6d8197}
.assistant-empty-icon{width:46px;height:46px;border-radius:14px;background:#edf5ff;color:#075fd3;display:grid;place-items:center;margin:0 auto 12px;font-size:22px}
.assistant-empty h2{margin:0 0 7px;color:#102d4d;font-size:22px}
.assistant-empty p{margin:0;max-width:560px}
.assistant-message{display:flex;margin:12px 0}
.assistant-message.user{justify-content:flex-end}
.assistant-user-bubble{max-width:min(720px,82%);padding:13px 16px;border-radius:14px 14px 4px 14px;background:#eff6ff;border:1px solid #dceaff;color:#153657;font-weight:600;line-height:1.45}
.assistant-user-bubble small{display:block;text-align:right;font-size:10px;color:#77899b;margin-top:4px;font-weight:500}
.assistant-message.assistant{align-items:flex-start;gap:10px;justify-content:flex-start}
.assistant-bot-avatar{width:38px;height:38px;min-width:38px;border-radius:50%;display:grid;place-items:center;background:#edf5ff;color:#0b64d8;font-size:18px;border:1px solid #dce9fb;margin-top:4px}
.assistant-answer{width:min(890px,calc(100% - 50px));border:1px solid rgba(8,30,54,.10);border-radius:16px;background:#fff;padding:16px 18px;box-shadow:none;color:#203b57}
.assistant-answer-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}
.assistant-answer-head strong{color:#102d4d;font-size:14px}
.assistant-answer-head time{font-size:10px;color:#8494a5}
.assistant-intro{margin:0 0 12px;line-height:1.55;color:#334e68}
.assistant-answer-section{border-top:1px solid rgba(8,30,54,.08);padding-top:11px;margin-top:10px}
.assistant-answer-section>strong{display:block;margin-bottom:8px;color:#102d4d;font-size:13px}
.assistant-answer-section ol{margin:0;padding-left:24px;display:grid;gap:7px}
.assistant-answer-section li{padding-left:3px;line-height:1.45;color:#334e68}
.assistant-no-evidence{display:inline-flex;padding:6px 9px;border-radius:8px;background:#fff6e5;color:#a26900;font-size:11px;font-weight:800;margin-bottom:10px}
.assistant-sources{border-top:1px solid rgba(8,30,54,.08);margin-top:13px;padding-top:12px}
.assistant-sources>strong{display:block;color:#102d4d;font-size:12px;margin-bottom:6px}
.assistant-source-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto 20px;gap:9px;align-items:center;padding:8px 2px;border-bottom:1px solid rgba(8,30,54,.06)}
.assistant-source-row:last-child{border-bottom:0}
.assistant-source-icon{width:30px;height:30px;border-radius:8px;background:#f1f6fb;display:grid;place-items:center;font-size:9px;font-weight:900;color:#0b64d8}
.assistant-source-row strong{display:block;font-size:12px;color:#1e3d5b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.assistant-source-row small{display:block;font-size:10px;color:#8292a3;margin-top:2px}
.assistant-source-row>span{font-size:10px;color:#0b64d8;white-space:nowrap}
.assistant-source-row>a{text-decoration:none;color:#0b64d8;font-weight:900}
.assistant-answer-feedback{display:flex;justify-content:flex-end;align-items:center;gap:5px;padding-top:9px;margin-top:5px;color:#8a99a8;font-size:10px}
.assistant-answer-feedback button{border:0;background:transparent;color:#486783;cursor:pointer;font-size:16px;padding:3px 6px}
.assistant-thinking{display:flex;align-items:center;gap:10px;margin:14px 0 16px 48px;color:#657d94;font-size:12px}
.assistant-thinking span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eef5ff;color:#0b64d8;animation:assistantPulse 1.1s infinite alternate}
@keyframes assistantPulse{from{opacity:.55;transform:scale(.96)}to{opacity:1;transform:scale(1.03)}}
.assistant-composer{position:sticky;bottom:12px;z-index:9;display:grid;grid-template-columns:38px minmax(0,1fr) 52px;gap:8px;align-items:center;padding:10px 11px 26px;background:rgba(255,255,255,.97);border:1px solid rgba(8,30,54,.10);border-radius:16px;box-shadow:0 8px 28px rgba(8,30,54,.08);backdrop-filter:blur(12px)}
.assistant-composer textarea{resize:none;min-height:44px;max-height:130px;border:1px solid rgba(8,30,54,.11);border-radius:11px;padding:12px 14px;font:inherit;color:#173551;outline:none;background:#fff}
.assistant-composer textarea:focus{border-color:#5fa7ec;box-shadow:0 0 0 3px rgba(0,128,209,.08)}
.assistant-evidence-compact{width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#607990;font-size:16px;cursor:pointer}.assistant-evidence-compact:hover{background:#f0f5f9;color:#204b76}.assistant-send{width:48px;height:48px;border:0;border-radius:12px;background:#0962da;color:#fff;font-size:20px;cursor:pointer;box-shadow:none;display:grid;place-items:center}.assistant-send:disabled{cursor:not-allowed;opacity:.82}.assistant-send.loading{background:#eaf2fb;color:#0962da}.assistant-send-spinner{width:19px;height:19px;border:2px solid rgba(9,98,218,.22);border-top-color:#0962da;border-radius:50%;animation:assistantSpin .8s linear infinite}@keyframes assistantSpin{to{transform:rotate(360deg)}}
.assistant-disclaimer{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);font-size:9px;color:#9aa7b5;white-space:nowrap}
.assistant-evidence-modal{display:grid;gap:10px}
.assistant-evidence-modal>p{margin:0 0 4px;color:#687d92}
.assistant-evidence-modal article{border:1px solid rgba(8,30,54,.09);border-radius:14px;padding:13px 14px;background:#fff}
.assistant-evidence-modal article header{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}
.assistant-evidence-modal article header strong{color:#133552}
.assistant-evidence-modal article header span{font-size:10px;color:#6f8295}
.assistant-evidence-modal article p{margin:0;line-height:1.5;color:#3d556c}
.assistant-evidence-modal article footer{margin-top:8px;font-size:10px;color:#76899c}
.assistant-evidence-modal article footer a{color:#0962da;text-decoration:none}
@media(max-width:900px){
  .assistant-page{min-height:calc(100vh - 125px)}
  .assistant-toolbar{align-items:flex-start;flex-direction:column}
  .assistant-workspace.with-history{grid-template-columns:1fr}
  .assistant-history{max-height:150px}
  .assistant-history-list{max-height:105px}
  .assistant-thread{max-height:calc(100vh - 390px);padding-left:0;padding-right:0}
  .assistant-answer{width:calc(100% - 48px)}
  .assistant-composer{grid-template-columns:34px minmax(0,1fr) 48px;padding-bottom:30px}
  .assistant-disclaimer{white-space:normal;width:90%;text-align:center}
  .assistant-source-row{grid-template-columns:32px minmax(0,1fr) auto}
  .assistant-source-row>a{display:none}
}

/* Formix V7.12.1 - Base de respuesta procesada + conversaciones colapsables */
.assistant-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.assistant-history-toggle{display:inline-flex;align-items:center;gap:6px;color:#526d86}.assistant-history-toggle.active{background:#f0f6fc;color:#174f82}
.assistant-history-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.assistant-history-collapse{width:27px;height:27px;border:0;border-radius:8px;background:transparent;color:#688096;cursor:pointer;font-size:22px;line-height:1;display:grid;place-items:center}.assistant-history-collapse:hover{background:#f1f6fa;color:#174f82}
.assistant-section-body{margin:0;line-height:1.62;color:#334e68}
.assistant-answer-section ul{margin:0;padding-left:21px;display:grid;gap:7px}.assistant-answer-section ul li{padding-left:3px;line-height:1.5;color:#334e68}
.assistant-closing{margin:13px 0 0;padding:11px 13px;border-radius:10px;background:#f7fafc;color:#587086;font-size:12px;line-height:1.5}
@media(max-width:900px){.assistant-toolbar-actions{width:100%;justify-content:space-between}.assistant-history-toggle span{display:inline}.assistant-history{max-height:190px}}

/* Formix V7.12.1 - Respuestas didacticas y flujo secuencial */
.assistant-response-headline{margin:4px 0 10px;color:#102d4d;font-size:18px;line-height:1.25}
.assistant-process-steps{display:grid;gap:12px;margin-top:8px}
.assistant-process-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:12px 13px;border:1px solid rgba(8,30,54,.09);border-radius:12px;background:rgba(248,251,253,.82)}
.assistant-process-number{width:30px;height:30px;border-radius:10px;background:#102d4d;color:white;display:grid;place-items:center;font-size:12px;font-weight:800}
.assistant-process-copy>strong{display:block;color:#102d4d;font-size:13px;margin:1px 0 6px}
.assistant-process-copy p{margin:0;color:#334e68;line-height:1.58}
.assistant-process-copy small{display:block;margin-top:8px;padding:8px 10px;border-left:3px solid rgba(0,128,209,.35);background:white;border-radius:0 8px 8px 0;color:#5c7185;line-height:1.5}
@media (max-width:720px){.assistant-process-step{grid-template-columns:30px minmax(0,1fr);padding:10px}.assistant-response-headline{font-size:16px}}

/* =============================================================
   FORMIX V7.12.1 · MODO TABLETA REDISEÑADO
   Referencia aprobada para Huawei MatePad 11.5
   ============================================================= */
.danger-icon-action{color:#b8423d!important;border-color:color-mix(in srgb,#b8423d 30%,var(--border))!important;background:color-mix(in srgb,#b8423d 5%,var(--surface))!important}.danger-icon-action:hover{background:color-mix(in srgb,#b8423d 12%,var(--surface))!important}
.tablet-run-header,.tablet-run-overview,.tablet-quick-row,.tablet-section-nav,.tablet-bottom-bar{display:none}

body.tablet-capture-mode{background:#f6f8fb;overflow-x:hidden}
body.tablet-capture-mode .sidebar,body.tablet-capture-mode .topbar{display:none!important}
body.tablet-capture-mode .main-area{margin-left:0!important;width:100%!important;min-height:100vh}
body.tablet-capture-mode .content{display:block!important;width:100%!important;max-width:1180px!important;margin:0 auto!important;padding:132px 22px 116px!important;box-sizing:border-box}
body.tablet-capture-mode .desktop-run-actions,body.tablet-capture-mode .desktop-run-status,body.tablet-capture-mode .desktop-run-progress,body.tablet-capture-mode .desktop-run-bottom{display:none!important}
body.tablet-capture-mode .tablet-run-header{display:grid;grid-template-columns:54px auto minmax(180px,1fr) auto minmax(260px,auto) 48px;align-items:center;gap:14px;position:fixed;top:0;left:0;right:0;z-index:100;background:#081e36;color:#fff;padding:15px max(22px,calc((100vw - 1180px)/2 + 22px));box-shadow:0 8px 30px rgba(8,30,54,.14);min-height:90px;box-sizing:border-box}
body.tablet-capture-mode .tablet-header-icon{width:48px;height:48px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.07);color:#fff;font-size:22px;display:grid;place-items:center;cursor:pointer}
body.tablet-capture-mode .tablet-brand{display:flex;align-items:center;gap:10px;padding-right:14px;border-right:1px solid rgba(255,255,255,.14)}
body.tablet-capture-mode .tablet-brand-mark{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#0080d1;color:#fff;font-weight:900}.tablet-brand strong{font-size:21px;letter-spacing:-.02em}
body.tablet-capture-mode .tablet-form-title{min-width:0}.tablet-form-title span,.tablet-form-title strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tablet-form-title span{font-size:10px;color:#a9bfd3;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}.tablet-form-title strong{font-size:15px;font-weight:760}
body.tablet-capture-mode .tablet-progress-chip{min-width:72px;padding:9px 13px;border-radius:999px;background:#0a5fa3;color:white;font-size:14px;font-weight:850;text-align:center}
body.tablet-capture-mode .tablet-save-state{display:flex;align-items:center;gap:10px}.tablet-save-state>i{width:10px;height:10px;border-radius:50%;background:#9adb3c;box-shadow:0 0 0 4px rgba(154,219,60,.12)}.tablet-save-state span,.tablet-save-state strong{display:block}.tablet-save-state span{font-size:10px;color:#d7e3ec}.tablet-save-state strong{font-size:11px;color:#9adb3c;margin-top:2px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

body.tablet-capture-mode .tablet-run-overview{display:grid;grid-template-columns:58px minmax(0,1fr) minmax(260px,40%);align-items:center;gap:18px;background:#fff;border:1px solid #e4eaf0;border-radius:19px;padding:18px 22px;margin-bottom:16px;box-shadow:0 3px 14px rgba(8,30,54,.035)}
body.tablet-capture-mode .tablet-section-symbol{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:#0a4777;color:#fff;font-size:19px}.tablet-overview-copy h2{margin:0;color:#081e36;font-size:20px}.tablet-overview-copy span{display:block;color:#718295;font-size:11px;margin-top:4px}.tablet-overview-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.tablet-overview-progress>div{height:8px;background:#edf1f4;border-radius:999px;overflow:hidden}.tablet-overview-progress i{height:100%;display:block;background:#0080d1;border-radius:inherit}.tablet-overview-progress strong{font-size:11px;color:#718295}

body.tablet-capture-mode .tablet-quick-row{display:grid;grid-template-columns:auto auto auto minmax(260px,1fr);gap:12px;margin-bottom:14px}
body.tablet-capture-mode .tablet-quick-button{min-height:54px;padding:0 17px;border:1px solid #dfe6ed;border-radius:14px;background:#fff;color:#19517e;font-weight:760;font-size:12px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 2px 8px rgba(8,30,54,.025)}
body.tablet-capture-mode .tablet-autosave-card{min-height:54px;border:1px solid #e1e8ec;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:0 16px}.tablet-autosave-card>span{width:30px;height:30px;border:1px solid #9adb3c;border-radius:50%;color:#6ca31f;display:grid;place-items:center;font-weight:900}.tablet-autosave-card strong,.tablet-autosave-card small{display:block}.tablet-autosave-card strong{font-size:10px;color:#37495a}.tablet-autosave-card small{font-size:10px;color:#77a62e;margin-top:2px}

body.tablet-capture-mode .tablet-section-nav{display:flex;align-items:stretch;gap:6px;background:#fff;border:1px solid #e2e8ee;border-radius:16px;padding:7px;margin:0 0 20px;overflow-x:auto;scrollbar-width:none;position:sticky;top:104px;z-index:35;box-shadow:0 6px 18px rgba(8,30,54,.045)}body.tablet-capture-mode .tablet-section-nav::-webkit-scrollbar{display:none}
body.tablet-capture-mode .tablet-section-chip{border:0;background:transparent;border-radius:12px;padding:9px 12px;display:grid;grid-template-columns:28px minmax(max-content,1fr) auto;align-items:center;gap:8px;color:#7a8998;text-align:left;cursor:pointer;min-width:max-content}.tablet-section-chip>span{width:27px;height:27px;border-radius:50%;border:1px solid #cbd5dd;display:grid;place-items:center;font-size:10px;font-weight:800}.tablet-section-chip strong{font-size:10px}.tablet-section-chip small{font-size:9px;color:#9aa6b2}.tablet-section-chip.active{background:#f2f7fb;color:#0b416d}.tablet-section-chip.active>span{background:#081e36;color:white;border-color:#081e36}.tablet-section-chip.active small{color:#0080d1}

body.tablet-capture-mode .run-layout{display:block!important}.tablet-capture-mode .run-main{display:grid;gap:20px}.tablet-capture-mode .run-side{display:none!important}
body.tablet-capture-mode .run-section{background:transparent!important;border:0!important;padding:0!important;margin:0!important;scroll-margin-top:178px}.tablet-capture-mode .run-section-header,.tablet-capture-mode .section-progress-bar{display:none!important}
body.tablet-capture-mode .question-card{width:100%!important;box-sizing:border-box!important;padding:22px 24px!important;margin:0 0 18px!important;border:1px solid #e0e7ed!important;border-radius:20px!important;background:#fff!important;box-shadow:0 4px 18px rgba(8,30,54,.045)!important;transition:border-color .18s ease,box-shadow .18s ease}.tablet-capture-mode .question-card.tablet-active-question{border-color:rgba(0,128,209,.5)!important;box-shadow:0 0 0 3px rgba(0,128,209,.07),0 5px 20px rgba(8,30,54,.05)!important}
body.tablet-capture-mode .question-header{display:flex!important;align-items:flex-start!important;gap:15px!important;margin-bottom:18px!important}.tablet-capture-mode .question-index{flex:0 0 42px!important;width:42px!important;height:42px!important;border-radius:12px!important;background:#08385f!important;color:white!important;display:grid!important;place-items:center!important;font-size:14px!important;font-weight:900!important}.tablet-capture-mode .question-header h3{font-size:19px!important;line-height:1.25!important;color:#132c43!important;margin:2px 0 5px!important}.tablet-capture-mode .question-header p{font-size:11px!important;line-height:1.5!important;color:#708295!important;margin:4px 0 10px!important}.tablet-capture-mode .question-tags{gap:7px!important}.tablet-capture-mode .badge{font-size:9px!important;padding:5px 9px!important;border-radius:999px!important}
body.tablet-capture-mode .form-field>label{font-size:9px!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#617488!important;font-weight:850!important;margin-bottom:7px!important}.tablet-capture-mode textarea{min-height:98px!important;resize:vertical!important}.tablet-capture-mode textarea,.tablet-capture-mode input,.tablet-capture-mode select{font-size:14px!important;min-height:50px!important;border-radius:12px!important;border-color:#d9e2ea!important;padding:12px 14px!important}.tablet-capture-mode .answer-option{min-height:52px!important;padding:12px 15px!important;border-radius:12px!important}
body.tablet-capture-mode .answer-tools{display:flex!important;gap:10px!important;justify-content:space-between!important;flex-wrap:wrap!important;margin-top:14px!important}.tablet-capture-mode .answer-tools .button,.tablet-capture-mode .answer-tools label.button{min-height:44px!important;border-radius:12px!important;padding:0 14px!important;background:#fff!important;color:#1766a3!important;border:1px solid #dfe6ed!important;font-size:10px!important}.tablet-capture-mode .development-entry-hint{border-radius:13px!important}

body.tablet-capture-mode .tablet-bottom-bar{display:flex;align-items:center;gap:8px;position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:80;width:min(calc(100vw - 44px),1136px);box-sizing:border-box;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border:1px solid #dfe6ed;border-radius:18px;padding:10px 12px;box-shadow:0 12px 34px rgba(8,30,54,.16)}
body.tablet-capture-mode .tablet-tool-button{border:0;background:transparent;color:#173851;min-height:50px;padding:7px 12px;border-radius:11px;font-size:10px;font-weight:760;display:flex;align-items:center;gap:7px;cursor:pointer}.tablet-tool-button span{font-size:20px;color:#135e96}.tablet-tool-button:hover{background:#f1f6fa}.tablet-tool-button:disabled{opacity:.4;cursor:not-allowed}.tablet-bottom-divider{width:1px;height:42px;background:#e1e7ec;margin:0 5px}.tablet-finish-button{margin-left:auto;min-width:360px;min-height:58px;border:0;border-radius:14px;background:linear-gradient(135deg,#0872d1,#125cc4);color:#fff;padding:8px 18px;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;box-shadow:0 7px 18px rgba(0,105,204,.2)}.tablet-finish-button>span{width:30px;height:30px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;font-weight:900}.tablet-finish-button strong,.tablet-finish-button small{display:block;text-align:left}.tablet-finish-button strong{font-size:15px}.tablet-finish-button small{font-size:9px;color:#dbeeff;margin-top:2px}.tablet-finished-state{margin-left:auto;padding:12px 18px;border-radius:12px;background:#eff8e4;color:#5f8f20;font-weight:800}

@media(max-width:980px){
 body.tablet-capture-mode .content{padding-left:16px!important;padding-right:16px!important}
 body.tablet-capture-mode .tablet-run-header{grid-template-columns:48px auto minmax(120px,1fr) auto 48px;padding-left:16px;padding-right:16px}.tablet-save-state{display:none!important}
 body.tablet-capture-mode .tablet-run-overview{grid-template-columns:52px 1fr}.tablet-overview-progress{grid-column:1/-1}
 body.tablet-capture-mode .tablet-quick-row{grid-template-columns:1fr 1fr 1fr}.tablet-autosave-card{grid-column:1/-1;justify-content:flex-start!important}
 body.tablet-capture-mode .tablet-bottom-bar{width:calc(100vw - 24px);bottom:7px}.tablet-finish-button{min-width:290px}
}
@media(max-width:720px){
 body.tablet-capture-mode .content{padding-top:104px!important;padding-bottom:124px!important}.tablet-brand strong,.tablet-form-title span{display:none!important}.tablet-form-title strong{font-size:12px!important}.tablet-progress-chip{min-width:58px!important;padding:8px!important}
 body.tablet-capture-mode .tablet-run-header{min-height:76px;grid-template-columns:44px auto 1fr auto 44px;gap:8px}.tablet-header-icon{width:42px!important;height:42px!important}.tablet-brand-mark{width:30px!important;height:30px!important}
 body.tablet-capture-mode .tablet-quick-button span{display:none}.tablet-quick-button{font-size:18px!important}.tablet-autosave-card{display:none!important}.tablet-quick-row{grid-template-columns:repeat(3,1fr)!important}
 body.tablet-capture-mode .tablet-section-nav{top:85px}.tablet-section-chip strong{max-width:130px;overflow:hidden;text-overflow:ellipsis}.tablet-section-chip small{display:none}
 body.tablet-capture-mode .question-card{padding:18px!important}.tablet-capture-mode .question-header h3{font-size:17px!important}
 body.tablet-capture-mode .tablet-tool-button{padding:6px 8px}.tablet-tool-button{font-size:0!important}.tablet-tool-button span{font-size:20px!important}.tablet-bottom-divider{margin:0}.tablet-finish-button{min-width:0;flex:1}.tablet-finish-button small{display:none!important}
}
@media(max-width:760px){.project-actions-soft .danger-icon-action{display:grid!important}}
