/* Beforeloud — editor (sopra tema.css) */

/* campi */
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field>label{font-size:12px;font-weight:600;color:var(--text-2)}
.input,.textarea,.select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;transition:border-color var(--dur-1),box-shadow var(--dur-1)}
.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px var(--brand-soft)}
.textarea{min-height:96px;resize:vertical;line-height:1.4}
.select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 55%,calc(100% - 10px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}
.input[type="color"]{padding:2px 4px;height:36px;width:56px}
.input.err,.textarea.err{border-color:var(--err)}
/* 1.11.2: occhietto dei campi password (assets/js/password-eye.js) */
.pw-field{position:relative;display:block;min-width:0}
.pw-field>.input{padding-right:40px}
.pw-field>.input::-ms-reveal{display:none}
.pw-eye{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:32px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--radius-sm);background:none;color:var(--muted);cursor:pointer}
.pw-eye:hover{color:var(--text);background:var(--hover)}
.pw-eye:focus-visible{outline:none;color:var(--text);box-shadow:0 0 0 3px var(--brand-soft)}
.help{font-size:11.5px;color:var(--muted)}
.help.err{color:var(--err)}
.help.warn{color:var(--warn)}
.row{display:grid;gap:10px}
.row.c2{grid-template-columns:1fr 1fr}
.row.c3{grid-template-columns:1fr 1fr 1fr}
.row.c-auto{grid-template-columns:1fr auto}
.toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text);user-select:none}
.toggle input{position:absolute;opacity:0;width:0;height:0}
.toggle i{width:34px;height:20px;border-radius:999px;background:var(--surface-3);position:relative;transition:background var(--dur-2);flex:none;border:1px solid var(--line)}
.toggle i::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform var(--dur-2) var(--ease)}
.toggle input:checked+i{background:var(--brand-ink);border-color:var(--brand-ink)}
.toggle input:checked+i::after{transform:translateX(14px);background:#fff}
html[data-theme="dark"] .toggle input:checked+i,:root:not([data-theme="light"]) .toggle input:checked+i{background:var(--text)}
html[data-theme="dark"] .toggle input:checked+i::after{background:var(--surface)}
.toggle input:focus-visible+i{outline:2px solid var(--focus);outline-offset:2px}

/* sezioni del form */
.form-sec{display:flex;flex-direction:column;gap:12px}
.form-sec+.form-sec{margin-top:6px;padding-top:16px;border-top:1px solid var(--line-soft)}
.form-sec h3{display:flex;align-items:center;gap:8px}
.form-sec h3 .muted{font-weight:500}

/* barra ridotta in affaccio: torna il marchio intero (icona + logotipo), non la sola icona */
.collapsed .sidebar.peek .logo-intero{display:block}
.collapsed .sidebar.peek .logo-icona{display:none}

/* titolo nella barra alta: una riga, con i puntini se lungo */
.topbar #topTitle{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* impianto editor */
.editor-head{align-items:flex-end}
.editor-head-text{min-width:0}
.editor-crumbs{display:flex;gap:6px;flex-wrap:wrap}
.editor-head h1{font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* nome dell'anteprima: sembra un titolo, si modifica al clic */
.head-title{display:block;width:100%;max-width:640px;margin:6px 0 0 -8px;padding:4px 8px;font:inherit;font-size:22px;font-weight:700;line-height:1.2;letter-spacing:-.01em;color:var(--text);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);text-overflow:ellipsis;transition:background var(--dur-2),border-color var(--dur-2)}
.head-title:hover{background:var(--surface-2);border-color:var(--line)}
.head-title:focus{outline:none;background:var(--surface);border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 25%,transparent)}
.head-title::placeholder{color:var(--muted);font-weight:600}
.form-sub{font-size:12px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 8px}
.field>.toggle{font-size:12px;font-weight:600;color:var(--text-2);margin-bottom:2px}
.linkline{display:flex;align-items:center;gap:8px;font-size:12.5px;margin-top:6px!important}
.linkline code{font-family:var(--mono);font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}
.editor-grid{display:grid;grid-template-columns:minmax(380px,460px) minmax(0,1fr);gap:var(--gap);align-items:start}
.editor-form{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.tabpanel{display:flex;flex-direction:column;gap:var(--gap)}
.editor-preview{position:sticky;top:76px;display:flex;flex-direction:column;gap:10px;height:calc(100vh - 100px)}
.preview-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:36px}
.preview-tools .spacer{flex:1}
.preview-tools .toggles{display:flex;align-items:center;gap:14px;flex:none;flex-wrap:wrap}
.preview-stage{flex:1;min-height:320px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface-2);overflow:hidden;
  background-image:radial-gradient(var(--line-soft) 1px,transparent 1px);background-size:18px 18px}
.preview-stage[data-theme="dark"]{background-color:#1a1a18}
/* 960–1100 px (MacBook con la barra del Finder aperta): due colonne più strette, l'anteprima resta accanto ai campi */
@media (max-width:1100px){.editor-grid{grid-template-columns:minmax(340px,1fr) minmax(360px,1fr)}.editor-head{flex-direction:column;align-items:stretch}.editor-head .actions{margin-left:0}}
/* sotto i 960 px: una colonna, con l'anteprima in alto che resta visibile mentre si scorrono i campi */
@media (max-width:960px){.editor-grid{grid-template-columns:1fr}.editor-preview{position:sticky;top:58px;height:46vh;order:-1;z-index:4;background:var(--bg);padding-bottom:6px}}
@media (max-width:760px){.editor-preview{top:54px;height:40vh}}

/* schede del modulo (.tabs) */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);padding:0 2px}
.tabs button{position:relative;padding:9px 12px;font-size:13px;font-weight:500;color:var(--muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:color var(--dur-1),background var(--dur-1)}
.tabs button:hover{color:var(--text);background:var(--hover)}
.tabs button[aria-selected="true"]{color:var(--text);font-weight:600;background:var(--surface)}
@media (max-width:760px){.tabs{overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap}}
.tabs button[aria-selected="true"]::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:var(--brand-ink)}
html[data-theme="dark"] .tabs button[aria-selected="true"]::after{background:var(--text)}

/* segmenti neutri: nel modulo il giallo non è uno stato */
.seg.neutral button[aria-checked="true"]{background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--line);color:var(--text);font-weight:600}
.seg.neutral button:hover:not([aria-checked="true"]):not([disabled]){background:var(--hover);color:var(--text)}
.seg.neutral button[disabled]{opacity:.45;cursor:not-allowed}
.seg.wide{display:flex;width:100%}
.seg.wide{flex-wrap:wrap}
.seg.wide button{flex:1;justify-content:center;padding:7px 8px;font-size:12.5px;white-space:nowrap}
.cta-color{grid-template-columns:auto auto;justify-content:start;gap:8px}
.seg.wide button svg{width:15px;height:15px}
.seg.is-single{opacity:.7}

