/* Signal: rivestimento di Bootstrap 5.3 (spec §6). Le variabili --bs-* puntano ai token di signal.css,
   poi i componenti vengono ridisegnati: angoli vivi, righe sottili, un solo accento lime.
   Le regole sui titoli escludono .mm (mind map del Clusterizer, che non va toccata). */

[data-layout="signal"][data-bs-theme="dark"]{
  --bs-body-bg:#0D0E0B; --bs-body-bg-rgb:13,14,11;
  --bs-body-color:#EDEDE4; --bs-body-color-rgb:237,237,228;
  --bs-emphasis-color:#FFFFFF; --bs-emphasis-color-rgb:255,255,255;
  --bs-secondary-color:#8D8D80; --bs-secondary-color-rgb:141,141,128;
  --bs-secondary-bg:#13140F; --bs-secondary-bg-rgb:19,20,15;
  --bs-tertiary-color:#8D8D80; --bs-tertiary-bg:#13140F; --bs-tertiary-bg-rgb:19,20,15;
  --bs-heading-color:#EDEDE4;
  --bs-border-color:rgba(237,237,228,.13); --bs-border-color-translucent:rgba(237,237,228,.13);
  --bs-link-color:#C8FF3D; --bs-link-color-rgb:200,255,61;
  --bs-link-hover-color:#EDEDE4; --bs-link-hover-color-rgb:237,237,228;
  --bs-code-color:#C8FF3D; --bs-highlight-color:#0D0E0B; --bs-highlight-bg:#C8FF3D;
  --bs-primary:#C8FF3D; --bs-primary-rgb:200,255,61;
  --bs-primary-text-emphasis:#C8FF3D; --bs-primary-bg-subtle:rgba(200,255,61,.08); --bs-primary-border-subtle:rgba(200,255,61,.4);
  --bs-success:#C8FF3D; --bs-success-rgb:200,255,61;
  --bs-success-text-emphasis:#C8FF3D; --bs-success-bg-subtle:rgba(200,255,61,.08); --bs-success-border-subtle:rgba(200,255,61,.4);
  --bs-info:#EDEDE4; --bs-info-rgb:237,237,228;
  --bs-info-text-emphasis:#EDEDE4; --bs-info-bg-subtle:rgba(237,237,228,.05); --bs-info-border-subtle:rgba(237,237,228,.13);
  --bs-warning:#FF6B35; --bs-warning-rgb:255,107,53;
  --bs-warning-text-emphasis:#FF6B35; --bs-warning-bg-subtle:rgba(255,107,53,.08); --bs-warning-border-subtle:rgba(255,107,53,.45);
  --bs-danger:#FF6B35; --bs-danger-rgb:255,107,53;
  --bs-danger-text-emphasis:#FF6B35; --bs-danger-bg-subtle:rgba(255,107,53,.08); --bs-danger-border-subtle:rgba(255,107,53,.45);
  --bs-secondary:#8D8D80; --bs-secondary-rgb:141,141,128;
  --bs-dark:#13140F; --bs-dark-rgb:19,20,15; --bs-light:#EDEDE4; --bs-light-rgb:237,237,228;
  --bs-border-radius:0; --bs-border-radius-sm:0; --bs-border-radius-lg:0; --bs-border-radius-xl:0; --bs-border-radius-xxl:0;
  --bs-box-shadow:none; --bs-box-shadow-sm:none; --bs-box-shadow-lg:none; --bs-box-shadow-inset:none;
  --bs-focus-ring-color:rgba(200,255,61,.45);
  --bs-font-sans-serif:"SG Plex Sans","IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --bs-font-monospace:"SG Plex Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --bs-body-font-family:var(--bs-font-monospace);
  --bs-body-font-size:.9375rem;
  --bs-form-valid-color:#C8FF3D; --bs-form-valid-border-color:#C8FF3D;
  --bs-form-invalid-color:#FF6B35; --bs-form-invalid-border-color:#FF6B35;
}

/* ---------- Titoli (fuori dalla mind map e dai componenti sg-, che hanno stili propri) ---------- */
[data-layout="signal"] .sg-main :is(h1,h2,h3):not([class*="sg-"]):not(.mm *):not(.accordion-header){font-family:var(--f-disp);font-stretch:125%;font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:1.05}
[data-layout="signal"] .sg-main :is(h4,h5,h6):not([class*="sg-"]):not(.mm *){font-family:var(--f-mono);font-weight:500;letter-spacing:.06em;text-transform:uppercase}
[data-layout="signal"] .sg-main h2:not([class*="sg-"]):not(.mm *):not(.accordion-header){font-size:clamp(20px,2.4vw,26px)}
[data-layout="signal"] .sg-main h3:not([class*="sg-"]):not(.mm *){font-size:18px}
[data-layout="signal"] .sg-main :is(h4,h5,h6):not([class*="sg-"]):not(.mm *){font-size:13px}
[data-layout="signal"] hr{border-color:var(--line);opacity:1}
[data-layout="signal"] code{color:var(--lime)}

