/* BEN4X Club Manager — CSS completamente scoped a #ben4x-app / .b4x-login.
   Palette e variabili sovrascrivibili (altri club: cambiare solo le variabili). */
#ben4x-app, .b4x-login {
  --b4x-primary: #013528;
  --b4x-primary-soft: #0a4a3a;
  --b4x-on-primary: #ffffff;
  --b4x-bg: #F5F7F6;
  --b4x-surface: #ffffff;
  --b4x-text: #18211E;
  --b4x-muted: #66716C;
  --b4x-border: #E3E8E5;
  --b4x-green: #1e8e5a;  --b4x-green-bg: #e8f5ee;
  --b4x-yellow: #b7860b; --b4x-yellow-bg: #fff7de;
  --b4x-orange: #d9711a; --b4x-orange-bg: #fff0e3;
  --b4x-red: #c9302c;    --b4x-red-bg: #fdecec;
  --b4x-blue: #1f6fd0;   --b4x-blue-bg: #e9f1fc;
  --b4x-purple: #6d4bc7; --b4x-purple-bg: #f0ebfb;
  --b4x-radius: 12px;
  --b4x-radius-sm: 8px;
  --b4x-shadow: 0 1px 2px rgba(24,33,30,.06), 0 4px 16px rgba(24,33,30,.05);
  --b4x-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --b4x-sidebar-w: 240px;
  font-family: var(--b4x-font);
  color: var(--b4x-text);
  font-size: 15px;
  line-height: 1.45;
  box-sizing: border-box;
}
#ben4x-app *, #ben4x-app *::before, #ben4x-app *::after, .b4x-login *, .b4x-login *::before, .b4x-login *::after { box-sizing: inherit; }
#ben4x-app a { color: var(--b4x-primary); text-decoration: none; }
#ben4x-app h1, #ben4x-app h2, #ben4x-app h3, #ben4x-app p, #ben4x-app ul { margin: 0; }
/* Titoli: colore esplicito per vincere sui temi che impostano h1/h2 in bianco o con font propri */
#ben4x-app .b4x-page__title, #ben4x-app .b4x-card__title, #ben4x-app .b4x-kpi__label,
.b4x-login .b4x-login__title, #ben4x-app h1.b4x-page__title, #ben4x-app h2.b4x-card__title {
  color: var(--b4x-primary) !important; font-family: var(--b4x-font) !important; text-shadow: none !important; text-transform: none;
}
#ben4x-app .b4x-kpi__label { color: var(--b4x-muted) !important; text-transform: uppercase; }
#ben4x-app .b4x-kpi__value, #ben4x-app .b4x-content, #ben4x-app .b4x-content p { color: var(--b4x-text); }
#ben4x-app .b4x-muted, #ben4x-app .b4x-page__subtitle { color: var(--b4x-muted) !important; }
/* Input della topbar: neutralizza dimensioni/bordi del tema */
#ben4x-app .b4x-topbar__search input { font-size: 14px !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; min-height: 0 !important; }
#ben4x-app button, #ben4x-app input, #ben4x-app select, #ben4x-app textarea { font: inherit; color: inherit; }
#ben4x-app img { max-width: 100%; display: block; }
#ben4x-app table { border-collapse: collapse; width: 100%; }

