:root{
  --arch-panel-bg: var(--chip-shell-bg);
  --arch-panel-border: var(--chip-shell-border);
  --arch-card-bg: var(--chip-card-bg);
  --arch-card-border: var(--chip-card-border);
  --arch-card-shadow: var(--chip-card-shadow);
  --arch-card-selected: var(--cyan);
  --arch-card-selected-bg: var(--chip-card-selected-bg);
  --arch-card-title: var(--chip-card-title);
  --arch-card-subtext: var(--chip-card-subtext);
  --arch-chip-tray-bg: var(--chip-shell-bg);
  --arch-chip-tray-border: var(--chip-shell-border);
  --arch-chip-tray-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  --arch-chip-pill-bg: var(--pill-bg);
  --arch-chip-pill-border: var(--pill-border);
  --arch-chip-pill-text: var(--ink-1);
  --arch-chip-pill-shadow: var(--pill-shadow);
  --arch-chip-active: var(--blue);
}

/* Light mode: usa azzurro chiaro per card selezionate */
@media (prefers-color-scheme: light) {
  :root{
    --arch-card-selected: var(--chip-card-selected-border);
    --arch-chip-active: var(--chip-card-selected-border);
  }
}
/* Light Mode: forza testi a nero per Archetipi e Body Morph */
:root[data-theme="light"] #tab-archetypes .arch-preview-board__context-label,
:root[data-theme="light"] #tab-bodymorph .arch-preview-board__context-label,
:root[data-theme="light"] #tab-archetypes .arch-preview-board__context-value,
:root[data-theme="light"] #tab-bodymorph .arch-preview-board__context-value,
:root[data-theme="light"] #tab-archetypes .arch-preview-board__empty,
:root[data-theme="light"] #tab-bodymorph .arch-preview-board__empty,
:root[data-theme="light"] #tab-archetypes .arch-preview-card__label,
:root[data-theme="light"] #tab-bodymorph .arch-preview-card__label,
:root[data-theme="light"] #tab-archetypes .arch-preview-card__textarea,
:root[data-theme="light"] #tab-bodymorph .arch-preview-card__textarea,
:root[data-theme="light"] #tab-archetypes .arch-panel__count-value,
:root[data-theme="light"] #tab-bodymorph .arch-panel__count-value,
:root[data-theme="light"] #tab-archetypes .arch-panel__eyebrow,
:root[data-theme="light"] #tab-bodymorph .arch-panel__eyebrow{
  color:var(--ink-1) !important;
}
:root[data-theme="light"] #tab-archetypes .arch-preview-card__dismiss,
:root[data-theme="light"] #tab-bodymorph .arch-preview-card__dismiss{
  color:var(--ink-2) !important;
}

/* Light mode: pulsanti attivi (Sostituisci, Varia, P1, P2, Entrambi…) solo stroke azzurro, testo scuro */
:root[data-theme="light"] #tab-archetypes .arch-apply-mode__btn.active,
:root[data-theme="light"] #tab-archetypes .arch-apply-scope__btn.active,
:root[data-theme="light"] #tab-archetypes .arch-apply-slot-btn.active{
  background:transparent !important;
  border-color:var(--blue) !important;
  color:var(--ink-1) !important;
}

/* Light mode: Applica / Pulisci in Note contesto e altri btn nella preview (override su * che imposta panel-2) */
:root[data-theme="light"] #tab-archetypes .tab-body__preview .arch-apply-context-note-actions .btn:not(.outline),
:root[data-theme="light"] #tab-archetypes .tab-body__preview .arch-apply-context-note-actions .btn.prim,
:root[data-theme="light"] #tab-archetypes .tab-body__preview .btn.prim{
  background:var(--blue) !important;
  border-color:var(--blue) !important;
  color:#fff !important;
}
:root[data-theme="light"] #tab-archetypes .tab-body__preview .arch-apply-context-note-actions .btn.outline{
  background:#fff !important;
  border-color:var(--blue) !important;
  color:var(--blue) !important;
}
:root[data-theme="light"] #tab-archetypes .tab-body__preview .arch-apply-context-note-actions .btn.outline:hover{
  background:rgba(74,124,255,.1) !important;
  color:var(--blue) !important;
}