/* identità pagina */
.identity{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.avatar-pick{display:flex;flex-direction:column;align-items:center;gap:8px}
.avatar-pick .preview{width:72px;height:72px;border-radius:50%;background:var(--surface-3);overflow:hidden;display:grid;place-items:center;color:var(--muted);font-size:14px;font-weight:600;flex:none;border:1px solid var(--line-soft)}
.avatar-pick .preview img{width:100%;height:100%;object-fit:cover}
.avatar-actions{display:flex;flex-direction:column;gap:4px;align-items:center}
.identity-fields{display:flex;flex-direction:column;gap:12px;min-width:0}
.toggles-col{display:flex;flex-direction:column;gap:10px;padding-top:8px}

/* immagine per piattaforma (account/cliente): una riga per piattaforma, miniatura + carica/rimuovi */
.avatars-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.avatars-grid .av-row{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--line-soft);border-radius:var(--radius-sm)}
.avatars-grid .av-row .preview{width:32px;height:32px;border-radius:50%;background:var(--surface-3);overflow:hidden;display:grid;place-items:center;color:var(--muted);font-size:11px;flex:none}
.avatars-grid .av-row .preview img{width:100%;height:100%;object-fit:cover}
.avatars-grid .av-row .av-label{font-size:13px;font-weight:500;flex:1}
.logos-grid .av-row .preview{border-radius:6px;background:repeating-conic-gradient(var(--surface-3) 0 25%,var(--surface) 0 50%) 0 0/12px 12px}
.logos-grid .av-row .preview.is-wide{width:96px;height:24px}
.logos-grid .av-row .preview img{object-fit:contain}
.logos-grid .av-row .av-label small{display:block;font-weight:400;color:var(--muted)}
.logos-grid .av-row .av-label small.warn{color:var(--warn)}
.avatars-grid .av-row .av-actions{display:flex;gap:4px}
@media (max-width:1100px){.avatars-grid{grid-template-columns:1fr}}

/* elenco progetti nella barra */
.proj-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto;overflow-x:hidden;min-height:0;flex:1;margin:0 -4px;padding:0 4px}
.proj-list a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--radius-sm);color:var(--sb-text);position:relative}
.proj-list a:hover{background:var(--sb-active-bg)}
.proj-list a.active{background:var(--sb-active-bg);color:var(--sb-active-text);font-weight:600}
.proj-list a.active::before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}
.proj-thumb{width:30px;height:30px;border-radius:7px;background:var(--surface-3);overflow:hidden;flex:none;display:grid;place-items:center;color:var(--muted);font-size:10px}
.proj-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.proj-meta{min-width:0;display:flex;flex-direction:column;line-height:1.2}
.proj-meta b{font-weight:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.proj-meta span{font-size:11px;color:var(--sb-muted)}
.collapsed .sidebar:not(.peek) .proj-meta,.collapsed .sidebar:not(.peek) .proj-list a.active::before{display:none}
.collapsed .sidebar:not(.peek) .proj-list a{justify-content:center;padding:7px 0}
.collapsed .sidebar:not(.peek) .btn-new span{display:none}
.collapsed .sidebar:not(.peek) .btn-new{padding:8px;justify-content:center}
.sidebar .nav-label{display:flex;align-items:center;justify-content:space-between}

/* albero campagne → anteprime nella barra */
.camp{display:flex;flex-direction:column}
.camp-row{display:flex;align-items:center;gap:6px;padding:7px 8px 7px 6px;border-radius:var(--radius-sm);color:var(--sb-text);position:relative;cursor:pointer;font-weight:500}
.camp-row:hover{background:var(--sb-active-bg)}
.camp-row.active{background:var(--sb-active-bg);color:var(--sb-active-text);font-weight:600}
.camp-row.active::before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}
.camp-row .tog{width:18px;height:18px;display:grid;place-items:center;color:var(--sb-muted);flex:none;border-radius:4px;transition:transform var(--dur-2) var(--ease)}
.camp-row .tog svg{width:12px;height:12px}
.camp.open .camp-row .tog{transform:rotate(90deg)}
.camp-row .nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.camp-row .cnt{font-size:11px;color:var(--sb-muted);font-variant-numeric:tabular-nums}
.camp-row.active .cnt{color:inherit}
.camp-items{display:none;flex-direction:column;gap:1px;padding:2px 0 4px 14px}
.camp.open .camp-items{display:flex}
.camp-items a{padding:5px 8px}
.camp-items .proj-thumb{width:24px;height:24px;border-radius:5px}
.camp-items .proj-meta b{font-size:12.5px}
.camp-items .proj-meta span{font-size:10.5px}
.camp-row .ini{display:none}
.collapsed .sidebar:not(.peek) .camp-row .nm,.collapsed .sidebar:not(.peek) .camp-row .cnt,.collapsed .sidebar:not(.peek) .camp-items,.collapsed .sidebar:not(.peek) .camp-row .tog{display:none}
/* barra ridotta: le iniziali del cliente al posto del chevron, e il filo giallo resta sulla campagna aperta */
.collapsed .sidebar:not(.peek) .camp-row{justify-content:center;padding:6px 0}
.collapsed .sidebar:not(.peek) .camp-row .ini{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--surface-3);color:var(--text-2);font-size:10.5px;font-weight:700;letter-spacing:.02em}
.collapsed .sidebar:not(.peek) .camp-row.active .ini{background:var(--brand);color:var(--on-brand)}
.camp-row .tog{background:none;border:0;padding:0;cursor:pointer}
.camp-row:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.camp-row .tog:hover{background:var(--surface-3);color:var(--text)}
/* barra in affaccio: opaca (sotto ci sono i campi del modulo) e il marchio torna in riga */
.collapsed .sidebar.peek{background:var(--surface)}
.collapsed .sidebar.peek .brand{flex-direction:row;align-items:center}
.collapsed .sidebar.peek .brand .collapse{margin-left:auto}
/* l'avatar dell'app non è un accento: il giallo resta a voce attiva, primario e conteggi */
.user .avatar{background:var(--surface-3);color:var(--text-2)}

/* elenco anteprime nella pagina campagna */
.camp-previews{display:flex;flex-direction:column}
.camp-previews a{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:10px 18px;border-bottom:1px solid var(--line-soft);color:var(--text)}
.camp-previews a:last-child{border-bottom:0}
.camp-previews a:hover{background:var(--surface-2)}
.camp-previews .proj-thumb{width:44px;height:44px;border-radius:8px}
.camp-previews b{display:block;font-size:13.5px;font-weight:600}
.camp-previews span.meta{font-size:12px;color:var(--muted)}
.camp-previews .empty-row{padding:22px 18px;color:var(--muted);font-size:13px}
.camp-previews .status{justify-self:end}

/* slide */
.slides{display:flex;flex-direction:column;gap:6px}
.slide-row{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:6px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-2)}
.slide-row.is-dragover{border-color:var(--brand)}
.slide-thumb{width:52px;height:52px;border-radius:6px;overflow:hidden;background:#111;display:grid;place-items:center;position:relative;color:#fff}
.slide-thumb img,.slide-thumb video{width:100%;height:100%;object-fit:cover;display:block}
.slide-thumb .kind{position:absolute;left:3px;bottom:3px;max-width:calc(100% - 6px);overflow:hidden;font-size:9px;line-height:1.3;font-weight:700;padding:1px 4px;border-radius:4px;background:rgba(0,0,0,.7);color:#fff;letter-spacing:.02em;text-transform:uppercase}
.slide-info{min-width:0;display:flex;flex-direction:column;gap:2px}
.slide-info b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.slide-info span{font-size:11px;color:var(--muted)}
.slide-actions{display:flex;gap:2px}
.slide-actions .iconbtn{width:30px;height:30px;border-color:transparent;background:transparent}
.slide-actions .iconbtn:hover{background:var(--hover)}
.slide-actions .iconbtn.danger:hover{background:var(--err-soft);color:var(--err)}
.dropzone{border:1.5px dashed var(--line);border-radius:var(--radius-sm);padding:14px;text-align:center;color:var(--muted);font-size:12.5px;display:flex;flex-direction:column;gap:6px;align-items:center;transition:border-color var(--dur-1),background var(--dur-1)}
.dropzone.is-over{border-color:var(--brand);background:var(--brand-soft)}
.dropzone:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.dropzone b{color:var(--text);font-weight:600}
.dropzone input{display:none}
.upl{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-2)}
.upl .progress{height:6px}
.up-filelist{max-height:260px;overflow-y:auto;overflow-x:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.9;color:var(--text-2)}
.up-filelist .row{display:flex;justify-content:space-between;gap:8px}
.up-filelist .row span:last-child{color:var(--muted);flex:none}
.up-backup{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--line)}
.up-backup:last-child{border-bottom:none}
.up-backup .who{flex:1;min-width:0}
.up-backup .who b{display:block;font-size:12.5px}
.up-backup .who span{font-size:11.5px;color:var(--muted)}
.up-changes{flex:0 0 100%;box-sizing:border-box;margin:0 0 4px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:12.5px;line-height:1.55;max-height:260px;overflow:auto}
.up-changes b{display:block;margin-bottom:4px}
.up-changes p{margin:0}
.up-changes code{font-size:11.5px;padding:0 4px;border-radius:4px;background:var(--surface-3)}
.up-changes.is-empty{color:var(--muted)}


