/* sg2026 page group «admin» (d: admin). Loaded after app.css by skin.helper (A284), with its own ?v=filemtime.
   OWNER: the Felix instance assigned to this group in the install plan, «Wave split». Edit ONLY this file, your group's view
   overrides and skin/manifest/admin.json. Tokens, shell and shared components live in app.css (B4 owner): ask, never copy.
   SCOPE RULE: every rule starts with html[data-skin="sg26"] and a selector unique to the page (its .skeleton id, its view root
   class, or body:has(<unique element>)), so nothing leaks to other groups. Existing tokens only (GL-003 §7.7).
   Boards: Admin* except AdminResellers* (about 80 boards)

   [SG-PATCH 2026-10-10 sg2026 admin | Felix] How this file works.
   - Every admin override puts "sg-root sga" on its .skeleton (the kit classes of app.css §11.B apply inside .sg-root) and a page
     class (sga-md, sga-set, ...). Every rule here starts with html[data-skin="sg26"] body .sga, so nothing reaches other groups.
   - Only the boards' LOCAL layout classes live here (the admin batch block of each board's <helmet>: .md, .mrow, .form-section,
     .form-card, .cb-grid, .mod-list, .set-menu ...). Kit components (.card, .btn, .badge, .tag, .avatar, .empty, .field, .hint,
     .table) and the product widgets (.button, .input, .checkbox, select2, datepicker) are B4's, never restyled here.
   - The boards' @container sg thresholds become media queries at the same widths (plan §3.3). */

/* 1. Page frame. The board's .content: no top gap on sk-full pages, --pad-page at the sides, room for the support FAB below. */
html[data-skin="sg26"] body:has(> nav .nav-menu) .skeleton.sga { padding: 0 var(--pad-page) calc(var(--pad-page) + 72px) !important; box-sizing: border-box; }
html[data-skin="sg26"] body:has(> nav .nav-menu) .skeleton.sga:not(.skeleton--full) { padding-top: 29px !important; }
@media (max-width: 992px) { html[data-skin="sg26"] body:has(> nav .nav-menu) .skeleton.sga:not(.skeleton--full) { padding-top: 18px !important; } }
html[data-skin="sg26"] body .sga .page-w { width: 100%; max-width: 1180px; box-sizing: border-box; display: flex; flex-direction: column; gap: var(--gap-block); }
html[data-skin="sg26"] body .sga .clearfix::before, html[data-skin="sg26"] body .sga .clearfix::after { content: none; display: none; }

/* 2. Master/detail (AdminUsers, AdminUserEdit, AdminPackages, AdminServices, AdminProxies...): .md = list card + detail. The legacy
      panels were fixed-height scroll boxes sized by NextPost.Skeleton (inline height); on the boards they flow with the page. */
html[data-skin="sg26"] body .sga .md { display: flex; align-items: flex-start; gap: var(--gap-block); }
html[data-skin="sg26"] body .sga .md > :is(.skeleton-aside, .skeleton-content) { float: none; height: auto !important; overflow: visible; }
html[data-skin="sg26"] body .sga .md-aside {
  width: 340px; flex-shrink: 0; box-sizing: border-box; padding: 16px; display: flex; flex-direction: column; gap: 12px;
  border-right: 1px solid transparent !important;
  background: var(--card-bg) padding-box, var(--card-edge) border-box !important; box-shadow: var(--card-shadow) !important;
}
html[data-skin="sg26"] body .sga .md-detail { flex: 1; min-width: 0; width: auto; background: transparent !important; }
html[data-skin="sg26"] body .sga .md-detail.onprogress { min-height: 320px; }
html[data-skin="sg26"] body .sga .md-detail.onprogress::after { background: color-mix(in srgb, var(--bg) 85%, transparent) url("../../../../../../assets/img/round-loading.svg") center no-repeat; background-size: 32px auto; border-radius: var(--r-lg); }
html[data-skin="sg26"] body .sga .empty-pick { min-height: 320px; justify-content: center; }
html[data-skin="sg26"] body .sga .icon-tile.lg { width: 44px; height: 44px; border-radius: var(--r-md); }
html[data-skin="sg26"] body .sga .icon-tile.lg svg { width: 22px; height: 22px; }
@media (min-width: 768px) and (max-width: 1279.98px) { html[data-skin="sg26"] body .sga .md-aside { width: 300px; } }
@media (max-width: 1023.98px) {
  html[data-skin="sg26"] body .sga .md { flex-direction: column; align-items: stretch; }
  html[data-skin="sg26"] body .sga .md-aside { width: auto; }
  html[data-skin="sg26"] body .sga .md.is-detail .md-aside { order: 2; }
}

/* 2.1 The shared search form inside the list card (aside-search-form.fragment.php, not forked): the board's .search field.
       The legacy sticky grey band becomes part of the card. Users filters (Attivo/Scaduto/Online/Online di recente) = chips. */
html[data-skin="sg26"] body .sga .md-aside .search-box { position: static; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; }
html[data-skin="sg26"] body .sga[id] .md-aside .search-box .input.leftpad { padding-left: 36px !important; }
html[data-skin="sg26"] body .sga .md-aside .search-box .field-icon--left { left: 12px; width: 16px; font-size: 16px; }
html[data-skin="sg26"] body .sga .md-aside .search-box .pos-r + .pos-r { display: flex; flex-wrap: wrap; gap: 6px; }
html[data-skin="sg26"] body .sga .md-aside .search-no-result { color: var(--text-3); padding: 12px 0; }
html[data-skin="sg26"] body .sga .md-aside .loadmore { margin: 6px 0 0; padding: 0; }
html[data-skin="sg26"] body .sga .md-aside .loadmore .button { width: 100%; }

/* 2.2 List rows (.mlist / .mrow): row card, avatar, title, meta, captions, trash. The whole row stays the product's click target
       (a.full-link.js-ajaxload-content), the row actions sit above it. */
html[data-skin="sg26"] body .sga .mlist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
html[data-skin="sg26"] body .sga .mrow {
  position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 12px !important; box-sizing: border-box;
  border-radius: var(--r-inset); background: var(--row-bg) !important; border: 1px solid var(--border) !important; box-shadow: none !important; transition: var(--tr);
}
html[data-skin="sg26"] body .sga .mrow:hover { border-color: var(--border-hover) !important; }
html[data-skin="sg26"] body .sga .mrow:is(.is-sel, .active) {
  background: var(--brand-primary-subtle) !important; border-color: color-mix(in srgb, var(--brand-primary-text) 45%, transparent) !important; box-shadow: none !important;
}
html[data-skin="sg26"] body .sga .mrow-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
html[data-skin="sg26"] body .sga .mrow-title { font: 500 14px/20px var(--f); color: var(--text); overflow-wrap: anywhere; }
html[data-skin="sg26"] body .sga .mrow:hover .mrow-title { color: var(--text-max); text-decoration: underline; }
html[data-skin="sg26"] body .sga .mrow-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
html[data-skin="sg26"] body .sga .mrow .caption { margin: 0; }
html[data-skin="sg26"] body .sga .mrow .badge.b-danger { color: color-mix(in srgb, var(--status-danger) 82%, var(--text-max)); }
html[data-skin="sg26"] body .sga .sga-st { display: inline-flex; align-items: center; gap: 6px; }
html[data-skin="sg26"] body .sga .sga-st.is-success { color: var(--status-success); }
html[data-skin="sg26"] body .sga .sga-st.is-danger { color: var(--status-danger); }
html[data-skin="sg26"] body .sga .mrow > .full-link { z-index: 1; border-radius: inherit; }
html[data-skin="sg26"] body .sga .mrow > .full-link:focus-visible { outline: 2px solid var(--brand-focus-ring); outline-offset: 2px; }
html[data-skin="sg26"] body .sga .row-actions { position: relative; z-index: 2; display: flex; gap: 2px; flex-shrink: 0; margin: -4px -4px 0 0; }
html[data-skin="sg26"] body .sga .row-actions .btn { color: var(--text-2); }
html[data-skin="sg26"] body .sga .row-actions .btn:hover { color: var(--text-max); background: var(--hover-fill); }
html[data-skin="sg26"] body .sga .sga-av { position: relative; flex-shrink: 0; display: block; }
html[data-skin="sg26"] body .sga .sga-av img.avatar { object-fit: cover; padding: 0; }
html[data-skin="sg26"] body .sga .sga-av .user-status-badge {
  position: absolute; right: -2px; bottom: -2px; width: 10px; height: 10px; box-sizing: border-box; border-radius: 50%;
  border: 2px solid var(--row-bg); background: var(--text-3); margin: 0; top: auto; left: auto;
}
html[data-skin="sg26"] body .sga .sga-av .user-status-badge.status-online { background: var(--live); }
html[data-skin="sg26"] body .sga .sga-av .user-status-tooltip { position: absolute; inset: -4px; }
@media (max-width: 767.98px) {
  html[data-skin="sg26"] body .sga .md.is-detail .md-aside { display: none; }
  html[data-skin="sg26"] body .sga .row-actions .btn { width: 44px; height: 44px; }
}

