/* =========================================================
   HYPERVEX — sezione «Messaggi automatici» del coach (js/auto-msg.js)
   Tutto sotto .am: non tocca nient'altro dell'app. Usa le variabili della dashboard (--c-*), quindi segue tema chiaro/scuro/OLED
   e il colore scelto dal coach. Animazioni spente con «riduci movimento».
   ========================================================= */
.am{ --am-r:14px; }
.am-dim{ color:var(--c-txt3); font-weight:600; }
.am-lead{ margin:-6px 0 18px; max-width:760px; font-size:14px; line-height:1.55; color:var(--c-txt2); }

/* interruttore */
.am-sw{ position:relative; flex:none; width:44px; height:26px; padding:0; border:0; background:none; cursor:pointer; display:block; -webkit-tap-highlight-color:transparent; }
.am-trk{ position:absolute; left:0; top:1px; width:44px; height:24px; border-radius:14px; background:var(--c-border); transition:background .2s ease, box-shadow .25s ease; }
.am-trk i{ position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.35); transition:left .24s cubic-bezier(.2,.8,.2,1), width .16s ease; }
.am-sw.on .am-trk{ background:var(--c-accent); box-shadow:0 0 14px color-mix(in srgb, var(--c-accent) 55%, transparent); }
.am-sw.on .am-trk i{ left:23px; }
.am-sw:active .am-trk i{ width:22px; }
.am-sw.on:active .am-trk i{ left:19px; }
.am-sw:focus-visible{ outline:2px solid var(--c-accent); outline-offset:3px; border-radius:14px; }
.am-master{ display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:700; color:var(--c-txt2); margin-right:4px; }

/* avvisi in cima */
.am-pause{ display:flex; align-items:center; gap:12px; margin:0 0 16px; padding:12px 16px; border-radius:12px; background:color-mix(in srgb, var(--c-warn) 12%, var(--c-card)); border:1px solid color-mix(in srgb, var(--c-warn) 40%, transparent); color:var(--c-txt); font-size:13.5px; line-height:1.45; }
.am-pause svg{ width:18px; height:18px; flex:none; color:var(--c-warn); }
.am-pause span{ flex:1; min-width:0; }
.am-pause.am-local{ background:var(--c-bg2); border-color:var(--c-border); color:var(--c-txt2); }
.am-pause.am-local svg{ color:var(--c-txt3); }

/* lista regole */
.am-list{ display:flex; flex-direction:column; gap:14px; max-width:1020px; }
.am-rule{ display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:16px; padding:18px 20px; border-radius:var(--am-r); background:var(--c-card); border:1px solid var(--c-border);
  transition:border-color .2s ease, transform .2s ease, opacity .2s ease, box-shadow .2s ease; }
.am-rule:hover{ border-color:color-mix(in srgb, var(--c-accent) 55%, var(--c-border)); box-shadow:0 8px 28px rgba(0,0,0,.12); }
.am-rule.off{ opacity:.62; }
.am-rule.off:hover{ opacity:.9; }
.am-r-ic{ width:46px; height:46px; border-radius:13px; display:grid; place-items:center; background:color-mix(in srgb, var(--c-accent) 16%, transparent); color:var(--c-accent); }
.am-r-ic svg{ width:22px; height:22px; }
.am-r-main{ min-width:0; display:flex; flex-direction:column; gap:7px; }
.am-r-top{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.am-r-top b{ font-size:16px; font-weight:800; letter-spacing:-.2px; }
.am-tag{ display:inline-flex; align-items:center; gap:5px; height:22px; padding:0 9px; border-radius:99px; background:var(--c-bg2); border:1px solid var(--c-border); color:var(--c-txt2); font-size:11.5px; font-weight:700; }
.am-tag svg{ width:12px; height:12px; }
.am-tag.off{ background:color-mix(in srgb, var(--c-warn) 14%, transparent); border-color:color-mix(in srgb, var(--c-warn) 40%, transparent); color:var(--c-warn); }
.am-r-line{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--c-txt2); }
.am-r-line svg{ width:14px; height:14px; flex:none; color:var(--c-txt3); }
.am-r-stats{ font-size:12.5px; font-weight:600; color:var(--c-txt2); }
.am-r-stats b{ color:var(--c-txt); font-weight:800; }
.am-r-side{ display:flex; flex-direction:column; align-items:flex-end; justify-content:space-between; gap:12px; }
.am-r-btns{ display:flex; gap:4px; }
.am-ib{ width:34px; height:34px; border-radius:9px; display:grid; place-items:center; color:var(--c-txt3); background:transparent; border:1px solid transparent; cursor:pointer; transition:background .15s ease, color .15s ease, border-color .15s ease; }
.am-ib svg{ width:16px; height:16px; }
.am-ib:hover{ background:var(--c-bg2); color:var(--c-txt); border-color:var(--c-border); }
.am-ib.danger:hover{ color:var(--c-red); border-color:color-mix(in srgb, var(--c-red) 45%, transparent); }