/* Layout app */
.b4x-app { display: flex; min-height: 100vh; background: var(--b4x-bg); }
.b4x-sidebar {
  width: var(--b4x-sidebar-w); flex: 0 0 var(--b4x-sidebar-w);
  background: var(--b4x-primary); color: var(--b4x-on-primary);
  display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; overflow-y: auto;
}
.b4x-sidebar__brand { display: flex; align-items: center; gap: 12px; padding: 22px 18px 18px; }
.b4x-sidebar__logo { width: 46px; height: auto; border-radius: 4px; }
.b4x-sidebar__name { font-weight: 700; letter-spacing: .06em; font-size: 14px; line-height: 1.2; }
.b4x-sidebar__close { display: none; margin-left: auto; background: none; border: 0; color: #fff; font-size: 26px; cursor: pointer; }
.b4x-nav { display: flex; flex-direction: column; gap: 2px; padding: 6px 10px; }
.b4x-nav__item {
  display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: var(--b4x-radius-sm);
  color: rgba(255,255,255,.88) !important; font-weight: 500; transition: background .15s;
}
.b4x-nav__item:hover { background: rgba(255,255,255,.08); }
.b4x-nav__item.is-active { background: rgba(255,255,255,.16); color: #fff !important; font-weight: 600; }
.b4x-nav__phase { margin-left: auto; font-size: 10px; opacity: .5; }
.b4x-sidebar__section { padding: 14px 10px; border-top: 1px solid rgba(255,255,255,.1); margin-top: 6px; }
.b4x-sidebar__heading { font-size: 11px; letter-spacing: .1em; font-weight: 700; opacity: .7; padding: 0 12px 8px; }
.b4x-nav__quick { display: flex; align-items: center; gap: 10px; padding: 7px 12px; color: rgba(255,255,255,.88) !important; font-size: 14px; border-radius: var(--b4x-radius-sm); }
.b4x-nav__quick:hover { background: rgba(255,255,255,.08); }
.b4x-nav__plus { width: 22px; height: 22px; border-radius: 50%; background: rgba(255,255,255,.18); display: inline-flex; align-items: center; justify-content: center; }
.b4x-sidebar__footer { margin-top: auto; padding: 18px; font-size: 12px; }
.b4x-powered { font-size: 12px; color: var(--b4x-muted); text-align: center; margin-top: 18px; }
.b4x-powered--light { color: rgba(255,255,255,.7); text-align: left; margin: 0; }
.b4x-sidebar__backdrop { display: none; }

.b4x-main { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.b4x-topbar { display: flex; align-items: center; gap: 16px; padding: 12px 24px; background: var(--b4x-surface); border-bottom: 1px solid var(--b4x-border); position: sticky; top: 0; z-index: 5; }
.b4x-topbar__menu { display: none; background: none; border: 0; cursor: pointer; padding: 6px; }
.b4x-topbar__search { display: flex; align-items: center; gap: 8px; flex: 1; max-width: 460px; background: var(--b4x-bg); border: 1px solid var(--b4x-border); border-radius: 999px; padding: 8px 14px; color: var(--b4x-muted); }
.b4x-topbar__search input { flex: 1; border: 0; background: transparent; outline: none; }
.b4x-topbar__spacer { flex: 1; }
.b4x-topbar__right { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.b4x-topbar__icon { background: none; border: 0; color: var(--b4x-muted); cursor: pointer; }
.b4x-user { display: flex; align-items: center; gap: 10px; }
.b4x-user__avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--b4x-primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.b4x-user__meta { display: flex; flex-direction: column; line-height: 1.2; }
.b4x-user__meta small { color: var(--b4x-muted); font-size: 12px; }
.b4x-user__logout { color: var(--b4x-muted) !important; display: inline-flex; padding: 4px; }
.b4x-user__logout:hover { color: var(--b4x-red) !important; }

.b4x-content { padding: 24px; flex: 1; }
.b4x-footer { display: flex; justify-content: space-between; padding: 12px 24px; font-size: 12px; color: var(--b4x-muted); border-top: 1px solid var(--b4x-border); }

/* Pagina / card */
.b4x-page__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.b4x-page__title { font-size: 26px; font-weight: 700; letter-spacing: -.01em; }
.b4x-page__subtitle { color: var(--b4x-muted); margin-top: 4px; }
.b4x-card { background: var(--b4x-surface); border: 1px solid var(--b4x-border); border-radius: var(--b4x-radius); box-shadow: var(--b4x-shadow); padding: 20px; margin-bottom: 20px; }
.b4x-card--empty { text-align: center; color: var(--b4x-muted); padding: 40px 20px; }
.b4x-card__title { font-size: 15px; font-weight: 700; margin-bottom: 12px; }
.b4x-grid--kpi { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; margin-bottom: 20px; }
.b4x-kpi { margin: 0; padding: 16px; }
.b4x-kpi__label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--b4x-muted); }
.b4x-kpi__value { font-size: 28px; font-weight: 700; margin: 4px 0 2px; }
.b4x-kpi__hint { font-size: 12px; color: var(--b4x-muted); }
.b4x-muted { color: var(--b4x-muted); }

/* Tabelle ariose */
.b4x-table th, .b4x-table td { padding: 12px 10px; text-align: left; border-bottom: 1px solid var(--b4x-border); vertical-align: top; font-size: 14px; }
.b4x-table th { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--b4x-muted); font-weight: 700; }
.b4x-table tr:last-child td { border-bottom: 0; }
.b4x-table__wrap { overflow-x: auto; }
.b4x-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; background: var(--b4x-bg); padding: 2px 6px; border-radius: 4px; white-space: pre-wrap; word-break: break-word; }