/* Light mode: label e select nel blocco Applica leggibili */
:root[data-theme="light"] #tab-archetypes .arch-apply-block .label,
:root[data-theme="light"] #tab-archetypes .arch-apply-block .arch-apply-options-row .label,
:root[data-theme="light"] #tab-archetypes .arch-apply-block .arch-apply-models__label{
  color:var(--ink-1) !important;
}
:root[data-theme="light"] #tab-archetypes .arch-apply-block select,
:root[data-theme="light"] #tab-archetypes .arch-apply-block .arch-apply-opt{
  color:var(--ink-1) !important;
  background:#fff !important;
  border-color:var(--line-2) !important;
}

.arch-toolbar{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
}

.arch-toolbar__top,
.arch-toolbar__bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:clamp(12px, 1.6vw, 20px);
  min-width:0;
  padding:16px 18px;
  border:1px solid var(--line-1);
  border-radius:16px;
  background:var(--panel-4);
  box-shadow:var(--shadow-sm);
}

.arch-toolbar__bottom{
  margin-bottom:16px;
}

.arch-toolbar__top .arch-db{
  margin-left:auto;
  min-width:0;
}

.arch-toolbar__bottom .arch-filters{
  min-width:0;
}

.arch-mode{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:nowrap;
  overflow-x:auto;
  scrollbar-width:thin;
}
.arch-panel__count{
  align-self:flex-end;
  display:flex;
  gap:6px;
  align-items:center;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:0.75rem;
  font-weight:600;
  color:var(--ink-3,#9ca8c0);
}
.arch-panel__count-label{
  color:inherit;
}
.arch-panel__count-label::after{
  content:':';
  margin:0 4px;
  color:inherit;
}
.arch-panel__count-sep{ display:none; }
.arch-panel__count-value{
  color:var(--chip-shell-title);
  font-size:inherit;
  font-weight:600;
}
@media (max-width:1200px){
  .arch-toolbar__top,
  .arch-toolbar__bottom{
    flex-direction:column;
    align-items:flex-start;
  }
  .arch-toolbar__top .arch-db,
  .arch-toolbar__bottom .arch-filters{
    width:100%;
    margin-left:0;
  }
  .arch-mode{
    margin-left:0;
  }
}

.arch-preview-board__context{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
}

.arch-preview-board__context-label{
  font-size:0.65rem;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--chip-shell-text);
}

.arch-preview-board__context-value{
  font-size:0.82rem;
  font-weight:600;
  color:var(--chip-shell-title);
}

