/* @overa/ui-kit 0.16.0 · Edición y funciones (js/features.js): la piel de la de atlas (#v=edicion). Con los tokens de la
   app si los tiene y, si no, los de la suite. Los títulos no heredan lo que la app pone a todos los h2/h3/h4. */
.ov-features{--ft-rule:var(--rule,var(--color-border,#e4e8ec));--ft-panel:var(--panel,var(--color-surface,#fff));
  --ft-ink:var(--ink,#1f2937);--ft-ink2:var(--ink2,#4b5563);--ft-ink3:var(--ink3,var(--grey,#6b7280));
  --ft-primary:var(--color-primary,var(--blue,#2f6fa5));--ft-ok:var(--ok,#2f855a);--ft-warn:var(--warn,#b7791f);
  --ft-sunken:var(--color-surface-sunken,var(--panel2,#f3f5f7));--ft-r-lg:var(--radius-lg,var(--radio,10px));
  --ft-r-md:var(--radius-md,8px);--ft-shadow:var(--shadow-xs,var(--sombra-1,0 1px 2px rgba(16,24,40,.06)));
  color:var(--ft-ink);font-size:14px;line-height:1.45;max-width:1400px}
.ov-features h2,.ov-features h3,.ov-features h4{color:var(--ft-ink);text-transform:none;letter-spacing:-.005em}
.ov-ft-head{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.ov-ft-head h2{margin:0;font-size:20px;font-weight:650;letter-spacing:-.015em}
.ov-ft-info{color:var(--ft-ink3);cursor:help;font-size:15px;font-weight:400}
.ov-ft-small{display:block;font-size:12.5px;color:var(--ft-ink2)}
.ov-ft-dim{color:var(--ft-ink3)}
.ov-ft-block{margin-top:22px}
.ov-ft-sub{font-size:15px;font-weight:650;margin:0 0 10px;display:flex;gap:8px;align-items:baseline}
.ov-ft-chip{display:inline-block;font-size:11.5px;font-weight:600;line-height:18px;padding:1px 8px;border-radius:999px;white-space:nowrap}
.ov-ft-chip.ok{color:var(--ft-ok);background:var(--ok-w,color-mix(in srgb,var(--ft-ok) 14%,transparent))}
.ov-ft-chip.warn{color:var(--ft-warn);background:var(--warn-w,color-mix(in srgb,var(--ft-warn) 14%,transparent))}
.ov-ft-chip.muted{color:var(--ft-ink3);background:var(--ft-sunken)}
.ov-ft-note{padding:10px 14px;border-radius:var(--ft-r-md);background:var(--ft-sunken);font-size:13px;color:var(--ft-ink2)}
.ov-ft-note.warn{background:var(--warn-w,color-mix(in srgb,var(--ft-warn) 12%,transparent));color:var(--ft-ink)}

/* la edición: lo contratado */
.ov-ft-edition{border:1px solid var(--ft-rule);border-left:3px solid var(--ft-primary);border-radius:var(--ft-r-lg);padding:12px 16px;
  background:var(--ft-panel);box-shadow:var(--ft-shadow)}
.ov-ft-edition.off{border-left-color:var(--ft-warn)}
.ov-ft-edition-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:2px}
.ov-ft-edition-label{font-size:12px;font-weight:600;color:var(--ft-ink3);text-transform:uppercase;letter-spacing:.04em}
.ov-ft-edition-name{font-size:15px}

/* LOS PLANES POR TIPO DE EMPRESA: tarjetas que se eligen */
.ov-ft-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:10px}
.ov-ft-plan{appearance:none;font:inherit;text-align:left;display:flex;flex-direction:column;gap:5px;padding:14px 16px;cursor:pointer;
  border:1px solid var(--ft-rule);border-radius:var(--ft-r-lg);background:var(--ft-panel);color:var(--ft-ink);box-shadow:var(--ft-shadow)}
.ov-ft-plan:hover:not(:disabled){border-color:var(--ft-primary)}
.ov-ft-plan.on{border-color:var(--ft-primary);box-shadow:inset 0 0 0 1px var(--ft-primary);background:color-mix(in srgb,var(--ft-primary) 6%,var(--ft-panel))}
.ov-ft-plan:disabled{cursor:default}
.ov-ft-plan-name{font-weight:700;font-size:15px}
.ov-ft-plan-for{font-size:12px;font-weight:600;color:var(--ft-ink2)}
.ov-ft-changed{color:var(--ft-warn)}

/* las funciones, por grupos */
.ov-ft-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin:10px 0 14px}
.ov-ft-group{border:1px solid var(--ft-rule);border-radius:var(--ft-r-lg);padding:10px 14px;background:var(--ft-panel);box-shadow:var(--ft-shadow)}
.ov-ft-group h4{margin:2px 0 8px;font-size:13px;font-weight:650}
.ov-ft-func{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--rule2,var(--ft-rule));cursor:pointer}
.ov-ft-func:first-of-type{border-top:0}
.ov-ft-func>span{display:flex;flex-direction:column;gap:2px}
.ov-ft-func input{margin-top:3px;accent-color:var(--ft-primary)}
.ov-ft-func.out{opacity:.6;cursor:default}

/* guardar, con su motivo */
.ov-ft-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:4px 0 12px}
.ov-ft-reason{flex:1 1 320px;max-width:560px;font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--ft-rule);border-radius:var(--ft-r-md);
  background:var(--ft-panel);color:var(--ft-ink)}
.ov-ft-btn{appearance:none;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13.5px;padding:8px 14px;border:1px solid var(--ft-rule);
  border-radius:var(--ft-r-md);background:var(--ft-panel);color:var(--ft-ink);cursor:pointer;text-decoration:none;box-shadow:var(--ft-shadow)}
.ov-ft-btn:hover:not([disabled]){border-color:var(--ft-primary);text-decoration:none;color:var(--ft-ink)}
.ov-ft-btn.primary{background:var(--ft-primary);border-color:var(--ft-primary);color:#fff;font-weight:600}
.ov-ft-btn.primary:hover:not([disabled]){color:#fff;background:color-mix(in srgb,var(--ft-primary) 88%,#000)}
.ov-ft-btn[disabled]{opacity:.45;cursor:default}

/* las aplicaciones de la suite */
.ov-ft-apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:10px}
.ov-ft-app{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--ft-rule);border-radius:var(--ft-r-lg);
  background:var(--ft-panel);box-shadow:var(--ft-shadow)}
.ov-ft-app.on{border-color:color-mix(in srgb,var(--ft-ok) 45%,var(--ft-rule))}
.ov-ft-app-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ov-ft-app-name{font-size:15px}