/* Form */
.b4x-form { display: flex; flex-direction: column; gap: 14px; }
.b4x-field { display: flex; flex-direction: column; gap: 6px; }
.b4x-field__label { font-size: 13px; font-weight: 600; }
.b4x-input, .b4x-select { border: 1px solid var(--b4x-border); border-radius: var(--b4x-radius-sm); padding: 10px 12px; background: #fff; outline: none; width: 100%; }
.b4x-input:focus, .b4x-select:focus { border-color: var(--b4x-primary); box-shadow: 0 0 0 3px rgba(1,53,40,.12); }
.b4x-check { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.b4x-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.b4x-form__actions { display: flex; gap: 10px; align-items: center; }
.b4x-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; border-radius: var(--b4x-radius-sm); border: 1px solid var(--b4x-border); background: #fff; cursor: pointer; font-weight: 600; transition: background .15s, box-shadow .15s; }
.b4x-btn:hover { background: var(--b4x-bg); }
.b4x-btn--primary { background: var(--b4x-primary); color: #fff; border-color: var(--b4x-primary); }
.b4x-btn--primary:hover { background: var(--b4x-primary-soft); }
.b4x-btn--block { width: 100%; }
.b4x-btn[disabled] { opacity: .6; cursor: default; }

/* Tag / badge / alert (colori funzionali) */
.b4x-tag { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.b4x-tag--beta { background: rgba(255,255,255,.2); color: #fff; margin-left: auto; }
.b4x-tag--muted { background: var(--b4x-bg); color: var(--b4x-muted); border: 1px solid var(--b4x-border); }
.b4x-tag--green { background: var(--b4x-green-bg); color: var(--b4x-green); }
.b4x-tag--yellow { background: var(--b4x-yellow-bg); color: var(--b4x-yellow); }
.b4x-tag--orange { background: var(--b4x-orange-bg); color: var(--b4x-orange); }
.b4x-tag--red { background: var(--b4x-red-bg); color: var(--b4x-red); }
.b4x-tag--blue { background: var(--b4x-blue-bg); color: var(--b4x-blue); }
.b4x-tag--purple { background: var(--b4x-purple-bg); color: var(--b4x-purple); }
.b4x-alert { padding: 12px 14px; border-radius: var(--b4x-radius-sm); font-size: 14px; margin-bottom: 14px; }
.b4x-alert--danger { background: var(--b4x-red-bg); color: var(--b4x-red); border: 1px solid #f3c6c4; }
.b4x-alert--success { background: var(--b4x-green-bg); color: var(--b4x-green); border: 1px solid #bfe3cf; }
.b4x-alert--info { background: var(--b4x-blue-bg); color: var(--b4x-blue); }

/* Login */
.b4x-login { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--b4x-bg); padding: 24px; }
.b4x-login__card { width: 100%; max-width: 400px; background: #fff; border-radius: 16px; box-shadow: var(--b4x-shadow); padding: 32px 28px; border: 1px solid var(--b4x-border); }
.b4x-login__brand { text-align: center; margin-bottom: 22px; }
.b4x-login__logo { width: 96px; margin: 0 auto 12px; border-radius: 8px; }
.b4x-login__title { font-size: 20px; font-weight: 700; }
.b4x-login__subtitle { color: var(--b4x-muted); font-size: 14px; }
.b4x-login__help { text-align: center; font-size: 13px; }

/* Vista maestro: una mano, target grandi */
.b4x-app--coach .b4x-content { padding: 16px; max-width: 640px; }
.b4x-page--coach .b4x-page__title { font-size: 24px; margin-bottom: 14px; }
.b4x-app--coach .b4x-btn { min-height: 52px; font-size: 16px; }

/* Responsive */
@media (max-width: 1024px) {
  #ben4x-app { --b4x-sidebar-w: 220px; }
  .b4x-content { padding: 18px; }
}
@media (max-width: 800px) {
  .b4x-sidebar { position: fixed; left: 0; top: 0; z-index: 20; transform: translateX(-100%); transition: transform .2s; width: 270px; }
  .b4x-app.is-sidebar-open .b4x-sidebar { transform: none; }
  .b4x-app.is-sidebar-open .b4x-sidebar__backdrop { display: block; position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 15; }
  .b4x-sidebar__close, .b4x-topbar__menu { display: inline-flex; }
  .b4x-user__meta { display: none; }
  .b4x-topbar { padding: 10px 14px; }
  .b4x-content { padding: 14px; }
  .b4x-footer { flex-direction: column; gap: 4px; text-align: center; }
  .b4x-page__title { font-size: 22px; }
}

/* ===== Fase 2 — Persone ===== */
#ben4x-app .b4x-link { background: none; border: 0; padding: 0; color: var(--b4x-primary); font-weight: 600; cursor: pointer; text-decoration: underline; font-size: 14px; }
#ben4x-app .b4x-field__error { color: var(--b4x-red); font-size: 12px; }
#ben4x-app .b4x-alert--warning { background: var(--b4x-orange-bg); color: var(--b4x-orange); border: 1px solid #f5d3b3; }
#ben4x-app .b4x-btn--danger { color: var(--b4x-red); border-color: #f3c6c4; }
#ben4x-app .b4x-btn--danger:hover { background: var(--b4x-red-bg); }
#ben4x-app .b4x-spacer { flex: 1; }
#ben4x-app .b4x-select--inline { width: auto; display: inline-block; padding: 4px 8px; margin-left: 6px; }
#ben4x-app .b4x-level { display: inline-block; min-width: 46px; text-align: center; padding: 4px 8px; border-radius: 6px; background: var(--b4x-bg); border: 1px solid var(--b4x-border); font-weight: 700; }
#ben4x-app .b4x-breadcrumb { color: var(--b4x-muted); font-size: 14px; margin-bottom: 12px; }
#ben4x-app .b4x-breadcrumb a { color: var(--b4x-muted); }

/* filtri */
#ben4x-app .b4x-filters { display: flex; flex-direction: column; gap: 12px; }
#ben4x-app .b4x-filters__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
#ben4x-app .b4x-filters__row .b4x-field__label { font-size: 12px; color: var(--b4x-muted); }
#ben4x-app .b4x-filters__row .b4x-select { padding: 8px 10px; }

/* tabella */
#ben4x-app .b4x-table__meta { display: flex; justify-content: space-between; padding: 14px 20px; border-bottom: 1px solid var(--b4x-border); font-size: 14px; }
#ben4x-app .b4x-table--hover tbody tr { cursor: pointer; transition: background .1s; }
#ben4x-app .b4x-table--hover tbody tr:hover { background: var(--b4x-bg); }
#ben4x-app .b4x-table td:first-child, #ben4x-app .b4x-table th:first-child { padding-left: 20px; }
#ben4x-app .b4x-table__chev { color: var(--b4x-muted); font-size: 20px; text-align: right; padding-right: 20px !important; }
#ben4x-app .b4x-pager { display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; flex-wrap: wrap; gap: 10px; }

/* modale */
#ben4x-app .b4x-modal__backdrop { position: fixed; inset: 0; background: rgba(24,33,30,.45); z-index: 50; display: flex; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow-y: auto; }
#ben4x-app .b4x-modal { background: #fff; border-radius: var(--b4x-radius); width: 100%; max-width: 560px; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
#ben4x-app .b4x-modal--wide { max-width: 820px; }
#ben4x-app .b4x-modal__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px 0; }
#ben4x-app .b4x-modal__head .b4x-card__title { margin: 0; }
#ben4x-app .b4x-modal__close { background: none; border: 0; font-size: 28px; line-height: 1; cursor: pointer; color: var(--b4x-muted); }
#ben4x-app .b4x-modal__body { padding: 18px 22px 22px; }

/* scheda persona */
#ben4x-app .b4x-person { padding-bottom: 0; }
#ben4x-app .b4x-person__head { display: flex; gap: 20px; align-items: flex-start; flex-wrap: wrap; }
#ben4x-app .b4x-person__avatar { width: 72px; height: 72px; border-radius: 50%; background: var(--b4x-primary); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 26px; font-weight: 700; flex: 0 0 72px; }
#ben4x-app .b4x-person__info { flex: 1; min-width: 260px; }
#ben4x-app .b4x-person__info .b4x-page__title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 24px; }
#ben4x-app .b4x-person__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 8px; font-size: 14px; }
#ben4x-app .b4x-person__codes { display: flex; gap: 18px; margin-top: 8px; font-size: 13px; color: var(--b4x-muted); }
#ben4x-app .b4x-person__badges { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; min-width: 260px; }
#ben4x-app .b4x-badge { border: 1px solid var(--b4x-border); border-radius: var(--b4x-radius-sm); padding: 8px 12px; font-size: 13px; display: flex; flex-direction: column; }
#ben4x-app .b4x-badge small { color: var(--b4x-muted); }
#ben4x-app .b4x-badge--green { background: var(--b4x-green-bg); border-color: #bfe3cf; }
#ben4x-app .b4x-badge--red { background: var(--b4x-red-bg); border-color: #f3c6c4; }
#ben4x-app .b4x-badge--muted { background: var(--b4x-bg); }
#ben4x-app .b4x-person__actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--b4x-border); }
#ben4x-app .b4x-person__actions .b4x-btn { padding: 8px 12px; font-size: 14px; }
#ben4x-app .b4x-tabs { display: flex; gap: 2px; overflow-x: auto; margin: 14px -20px 0; padding: 0 20px; border-top: 1px solid var(--b4x-border); }
#ben4x-app .b4x-tabs__item { background: none; border: 0; border-bottom: 3px solid transparent; padding: 12px 14px; font-weight: 600; color: var(--b4x-muted); cursor: pointer; white-space: nowrap; }
#ben4x-app .b4x-tabs__item small { font-weight: 400; opacity: .6; }
#ben4x-app .b4x-tabs__item.is-active { color: var(--b4x-primary); border-bottom-color: var(--b4x-primary); }
#ben4x-app .b4x-grid--3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
#ben4x-app .b4x-grid--2-1 { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; }
#ben4x-app .b4x-form__row--4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
#ben4x-app .b4x-timeline { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; }
#ben4x-app .b4x-timeline li { padding-left: 14px; border-left: 3px solid var(--b4x-border); }
@media (max-width: 800px) {
  #ben4x-app .b4x-grid--2-1 { grid-template-columns: 1fr; }
  #ben4x-app .b4x-person__badges { width: 100%; }
  #ben4x-app .b4x-modal__backdrop { padding: 12px; }
}

/* =================================================================== Fasi 3–8 */
#ben4x-app .b4x-grid{display:grid;gap:16px;margin-bottom:16px}
#ben4x-app .b4x-grid--2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
#ben4x-app .b4x-grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
#ben4x-app .b4x-grid--kpi{margin-bottom:16px}
#ben4x-app .b4x-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7a74;margin:20px 0 10px}
#ben4x-app .b4x-subtitle{font-size:14px;font-weight:700;margin:18px 0 8px;color:var(--b4x-primary,#013528)}
#ben4x-app .b4x-card__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
#ben4x-app .b4x-card__head .b4x-card__title{margin:0;margin-right:auto}
#ben4x-app .b4x-card--inset{background:#f6f8f7;box-shadow:none;border:1px dashed #d6ddd9;margin-top:14px}
#ben4x-app .b4x-page__head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
#ben4x-app .b4x-page__tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#ben4x-app .b4x-kpi--link{text-decoration:none;color:inherit;transition:transform .12s,box-shadow .12s}
#ben4x-app .b4x-kpi--link:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(1,53,40,.12)}
#ben4x-app .b4x-kpi--red{border-left:4px solid #d64545}#ben4x-app .b4x-kpi--orange{border-left:4px solid #e8903a}
#ben4x-app .b4x-kpi--green{border-left:4px solid #2f9e62}#ben4x-app .b4x-kpi--yellow{border-left:4px solid #e3c23b}
#ben4x-app .b4x-kpi--purple{border-left:4px solid #7c5cc4}#ben4x-app .b4x-kpi--blue{border-left:4px solid #3b7dd8}
#ben4x-app .b4x-kpi--muted{border-left:4px solid #c8d0cc}
#ben4x-app .b4x-btn--sm{padding:4px 10px;font-size:12px;min-height:0}
#ben4x-app .b4x-btn--xl{padding:14px;font-size:17px;margin:12px 0}
#ben4x-app .b4x-row-actions{white-space:nowrap}#ben4x-app .b4x-row-actions .b4x-btn{margin:2px}
#ben4x-app .b4x-num{text-align:right;font-variant-numeric:tabular-nums}
#ben4x-app .b4x-text-red{color:#c43a3a}#ben4x-app .b4x-text-green{color:#23804f}
#ben4x-app .b4x-alert--sm{padding:6px 10px;font-size:12px;margin:6px 0}
#ben4x-app .b4x-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;align-items:center}
#ben4x-app .b4x-chip{border:1px solid #d6ddd9;background:#fff;border-radius:999px;padding:5px 12px;cursor:pointer;font-size:13px}
#ben4x-app .b4x-chip.is-active{background:var(--b4x-primary,#013528);color:#fff;border-color:transparent}
#ben4x-app .b4x-count{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:#e7ecea;font-size:11px;margin-left:4px}
#ben4x-app .b4x-empty{padding:12px 0}
#ben4x-app .b4x-list{list-style:none;margin:0;padding:0}
#ben4x-app .b4x-list li{padding:8px 0;border-bottom:1px solid #eef1ef;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
#ben4x-app .b4x-list li:last-child{border-bottom:0}
#ben4x-app .b4x-kv{padding:10px 0;border-bottom:1px solid #eef1ef}
#ben4x-app .b4x-kv__grid{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:4px 12px;margin-top:6px;font-size:13px}
#ben4x-app .b4x-table tr.is-past td{opacity:.55}
#ben4x-app .b4x-table tr.is-warning td{background:#fff8ec}
#ben4x-app .b4x-table--compact td,#ben4x-app .b4x-table--compact th{padding:6px}
#ben4x-app .b4x-input--inline{width:auto;display:inline-block}
#ben4x-app .b4x-input--fee{width:90px;padding:6px}
#ben4x-app .b4x-inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
#ben4x-app .b4x-seg{display:inline-flex;border:1px solid #d6ddd9;border-radius:8px;overflow:hidden}
#ben4x-app .b4x-seg button{background:#fff;border:0;padding:6px 12px;cursor:pointer}
#ben4x-app .b4x-seg button.is-active{background:var(--b4x-primary,#013528);color:#fff}
#ben4x-app .b4x-check--end{align-self:flex-end;padding-bottom:10px}
#ben4x-app .b4x-filters__search{min-width:220px;flex:1}
/* superfici campo */
#ben4x-app .b4x-surface{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;vertical-align:middle}
#ben4x-app .b4x-surface--clay{background:#f6e0d3;color:#a2461a}
#ben4x-app .b4x-surface--synthetic{background:#dcecf8;color:#1f5f93}
#ben4x-app .b4x-surface--hard{background:#e3e6ea;color:#3c4652}
#ben4x-app .b4x-surface--other{background:#eee;color:#555}
/* slot lezioni (dashboard, programma, calendario) */
#ben4x-app .b4x-grid-table th,#ben4x-app .b4x-grid-table td{vertical-align:top;min-width:150px}
#ben4x-app .b4x-slot{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:#eef6f2;border-left:4px solid #2f9e62;text-decoration:none;color:inherit;margin-bottom:6px;font-size:12px}
#ben4x-app .b4x-slot strong{font-size:13px}#ben4x-app .b4x-slot small{color:#5d6b65}
#ben4x-app .b4x-slot:hover{filter:brightness(.97)}
#ben4x-app .b4x-slot--completed{background:#f1f3f2;border-left-color:#9aa7a1}
#ben4x-app .b4x-slot--cancelled_by_club,#ben4x-app .b4x-slot--holiday{background:#f3effa;border-left-color:#7c5cc4}
#ben4x-app .b4x-slot--interrupted{background:#fff3e6;border-left-color:#e8903a}
#ben4x-app .b4x-slot--warn{background:#fff3e6;border-left-color:#e8903a}
#ben4x-app .b4x-slot--full{border-left-color:#013528}
#ben4x-app .b4x-week{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px;overflow-x:auto}
#ben4x-app .b4x-week__day{background:#fafbfa;border-radius:10px;padding:8px;min-height:120px}
#ben4x-app .b4x-week__day.is-today{outline:2px solid var(--b4x-primary,#013528)}
#ben4x-app .b4x-week__head{font-weight:700;font-size:12px;text-transform:capitalize;margin-bottom:6px}
/* picker persona */
#ben4x-app .b4x-picker{position:relative}
#ben4x-app .b4x-picker__list{position:absolute;z-index:30;left:0;right:0;top:100%;background:#fff;border:1px solid #d6ddd9;border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.12);list-style:none;margin:4px 0 0;padding:4px;max-height:320px;overflow:auto}
#ben4x-app .b4x-picker__list button{width:100%;text-align:left;background:none;border:0;padding:8px 10px;border-radius:8px;cursor:pointer}
#ben4x-app .b4x-picker__list button:hover{background:#eef6f2}
/* disponibilità */
#ben4x-app .b4x-avail__row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr auto;gap:6px;margin-bottom:6px}
/* report */
#ben4x-app .b4x-bars__row{display:grid;grid-template-columns:130px 1fr 100px;gap:10px;align-items:center;margin-bottom:6px;font-size:13px}
#ben4x-app .b4x-bars__track{background:#eef1ef;border-radius:6px;height:12px;overflow:hidden}
#ben4x-app .b4x-bars__bar{background:var(--b4x-primary,#013528);height:100%;border-radius:6px}
#ben4x-app .b4x-bars__row strong{text-align:right}
/* notifiche */
#ben4x-app .b4x-notif{position:relative}
#ben4x-app .b4x-notif__count{position:absolute;top:-2px;right:-4px;background:#d64545;color:#fff;border-radius:9px;font-size:10px;line-height:16px;min-width:16px;padding:0 4px;text-align:center}
#ben4x-app .b4x-notif__panel{position:absolute;right:0;top:44px;width:340px;max-width:90vw;background:#fff;border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.18);z-index:60;padding:12px;max-height:420px;overflow:auto}
#ben4x-app .b4x-notif__head{display:flex;justify-content:space-between;margin-bottom:8px}
#ben4x-app .b4x-notif__panel ul{list-style:none;margin:0;padding:0}
#ben4x-app .b4x-notif__panel li button{display:block;width:100%;text-align:left;background:none;border:0;padding:8px;border-radius:8px;cursor:pointer;font-size:13px}
#ben4x-app .b4x-notif__panel li.is-unread button{background:#f3f8f5;font-weight:600}
#ben4x-app .b4x-notif__panel small{display:block;color:#7a8781;font-weight:400}
#ben4x-app .b4x-notif__dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:#3b7dd8}
#ben4x-app .b4x-notif__dot--danger{background:#d64545}#ben4x-app .b4x-notif__dot--warning{background:#e8903a}
/* vista maestro (mobile-first) */
#ben4x-app .b4x-coach{max-width:560px;margin:0 auto}
#ben4x-app .b4x-coach__next,#ben4x-app .b4x-coach__lesson{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;border:0;cursor:pointer;font:inherit}
#ben4x-app .b4x-coach__next{background:var(--b4x-primary,#013528);color:#fff}
#ben4x-app .b4x-coach__next .b4x-kpi__label{color:#bfe3d0}
#ben4x-app .b4x-coach__next strong{font-size:22px}
#ben4x-app .b4x-coach__nav{display:flex;align-items:center;justify-content:space-between;margin:16px 0 10px;text-transform:capitalize}
#ben4x-app .b4x-coach__player{display:flex;justify-content:space-between;align-items:center;gap:10px}
#ben4x-app .b4x-coach__toggle{display:flex;flex-direction:column;gap:6px}
#ben4x-app .b4x-coach__toggle .b4x-btn{min-width:96px;min-height:40px}
@media (max-width:760px){
  #ben4x-app .b4x-kv__grid{grid-template-columns:auto 1fr}
  #ben4x-app .b4x-avail__row{grid-template-columns:1fr 1fr}
  #ben4x-app .b4x-bars__row{grid-template-columns:90px 1fr 80px}
}
/* 0.8.1 */
#ben4x-app .b4x-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
#ben4x-app .b4x-export{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
#ben4x-app .b4x-seg--block{display:flex;width:100%;margin-bottom:10px}
#ben4x-app .b4x-seg--block button{flex:1;padding:10px}