.arch-preview-column{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.arch-preview-actions{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

@media (max-width:1024px){
  .arch-preview-column{ gap:12px; }
  .arch-preview-board__header{ flex-direction:column; }
  .arch-preview-board__context{
    width:100%;
    align-items:flex-start;
  }
  .arch-preview-actions{
    justify-content:flex-start;
  }
}

.arch-mode__btn{
  border:1px solid var(--line-1,#3a3a3a);
  background:transparent;
  color:var(--ink-2,#ccc);
  padding:5px 11px;
  border-radius:999px;
  cursor:pointer;
  white-space:nowrap;
  font-size:0.78rem;
  line-height:1.1;
  transition:background 0.2s ease,border-color 0.2s ease,color 0.2s ease;
}

.arch-mode__btn[aria-pressed="true"],
.arch-mode__btn.active{
  background:var(--accent-1,#2d7dff);
  border-color:var(--accent-1,#2d7dff);
  color:#fff;
}


.arch-view-switch{
  display:inline-flex;
  background:var(--panel-4);
  border:1px solid var(--line-1);
  border-radius:999px;
  padding:6px;
  gap:4px;
  width:max-content;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,0.15);
}

.arch-view-btn{
  border:none;
  background:transparent;
  color:var(--ink-2);
  padding:6px 18px;
  border-radius:999px;
  font-weight:500;
  cursor:pointer;
}

.arch-view-btn.active{
  background:var(--blue);
  color:#fff;
}

.arch-filters{
  flex:1 1 auto;
}

@media (max-width:1200px){
  .arch-db{
    width:100%;
    margin-left:0;
    grid-template-columns:repeat(auto-fit, minmax(var(--dropdown-width-min), 1fr));
  }
}
.arch-layout{
  display:grid;
  grid-template-columns:minmax(0,var(--dual-cards-fr)) minmax(var(--dual-preview-min), var(--dual-preview-fr));
  gap:24px;
  align-items:flex-start;
}

.arch-panels{
  display:flex;
  flex-direction:column;
  gap:24px;
  min-width:0;
}

.arch-panel{
  display:flex;
  flex-direction:column;
  gap:20px;
  min-height:95%;
  background:var(--arch-panel-bg);
  border:1px solid var(--arch-panel-border);
  border-radius:var(--chip-shell-radius);
  padding:var(--chip-shell-pad);
  box-shadow:var(--chip-shell-shadow);
}

.arch-panel__header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.arch-panel__header h3{
  margin:0;
  font-size:clamp(.9rem, 1.3vw, 1.15rem);
  letter-spacing:.04em;
  color:var(--chip-shell-title);
}

.arch-panel__meta{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-end;
}

.arch-preset-slot-toggle{
  display:flex;
  gap:6px;
  align-items:center;
}
.arch-preset-slot-toggle .btn-pill{
  padding:6px 12px;
  font-size:0.8rem;
}

.arch-panel__eyebrow{
  font-size:0.62rem;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--chip-shell-text);
  margin:0 0 4px;
}

.arch-panel__count{
  align-self:flex-end;
  display:flex;
  align-items:center;
  gap:6px;
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-3,#9ca8c0);
}

.arch-panel__count-label,
.arch-panel__count-sep{
  color:inherit;
}

.arch-panel__count{
  align-self:flex-end;
  display:flex;
  gap:6px;
  align-items:center;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:0.75rem;
  color:var(--ink-3,#9ca8c0);
}
.arch-panel__count-label{
  color:inherit;
}
.arch-panel__count-label::after{
  content:':';
  margin:0 4px;
  color:inherit;
}
.arch-panel__count-sep{ display:none; }
.arch-panel__count-value{
  color:var(--chip-shell-title);
  font-size:inherit;
  font-weight:600;
}

.arch-card{
  display:flex;
  flex-direction:column;
  min-height:var(--card-min-h, 180px);
  height:100%;
}

.arch-card > div:first-child{
  flex:1;
  display:flex;
  flex-direction:column;
  min-height:0;
}

.arch-card .desc{
  margin:0;
  color:var(--arch-card-subtext, var(--chip-card-subtext));
  font-size:0.78rem;
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  flex-shrink:0;
}

.arch-card.selected{
  border-color:var(--arch-card-selected);
  box-shadow:0 0 0 2px var(--arch-card-selected), var(--arch-card-shadow);
  background:var(--arch-card-selected-bg, var(--chip-card-selected-bg));
}
.arch-card.selected .desc{
  color:var(--arch-card-subtext, var(--chip-card-subtext));
}
}


.arch-builder-shell{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.arch-builder-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.arch-accordion{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.arch-accordion__item{
  border:1px solid var(--line-1);
  border-radius:12px;
  background:var(--panel-4);
  overflow:hidden;
}
:root[data-theme="light"] #tab-archetypes .arch-accordion__item{
  background:var(--panel-4) !important;
  border-color:var(--line-1) !important;
}

.arch-accordion__item summary{
  cursor:pointer;
  list-style:none;
  font-weight:600;
  padding:14px 18px;
}

.arch-accordion__item summary::-webkit-details-marker{
  display:none;
}

.arch-accordion__body{
  padding:0 18px 18px;
}

.arch-field-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}

.arch-field--chips{
  background:var(--panel-4);
  border:1px solid var(--line-1);
  border-radius:12px;
  padding:12px;
}
:root[data-theme="light"] #tab-archetypes .arch-field--chips{
  background:var(--panel-4) !important;
  border-color:var(--line-1) !important;
}

.arch-field--chips .arch-chip-set{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin-top:8px;
  max-height:none;
  overflow-x:auto;
  overflow-y:visible;
}
.arch-field--chips .arch-chip-set--horizontal{
  flex-direction:row;
  flex-wrap:nowrap;
}
.arch-field--full{ grid-column:1 / -1; }
.arch-field-grid--structure{ grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); }

.arch-chip-btn{
  width:auto;
  min-width:80px;
  flex-shrink:0;
  justify-content:center;
  min-height:32px;
  text-align:center;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  background:transparent;
  border:1px solid var(--line-1);
  color:var(--ink-1);
  border-radius:999px;
  padding:6px 10px;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.arch-chip-btn.active{
  background:var(--blue) !important;
  border-color:var(--blue) !important;
  color:#fff !important;
}
:root[data-theme="light"] .arch-chip-btn{
  border-color:rgba(0,0,0,.2);
  color:var(--ink-1);
}
:root[data-theme="light"] .arch-chip-btn.active{
  background:var(--blue) !important;
  border-color:var(--blue) !important;
  color:#fff !important;
}
.arch-chip-btn:not(.active):hover,
.arch-chip-btn:not(.active):focus-visible{
  border-color:var(--blue);
  color:var(--ink-1);
}

.arch-preview-board{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-width:0;
  flex:1 1 auto;
  min-height:0;
}

.arch-preview-board__header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:0;
}

.arch-preview-board__context{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
}

.arch-preview-board__context-label{
  font-size:0.65rem;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--chip-shell-text);
}

.arch-preview-board__context-value{
  font-size:0.82rem;
  font-weight:600;
  color:var(--chip-shell-title);
}

.arch-preview-board__meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
}