/* stato di salvataggio e avvisi */
.savestate{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.savestate::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok)}
.savestate.is-saving::before{background:var(--muted)}
.savestate.is-error::before{background:var(--err)}
.savestate.is-dirty::before{background:var(--warn)}
.histbtns{display:inline-flex;gap:2px;margin-left:4px}
.histbtns.hidden{display:none}
.histbtns .iconbtn{width:30px;height:30px;border-color:transparent;background:transparent}
.histbtns .iconbtn:hover:not(:disabled){background:var(--hover)}
.histbtns .iconbtn:disabled{opacity:.35;cursor:default}
.histbtns .iconbtn svg{width:16px;height:16px}
.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:60}
.toast{background:var(--text);color:var(--bg);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;box-shadow:var(--shadow-lg);max-width:360px;animation:reveal var(--dur-2) var(--ease-out)}
.toast.err{background:var(--err);color:#fff}
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:60px 20px;color:var(--muted)}
.empty h2{color:var(--text)}
.linkbox{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-size:12.5px;min-width:0}
.linkbox code{font-family:var(--mono);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;color:var(--text-2)}

/* finestra di dialogo */
.dialog{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface-solid);color:var(--text);padding:0;box-shadow:var(--shadow-lg);width:min(400px,calc(100vw - 32px))}
.dialog::backdrop{background:rgba(4,22,20,.42);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.dialog-form{display:flex;flex-direction:column;gap:12px;padding:20px}
.dialog-form h2{font-size:16px;font-weight:650}
.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
.user .collapse{margin-left:auto;color:var(--sb-muted);width:26px;height:26px;border-radius:7px;display:grid;place-items:center;flex:none}
.user .collapse:hover{background:var(--sb-active-bg);color:var(--sb-active-text)}

/* accesso */
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}
.auth-card{width:min(380px,100%);display:flex;flex-direction:column;gap:14px}
.auth-card .logo svg{height:30px;width:auto;display:block;color:var(--text)}
.auth-card h1{font-size:20px}
.auth-card p{margin:0;color:var(--text-2);font-size:13px}
.hidden{display:none!important}

/* titolo scheda nella riga slide (caroselli Facebook) */
.slide-headline{margin-top:4px;padding:5px 8px;font-size:12.5px}