/* 3. Forms (AdminUserEdit, AdminPackageEdit, AdminSettings*, module settings): card, head, labelled sections, footer. */
html[data-skin="sg26"] body .sga .form-card { padding: 28px 32px; display: flex; flex-direction: column; min-width: 0; box-sizing: border-box; }
html[data-skin="sg26"] body .sga .form-head { display: flex; align-items: center; gap: 14px; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--border); }
html[data-skin="sg26"] body .sga .form-head > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
html[data-skin="sg26"] body .sga .form-head .h3 { color: var(--text); overflow-wrap: anywhere; }
html[data-skin="sg26"] body .sga .form-section { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 24px; padding: 24px 0; border-top: 1px solid var(--border); }
html[data-skin="sg26"] body .sga :is(.form-head, .form-result) + .form-section,
html[data-skin="sg26"] body .sga .form-section.is-first { border-top: 0; padding-top: 0; }
html[data-skin="sg26"] body .sga .fs-head { display: flex; flex-direction: column; gap: 4px; }
html[data-skin="sg26"] body .sga .fs-title { font: 500 14px/20px var(--f); color: var(--text); margin: 0; }
html[data-skin="sg26"] body .sga .fs-desc { font: 400 12px/16px var(--f); color: var(--text-3); }
html[data-skin="sg26"] body .sga .fs-body { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
html[data-skin="sg26"] body .sga .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
html[data-skin="sg26"] body .sga .form-grid .span-2 { grid-column: 1 / -1; }
html[data-skin="sg26"] body .sga .form-foot { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding-top: 24px; margin-top: 8px; border-top: 1px solid var(--border); }
html[data-skin="sg26"] body .sga[id] .form-foot .button.fluid { width: auto !important; min-width: 0; }
html[data-skin="sg26"] body .sga .form-result:empty { display: none; }
html[data-skin="sg26"] body .sga .form-result:not(:empty) { margin-bottom: 16px; }
html[data-skin="sg26"] body .sga .field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
html[data-skin="sg26"] body .sga .field > .form-label { margin: 0; font: 500 13px/18px var(--f); color: var(--text); }
html[data-skin="sg26"] body .sga .field .compulsory-field-indicator { color: var(--status-danger); }
html[data-skin="sg26"] body .sga .field .hint, html[data-skin="sg26"] body .sga .sga-cb .hint { margin: 0; }
html[data-skin="sg26"] body .sga .sga-w-280 { max-width: 280px; }
html[data-skin="sg26"] body .sga .sga-w-160 { max-width: 160px; }
html[data-skin="sg26"] body .sga .select-wrap { position: relative; }
html[data-skin="sg26"] body .sga .select-wrap select { appearance: none; -webkit-appearance: none; padding-right: 36px; cursor: pointer; width: 100%; }
html[data-skin="sg26"] body .sga .select-wrap > svg { position: absolute; right: 12px; top: 12px; pointer-events: none; color: var(--text-3); }
html[data-skin="sg26"] body .sga .sga-wa .iti { display: block; width: 100%; }
html[data-skin="sg26"] body .sga .sga-wa #whatsapp { height: 40px !important; width: 100%; }
html[data-skin="sg26"] body .sga .sga-wa #error-msg { color: var(--status-danger); font: 400 12px/16px var(--f); }
html[data-skin="sg26"] body .sga .sga-wa #valid-msg { color: var(--status-success); font: 400 12px/16px var(--f); }
/* checkbox rows (product .checkbox markup, styled by B4) in the board's .cb rhythm: 28px rows, hint under the label */
html[data-skin="sg26"] body .sga .sga-cb { display: flex; flex-direction: column; gap: 2px; min-height: 28px; padding: 4px 0; box-sizing: border-box; }
html[data-skin="sg26"] body .sga .sga-cb > label { display: inline-flex; margin: 0; cursor: pointer; }
html[data-skin="sg26"] body .sga .sga-cb > .hint { padding-left: 28px; }
html[data-skin="sg26"] body .sga .fs-body.sga-cbs { gap: 0; }
html[data-skin="sg26"] body .sga .cb-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 24px; }
html[data-skin="sg26"] body .sga .mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
@media (min-width: 768px) and (max-width: 1279.98px) { html[data-skin="sg26"] body .sga .form-section { grid-template-columns: minmax(0, 1fr); gap: 12px; } }
@media (max-width: 767.98px) {
  html[data-skin="sg26"] body .sga .form-section { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 20px 0; }
  html[data-skin="sg26"] body .sga .form-card { padding: 20px; }
  html[data-skin="sg26"] body .sga .form-grid, html[data-skin="sg26"] body .sga .cb-grid { grid-template-columns: minmax(0, 1fr); }
  html[data-skin="sg26"] body .sga .select-wrap > svg { top: 14px; }
  html[data-skin="sg26"] body .sga .sga-cb { min-height: 44px; }
  html[data-skin="sg26"] body .sga .sga-wa #whatsapp { height: 44px !important; }
  html[data-skin="sg26"] body .sga[id] .form-foot .button { flex: 1 1 100%; }
}

/* 3.1 Plugin options (package.add_module_option + reactions.system_accelerators.user_view): markup printed by each plugin, not
       forked. The overrides' inline script moves each heading and its option rows into a .mod-group tile (data-sga-grouped on
       the list); before that runs the list is a plain column. Two tile columns >= 1280, one below. */
