/* AIUTO → Slide eventi (#67) */
.evs { display:grid; gap:16px; max-width:1100px; }
.evs-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:end; padding:22px; }
.evs-head h2 { margin:2px 0 6px; font-size:24px; }
.evs-head p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.evs-tabs { display:flex; flex-wrap:wrap; gap:6px; }
.evs-tabs button { min-height:34px; padding:6px 14px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); font:600 13px 'DM Sans',sans-serif; cursor:pointer; }
.evs-tabs button small { margin-left:4px; color:var(--muted); font-weight:700; }
.evs-tabs button.active { background:var(--brand); border-color:var(--brand); color:#fff; }
.evs-tabs button.active small { color:#f6d6d5; }
.evs-empty p { margin:0; }

.evs-event { overflow:visible; }
.evs-event.evs-today { border-color:var(--brand); box-shadow:0 0 0 2px rgba(144,17,16,.12), 0 8px 26px rgba(61,12,14,.08); }
.evs-event-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:18px; align-items:start; padding:20px 22px; }
.evs-date { display:grid; justify-items:center; min-width:62px; padding:8px 6px; border-radius:12px; background:#f5e4e3; color:var(--brand); line-height:1.1; text-transform:uppercase; }
.evs-date b { font:800 26px Manrope,sans-serif; }
.evs-date small { font-size:10px; font-weight:800; letter-spacing:.06em; }
.evs-today .evs-date { background:var(--brand); color:#fff; }
.evs-event-info { min-width:0; }
.evs-event-info h3 { margin:2px 0 8px; font-size:19px; overflow-wrap:anywhere; }
.evs-event-when { margin:0; color:var(--muted); font-size:12px; font-weight:600; }
.evs-event-when::first-letter { text-transform:uppercase; }
.evs-relative { color:var(--brand); font-weight:800; }
.evs-event-tags { display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; margin:0; color:var(--muted); font-size:12px; }
.evs-tag { padding:2px 9px; border-radius:999px; background:#efe9e9; color:#5d4d50; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.evs-status-ready { background:var(--green2); color:var(--green); }
.evs-status-draft { background:var(--amber2); color:var(--amber); }
.evs-status-archived, .evs-status-done { background:#edf0ee; color:#617068; }
.evs-notes { margin:10px 0 0; color:var(--ink); font-size:13px; line-height:1.5; white-space:pre-line; }
.evs-event-actions { display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; align-items:center; max-width:440px; }

.evs-decks { list-style:none; margin:0; padding:0 22px 14px; }
.evs-deck { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:12px; align-items:start; padding:13px 0; border-top:1px solid var(--line); }
.evs-deck-num { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; background:#f5e4e3; color:var(--brand); font-weight:800; font-size:13px; }
.evs-deck-title { display:block; margin:3px 0 6px; font-size:15px; overflow-wrap:anywhere; }
.evs-deck-actions { display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; align-items:center; max-width:470px; }
.evs-file { display:flex; flex-wrap:wrap; gap:4px 10px; align-items:baseline; margin-top:3px; font-size:12px; color:var(--ink); }
.evs-file-meta { color:var(--muted); overflow-wrap:anywhere; }
.evs-file-meta b { color:var(--ink); }
.evs-file-kind { min-width:98px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.evs-file-missing span:last-child { color:var(--amber); font-weight:600; }
.evs-link { padding:0; border:0; background:none; color:var(--brand); font:inherit; font-size:12px; font-weight:700; text-decoration:underline; text-underline-offset:2px; cursor:pointer; }
.evs-no-decks { margin:0; padding:14px 22px 20px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }

.evs-menu { position:relative; }
.evs-menu > summary { list-style:none; }
.evs-menu > summary::-webkit-details-marker { display:none; }
.evs-menu-list { position:absolute; right:0; top:calc(100% + 4px); z-index:20; display:grid; min-width:210px; padding:6px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 14px 34px rgba(20,42,32,.16); }
.evs-menu-list button { padding:9px 10px; border:0; border-radius:8px; background:none; color:var(--ink); font:600 13px 'DM Sans',sans-serif; text-align:left; cursor:pointer; }
.evs-menu-list button:hover, .evs-menu-list button:focus-visible { background:#f5e4e3; }
.evs-danger, .evs-menu-list .evs-danger { color:var(--red); }

.evs-progress { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; align-items:center; margin-top:8px; padding:9px 11px; border-radius:10px; background:#f7f3f2; font-size:12px; }
.evs-progress-text { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 10px; color:var(--ink); }
.evs-progress-text span:last-child { color:var(--muted); }
.evs-progress-track { grid-column:1; height:6px; border-radius:999px; background:#eaddda; overflow:hidden; }
.evs-progress-track i { display:block; height:100%; border-radius:inherit; background:var(--brand); transition:width .3s ease; }
.evs-progress .btn { grid-column:2; grid-row:1 / span 2; }
.evs-progress-error { background:var(--red2); color:var(--red); }
.evs-progress-error .btn { grid-row:auto; }
.evs-progress-paused { background:var(--amber2); color:#7a4a0d; }
.evs-progress-paused .btn { grid-row:auto; }

.evs-dialog h4 { margin:16px 0 6px; font-size:13px; }
.evs-drop { position:relative; display:grid; justify-items:center; gap:4px; padding:18px 14px; border:1.5px dashed #dfcfcd; border-radius:12px; background:#fbf7f6; color:var(--ink); font-size:13px; text-align:center; }
.evs-drop:hover, .evs-drop:focus-within { border-color:var(--brand); background:#f5e4e3; }
.evs-drop b { color:var(--brand); }
.evs-drop small { max-width:460px; color:var(--muted); font-size:11px; font-weight:500; line-height:1.45; }
.evs-drop input[type="file"] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.evs-chosen { list-style:none; display:grid; gap:4px; margin:0; padding:0; }
.evs-chosen:empty { display:none; }
.evs-chosen li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 10px; padding:7px 10px; border-radius:9px; background:#f7f3f2; font-size:12px; }
.evs-chosen li small { color:var(--muted); overflow-wrap:anywhere; }
.evs-chosen .evs-file-refused { background:var(--red2); color:var(--red); }
.evs-chosen .evs-file-refused small { color:var(--red); }

.evs-form-help { margin:10px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.evs-form-error { min-height:1em; margin:10px 0 0; color:var(--red); font-size:12px; font-weight:600; }
.evs-versions { list-style:none; margin:0; padding:0; }
.evs-versions li { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:9px 0; border-top:1px solid var(--line); font-size:13px; }
.evs-versions li small { display:block; margin-top:2px; color:var(--muted); font-size:11px; overflow-wrap:anywhere; }
.evs-versions li > span { display:flex; gap:10px; white-space:nowrap; }

/* Schermata unica dell'evento: dati e scaletta */
.evs-editor { max-width:980px; }
.evs-back { justify-self:start; padding:4px 0; border:0; background:none; color:var(--brand); font:700 13px 'DM Sans',sans-serif; cursor:pointer; }
.evs-back:hover { text-decoration:underline; }
.evs-editor-form { display:grid; gap:16px; }
.evs-editor-card { display:grid; gap:14px; padding:22px; overflow:visible; }
.evs-editor-card h2 { margin:2px 0 0; font-size:24px; }
.evs-editor-grid { gap:14px 16px; }
.evs-editor .form-grid label { display:block; }
.evs-editor .form-grid input, .evs-editor .form-grid select, .evs-editor .form-grid textarea, .evs-row-title input { width:100%; margin-top:6px; padding:11px 12px; border:1px solid #dfcfcd; border-radius:10px; background:#fff; color:var(--ink); font:500 14px 'DM Sans',sans-serif; outline:0; }
.evs-editor .form-grid input:focus, .evs-editor .form-grid select:focus, .evs-editor .form-grid textarea:focus, .evs-row-title input:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(144,17,16,.12); }
.evs-editor-section h3 { margin:0; font-size:18px; }
.evs-editor-section p { margin:4px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.evs-rows { list-style:none; display:grid; gap:10px; margin:0; padding:0; }
.evs-row { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:12px; align-items:start; padding:14px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.evs-row-main { display:grid; gap:8px; min-width:0; }
.evs-row-title { font-size:11px; font-weight:700; }
.evs-row-actions { display:flex; gap:6px; align-items:center; }
.evs-row-actions .btn[disabled] { opacity:.4; cursor:default; }
.evs-row-removed { background:#f7f3f2; border-style:dashed; }
.evs-row-removed .evs-row-main b { text-decoration:line-through; color:var(--muted); }
.evs-row-removed .evs-row-main small { color:var(--red); font-size:12px; }
.evs-slot { display:flex; flex-wrap:wrap; gap:4px 10px; align-items:center; font-size:12px; }
.evs-slot .evs-file-kind { min-width:118px; }
.evs-slot-new { color:var(--green); font-weight:700; overflow-wrap:anywhere; }
.evs-slot-empty { color:var(--amber); font-weight:600; }
.evs-slot-actions { display:flex; gap:8px; align-items:center; margin-left:auto; }
.evs-no-rows { margin:0; color:var(--muted); font-size:13px; }
.evs-editor-card > [data-evs-row-add] { justify-self:start; }
.evs-editor-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px; }
.evs-editor-actions .evs-form-error { flex:1 1 260px; margin:0; }
@media (max-width:860px) {
  .evs-row { grid-template-columns:30px minmax(0,1fr); }
  .evs-row-actions { grid-column:2; }
  .evs-slot .evs-file-kind { min-width:0; width:100%; }
  .evs-slot-actions { margin-left:0; }
}

/* Modalità Presenta: sopra tutto, sfondo nero, slide centrata. */
.evs-presenter { position:fixed; inset:0; z-index:2147483000; display:grid; background:#000; color:#fff; outline:0; cursor:default; user-select:none; -webkit-user-select:none; }
.evs-presenter.evs-idle { cursor:none; }
.evs-stage { display:grid; place-items:center; width:100vw; height:100vh; height:100dvh; overflow:hidden; }
.evs-stage canvas { display:block; max-width:100%; max-height:100%; background:#fff; }
.evs-black { position:absolute; inset:0; background:#000; }
.evs-loading { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); max-width:min(560px,90vw); padding:14px 20px; border-radius:12px; background:rgba(255,255,255,.1); color:#fff; font:600 14px 'DM Sans',sans-serif; text-align:center; }
.evs-loading[hidden] { display:none; }
.evs-fallback .evs-stage iframe { width:100vw; height:100vh; height:100dvh; border:0; background:#fff; }
.evs-end { margin:0; color:#fff; font:700 22px 'DM Sans',sans-serif; text-align:center; line-height:1.6; }
.evs-end small { color:#b9b9b9; font-size:14px; font-weight:500; }
.evs-bar { position:absolute; left:50%; bottom:18px; transform:translateX(-50%); display:flex; align-items:center; gap:8px; max-width:calc(100vw - 24px); padding:7px 10px; border-radius:999px; background:rgba(20,20,20,.86); box-shadow:0 8px 30px rgba(0,0,0,.4); transition:opacity .3s ease; font:600 13px 'DM Sans',sans-serif; }
.evs-idle .evs-bar { opacity:0; pointer-events:none; }
.evs-bar button { min-height:32px; padding:4px 12px; border:0; border-radius:999px; background:rgba(255,255,255,.12); color:#fff; font:inherit; cursor:pointer; }
.evs-bar button:hover, .evs-bar button:focus-visible { background:rgba(255,255,255,.24); }
.evs-bar [data-evs-prev], .evs-bar [data-evs-next] { width:36px; padding:0; font-size:20px; }
.evs-counter { min-width:62px; text-align:center; font-variant-numeric:tabular-nums; }
.evs-bar-title { max-width:32vw; overflow:hidden; color:#cfcfcf; text-overflow:ellipsis; white-space:nowrap; }

@media (max-width:860px) {
  .evs-head, .evs-event-head { grid-template-columns:1fr; }
  .evs-event-head { gap:12px; }
  .evs-date { grid-auto-flow:column; justify-self:start; gap:6px; align-items:baseline; }
  .evs-date b { font-size:20px; }
  .evs-event-actions, .evs-deck-actions { justify-content:flex-start; max-width:none; }
  .evs-deck { grid-template-columns:30px minmax(0,1fr); }
  .evs-deck-actions { grid-column:2; }
  .evs-file-kind { min-width:0; width:100%; }
  .evs-bar-title { display:none; }
  .evs-bar [data-evs-fullscreen] { display:none; }
}
@media print { .evs-presenter { display:none; } }