/* canali */
.channels{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.ch-plat{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 0 2px}
.ch-plat:first-child{padding-top:0}
.ch-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:6px 10px;border:1px solid transparent;border-radius:var(--radius-sm);min-height:40px}
.ch-row.is-on{background:var(--surface-2);border-color:var(--line-soft)}
.ch-row.is-active{border-color:var(--line)}
.ch-row .toggle{flex:1 0 auto;min-width:0}
.ch-row .chip{white-space:nowrap}
.ch-row .toggle span{white-space:nowrap}
.ch-row .ch-ratio{padding:2px}.ch-row .ch-ratio button{padding:3px 8px;font-size:11.5px}
.ch-row .ch-ratio.is-single button{pointer-events:none}
.ch-row .chip{font-size:10.5px;padding:2px 7px}
.ch-row .btn.sm{padding:4px 8px;font-size:12px}
.ch-row .btn[disabled]{opacity:1;color:var(--muted);pointer-events:none}
.chslides{padding:10px 12px;border:1px dashed var(--line);border-radius:var(--radius-sm);margin-bottom:10px;display:flex;flex-direction:column;gap:4px}
.chslides .toggle span{font-weight:500}
.names{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.names .field label{font-weight:500}
#chSeg button{white-space:nowrap}
@media (max-width:1100px){.names{grid-template-columns:1fr}}
@media (max-width:560px){.ch-row{flex-wrap:wrap}.ch-row .toggle{flex:1 1 100%}}

/* ── Studio ── */
.studio-nav{margin-top:2px}
.studio-nav a.active{background:var(--sb-active-bg);color:var(--sb-active-text);font-weight:600}
.studio-stage{display:grid;place-items:center;min-height:420px}
.model-card b{display:block;font-size:14px;margin-top:8px}
.model-swatches{display:flex;gap:6px}.model-swatches i{width:28px;height:28px;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);display:block}
html[data-theme="dark"] .model-swatches i{box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.model-card .row.c-auto{grid-template-columns:auto;justify-content:start}
/* 1.3.0: selezione dei modelli da esportare */
.model-card{position:relative}
.model-card .model-pick{position:absolute;top:10px;right:10px;display:flex;padding:4px;cursor:pointer}
.model-card .model-pick input{width:16px;height:16px;accent-color:var(--brand)}
.model-card .model-swatches{padding-right:30px;flex-wrap:wrap}
.model-card.is-picked{outline:2px solid var(--brand);outline-offset:-2px}
.model-card .row.c-auto{grid-auto-flow:column;gap:8px}
/* 1.10.0: importazione di più modelli (riepilogo) e trascinamento sulla pagina Modelli */
.mi-dlg{width:min(640px,calc(100vw - 32px))}
.mi-list{max-height:min(48vh,440px);overflow:auto;margin:6px 0 10px;display:flex;flex-direction:column;gap:6px}
.mi-row{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer}
.mi-row>input{margin-top:6px;flex:none}
.mi-row .model-swatches{flex:none;gap:3px;margin-top:2px}.mi-row .model-swatches i{width:16px;height:28px;border-radius:5px}
.mi-col{display:flex;flex-direction:column;gap:2px;min-width:0}
.mi-col b{font-size:13.5px;overflow-wrap:anywhere}
.mi-col .muted{overflow-wrap:anywhere}
.mi-dup:empty{display:none}.mi-dup{color:var(--text-2)}
.mi-notes summary{cursor:pointer;color:var(--text-2)}.mi-notes ul{margin:4px 0 0 16px;padding:0}
.mi-row.is-off{opacity:.5}
.mi-errs{border:1px solid var(--line);border-left:3px solid var(--err);background:var(--err-soft);border-radius:var(--radius-sm);padding:8px 10px;margin:4px 0 8px;font-size:12.5px}
.mi-errs ul{margin:4px 0 0 16px;padding:0}
#modelsPage{position:relative}
#modelsPage.is-drop::after{content:"Rilascia qui i file dei modelli (.zip o .json)";position:absolute;inset:8px;border:2px dashed var(--text-2);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 86%,transparent);display:grid;place-items:center;font-weight:600;color:var(--text);pointer-events:none;z-index:5}
.cards-list{display:flex;flex-direction:column;gap:6px}
.card-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer}
.card-row.is-active{border-color:var(--text);box-shadow:inset 3px 0 0 var(--text);background:var(--surface)}
.card-row:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.card-row.is-dragover{border-color:var(--text)}
.card-row .num{width:22px;height:22px;border-radius:50%;background:var(--surface-3);color:var(--text-2);font-size:11px;font-weight:700;display:grid;place-items:center;flex:none}
.card-row .info{flex:1;min-width:0;display:flex;flex-direction:column}
.card-row .info b{font-size:13px}.card-row .info>span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-row .slide-actions{display:flex;gap:4px}
.card-row.is-hidden .num,.card-row.is-hidden .info{opacity:.45}
.card-row [data-act=hide][aria-pressed=true]{color:var(--text);background:var(--brand-soft)}
.add-card{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}
.media-pick{display:flex;align-items:center;gap:12px}
.media-thumb{width:72px;height:72px;border-radius:var(--radius-sm);background:var(--surface-3);display:grid;place-items:center;font-size:11px;color:var(--muted);overflow:hidden;flex:none}
.media-thumb img,.media-thumb video{width:100%;height:100%;object-fit:cover;display:block}
.media-actions{display:flex;gap:6px;flex-wrap:wrap}
.items-edit{display:flex;flex-direction:column;gap:6px}
.item-row{display:flex;gap:6px;align-items:center}.item-row .input{flex:1}
.item-icon{width:36px;height:36px;padding:6px}.item-icon svg{width:100%;height:100%}
.range{width:100%;accent-color:var(--brand-ink)}
.dialog-wide{width:min(760px,calc(100vw - 32px))}
.dialog-head{display:flex;align-items:center;gap:10px;padding:14px 20px 0}
.dialog-head h2{font-size:16px;font-weight:650}
.dialog-body{display:flex;flex-direction:column;gap:12px;padding:16px 20px}
.dialog-foot{display:flex;gap:8px;padding:0 20px 18px;align-items:center}
.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;max-height:min(46vh,420px);overflow:auto;padding:2px}
.icon-cell{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px 8px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}
.icon-cell:hover{border-color:var(--text);background:var(--surface-2)}
.icon-cell .ic{width:34px;height:34px;display:block}.icon-cell .ic svg{width:100%;height:100%;display:block}
.icon-cell .lb{font-size:10.5px;color:var(--text-2);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.icon-cell .del{position:absolute;top:2px;right:6px;color:var(--muted);font-size:14px;line-height:1;display:none}
.icon-cell:hover .del{display:block}.icon-cell .del:hover{color:var(--err)}
.icon-preview{width:44px;height:44px}.icon-preview svg{width:100%;height:100%}
html[data-theme="dark"] .card-row.is-active{border-color:var(--text)}

/* Studio: tavolozze, schemi, foto */
/* l'anello del colore scelto sporge di 4 px: margini e distanza perché non tocchi le etichette né i vicini */
.swatches{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 6px}
.swatch{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);box-shadow:inset 0 0 0 2px var(--surface),inset 0 0 0 3px rgba(0,0,0,.08);cursor:pointer;padding:0}
.swatch.is-on{outline:2px solid var(--brand-ink);outline-offset:2px}
html[data-theme="dark"] .swatch.is-on{outline-color:var(--brand)}
.swatch.is-inherit{background:repeating-linear-gradient(45deg,var(--surface-3) 0 4px,var(--surface) 4px 8px)}
.roles-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.roles-grid .field label{font-weight:500}
.range-row{display:flex;flex-direction:column;gap:4px}
.range-row label{font-size:12px;font-weight:600;color:var(--text-2)}.range-row label b{font-weight:600;color:var(--text)}
.photos-edit{display:flex;flex-direction:column;gap:10px}
.photo-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pal-list,.font-list,.scheme-list{display:flex;flex-direction:column;gap:8px}
.pal-row{display:flex;align-items:center;gap:8px}.pal-row .pal-color{width:44px;padding:2px;height:34px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.pal-row .pal-name{flex:1}.pal-row .pal-key{font-family:var(--mono);font-size:11px;color:var(--muted);width:84px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.font-row{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-2)}
.font-preview{flex:1;display:flex;flex-direction:column;justify-content:center;padding:6px 12px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);line-height:1.15}
.font-preview b{font-family:var(--fd);font-weight:var(--fd-w,800);font-size:20px;letter-spacing:var(--fd-ls,0em)}.font-preview span{font-family:var(--ft);font-size:12px;color:var(--text-2);letter-spacing:var(--ft-ls,0em)}
.scheme-card{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-2)}
@media (max-width:1100px){.roles-grid{grid-template-columns:1fr}}

.sec-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.sec-head h3{margin:0}

/* Media sul server */
.media-list{display:flex;flex-direction:column}
.media-folder{border-bottom:1px solid var(--line-soft)}
.media-folder:last-child{border-bottom:0}
.media-folder-head{display:flex;align-items:center;gap:12px;width:100%;padding:12px 18px;text-align:left}
.media-folder-head:hover{background:var(--surface-2)}
.media-folder-head .tog svg{width:14px;height:14px;transition:transform var(--dur-1)}
.media-folder.open .media-folder-head .tog svg{transform:rotate(90deg)}
.media-folder-head .who{flex:1;min-width:0;display:flex;flex-direction:column}
.media-folder-head .who b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.media-folder-head .who>span{font-size:12px;color:var(--muted)}
.media-folder-head .num{min-width:70px;text-align:right;color:var(--text-2)}
.media-files{display:none;padding:0 18px 12px 44px;flex-direction:column;gap:6px}
.media-folder.open .media-files{display:flex}
.media-file{display:flex;align-items:center;gap:12px;padding:6px 8px;border-radius:var(--radius-sm)}
.media-file.is-unused{background:var(--surface-2)}
.media-th{width:44px;height:44px;border-radius:6px;background:var(--surface-3);display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--muted);overflow:hidden;flex:none}
.media-th img{width:100%;height:100%;object-fit:cover}
.media-file .info{flex:1;min-width:0;display:flex;flex-direction:column}
.media-file .info b{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--mono)}
.media-file .info span{font-size:11.5px;color:var(--muted)}

/* sezioni ripiegabili nel modulo della card */
.fold{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-2)}
.fold>summary{cursor:pointer;padding:9px 12px;font-size:12px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;list-style:none;display:flex;align-items:center;gap:8px}
.fold>summary::-webkit-details-marker{display:none}
.fold>summary::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--dur-1)}
.fold[open]>summary::before{transform:rotate(45deg)}
.fold>.fold-body{padding:4px 12px 12px}

/* ── telefono e tablet: la barra laterale diventa un cassetto ── */
.menu-btn{display:none}
@media (max-width:760px){
  .app,.app.collapsed{grid-template-columns:1fr}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);z-index:40;transform:translateX(-100%);transition:transform var(--dur-2) var(--ease);box-shadow:none;background:var(--surface-solid)}
  .app.menu-open .sidebar{transform:none;box-shadow:var(--shadow-lg)}
  .menu-backdrop{position:fixed;inset:0;background:rgba(4,22,20,.42);z-index:35;display:none}
  .app.menu-open .menu-backdrop{display:block}
  .menu-btn{display:grid}
  .content{overflow-x:hidden}
  .page-head{flex-wrap:wrap}
  .page-head .actions{width:100%;margin-left:0}
  .page-head .actions .btn{flex:1;justify-content:center}
  .page-head h1{font-size:22px}
  .editor-form,.editor-preview{min-width:0}
  .preview-tools{gap:10px}
  .preview-tools #previewHint{display:none}
}

