.fu-edit {
  --accent: #0f766e;
  --accent-2: #0e8f83;
  --accent-3: #5eead4;
  --accent-soft: rgba(15, 118, 110, 0.10);
  --accent-line: rgba(15, 118, 110, 0.32);
  --ink: #0b1220;
  --ink-2: #1e293b;
  --muted: #5b6b7c;
  --faint: #8b9aab;
  --line: rgba(148, 163, 184, 0.30);
  --line-2: rgba(148, 163, 184, 0.55);
  --field: #f1f5f9;
  --panel: #ffffff;
  --panel-2: #f6f8fa;
  --ok: #047857;
  --ok-bg: #ecfdf5;
  --ok-line: #a7f3d0;
  --warn: #a16207;
  --warn-bg: #fffbeb;
  --warn-line: #fde68a;
  --danger: #b91c1c;
  --danger-bg: #fef2f2;
  --danger-line: #fecaca;
  --info: #0e7490;
  --info-bg: #ecfeff;
  --info-line: #a5f3fc;
  --elev-1: 0 1px 2px rgba(15, 23, 42, 0.05);
  --elev-2: 0 8px 24px rgba(15, 23, 42, 0.10);
  --elev-3: 0 16px 40px rgba(15, 23, 42, 0.16);
  font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  color: var(--ink);
  line-height: 1.4;
  font-size: 13px;
}
.fu-edit button { font: inherit; color: inherit; cursor: pointer; }
.fu-edit b { font-weight: 700; }
/* ---------------------------------------------------------------------
   Componenti dell'app (dentro .artboard)
   --------------------------------------------------------------------- */
.artboard { font-size: 13px; color: var(--ink); line-height: 1.4; }
.fu-edit .artboard button { cursor: pointer; }

.fu-edit .artboard i.fas,
.fu-edit .artboard i.far { line-height: 1; }

.fu-edit .btn {
  position: relative; display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 0 12px;
  border: 1px solid var(--line-2); border-radius: 10px; background: #fff; color: var(--ink-2);
  font-size: 12.5px; font-weight: 600; white-space: nowrap; transition: border-color .12s, background .12s;
}

.fu-edit .btn:hover { border-color: var(--faint); }

.fu-edit .btn.icon { width: 34px; padding: 0; justify-content: center; }

.fu-edit .btn.ghost { border-color: transparent; background: transparent; }

.fu-edit .btn.ghost:hover { background: var(--field); }

.fu-edit .btn.primary { border-color: transparent; background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; box-shadow: 0 6px 16px var(--accent-soft); }

.fu-edit .btn.primary:hover { background: linear-gradient(135deg, #0e8f83, #0f766e); }

.fu-edit .btn.danger { color: var(--danger); }

.fu-edit .btn.danger:hover { background: var(--danger-bg); border-color: var(--danger-line); }

.fu-edit .btn.sm { min-height: 28px; padding: 0 9px; font-size: 12px; border-radius: 8px; gap: 6px; }

.fu-edit .btn.lg { min-height: 40px; padding: 0 18px; font-size: 14px; border-radius: 12px; }

.fu-edit .btn.on,
.fu-edit .btn[aria-pressed="true"].mode { background: var(--accent-soft); border-color: var(--accent-line); color: var(--accent); }

.fu-edit .btn .dot { width: 8px; height: 8px; border-radius: 50%; background: #f59e0b; }

.fu-edit .kbd {
  display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 5px;
  border: 1px solid var(--line-2); background: #fff; font-size: 10.5px; font-weight: 700; color: var(--muted);
}

.fu-edit .btn.on .kbd,
.fu-edit .btn[aria-pressed="true"].mode .kbd { border-color: var(--accent-line); color: var(--accent); }

.fu-edit .tag {
  display: inline-flex; align-items: center; gap: 4px; border-radius: 999px; padding: 2px 8px; line-height: 1.5;
  font-size: 10.5px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; white-space: nowrap;
  background: #e2e8f0; color: #475569;
}

.fu-edit .tag.teal { background: var(--accent-soft); color: var(--accent); }

.fu-edit .tag.warn { background: var(--warn-bg); color: var(--warn); box-shadow: inset 0 0 0 1px var(--warn-line); }

.fu-edit .tag.ok { background: var(--ok-bg); color: var(--ok); box-shadow: inset 0 0 0 1px var(--ok-line); }

.fu-edit .tag.danger { background: var(--danger-bg); color: var(--danger); box-shadow: inset 0 0 0 1px var(--danger-line); }

.fu-edit .tag.dash { background: #fff; color: var(--accent); border: 1px dashed var(--accent); }

.fu-edit .chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border: 1px solid var(--line-2); border-radius: 999px;
  background: #fff; font-size: 12px; font-weight: 600; color: var(--ink-2); white-space: nowrap;
}

.fu-edit .chip .d,
.fu-edit .d { width: 8px; height: 8px; border-radius: 50%; background: var(--c, var(--accent)); display: inline-block; flex: none; }

.fu-edit .chip.mut { color: var(--muted); background: var(--panel-2); }

.fu-edit .chip.dashed { border-style: dashed; }

.fu-edit .chip[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }

.fu-edit .sw { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: var(--ink-2); cursor: pointer; }

.fu-edit .sw input {
  -webkit-appearance: none; appearance: none; position: relative; flex: none; margin: 0; width: 34px; height: 20px;
  border-radius: 999px; background: #cbd5e1; cursor: pointer; transition: background .15s;
}

.fu-edit .sw input::after {
  content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); transition: transform .15s;
}

.fu-edit .sw input:checked { background: var(--accent); }

.fu-edit .sw input:checked::after { transform: translateX(14px); }

.fu-edit .seg { display: inline-flex; gap: 3px; padding: 3px; border: 1px solid var(--line-2); border-radius: 12px; background: #fff; }

.fu-edit .seg button {
  display: flex; flex-direction: column; gap: 1px; min-width: 124px; padding: 5px 12px; border: 0; border-radius: 9px;
  background: transparent; text-align: left;
}

.fu-edit .seg button b { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--ink); }

.fu-edit .seg button small { font-size: 11px; color: var(--muted); white-space: nowrap; }

.fu-edit .seg button:hover { background: var(--field); }

.fu-edit .seg button[aria-checked="true"] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); }