.arch-preview-board__empty{
  font-size:0.8rem;
  color:var(--chip-shell-text);
  margin:0;
  font-style:italic;
}

.arch-preview-cards{
  display:flex;
  flex-direction:column;
  gap:12px;
}

/* Pair mode: always stack and fill preview column */
.arch-preview-cards[data-subject-mode="pair"]{
  display:flex !important;
  flex-direction:column;
  grid-template-columns:1fr;
}
.arch-preview-cards[data-subject-mode="pair"] .arch-preview-card{
  width:100%;
}

@media (min-width:1300px){
  .arch-preview-cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  }
}

.arch-preview-card{
  border:1px solid var(--line-2,#2b2b2b);
  border-radius:12px;
  background:var(--panel-3,#1f1f1f);
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.arch-preview-card__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.arch-preview-card__meta{
  display:flex;
  align-items:center;
  gap:8px;
}

.arch-preview-card__label{
  font-size:0.7rem;
  color:var(--chip-shell-text);
  letter-spacing:0.05em;
  text-transform:uppercase;
}

.arch-preview-card__lang{
  font-size:0.64rem;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid var(--line-2,#2b2b2b);
  color:var(--ink-2,#ccc);
}

.arch-preview-card__button-row{
  position:relative;
}

.arch-save-toast{
  position:absolute;
  right:calc(100% + 8px);
  top:50%;
  transform:translateY(-50%);
  white-space:nowrap;
  font-size:11px;
  font-weight:600;
  padding:4px 8px;
  border-radius:4px;
  pointer-events:none;
  z-index:10;
  opacity:1;
  transition:opacity 0.3s ease;
}

.arch-save-toast--hide{
  opacity:0;
}

.arch-save-toast--success{
  background:rgba(76, 175, 80, 0.9);
  color:#fff;
}

.arch-save-toast--error{
  background:rgba(244, 67, 54, 0.9);
  color:#fff;
}

.arch-preview-card__dismiss{
  border:none;
  background:transparent;
  color:var(--chip-shell-text);
  cursor:pointer;
  padding:4px;
  line-height:1;
}

.arch-preview-card__dismiss:hover{
  color:#fff;
}

.arch-preview-card__textarea{
  width:100%;
  min-width:0;
  min-height:400px;
  flex:1 1 auto;
  border-radius:10px;
  border:1px solid var(--line-2,#2b2b2b);
  background:var(--panel-3);
  color:var(--ink-1);
  font-size:0.82rem;
  line-height:1.4;
  padding:10px 12px;
  resize:vertical;
  transition:border-color .2s ease, box-shadow .2s ease;
  box-sizing:border-box;
}
.arch-preview-card__body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  min-width:0;
  gap:10px;
}
.arch-preview-card{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:400px;
  min-width:0;
  height:100%;
}
.arch-preview-cards{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  min-width:0;
  height:100%;
  overflow-y:auto;
  overflow-x:clip;
}
.arch-preview-card__textarea:focus{
  outline:none;
  border-color:var(--arch-chip-active,#5f8ec1);
  box-shadow:0 0 0 1px rgba(95,142,193,.35);
}
.arch-preview-card__textarea:disabled{
  opacity:.5;
  cursor:not-allowed;
}
.arch-preview-card[data-apply-preview-card] .arch-preview-card__textarea{ min-height:14em; }
.arch-apply-block--contesto ~ .section-block.arch-preview-board{ margin-top:6px; }
#tab-archetypes .arch-preview-board .arch-preview-board__header{ padding:8px 12px; }
#tab-archetypes .arch-preview-card[data-apply-preview-card]{ padding:8px 12px; }
#tab-archetypes .arch-preview-card[data-apply-preview-card] .arch-preview-card__body{ padding:6px 0; }
#tab-archetypes .arch-preview-card[data-apply-preview-card] .arch-preview-card__head{ padding-bottom:4px; }

.arch-preview-board__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

@media (max-width:1024px){
  .arch-preview-board__header{ flex-direction:column; }
  .arch-preview-board__meta{
    width:100%;
    align-items:flex-start;
  }
  .arch-preview-board__actions{
    width:100%;
    justify-content:flex-start;
  }
}

.arch-preview-warnings{
  border-radius:12px;
  border:1px solid #f5c85b;
  background:rgba(245,200,91,0.1);
  color:#f5c85b;
  padding:10px 12px;
  font-size:0.75rem;
}

.arch-preview-warnings[data-level="error"]{
  border-color:#ff7b7b;
  background:rgba(255,123,123,0.08);
  color:#ff9c9c;
}

.arch-preview-warnings ul{
  margin:0;
  padding-left:18px;
}

.arch-empty{
  font-size:0.8rem;
  color:var(--chip-shell-text);
  padding:24px 0;
  text-align:center;
}

.arch-guard{
  margin:0 0 16px;
  font-size:12.5px;
  color:var(--ink-3);
  padding:8px 12px;
  border-radius:8px;
  background:rgba(255,255,255,.02);
  border:1px solid var(--line-1);
}

.arch-guard[hidden]{
  display:none;
}

.arch-builder-persona{
  display:flex;
  align-items:center;
  gap:12px;
}

.arch-builder-persona__label{
  font-size:0.74rem;
  color:var(--chip-shell-text);
}

.arch-builder-persona__group{
  display:inline-flex;
  gap:8px;
}

.arch-person-btn{
  border:1px solid var(--line-1,#3a3a3a);
  background:transparent;
  color:var(--ink-2,#ccc);
  padding:6px 16px;
  border-radius:999px;
  cursor:pointer;
  font-size:0.82rem;
}

.arch-person-btn[aria-pressed="true"],
.arch-person-btn.active{
  background:var(--accent-1,#2d7dff);
  border-color:var(--accent-1,#2d7dff);
  color:#fff;
}

@media (max-width:1180px){
  .arch-layout{
    grid-template-columns:1fr;
  }
  .arch-preview-board{
    position:static;
  }
  .arch-toolbar{
    padding:20px;
  }
  .arch-toolbar__top,
  .arch-toolbar__bottom{
    gap:16px;
  }
  .arch-view-switch{
    width:100%;
    justify-content:space-between;
  }
  .arch-view-btn{
    flex:1;
  }
  .arch-db{
    width:100%;
    margin-left:0;
  }
  .arch-filters{
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  }
  .arch-search{
    grid-column:span 1;
  }
  .arch-mode{
    margin-left:0;
    width:100%;
    justify-content:space-between;
  }
}

/* Apply block (Modalità / Scope / Opzioni / Preview) */
.arch-apply-block{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px;
  border:1px solid var(--line-1);
  border-radius:16px;
  background:var(--panel-4);
  min-height:0;
  min-width:0;
  flex-shrink:0;
}
.arch-apply-block--contesto .arch-apply-preview{ flex-shrink:0; }
.arch-apply-block--contesto .arch-apply-preview__textarea{
  min-height:4.5rem;
  max-height:100px;
}
.arch-apply-block--contesto .arch-apply-models{
  flex-shrink:0;
  min-width:0;
  margin-top:4px;
}
.arch-apply-block--contesto{
  padding:10px 12px;
  gap:8px;
  border-color:var(--line-2, rgba(0,0,0,.08));
}
.arch-apply-block--contesto .arch-apply-options{ gap:4px; }
.arch-apply-options-row--contesto{
  display:grid;
  grid-template-columns:repeat(3, minmax(180px, 1fr));
  align-items:flex-end;
  gap:10px 12px;
}
.arch-apply-options-row--contesto .arch-apply-option-cell{
  min-width:0;
  width:100%;
}
.arch-apply-options-row--contesto .arch-apply-option-cell .label{
  font-size:0.74rem;
  margin-bottom:2px;
}
.arch-apply-options-row--contesto select{
  width:100%;
  min-width:0;
  max-width:none;
}
.arch-apply-options-row--contesto .arch-apply-option-cell select{
  min-height:34px;
}
.arch-apply-block--contesto .arch-apply-mode{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:4px;
  width:100%;
  overflow:hidden;
}
.arch-apply-block--contesto .arch-apply-scope{ gap:4px; }
.arch-apply-block--contesto .arch-apply-mode__btn{
  width:100%;
  min-width:0;
  min-height:30px;
  padding:4px 7px;
  font-size:0.74rem;
  line-height:1.1;
  border-radius:8px;
  white-space:nowrap;
  text-align:center;
}
.arch-apply-block--contesto .arch-apply-scope__btn{
  min-height:30px;
  padding:4px 7px;
  font-size:0.74rem;
  border-radius:7px;
}
.arch-apply-block--inserisci .arch-apply-scope{
  display:none !important;
}
.arch-apply-mode,
.arch-apply-scope{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  align-items:center;
  overflow:hidden;
}
.arch-apply-mode__btn,
.arch-apply-scope__btn{
  border:1px solid var(--line-1);
  background:transparent;
  color:var(--ink-2);
  min-height:30px;
  padding:4px 8px;
  border-radius:8px;
  cursor:pointer;
  font-size:0.74rem;
  line-height:1.1;
  white-space:nowrap;
  flex:0 0 auto;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.arch-apply-mode__btn:hover:not(.disabled),
.arch-apply-scope__btn:hover:not(.disabled){
  background:rgba(255,255,255,.06);
  color:var(--ink-1);
}
.arch-apply-mode__btn.active,
.arch-apply-scope__btn.active{
  background:var(--accent-1);
  border-color:var(--accent-1);
  color:#fff;
}
.arch-apply-scope__btn.disabled,
.arch-apply-scope__btn:disabled{
  opacity:0.5;
  cursor:not-allowed;
}
.arch-apply-slot-when-both{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.arch-apply-slot-label{ font-size:0.875rem; color:var(--ink-2); margin:0; }
.arch-apply-slot-btn{
  border:1px solid var(--line-1);
  background:transparent;
  color:var(--ink-2);
  padding:6px 12px;
  border-radius:8px;
  cursor:pointer;
  font-size:0.875rem;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.arch-apply-slot-btn:hover{ background:rgba(255,255,255,.06); color:var(--ink-1); }
.arch-apply-slot-btn.active{ background:var(--accent-1); border-color:var(--accent-1); color:#fff; }
.arch-apply-options{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.arch-apply-options-row{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:16px;
}
.arch-apply-option-cell{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.arch-apply-options-row .arch-apply-option-cell .label{ margin:0; min-width:auto; font-size:0.75rem; color:var(--ink-2); }
.arch-apply-options-row .label{ margin:0; min-width:auto; }
.arch-apply-options-row select{ min-width:120px; }

@media (max-width:960px){
  .arch-apply-options-row--contesto{
    grid-template-columns:1fr;
  }
}
.arch-apply-context-note{ flex-direction:column; align-items:stretch; gap:4px; }
.arch-apply-context-note textarea{ width:100%; min-height:48px; resize:vertical; }
.arch-apply-context-note-actions{ display:flex; gap:8px; margin-top:6px; }
.arch-apply-context-note--contesto{ margin-top:4px; gap:4px; }
.arch-apply-context-note--contesto .arch-apply-context-note-row{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.arch-apply-context-note--contesto .arch-apply-context-note__input{
  flex:1;
  min-width:0;
  min-height:36px;
  margin:0;
  padding:6px 10px;
  border:1px solid var(--line-2, #ddd);
  border-radius:8px;
  background:#fff;
  color:var(--ink-1);
  font-size:0.875rem;
  resize:vertical;
}
:root[data-theme="dark"] .arch-apply-context-note--contesto .arch-apply-context-note__input{
  background:var(--panel-4);
  border-color:var(--line-1);
}
.arch-apply-context-note--contesto .arch-apply-context-note-actions{
  margin-top:0;
  flex-shrink:0;
}
/* Inserisci — interazione personalizzata: campo quasi tutta colonna, azioni a destra in colonna */
.arch-apply-insert-custom{
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  width:100%;
  min-width:0;
}
.arch-apply-insert-custom .label{ align-self:flex-start; }
.arch-apply-insert-custom__row{
  display:flex;
  flex-direction:row;
  align-items:stretch;
  gap:10px;
  min-width:0;
  width:100%;
}
.arch-apply-insert-custom__textarea{
  flex:1 1 0;
  min-width:0;
  min-height:88px;
  margin:0;
  padding:8px 10px;
  border:1px solid var(--line-2, #ddd);
  border-radius:8px;
  background:var(--input-bg, #fff);
  color:var(--ink-1);
  font-size:0.875rem;
  line-height:1.45;
  resize:vertical;
  box-sizing:border-box;
}
.arch-apply-insert-custom__actions{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:8px;
  flex:0 0 auto;
  width:auto;
  min-width:max(5.5rem, fit-content);
}
.arch-apply-insert-custom__actions .btn{
  width:100%;
  justify-content:center;
}
:root[data-theme="dark"] .arch-apply-insert-custom__textarea{
  background:var(--panel-4);
  border-color:var(--line-1);
}
.arch-apply-preview{ display:flex; flex-direction:column; gap:6px; }
.arch-apply-preview__textarea{
  width:100%;
  min-width:0;
  min-height:120px;
  resize:vertical;
  padding:10px 12px;
  border:1px solid var(--line-1);
  border-radius:10px;
  background:var(--input-bg);
  color:var(--ink-1);
  font-size:0.875rem;
  line-height:1.5;
  box-sizing:border-box;
}
.arch-apply-fallback-badge{
  margin:0;
  font-size:0.75rem;
  color:var(--ink-3);
  font-style:italic;
}
.arch-apply-models{
  flex-shrink:0;
  min-width:0;
}
.arch-apply-models__label{ margin:0 0 6px; font-size:0.8rem; color:var(--ink-2); }
.arch-apply-models-list{ display:flex; flex-wrap:wrap; gap:8px; min-height:2.5rem; min-width:0; align-items:center; }
.arch-apply-model-chip{
  display:inline-flex;
  align-items:center;
  padding:6px 12px;
  border:1px solid var(--line-1);
  border-radius:999px;
  background:var(--chip-pill-bg);
  color:var(--ink-1);
  font-size:0.8rem;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease;
}
.arch-apply-model-chip:hover{ background:rgba(255,255,255,.08); border-color:var(--accent-1); }
.arch-apply-model-chip__label{ flex:1; min-width:0; }
.arch-apply-model-chip__remove{
  margin-left:6px;
  padding:0 2px;
  font-size:1.1rem;
  line-height:1;
  cursor:pointer;
  opacity:.85;
  border-radius:4px;
}
.arch-apply-model-chip__remove:hover{ opacity:1; background:rgba(255,255,255,.15); }
.arch-apply-drawer-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.5);
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.arch-apply-drawer{
  background:var(--panel-4);
  border:1px solid var(--line-1);
  border-radius:16px;
  max-width:480px;
  width:100%;
  max-height:90vh;
  display:flex;
  flex-direction:column;
  box-shadow:0 8px 32px rgba(0,0,0,.3);
}
.arch-apply-drawer__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 18px;
  border-bottom:1px solid var(--line-1);
}
.arch-apply-drawer__head h4{ margin:0; font-size:1rem; }
.arch-apply-drawer__close{
  background:none;
  border:none;
  color:var(--ink-2);
  font-size:1.5rem;
  cursor:pointer;
  line-height:1;
  padding:0 4px;
}
.arch-apply-drawer__body{ padding:14px 18px; flex:1; min-height:0; overflow:auto; }
.arch-apply-drawer__body textarea{
  width:100%;
  min-height:200px;
  resize:vertical;
  padding:10px;
  border:1px solid var(--line-1);
  border-radius:10px;
  background:var(--input-bg);
  color:var(--ink-1);
  font-size:0.875rem;
}
.arch-apply-drawer__foot{ padding:12px 18px; border-top:1px solid var(--line-1); }