/* Studio: casella «incolla un'immagine o un link» sotto sfondo e oggetti */
.paste-box{display:flex;gap:8px;align-items:center;margin-top:8px}
.paste-box .input{flex:1;min-width:0;font-size:12px}
.paste-box .input::placeholder{color:var(--muted)}
.photo-chip-icon{width:28px;height:28px;display:grid;place-items:center;flex:none}.photo-chip-icon svg{width:24px;height:24px}
.photo-chip-glow{width:28px;height:28px;border-radius:50%;flex:none}

/* copy delle uscite organiche e mode per uscita (0.13.0) */
.ch-mode{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:2px 10px 8px 46px}
.ch-mode .seg{padding:2px}.ch-mode .seg button{padding:3px 9px;font-size:11.5px}
.ch-mode .help{margin:0;flex:1 1 200px}
.organic-note{margin-top:10px;align-items:flex-start;flex-wrap:wrap}
.organic-note .alert-text{flex:1 1 220px;font-size:12.5px;line-height:1.45}
.scheme-save .row{margin-top:6px}
.scheme-save .input{min-width:0}
/* eccezioni di colore: tutti i colori della tavolozza su una riga, senza il sesto che va a capo da solo */
.roles-grid .swatches{gap:6px}
.roles-grid .swatch{width:23px;height:23px}
.scheme-save .row.c-auto{grid-template-columns:1fr auto}
.scheme-save-upd{margin-top:8px}
/* copy del master con uscite organiche: una riga per piattaforma con lo stato del link (0.13.1) */
.organic-versions{margin-top:14px}
.organic-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);margin-bottom:6px;background:var(--surface-2)}
.organic-row.is-todo{border-color:var(--line)}
.organic-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:12.5px;line-height:1.35}
.organic-row-text span{color:var(--muted)}
.organic-row.is-todo .organic-row-text span{color:var(--text)}
.organic-versions>.btn{margin:4px 0 6px}
.is-organic-hidden{display:none!important}
.is-textonly-hidden{display:none!important}
.google-ad{display:grid;gap:10px;font-size:13px}
.google-ad h4{margin:0 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.google-ad ol{margin:0;padding-left:20px;display:grid;gap:3px}
.google-ad li .pin{margin-left:6px;font-size:10.5px;color:var(--muted)}
.google-ad .ga-meta{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;color:var(--text)}
.google-ad .ga-meta b{font-weight:600;color:var(--muted)}
.google-ad .empty{color:var(--muted);font-style:italic}
/* Anteprima veloce dello Studio: finestra quasi a tutto schermo con il telefono */
.dialog-quick{width:min(1100px,calc(100vw - 32px));height:min(960px,calc(100vh - 32px));height:min(960px,calc(100dvh - 32px));max-width:none;max-height:none;display:none;flex-direction:column}
.dialog-quick[open]{display:flex}
.quick-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}
.quick-head-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.quick-head-text b{font-size:15px;font-weight:650}
.quick-stage{flex:1;min-height:0;margin:12px 16px 0;border-radius:var(--radius-lg)}
.quick-foot{padding:8px 16px 14px;min-height:20px}
.quick-wait{color:var(--muted);font-size:13px}
.quick-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:1}
.alert.video-out{flex-wrap:wrap}
.video-out-actions{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin-top:6px}
.frame-video{width:100%;max-height:60vh;border-radius:var(--radius);background:#000}
.chip.warn{background:var(--warn-soft);border-color:transparent;color:var(--warn)}

/* identità sempre visibile nell'intestazione dell'anteprima.
   NB: la classe NON si chiama «identity»: esiste già .identity (la griglia avatar + campi della scheda Pagina) e la
   pillola ne ereditava display:grid, lo spazio di 16px e l'allineamento in alto. */
.editor-crumbs{align-items:center}
.editor-crumbs .chip{max-width:100%;min-height:25px}
.chip.id-chip{cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;gap:6px;padding:2px 9px 2px 3px;transition:background var(--dur-2),border-color var(--dur-2),color var(--dur-2)}
.chip.id-chip:hover{background:var(--hover);border-color:var(--line);color:var(--text)}
.chip.id-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.chip.id-chip .id-av{flex:none;width:18px;height:18px;border-radius:50%;object-fit:cover;background:var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:var(--text-2);overflow:hidden}
.chip.id-chip.is-missing{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
.chip.id-chip.is-missing:hover{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}
.ch-more{margin-top:10px;border-top:1px solid var(--line-soft);padding-top:8px}
.ch-more>summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--text-2)}
.ch-more .help{margin:6px 0}
.ch-more-name{flex:1;font-size:13px;color:var(--text-2)}