.fu-edit .seg button[aria-checked="true"] b { color: #fff; }

.fu-edit .seg button[aria-checked="true"] small { color: rgba(255, 255, 255, 0.85); }

.fu-edit .num {
  flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center;
  background: var(--c, var(--r1)); color: #fff; font-weight: 700; font-size: 12px; line-height: 1;
}

.fu-edit .num.dk { background: var(--ink); border-radius: 8px; font-size: 11px; }

.fu-edit .num.new { background: #fff; color: var(--accent); border: 2px dashed var(--accent); font-size: 14px; }

.fu-edit .fld { display: flex; flex-direction: column; gap: 4px; min-width: 0; }

.fu-edit .fld > label { font-size: 11.5px; font-weight: 700; color: var(--muted); }

.fu-edit .inp {
  display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 34px; padding: 0 10px;
  border: 1px solid var(--line-2); border-radius: 9px; background: #fff; font-size: 13px; color: var(--ink);
}

.fu-edit .inp > span { display: inline-flex; align-items: center; gap: 7px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.fu-edit .inp > i { color: var(--faint); font-size: 12px; }

.fu-edit .inp.changed { border-color: var(--accent); background: var(--accent-soft); }

.fu-edit .inp.focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }

.fu-edit .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

.fu-edit .helper { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ok); }

.fu-edit .was { display: flex; align-items: center; gap: 6px; font-size: 11.5px; color: var(--muted); }

.fu-edit .lnk { color: var(--accent); font-weight: 700; text-decoration: none; cursor: pointer; }

.fu-edit .more { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: var(--ink-2); }

.fu-edit .more i { font-size: 10px; color: var(--faint); }

.fu-edit .more small { color: var(--muted); font-weight: 400; font-size: 11.5px; }

.fu-edit .panel {
  display: flex; flex-direction: column; min-height: 0; overflow: hidden; position: relative;
  background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--elev-1);
}


/* ---- mappa e segnaposto ---- */
.map { position: relative; overflow: hidden; background: #edf0ec; }
.fu-edit .map > svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }

.fu-edit .map svg .rt { fill: none; stroke-linecap: round; stroke-linejoin: round; }

.fu-edit .map svg .rt.dash,
.fu-edit [data-edit="on"] .map svg .rt.touched { stroke-dasharray: 9 8; }

.fu-edit .map svg .rt.dim { opacity: 0.28; }

.fu-edit .map svg .rt-casing.dim { opacity: 0.2; }

.fu-edit .map svg .spur { fill: none; stroke: var(--accent); stroke-width: 3.5; stroke-dasharray: 2 6; stroke-linecap: round; }

.fu-edit .pin {
  position: absolute; z-index: 3; transform: translate(-50%, -50%); width: 26px; height: 26px; border-radius: 50%;
  display: grid; place-items: center; background: var(--c, var(--r1)); color: #fff; border: 2px solid #fff;
  font: 700 12px/1 'DM Sans', sans-serif; box-shadow: 0 2px 6px rgba(15, 23, 42, 0.35);
}

.fu-edit .pin.sel { z-index: 5; box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--ink), 0 4px 10px rgba(15, 23, 42, 0.3); }