/* ---------- Bottoni ---------- */
[data-layout="signal"] .btn{--bs-btn-border-radius:0;--bs-btn-font-family:var(--f-mono);--bs-btn-font-size:13px;--bs-btn-font-weight:500;--bs-btn-padding-x:1.1rem;--bs-btn-padding-y:.6rem;--bs-btn-focus-box-shadow:0 0 0 2px rgba(200,255,61,.45);letter-spacing:.05em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:8px}
[data-layout="signal"] .btn-lg{--bs-btn-font-size:14px;--bs-btn-padding-x:1.5rem;--bs-btn-padding-y:.85rem}
[data-layout="signal"] .btn-sm{--bs-btn-font-size:11.5px;--bs-btn-padding-x:.7rem;--bs-btn-padding-y:.35rem}
[data-layout="signal"] .btn-primary{
  --bs-btn-bg:#C8FF3D;--bs-btn-border-color:#C8FF3D;--bs-btn-color:#0D0E0B;
  --bs-btn-hover-bg:#EDEDE4;--bs-btn-hover-border-color:#EDEDE4;--bs-btn-hover-color:#0D0E0B;
  --bs-btn-active-bg:#EDEDE4;--bs-btn-active-border-color:#EDEDE4;--bs-btn-active-color:#0D0E0B;
  --bs-btn-disabled-bg:#C8FF3D;--bs-btn-disabled-border-color:#C8FF3D;--bs-btn-disabled-color:#0D0E0B;font-weight:600}
[data-layout="signal"] :is(.btn-secondary,.btn-success,.btn-info,.btn-dark,.btn-light,.btn-warning,.btn-outline-primary,.btn-outline-secondary,.btn-outline-success,.btn-outline-info,.btn-outline-dark,.btn-outline-light,.btn-outline-warning){
  --bs-btn-bg:transparent;--bs-btn-border-color:rgba(237,237,228,.13);--bs-btn-color:#EDEDE4;
  --bs-btn-hover-bg:transparent;--bs-btn-hover-border-color:#C8FF3D;--bs-btn-hover-color:#C8FF3D;
  --bs-btn-active-bg:#C8FF3D;--bs-btn-active-border-color:#C8FF3D;--bs-btn-active-color:#0D0E0B;
  --bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:rgba(237,237,228,.13);--bs-btn-disabled-color:#8D8D80}
[data-layout="signal"] :is(.btn-danger,.btn-outline-danger){
  --bs-btn-bg:transparent;--bs-btn-border-color:rgba(255,107,53,.45);--bs-btn-color:#FF6B35;
  --bs-btn-hover-bg:#FF6B35;--bs-btn-hover-border-color:#FF6B35;--bs-btn-hover-color:#0D0E0B;
  --bs-btn-active-bg:#FF6B35;--bs-btn-active-border-color:#FF6B35;--bs-btn-active-color:#0D0E0B}
[data-layout="signal"] .btn-link{--bs-btn-color:#C8FF3D;--bs-btn-hover-color:#EDEDE4;text-transform:none;letter-spacing:0}
[data-layout="signal"] .btn-close{border-radius:0}

/* ---------- Form ---------- */
[data-layout="signal"] :is(.form-control,.form-select){background-color:#13140F;border-color:rgba(237,237,228,.13);color:#EDEDE4;border-radius:0;font-family:var(--f-mono);font-size:14px}
[data-layout="signal"] :is(.form-control,.form-select):focus{background-color:#13140F;border-color:#C8FF3D;box-shadow:0 0 0 1px #C8FF3D;color:#EDEDE4}
[data-layout="signal"] .form-control::placeholder{color:#8D8D80;opacity:.85}
[data-layout="signal"] :is(.form-control,.form-select):disabled,[data-layout="signal"] .form-control[readonly]{background-color:#0D0E0B;color:#8D8D80}
[data-layout="signal"] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23C8FF3D' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}
[data-layout="signal"] .form-label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#8D8D80}
[data-layout="signal"] .form-text{color:#8D8D80}
[data-layout="signal"] .input-group-text{background:#13140F;border-color:rgba(237,237,228,.13);color:#8D8D80;border-radius:0}
[data-layout="signal"] .form-check-input{background-color:#13140F;border-color:rgba(237,237,228,.35);border-radius:0}
[data-layout="signal"] .form-check-input[type=radio]{border-radius:50%}
[data-layout="signal"] .form-check-input:focus{border-color:#C8FF3D;box-shadow:0 0 0 2px rgba(200,255,61,.35)}
[data-layout="signal"] .form-check-input:checked{background-color:#C8FF3D;border-color:#C8FF3D}
[data-layout="signal"] .form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%230D0E0B' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}
[data-layout="signal"] .form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%230D0E0B'/%3e%3c/svg%3e")}
[data-layout="signal"] .form-switch .form-check-input{border-radius:2em;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(237,237,228,.5)'/%3e%3c/svg%3e")}
[data-layout="signal"] .form-switch .form-check-input:checked{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%230D0E0B'/%3e%3c/svg%3e")}
[data-layout="signal"] .form-range::-webkit-slider-thumb{background:#C8FF3D}
[data-layout="signal"] .form-range::-moz-range-thumb{background:#C8FF3D}
[data-layout="signal"] .form-range::-webkit-slider-runnable-track{background:rgba(237,237,228,.16);border-radius:0}
[data-layout="signal"] .form-range::-moz-range-track{background:rgba(237,237,228,.16);border-radius:0}

/* ---------- Tab e pills ---------- */
[data-layout="signal"] .nav-tabs{--bs-nav-tabs-border-color:rgba(237,237,228,.13);--bs-nav-tabs-border-radius:0;--bs-nav-tabs-link-hover-border-color:rgba(237,237,228,.13) rgba(237,237,228,.13) transparent;--bs-nav-tabs-link-active-color:#C8FF3D;--bs-nav-tabs-link-active-bg:#13140F;--bs-nav-tabs-link-active-border-color:rgba(237,237,228,.13) rgba(237,237,228,.13) #13140F}
[data-layout="signal"] .nav-link{--bs-nav-link-color:#8D8D80;--bs-nav-link-hover-color:#EDEDE4;font-family:var(--f-mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}
[data-layout="signal"] .nav-tabs .nav-link.active{box-shadow:inset 0 2px 0 #C8FF3D}
[data-layout="signal"] .nav-pills{--bs-nav-pills-border-radius:0;--bs-nav-pills-link-active-color:#0D0E0B;--bs-nav-pills-link-active-bg:#C8FF3D}

/* ---------- Accordion ---------- */
[data-layout="signal"] .accordion{
  --bs-accordion-bg:transparent;--bs-accordion-color:#D3D3C8;--bs-accordion-border-color:rgba(237,237,228,.13);
  --bs-accordion-border-radius:0;--bs-accordion-inner-border-radius:0;
  --bs-accordion-btn-color:#EDEDE4;--bs-accordion-btn-bg:transparent;--bs-accordion-btn-focus-box-shadow:inset 0 0 0 1px #C8FF3D;
  --bs-accordion-active-color:#C8FF3D;--bs-accordion-active-bg:#13140F;
  --bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%238D8D80' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23C8FF3D' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}
[data-layout="signal"] .accordion-button{font-family:var(--f-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
/* Bootstrap in tema scuro ridefinisce le icone sullo pseudo-elemento: vanno ridefinite lì */
[data-layout="signal"] .accordion-button::after{
  --bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%238D8D80' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23C8FF3D' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}
[data-layout="signal"] .accordion-body{font-family:var(--f-sans);font-size:15.5px;line-height:1.7}
[data-layout="signal"] .accordion-body :is(h2,h3):not(.mm *){font-size:17px}

/* ---------- Tabelle ---------- */
[data-layout="signal"] .table{--bs-table-bg:transparent;--bs-table-color:#EDEDE4;--bs-table-border-color:rgba(237,237,228,.13);--bs-table-striped-bg:rgba(237,237,228,.03);--bs-table-striped-color:#EDEDE4;--bs-table-hover-bg:rgba(200,255,61,.06);--bs-table-hover-color:#EDEDE4;--bs-table-active-bg:rgba(200,255,61,.1);--bs-table-active-color:#EDEDE4;font-size:13.5px}
[data-layout="signal"] :is(.table-dark,.table-light,.table-secondary,.table-primary){--bs-table-bg:transparent;--bs-table-color:#EDEDE4;--bs-table-border-color:rgba(237,237,228,.13)}
[data-layout="signal"] .table > thead > tr > *{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#8D8D80;border-bottom-color:rgba(237,237,228,.25)}

/* ---------- Card, alert, badge, liste ---------- */
[data-layout="signal"] .card{--bs-card-bg:#13140F;--bs-card-border-color:rgba(237,237,228,.13);--bs-card-border-radius:0;--bs-card-inner-border-radius:0;--bs-card-cap-bg:transparent;--bs-card-color:#EDEDE4}
[data-layout="signal"] .alert{--bs-alert-bg:transparent;--bs-alert-color:#EDEDE4;--bs-alert-border-color:rgba(237,237,228,.13);--bs-alert-border-radius:0;--bs-alert-link-color:#C8FF3D;border-left:3px solid #C8FF3D;font-size:14px}
[data-layout="signal"] :is(.alert-danger,.alert-warning){border-left-color:#FF6B35}
[data-layout="signal"] :is(.alert-secondary,.alert-dark,.alert-light){border-left-color:#8D8D80}
[data-layout="signal"] .badge{--bs-badge-border-radius:2px;--bs-badge-font-weight:500;font-family:var(--f-mono);letter-spacing:.06em}
[data-layout="signal"] :is(.badge.bg-primary,.badge.bg-success,.badge.text-bg-primary,.badge.text-bg-success,.badge.bg-warning,.badge.bg-danger){color:#0D0E0B !important}
[data-layout="signal"] .list-group{--bs-list-group-bg:#13140F;--bs-list-group-color:#EDEDE4;--bs-list-group-border-color:rgba(237,237,228,.13);--bs-list-group-border-radius:0;--bs-list-group-action-hover-bg:rgba(237,237,228,.05);--bs-list-group-active-bg:#C8FF3D;--bs-list-group-active-color:#0D0E0B;--bs-list-group-active-border-color:#C8FF3D}

/* ---------- Overlay e feedback ---------- */
[data-layout="signal"] .modal{--bs-modal-bg:#13140F;--bs-modal-border-color:rgba(200,255,61,.45);--bs-modal-border-radius:0;--bs-modal-inner-border-radius:0;--bs-modal-header-border-color:rgba(237,237,228,.13);--bs-modal-footer-border-color:rgba(237,237,228,.13);--bs-modal-color:#EDEDE4}
[data-layout="signal"] .dropdown-menu{--bs-dropdown-bg:#13140F;--bs-dropdown-border-color:rgba(237,237,228,.13);--bs-dropdown-border-radius:0;--bs-dropdown-link-color:#EDEDE4;--bs-dropdown-link-hover-bg:rgba(237,237,228,.05);--bs-dropdown-link-hover-color:#C8FF3D;--bs-dropdown-link-active-bg:#C8FF3D;--bs-dropdown-link-active-color:#0D0E0B;--bs-dropdown-box-shadow:none}
[data-layout="signal"] .toast{--bs-toast-bg:#13140F;--bs-toast-border-color:rgba(237,237,228,.13);--bs-toast-border-radius:0;--bs-toast-color:#EDEDE4}
[data-layout="signal"] .progress{--bs-progress-bg:rgba(237,237,228,.08);--bs-progress-bar-bg:#C8FF3D;--bs-progress-bar-color:#0D0E0B;--bs-progress-border-radius:0}
[data-layout="signal"] .pagination{--bs-pagination-bg:transparent;--bs-pagination-color:#EDEDE4;--bs-pagination-border-color:rgba(237,237,228,.13);--bs-pagination-border-radius:0;--bs-pagination-hover-bg:rgba(237,237,228,.05);--bs-pagination-hover-color:#C8FF3D;--bs-pagination-hover-border-color:rgba(237,237,228,.13);--bs-pagination-focus-box-shadow:0 0 0 2px rgba(200,255,61,.45);--bs-pagination-active-bg:#C8FF3D;--bs-pagination-active-color:#0D0E0B;--bs-pagination-active-border-color:#C8FF3D;--bs-pagination-disabled-bg:transparent;--bs-pagination-disabled-color:#5E5E55;--bs-pagination-disabled-border-color:rgba(237,237,228,.13);font-family:var(--f-mono);font-size:13px}

/* ---------- Utility dei template vecchi ---------- */
[data-layout="signal"] :is(.bg-light,.bg-white,.bg-body-tertiary){background-color:#13140F !important;color:#EDEDE4}
[data-layout="signal"] :is(.text-dark,.text-black){color:#EDEDE4 !important}
[data-layout="signal"] :is(.shadow,.shadow-sm,.shadow-lg){box-shadow:none !important}
[data-layout="signal"] .lead{font-family:var(--f-sans);color:#D3D3C8}