/* ── Piano editoriale (0.27.0) ── */
.row.c4{grid-template-columns:repeat(4,1fr)}
.ed-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 10px}
.ed-clients{flex-wrap:wrap}
.ed-swatch{display:inline-block;width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.ed-monthnav{display:inline-flex;align-items:center;gap:6px}.ed-monthnav b{margin-left:8px;font-size:14px;text-transform:capitalize;min-width:140px}
.ed-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--radius-sm);overflow:hidden}
.ed-wd{background:var(--surface-2);padding:6px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.ed-day{background:var(--surface);min-height:104px;padding:6px 6px 8px;cursor:pointer;position:relative;display:flex;flex-direction:column;gap:3px}
.ed-day:hover{background:var(--surface-2)}
.ed-day.is-out{background:var(--surface-2);color:var(--muted)}.ed-day.is-out .ed-num{opacity:.5}
.ed-num{font-size:12px;font-weight:600;color:var(--text-2);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
.ed-day.is-today .ed-num{background:var(--brand);color:var(--on-brand)}
.ed-lanes{display:flex;flex-direction:column;gap:2px;margin:0 -6px}
.ed-bar{height:16px;font-size:10.5px;line-height:16px;font-weight:600;color:#fff;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.ed-bar.is-empty{background:transparent!important;cursor:default}
.ed-bar.is-start{border-radius:999px 0 0 999px;margin-left:6px}.ed-bar.is-end{border-radius:0 999px 999px 0;margin-right:6px}.ed-bar.is-start.is-end{border-radius:999px}
.ed-item{display:flex;align-items:center;gap:5px;font-size:11px;line-height:1.25;padding:1px 2px;border-radius:4px;cursor:pointer;min-width:0}
.ed-item:hover{background:var(--hover)}
.ed-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-item i{display:inline-block;width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.ed-item.ed-entry i{border-radius:1px;transform:rotate(45deg);width:7px;height:7px}
.ed-item.is-done span{text-decoration:line-through;color:var(--muted)}
.ed-legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding:10px 4px 2px;font-size:12px;color:var(--text-2)}.ed-legend>span{display:inline-flex;align-items:center;gap:6px}
.ed-list .empty-row{padding:22px 18px;color:var(--muted);font-size:13px}
.ed-row{display:grid;grid-template-columns:150px 150px 1fr auto auto;gap:12px;align-items:center;padding:9px 12px;border-top:1px solid var(--line-soft);font-size:13px}
.ed-row:first-child{border-top:0}
.ed-when{color:var(--text-2);white-space:nowrap}.ed-who{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-what{display:flex;flex-direction:column;min-width:0}.ed-what b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-row.is-done .ed-what b{text-decoration:line-through;color:var(--muted)}
@media (max-width:860px){.ed-row{grid-template-columns:1fr 1fr;grid-auto-flow:row}.ed-row .ed-what{grid-column:1/-1}.ed-day{min-height:72px}.ed-bar{font-size:0}.row.c4{grid-template-columns:1fr 1fr}}

/* ── AI (0.27.0) ── */
#aiPage .tabs{margin:14px 0}
.ai-skills{display:flex;flex-direction:column;gap:10px;padding:0 12px 12px}
.ai-skill{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:12px 14px;background:var(--surface)}
.ai-skill-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.ai-skill-head h3{margin:0;font-size:15px}
.ai-skill-actions{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.ai-skill-desc{margin:8px 0 0;font-size:13px;color:var(--text-2)}
.ai-skill-text{margin:10px 0 0;max-height:420px;overflow:auto;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:10px 12px}
.ai-howto{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 12px 12px}
.ai-howto b{font-size:13px}.ai-howto p{margin:4px 0 0;font-size:12.5px;color:var(--text-2)}
@media (max-width:860px){.ai-howto{grid-template-columns:1fr}}
.card.tight .ed-grid{margin:12px}
#aiPage .card.tight>.help{padding:10px 18px 4px;margin:0}
.ai-skills,.ai-howto{padding-top:12px}
#editorialPage #entryEditor{margin-bottom:12px}
.ch-when{display:flex;align-items:center;gap:6px;flex:1 0 100%;flex-wrap:wrap}
.ch-when .small{color:var(--text-2);font-weight:600;font-size:11.5px}
.ch-when .input{width:auto;min-height:28px;padding:3px 8px;font-size:12px}
/* ── Piano editoriale 0.27.1: dettagli, trascinamento, voci con più piattaforme ── */
.ee-plats{display:flex;flex-wrap:wrap;gap:6px 12px;padding:6px 0}
.ee-plat{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}
.ee-plat input{width:15px;height:15px;accent-color:var(--brand)}
.ed-day.is-over{outline:2px solid var(--brand);outline-offset:-2px;background:var(--brand-soft)}
.ed-item.is-dragging{opacity:.4}
.ed-item.ed-entry{cursor:grab}
.ed-pop{position:absolute;z-index:20;width:300px;max-width:calc(100% - 16px);background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:0 12px 32px rgba(0,0,0,.18);padding:10px 12px 12px;font-size:13px}
.ed-pop-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.ed-pop-head b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-pop-x{padding:0 8px;min-height:24px;line-height:1}
.ed-pop-line{color:var(--text-2);margin:2px 0}.ed-pop-line.is-notes{white-space:pre-wrap;margin-top:6px;padding-top:6px;border-top:1px solid var(--line-soft);color:var(--text)}
.ed-pop-act{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
/* 0.35.0: anteprima del master nel riquadro del Piano editoriale */
.ed-pop-master{margin-top:10px}
.ed-pop-loading{font-size:12px;color:var(--text-2);padding:8px 0}
.ed-pop-master-note{font-size:11px;color:var(--text-2);margin-bottom:6px}
.sc-master-strip{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;overscroll-behavior-x:contain}
.ed-pop .sc-master-card{flex:none;scroll-snap-align:start;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.plan-ed-line{font-size:13px;color:var(--text-2);padding:3px 0}.plan-ed-line.warn{color:var(--warn)}.plan-ed-line.muted{color:var(--muted)}
.plan-ed-entries{margin-top:8px;border-top:1px solid var(--line-soft);padding-top:6px;font-size:13px}
.plan-ed-entry{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid var(--line-soft)}.plan-ed-entry:last-child{border-bottom:0}
.plan-ed-entry b{flex:1;min-width:0}.plan-ed-entry.is-done b{text-decoration:line-through;color:var(--muted)}
.plan-ed-when{color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.plan-ed-act{margin-top:10px}
/* ── Utenti e ruoli (0.28) ── */
.users-list .empty-row{padding:22px 18px;color:var(--muted);font-size:13px}
.user-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--line-soft);font-size:13px}.user-row:first-child{border-top:0}
.user-row.is-off{opacity:.6}
.user-av{width:34px;height:34px;border-radius:50%;background:var(--brand-soft);color:var(--text);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex:0 0 auto}
.user-who{display:flex;flex-direction:column;min-width:0;flex:1}.user-who b,.user-who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-last{white-space:nowrap}
#userTemp{margin-bottom:12px}#userTemp code{font-size:14px;letter-spacing:.04em;user-select:all}#userTemp .btn{margin-left:auto}
#pwMust{margin-bottom:10px}
@media (max-width:860px){.user-row{flex-wrap:wrap}.user-last{display:none}}
/* sola lettura: i pulsanti che creano, cancellano o pubblicano non si vedono (il server li rifiuta comunque) */
body[data-role="viewer"] .content .btn.primary,body[data-role="viewer"] .content .btn.danger,body[data-role="viewer"] #btnNewCampaign,body[data-role="viewer"] .btn-new{display:none!important}
body[data-role="viewer"] .savestate{display:none!important}
body:not([data-role="admin"]) #btnMediaClean{display:none!important}
/* ── AI → Connessioni (0.29) ── */
.ai-pad{padding:12px 18px 16px}
.mcp-url{margin-top:10px}.mcp-url-box{display:flex;align-items:center;gap:8px;margin-top:4px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}
.mcp-url-box code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;user-select:all}
.mcp-check{margin-top:12px;border-top:1px solid var(--line-soft);padding-top:8px}
.mcp-check-row{display:grid;grid-template-columns:14px 1fr;gap:2px 10px;padding:5px 0;font-size:13px}.mcp-check-row .small{grid-column:2}
.mcp-check-row i{width:10px;height:10px;border-radius:50%;margin-top:5px;background:var(--muted)}.mcp-check-row.is-ok i{background:var(--ok)}.mcp-check-row.is-ko i{background:var(--err)}
.conn-list .empty-row{padding:22px 18px;color:var(--muted);font-size:13px}
.conn-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--line-soft);font-size:13px}.conn-row:first-child{border-top:0}.conn-row.is-off{opacity:.55}
.conn-who{display:flex;flex-direction:column;min-width:0;flex:1}.conn-who b,.conn-who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conn-when{white-space:nowrap}
@media (max-width:860px){.conn-row{flex-wrap:wrap}.conn-when{white-space:normal}}

/* 0.34.0 — campagne come cartelle: home, pagina della campagna, composizioni nella barra laterale */
.camp-folders a.is-none b{color:var(--text-2)}
.folder-thumb{position:relative;background:var(--brand-soft,var(--surface-3));color:var(--text)}
.folder-thumb svg{width:30px;height:30px;opacity:.85}
.folder-thumb i{position:absolute;inset:0;display:grid;place-items:center;padding-top:4px;font-style:normal;font-size:10px;font-weight:700;letter-spacing:.02em}
.comp-thumb{background:var(--surface-2);border:1px solid var(--line);font-weight:650;color:var(--text-2);font-variant-numeric:tabular-nums}
.camp-items a.is-comp .proj-thumb{font-size:8.5px}
#campaignPage .tabs{margin:2px 0 14px}
#campaignPage .tabs .xs{font-weight:500;margin-left:2px}
.camp-plan-head{margin:0;flex-wrap:wrap}   /* 1.7.0: titolo + «Scarica report PDF»; lo spazio sotto lo dà già .form-sec */
.camp-panel .card-head .muted{font-weight:400}
.comp-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--line-soft)}
.comp-line:last-child{border-bottom:0}
.comp-line>a{border-bottom:0!important}
.comp-acts{display:flex;align-items:center;gap:6px;padding-right:14px}
.comp-acts .select{min-height:30px;padding-top:3px;padding-bottom:3px;font-size:12.5px;max-width:190px}
.danger-text{color:var(--err)}
.editor-crumbs a.camp-chip{text-decoration:none}
.editor-crumbs a.camp-chip:hover{background:var(--hover);color:var(--text)}
@media (max-width:760px){.comp-line{grid-template-columns:1fr}.comp-acts{padding:0 18px 12px 74px;flex-wrap:wrap}}

/* 0.35.0: libreria dei media (finestra «Dalla libreria» e pagina Media) */
.lib-dialog{width:min(980px,calc(100vw - 32px))}
.lib-dialog .dialog-body{max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px);overflow:auto}
.lib{display:flex;flex-direction:column;gap:12px}
.lib-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lib-search{flex:1;min-width:160px}
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.lib-tile{display:flex;flex-direction:column;gap:6px;padding:6px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;font:inherit;text-decoration:none;min-width:0}
.lib-tile:hover,.lib-tile:focus-visible{border-color:var(--text-2)}
.lib-tile.is-busy{opacity:.5;cursor:progress}
.lib-th{position:relative;display:block;aspect-ratio:1/1;border-radius:6px;overflow:hidden;background:var(--surface-2,#eee)}
.lib-th img,.lib-th video{width:100%;height:100%;object-fit:cover;display:block}
.lib-audio{display:grid;place-items:center;height:100%;font-size:28px;color:var(--text-2)}
.lib-kind{position:absolute;left:6px;top:6px;padding:1px 6px;border-radius:4px;background:rgba(0,0,0,.6);color:#fff;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.lib-kind.lib-ai{left:auto;right:6px}
.lib-info{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:12px}
.lib-info b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lib-meta{color:var(--text-2)}
.lib-info .status{align-self:flex-start;font-size:11px}
.lib-tile.is-unused .lib-th{opacity:.85}

/* 0.35.0: schede delle Impostazioni sotto la barra in alto (Account, AI, Utenti, Spazio e pulizia, Aggiornamenti) */
.settings-tabs{padding:0 24px;background:var(--bg);flex-wrap:wrap}
.settings-tabs a{position:relative;padding:10px 12px;font-size:13px;font-weight:500;color:var(--muted);text-decoration:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0}
.settings-tabs a:hover{color:var(--text);background:var(--hover)}
.settings-tabs a[aria-current="page"]{color:var(--text);font-weight:600;background:var(--surface)}
.settings-tabs a[aria-current="page"]::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:var(--brand-ink)}
#mediaPage[data-mode="library"] .media-admin,#mediaPage[data-mode="spazio"] .media-lib{display:none!important}
/* 1.3.0 — esporta e importa lo spazio */
#spaceCard .row-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0}
#spaceCard hr.sep{border:0;border-top:1px solid var(--line-soft);margin:14px 0}
.space-backups{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.space-backups .bk{display:flex;align-items:center;gap:10px;font-size:13px}
#spaceImportSummary ul{margin:6px 0 10px 18px;padding:0}
#spaceImportMode{margin:8px 0}
@media (max-width:760px){.settings-tabs{padding:0 12px;overflow-x:auto;flex-wrap:nowrap}}

/* 0.36.0 — selettore dello spazio di lavoro (in alto nella barra laterale) */
.org-switch{position:relative;margin:2px 0 6px}
.org-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1px solid var(--sb-line);border-radius:10px;background:transparent;color:var(--sb-text);text-align:left;cursor:pointer;font:inherit}
.org-btn:hover{background:var(--sb-active-bg)}
.org-btn:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px}
.org-ini{width:30px;height:30px;border-radius:8px;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font-weight:700;font-size:13px;flex:0 0 auto}
.org-txt{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.2}
.org-txt b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.org-txt span{font-size:11px;color:var(--sb-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.org-chev{flex:0 0 auto;color:var(--sb-muted)}
.org-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;background:var(--surface-solid);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);padding:4px;display:flex;flex-direction:column;max-height:60vh;overflow:auto}
.org-menu button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit}
.org-menu button:hover,.org-menu button:focus-visible{background:var(--hover);outline:none}
.org-menu button[aria-checked="true"]{background:var(--sb-hover,var(--surface-3))}
.org-menu button b{font-size:13px}.org-menu button span{font-size:11px;color:var(--muted)}
.collapsed .sidebar:not(.peek) .org-txt,.collapsed .sidebar:not(.peek) .org-chev{display:none}
.collapsed .sidebar:not(.peek) .org-btn{justify-content:center;padding:6px 0;border-color:transparent}