/* il messaggio, come lo vedrà il cliente */
.am-bubble, .am-pv-b{ position:relative; display:inline-block; max-width:620px; padding:11px 15px; border-radius:16px 16px 16px 5px; font-size:14px; line-height:1.5; color:var(--c-txt);
  background:color-mix(in srgb, var(--c-accent) 13%, var(--c-bg2)); border:1px solid color-mix(in srgb, var(--c-accent) 26%, transparent); white-space:pre-wrap; word-wrap:break-word; }
.am-v{ display:inline-block; padding:0 7px; margin:0 1px; border-radius:6px; background:color-mix(in srgb, var(--c-accent) 24%, transparent); color:var(--c-accent); font-size:12.5px; font-weight:800; }
[data-cds-theme="light"] .am-v{ color:color-mix(in srgb, var(--c-accent) 85%, #000); }

/* modelli */
.am-tpls-h{ margin:30px 0 12px; }
.am-tpls-h h3{ margin:0 0 4px; font-size:16px; font-weight:800; letter-spacing:-.2px; }
.am-tpls-h span{ font-size:13px; color:var(--c-txt3); font-weight:600; }
.am-tpls{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:12px; max-width:1020px; }
.am-tpl{ display:flex; align-items:center; gap:13px; padding:14px 16px; border-radius:12px; background:var(--c-card); border:1px solid var(--c-border); transition:border-color .2s ease, transform .2s ease; }
.am-tpl:hover{ border-color:var(--c-accent); transform:translateY(-2px); }
.am-tpl-ic{ width:38px; height:38px; flex:none; border-radius:11px; display:grid; place-items:center; background:var(--c-bg2); color:var(--c-txt2); }
.am-tpl-ic svg{ width:18px; height:18px; }
.am-tpl-t{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.am-tpl-t b{ font-size:14px; font-weight:800; }
.am-tpl-t span{ font-size:12px; font-weight:600; color:var(--c-txt3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.am-use{ height:32px; padding:0 14px; border-radius:8px; border:1px solid var(--c-border); background:var(--c-bg2); color:var(--c-txt); font-size:12.5px; font-weight:800; cursor:pointer; transition:background .15s ease, color .15s ease, border-color .15s ease; }
.am-use:hover{ background:var(--c-accent); border-color:var(--c-accent); color:#fff; }

/* vuoto */
.am-empty{ display:flex; gap:16px; align-items:flex-start; max-width:760px; padding:22px 24px; border-radius:var(--am-r); background:var(--c-card); border:1px dashed var(--c-border); }
.am-empty > svg{ width:24px; height:24px; flex:none; color:var(--c-accent); margin-top:2px; }
.am-empty b{ display:block; font-size:16px; font-weight:800; margin-bottom:4px; }
.am-empty span{ display:block; font-size:13.5px; line-height:1.55; color:var(--c-txt2); }

/* risposte dei clienti */
.am-rep-list{ display:flex; flex-direction:column; gap:14px; max-width:860px; }
.am-rep{ display:flex; gap:14px; padding:18px 20px; border-radius:var(--am-r); background:var(--c-card); border:1px solid color-mix(in srgb, var(--c-accent) 45%, var(--c-border)); }
.am-rep.seen{ border-color:var(--c-border); opacity:.75; }
.am-av{ width:42px; height:42px; flex:none; border-radius:50%; display:grid; place-items:center; background:var(--c-accent); color:#fff; font-size:14px; font-weight:800; }
.am-rep.seen .am-av{ background:var(--c-border); color:var(--c-txt2); }
.am-rep-b{ flex:1; min-width:0; display:flex; flex-direction:column; gap:10px; }
.am-rep-top{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.am-rep-top b{ font-size:15px; font-weight:800; }
.am-ctx{ display:inline-flex; align-items:center; height:22px; padding:0 9px; border-radius:99px; background:color-mix(in srgb, var(--c-warn) 16%, transparent); color:var(--c-warn); font-size:11.5px; font-weight:800; }
.am-q{ padding:9px 13px; border-radius:10px; background:var(--c-bg2); border-left:3px solid var(--c-border); font-size:13px; line-height:1.5; color:var(--c-txt2); }
.am-q span{ display:block; margin-bottom:3px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--c-txt3); }
.am-a{ padding:12px 15px; border-radius:14px 14px 14px 5px; background:color-mix(in srgb, var(--c-accent) 12%, var(--c-card)); border:1px solid color-mix(in srgb, var(--c-accent) 30%, transparent); font-size:15px; font-weight:600; line-height:1.5; align-self:flex-start; max-width:640px; white-space:pre-wrap; word-wrap:break-word; }
.am-rep-act{ display:flex; gap:8px; }

/* cronologia */
.am-tblwrap{ overflow-x:auto; border-radius:var(--am-r); border:1px solid var(--c-border); background:var(--c-card); max-width:1100px; }
.am-tbl{ width:100%; border-collapse:collapse; font-size:13px; }
.am-tbl th{ text-align:left; padding:11px 16px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--c-txt3); border-bottom:1px solid var(--c-border); background:var(--c-bg2); }
.am-tbl td{ padding:12px 16px; border-bottom:1px solid var(--c-border); vertical-align:top; color:var(--c-txt2); }
.am-tbl tr:last-child td{ border-bottom:0; }
.am-tbl td b{ color:var(--c-txt); }
.am-nw{ white-space:nowrap; color:var(--c-txt3) !important; font-weight:600; }
.am-tx{ max-width:340px; }
.am-st{ display:inline-flex; align-items:center; height:22px; padding:0 10px; border-radius:99px; font-size:11.5px; font-weight:800; }
.am-st.ok{ background:color-mix(in srgb, var(--c-ok) 16%, transparent); color:var(--c-ok); }
.am-st.no{ background:color-mix(in srgb, var(--c-warn) 16%, transparent); color:var(--c-warn); }
.am-st.wait{ background:var(--c-bg2); color:var(--c-txt2); border:1px solid var(--c-border); }
.am-tbl small{ display:block; margin-top:4px; font-size:11.5px; font-weight:600; color:var(--c-txt3); }

/* impostazioni e limiti */
.am-set{ max-width:860px; border-radius:var(--am-r); background:var(--c-card); border:1px solid var(--c-border); overflow:hidden; }
.am-sec-b .am-set-r{ padding:14px 0; border-bottom:1px solid var(--c-border); }
.am-sec-b .am-set-r:last-child{ border-bottom:0; }
.am-set .am-set-r{ padding:18px 22px; border-bottom:1px solid var(--c-border); }
.am-set .am-set-r:last-child{ border-bottom:0; }
.am-set-r{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.am-set-t{ min-width:0; display:flex; flex-direction:column; gap:3px; }
.am-set-t b{ font-size:14.5px; font-weight:800; }
.am-set-t span{ font-size:12.5px; line-height:1.5; font-weight:600; color:var(--c-txt3); max-width:520px; }
.am-set-c{ flex:none; }
.am-inline{ display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:600; color:var(--c-txt2); }
.am-t2.dis{ opacity:.45; }
.am-foot{ display:flex; gap:10px; max-width:860px; margin:16px 2px 0; font-size:12.5px; line-height:1.55; font-weight:600; color:var(--c-txt3); }
.am-foot svg{ width:16px; height:16px; flex:none; margin-top:1px; }

/* campi */
.am-in{ height:38px; padding:0 12px; border-radius:9px; border:1px solid var(--c-border); background:var(--c-bg2); color:var(--c-txt); font-size:14px; font-weight:600; font-family:inherit; outline:none; transition:border-color .15s ease, box-shadow .15s ease; }
.am-in:focus{ border-color:var(--c-accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--c-accent) 22%, transparent); }
.am-in:disabled{ opacity:.5; }
.am-sel{ min-width:180px; padding-right:30px; -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%2371717A' stroke-width='2' stroke-linecap='round'><path d='m3 5 4 4 4-4'/></svg>"); background-repeat:no-repeat; background-position:right 10px center; }
.am-time{ width:112px; }
.am-wide{ width:100%; max-width:520px; }
.am-ta{ width:100%; height:auto; min-height:92px; padding:11px 13px; line-height:1.5; resize:vertical; font-weight:500; }
.am-link{ background:none; border:0; padding:4px 6px; color:var(--c-accent); font-size:12.5px; font-weight:800; cursor:pointer; }
.am-link:hover{ text-decoration:underline; }
.am-link.danger{ color:var(--c-red); }

/* editor */
.am-ed{ max-width:960px; }
.am-ed .cds-back{ width:34px; height:34px; border-radius:9px; display:inline-grid; place-items:center; margin-right:4px; color:var(--c-txt2); background:var(--c-card); border:1px solid var(--c-border); cursor:pointer; }
.am-ed .cds-back svg{ width:16px; height:16px; }
.am-sec{ margin:0 0 16px; padding:20px 22px 22px; border-radius:var(--am-r); background:var(--c-card); border:1px solid var(--c-border); }
.am-sec-h{ display:flex; gap:14px; align-items:flex-start; margin-bottom:16px; }
.am-num{ width:28px; height:28px; flex:none; border-radius:50%; display:grid; place-items:center; background:var(--c-accent); color:#fff; font-size:13px; font-weight:800; }
.am-sec-h h3{ margin:2px 0 3px; font-size:16px; font-weight:800; letter-spacing:-.2px; }
.am-sec-h p{ margin:0; font-size:13px; line-height:1.5; font-weight:600; color:var(--c-txt3); max-width:620px; }
.am-sec-b{ padding-left:42px; }
.am-trigs{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
.am-trig{ display:flex; gap:12px; align-items:flex-start; text-align:left; padding:13px 14px; border-radius:12px; border:1.5px solid var(--c-border); background:var(--c-bg2); color:var(--c-txt); cursor:pointer;
  transition:border-color .18s ease, background .18s ease, transform .15s ease; }
.am-trig:hover{ border-color:color-mix(in srgb, var(--c-accent) 60%, var(--c-border)); }
.am-trig:active{ transform:scale(.99); }
.am-trig.on{ border-color:var(--c-accent); background:color-mix(in srgb, var(--c-accent) 11%, var(--c-bg2)); box-shadow:0 0 0 3px color-mix(in srgb, var(--c-accent) 16%, transparent); }
.am-trig-ic{ width:36px; height:36px; flex:none; border-radius:10px; display:grid; place-items:center; background:var(--c-card); color:var(--c-txt2); transition:background .18s ease, color .18s ease; }
.am-trig-ic svg{ width:18px; height:18px; }
.am-trig.on .am-trig-ic{ background:var(--c-accent); color:#fff; }
.am-trig-t{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.am-trig-t b{ font-size:13.5px; font-weight:800; }
.am-trig-t span{ font-size:12px; line-height:1.45; font-weight:600; color:var(--c-txt3); }
.am-kf{ display:flex; flex-direction:column; gap:14px; margin-top:18px; padding:16px 18px; border-radius:12px; background:var(--c-bg2); border:1px solid var(--c-border); animation:amDrop .3s cubic-bezier(.2,.8,.2,1) both; }
.am-f{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:13.5px; font-weight:700; color:var(--c-txt2); }
.am-f > span:first-child{ min-width:210px; }
.am-seg{ display:inline-flex; padding:3px; border-radius:10px; background:var(--c-bg2); border:1px solid var(--c-border); gap:2px; flex-wrap:wrap; }
.am-kf .am-seg{ background:var(--c-card); }
.am-seg button{ height:32px; padding:0 14px; border-radius:7px; background:transparent; color:var(--c-txt2); font-size:13px; font-weight:700; cursor:pointer; transition:background .15s ease, color .15s ease; }
.am-seg button.on{ background:var(--c-accent); color:#fff; }
.am-days{ display:inline-flex; gap:6px; flex-wrap:wrap; }
.am-day{ width:46px; height:36px; border-radius:9px; border:1px solid var(--c-border); background:var(--c-card); color:var(--c-txt2); font-size:13px; font-weight:800; cursor:pointer; transition:background .15s ease, color .15s ease, transform .12s ease; }
.am-day.on{ background:var(--c-accent); border-color:var(--c-accent); color:#fff; }
.am-day:active{ transform:scale(.94); }
.am-cond{ padding:14px 16px; border-radius:11px; border:1px solid var(--c-border); background:var(--c-card); }
.am-cond.on{ border-color:color-mix(in srgb, var(--c-accent) 50%, var(--c-border)); }
.am-cond-h{ display:flex; gap:14px; align-items:flex-start; }
.am-cond-h b{ display:block; font-size:13.5px; font-weight:800; color:var(--c-txt); }
.am-cond-h span{ display:block; margin-top:2px; font-size:12.5px; line-height:1.5; font-weight:600; color:var(--c-txt3); }
.am-cond-b{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:13px; font-size:13px; font-weight:700; color:var(--c-txt2); }
.am-cond-b .am-sel{ min-width:0; width:auto; }
.am-warn{ display:flex; gap:9px; align-items:flex-start; margin:12px 0 0; padding:10px 12px; border-radius:9px; background:color-mix(in srgb, var(--c-warn) 11%, transparent); font-size:12.5px; line-height:1.5; font-weight:600; color:var(--c-txt2); }
.am-warn svg{ width:15px; height:15px; flex:none; margin-top:1px; color:var(--c-warn); }
.am-pick{ margin-top:12px; border-radius:11px; border:1px solid var(--c-border); background:var(--c-bg2); overflow:hidden; }
.am-pick-h{ display:flex; align-items:center; gap:6px; padding:9px; border-bottom:1px solid var(--c-border); }
.am-search{ flex:1; min-width:0; height:34px; }
.am-pick-l{ display:grid; grid-template-columns:repeat(auto-fill, minmax(230px,1fr)); gap:2px; max-height:230px; overflow:auto; padding:8px; }
.am-cli{ display:flex; align-items:center; gap:10px; height:38px; padding:0 10px; border-radius:8px; background:transparent; color:var(--c-txt); font-size:13.5px; font-weight:600; text-align:left; cursor:pointer; transition:background .12s ease; }
.am-cli:hover{ background:var(--c-card); }
.am-ck, .am-ckb{ width:20px; height:20px; flex:none; border-radius:6px; border:1.5px solid var(--c-border); display:grid; place-items:center; color:transparent; background:var(--c-card); transition:background .15s ease, border-color .15s ease, color .15s ease; }
.am-ck svg, .am-ckb svg{ width:12px; height:12px; }
.am-cli.on .am-ck{ background:var(--c-accent); border-color:var(--c-accent); color:#fff; }
.am-chk{ display:flex; gap:12px; align-items:flex-start; margin-top:16px; cursor:pointer; }
.am-who-note{ display:flex; gap:8px; align-items:flex-start; margin:12px 0 0; font-size:12.5px; line-height:1.5; color:var(--c-txt2); } .am-who-note .ic{ width:15px; height:15px; flex:none; margin-top:2px; color:var(--c-txt3); } .am-who-note b{ color:var(--c-txt); }
.am-chk input{ position:absolute; opacity:0; pointer-events:none; }
.am-chk input:checked + .am-ckb{ background:var(--c-accent); border-color:var(--c-accent); color:#fff; }
.am-chk input:focus-visible + .am-ckb{ box-shadow:0 0 0 3px color-mix(in srgb, var(--c-accent) 30%, transparent); }
.am-chk b{ display:block; font-size:13.5px; font-weight:800; }
.am-chk small{ display:block; margin-top:2px; font-size:12.5px; line-height:1.45; font-weight:600; color:var(--c-txt3); }
.am-chips{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-bottom:12px; font-size:12.5px; font-weight:700; color:var(--c-txt3); }
.am-chip{ height:28px; padding:0 11px; border-radius:99px; border:1px solid var(--c-border); background:var(--c-bg2); color:var(--c-txt); font-size:12.5px; font-weight:700; cursor:pointer; transition:background .15s ease, border-color .15s ease, color .15s ease; }
.am-chip:hover{ background:color-mix(in srgb, var(--c-accent) 16%, var(--c-bg2)); border-color:var(--c-accent); color:var(--c-accent); }
.am-var{ margin-bottom:12px; }
.am-var-h{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--c-txt3); }
.am-add{ display:inline-flex; align-items:center; gap:7px; height:36px; padding:0 14px; border-radius:9px; border:1.5px dashed var(--c-border); background:transparent; color:var(--c-txt2); font-size:13px; font-weight:800; cursor:pointer; transition:border-color .15s ease, color .15s ease; }
.am-add:hover{ border-color:var(--c-accent); color:var(--c-accent); }
.am-add svg{ width:14px; height:14px; }
.am-add small{ font-size:11.5px; font-weight:600; color:var(--c-txt3); }
.am-prev-h{ margin:20px 0 8px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--c-txt3); }
.am-pv{ margin-bottom:8px; }
.am-ed-foot{ display:flex; justify-content:flex-end; gap:9px; padding:6px 0 40px; }

/* etichetta nella sidebar */
.am-nb{ margin-left:auto; min-width:20px; height:20px; padding:0 6px; border-radius:99px; display:inline-grid; place-items:center; font-style:normal; font-size:11px; font-weight:800; color:#fff; background:var(--c-accent); }
.cds-navi.on .am-nb{ background:#fff; color:var(--c-accent); }

/* movimento: ingresso sfalsato SOLO quando si entra nella sezione, non a ogni ridisegno */
.am-body[data-in="1"] .am-rule, .am-body[data-in="1"] .am-tpl, .am-body[data-in="1"] .am-rep, .am-body[data-in="1"] .am-set, .am-body[data-in="1"] .am-empty{ animation:amIn .46s cubic-bezier(.2,.8,.2,1) both; animation-delay:calc(var(--i, 0) * 60ms); }
.am-ed .am-sec{ animation:amIn .46s cubic-bezier(.2,.8,.2,1) both; animation-delay:calc(var(--i, 0) * 70ms); }
@keyframes amIn{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
@keyframes amDrop{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }

@media (max-width:1100px){
  .am-trigs{ grid-template-columns:1fr; }
  .am-sec-b{ padding-left:0; }
  .am-rule{ grid-template-columns:42px minmax(0,1fr); }
  .am-r-side{ grid-column:1 / -1; flex-direction:row; align-items:center; }
}
@media (prefers-reduced-motion:reduce){
  .am *, .am-body *{ animation:none !important; transition:none !important; }
  .am-dot{ animation:none !important; }
}

/* stato del motore (mig. 087, 9/10/2026): orologio del server, ultimo giro, coda, silenzio */
.am-eng{ margin:0 0 18px; padding:14px 18px; max-width:1020px; border-radius:var(--am-r); background:var(--c-card); border:1px solid var(--c-border); transition:border-color .25s ease; }
.am-eng.ok{ border-color:color-mix(in srgb, var(--c-ok) 40%, var(--c-border)); }
.am-eng.late{ border-color:color-mix(in srgb, var(--c-warn) 55%, var(--c-border)); }
.am-eng.bad{ border-color:color-mix(in srgb, var(--c-red) 60%, var(--c-border)); background:color-mix(in srgb, var(--c-red) 8%, var(--c-card)); }
.am-eng-top{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:13px; font-weight:600; color:var(--c-txt2); }
.am-eng-top > b{ font-size:14.5px; font-weight:800; color:var(--c-txt); }
.am-dot{ width:10px; height:10px; flex:none; border-radius:50%; background:var(--c-txt3); }
.am-eng.ok .am-dot{ background:var(--c-ok); animation:amPulse 2.2s ease-out infinite; }
.am-eng.late .am-dot{ background:var(--c-warn); }
.am-eng.bad .am-dot{ background:var(--c-red); }
.am-eng-clock{ margin-left:auto; display:inline-flex; align-items:baseline; gap:9px; }
.am-eng-clock b{ font-size:17px; font-weight:800; letter-spacing:.4px; font-variant-numeric:tabular-nums; color:var(--c-txt); }
.am-eng-note{ margin-top:9px; font-size:13.5px; line-height:1.5; font-weight:600; color:var(--c-txt); }
.am-eng-stats{ display:flex; flex-wrap:wrap; gap:4px 20px; margin-top:9px; font-size:12.5px; font-weight:600; color:var(--c-txt3); }
.am-eng-stats b{ color:var(--c-txt); font-weight:800; }
.am-eng-pc{ display:flex; gap:9px; align-items:flex-start; margin-top:10px; padding:9px 12px; border-radius:9px; background:var(--c-bg2); font-size:12.5px; line-height:1.5; font-weight:600; color:var(--c-txt2); }
.am-eng-pc svg{ width:15px; height:15px; flex:none; margin-top:1px; color:var(--c-txt3); }
@keyframes amPulse{ 0%{ box-shadow:0 0 0 0 color-mix(in srgb, var(--c-ok) 55%, transparent); } 70%,100%{ box-shadow:0 0 0 8px transparent; } }
.am-r-next svg{ color:var(--c-accent); }
.am-hint{ display:flex; gap:9px; align-items:flex-start; margin:2px 0 0; padding:10px 12px; border-radius:9px; background:color-mix(in srgb, var(--c-accent) 9%, transparent); font-size:12.5px; line-height:1.5; font-weight:600; color:var(--c-txt2); }
.am-hint svg{ width:15px; height:15px; flex:none; margin-top:1px; color:var(--c-accent); }
.am-ib.am-test{ width:auto; padding:0 11px; gap:6px; display:inline-flex; align-items:center; color:var(--c-accent); border-color:color-mix(in srgb, var(--c-accent) 38%, var(--c-border)); font-size:12.5px; font-weight:800; }
.am-ib.am-test svg{ width:15px; height:15px; }
.am-ib.am-test:hover{ background:var(--c-accent); color:#fff; border-color:var(--c-accent); }
.cds-btn.am-busy{ opacity:.65; pointer-events:none; }

/* finestre: «Come funziona l'orologio» e «Prova» */
/* queste finestre stanno in #layer, fuori dalla dashboard: i colori --c-* li rimappo da quelli della app */
.modal:has(.am-tm){ max-width:560px; }
.am-tm{ --c-bg:var(--bg); --c-bg2:var(--surface-2); --c-card:var(--surface); --c-border:var(--line); --c-txt:var(--txt); --c-txt2:var(--txt-2); --c-txt3:var(--txt-3);
  --c-accent:var(--red); --c-ok:var(--ok); --c-warn:var(--warn); --c-red:var(--red); --am-r:12px; }
.am-tm h3{ margin:0 0 12px; padding-right:34px; font-size:19px; font-weight:800; letter-spacing:-.3px; }
.am-tm-p{ margin:0 0 16px; font-size:13.5px; line-height:1.55; font-weight:600; color:var(--c-txt2); }
.am-tm-l{ list-style:none; margin:0 0 18px; padding:0; display:flex; flex-direction:column; gap:12px; }
.am-tm-l li{ display:flex; gap:12px; align-items:flex-start; font-size:13.5px; line-height:1.55; font-weight:600; color:var(--c-txt2); }
.am-tm-l li svg{ width:18px; height:18px; flex:none; margin-top:2px; color:var(--c-accent); }
.am-tm-l b{ color:var(--c-txt); }
.am-tm-btns{ display:flex; justify-content:flex-end; gap:9px; margin-top:18px; }
.am-tm .am-f{ margin-bottom:6px; }
.am-tm .am-f > span:first-child{ min-width:90px; }
.am-tm .am-sel{ flex:1; min-width:0; }
.am-tm-res{ margin-top:14px; }
.am-ok{ display:flex; gap:10px; align-items:flex-start; padding:11px 13px; border-radius:10px; background:color-mix(in srgb, var(--c-ok) 12%, transparent); font-size:13px; line-height:1.55; font-weight:600; color:var(--c-txt2); }
.am-ok > svg{ width:16px; height:16px; flex:none; margin-top:2px; color:var(--c-ok); }
.am-ok b{ color:var(--c-txt); }
.am-ok q{ display:block; margin:8px 0; padding:9px 12px; border-radius:12px 12px 12px 4px; background:var(--c-bg2); border:1px solid var(--c-border); color:var(--c-txt); quotes:none; white-space:pre-wrap; word-wrap:break-word; }
.am-ok .btn{ margin-top:4px; }
@media (max-width:640px){ .am-eng-clock{ margin-left:0; width:100%; } }