html[data-skin="sg26"] body .sga .mod-list { display: flex; flex-direction: column; gap: 4px; }
html[data-skin="sg26"] body .sga .mod-list[data-sga-grouped] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
html[data-skin="sg26"] body .sga .mod-group {
  display: flex; flex-direction: column; gap: 2px; min-width: 0; box-sizing: border-box; padding: 12px 14px;
  border-radius: var(--r-inset); background: var(--surface-alt); border: 1px solid var(--border);
}
html[data-skin="sg26"] body .sga .mod-list :is(.mt-5, .mt-10, .mt-15, .mt-20, .mt-30, .mb-10, .mb-20, .mb-30) { margin-top: 0 !important; margin-bottom: 0 !important; }
html[data-skin="sg26"] body .sga .mod-list :is(.form-label, .form-label--secondary) { display: block; margin: 0 0 4px !important; font: 500 12px/16px var(--f); letter-spacing: .02em; color: var(--text-3); }
html[data-skin="sg26"] body .sga .mod-list :is(.col, [class*="col s"]) { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
html[data-skin="sg26"] body .sga .mod-list label:has(> .checkbox) { display: inline-flex; padding: 4px 0; cursor: pointer; }
html[data-skin="sg26"] body .sga .mod-list :is(.field-tips, ul.field-tips) { margin: 0 0 6px 28px; padding: 0; list-style: none; font: 400 12px/16px var(--f); color: var(--text-3); }
html[data-skin="sg26"] body .sga .mod-list .field-tips li { margin: 0; padding: 0; list-style: none; }
html[data-skin="sg26"] body .sga .mod-list .field-tips li::before { content: none; }
@media (max-width: 1279.98px) { html[data-skin="sg26"] body .sga .mod-list[data-sga-grouped] { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767.98px) { html[data-skin="sg26"] body .sga .mod-list label:has(> .checkbox) { min-height: 44px; align-items: center; } }

/* 2.3 AdminUsers specifics. The board's empty state is the dashed kit .empty, not a filled card (the port lists .card after
       .empty for some properties). On a phone the board keeps it under the list; the product hid it (hide-on-medium-and-down,
       removed by NextPost.AsideList when a row opens), so it is shown again only while no row is open. Trash = bare ghost icon. */
html[data-skin="sg26"] body .sga .card.empty { background: var(--fill-1); border: 1px dashed var(--border-dash); box-shadow: none; }
@media (max-width: 992px) {
  html[data-skin="sg26"] body :is(#users, #packages, #services).sga .md-aside:not(.hide-on-medium-and-down) ~ .md-detail.hide-on-medium-and-down { display: block !important; }
}

/* 4. Settings (/settings/*, boards AdminSettings*): section menu card + form card; phone = details twin of the menu.
      The section bodies are the ORIGINAL fragments with the board's classes added (settings.fragment.php override): the rules
      below lay their legacy grid (.clearfix > .col, .mb-*) out as the board's single column of .field blocks. B4 restyles
      .section-header / .section-content / .skeleton-aside globally, so these carry the page id (rule 3 of the B4 brief). */
html[data-skin="sg26"] body #settings.sga .set-layout { display: flex; align-items: flex-start; gap: var(--gap-block); }
html[data-skin="sg26"] body #settings.sga .set-menu {
  float: none; width: 264px; flex-shrink: 0; height: auto !important; overflow: visible; box-sizing: border-box; padding: 14px;
  border-right: 1px solid transparent !important; background: var(--card-bg) padding-box, var(--card-edge) border-box !important; box-shadow: var(--card-shadow) !important;
}
html[data-skin="sg26"] body #settings.sga :is(.set-menu, .set-menu-m) .smenu { display: flex; flex-direction: column; gap: 14px; }
html[data-skin="sg26"] body #settings.sga .smenu-group { display: flex; flex-direction: column; gap: 2px; }
html[data-skin="sg26"] body #settings.sga .smenu-title { padding: 2px 10px 6px; font: 500 12px/16px var(--f); letter-spacing: .02em; color: var(--text-3); }
html[data-skin="sg26"] body #settings.sga .smenu-item {
  display: flex; align-items: center; min-height: 34px; padding: 0 10px; border-radius: var(--r-md); color: var(--text-2);
  font: 500 14px/20px var(--f); text-decoration: none; transition: var(--tr);
}
html[data-skin="sg26"] body #settings.sga .smenu-item:hover { background: var(--hover-fill); color: var(--text-max); }
html[data-skin="sg26"] body #settings.sga .smenu-item:focus-visible { outline: 2px solid var(--brand-focus-ring); outline-offset: 2px; }
html[data-skin="sg26"] body #settings.sga .smenu-item.is-on { background: var(--brand-primary-subtle); color: var(--sg-soft); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sg-accent-2) 20%, transparent); }
html[data-skin="sg26"] body #settings.sga .smenu-item.is-link::after { content: ""; width: 6px; height: 6px; margin-left: auto; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); opacity: .6; }
html[data-skin="sg26"] body #settings.sga .set-menu-m { display: none; padding: 0; }
html[data-skin="sg26"] body #settings.sga .set-sum { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 16px; cursor: pointer; list-style: none; }
html[data-skin="sg26"] body #settings.sga .set-sum::-webkit-details-marker { display: none; }
html[data-skin="sg26"] body #settings.sga .set-sum .label { flex: 1; color: var(--text); }
html[data-skin="sg26"] body #settings.sga .set-sum svg { color: var(--text-3); transition: transform .2s; }
html[data-skin="sg26"] body #settings.sga .set-menu-m[open] .set-sum svg { transform: rotate(180deg); }
html[data-skin="sg26"] body #settings.sga .set-sum:focus-visible { outline: 2px solid var(--brand-focus-ring); outline-offset: 2px; border-radius: var(--r-lg); }
html[data-skin="sg26"] body #settings.sga .set-menu-m .smenu { padding: 4px 12px 14px; }
html[data-skin="sg26"] body #settings.sga .set-form-wrap { float: none; flex: 1; min-width: 0; width: auto; height: auto !important; overflow: visible; background: transparent !important; }
@media (max-width: 1023.98px) { html[data-skin="sg26"] body #settings.sga .set-menu { width: 220px; } }
@media (max-width: 767.98px) {
  html[data-skin="sg26"] body #settings.sga .set-layout { flex-direction: column; align-items: stretch; }
  html[data-skin="sg26"] body #settings.sga .set-menu { display: none; }
  html[data-skin="sg26"] body #settings.sga .set-menu-m { display: block; }
  html[data-skin="sg26"] body #settings.sga .smenu-item { min-height: 44px; }
}
/* 4.1 The section form: head (icon tile + 17/24 title), body = one column of fields, Save in the board's footer row. */
html[data-skin="sg26"] body #settings.sga .set-form { overflow: visible; }
html[data-skin="sg26"] body #settings.sga .set-form > .section-header.form-head {
  display: flex; align-items: center; gap: 14px; padding: 0 0 24px !important; margin: 0 0 24px; border-bottom: 1px solid var(--border) !important; background: transparent !important;
}
html[data-skin="sg26"] body #settings.sga .set-form > .section-header .section-title { font: 500 17px/24px var(--f) !important; letter-spacing: -.01em; }
html[data-skin="sg26"] body #settings.sga .set-form > .section-content { padding: 0 !important; max-width: none; display: flex; flex-direction: column; gap: 16px; }
/* the legacy two-column grid (.clearfix > .col s12 m6 l5 ...) unwraps into ONE column: the top-level columns lay out nothing
   (display: contents), so fields, the notes column and Save become items of one flex column; Save is moved last, after a rule */
html[data-skin="sg26"] body #settings.sga .set-form .section-content > .clearfix { display: flex !important; flex-direction: column; gap: 16px; }
html[data-skin="sg26"] body #settings.sga .set-form .section-content > .clearfix > .col:not(.js-notes) { display: contents !important; }
html[data-skin="sg26"] body #settings.sga .set-form .section-content > .clearfix:has(input[type="submit"])::after {
  content: "" !important; display: block !important; order: 98; height: 1px; margin-top: 8px; background: var(--border);
}
html[data-skin="sg26"] body #settings.sga .set-form .section-content > .clearfix input[type="submit"].button { order: 99; align-self: flex-end; width: auto !important; min-width: 0; margin: 8px 0 0 !important; }
/* field pairs nested inside a column (.mb-20 > .clearfix > .col s6): the board's two-column .form-grid */
html[data-skin="sg26"] body #settings.sga .set-form .section-content > .clearfix > .col .clearfix { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
html[data-skin="sg26"] body #settings.sga .set-form .section-content :is(.col, .clearfix) .col { float: none !important; width: auto !important; margin: 0 !important; padding: 0; display: flex; flex-direction: column; gap: 6px; }
html[data-skin="sg26"] body #settings.sga .set-form .section-content :is(.mb-5, .mb-10, .mb-15, .mb-20, .mb-30, .mb-40, .mb-50, .mt-10, .mt-15, .mt-20, .mt-30, .mt-40) { margin-top: 0 !important; margin-bottom: 0 !important; }
html[data-skin="sg26"] body #settings.sga .set-form .section-content > .clearfix > .col > div:has(> .form-label) { display: flex; flex-direction: column; gap: 6px; }
html[data-skin="sg26"] body #settings.sga .set-form .section-content > .clearfix > .col > div:has(> label > .checkbox) { display: flex; flex-direction: column; gap: 2px; }
html[data-skin="sg26"] body #settings.sga .set-form label:has(> .checkbox) + .field-tips { padding-left: 28px; }
/* the cron/how-to column = the board's .notes box; its command lines = .code-box */
html[data-skin="sg26"] body #settings.sga .set-form .js-notes {
  float: none !important; width: auto !important; margin: 0 !important; display: flex; flex-direction: column; gap: 10px; padding: 16px;
  border-radius: var(--r-inset); background: var(--surface-alt); border: 1px solid var(--border); font: 400 13px/20px var(--f); color: var(--text-2);
}
html[data-skin="sg26"] body #settings.sga .set-form .js-notes > .form-label { font: 500 13px/18px var(--f); color: var(--text); }
html[data-skin="sg26"] body #settings.sga .set-form .js-notes p { margin: 0; }
html[data-skin="sg26"] body #settings.sga .set-form .js-notes .field-tips li {
  padding: 12px 14px; border-radius: var(--r-md); background: var(--fill-3); border: 1px solid var(--inset-border);
  font: 400 13px/20px var(--font-mono); color: var(--text); white-space: normal; overflow-wrap: anywhere;
}
@media (max-width: 767.98px) {
  html[data-skin="sg26"] body #settings.sga .set-form .section-content > .clearfix > .col .clearfix { grid-template-columns: minmax(0, 1fr); }
  html[data-skin="sg26"] body #settings.sga .set-form .section-content > .clearfix input[type="submit"].button { align-self: stretch; width: 100% !important; }
}
html[data-skin="sg26"] body #settings.sga .set-form .form-label { margin: 0; font: 500 13px/18px var(--f); color: var(--text); }
html[data-skin="sg26"] body #settings.sga .set-form .form-label--secondary { font: 500 14px/20px var(--f); color: var(--text); }
html[data-skin="sg26"] body #settings.sga .set-form .field-tips { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; }
html[data-skin="sg26"] body #settings.sga .set-form .field-tips li { margin: 0; padding: 0; list-style: none; font: 400 12px/16px var(--f); color: var(--text-3); }
html[data-skin="sg26"] body #settings.sga .set-form .field-tips li::before { content: none; }
html[data-skin="sg26"] body #settings.sga .set-form div:not(.select-wrap) > select.input:last-child { appearance: none; -webkit-appearance: none; cursor: pointer; }
/* the board's .select-wrap chevron, on the select's own block (the original has no wrapper): a mask painted with --text-3 */
html[data-skin="sg26"] body #settings.sga .set-form div:not(.select-wrap):has(> select.input:last-child) { position: relative; }
html[data-skin="sg26"] body #settings.sga .set-form div:not(.select-wrap):has(> select.input:last-child)::after {
  content: ""; position: absolute; right: 12px; bottom: 12px; width: 16px; height: 16px; pointer-events: none; background: var(--text-3);
  -webkit-mask: var(--sga-chev) center / 16px 16px no-repeat; mask: var(--sga-chev) center / 16px 16px no-repeat;
}
html[data-skin="sg26"] body .sga { --sga-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
@media (max-width: 767.98px) { html[data-skin="sg26"] body #settings.sga .set-form div:not(.select-wrap):has(> select.input:last-child)::after { bottom: 14px; } }

/* 4.2 Forked sections (other): field widths, the blocked-accounts chips as a wrapping row of kit tags, the tips as hints. */
html[data-skin="sg26"] body #settings.sga .set-form .sga-w-240 { max-width: 240px; }
html[data-skin="sg26"] body #settings.sga .set-form > .form-result:empty { display: none; }
html[data-skin="sg26"] body #settings.sga .set-form .removed-accounts { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 6px; margin: 0; max-height: 280px; overflow-y: auto; padding: 2px; scrollbar-width: thin; }
html[data-skin="sg26"] body #settings.sga .set-form .removed-accounts::before, html[data-skin="sg26"] body #settings.sga .set-form .removed-accounts::after { content: none; }
html[data-skin="sg26"] body #settings.sga .set-form .removed-account { float: none; margin: 0 !important; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
html[data-skin="sg26"] body #settings.sga .set-form .removed-account .remove { cursor: pointer; opacity: .8; }
html[data-skin="sg26"] body #settings.sga .set-form .removed-account .remove:hover { opacity: 1; }
html[data-skin="sg26"] body #settings.sga .set-form .sga-cb > .field-tips { padding-left: 28px; }
/* 4.3 Board-local blocks used by the forked sections: notes box, code box, tips under a checkbox */
html[data-skin="sg26"] body .sga .notes { display: flex; flex-direction: column; gap: 10px; padding: 16px; border-radius: var(--r-inset); background: var(--surface-alt); border: 1px solid var(--border); }
html[data-skin="sg26"] body .sga .notes code { font-family: var(--font-mono); font-size: 12.5px; color: var(--text); background: none; padding: 0; }
html[data-skin="sg26"] body .sga .code-box { margin: 0; padding: 12px 14px; border-radius: var(--r-md); background: var(--fill-3); border: 1px solid var(--inset-border); font: 400 13px/20px var(--font-mono); color: var(--text); overflow-x: auto; white-space: pre; }
html[data-skin="sg26"] body .sga .code-box.is-wrap { white-space: pre-wrap; overflow-wrap: anywhere; }
html[data-skin="sg26"] body .sga .code-box code { font: inherit; color: inherit; background: none; padding: 0; }
html[data-skin="sg26"] body .sga .sga-cb > .field-tips { margin: 0; padding: 0 0 0 28px; list-style: none; display: flex; flex-direction: column; gap: 2px; }
html[data-skin="sg26"] body .sga .sga-cb > .field-tips li { margin: 0; padding: 0; font: 400 12px/16px var(--f); color: var(--text-3); list-style: none; }
html[data-skin="sg26"] body .sga .sga-cb > .field-tips li::before { content: none; }
html[data-skin="sg26"] body .sga .sga-cbs { display: flex; flex-direction: column; }
html[data-skin="sg26"] body .sga .form-section .field > .field-tips { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; }
html[data-skin="sg26"] body .sga .form-section .field > .field-tips li { margin: 0; padding: 0; list-style: none; font: 400 12px/16px var(--f); color: var(--text-3); }
html[data-skin="sg26"] body .sga .form-section .field > .field-tips li::before { content: none; }
html[data-skin="sg26"] body .sga .icon-tile.sga-thumb { background-position: center; }

/* package edit: the Account Plus and services blocks are the original's markup, laid out as fields */
html[data-skin="sg26"] body #package.sga .sga-legacy-fields .fs-body > div { display: flex; flex-direction: column; gap: 6px; margin: 0 !important; }
html[data-skin="sg26"] body #package.sga .sga-legacy-fields .field-tips { margin: 0; padding: 0; list-style: none; }
html[data-skin="sg26"] body #package.sga .sga-legacy-fields .field-tips li { margin: 0; padding: 0; list-style: none; font: 400 12px/16px var(--f); color: var(--text-3); }
html[data-skin="sg26"] body #package.sga .sga-legacy-fields .field-tips li::before { content: none; }
html[data-skin="sg26"] body #package.sga .sga-legacy-fields .service-list-item { padding: 10px 12px; border-radius: var(--r-inset); background: var(--row-bg); border: 1px solid var(--border); }
html[data-skin="sg26"] body #package.sga .form-foot .button.fluid { width: auto !important; }

/* 6. Modules (/plugins, board AdminModules): the product's table becomes the board's card grid (tr = card; JS needs the tr). */
html[data-skin="sg26"] body #plugins.sga .page-w { max-width: none; }
html[data-skin="sg26"] body #plugins.sga table.mod-grid { display: block; width: 100%; border: 0; border-collapse: separate; background: none; margin: 0; }
html[data-skin="sg26"] body #plugins.sga table.mod-grid > tbody { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
html[data-skin="sg26"] body #plugins.sga tr.mod-card { display: flex; flex-direction: column; gap: 14px; min-width: 0; padding: 16px; box-sizing: border-box; }
html[data-skin="sg26"] body #plugins.sga tr.mod-card > td { display: flex !important; width: auto !important; text-align: left !important; padding: 0 !important; border: 0 !important; background: none !important; vertical-align: top; }
html[data-skin="sg26"] body #plugins.sga .mod-top { align-items: flex-start; gap: 12px; }
html[data-skin="sg26"] body #plugins.sga .mod-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
html[data-skin="sg26"] body #plugins.sga .mod-name { margin: 0; color: var(--text); overflow-wrap: anywhere; }
html[data-skin="sg26"] body #plugins.sga .mod-name .mdi-link { color: var(--text-3); font-size: 14px; margin-left: 4px; }
html[data-skin="sg26"] body #plugins.sga .mod-desc { margin-top: 4px; overflow-wrap: anywhere; }
html[data-skin="sg26"] body #plugins.sga .mod-author { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
html[data-skin="sg26"] body #plugins.sga .mod-author:hover { color: var(--text); }
html[data-skin="sg26"] body #plugins.sga .mod-acts { flex-wrap: wrap; gap: 8px; margin-top: auto; }
html[data-skin="sg26"] body #plugins.sga .mod-acts .button.none { display: none !important; }
html[data-skin="sg26"] body #plugins.sga .mod-acts .button svg { width: 16px; height: 16px; flex-shrink: 0; }
html[data-skin="sg26"] body #plugins.sga .mod-card.is-off .icon-tile { background: var(--fill-3); color: var(--text-3); }
html[data-skin="sg26"] body #plugins.sga .mod-card.is-off .mod-name { color: var(--text-2); }
html[data-skin="sg26"] body #plugins.sga .mod-top > .btn { flex-shrink: 0; margin: -4px -4px 0 0; color: var(--text-2); }
html[data-skin="sg26"] body #plugins.sga .loadmore { margin-top: 16px; }
@media (min-width: 768px) and (max-width: 1279.98px) { html[data-skin="sg26"] body #plugins.sga table.mod-grid > tbody { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
  html[data-skin="sg26"] body #plugins.sga table.mod-grid > tbody { grid-template-columns: minmax(0, 1fr); }
  html[data-skin="sg26"] body #plugins.sga .mod-top > .btn { width: 44px; height: 44px; }
}
html[data-skin="sg26"] body #plugins.sga .mod-acts .button--simple { color: var(--text-2) !important; }
html[data-skin="sg26"] body #plugins.sga .mod-acts .button--simple:hover { color: var(--text-max) !important; }

/* 7. Slave Manager admin (/e/slave-manager, CSS only for now): its ledger table scrolls in its own box on narrow screens
      (it overflowed the page by 618px at 390 before the skin too; plan §3.6 «ledgers scroll in their own box»). */
html[data-skin="sg26"] body.sghas-7bbbc809 .skeleton table.sm-table { display: block; max-width: 100%; overflow-x: auto; scrollbar-width: thin; }

/* 8. Reactions admin (/e/reactions/settings, boards AdminReactions*). CSS on the original markup + the thin view override
      (root class sga-rx, license «Mostra» mask). One column (max 1180): «Impostazioni» heading, then the settings groups (head
      row + card per group = B4.4, app.css 11.F.2), then the right-column panels as cards. */
html[data-skin="sg26"] body #settings.sga-rx > form > .container-1200 { max-width: 1180px; margin: 0; padding: 0; }
html[data-skin="sg26"] body #settings.sga-rx > form > .container-1200 > .row { display: flex; flex-direction: column; gap: var(--gap-block); margin: 0; }
html[data-skin="sg26"] body #settings.sga-rx > form > .container-1200 > .row > .col { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: var(--gap-block); }
html[data-skin="sg26"] body #settings.sga-rx > form > .container-1200 > .row > .form-result:empty { display: none; }
html[data-skin="sg26"] body #settings.sga-rx .section-title { font: 500 17px/24px var(--f) !important; letter-spacing: -.01em; }
/* 8.1 the settings column: no outer card; heading = the board's .rp-sec h2 */
html[data-skin="sg26"] body #settings.sga-rx .col.l4 > section.section {
  display: flex; flex-direction: column; overflow: visible; border: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important;
}
html[data-skin="sg26"] body #settings.sga-rx .col.l4 > section.section > .section-header { padding: 0 0 var(--gap-block) !important; border: 0 !important; background: none !important; }
html[data-skin="sg26"] body #settings.sga-rx .col.l4 > section.section > .section-header .section-title { font: 500 20px/26px var(--f) !important; letter-spacing: -.018em; }
/* inside a group body: the legacy sub-blocks lose their own panel look */
html[data-skin="sg26"] body #settings.sga-rx .col.l4 [class*="rp-settings-"] > :is(.section-content, .section-header) { padding: 0 !important; border: 0 !important; background: none !important; }
html[data-skin="sg26"] body #settings.sga-rx .col.l4 [class*="rp-settings-"] > .section-header .section-title { font: 500 14px/20px var(--f) !important; color: var(--text) !important; }
/* 8.2 the right-column panels (task manager, volumes, accelerator metrics, PID log, performance): cards with the board's head */
html[data-skin="sg26"] body #settings.sga-rx .col.l8 > section.section > .section-header { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
html[data-skin="sg26"] body #settings.sga-rx .col.l8 > section.section > .section-header::before,
html[data-skin="sg26"] body #settings.sga-rx .col.l8 > section.section > .section-header::after { content: none; }
html[data-skin="sg26"] body #settings.sga-rx .col.l8 > section.section > .section-header > :not(.section-title) { float: none !important; margin-left: auto; }
@media (max-width: 767.98px) {
  html[data-skin="sg26"] body #settings.sga-rx .col.l8 > section.section > .section-header > :not(.section-title) { margin-left: 0; }
}
/* license info list = the board's .card-alt .rp-kv box */
html[data-skin="sg26"] body #settings.sga-rx .rp-settings-license .field-tips { margin: 0; padding: 14px 16px; list-style: none; display: flex; flex-direction: column; gap: 6px; border-radius: var(--r-inset); background: var(--surface-alt); border: 1px solid var(--border); }
html[data-skin="sg26"] body #settings.sga-rx .rp-settings-license .field-tips li { margin: 0; padding: 0; list-style: none; font: 400 13px/20px var(--f); color: var(--text-2); }
html[data-skin="sg26"] body #settings.sga-rx .rp-settings-license .field-tips li::before { content: none; }
/* Save = the board's .rp-save: primary, right-aligned, after the last group (B4 paints .button--footer tonal) */
html[data-skin="sg26"] body #settings.sga-rx .col.l4 > section.section > input.button--footer[type="submit"] {
  align-self: flex-end; width: auto !important; min-width: 0; margin: 0 !important;
  background: var(--brand-primary) !important; color: var(--brand-on-primary) !important; border-color: transparent !important; box-shadow: var(--sg-glow-rest) !important;
}
html[data-skin="sg26"] body #settings.sga-rx .col.l4 > section.section > input.button--footer[type="submit"]:hover { box-shadow: var(--sg-glow-hover) !important; transform: translateY(-1px); }
@media (max-width: 767.98px) { html[data-skin="sg26"] body #settings.sga-rx .col.l4 > section.section > input.button--footer[type="submit"] { align-self: stretch; width: 100% !important; } }
/* tips inside groups = the board's .hint lines */
html[data-skin="sg26"] body #settings.sga-rx .col.l4 [class*="rp-settings-"]:not(.rp-settings-license) .field-tips { margin: 6px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 2px; }
html[data-skin="sg26"] body #settings.sga-rx .col.l4 [class*="rp-settings-"]:not(.rp-settings-license) .field-tips li { margin: 0; padding: 0; list-style: none; font: 400 12px/16px var(--f); color: var(--text-3); }
html[data-skin="sg26"] body #settings.sga-rx .col.l4 [class*="rp-settings-"]:not(.rp-settings-license) .field-tips li::before { content: none; }

/* 9. Support admin (/e/support-ticket/admin*, boards AdminSupport*; fixed dark like the code). Scope: platform admin only = .sta-wrap /
      .sts-wrap directly in .skeleton, never inside the reseller shell (/reseller/tickets reuses the fragment: .rsp-title). CSS on the plugin's own .sta-*
      markup (its views live in group b's folder, so no override): KPI tiles 4 per row with sentence-case labels, the board's
      segmented tabs, priority filters as accent chips (selected = accent, never a status colour: GL-003 §7.7.5). */
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0 0 var(--gap-block); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-stat { padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-stat .k { color: var(--text-2); font: 400 13px/18px var(--f); text-transform: none; letter-spacing: 0; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-stat .v { color: var(--text); font: 500 20px/26px var(--f); letter-spacing: -.025em; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-tabs {
  display: flex; gap: 2px; padding: 3px; margin: 0 0 16px; border: 1px solid var(--border); border-radius: var(--r-full); background: var(--fill-2);
  box-shadow: inset 0 1px 0 var(--hi); overflow-x: auto; scrollbar-width: none; max-width: 100%; box-sizing: border-box;
}
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-tab {
  display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px; border: 0; border-radius: var(--r-full); white-space: nowrap;
  color: var(--text-2); font: 500 13px/18px var(--f); text-decoration: none; background: transparent; transition: var(--tr);
}
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-tab:hover { color: var(--text-max); background: var(--hover-fill); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-tab.is-active { color: var(--text-max); background: var(--surface-raised); box-shadow: inset 0 1px 0 var(--border), var(--shadow-sm); border-bottom-color: transparent; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-tab .mdi { display: none; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-tab .badge { height: 20px; padding: 0 7px; border-radius: var(--r-full); background: var(--fill-3); border: 1px solid var(--border-2); color: var(--text-2); font: 500 12px/18px var(--f); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-tab.is-active .badge { background: var(--brand-primary-subtle); border-color: color-mix(in srgb, var(--sg-accent-2) 38%, transparent); color: var(--sg-soft); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-prio-pill {
  display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: var(--r-full); border: 1px solid var(--border-2); background: var(--fill-3);
  color: var(--text-2); font: 500 13px/18px var(--f); text-transform: none; letter-spacing: 0; text-decoration: none; transition: var(--tr);
}
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-prio-pill:hover { color: var(--text-max); border-color: color-mix(in srgb, var(--sg-accent-2) 40%, transparent); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-prio-pill.is-active { background: var(--brand-primary-subtle); border-color: color-mix(in srgb, var(--sg-accent-2) 38%, transparent); color: var(--sg-soft); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap :is(.sta-tab, .sta-prio-pill):focus-visible { outline: 2px solid var(--brand-focus-ring); outline-offset: 2px; }
@media (max-width: 1023.98px) { html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
  html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-stats { gap: 12px; }
  html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-tab { height: 40px; }
  html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-prio-pill { height: 44px; }
}
/* row priority = the board's kit .badge (pill, sentence case, tone by class); KB «gestisci» link and search focus in accent */
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-card__priority {
  display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: var(--r-full); font: 500 12px/16px var(--f);
  text-transform: none; letter-spacing: 0; --t: var(--t-neutral); --tc: var(--text); background: rgba(var(--t), .1); border: 1px solid rgba(var(--t), .3); color: var(--tc);
}
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-card__priority.urgent { --t: var(--t-danger); --tc: var(--status-danger); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-card__priority.high { --t: var(--t-warning); --tc: var(--status-warning); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-stat--link .v { color: var(--brand-primary-text) !important; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-stat--link:hover { border-color: var(--border-hover); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sta-wrap .sta-search:focus { border-color: var(--brand-primary-border) !important; }
/* 9.1 Support settings + messages (.sts-wrap, admin only): the board's single column (980), sentence-case labels, accent
       instead of green for switches / focus / links (selection is accent, never a status colour), section titles 17/24. */
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap { max-width: 980px; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-grid { grid-template-columns: minmax(0, 1fr); gap: var(--gap-block); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-side { position: static; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-back {
  display: inline-flex; align-items: center; gap: 6px; padding: 0; margin: 0 0 16px; border: 0; background: none; color: var(--brand-primary-text);
  font: 500 14px/21px var(--f); text-decoration: underline; text-underline-offset: 4px;
}
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-back:hover { background: none; color: var(--sg-soft); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-section { padding: var(--pad-card); border-radius: var(--r-lg); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-section > h3 { margin: 0 0 6px; font: 500 17px/24px var(--f); letter-spacing: -.01em; color: var(--text); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-section p.lead { color: var(--text-2); font: 400 14px/22px var(--f); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-field label { color: var(--text); font: 500 13px/18px var(--f); text-transform: none; letter-spacing: 0; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-field .hint { color: var(--text-3); font: 400 12px/16px var(--f); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-field :is(input, select, textarea):focus { border-color: var(--brand-primary-border) !important; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-switch__track { width: 42px; height: 26px; box-sizing: border-box; background: var(--switch-off); border: 1px solid var(--border-strong); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-switch__track::after { top: 2px; left: 2px; background: var(--switch-knob); box-shadow: var(--knob-shadow); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-switch input:checked + .sts-switch__track { background: var(--brand-primary); border-color: var(--brand-primary-border); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-switch input:checked + .sts-switch__track::after { transform: translateX(16px); background: #fff; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-switch input:focus-visible + .sts-switch__track { box-shadow: none; outline: 2px solid var(--brand-focus-ring); outline-offset: 2px; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-switch__text { color: var(--text); font: 500 14px/20px var(--f); text-transform: none; letter-spacing: 0; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-switch__text .lead { color: var(--text-3); font: 400 12px/16px var(--f); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-info h3 { text-transform: none; letter-spacing: 0; font: 500 14px/20px var(--f); color: var(--text); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-info h3 .mdi { color: var(--sg-soft); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-info .sts-link { color: var(--brand-primary-text); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .sts-wrap .sts-info .sts-link:hover { color: var(--sg-soft); }
/* 9.2 Support KB edit / import (admin): field labels in sentence case like every board form */
html[data-skin="sg26"] body :is(.skbe-field, .skbi-field) label { color: var(--text); font: 500 13px/18px var(--f); text-transform: none; letter-spacing: 0; }

/* 10. Module settings pages built like Direct / Repost / Slave DM / WhatsApp settings (boards AdminModuleSettings*): one
       narrow card with a flat run of .section-header + .section-content becomes the board's column (980) of separate cards,
       one per header; Save = primary, right. Scope: Direct settings only (#settings.sga-ms: the page marker printed by
       my direct-basic settings.php override), never another group's #settings form. */
html[data-skin="sg26"] body #settings.sga-ms:has(> form > .container-1200 > .row > .col > section.section > input.button--footer) > form > .container-1200 { max-width: 980px; margin: 0; padding: 0; }
html[data-skin="sg26"] body #settings.sga-ms:has(> form > .container-1200 > .row > .col > section.section > input.button--footer) > form > .container-1200 > .row > .col { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
html[data-skin="sg26"] body #settings.sga-ms > form > .container-1200 > .row > .col > section.section:has(> input.button--footer) {
  display: flex; flex-direction: column; overflow: visible; border: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important;
}
html[data-skin="sg26"] body #settings.sga-ms section.section:has(> input.button--footer) > :is(.section-header, .section-content) {
  margin: 0; border: 1px solid transparent !important; border-top-width: 0 !important; border-bottom-width: 0 !important; border-radius: 0 !important;
  background: linear-gradient(var(--surface), var(--surface)) padding-box, var(--card-edge) border-box !important;
  padding: 0 var(--pad-card) 20px !important;
}
html[data-skin="sg26"] body #settings.sga-ms section.section:has(> input.button--footer) > .section-header {
  margin-top: var(--gap-block); padding-top: var(--pad-card) !important; padding-bottom: 16px !important; border-top-width: 1px !important; border-radius: var(--r-lg) var(--r-lg) 0 0 !important;
}
html[data-skin="sg26"] body #settings.sga-ms section.section:has(> input.button--footer) > .section-header:first-child { margin-top: 0; }
html[data-skin="sg26"] body #settings.sga-ms section.section:has(> input.button--footer) > .section-content:has(+ :is(.section-header, input.button--footer)) {
  padding-bottom: var(--pad-card) !important; border-bottom-width: 1px !important; border-radius: 0 0 var(--r-lg) var(--r-lg) !important;
}
html[data-skin="sg26"] body #settings.sga-ms section.section:has(> input.button--footer) > .section-header .section-title { font: 500 17px/24px var(--f) !important; letter-spacing: -.01em; }
html[data-skin="sg26"] body #settings.sga-ms section.section:has(> input.button--footer) .field-tips { margin: 6px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 2px; }
html[data-skin="sg26"] body #settings.sga-ms section.section:has(> input.button--footer) .field-tips li { margin: 0; padding: 0; list-style: none; font: 400 12px/16px var(--f); color: var(--text-3); }
html[data-skin="sg26"] body #settings.sga-ms section.section:has(> input.button--footer) .field-tips li::before { content: none; }
html[data-skin="sg26"] body #settings.sga-ms section.section > input.button--footer[type="submit"] {
  align-self: flex-end; width: auto !important; min-width: 0; margin: var(--gap-block) 0 0 !important;
  background: var(--brand-primary) !important; color: var(--brand-on-primary) !important; border-color: transparent !important; box-shadow: var(--sg-glow-rest) !important;
}
html[data-skin="sg26"] body #settings.sga-ms section.section > input.button--footer[type="submit"]:hover { box-shadow: var(--sg-glow-hover) !important; transform: translateY(-1px); }
@media (max-width: 767.98px) { html[data-skin="sg26"] body #settings.sga-ms section.section > input.button--footer[type="submit"] { align-self: stretch; width: 100% !important; } }
/* 10.1 the same single-column module settings forms with toggler groups (Repost, Slave DM ...): the board's 980 column;
        the group heads/cards are B4.4. Only a #settings form whose row has no second (l8) column. */
html[data-skin="sg26"] body :is(#settings, #repost-pro).sga-ms:has(> form > .container-1200 > .row > .col.l4 .button--footer):not(:has(> form > .container-1200 > .row > .col.l8)) > form > .container-1200 { max-width: 980px; margin: 0; padding: 0; }
html[data-skin="sg26"] body :is(#settings, #repost-pro).sga-ms:has(> form > .container-1200 > .row > .col.l4 .button--footer):not(:has(> form > .container-1200 > .row > .col.l8)) > form > .container-1200 > .row > .col.l4 { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
html[data-skin="sg26"] body :is(#settings, #repost-pro).sga-ms:not(:has(> form > .container-1200 > .row > .col.l8)) > form > .container-1200 > .row > .col.l4 section.section input.button--footer[type="submit"] {
  display: block; margin-left: auto !important; width: auto !important; min-width: 0;
  background: var(--brand-primary) !important; color: var(--brand-on-primary) !important; border-color: transparent !important; box-shadow: var(--sg-glow-rest) !important;
}
@media (max-width: 767.98px) { html[data-skin="sg26"] body :is(#settings, #repost-pro).sga-ms:not(:has(> form > .container-1200 > .row > .col.l8)) > form > .container-1200 > .row > .col.l4 section.section input.button--footer[type="submit"] { width: 100% !important; } }
/* Repost: Save at the end (B4 makes it inline-flex, so the section lays out as a column) */
html[data-skin="sg26"] body :is(#settings, #repost-pro).sga-ms:not(:has(> form > .container-1200 > .row > .col.l8)) > form > .container-1200 > .row > .col.l4 > section.section:has(> input.button--footer) { display: flex; flex-direction: column; }
html[data-skin="sg26"] body :is(#settings, #repost-pro).sga-ms:not(:has(> form > .container-1200 > .row > .col.l8)) > form > .container-1200 > .row > .col.l4 > section.section > input.button--footer[type="submit"] { align-self: flex-end; }
@media (max-width: 767.98px) { html[data-skin="sg26"] body :is(#settings, #repost-pro).sga-ms > form > .container-1200 > .row > .col.l4 > section.section > input.button--footer[type="submit"] { align-self: stretch; } }

/* 10.2 WhatsApp / Slave DM settings (#settingsGroup, boards AdminModuleSettingsWhatsapp / ...SlaveDm; CSS only, obfuscated
        controllers): the three collapse buttons = the board's segmented tabs (selected = the expanded one), the panels = one
        980 column of cards, Save = primary on the right. */
html[data-skin="sg26"] body .skeleton:has(#settingsGroup) .container-1200 { max-width: 980px; margin: 0; padding: 0; }
html[data-skin="sg26"] body #settingsGroup { width: auto; max-width: none; padding: 0; margin: 0; }
html[data-skin="sg26"] body #settingsGroup > .mb-10.clearfix {
  display: inline-flex !important; gap: 2px; padding: 3px; margin: 0 0 var(--gap-block) !important; border: 1px solid var(--border); border-radius: var(--r-full);
  background: var(--fill-2); box-shadow: inset 0 1px 0 var(--hi); max-width: 100%; overflow-x: auto; scrollbar-width: none; box-sizing: border-box;
}
html[data-skin="sg26"] body #settingsGroup > .mb-10.clearfix::before, html[data-skin="sg26"] body #settingsGroup > .mb-10.clearfix::after { content: none; }
html[data-skin="sg26"] body #settingsGroup > .mb-10.clearfix > .col { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; display: contents; }
html[data-skin="sg26"] body #settingsGroup > .mb-10.clearfix .button {
  width: auto !important; height: 32px !important; padding: 0 14px !important; border: 0 !important; background: transparent !important; box-shadow: none !important;
  color: var(--text-2) !important; font: 500 13px/18px var(--f) !important; white-space: nowrap; transform: none !important;
}
html[data-skin="sg26"] body #settingsGroup > .mb-10.clearfix .button:hover { background: var(--hover-fill) !important; color: var(--text-max) !important; }
html[data-skin="sg26"] body #settingsGroup > .mb-10.clearfix .button:is([aria-expanded="true"], [aria-selected="true"], .active, .show) { background: var(--surface-raised) !important; color: var(--text-max) !important; box-shadow: inset 0 1px 0 var(--border), var(--shadow-sm) !important; }
html[data-skin="sg26"] body #settingsGroup > .collapse { display: none; }
html[data-skin="sg26"] body #settingsGroup > .collapse.show, html[data-skin="sg26"] body #settingsGroup > .collapsing { display: flex; flex-direction: column; gap: var(--gap-block); }
html[data-skin="sg26"] body #settingsGroup > :is(.collapse, .collapsing) > .col { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
html[data-skin="sg26"] body #settingsGroup > :is(.collapse, .collapsing) > .col > section.section { margin: 0 !important; }
html[data-skin="sg26"] body #settingsGroup .field-tips { margin: 6px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 2px; }
html[data-skin="sg26"] body #settingsGroup .field-tips li { margin: 0; padding: 0; list-style: none; font: 400 12px/16px var(--f); color: var(--text-3); }
html[data-skin="sg26"] body #settingsGroup .field-tips li::before { content: none; }
html[data-skin="sg26"] body .skeleton:has(#settingsGroup) form > .row.mt-10 { max-width: 980px; margin: var(--gap-block) 0 0 !important; }
html[data-skin="sg26"] body .skeleton:has(#settingsGroup) form > .row.mt-10 > .col { float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; }
html[data-skin="sg26"] body .skeleton:has(#settingsGroup) form > .row.mt-10 section { display: flex; justify-content: flex-end; }
html[data-skin="sg26"] body .skeleton:has(#settingsGroup) form > .row.mt-10 input.button.fluid { width: auto !important; }
@media (max-width: 767.98px) {
  html[data-skin="sg26"] body #settingsGroup > .mb-10.clearfix .button { height: 40px !important; }
  html[data-skin="sg26"] body .skeleton:has(#settingsGroup) form > .row.mt-10 input.button.fluid { width: 100% !important; }
}


/* 11. Management (/e/management*, boards AdminManagement*): override markup (index + dashboard fragments) laid out as the
       board: a row of navigation tiles, then the section's cards; dashboard = KPI card, two daily bar charts side by side,
       the combined chart. Users / accounts / reports keep the plugin's fragments inside the same frame. */
html[data-skin="sg26"] body #audit.sga-mg > .page-w { max-width: none; display: flex; flex-direction: column; gap: var(--gap-block); }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-nav { float: none; width: auto; height: auto !important; overflow: visible; padding: 0; border: 0 !important; background: none !important; box-shadow: none !important; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-nav > .aside-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-tile {
  position: relative; display: flex; align-items: center; gap: 14px; padding: 18px 20px !important; border-bottom: 0 !important; border-radius: var(--r-lg); min-width: 0;
}
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-tile:hover { border-color: var(--border-hover) !important; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-tile.is-on { background: linear-gradient(var(--brand-primary-subtle), var(--brand-primary-subtle)) padding-box, var(--card-edge) border-box !important; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sg-accent-2) 20%, transparent) !important; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-tile .icon-tile { width: 44px; height: 44px; border-radius: var(--r-md); }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-tile .icon-tile svg { width: 22px; height: 22px; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-tile .inner { min-width: 0; overflow: visible; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-tile .title { margin: 0; font: 500 17px/24px var(--f); letter-spacing: -.01em; color: var(--text); white-space: normal; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-tile .sub { margin: 2px 0 0; color: var(--text-3); white-space: normal; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-tile > .full-link { z-index: 1; border-radius: inherit; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-tile > .full-link:focus-visible { outline: 2px solid var(--brand-focus-ring); outline-offset: 2px; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-content { float: none; width: auto; height: auto !important; overflow: visible; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-inner { display: flex; flex-direction: column; gap: var(--gap-block); min-width: 0; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-card { padding: var(--pad-card); display: flex; flex-direction: column; gap: 16px; min-width: 0; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-head { display: flex; align-items: center; gap: 12px; padding: 0 !important; border: 0 !important; background: none !important; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-head::before, html[data-skin="sg26"] body #audit.sga-mg .sga-mg-head::after { content: none; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-head .section-title { margin: 0; font: 500 17px/24px var(--f) !important; letter-spacing: -.01em; }
html[data-skin="sg26"] body #audit.sga-mg .managment-dashboard { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
html[data-skin="sg26"] body #audit.sga-mg .managment-dashboard .box-list { float: none !important; width: auto !important; min-width: 0; margin: 0 !important; padding: 0 !important; }
html[data-skin="sg26"] body #audit.sga-mg .managment-dashboard .box-list-item { width: auto !important; box-sizing: border-box; }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-inner > :not(.sga-mg-card, .sga-mg-two) { max-width: 100%; overflow-x: auto; }
html[data-skin="sg26"] body #audit.sga-mg .managment-dashboard .box-list-item {
  margin: 0 !important; padding: 18px 20px !important; text-align: left !important; border-radius: var(--r-inset) !important;
  background: var(--surface-alt) !important; border: 1px solid var(--border) !important; box-shadow: none !important;
}
html[data-skin="sg26"] body #audit.sga-mg .managment-dashboard .box-list-item .inner { display: flex; flex-direction: column-reverse; gap: 6px; }
html[data-skin="sg26"] body #audit.sga-mg .managment-dashboard .box-list-item .title { margin: 0; font: 500 20px/26px var(--f); letter-spacing: -.025em; color: var(--text); }
html[data-skin="sg26"] body #audit.sga-mg .managment-dashboard .box-list-item .sub { margin: 0; font: 400 12px/16px var(--f); color: var(--text-3); }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-block); }
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-chart { position: relative; min-width: 0; }
@media (max-width: 1023.98px) {
  html[data-skin="sg26"] body #audit.sga-mg .sga-mg-nav > .aside-list, html[data-skin="sg26"] body #audit.sga-mg .managment-dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-skin="sg26"] body #audit.sga-mg .sga-mg-two { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767.98px) {
  html[data-skin="sg26"] body #audit.sga-mg .sga-mg-nav > .aside-list { gap: 8px; }
  html[data-skin="sg26"] body #audit.sga-mg .sga-mg-tile { padding: 12px 14px !important; gap: 10px; }
  html[data-skin="sg26"] body #audit.sga-mg .sga-mg-tile .icon-tile { width: 36px; height: 36px; }
  html[data-skin="sg26"] body #audit.sga-mg .sga-mg-tile .title { font-size: 15px; line-height: 20px; }
}

/* 8.3 Reactions group-head icons (boards AdminReactions*), for B4.7's group-head slot: the override puts data-sg-icon="rx-<key>" on
      each a.rp-settings-<key>-toggler; app.js draws the tile from --sg-ic-rx-<key>. Icons = the boards' own SVGs, by group order. */
html[data-skin="sg26"] body {
  --sg-ic-rx-license: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.78 7.78 5.5 5.5 0 0 1 7.78-7.78zm0 0L15.5 7.5m0 0 3 3L22 7l-3-3m-3.5 3.5L19 4'/%3E%3C/svg%3E"); /* Licenza */
  --sg-ic-rx-system-accelerators: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 8V4H8'/%3E%3Crect x='4' y='8' width='16' height='12' rx='2'/%3E%3Cpath d='M2 14h2M20 14h2M15 13v2M9 13v2'/%3E%3C/svg%3E"); /* Acceleratori di Sistema */
  --sg-ic-rx-github: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22'/%3E%3C/svg%3E"); /* GitHub Actions */
  --sg-ic-rx-instagram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='8' rx='2'/%3E%3Crect x='2' y='14' width='20' height='8' rx='2'/%3E%3Cpath d='M6 6h.01M6 18h.01'/%3E%3C/svg%3E"); /* Instagram API (Privata) */
  --sg-ic-rx-hootdata: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.78 7.78 5.5 5.5 0 0 1 7.78-7.78zm0 0L15.5 7.5m0 0 3 3L22 7l-3-3m-3.5 3.5L19 4'/%3E%3C/svg%3E"); /* HootData */
  --sg-ic-rx-hikerapi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.78 7.78 5.5 5.5 0 0 1 7.78-7.78zm0 0L15.5 7.5m0 0 3 3L22 7l-3-3m-3.5 3.5L19 4'/%3E%3C/svg%3E"); /* HikerAPI */
  --sg-ic-rx-cloudflare: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z'/%3E%3C/svg%3E"); /* Worker Cloudflare (per CORS) */
  --sg-ic-rx-redis: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='8' rx='2'/%3E%3Crect x='2' y='14' width='20' height='8' rx='2'/%3E%3Cpath d='M6 6h.01M6 18h.01'/%3E%3C/svg%3E"); /* Configurazione di Redis */
  --sg-ic-rx-additional: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E"); /* Impostazioni aggiuntive */
  --sg-ic-rx-source-pruning: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 3H2l8 9.46V19l4 2v-8.54z'/%3E%3C/svg%3E"); /* Pulizia dei target */
  --sg-ic-rx-tracking-db: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='8' rx='2'/%3E%3Crect x='2' y='14' width='20' height='8' rx='2'/%3E%3Cpath d='M6 6h.01M6 18h.01'/%3E%3C/svg%3E"); /* Archiviazione DB di Tracking */
  --sg-ic-rx-default-intervals: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); /* Intervalli di frequenza predefiniti */
  --sg-ic-rx-default-speed-control: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); /* Controllo velocità */
  --sg-ic-rx-activity-time-default: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); /* Orario Attività predefinito */
  --sg-ic-rx-likers-cache: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 3H2l8 9.46V19l4 2v-8.54z'/%3E%3C/svg%3E"); /* Cache del targeting */
  --sg-ic-rx-assistant-branding: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8L4 10.7l5.1 3.7L7.2 20 12 16.6l4.8 3.4-1.9-5.6 5.1-3.7-6.1-1.9z'/%3E%3C/svg%3E"); /* Branding dell'assistente */
  --sg-ic-rx-openai: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8L4 10.7l5.1 3.7L7.2 20 12 16.6l4.8 3.4-1.9-5.6 5.1-3.7-6.1-1.9z'/%3E%3C/svg%3E"); /* OpenAI (Chat GPT) */
  --sg-ic-rx-openai-dm: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8L4 10.7l5.1 3.7L7.2 20 12 16.6l4.8 3.4-1.9-5.6 5.1-3.7-6.1-1.9z'/%3E%3C/svg%3E"); /* Impostazioni avanzate per Open AI (Chat GPT) */
  --sg-ic-rx-deepseek: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8L4 10.7l5.1 3.7L7.2 20 12 16.6l4.8 3.4-1.9-5.6 5.1-3.7-6.1-1.9z'/%3E%3C/svg%3E"); /* DeepSeek */
  --sg-ic-rx-deepseek-dm: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8L4 10.7l5.1 3.7L7.2 20 12 16.6l4.8 3.4-1.9-5.6 5.1-3.7-6.1-1.9z'/%3E%3C/svg%3E"); /* Impostazioni Avanzate per DeepSeek */
  --sg-ic-rx-break-recommendations: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8z'/%3E%3C/svg%3E"); /* Avvisi Raccomandazioni di Pausa */
  --sg-ic-rx-proxy-monitor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='8' rx='2'/%3E%3Crect x='2' y='14' width='20' height='8' rx='2'/%3E%3Cpath d='M6 6h.01M6 18h.01'/%3E%3C/svg%3E"); /* Monitoraggio dei proxy */
  --sg-ic-rx-cronjob: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); /* Impostazioni cronjob */
  --sg-ic-rx-task-logs-delay: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); /* Ritardo per l'aggiornamento del registro attività (opzionale) */
  --sg-ic-rx-hard-limits: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E"); /* Impostazioni Hard Limits */
  --sg-ic-rx-min-max: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 3H2l8 9.46V19l4 2v-8.54z'/%3E%3C/svg%3E"); /* Impostazioni richieste Min/Max */
  --sg-ic-rx-delays: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); /* Impostazioni dei ritardi */
  --sg-ic-rx-blocks: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E"); /* Impostazioni Ritardi Blocchi Azioni */
  --sg-ic-rx-warning-messages: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E"); /* Configurazione avvisi delle automazioni */
  --sg-ic-rx-autopilot: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E"); /* Configurazione Autopilot */
  --sg-ic-rx-telegram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E"); /* Notifiche Telegram */
  --sg-ic-rx-maintenance: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='4' width='4' height='16'/%3E%3Crect x='14' y='4' width='4' height='16'/%3E%3C/svg%3E"); /* Impostazioni di manutenzione */
  --sg-ic-rx-potential-spam: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E"); /* Rilevamento Potential Spam */
  --sg-ic-rx-export-import: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3'/%3E%3C/svg%3E"); /* Esportazione e importazione delle impostazioni */
}

/* 10.3 Module settings section icons (boards AdminModuleSettingsDirect / Repost / WhatsApp) for B4.7's group-head slot: the thin
        settings.php overrides put data-sg-icon="adm-*" on each section head; app.js draws the tile. Icons = the boards' SVGs. */
html[data-skin="sg26"] body {
  --sg-ic-adm-key: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.78 7.78 5.5 5.5 0 0 1 7.78-7.78zm0 0L15.5 7.5m0 0 3 3L22 7l-3-3m-3.5 3.5L19 4'/%3E%3C/svg%3E");
  --sg-ic-adm-github: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22'/%3E%3C/svg%3E");
  --sg-ic-adm-server: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='8' rx='2'/%3E%3Crect x='2' y='14' width='20' height='8' rx='2'/%3E%3Cpath d='M6 6h.01M6 18h.01'/%3E%3C/svg%3E");
  --sg-ic-adm-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
  --sg-ic-adm-cloud: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z'/%3E%3C/svg%3E");
  --sg-ic-adm-gear: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E");
  --sg-ic-adm-sparkle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8L4 10.7l5.1 3.7L7.2 20 12 16.6l4.8 3.4-1.9-5.6 5.1-3.7-6.1-1.9z'/%3E%3C/svg%3E");
  --sg-ic-adm-link: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");
  --sg-ic-adm-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8z'/%3E%3C/svg%3E");
}

/* 12. Module install (/plugins/install, board AdminModuleInstall): one centred 560 card; the result is the board's centred card. */
html[data-skin="sg26"] body #plugin.sga-install .mod-install { width: 100%; max-width: 560px; margin: 0 auto; box-sizing: border-box; }
html[data-skin="sg26"] body #plugin.sga-install .sga-file { display: flex; flex-direction: column; gap: 6px; margin: 0; cursor: pointer; }
html[data-skin="sg26"] body #plugin.sga-install .mod-out { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 40px 32px; }
html[data-skin="sg26"] body #plugin.sga-install .mod-out .inner { display: flex; flex-direction: column; align-items: center; gap: 12px; }
html[data-skin="sg26"] body #plugin.sga-install .mod-out .page-primary-title { margin: 0; }
html[data-skin="sg26"] body #plugin.sga-install .mod-out .system-error {
  max-width: 100%; box-sizing: border-box; padding: 12px 14px; border-radius: var(--r-md); background: var(--fill-3); border: 1px solid var(--inset-border);
  font: 400 13px/20px var(--font-mono); color: var(--text); text-align: left; overflow-wrap: anywhere;
}
@media (max-width: 767.98px) { html[data-skin="sg26"] body #plugin.sga-install .mod-out { padding: 32px 20px; } }
/* users / accounts / reports (plugin fragments, DataTables): their tables scroll inside the content, never the page */
html[data-skin="sg26"] body #audit.sga-mg .sga-mg-inner:not(:has(.sga-mg-card)) {
  overflow-x: auto; padding: var(--pad-card); border-radius: var(--r-lg); border: 1px solid transparent;
  background: var(--card-bg) padding-box, var(--card-edge) border-box; box-shadow: var(--card-shadow);
}
/* section heads that carry an adm-* icon (Direct / WhatsApp settings): tile and title on one row */
html[data-skin="sg26"] body .section-header[data-sg-icon^="adm-"] { display: flex !important; align-items: center; gap: 12px; }
html[data-skin="sg26"] body .section-header[data-sg-icon^="adm-"]::before, html[data-skin="sg26"] body .section-header[data-sg-icon^="adm-"]::after { content: none; }
html[data-skin="sg26"] body .section-header[data-sg-icon^="adm-"] .section-title { float: none; margin: 0; }

/* 13. Affiliates admin (GET /affiliate as admin, boards AdminAffiliatesModule / ...Ops; the fragment is shared with the client view,
       group a's: CSS only, scoped to the admin dashboard = #post holding .aff-stats-strip, which only the admin branch prints).
       Commission chart + distribution side by side (2:1) like the board; the icon fields get room for their icon (B4 resets the
       input padding); the plugin's toggles = the kit switch in accent (selection is never a status colour). (Tabs: removed, the core group forked the fragment without them.) */
html[data-skin="sg26"] body #post:has(.aff-stats-strip) > .row:has(> .col.m8):has(> .col.m4.m-last) { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--gap-block); align-items: start; }
html[data-skin="sg26"] body #post:has(.aff-stats-strip) > .row:has(> .col.m8):has(> .col.m4.m-last)::before,
html[data-skin="sg26"] body #post:has(.aff-stats-strip) > .row:has(> .col.m8):has(> .col.m4.m-last)::after { content: none; }
html[data-skin="sg26"] body #post:has(.aff-stats-strip) > .row:has(> .col.m8):has(> .col.m4.m-last) > .col { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; min-width: 0; }
html[data-skin="sg26"] body #post:has(.aff-stats-strip) > .row:has(> .col.m8):has(> .col.m4.m-last) > .col > .section { margin: 0; height: 100%; box-sizing: border-box; }
html[data-skin="sg26"] body #post:has(.aff-stats-strip) .aff-input-group .input { padding-left: 38px !important; }
html[data-skin="sg26"] body #post:has(.aff-stats-strip) .aff-input-group .aff-input-icon { color: var(--text-3); opacity: 1; }
html[data-skin="sg26"] body #post:has(.aff-stats-strip) .aff-toggle-slider {
  width: 42px; height: 26px; box-sizing: border-box; border: 1px solid var(--border-strong); border-radius: var(--r-full); background: var(--switch-off);
}
html[data-skin="sg26"] body #post:has(.aff-stats-strip) .aff-toggle-slider::before { left: 2px; top: 2px; width: 20px; height: 20px; background: var(--switch-knob); box-shadow: var(--knob-shadow); }
html[data-skin="sg26"] body #post:has(.aff-stats-strip) .aff-toggle input:checked + .aff-toggle-slider { background: var(--brand-primary); border-color: var(--brand-primary-border); }
html[data-skin="sg26"] body #post:has(.aff-stats-strip) .aff-toggle input:checked + .aff-toggle-slider::before { transform: translateX(16px); background: #fff; }
@media (max-width: 1023.98px) { html[data-skin="sg26"] body #post:has(.aff-stats-strip) > .row:has(> .col.m8):has(> .col.m4.m-last) { grid-template-columns: minmax(0, 1fr); } }
/* group a spans every #post.skeleton--full > .row > .col over the whole row (pages/core.css, client view); on the admin chart row the
   two columns take one track each, as on the board */
html[data-skin="sg26"] body #post.skeleton--full:has(.aff-stats-strip) > .row:has(> .col.m8):has(> .col.m4.m-last) > .col { grid-column: auto !important; }
/* card titles: the fragment paints them #fff in both themes (invisible in light); tokens instead */
html[data-skin="sg26"] body #post:has(.aff-stats-strip) .aff-chart-head h4 { color: var(--text); font: 500 17px/24px var(--f); letter-spacing: -.01em; }
html[data-skin="sg26"] body #post:has(.aff-stats-strip) .aff-chart-head h4 .mdi { color: var(--sg-soft); }
html[data-skin="sg26"] body #post:has(.aff-stats-strip) .aff-chart-head .sub { color: var(--text-3); opacity: 1; }

/* 14. Vera gate fixes (2026-10-10, QA report «sg2026 admin group»). Each block scoped to its page. */
/* 14.1 C1/H1 Support admin (platform only: no .rsp-title shell; the views are fixed dark in the product). «Riscrivi con AI» = the
        neutral tonal chip (as reseller.css on #reseller-portal), never violet; primary actions = accent primary with the kit glow;
        «Salva nota interna» = tonal; focus rings and checkbox accents in accent instead of status green. */
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .stav-wrap .stav-polish {
  display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px; border-radius: var(--r-full); border: 1px solid var(--border-2);
  background: var(--tonal-bg); color: var(--text); font: 500 13px/18px var(--f); box-shadow: inset 0 1px 0 var(--hi);
}
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .stav-wrap .stav-polish:hover:not(:disabled) { color: var(--text-max); border-color: var(--border-hover); background: var(--tonal-bg); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .stav-wrap .stav-polish .mdi { color: var(--text-2); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .stav-wrap .stav-polish:hover:not(:disabled) .mdi { color: inherit; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .stav-wrap .stav-polish:focus-visible { outline: 2px solid var(--brand-focus-ring); outline-offset: 2px; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton :is(.stav-btn--primary, .skbi-btn--primary, .skbe-btn--primary, .skb-btn--primary, .sts-btn--primary, .sts-btn--save) {
  background: var(--brand-primary); color: var(--brand-on-primary); border: 0; box-shadow: var(--sg-glow-rest);
}
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton :is(.stav-btn--primary, .skbi-btn--primary, .skbe-btn--primary, .skb-btn--primary, .sts-btn--primary, .sts-btn--save):hover:not(:disabled) {
  background: var(--brand-primary); color: var(--brand-on-primary); box-shadow: var(--sg-glow-hover);
}
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton :is(.stav-btn--primary, .skbi-btn--primary, .skbe-btn--primary, .skb-btn--primary, .sts-btn--primary, .sts-btn--save) .mdi { color: inherit; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton .stm-card__foot .sts-btn--save:not(:disabled) { background: var(--brand-primary); color: var(--brand-on-primary); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton .stm-card__foot .sts-btn--save:not(:disabled) .mdi { color: var(--brand-on-primary); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .stav-wrap .stav-btn--warn { background: var(--tonal-bg); color: var(--text); border: 1px solid var(--border-2); box-shadow: inset 0 1px 0 var(--hi); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton > .stav-wrap .stav-btn--warn:hover { background: var(--tonal-bg); color: var(--text-max); border-color: var(--border-hover); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton :is(.stav-btn, .skbi-btn, .skbe-btn, .skb-btn):focus-visible { outline: 2px solid var(--brand-focus-ring); outline-offset: 2px; }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton :is(.stav-reply textarea, .stav-side select, .skbi-field input, .skbi-field select, .skbi-field textarea, .skbe-field input, .skbe-field select, .skbe-field textarea, .skb-search, .sts-field textarea.stm-ta):focus { border-color: var(--brand-primary-border); }
html[data-skin="sg26"] body:not(:has(.rsp-title)) .skeleton :is(.skbi-check input, .skbe-toggle input) { accent-color: var(--brand-primary); }
/* 14.2 H2 Support «ticket not found» (admin; follows the theme): my override prints the board card under .sg-root */
html[data-skin="sg26"] body .sga-404 { display: flex; justify-content: center; }
html[data-skin="sg26"] body .sga-404 .sga-404__box { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 100%; max-width: 560px; margin: 40px auto 0; padding: 40px 24px; box-sizing: border-box; text-align: center; }
html[data-skin="sg26"] body .sga-404 .sga-404__box h2 { margin: 4px 0 0; color: var(--text); }
html[data-skin="sg26"] body .sga-404 .sga-404__box .btn { margin-top: 12px; }
@media (max-width: 767.98px) { html[data-skin="sg26"] body .sga-404 .sga-404__box { margin-top: 16px; padding: 32px 20px; } }
/* 14.3 H3 Reactions: the server-info panel (task manager) inherits the legacy white: text tokens instead */
html[data-skin="sg26"] body #settings.sga-rx .server-info, html[data-skin="sg26"] body #settings.sga-rx .server-info :is(span, li, td, p, div) { color: var(--text-2) !important; }
html[data-skin="sg26"] body #settings.sga-rx .server-info :is(b, strong) { color: var(--text) !important; font-weight: 500; }
/* 14.4 M4 license boxes: «License expire» is painted green whenever the status says valid, even on a past date; the skin cannot
        compare dates, so the line takes the neutral tone (green would claim «active»). */
html[data-skin="sg26"] body :is(#settings.sga-rx, #settings.sga-ms, #repost-pro.sga-ms, .sga-sd, #management.sga-mgs, .skeleton:has(#settingsGroup)) .field-tips li.color-green { color: var(--text-2) !important; }
/* 14.5 M5 Packages list: «Pacchetto pubblico» = the board's tinted success badge (something outside the kit flattens it) */
html[data-skin="sg26"] body .sga .mrow .badge.b-success { background: rgba(var(--t-success), .1); border-color: rgba(var(--t-success), .3); color: var(--status-success); }
/* 14.6 M3 Package edit, linked services: the legacy .circle avatar = the kit avatar (accent-subtle disc, initials centred) */
html[data-skin="sg26"] body #package.sga .sga-legacy-fields .service-list-item > .clearfix { display: flex; align-items: center; gap: 12px; }
html[data-skin="sg26"] body #package.sga .sga-legacy-fields .service-list-item > .clearfix::before, html[data-skin="sg26"] body #package.sga .sga-legacy-fields .service-list-item > .clearfix::after { content: none; }
html[data-skin="sg26"] body #package.sga .sga-legacy-fields .service-list-item .circle {
  float: none; position: static; flex: 0 0 36px; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin: 0; padding: 0;
  border-radius: var(--r-full); background-color: var(--brand-primary-subtle); border: 1px solid color-mix(in srgb, var(--sg-accent-2) 38%, transparent); overflow: hidden; box-sizing: border-box;
}
html[data-skin="sg26"] body #package.sga .sga-legacy-fields .service-list-item .circle > span { position: static; display: block; margin: 0; padding: 0; transform: none; color: var(--sg-soft); font: 500 12px/16px var(--f); text-transform: uppercase; }
html[data-skin="sg26"] body #package.sga .sga-legacy-fields .service-list-item .inner { flex: 1; min-width: 0; margin: 0; padding: 0; }
html[data-skin="sg26"] body #package.sga .sga-legacy-fields .service-list-item .inner .title { color: var(--text); font: 500 14px/20px var(--f); }
html[data-skin="sg26"] body #package.sga .sga-legacy-fields .service-list-item .inner .sub { color: var(--text-3); font: 400 12px/16px var(--f); }
html[data-skin="sg26"] body #package.sga .sga-legacy-fields .service-list-item .options { float: none; position: relative; top: auto; right: auto; margin: 0 0 0 auto; align-self: center; display: flex; align-items: center; height: 36px; }
html[data-skin="sg26"] body #package.sga .sga-legacy-fields .service-list-item .options > a { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; line-height: 1; color: var(--text-2); }
/* 14.7 H6 Service edit, package select (select2): the legacy padding pushed the value onto the bottom edge; value centred in 40px */
html[data-skin="sg26"] body #sga-sv-pkg + .select2 .select2-selection--single { height: 40px !important; padding: 0 !important; display: flex; align-items: center; box-sizing: border-box; }
html[data-skin="sg26"] body #sga-sv-pkg + .select2 .select2-selection--single .select2-selection__rendered { flex: 1; min-width: 0; margin: 0 !important; padding: 0 36px 0 12px !important; line-height: 38px !important; height: 38px; }
html[data-skin="sg26"] body #sga-sv-pkg + .select2 .select2-selection--single .select2-selection__arrow { top: 0 !important; height: 38px !important; }
/* 14.8 H7 Management users / accounts (DataTables): the id column fits a 10-digit id on one line (the plugin forces 5% under table-layout: fixed); pagers = B4 11.N.1 */
html[data-skin="sg26"] body #audit.sga-mg #dataTable .c-id { width: calc(10ch + 44px) !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
/* 14.9 H4 Slave DM settings (/e/slave-dm/settings, board AdminModuleSettingsSlaveDm): the real DOM is #settingsGroup.container with three
        .col.s12 columns (no collapse panels; the plugin's tab buttons are commented out in the product). Page marker sga-sd from my
        settings.php override: the columns become one 980 column of cards, Save primary on the right, 16px edges on phone. */
html[data-skin="sg26"] body .skeleton.sga-sd > form > .container-1200 { max-width: 980px; margin: 0; padding: 0; }
html[data-skin="sg26"] body .skeleton.sga-sd > form > .container-1200 > .row { margin: 0; padding: 0; }
html[data-skin="sg26"] body .skeleton.sga-sd > form > .container-1200 > .row > .form-result { padding: 0; margin: 0; }
html[data-skin="sg26"] body .skeleton.sga-sd #settingsGroup { display: flex; flex-direction: column; gap: var(--gap-block); width: auto; max-width: none; margin: 0; padding: 0; }
html[data-skin="sg26"] body .skeleton.sga-sd #settingsGroup::before, html[data-skin="sg26"] body .skeleton.sga-sd #settingsGroup::after { content: none; }
html[data-skin="sg26"] body .skeleton.sga-sd #settingsGroup > .col { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; left: auto; right: auto; display: flex; flex-direction: column; gap: var(--gap-block); min-width: 0; }
html[data-skin="sg26"] body .skeleton.sga-sd #settingsGroup > .col > section.section { margin: 0 !important; }
html[data-skin="sg26"] body .skeleton.sga-sd #settingsGroup > .col > section.section:has(> input.button--footer) { display: flex; flex-direction: column; }
html[data-skin="sg26"] body .skeleton.sga-sd #settingsGroup section.section > input.button--footer[type="submit"] {
  align-self: flex-end; width: auto !important; min-width: 0; margin: 0 var(--pad-card) var(--pad-card) !important;
  background: var(--brand-primary) !important; color: var(--brand-on-primary) !important; border-color: transparent !important; box-shadow: var(--sg-glow-rest) !important;
}
html[data-skin="sg26"] body .skeleton.sga-sd #settingsGroup section.section > input.button--footer[type="submit"]:hover { box-shadow: var(--sg-glow-hover) !important; transform: translateY(-1px); }
html[data-skin="sg26"] body .skeleton.sga-sd #settingsGroup .section-header.hide-on-small-only[data-sg-icon] { display: flex !important; }
@media (max-width: 767.98px) {
  html[data-skin="sg26"] body .skeleton.sga-sd #settingsGroup section.section > input.button--footer[type="submit"] { align-self: stretch; }
}
/* 14.10 H5 Management settings (/e/management/settings, board AdminManagementSettings): my fragment fork prints three cards
        (#management.sga-mgs); 980 column, info box for the license lines, GitHub actions in two columns, Save primary per card. */
html[data-skin="sg26"] body #management.sga-mgs > form > .container-1200 { max-width: 980px; margin: 0; padding: 0; }
html[data-skin="sg26"] body #management.sga-mgs > form > .container-1200 > .row { margin: 0; padding: 0; }
/* Direct / Repost: same edge as the board (the legacy row gutter put the cards 20px in, 36px from the screen edge on phone) */
html[data-skin="sg26"] body :is(#settings, #repost-pro).sga-ms > form > .container-1200 > .row { margin: 0; padding: 0; }
html[data-skin="sg26"] body #management.sga-mgs > form > .container-1200 > .row > .form-result { padding: 0; margin: 0; }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-col { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: var(--gap-block); }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-card { margin: 0 !important; display: flex; flex-direction: column; }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-card > .section-content { border: 0 !important; }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-card > .section-content .mb-10.clearfix > .col { float: none; width: auto; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
html[data-skin="sg26"] body #management.sga-mgs .field-tips { margin: 6px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 2px; }
html[data-skin="sg26"] body #management.sga-mgs .field-tips li { margin: 0; padding: 0; list-style: none; font: 400 12px/16px var(--f); color: var(--text-3); }
html[data-skin="sg26"] body #management.sga-mgs .field-tips li::before { content: none; }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-card:has(.license-key) .field-tips { margin-top: 16px; padding: 14px 16px; gap: 6px; border-radius: var(--r-inset); background: var(--surface-alt); border: 1px solid var(--border); }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-card:has(.license-key) .field-tips li { font: 400 13px/20px var(--f); color: var(--text-2); }
html[data-skin="sg26"] body #management.sga-mgs .field-tips li.color-red { color: var(--status-danger) !important; }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-gh-tips { margin: 0 0 20px; gap: 8px; }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-gh-tips li { font: 400 14px/22px var(--f); color: var(--text-2); }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-gh-tips li:first-child { color: var(--text); font-weight: 500; }
html[data-skin="sg26"] body #management.sga-mgs .pmp-version-value {
  display: inline-flex; align-items: center; height: 22px; padding: 0 9px; margin-left: 4px; border-radius: var(--r-full); border: 1px solid var(--border-2);
  background: var(--tonal-bg); color: var(--text); font: 500 12px/16px var(--font-mono); font-variant-numeric: tabular-nums; vertical-align: middle;
}
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-gh { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: end; }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-gh-col { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
html[data-skin="sg26"] body #management.sga-mgs .pmp-github-label { margin: 0; padding: 0; color: var(--text); font: 500 13px/18px var(--f); }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-gh-row { display: flex; gap: 8px; align-items: center; min-width: 0; }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-gh-row > select { flex: 1; min-width: 0; width: auto !important; margin: 0; text-align: left; text-align-last: left; }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-gh .button--pmp-github { height: 40px !important; margin: 0 !important; justify-content: center; white-space: nowrap; }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-gh-col > .button--pmp-github { width: 100% !important; }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-gh-row > .button--pmp-github { flex: 0 0 auto; width: auto !important; }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-foot { display: flex; justify-content: flex-end; padding: 0 var(--pad-card) var(--pad-card); }
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-foot input.sga-mgs-save[type="submit"] {
  width: auto !important; min-width: 0; margin: 0 !important;
  background: var(--brand-primary) !important; color: var(--brand-on-primary) !important; border-color: transparent !important; box-shadow: var(--sg-glow-rest) !important;
}
html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-foot input.sga-mgs-save[type="submit"]:hover { box-shadow: var(--sg-glow-hover) !important; transform: translateY(-1px); }
@media (max-width: 767.98px) {
  html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-gh { grid-template-columns: minmax(0, 1fr); }
  html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-foot { padding: 0 20px 20px; }
  html[data-skin="sg26"] body #management.sga-mgs .sga-mgs-foot input.sga-mgs-save[type="submit"] { width: 100% !important; }
}
/* 14.11 M1/M2 Direct + Repost polish: the version label = tonal chip (was a black code block); Repost's outer section loses its own
         panel (the groups are the cards, B4.4) so Save sits below the last group, and the license lines = the board's info box. */
html[data-skin="sg26"] body :is(#settings, #repost-pro).sga-ms .current-version {
  display: inline-flex; align-items: center; height: 22px; padding: 0 9px; margin-left: 4px; border-radius: var(--r-full); border: 1px solid var(--border-2);
  background: var(--tonal-bg); color: var(--text); font: 500 12px/16px var(--font-mono); font-variant-numeric: tabular-nums; vertical-align: middle;
}
html[data-skin="sg26"] body #repost-pro.sga-ms > form > .container-1200 > .row > .col.l4 > section.section:has(> input.button--footer) { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; overflow: visible; }
html[data-skin="sg26"] body #repost-pro.sga-ms > form > .container-1200 > .row > .col.l4 > section.section > input.button--footer[type="submit"] { margin: 16px 0 0 !important; }
html[data-skin="sg26"] body #repost-pro.sga-ms #rp-settings-license .field-tips { margin: 12px 0 0; padding: 14px 16px; list-style: none; display: flex; flex-direction: column; gap: 6px; border-radius: var(--r-inset); background: var(--surface-alt); border: 1px solid var(--border); }
html[data-skin="sg26"] body #repost-pro.sga-ms #rp-settings-license .field-tips li { margin: 0; padding: 0; list-style: none; font: 400 13px/20px var(--f); color: var(--text-2); }
html[data-skin="sg26"] body #repost-pro.sga-ms #rp-settings-license .field-tips li::before { content: none; }