/* 0.36.0 — pagina di accesso: passaggio fra accesso e iscrizione */
.auth-switch{margin:4px 0 0;text-align:center}

/* 0.36.0 — Piattaforma (super-admin) */
.pf-list .empty-row{padding:18px;color:var(--muted);font-size:13px}
.pf-pad{padding:0 18px}
.pf-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--line-soft);font-size:13px;flex-wrap:wrap}
.pf-row:first-child{border-top:0}
.pf-row.is-off{opacity:.65}
.pf-who{display:flex;flex-direction:column;min-width:200px;flex:1;gap:2px}
.pf-who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-orgs{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.pf-member{gap:4px}
.pf-x{border:0;background:transparent;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;opacity:.7}
.pf-x:hover{opacity:1}
.pf-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.select.sm{width:auto;max-width:200px;height:30px;padding:0 26px 0 8px;font-size:12.5px}
.chip.warn{color:var(--warn);background:var(--warn-soft);border-color:transparent}

/* 0.36.1 — dichiarazione del pacchetto di aggiornamento */
#upPackage.err{border-color:var(--err);background:var(--err-soft)}
#upPackage.err b{color:var(--err)}
#upPackage.ok{border-color:transparent;background:var(--ok-soft)}
#upPackage.act{border-color:transparent;background:var(--warn-soft)}
#upPackage .alert-text{font-size:12.5px;color:var(--text-2);margin-top:2px}
#upPackage .up-changes{margin-top:8px}

/* 0.36.1 — finestra di avanzamento dell'importazione di un pacchetto */
.imp-progress{width:min(460px,calc(100vw - 32px))}
.imp-progress .dialog-body{display:flex;flex-direction:column;gap:10px;padding:22px}
.imp-progress h2{font-size:17px;margin:0}
.imp-progress .imp-file{margin:-6px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.imp-progress .imp-step{margin:0;font-size:13.5px;color:var(--text);min-height:1.4em}
.imp-progress .imp-keep{margin:0}
.imp-progress .imp-out{display:flex;flex-direction:column;gap:6px;max-height:40vh;overflow:auto;font-size:13px}
.imp-progress .imp-out p{margin:0}
.imp-progress .dialog-actions{display:flex;justify-content:flex-end}
.imp-bar{height:10px}
.imp-bar i{width:0}
.imp-bar.is-indet i{width:35%;animation:imp-indet 1.2s ease-in-out infinite}
.imp-bar.is-err i{background:var(--err)}
@keyframes imp-indet{0%{transform:translateX(-110%)}100%{transform:translateX(300%)}}
@media (prefers-reduced-motion:reduce){.imp-bar.is-indet i{animation:none;width:100%;opacity:.45}}
.imp-bar:not(.is-indet):not(.is-err) i{background-image:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);background-size:200% 100%;animation:imp-live 1.6s linear infinite}
@keyframes imp-live{0%{background-position:150% 0}100%{background-position:-50% 0}}
@media (prefers-reduced-motion:reduce){.imp-bar:not(.is-indet) i{animation:none}}
/* 0.36.2: «Porta su altre uscite» — ritocchi di un'uscita portati su altre, scegliendo cosa */
#cardFields .alert{flex-wrap:wrap}
.alert .btn + .btn{margin-left:0}
.xfer-dlg{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto}
.xfer-dlg .toggle{align-items:flex-start;line-height:1.35}
.xfer-dlg .toggle i{margin-top:-1px}
.xfer-dlg .toggle small{font-size:11.5px}
.xfer-grid{display:flex;flex-wrap:wrap;gap:8px 18px}
.xfer-list{display:flex;flex-direction:column;gap:8px}
.xfer-cards-head{display:flex;align-items:center;gap:6px;margin-top:6px}
.xfer-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 14px;max-height:190px;overflow:auto;padding:10px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-2)}
.xfer-sum{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line-soft);font-size:12.5px;line-height:1.45}
.xfer-line.is-same{color:var(--muted)}
.xfer-warn{color:var(--warn)}
@media (max-width:560px){.xfer-cards{grid-template-columns:1fr}}
/* 0.36.3: scheda Uscite — un'uscita accesa è un riquadro unico, letto dall'alto in basso:
   nome e azione · formato e tipo · spiegazioni · avvisi · impostazioni · ritocchi e «Porta su altre uscite…» */