.fu-edit .pin.ghost { background: #fff; color: var(--accent); border: 2px dashed var(--accent); box-shadow: none; font-size: 15px; }

.fu-edit .pin.pending { background: #fff; color: var(--accent); border: 2px dashed var(--accent); font-size: 15px; box-shadow: 0 2px 6px rgba(15, 23, 42, 0.18); }

.fu-edit .pin.removed { background: #e2e8f0; color: #64748b; border: 2px dashed #94a3b8; box-shadow: none; font-size: 14px; }

.fu-edit .pin.inline { position: relative; transform: none; left: auto; top: auto; flex: none; }

.fu-edit .pin .chg { position: absolute; top: -5px; right: -5px; width: 12px; height: 12px; border-radius: 50%; background: #f59e0b; border: 2px solid #fff; }

.fu-edit .pin.pulse::before {
  content: ""; position: absolute; inset: -9px; border-radius: 50%; border: 2px solid var(--accent); opacity: 0.55;
  animation: pulse 1.8s ease-out infinite;
}

@keyframes pulse { from { transform: scale(0.7); opacity: 0.8; } to { transform: scale(1.55); opacity: 0; } }
.fu-edit .depot {
  position: absolute; z-index: 2; transform: translate(-50%, -50%); width: 22px; height: 22px; border-radius: 7px;
  display: grid; place-items: center; background: var(--ink); color: #fff; border: 2px solid #fff; font: 700 11px/1 'DM Sans', sans-serif;
}

.fu-edit .hud { position: absolute; z-index: 10; background: #fff; border: 1px solid var(--line-2); border-radius: 12px; box-shadow: var(--elev-2); }

.fu-edit .tools { top: 12px; left: 12px; display: flex; align-items: center; gap: 2px; padding: 4px; }

.fu-edit .tool {
  display: inline-flex; align-items: center; gap: 7px; min-height: 30px; padding: 0 11px; border: 0; border-radius: 9px;
  background: transparent; font-size: 12.5px; font-weight: 600; color: var(--ink-2);
}

.fu-edit .tool:hover { background: var(--field); }

.fu-edit .tool[aria-pressed="true"] { background: var(--accent-soft); color: var(--accent); }

.fu-edit .tool.icon { width: 30px; padding: 0; justify-content: center; color: var(--muted); }

.fu-edit .vr { width: 1px; height: 20px; background: var(--line-2); margin: 0 4px; }

.fu-edit .modechip { top: 12px; right: 12px; display: flex; align-items: center; gap: 8px; padding: 6px 12px; font-size: 12.5px; font-weight: 600; }

.fu-edit .modechip .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }

.fu-edit .bubble {
  left: 50%; bottom: 14px; transform: translateX(-50%); padding: 7px 15px; border-radius: 999px;
  font-size: 12.5px; color: var(--ink-2); white-space: nowrap; display: flex; align-items: center; gap: 8px;
}

.fu-edit .bubble i { color: var(--accent); }

.fu-edit .zoom { right: 12px; bottom: 12px; display: flex; flex-direction: column; overflow: hidden; }

.fu-edit .zoom button { width: 30px; height: 30px; border: 0; background: #fff; font-size: 17px; font-weight: 600; color: var(--ink-2); }

.fu-edit .zoom button + button { border-top: 1px solid var(--line); }

.fu-edit .attrib { position: absolute; left: 8px; bottom: 4px; z-index: 4; font-size: 9.5px; color: #8b9aab; }


/* ---- barra comando ---- */
.cmd { position: relative; flex: none; height: 60px; display: flex; align-items: center; gap: 14px; padding: 0 14px; background: #fff; border-bottom: 1px solid var(--line); }
.fu-edit .brand { display: flex; align-items: center; gap: 9px; padding-right: 14px; border-right: 1px solid var(--line); }

.fu-edit .brand img { height: 30px; width: auto; display: block; }

.fu-edit .brand b { display: block; font-family: Outfit, sans-serif; font-size: 17px; line-height: 1; color: var(--ink); }

.fu-edit .brand small { display: block; margin-top: 3px; font-size: 9px; font-weight: 800; letter-spacing: 0.16em; color: var(--accent); }

.fu-edit .ttl { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--ink); white-space: nowrap; }

.fu-edit .ttl i { color: var(--faint); font-size: 11px; }

.fu-edit .kpis { display: flex; gap: 14px; font-size: 12.5px; color: var(--muted); white-space: nowrap; }

.fu-edit .kpis b { color: var(--ink); font-weight: 700; }

.fu-edit .acts { margin-left: auto; display: flex; align-items: center; gap: 6px; }


/* ---- roster ---- */
.ro-h { display: flex; align-items: center; justify-content: space-between; padding: 13px 14px 8px; font-size: 11.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.fu-edit .ro-h b { background: var(--field); border-radius: 999px; padding: 1px 9px; letter-spacing: 0; color: var(--ink-2); }

.fu-edit .drv { position: relative; margin: 0 10px 8px; padding: 10px 10px 10px 17px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }

.fu-edit .drv::before { content: ""; position: absolute; left: 0; top: 11px; bottom: 11px; width: 4px; border-radius: 0 4px 4px 0; background: var(--c); }

.fu-edit .drv.sel { border-color: var(--accent-line); background: #f0fdfa; }

.fu-edit .drv .n { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-weight: 700; font-size: 13.5px; color: var(--ink); }

.fu-edit .drv .s { margin-top: 2px; font-size: 12px; color: var(--muted); }

.fu-edit .drv .t { margin-top: 7px; display: flex; flex-wrap: wrap; gap: 4px; min-height: 18px; }

.fu-edit .excl { margin: 4px 10px 0; padding: 10px; border: 1.5px dashed var(--line-2); border-radius: 12px; background: var(--panel-2); position: relative; }

.fu-edit .excl .eh { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; font-size: 11.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }

.fu-edit .excl .it { padding: 8px 9px; border-radius: 10px; background: #fff; border: 1px solid var(--line); font-size: 12px; color: var(--ink-2); }

.fu-edit .excl .it b { display: block; font-size: 12.5px; }

.fu-edit .excl .it small { display: block; color: var(--muted); margin-top: 1px; }

.fu-edit .excl .it .acts2 { margin-top: 7px; display: flex; gap: 6px; }


/* ---- vista Rotte (colonna destra della Tower) ---- */
.tabs { flex: none; display: flex; border-bottom: 1px solid var(--line); background: #fff; }
.fu-edit .tab {
  position: relative; flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; height: 46px; padding: 0 4px;
  border: 0; border-bottom: 2px solid transparent; background: transparent; font-size: 12px; font-weight: 600; color: var(--muted); white-space: nowrap;
}

.fu-edit .tab[aria-selected="true"] { color: var(--accent); border-bottom-color: var(--accent); }

.fu-edit .tab .bdg { width: 7px; height: 7px; border-radius: 50%; background: #f59e0b; }

.fu-edit .rhead { flex: none; display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--line); }

.fu-edit .rhead .dr { display: flex; align-items: center; gap: 10px; min-width: 0; }

.fu-edit .rhead .dr b { font-size: 14px; }

.fu-edit .rhead .dr small { display: block; font-size: 12px; color: var(--muted); }

.fu-edit .rhead .tl { margin-left: auto; display: flex; gap: 4px; }

.fu-edit .wb { flex: 1; min-height: 0; display: grid; grid-template-columns: 240px minmax(0, 1fr); }

.fu-edit .tlc { display: flex; flex-direction: column; gap: 6px; padding: 10px; background: var(--panel-2); border-right: 1px solid var(--line); overflow: hidden; }

.fu-edit .stop { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 9px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 11px; background: #fff; position: relative; }

.fu-edit .stop b { display: block; font-size: 12.8px; line-height: 1.25; }

.fu-edit .stop small { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 6px; margin-top: 2px; font-size: 11.5px; color: var(--muted); }

.fu-edit .stop.sel { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }

.fu-edit .stop.new { border: 1px dashed var(--accent); background: #f0fdfa; }

.fu-edit .stop.edge { background: transparent; border-style: dashed; }

.fu-edit .stop.gone { background: var(--panel-2); border-style: dashed; opacity: 0.8; }

.fu-edit .stop.gone b { text-decoration: line-through; color: var(--muted); }

.fu-edit .tlnote { display: flex; align-items: center; gap: 7px; padding: 6px 8px; border-radius: 9px; background: var(--warn-bg); color: var(--warn); font-size: 11.5px; font-weight: 600; box-shadow: inset 0 0 0 1px var(--warn-line); }

.fu-edit .insp { display: flex; flex-direction: column; gap: 11px; padding: 14px; min-width: 0; overflow: hidden; }

.fu-edit .ih { display: flex; align-items: center; gap: 10px; }

.fu-edit .ih > div { min-width: 0; flex: 1; }

.fu-edit .ih b { display: block; font-size: 13.5px; }

.fu-edit .ih small { display: block; font-size: 11.5px; color: var(--muted); }

.fu-edit .ia { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }

.fu-edit .kv { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 7px 10px; font-size: 12.5px; }

.fu-edit .kv span:nth-child(odd) { color: var(--muted); }

.fu-edit .insp .hintbox,
.fu-edit .hintbox { display: flex; gap: 8px; padding: 9px 11px; border-radius: 10px; background: var(--field); color: var(--muted); font-size: 12px; }


/* ---- tray delle modifiche ---- */
.tray { position: relative; flex: none; height: 134px; display: flex; flex-direction: column; gap: 8px; padding: 10px 14px; background: var(--panel-2); border-top: 1px solid var(--line); }
.fu-edit .tr1 { display: flex; align-items: center; gap: 8px; min-height: 26px; white-space: nowrap; }

.fu-edit .tr1 .cnt { display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 700; color: var(--ink); }

.fu-edit .tr1 .cnt i { color: var(--accent); }

.fu-edit .tr1 .lab { margin-left: 4px; font-size: 11.5px; color: var(--muted); }

.fu-edit .tr2 { display: flex; align-items: center; gap: 8px; }

.fu-edit .tr2 .sp { flex: 1; }

.fu-edit .tr3 { display: flex; align-items: center; gap: 10px; min-height: 24px; font-size: 12px; color: var(--muted); }

.fu-edit .tr3 > i { color: var(--faint); }

.fu-edit .tray.view { align-items: center; justify-content: center; text-align: center; gap: 10px; }

.fu-edit .tray.view p { margin: 0; max-width: 46ch; color: var(--muted); font-size: 13px; }


/* ---- visibilità legata allo stato ---- */
[data-edit="off"] .only-edit { display: none !important; }
.fu-edit [data-edit="on"] .only-view { display: none !important; }

.fu-edit [data-level="quick"] .lv-full { display: none !important; }

.fu-edit [data-level="full"] .lv-quick { display: none !important; }

.fu-edit [data-tool]:not([data-tool="add"]) .t-add { display: none !important; }

.fu-edit [data-tool]:not([data-tool="move"]) .t-move { display: none !important; }

.fu-edit [data-tool="move"] .pin.sel::after {
  content: ""; position: absolute; inset: -11px; border-radius: 50%; border: 2px dashed var(--accent);
}

.fu-edit .bubble span { display: none; }

.fu-edit [data-tool="select"] .bubble .h-select,
.fu-edit [data-tool="add"] .bubble .h-add,
.fu-edit [data-tool="move"] .bubble .h-move { display: inline; }

.fu-edit [data-edit="on"] .map.edit-frame::after { content: ""; position: absolute; inset: 0; z-index: 8; pointer-events: none; border: 2px solid var(--accent-line); }

.fu-edit [data-edit="on"] .cmd::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: linear-gradient(90deg, var(--accent), var(--accent-3)); }


/* ---- Tower (mockup 1) ---- */
.tower { width: 1400px; height: 820px; display: flex; flex-direction: column; position: relative; overflow: hidden; border-radius: 14px; background: linear-gradient(180deg, #f1f5f9, #e6eeef); }
.fu-edit .shell { flex: 1; min-height: 0; display: grid; grid-template-columns: 200px 640px minmax(0, 1fr); gap: 10px; padding: 10px; }

.fu-edit .mapwrap { display: flex; flex-direction: column; min-height: 0; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--elev-1); }

.fu-edit .mapwrap .map { flex: 1; min-height: 0; }


/* ---- popup, menu, schede sulla mappa ---- */
.popup {
  position: relative; width: 300px; display: flex; flex-direction: column; gap: 10px; padding: 14px;
  background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--elev-3);
}
.fu-edit .popup::after {
  content: ""; position: absolute; left: 50%; bottom: -8px; width: 16px; height: 16px; background: #fff; transform: translateX(-50%) rotate(45deg);
  border-right: 1px solid var(--line); border-bottom: 1px solid var(--line);
}

.fu-edit .popup.notail::after { display: none; }

.fu-edit .popup.left::after { left: -8px; bottom: auto; top: var(--tail, 60px); transform: rotate(45deg); border-right: 0; border-bottom: 0; border-left: 1px solid var(--line); border-top: 0; border-bottom: 1px solid var(--line); }

.fu-edit .ph { display: flex; align-items: center; gap: 10px; }

.fu-edit .ph > div { flex: 1; min-width: 0; }

.fu-edit .ph b { display: block; font-size: 14px; }

.fu-edit .ph small { display: block; font-size: 12px; color: var(--muted); }

.fu-edit .ph .x { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; color: var(--faint); border: 0; background: transparent; }

.fu-edit .pk { display: flex; align-items: flex-start; gap: 9px; font-size: 12.5px; color: var(--ink-2); }

.fu-edit .pk > i { width: 14px; margin-top: 2px; text-align: center; color: var(--faint); font-size: 12px; }

.fu-edit .pk b { font-weight: 700; }

.fu-edit .pk small { color: var(--muted); }

.fu-edit .pa { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 10px; border-top: 1px solid var(--line); }

.fu-edit .pa.end { justify-content: flex-end; }

.fu-edit .menu {
  width: 252px; padding: 5px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--elev-3);
}

.fu-edit .menu .mh { padding: 8px 10px 9px; border-bottom: 1px solid var(--line); margin-bottom: 4px; }

.fu-edit .menu .mh small { display: block; font-size: 11px; color: var(--muted); }

.fu-edit .menu .mh b { font-size: 13px; }

.fu-edit .menu .mi {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 34px; padding: 0 10px; border: 0; border-radius: 8px;
  background: transparent; text-align: left; font-size: 13px; font-weight: 500; color: var(--ink-2);
}

.fu-edit .menu .mi:hover,
.fu-edit .menu .mi.hot { background: var(--accent-soft); color: var(--accent); }

.fu-edit .menu .mi i { width: 16px; text-align: center; font-size: 12.5px; color: var(--faint); }

.fu-edit .menu .mi.hot i { color: var(--accent); }

.fu-edit .menu .mi .k { margin-left: auto; }

.fu-edit .menu .mi.danger { color: var(--danger); }

.fu-edit .menu .mi.danger i { color: var(--danger); }

.fu-edit .menu .sepl { height: 1px; background: var(--line); margin: 4px 6px; }

.fu-edit .scene {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 440px; padding: 16px;
  border: 1px solid #c3d0d8; border-radius: 18px; overflow: hidden; background: #edf0ec;
}

.fu-edit .scene > svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }

.fu-edit .scene > * { position: relative; }

.fu-edit .scene > svg { position: absolute; }

.fu-edit .scene.top { justify-content: flex-start; align-items: flex-start; padding-top: 70px; padding-left: 50px; }

.fu-edit .scene .tag-s {
  position: absolute; z-index: 5; top: 12px; left: 12px; width: 26px; height: 26px; border-radius: 9px; background: var(--ink); color: #fff;
  display: grid; place-items: center; font: 700 13px/1 'DM Sans', sans-serif;
}

.fu-edit .scenes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: 22px 20px; }

.fu-edit .cap b { display: block; font-size: 15px; color: #0f172a; }

.fu-edit .cap span { display: block; margin-top: 2px; font-size: 13.5px; color: #475569; }

.fu-edit .cheat { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 20px 22px; height: 440px; display: flex; flex-direction: column; gap: 14px; }

.fu-edit .cheat h3 { font-size: 17px; }

.fu-edit .cheat .row { display: flex; align-items: center; gap: 12px; font-size: 13.5px; color: #334155; }

.fu-edit .cheat .row > i { width: 30px; height: 30px; flex: none; display: grid; place-items: center; border-radius: 9px; background: var(--accent-soft); color: var(--accent); font-size: 13px; }

.fu-edit .cheat .row b { color: #0f172a; }

.fu-edit .cheat .keys { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 2px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; }

.fu-edit .cheat .keys span { display: inline-flex; align-items: center; gap: 7px; }

.fu-edit .click-mark { position: absolute; z-index: 4; width: 14px; height: 14px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 6px var(--accent-soft); transform: translate(-50%, -50%); }


/* ---- aggiungi consegna (mockup 3) ---- */
.addboard { width: 1240px; height: 760px; position: relative; overflow: hidden; border-radius: 14px; background: #fff; border: 1px solid var(--line); }
.fu-edit .addboard .map { position: absolute; inset: 0; }

.fu-edit .steps { top: 12px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 6px; padding: 6px 12px; font-size: 12px; font-weight: 600; color: var(--muted); white-space: nowrap; }

.fu-edit .steps .s { display: inline-flex; align-items: center; gap: 6px; }

.fu-edit .steps .s b { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: var(--field); color: var(--muted); font-size: 11px; }

.fu-edit .steps .s.done { color: var(--ok); }

.fu-edit .steps .s.done b { background: var(--ok-bg); color: var(--ok); }

.fu-edit .steps .s.cur { color: var(--ink); }

.fu-edit .steps .s.cur b { background: var(--accent); color: #fff; }

.fu-edit .steps .ar { color: var(--faint); font-size: 10px; }

.fu-edit .addcard { position: absolute; z-index: 20; left: 296px; top: 56px; width: 356px; --tail: 392px; }

.fu-edit .addcard .fld > label { font-size: 11.5px; }

.fu-edit .ac { display: flex; flex-wrap: wrap; gap: 6px; }

.fu-edit .sugg { position: absolute; z-index: 30; left: 14px; right: 14px; top: 118px; background: #fff; border: 1px solid var(--line-2); border-radius: 11px; box-shadow: var(--elev-3); padding: 4px; display: none; }

.fu-edit .addcard.suggest .sugg { display: block; }

.fu-edit .sugg button { display: flex; align-items: flex-start; gap: 9px; width: 100%; padding: 8px 9px; border: 0; border-radius: 8px; background: transparent; text-align: left; font-size: 12.5px; }

.fu-edit .sugg button:hover,
.fu-edit .sugg button.hot { background: var(--accent-soft); }

.fu-edit .sugg button i { margin-top: 2px; color: var(--faint); }

.fu-edit .sugg button small { display: block; color: var(--muted); }

.fu-edit .estimate { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; border: 1px dashed var(--accent); border-radius: 11px; background: #f0fdfa; }

.fu-edit .estimate b { font-size: 13px; }

.fu-edit .estimate .m { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 12.5px; color: var(--ink-2); }

.fu-edit .estimate .m i { color: var(--accent); margin-right: 4px; }

.fu-edit .estimate .bad { color: var(--danger); font-weight: 600; }

.fu-edit .estimate.bad-box { border-color: var(--danger-line); background: var(--danger-bg); }

.fu-edit .effect { position: absolute; z-index: 20; right: 18px; bottom: 18px; width: 330px; padding: 14px; display: flex; flex-direction: column; gap: 10px; }

.fu-edit .effect .eh { display: flex; align-items: center; gap: 9px; }

.fu-edit .effect .eh b { font-size: 13.5px; }

.fu-edit .effect .eh small { display: block; font-size: 11.5px; color: var(--muted); }

.fu-edit .fx { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 8px; font-size: 12.5px; padding: 6px 0; border-top: 1px solid var(--line); }

.fu-edit .fx:first-of-type { border-top: 0; }

.fu-edit .fx .num { width: 22px; height: 22px; font-size: 11px; }

.fu-edit .fx .tm { font-variant-numeric: tabular-nums; font-weight: 700; white-space: nowrap; }

.fu-edit .fx .tm s { color: var(--faint); font-weight: 500; margin-right: 4px; }

.fu-edit .fx .tm em { font-style: normal; color: var(--danger); margin-left: 5px; }

.fu-edit .fx.newrow { background: #f0fdfa; margin: 0 -8px; padding: 6px 8px; border-radius: 9px; border-top-color: transparent; }

.fu-edit .fx.endrow { color: var(--muted); }

.fu-edit .toast {
  position: absolute; z-index: 40; left: 50%; bottom: 20px; transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
  display: flex; align-items: center; gap: 10px; padding: 11px 16px; border-radius: 12px; background: var(--ink); color: #fff; font-size: 13px; font-weight: 600;
  transition: transform .25s, opacity .25s;
}

.fu-edit .toast i { color: var(--accent-3); }

.fu-edit .toast.show { transform: translate(-50%, 0); opacity: 1; }


/* ---- dialogo applica e pubblica (mockup 4) ---- */
.dlgroot { width: 1280px; height: 820px; position: relative; overflow: hidden; border-radius: 14px; background: linear-gradient(180deg, #f1f5f9, #e6eeef); }
.fu-edit .sk-cmd { height: 58px; display: flex; align-items: center; gap: 14px; padding: 0 14px; background: #fff; border-bottom: 1px solid var(--line); }

.fu-edit .sk-bar { height: 10px; border-radius: 6px; background: #e2e8f0; }

.fu-edit .sk-body { position: absolute; left: 0; right: 0; top: 58px; bottom: 0; display: grid; grid-template-columns: 190px minmax(0, 1fr) 420px; gap: 10px; padding: 10px; }

.fu-edit .sk-panel { position: relative; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 10px; }

.fu-edit .sk-card { height: 64px; border-radius: 12px; border: 1px solid var(--line); background: #fff; padding: 12px 12px 12px 18px; position: relative; display: flex; flex-direction: column; gap: 8px; }

.fu-edit .sk-card::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 4px; border-radius: 0 4px 4px 0; background: var(--c); }

.fu-edit .scrim { position: absolute; inset: 0; z-index: 40; display: grid; place-items: center; background: rgba(15, 23, 42, 0.52); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); }

.fu-edit .dialog { width: 720px; max-height: 776px; display: flex; flex-direction: column; background: #fff; border-radius: 18px; box-shadow: 0 30px 80px rgba(15, 23, 42, 0.38); overflow: hidden; }

.fu-edit .dh { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--line); }

.fu-edit .dh .ic { width: 36px; height: 36px; flex: none; display: grid; place-items: center; border-radius: 11px; background: var(--accent-soft); color: var(--accent); font-size: 15px; }

.fu-edit .dh .ic.ok { background: var(--ok-bg); color: var(--ok); }

.fu-edit .dh b { display: block; font-size: 16px; }

.fu-edit .dh small { display: block; color: var(--muted); font-size: 12.5px; }

.fu-edit .dh .x { margin-left: auto; width: 30px; height: 30px; border: 0; border-radius: 9px; background: transparent; color: var(--faint); }

.fu-edit .db { display: flex; flex-direction: column; gap: 14px; padding: 16px 20px; overflow: hidden; }

.fu-edit .df { display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-top: 1px solid var(--line); background: var(--panel-2); }

.fu-edit .df .sp { flex: 1; }

.fu-edit .df small { color: var(--muted); font-size: 12px; }

.fu-edit .sec-t { font-size: 11px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }

.fu-edit .chg-row { display: grid; grid-template-columns: 82px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 9px 0; border-top: 1px solid var(--line); }

.fu-edit .chg-row:first-of-type { border-top: 0; }

.fu-edit .chg-row b { display: block; font-size: 13px; }

.fu-edit .chg-row small { display: block; font-size: 12px; color: var(--muted); }

.fu-edit .tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.fu-edit .tile {
  position: relative; display: flex; flex-direction: column; gap: 7px; padding: 14px 14px 14px 46px; text-align: left;
  border: 1.5px solid var(--line-2); border-radius: 14px; background: #fff;
}

.fu-edit .tile::before { content: ""; position: absolute; left: 15px; top: 16px; width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--line-2); background: #fff; }

.fu-edit .tile[aria-checked="true"] { border-color: var(--accent); background: linear-gradient(180deg, #f0fdfa, #fff 75%); }

.fu-edit .tile[aria-checked="true"]::before { border-color: var(--accent); background: radial-gradient(circle, var(--accent) 42%, #fff 48%); }

.fu-edit .tile .th { display: flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 700; color: var(--ink); }

.fu-edit .tile .th i { color: var(--accent); }

.fu-edit .tile .th .tm { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--muted); }

.fu-edit .tile ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: #475569; }

.fu-edit .tile li { display: flex; gap: 7px; }

.fu-edit .tile li i { margin-top: 3px; font-size: 10px; color: var(--accent); }

.fu-edit .opt-row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 11px; background: var(--panel-2); border: 1px solid var(--line); font-size: 12.5px; color: var(--muted); }

.fu-edit .opt-row i { color: var(--faint); }

.fu-edit .tbl { width: 100%; border-collapse: collapse; font-size: 13px; }

.fu-edit .tbl th { text-align: left; padding: 0 0 8px; font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }

.fu-edit .tbl td { padding: 10px 0; border-top: 1px solid var(--line); }

.fu-edit .tbl th.r,
.fu-edit .tbl td.r { text-align: right; }

.fu-edit .tbl td .who { display: flex; align-items: center; gap: 9px; font-weight: 700; }

.fu-edit .tbl tr.tot td { font-weight: 700; border-top: 2px solid var(--line-2); }

.fu-edit .dl { font-weight: 700; font-variant-numeric: tabular-nums; }

.fu-edit .dl.good { color: var(--ok); }

.fu-edit .dl.bad { color: var(--danger); }

.fu-edit .dl.eq { color: var(--muted); font-weight: 500; }

.fu-edit .alert { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; border: 1px solid; font-size: 13px; }

.fu-edit .alert > i { margin-top: 2px; }

.fu-edit .alert b { display: block; }

.fu-edit .alert.warn { background: var(--warn-bg); border-color: var(--warn-line); color: #713f12; }

.fu-edit .alert.warn > i { color: var(--warn); }

.fu-edit .alert.ok { background: var(--ok-bg); border-color: var(--ok-line); color: #065f46; }

.fu-edit .alert.ok > i { color: var(--ok); }

.fu-edit .alert.info { background: var(--info-bg); border-color: var(--info-line); color: #155e75; }

.fu-edit .alert .acts3 { margin-top: 8px; display: flex; gap: 6px; }

.fu-edit .spinner { width: 54px; height: 54px; border-radius: 50%; border: 5px solid var(--accent-soft); border-top-color: var(--accent); animation: spin 0.9s linear infinite; }

@keyframes spin { to { transform: rotate(360deg); } }
.fu-edit .run { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 22px 0 10px; text-align: center; }

.fu-edit .run b { font-size: 15px; }

.fu-edit .pbar { width: 100%; max-width: 420px; height: 8px; border-radius: 999px; background: var(--field); overflow: hidden; }

.fu-edit .pbar i { display: block; width: 0; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--accent), var(--accent-3)); }

.fu-edit [data-step="running"] .pbar i { animation: fill 2.2s ease-out forwards; }

@keyframes fill { to { width: 100%; } }
.fu-edit .run ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; font-size: 13px; color: var(--muted); text-align: left; }

.fu-edit .run li { display: flex; align-items: center; gap: 9px; }

.fu-edit .run li i { width: 14px; text-align: center; color: var(--ok); }

.fu-edit .run li.wait i { color: var(--faint); }

.fu-edit .pub { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid var(--line); }

.fu-edit .pub:first-of-type { border-top: 0; }

.fu-edit .pub .d { width: 12px; height: 12px; }

.fu-edit .pub b { display: block; font-size: 13.5px; }

.fu-edit .pub small { display: block; font-size: 12px; color: var(--muted); }

.fu-edit .pub.skip { opacity: 0.6; }

.fu-edit .big-ok { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 18px 0 6px; text-align: center; }

.fu-edit .big-ok .ring { width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center; background: var(--ok-bg); color: var(--ok); font-size: 26px; box-shadow: 0 0 0 8px rgba(4, 120, 87, 0.08); }

.fu-edit .big-ok b { font-size: 16px; }

.fu-edit .big-ok p { margin: 0; max-width: 46ch; color: var(--muted); font-size: 13px; }

.fu-edit [data-step]:not([data-step="choose"]) .s-choose,
.fu-edit [data-step]:not([data-step="running"]) .s-running,
.fu-edit [data-step]:not([data-step="result"]) .s-result,
.fu-edit [data-step]:not([data-step="publish"]) .s-publish,
.fu-edit [data-step]:not([data-step="done"]) .s-done,
.fu-edit [data-step]:not([data-step="blocked"]) .s-blocked { display: none !important; }
.fu-edit [data-level="quick"] .lv-full { display: none !important; }
.fu-edit [data-level="full"] .lv-quick { display: none !important; }

.fu-edit.overlay { position: absolute; inset: 0; z-index: 860; pointer-events: none; }
body.ps-edit-mode #planning-studio-root .leaflet-bottom {
  bottom: 158px;
}
body.ps-edit-mode #planning-studio-root .leaflet-top,
body.ps-edit-mode #planning-studio-root .leaflet-bottom {
  z-index: 500;
}
body.ps-edit-mode #planning-studio-root #ps-map-hud {
  display: none;
}
body.ps-edit-mode .ps-edit-route-tag {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
}
body.ps-edit-mode .ps-edit-route-tag.is-touched {
  background: rgba(15, 118, 110, 0.10);
  color: #0f766e;
}
body.ps-edit-mode .fu-edit .bubble { bottom: 168px; }
body.ps-edit-mode .fu-edit .menu { z-index: 2000; }
.fu-edit.overlay .hud { pointer-events: auto; }
.fu-edit.tray-host { position: absolute; left: 0; right: 0; bottom: 0; z-index: 900; pointer-events: auto; }
.fu-edit .tray { position: relative; height: auto; min-height: 118px; }
.fu-edit.scrim { position: fixed; inset: 0; z-index: 12000; }
.fu-edit .dialog { width: min(720px, calc(100vw - 24px)); max-height: calc(100vh - 24px); }
.fu-edit .addcard { position: absolute; z-index: 20; right: 16px; top: 64px; left: auto; width: min(356px, calc(100% - 32px)); }
#ps-map-slot > .fu-edit.add-host {
  position: absolute;
  inset: 0;
  z-index: 1200;
  pointer-events: none;
}
#ps-map-slot > .fu-edit.add-host .addcard {
  pointer-events: auto;
  max-height: calc(100% - 80px);
  overflow: auto;
}
#ps-map-slot > .fu-edit.menu {
  position: absolute;
  z-index: 1300;
}
.fu-edit .addcard .fu-mp-edit {
  gap: 10px;
}
.fu-edit .addcard .fu-mp-edit__scroll {
  max-height: none;
  overflow: visible;
  gap: 10px;
  padding-right: 0;
}
.fu-edit .addcard .fu-mp-edit__field > span {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: 0.01em;
}
.fu-edit .addcard .fu-mp-edit__field input:not([type="checkbox"]),
.fu-edit .addcard .fu-mp-edit__field select,
.fu-edit .addcard .fu-mp-edit__field textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(15, 23, 42, 0.03);
  font: inherit;
  font-size: 13px;
  color: var(--ink);
  outline: none;
}
.fu-edit .addcard .fu-mp-edit__field textarea {
  min-height: 64px;
  resize: vertical;
}
.fu-edit .addcard .fu-mp-edit__field input:not([type="checkbox"]):hover,
.fu-edit .addcard .fu-mp-edit__field select:hover,
.fu-edit .addcard .fu-mp-edit__field textarea:hover {
  border-color: #94a3b8;
}
.fu-edit .addcard .fu-mp-edit__field input:not([type="checkbox"]):focus,
.fu-edit .addcard .fu-mp-edit__field select:focus,
.fu-edit .addcard .fu-mp-edit__field textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}
.fu-edit .addcard .fu-mp-edit__field--check {
  flex-direction: row;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
  background: #fff;
}
.fu-edit .addcard .fu-mp-edit__field--check input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--accent);
}
.fu-edit .addcard .fu-mp-edit__row {
  gap: 8px;
}
.fu-edit .addcard .estimate {
  border-style: solid;
  border-color: var(--accent-line);
}
.leaflet-popup.fu-edit-popup .leaflet-popup-content-wrapper {
  background: transparent;
  box-shadow: none;
  padding: 0;
  border-radius: 14px;
}
.leaflet-popup.fu-edit-popup .leaflet-popup-content {
  margin: 0;
  width: 300px !important;
}
.leaflet-popup.fu-edit-popup .leaflet-popup-tip {
  background: #fff;
}
.fu-edit .popup .inp input,
.fu-edit .addcard .inp input {
  flex: 1;
  width: 100%;
  min-width: 0;
  min-height: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font: inherit;
  font-size: 13px;
  color: var(--ink);
  outline: none;
}
.fu-edit .addcard .inp:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}
.fu-edit .addcard .ac { margin-top: 2px; }
.fu-edit .addcard details.morebox > summary {
  list-style: none;
  cursor: pointer;
}
.fu-edit .addcard details.morebox > summary::-webkit-details-marker { display: none; }
.fu-edit .addcard details.morebox > summary i { transition: transform .15s ease; }
.fu-edit .addcard details.morebox[open] > summary i { transform: rotate(90deg); }
.fu-edit .addcard details.morebox .extra {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
.fu-edit .addcard .hud.steps,
.fu-edit.add-host .hud.steps { pointer-events: none; }
.fu-edit .menu { position: absolute; z-index: 30; }
#ps-action-edit-mode.is-active {
  background: rgba(15, 118, 110, 0.10);
  border-color: rgba(15, 118, 110, 0.32);
  color: #0f766e;
}
body.planning-studio-active .pac-container {
  z-index: 30000 !important;
}