.ch-out{display:flex;flex-direction:column;gap:10px;padding:10px 12px 8px;margin:2px 0;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow)}
.ch-out.is-active{border-color:var(--line);box-shadow:inset 3px 0 0 var(--brand),var(--shadow)}
.ch-head{display:flex;align-items:center;gap:8px;min-height:30px}
.ch-head .toggle{flex:1 1 auto;min-width:0}
.ch-head .toggle span{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-head .btn.sm{padding:4px 10px}
.ch-head .status{white-space:nowrap}
.ch-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.ch-field{display:inline-flex;align-items:center;gap:8px}
.ch-lab{font-size:11.5px;color:var(--muted)}
.ch-fmt{font-size:12px;font-weight:600;color:var(--text-2);font-variant-numeric:tabular-nums}
.ch-mode-fixed{padding:3px 9px;border-radius:999px;background:var(--surface-3);font-size:11.5px}
.ch-out .seg{padding:2px}.ch-out .seg button{padding:3px 9px;font-size:11.5px}
.ch-sub{display:flex;flex-direction:column;gap:8px}
.ch-sub .help{margin:0}
.ch-sub .ch-when{flex:none}
.ch-notes{display:flex;flex-wrap:wrap;gap:6px}
.ch-notes .chip,.ch-notes .status{font-size:11px;white-space:nowrap}
.ch-out>.fold{background:var(--surface-2)}
.ch-out>.fold>summary{text-transform:none;letter-spacing:0;font-weight:400;font-size:12px;color:var(--text-2);align-items:baseline;line-height:1.4}
.ch-out>.fold>summary::before{align-self:center;flex:none}
.ch-out>.fold>summary b{font-weight:600;color:var(--text);white-space:nowrap}
.ch-out>.fold>summary b::after{content:" ·";font-weight:400;color:var(--muted)}
.ch-foot{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding-top:8px;border-top:1px solid var(--line-soft)}
.ch-state{font-size:12px;color:var(--muted)}
.ch-state.has{color:var(--text-2);font-weight:600}
.ch-foot .btn{margin-left:auto}
.ch-foot .btn svg{width:14px;height:14px}
.ch-sub .ch-when .small{flex:1 0 100%}

/* 0.37.0 — «Creatività + Link cliente»: una voce sola per creatività; lo stato del link è pallino + parola (mai solo colore) */
.lk{display:inline-flex;align-items:center;gap:5px;font-style:normal;font-weight:600;white-space:nowrap}
.lk::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.lk-ok{color:var(--ok)}.lk-warn{color:var(--warn)}.lk-info{color:var(--info)}.lk-neutral{color:var(--muted)}
.sidebar .lk-neutral{color:var(--sb-muted)}
.proj-meta .sub{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10.5px;color:var(--sb-muted)}
.proj-meta .sub .lk{font-weight:600}
.camp-previews span.meta{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.comp-thumb svg,.link-thumb svg{width:58%;height:58%;opacity:.8}
.link-thumb{background:transparent;border:1px dashed var(--line);color:var(--text-2)}
.list-sub{padding:14px 18px 6px;font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-top:1px solid var(--line-soft)}
/* chip nella testata dello Studio: è un pulsante (apre la scheda «Link cliente») */
.lk-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;min-height:25px;border-radius:999px;font:inherit;font-size:11.5px;font-weight:600;border:1px solid var(--line);background:var(--surface-2);cursor:pointer}
.lk-chip:hover{background:var(--hover,var(--surface-3))}
.lk-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.lk-chip.lk-warn{background:var(--warn-soft);border-color:transparent}
.lk-chip.lk-info{background:var(--info-soft);border-color:transparent}
.lk-chip.lk-ok{background:var(--ok-soft);border-color:transparent}
.lk-chip.lk-neutral{color:var(--text-2)}
/* scheda «Link cliente» */
.link-state{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.link-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.link-row .input{flex:1 1 100%;font-size:12.5px;min-width:0;font-family:var(--mono,ui-monospace,monospace)}
.link-sec{display:flex;flex-direction:column;gap:12px}
.link-sec+.link-sec{border-top:1px solid var(--line-soft);padding-top:4px}
.link-sec .form-sub{margin:10px 0 -4px}
.link-sec>.help{margin-top:-6px}
.link-avatar{display:flex;align-items:center;gap:8px}
.link-avatar .proj-thumb{width:40px;height:40px;border-radius:50%}
/* a destra, nella scheda «Link cliente», la pagina che apre il cliente al posto delle card */
.editor-preview.is-link>.preview-tools,.editor-preview.is-link>#cardStage,.editor-preview.is-link>#cardStrip{display:none}
.link-stage{flex:1;min-height:0;display:flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface-2)}
.link-stage iframe{flex:1;width:100%;height:100%;border:0;display:block;background:var(--bg)}
.link-empty{margin:auto;max-width:340px;padding:24px;text-align:center;display:flex;flex-direction:column;gap:6px;color:var(--text-2);font-size:13px}
.link-empty b{color:var(--text);font-size:14px}
#linkStatus{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
#linkStatus>.link-row,#linkStatus>.help{align-self:stretch}
#linkStatus .link-state{margin:0}
/* editor dei link fatti a mano: la riga «Generata dalla creatività» è testo che va a capo, non colonne */
#compLine{display:block;line-height:1.5}
#compLine>*{display:inline}
/* 1.3.0 (tappa 8): Impostazioni → Archivio */
#archivePage .row-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0}
.ar-dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:13px}
.ar-dl dt{color:var(--muted)}.ar-dl dd{margin:0;overflow-wrap:anywhere}
.ar-presets{flex-wrap:wrap;margin-bottom:6px}
.ar-parts{margin-top:10px;align-items:start}
.ar-parts .field{margin-bottom:10px}
.ar-parts textarea{font-family:var(--mono,ui-monospace,monospace);font-size:12px}
.ar-test{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.ar-test .alert{font-size:13px;border-left-width:4px}
.ar-test .alert.ok{border-left-color:var(--ok)}.ar-test .alert.warn{border-left-color:var(--warn)}.ar-test .alert.danger{border-left-color:var(--err)}.ar-test .alert.info{border-left-color:var(--info)}
#arMoving{align-items:flex-start;flex-wrap:wrap;margin-bottom:14px;border-left:4px solid var(--warn)}
.ar-bar{margin-top:10px}
.ar-moving-actions{display:flex;gap:8px;flex-wrap:wrap}
.ar-conn{margin:8px 0}
.ar-howto{margin-top:6px;font-size:13px}.ar-howto summary{cursor:pointer;color:var(--text-2)}.ar-howto p{margin:8px 0 0;line-height:1.55}
@media (max-width:760px){.ar-parts{grid-template-columns:1fr}}
