/* ================================================================
   IPBA Layout Editor - tema grafico del sito ipba.it
   Token presi dal sito: index.aspx (home) e includes/i_menu.ascx
   (sidebar), quindi chiaro + scuro con l'attributo data-ipba-theme
   sull'elemento html, esattamente come le altre pagine.
      ================================================================ */
:root{
 color-scheme:light;
 --ipba-page-bg:#ecf0f5;--ipba-surface:#ffffff;--ipba-surface-alt:#f7f9fa;--ipba-surface-muted:#f0f4f6;
 --ipba-border:#dce4e8;--ipba-field-border:#cbd5da;
 --ipba-title:#26343b;--ipba-text:#34434d;--ipba-muted:#71808a;
 --ipba-accent:#00acd6;--ipba-accent-strong:#007f9f;--ipba-accent-soft:#e1f6fb;
 --ipba-success:#00a65a;--ipba-warning:#f39c12;--ipba-danger:#c0392b;
 --ipba-shadow:rgba(31,60,68,.07);--ipba-scrim:rgba(31,44,50,.5);
 /* alias interni dell'editor */
 --bg:var(--ipba-page-bg);--panel:var(--ipba-surface);--soft:var(--ipba-surface-alt);--muted-surface:var(--ipba-surface-muted);
 --ink:var(--ipba-text);--title:var(--ipba-title);--muted:var(--ipba-muted);
 --line:var(--ipba-border);--line-soft:var(--ipba-border);--field:var(--ipba-field-border);
 --accent:var(--ipba-accent);--accent-border:var(--ipba-accent-strong);--accent-soft:var(--ipba-accent-soft);--accent-ink:var(--ipba-accent-strong);
 --primary:var(--ipba-accent);--primary-border:var(--ipba-accent-strong);
 --success:var(--ipba-success);--success-border:#008d4c;
 --warning:var(--ipba-warning);--warning-border:#e08e0b;
 --danger:var(--ipba-danger);--danger-border:#a93226;
 --info:var(--ipba-accent);--nav:var(--ipba-surface);
 --shadow:var(--ipba-shadow);--radius:3px;
 --focus-ring:0 0 0 2px rgba(0,172,214,.16)
}
html[data-ipba-theme="dark"]{
 color-scheme:dark;
 --ipba-page-bg:#151c20;--ipba-surface:#20292d;--ipba-surface-alt:#253035;--ipba-surface-muted:#2b3a42;
 --ipba-border:#3a4a52;--ipba-field-border:#46565c;
 --ipba-title:#edf3f4;--ipba-text:#d6e0e2;--ipba-muted:#9eafb7;
 --ipba-accent:#29c3e6;--ipba-accent-strong:#7fddf2;--ipba-accent-soft:#203f49;
 --ipba-success:#34c77b;--ipba-warning:#e0a53c;--ipba-danger:#e06a5c;
 --ipba-shadow:rgba(0,0,0,.22);--ipba-scrim:rgba(0,0,0,.6);
 --success-border:#2aa866;--warning-border:#c08c2e;--danger-border:#b9564a;
 --focus-ring:0 0 0 2px rgba(41,195,230,.24)
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:13px/1.4 "Open Sans",Arial,Helvetica,sans-serif}
a{color:var(--ipba-accent-strong);text-decoration:none}
.app-shell{height:100vh;display:grid;grid-template-rows:auto auto 1fr auto}

/* ---- barra contesto / breadcrumb ---- */
.ipba-topline{display:flex;align-items:center;gap:9px;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ipba-topline b{color:var(--ipba-accent-strong);font-weight:700}
.ipba-topline span{position:relative;padding-left:11px}
.ipba-topline span:before{position:absolute;left:0;color:var(--line);content:"/"}
.ipba-topline .t-view{display:none}
body.viewer .ipba-topline .t-edit{display:none}
body.viewer .ipba-topline .t-view{display:inline}
.ipba-theme-toggle{margin-left:auto;height:26px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--muted-surface);color:var(--ink);font:inherit;font-size:10px;cursor:pointer;white-space:nowrap}
.ipba-theme-toggle:hover{border-color:var(--accent)}

/* ---- barre strumenti ---- */
.topbar,.stage-toolbar,.layer-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:7px 8px;background:var(--soft);border-bottom:1px solid var(--line)}
.brand{display:flex;flex-direction:column;min-width:150px}
.brand b{font-size:15px;font-weight:700;color:var(--title)}
.brand span{color:var(--muted);font-size:11px}
label{display:grid;gap:3px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.grow{flex:1}

/* ---- controlli ---- */
input,select,button,textarea{height:32px;border:1px solid var(--field);border-radius:var(--radius);background:var(--panel);color:var(--ink);padding:0 8px;font-family:inherit;font-size:13px}
input[type=checkbox],input[type=radio]{height:15px;width:15px;padding:0;justify-self:start;accent-color:var(--accent)}
input[type=color]{padding:2px}
input[type=range]{padding:0;accent-color:var(--accent)}
input::placeholder{color:var(--muted)}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:var(--focus-ring)}
button{border-color:var(--field);background:var(--muted-surface);color:var(--ink);cursor:pointer;font-weight:700;font-size:12px;padding:0 10px;white-space:nowrap}
button:hover,.toolrail .active{border-color:var(--accent);background:var(--accent-soft);color:var(--ipba-accent-strong)}
button:focus-visible{outline:none;box-shadow:var(--focus-ring)}
button:disabled{opacity:.55;cursor:not-allowed}

/* ---- pulsanti colorati per azione, come i bottoni del sito ---- */
#loadEventBtn,#loadServerBtn,#projectsBtn,#viewerPreviewBtn,#backToEditorBtn,.btn-accent{background:var(--accent);border-color:var(--accent-border);color:#fff}
#loadEventBtn:hover,#loadServerBtn:hover,#projectsBtn:hover,#viewerPreviewBtn:hover,#backToEditorBtn:hover,.btn-accent:hover{background:var(--accent-border);border-color:var(--accent-border);color:#fff}
#saveBtn,#confirmExportBtn,#guideDoneBtn,.btn-success{background:var(--success);border-color:var(--success-border);color:#fff}
#saveBtn:hover,#confirmExportBtn:hover,#guideDoneBtn:hover,.btn-success:hover{background:var(--success-border);border-color:var(--success-border);color:#fff}
#newFromPhotosBtn,#pastEventsBtn,.btn-warning{background:var(--warning);border-color:var(--warning-border);color:#fff}
#newFromPhotosBtn:hover,#pastEventsBtn:hover,.btn-warning:hover{background:var(--warning-border);border-color:var(--warning-border);color:#fff}
#deleteBtn,#clearDrawingsBtn,#deleteLayerBtn,.btn-danger{background:var(--danger);border-color:var(--danger-border);color:#fff}
#deleteBtn:hover,#clearDrawingsBtn:hover,#deleteLayerBtn:hover,.btn-danger:hover{background:var(--danger-border);border-color:var(--danger-border);color:#fff}

/* ---- area di lavoro ---- */
.workspace{min-height:0;display:grid;grid-template-columns:150px 1fr 310px}
.toolrail{display:grid;grid-auto-rows:34px;gap:5px;padding:8px;background:var(--panel);border-right:1px solid var(--line);min-height:0;overflow-y:auto;align-content:start}
.toolrail button{width:100%;height:100%;text-align:left;justify-content:flex-start;font-size:12px;font-weight:600;white-space:normal;line-height:1.1;padding:3px 8px}
.toolrail button.active{background:var(--accent);border-color:var(--accent-border);color:#fff}
.stage-column{min-width:0;display:grid;grid-template-rows:auto 1fr}
.stage-wrap{min-height:0;overflow:auto;display:grid;padding:12px;background:var(--bg)}
#editorSvg{width:min(100%,1280px);aspect-ratio:16/9;background:#fff;border:1px solid var(--line);box-shadow:0 2px 7px var(--shadow);touch-action:none;margin:auto}
.inspector{overflow:auto;background:var(--panel);border-left:1px solid var(--line);padding:10px}
.inspector section{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}
.inspector h2{margin:0 0 8px;padding-bottom:5px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.inspector label{margin:7px 0}
.inspector label:has(> #propVisible){display:none}
.inspector textarea{min-height:88px;height:auto;resize:vertical;line-height:1.3;padding:6px 8px;font:13px/1.4 "Open Sans",Arial,Helvetica,sans-serif;text-transform:none;letter-spacing:0}
.inline-text-editor{position:fixed;z-index:1000;border:2px solid var(--accent);border-radius:var(--radius);background:#ffffffee;box-shadow:0 7px 18px var(--shadow);padding:8px;resize:none;outline:none;line-height:1.18;overflow:auto;white-space:pre-wrap}
.button-row{display:flex;gap:6px;flex-wrap:wrap}
.hidden{display:none}
#guideLayer line{stroke:#9aa5b1;stroke-dasharray:10 12;stroke-width:2}
.object{cursor:move}
body.drawing-tool #editorSvg,body.placing-tool #editorSvg{cursor:crosshair}
body.drawing-tool .object,body.drawing-tool .object *,body.drawing-tool .edit-handle,body.drawing-tool .edit-handle *,body.placing-tool .object,body.placing-tool .object *{cursor:crosshair;pointer-events:none!important}
body.image-tool #editorSvg{cursor:move}
.edit-handle{cursor:grab}
.edit-handle:active{cursor:grabbing}

/* ---- modalita visualizzatore ---- */
body.viewer .toolrail,body.viewer .inspector{display:none}
body.viewer .app-shell{grid-template-columns:320px 1fr;grid-template-rows:auto auto 1fr}
body.viewer .ipba-topline{grid-column:1/3;grid-row:1}
body.viewer .topbar{grid-column:1/3;grid-row:2}
body.viewer .topbar>label{display:none}
body.viewer .workspace{grid-column:2;grid-row:3;grid-template-columns:1fr}
body.viewer .layers-panel{grid-column:1;grid-row:3;display:block;max-height:none;height:auto;overflow:auto;resize:none;border-top:0;border-right:1px solid var(--line);background:var(--panel)}
body.viewer .stage-column{min-width:0;min-height:0}
body.viewer .stage-toolbar{flex-wrap:wrap}
body.viewer .stage-wrap{padding:10px;align-items:center;justify-items:center;overflow:hidden}
body.viewer #activeLayer{display:none}
body.viewer .layers-panel .layer-actions{position:sticky;top:0;z-index:2;padding:9px 10px;background:var(--soft);border-bottom:1px solid var(--line)}
body.viewer .layers-panel .layer-actions b{font-size:15px}
body.viewer .layers-panel .layer-actions input,body.viewer .layers-panel .layer-actions label,body.viewer .layers-panel .layer-actions button{display:none}
body.viewer .layer-grid{display:block;padding:10px;overflow:visible}
body.viewer .layer-card{margin-bottom:10px;padding:8px;cursor:pointer}
body.viewer .layer-thumb{min-height:150px;margin-bottom:8px}
body.viewer .layer-card b{font-size:13px;margin-top:4px}
body.viewer .layer-card small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
body.viewer .layer-card .rename-layer{display:none}
body.viewer #saveBtn,body.viewer #manualLayoutBtn,body.viewer #importJsonBtn,body.viewer #exportJsonBtn,body.viewer #loadEventBtn,body.viewer #loadServerBtn,body.viewer #zipBtn,body.viewer #cropBtn,body.viewer #resetCropBtn,body.viewer #mirrorBtn,body.viewer #templatesBtn,body.viewer #pairBtn,body.viewer #newLayerBtn,body.viewer #duplicateLayerBtn,body.viewer #deleteLayerBtn,body.viewer #exportLayerBtn{display:none}
#teamBar select{height:26px}
.selected{outline:3px solid #00acd6;outline-offset:3px}

/* ---- pannello livelli e schede ---- */
.layers-panel{background:var(--panel);border-top:1px solid var(--line);min-width:0;max-height:220px;overflow:auto;resize:vertical}
.layers-panel .layer-actions{position:sticky;top:0;z-index:1}
.layer-actions b{color:var(--title);font-size:14px}
.layer-grid,.thumb-grid,.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;padding:8px;overflow:auto}
.layer-card,.thumb-card,.gallery-card{border:1px solid var(--line);border-top:3px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:7px}
.layer-card:hover,.thumb-card:hover,.gallery-card:hover{border-color:var(--accent);box-shadow:0 2px 7px var(--shadow)}
.layer-card.active{border-color:var(--accent);border-top-color:var(--accent);background:var(--accent-soft)}
.layer-card img,.thumb-card img,.gallery-card img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.layer-card b,.thumb-card b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--title);font-size:12px}
.suggested{border-color:var(--success);border-top-color:var(--success)}
.log-list{max-height:170px;overflow:auto;padding-left:20px;color:var(--muted);font-size:12px}

/* ---- finestre ---- */
.wide-dialog{width:min(1160px,94vw);border:1px solid var(--line);border-radius:var(--radius);padding:0;background:var(--panel);color:var(--ink);font:13px/1.4 "Open Sans",Arial,Helvetica,sans-serif;box-shadow:0 7px 18px var(--shadow)}
.wide-dialog::backdrop,.guide-dialog::backdrop,#archiveDialog::backdrop{background:var(--ipba-scrim)}
.wide-dialog header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 13px;border-bottom:1px solid var(--line);background:var(--soft)}
.wide-dialog h2{margin:0;color:var(--title);font-size:16px;font-weight:600}
.wide-dialog canvas{width:100%;height:auto;background:#fff}
#exportReport{padding:0 13px;color:var(--muted);font-size:12px}
.wide-dialog .button-row{padding:13px}

@media(max-width:900px){
.workspace{grid-template-columns:132px 1fr}
.inspector{display:none}
.app-shell{grid-template-rows:auto auto 1fr auto}
body.viewer .app-shell{grid-template-columns:1fr;grid-template-rows:auto auto auto 1fr}
body.viewer .ipba-topline{grid-column:1;grid-row:1}
body.viewer .topbar{grid-column:1;grid-row:2}
body.viewer .layers-panel{grid-column:1;grid-row:3;max-height:210px;border-right:0;border-bottom:1px solid var(--line)}
body.viewer .workspace{grid-column:1;grid-row:4;grid-template-columns:1fr}
body.viewer .layer-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,220px);overflow-x:auto}
}

/* ---- database etichette ---- */
.label-library{display:grid;gap:5px;max-height:none;overflow:visible}
.label-chip{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);padding:5px}
.label-chip button{height:26px}
.label-chip .use-label{text-align:left;font-weight:700;background:var(--panel)}
.label-chip .delete-label{min-width:32px;background:var(--panel);color:var(--danger);border-color:var(--field)}
.label-chip .delete-label:hover{background:var(--danger);border-color:var(--danger-border);color:#fff}
.user-badge{font-weight:700;color:var(--ipba-accent-strong);white-space:nowrap;padding:0 8px;font-size:12px}
.user-badge:empty{display:none}
.user-box{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;align-self:center}
#logoutBtn{display:none;height:22px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:0 10px;color:var(--ink);background:var(--muted-surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}
.layer-card .rename-layer{height:24px;font-size:11px;font-weight:600;padding:0 6px;margin-top:6px;width:100%}
.layer-thumb{display:block;width:100%;aspect-ratio:16/9;background:#fff;border:1px solid var(--line);border-radius:var(--radius);pointer-events:none;margin-bottom:4px}
#backToEditorBtn{display:none}
body.viewer #backToEditorBtn{display:inline-block}
body.viewer #viewerPreviewBtn{display:none}

/* ---- ritaglio immagine ---- */
.crop-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background:var(--ipba-scrim);display:flex;flex-direction:column;align-items:center;justify-content:center}
.crop-toolbar{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--accent);padding:9px 14px;border-radius:var(--radius);margin-bottom:12px;display:flex;gap:10px;align-items:center;box-shadow:0 7px 18px var(--shadow)}
.crop-toolbar button{height:32px;font-size:13px}
.crop-container{position:relative;background:#26343b;border:1px solid var(--line);overflow:hidden}
.crop-container img{display:block;user-select:none;-webkit-user-drag:none}
.crop-shade{position:absolute;background:rgba(0,0,0,.55);pointer-events:none}
.crop-box{position:absolute;border:2px dashed #fff;box-shadow:0 0 0 9999px rgba(0,0,0,.55);cursor:move}
.crop-handle{position:absolute;width:18px;height:18px;background:#fff;border:2px solid #00acd6;border-radius:var(--radius);z-index:2}
.crop-handle.tl{top:-9px;left:-9px;cursor:nwse-resize}
.crop-handle.tr{top:-9px;right:-9px;cursor:nesw-resize}
.crop-handle.bl{bottom:-9px;left:-9px;cursor:nesw-resize}
.crop-handle.br{bottom:-9px;right:-9px;cursor:nwse-resize}
.crop-handle.t{top:-9px;left:50%;margin-left:-9px;cursor:ns-resize}
.crop-handle.b{bottom:-9px;left:50%;margin-left:-9px;cursor:ns-resize}
.crop-handle.l{left:-9px;top:50%;margin-top:-9px;cursor:ew-resize}
.crop-handle.r{right:-9px;top:50%;margin-top:-9px;cursor:ew-resize}

/* ---- guida ---- */
.guide-dialog{width:min(1180px,96vw);max-height:92vh;border:1px solid var(--line);border-radius:var(--radius);padding:0;background:var(--panel);color:var(--ink);font:13px/1.4 "Open Sans",Arial,Helvetica,sans-serif;box-shadow:0 7px 18px var(--shadow)}
.guide-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:92vh}
.guide-head,.guide-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid var(--line);background:var(--soft)}
.guide-head h2{margin:0;color:var(--title);font-size:18px;font-weight:600}
.guide-head p{margin:3px 0 0;color:var(--muted);font-size:12px}
.guide-body{min-height:0;display:grid;grid-template-columns:210px minmax(360px,1fr) 310px;gap:10px;padding:10px;background:var(--bg)}
.guide-tabs{display:grid;align-content:start;gap:6px;overflow:auto;padding-right:4px}
.guide-tabs button{height:auto;min-height:40px;text-align:left;line-height:1.25;border-radius:var(--radius);background:var(--panel);font-size:12px;font-weight:600;padding:6px 9px}
.guide-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--ipba-accent-strong)}
.guide-map{min-height:430px;display:grid;place-items:center}
.guide-screen{width:100%;max-width:560px;aspect-ratio:16/10;display:grid;grid-template-columns:90px 1fr 110px;grid-template-rows:54px 1fr 74px;gap:8px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
.guide-zone{display:grid;place-items:center;text-align:center;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);color:var(--muted);font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.guide-zone.active{border-color:var(--accent);border-top:3px solid var(--accent);background:var(--accent-soft);color:var(--ipba-accent-strong)}
.guide-zone-top{grid-column:1/4}
.guide-zone-tools{grid-column:1;grid-row:2}
.guide-zone-stage{grid-column:2;grid-row:2}
.guide-zone-props{grid-column:3;grid-row:2}
.guide-zone-layers{grid-column:1/4;grid-row:3}
.guide-copy{overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:11px}
.guide-copy section+section{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}
.guide-copy h3{margin:0 0 4px;color:var(--title);font-size:13px;font-weight:700}
.guide-copy p{margin:0;color:var(--muted);font-size:12px}
.guide-foot{border-top:1px solid var(--line);border-bottom:0}
.guide-check{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:12px;font-weight:400;letter-spacing:0;text-transform:none}
.guide-check input{height:15px;width:15px}
.guide-actions{display:flex;align-items:center;gap:6px}
.guide-actions span{min-width:48px;text-align:center;color:var(--muted);font-weight:700}
.guide-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:980px){
.guide-body{grid-template-columns:1fr}
.guide-map{min-height:280px}
.guide-screen{max-width:none}
.guide-copy{max-height:260px}
.guide-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.guide-foot{align-items:stretch;flex-direction:column}
.guide-actions{justify-content:flex-end}
}
@media(max-width:620px){
.guide-tabs{grid-template-columns:1fr}
.guide-screen{grid-template-columns:70px 1fr 80px;grid-template-rows:48px 1fr 64px}
.guide-zone{font-size:10px;padding:5px}
.guide-head{align-items:flex-start}
.guide-actions{flex-wrap:wrap}
}

/* ---- blocco login ---- */
.login-block{position:fixed;inset:0;z-index:10000;background:var(--ipba-scrim);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}
.login-card{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius);padding:22px 26px;max-width:420px;max-height:92vh;overflow:auto;text-align:center;box-shadow:0 7px 18px var(--shadow)}
.login-card-wide{max-width:480px;width:min(94vw,480px)}
.login-frame{width:100%;height:520px;max-height:62vh;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.login-actions{display:flex;gap:8px;justify-content:center;margin-top:12px;flex-wrap:wrap}
.login-card h2{margin:0 0 8px;color:var(--title);font-size:19px;font-weight:600}
.login-card p{color:var(--muted);margin:0 0 16px}
.login-card button{height:32px;padding:0 18px;background:var(--accent);color:#fff;border:1px solid var(--accent-border);border-radius:var(--radius);font-weight:700;cursor:pointer}
.login-card .login-done{background:var(--muted-surface);color:var(--ink);border:1px solid var(--field);margin-left:8px}

/* ---- preset colori oggetti ---- */
.color-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:6px 0 8px}
.color-presets button{height:30px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);background:var(--panel)}
.color-presets button:before{content:"";width:18px;height:18px;border-radius:2px;background:var(--swatch);border:1px solid var(--field);box-shadow:inset 0 0 0 1px #ffffff66}
.color-presets button.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
#allLayerLinesBtn.active{border-color:var(--accent-border);background:var(--accent);color:#fff}
.color-presets button:hover{border-color:var(--accent)}

.layer-card{cursor:grab}
.layer-card.dragging{opacity:.45;cursor:grabbing}
.layer-card.drag-over{outline:2px dashed var(--accent);outline-offset:2px;background:var(--accent-soft)}
body.viewer .layer-card{cursor:pointer}

/* ===== visualizzatore su telefono/tablet ===== */
@supports(height:100dvh){.app-shell{height:100dvh}}
body.viewer.mobile-view .app-shell{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr) auto}
body.viewer.mobile-view .ipba-topline{grid-column:1;grid-row:1}
body.viewer.mobile-view .topbar{grid-column:1;grid-row:2;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:6px 8px}
body.viewer.mobile-view .topbar .brand{min-width:0;flex:0 0 auto}
body.viewer.mobile-view .topbar .brand b{font-size:14px}
body.viewer.mobile-view .topbar label{display:none}
body.viewer.mobile-view .user-box{margin-left:6px}
body.viewer.mobile-view .workspace{grid-column:1;grid-row:3;min-height:0}
body.viewer.mobile-view .stage-column{min-height:0}
body.viewer.mobile-view .stage-toolbar{flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:6px}
body.viewer.mobile-view .stage-wrap{padding:6px;overflow:hidden}
body.viewer.mobile-view #editorSvg{width:100%;height:auto;max-height:100%;touch-action:auto}
body.viewer.mobile-view .layers-panel{grid-column:1;grid-row:4;max-height:none;height:auto;border:0;border-top:1px solid var(--line)}
body.viewer.mobile-view .layers-panel .layer-actions{padding:8px 10px}
body.viewer.mobile-view .layer-grid{display:flex;grid-auto-flow:column;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding:8px}
body.viewer.mobile-view .layer-card{flex:0 0 42vw;max-width:210px;min-width:140px;scroll-snap-align:start;margin:0;padding:7px}
body.viewer.mobile-view .layer-thumb{min-height:0;aspect-ratio:16/9;margin-bottom:6px}
body.viewer.mobile-view .layer-card b{font-size:13px}
body.viewer.mobile-view .layer-card small{font-size:11px}
body.viewer.mobile-view select,body.viewer.mobile-view button{min-height:38px}

@media(orientation:landscape){
body.viewer.mobile-view .app-shell{grid-template-columns:180px 1fr;grid-template-rows:auto auto minmax(0,1fr)}
body.viewer.mobile-view .ipba-topline{grid-column:1/3;grid-row:1}
body.viewer.mobile-view .topbar{grid-column:1/3;grid-row:2}
body.viewer.mobile-view .workspace{grid-column:2;grid-row:3;min-height:0}
body.viewer.mobile-view .layers-panel{grid-column:1;grid-row:3;border-top:0;border-right:1px solid var(--line);overflow:auto}
body.viewer.mobile-view .layers-panel .layer-actions{padding:6px 8px}
body.viewer.mobile-view .layer-grid{display:block;overflow:visible;padding:8px}
body.viewer.mobile-view .layer-card{max-width:none;min-width:0;margin:0 0 8px}
body.viewer.mobile-view #editorSvg{height:100%;width:auto;max-width:100%}
}

#downloadPhotosBtn{display:none}
body.viewer #downloadPhotosBtn{display:inline-block;background:var(--accent);border-color:var(--accent-border);color:#fff}


/* ===== IPBA shell e archivio condiviso ===== */
.ipba-topline .ipba-home-link{color:var(--ipba-accent-strong);font-weight:800;letter-spacing:.1em}
.ipba-topline .ipba-admin-link{margin-left:auto;color:var(--muted);font-weight:700}
.ipba-topline .ipba-admin-link:hover{color:var(--ipba-accent-strong)}
.ipba-topline .ipba-theme-toggle{margin-left:0}
.topbar{background:var(--panel);border-top:3px solid var(--accent);padding:8px 10px;box-shadow:0 2px 7px var(--shadow)}
.brand{padding-right:8px;border-right:1px solid var(--line)}
.brand #saveState,.brand span{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.team-context{display:flex;min-width:205px;flex-direction:column;gap:3px;padding:0 8px}
.team-context-label{max-width:300px;overflow:hidden;color:var(--ipba-accent-strong);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
#teamBar select{height:29px;min-width:205px;background:var(--soft)}
.project-preview-empty{display:flex;width:100%;aspect-ratio:16/9;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:var(--radius);background:var(--soft);color:var(--muted);font-size:12px;text-align:center}
.ipba-empty-state{grid-column:1/-1;padding:30px 18px;border:1px dashed var(--line);background:var(--soft);color:var(--muted);text-align:center}
.wide-dialog header>div{display:flex;min-width:0;flex-direction:column;gap:2px}
.wide-dialog header small{color:var(--muted);font-size:11px;font-weight:400}
body.viewer #newFromPhotosBtn{display:none}
@media(max-width:1100px){.team-context{min-width:180px}.team-context-label{max-width:220px}.topbar{flex-wrap:wrap}}
@media(max-width:740px){.ipba-topline .ipba-admin-link{display:none}.brand{border-right:0}.team-context{min-width:170px;padding-left:0}.team-context-label{max-width:190px}}

/* ===== Formazioni con foto (IPBA Compact) ===== */
#formationBtn{border-color:var(--accent);background:var(--accent-soft);color:var(--ipba-accent-strong);font-weight:700}
#formationBtn:hover{border-color:var(--accent-border);background:var(--accent);color:#fff}
.formation-dialog{max-height:92vh;overflow:hidden}
.formation-dialog .formation-shell{display:grid;grid-template-rows:auto auto auto minmax(180px,1fr) auto;height:min(680px,86vh);max-height:90vh;min-height:0}
.formation-toolbar{display:flex;align-items:end;gap:9px;padding:10px 13px;border-bottom:1px solid var(--line);background:var(--panel)}
.formation-toolbar label{min-width:190px}
.formation-toolbar .formation-search{min-width:260px;flex:1}
.formation-counter{min-width:105px;padding-bottom:7px;color:var(--ipba-accent-strong);font-size:11px;font-weight:700;text-align:right;text-transform:uppercase}
.formation-status{min-height:32px;padding:8px 13px;border-bottom:1px solid var(--line);background:var(--soft);color:var(--muted);font-size:12px}
.formation-status.is-error{border-left:3px solid var(--danger);color:var(--danger)}
.formation-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:8px;align-content:start;overflow:auto;padding:12px 13px;background:var(--panel)}
.formation-card{position:relative;display:grid;grid-template-columns:18px 54px minmax(0,1fr);gap:9px;align-items:center;min-height:72px;padding:8px;border:1px solid var(--line);border-left:3px solid var(--line);border-radius:var(--radius);background:var(--soft);cursor:pointer}
.formation-card:hover{border-color:var(--accent);box-shadow:0 2px 7px var(--shadow)}
.formation-card.is-selected{border-color:var(--accent);border-left-color:var(--accent);background:var(--accent-soft)}
.formation-card input{margin:0}
.formation-avatar{position:relative;width:52px;height:52px;overflow:hidden;border:2px solid var(--field);border-radius:50%;background:var(--muted-surface);color:var(--ipba-accent-strong);font-size:15px;font-weight:800;line-height:48px;text-align:center}
.formation-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--muted-surface)}
.formation-copy{min-width:0}
.formation-copy strong{display:block;overflow:hidden;color:var(--title);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.formation-copy small{display:block;overflow:hidden;margin-top:3px;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.formation-badges{display:flex;gap:5px;align-items:center;margin-top:5px}
.formation-badge{display:inline-flex;align-items:center;min-height:18px;padding:1px 6px;border-radius:9px;background:var(--muted-surface);color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.formation-badge.is-event{background:var(--accent-soft);color:var(--ipba-accent-strong)}
.formation-number{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:20px;border-radius:10px;background:var(--title);color:var(--panel);font-size:10px;font-weight:800}
.formation-actions{display:flex;justify-content:space-between;gap:10px;padding:10px 13px;border-top:1px solid var(--line);background:var(--soft)}
.formation-actions>div{display:flex;gap:6px;flex-wrap:wrap}
.formation-actions .formation-primary{background:var(--success);border-color:var(--success-border);color:#fff}
.formation-actions .formation-primary:hover{background:var(--success-border);color:#fff}
.formation-empty{grid-column:1/-1;padding:28px 16px;border:1px dashed var(--line);background:var(--soft);color:var(--muted);text-align:center}
@media(max-width:700px){.formation-dialog .formation-shell{height:86vh}.formation-toolbar{align-items:stretch;flex-direction:column}.formation-toolbar label,.formation-toolbar .formation-search{width:100%;min-width:0}.formation-counter{text-align:left;padding:0}.formation-roster{grid-template-columns:1fr;min-height:0}.formation-actions{align-items:stretch;flex-direction:column}.formation-actions .formation-primary{width:100%}}

/* ===== footer storico IPBA sotto la lavagna ===== */
.ipba-editor-footer{clear:both;width:100%;padding:5px 0;background:#4e4e4e;color:#fff;font-size:11px;line-height:1.42857143}
.ipba-editor-footer__table{width:auto;max-width:100%;margin:0 auto;border-collapse:separate;border-spacing:2px;background:transparent;color:#fff;font-size:11px;line-height:1.42857143}
.ipba-editor-footer__table td{padding:1px;border:0;background:transparent;color:#fff;vertical-align:middle}
.ipba-editor-footer__copy{padding-left:15px!important;white-space:nowrap}
.ipba-editor-footer__sports img{display:block;width:150px;height:84px}
.ipba-editor-footer__fidasc img{display:block;width:auto;height:60px;margin-left:40px}
.ipba-editor-footer a{color:#fff;text-decoration:underline}
.ipba-editor-footer a:hover,.ipba-editor-footer a:focus{color:#fff}
html[data-ipba-theme="dark"] .ipba-editor-footer__table{background:#1f2d33}
@media(max-width:767px){.ipba-editor-footer__table,.ipba-editor-footer__table tbody,.ipba-editor-footer__table tr,.ipba-editor-footer__table td{display:block;width:100%}.ipba-editor-footer__table td{padding:5px 15px;text-align:center}.ipba-editor-footer__copy{padding-left:15px!important;padding-bottom:10px!important;white-space:normal}.ipba-editor-footer__sports img,.ipba-editor-footer__fidasc img{margin:0 auto}}
@media print{.ipba-editor-footer{display:none}}

/* ===== Lavagna tattica semplificata / mobile first (v2) ===== */
[hidden]{display:none!important}
.ui-simplified .app-shell{min-height:100vh}
.ui-simplified .topbar{position:relative;flex-wrap:nowrap;gap:10px;z-index:20}
.ui-simplified .brand{min-width:138px}
.ui-simplified .current-event-context{display:flex;min-width:0;max-width:260px;flex-direction:column;padding:0 8px}
.ui-simplified .current-event-context span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.ui-simplified .current-event-context strong{overflow:hidden;color:var(--title);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.topbar-primary{display:flex;gap:6px;align-items:center;margin-left:auto}
.primary-action{background:var(--success);border-color:var(--success-border);color:#fff}
.primary-action:hover{background:var(--success-border);border-color:var(--success-border);color:#fff}
.danger-action{background:var(--danger);border-color:var(--danger-border);color:#fff}
.ui-menu-trigger:after,.ui-disclosure:after{content:"";display:inline-block;width:7px;height:7px;margin:-3px 0 0 8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);vertical-align:middle}
.ui-menu-trigger.active:after,.ui-disclosure.active:after{margin-top:3px;transform:rotate(225deg)}
.ui-popover{position:absolute;z-index:80;display:grid;gap:9px;width:min(420px,calc(100vw - 24px));padding:12px;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius);background:var(--panel);box-shadow:0 12px 30px rgba(24,44,52,.2)}
.ui-popover.is-open{display:grid}
#fieldPanel{top:calc(100% + 5px);right:92px}
#morePanel{top:calc(100% + 5px);right:10px;width:min(350px,calc(100vw - 24px))}
.ui-panel-head,.ui-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.ui-panel-head strong,.ui-sheet-head strong{color:var(--title);font-size:14px}
.ui-panel-head button,.ui-sheet-head button{height:28px;padding:0 8px;background:transparent;color:var(--muted);font-size:11px}
.ui-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.ui-command-grid button{width:100%}
.ui-command-panel .user-box{display:flex;margin:2px 0 0;padding-top:9px;border-top:1px solid var(--line);flex-direction:row;align-items:center;justify-content:space-between}
.ui-command-panel #logoutBtn{display:inline-block}
.mobile-panel-link{display:none}
.stage-toolbar{position:relative;flex-wrap:nowrap;padding:7px 10px}
.stage-select{display:flex;min-width:150px;flex-direction:column;gap:2px}
.stage-select span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.stage-select select{width:100%;min-width:0}
.stage-select.layer-selector{min-width:190px;flex:1}
.zoom-group{display:flex;gap:4px;align-items:center}
.zoom-group button{min-width:34px;padding:0 8px}
.view-tools-panel{top:calc(100% + 4px);right:8px;width:230px;grid-template-columns:1fr}
.view-tools-panel .ui-panel-head{grid-column:1/-1}
.view-tools-panel>button{width:100%}
.ui-sheet-head{display:none}
.ui-simplified .workspace{grid-template-columns:126px minmax(0,1fr) 286px}
.ui-simplified .toolrail{display:flex;flex-direction:column;gap:8px;padding:8px}
.tool-group{display:grid;gap:5px}
.tool-primary{grid-template-columns:1fr}
.tool-advanced{grid-template-columns:1fr}
.ui-simplified .toolrail .tool-group button{min-height:38px;height:auto}
.ui-disclosure{width:100%;min-height:34px}
.ui-simplified .inspector{padding:0}
.inspector-tabs{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:var(--panel);border-bottom:1px solid var(--line)}
.inspector-tabs button{height:38px;padding:0 4px;border:0;border-right:1px solid var(--line);border-radius:0;background:var(--soft);font-size:10px}
.inspector-tabs button:last-child{border-right:0}
.inspector-tabs button.active{box-shadow:inset 0 -3px 0 var(--accent);background:var(--panel);color:var(--accent-strong)}
.inspector-panel{display:none;padding:11px;margin:0!important;border:0!important}
.inspector-panel.active{display:block}
.property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px}
.check-row{display:flex;gap:16px;align-items:center;margin:8px 0}
.check-row label{display:flex;gap:6px;align-items:center;margin:0;text-transform:none;letter-spacing:0}
.ui-simplified .layers-panel{max-height:184px;resize:none}
.ui-simplified .layers-panel .layer-actions{flex-wrap:nowrap;padding:6px 8px}
.ui-simplified .layers-panel .layer-actions input[type=search]{width:150px}
.layer-actions-more{display:flex;gap:6px;align-items:center}
.ui-simplified .layer-grid{display:flex;gap:8px;padding:8px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}
.ui-simplified .layer-card{flex:0 0 152px;scroll-snap-align:start}
.ui-backdrop{position:fixed;inset:0;z-index:110;width:100%;height:100%;padding:0;border:0;border-radius:0;background:var(--ipba-scrim)}
.mobile-dock{display:none}
.viewer-only{display:none}
body.viewer .edit-only{display:none!important}
body.viewer .viewer-only{display:inline-flex}
body.viewer.ui-simplified #projectsBtn,body.viewer.ui-simplified #fieldMenuBtn,body.viewer.ui-simplified #moreMenuBtn{display:none}
body.viewer.ui-simplified .topbar-primary{margin-left:auto}
body.viewer.ui-simplified .layers-panel .ui-sheet-head{display:none}

@media(max-width:1100px) and (min-width:901px){
.ui-simplified .workspace{grid-template-columns:118px minmax(0,1fr) 250px}
.ui-simplified .current-event-context{max-width:190px}
.ui-simplified #exportBtn{display:none}
.ui-simplified .topbar-primary button{padding:0 8px}
}

@media(max-width:900px){
html,body{width:100%;height:100%;overflow:hidden}
.ui-simplified .app-shell,body.viewer.mobile-view .app-shell,body.viewer .app-shell{height:100vh;min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr) auto}
@supports(height:100dvh){.ui-simplified .app-shell,body.viewer.mobile-view .app-shell,body.viewer .app-shell{height:100dvh}}
.ui-simplified .ipba-topline,body.viewer.mobile-view .ipba-topline,body.viewer .ipba-topline{grid-column:1;grid-row:1;padding:6px 9px}
.ui-simplified .ipba-topline .ipba-theme-toggle{height:30px}
.ui-simplified .topbar,body.viewer.mobile-view .topbar,body.viewer .topbar{grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;overflow:visible;padding:7px 9px;border-top-width:2px}
.ui-simplified .brand{grid-column:1;grid-row:1;min-width:0;padding:0;border:0}
.ui-simplified .brand b{font-size:14px}
.ui-simplified .brand span{font-size:10px}
.ui-simplified .team-context{grid-column:1/3;grid-row:2;min-width:0;padding:4px 0 0;border-top:1px solid var(--line)}
.ui-simplified .team-context-label{max-width:100%;font-size:10px}
.ui-simplified #teamBar select{width:100%;min-width:0;height:34px}
.ui-simplified .current-event-context{grid-column:1/3;grid-row:3;max-width:none;padding:3px 0 0}
.ui-simplified .topbar-primary{grid-column:2;grid-row:1;display:flex;gap:5px;margin:0}
.ui-simplified .topbar-primary>button{display:none;height:36px;padding:0 9px}
.ui-simplified .topbar-primary>#saveBtn,.ui-simplified .topbar-primary>#viewerPreviewBtn{display:inline-flex;align-items:center}
body.viewer.ui-simplified .topbar-primary>#saveBtn,body.viewer.ui-simplified .topbar-primary>#viewerPreviewBtn{display:none}
body.viewer.ui-simplified .topbar-primary>#backToEditorBtn,body.viewer.ui-simplified .topbar-primary>#downloadPhotosBtn{display:inline-flex;align-items:center}
body.viewer.ui-simplified .topbar-primary>#exportBtn{display:none}
/* Nel visualizzatore mobile le azioni sono gia' nel dock: niente duplicati in testata. */
body.viewer.ui-simplified .topbar{grid-template-columns:minmax(0,1fr)}
body.viewer.ui-simplified .brand,body.viewer.ui-simplified .team-context,body.viewer.ui-simplified .current-event-context{grid-column:1}
body.viewer.ui-simplified .topbar-primary{display:none}
.ui-simplified .workspace,body.viewer.mobile-view .workspace,body.viewer .workspace{grid-column:1;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr);min-width:0;min-height:0}
.ui-simplified .stage-column,body.viewer .stage-column{grid-column:1;min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr)}
.ui-simplified .stage-toolbar,body.viewer.mobile-view .stage-toolbar,body.viewer .stage-toolbar{display:grid;grid-template-columns:minmax(92px,.8fr) minmax(125px,1.2fr) auto;gap:5px;padding:5px 7px;overflow:visible}
.ui-simplified .stage-select{min-width:0}
.ui-simplified .stage-select span{display:none}
.ui-simplified .stage-select select{height:38px}
.ui-simplified .zoom-group{display:none}
.ui-simplified #viewToolsBtn{height:38px;padding:0 8px}
.ui-simplified .stage-wrap,body.viewer.mobile-view .stage-wrap,body.viewer .stage-wrap{min-width:0;min-height:0;overflow:auto;padding:4px;align-items:center;justify-items:center;-webkit-overflow-scrolling:touch}
.ui-simplified #editorSvg,body.viewer.mobile-view #editorSvg,body.viewer #editorSvg{display:block;width:100%;height:auto;max-width:100%;max-height:100%;margin:auto}
body.viewer.ui-simplified .stage-toolbar{grid-template-columns:minmax(0,1fr)}
body.viewer.ui-simplified .layer-selector,body.viewer.ui-simplified #viewToolsBtn{display:none}
body.viewer.ui-simplified #editorSvg{touch-action:pan-x pan-y pinch-zoom}
.ui-simplified .ui-sheet,body.viewer.mobile-view .layers-panel,body.viewer .layers-panel.ui-sheet{position:fixed;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom));top:auto;z-index:120;display:flex;max-height:min(72vh,620px);height:auto;flex-direction:column;overflow:hidden;padding:0;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;background:var(--panel);box-shadow:0 -10px 32px rgba(18,38,46,.22);transform:translateY(calc(100% + 80px));transition:transform .2s ease;pointer-events:none;visibility:hidden}
.ui-simplified .ui-sheet.is-mobile-open,body.viewer.mobile-view .layers-panel.is-mobile-open,body.viewer .layers-panel.ui-sheet.is-mobile-open{transform:translateY(0);pointer-events:auto;visibility:visible}
.ui-simplified .ui-sheet-head,body.viewer.ui-simplified .layers-panel .ui-sheet-head{display:flex;flex:0 0 auto;padding:12px 14px;background:var(--soft)}
.ui-sheet-head small{display:block;color:var(--muted);font-size:10px;font-weight:400}
.ui-simplified .toolrail{overflow:auto;padding:0}
.ui-simplified .toolrail>.tool-group,.ui-simplified .toolrail>.ui-disclosure{margin-left:12px;margin-right:12px}
.ui-simplified .toolrail>.tool-group{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:12px}
.ui-simplified .toolrail>.ui-disclosure{width:calc(100% - 24px);margin-top:4px;margin-bottom:12px}
.ui-simplified .toolrail .tool-advanced{padding-top:0;padding-bottom:12px}
.ui-simplified .toolrail .tool-group button{min-height:46px;text-align:center}
.ui-simplified .inspector{overflow:auto}
.ui-simplified .inspector-tabs{top:0;flex:0 0 auto}
.ui-simplified .inspector-panel{overflow:auto;padding:12px 14px}
.ui-simplified .inspector-panel.active{display:block}
.ui-simplified .layers-panel{overflow:hidden;resize:none}
.ui-simplified .layers-panel .layer-actions,body.viewer.ui-simplified .layers-panel .layer-actions{position:static;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;padding:9px 12px;background:var(--panel)}
.ui-simplified .layers-panel .layer-actions>b{display:none}
.ui-simplified .layers-panel .layer-actions input[type=search]{grid-column:1/4;width:100%;height:38px}
.ui-simplified .layers-panel .layer-actions>label{display:flex;grid-column:1;align-items:center;gap:5px}
.ui-simplified .layers-panel .layer-actions>button{display:inline-flex;align-items:center;justify-content:center;height:40px}
.ui-simplified .layer-actions-more{grid-column:1/4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ui-simplified .layer-actions-more button{display:inline-flex!important;align-items:center;justify-content:center;min-width:0;height:40px;padding:0 6px;white-space:normal}
.ui-simplified .layer-grid,body.viewer.mobile-view .layer-grid,body.viewer .layer-grid{display:flex;min-height:0;gap:8px;padding:10px 12px 14px;overflow-x:auto;overflow-y:auto}
.ui-simplified .layer-card,body.viewer.mobile-view .layer-card,body.viewer .layer-card{flex:0 0 154px;min-width:154px;max-width:154px;margin:0}
.ui-simplified .layer-thumb,body.viewer.mobile-view .layer-thumb,body.viewer .layer-thumb{min-height:0;aspect-ratio:16/9}
.ui-simplified .ui-popover{position:fixed;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom));top:auto;z-index:120;width:100%;max-height:min(72vh,620px);overflow:auto;padding:14px;border:1px solid var(--line);border-bottom:0;border-top:3px solid var(--accent);border-radius:12px 12px 0 0;box-shadow:0 -10px 32px rgba(18,38,46,.22)}
.ui-simplified .ui-popover.is-mobile-open{display:grid}
.ui-simplified .mobile-panel-link{display:block;width:100%;margin-top:2px}
.ui-simplified .ui-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ui-simplified .ui-command-grid button{min-height:44px;white-space:normal}
.ui-simplified .mobile-dock{grid-column:1;grid-row:4;z-index:130;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:0 0 env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--panel);box-shadow:0 -2px 10px var(--shadow)}
.ui-simplified .mobile-dock button{display:flex;min-width:0;height:60px;align-items:center;justify-content:center;padding:0 3px;border:0;border-right:1px solid var(--line);border-radius:0;background:var(--panel);color:var(--ink);font-size:10px;white-space:normal}
.ui-simplified .mobile-dock button:last-child{border-right:0}
.ui-simplified .mobile-dock button.active{box-shadow:inset 0 3px 0 var(--accent);background:var(--accent-soft);color:var(--accent-strong)}
.ui-simplified .mobile-dock .viewer-only{display:none}
body.viewer.ui-simplified .mobile-dock{grid-template-columns:repeat(4,minmax(0,1fr))}
body.viewer.ui-simplified .mobile-dock .edit-only{display:none!important}
body.viewer.ui-simplified .mobile-dock .viewer-only{display:flex}
body.viewer.ui-simplified .mobile-dock #mobileDownloadBtn{box-shadow:inset 0 3px 0 var(--accent);background:var(--accent-soft);color:var(--accent-strong)}
.ui-simplified.ui-panel-open{overflow:hidden}
.ui-simplified .wide-dialog,.ui-simplified .guide-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
}

@media(max-width:430px){
.ui-simplified .topbar-primary>#viewerPreviewBtn{font-size:0;width:44px;padding:0;justify-content:center;text-align:center}
.ui-simplified .topbar-primary>#viewerPreviewBtn:after{content:"Vista";font-size:10px}
.ui-simplified .topbar-primary>#downloadPhotosBtn{font-size:0;width:42px;padding:0}
.ui-simplified .topbar-primary>#downloadPhotosBtn:after{content:"Foto";font-size:10px}
.ui-simplified .property-grid{grid-template-columns:1fr 1fr}
.ui-simplified .ui-command-grid{grid-template-columns:1fr}
}

/* Telefono orizzontale: una sola riga operativa e campo prioritario. */
@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
.ui-simplified .app-shell{grid-template-rows:0 44px minmax(0,1fr) 46px}
body.viewer.ui-simplified .app-shell{grid-template-rows:0 44px minmax(0,1fr) 46px}
.ui-simplified .ipba-topline{display:none}
.ui-simplified .topbar{grid-column:1;grid-row:2;grid-template-columns:minmax(125px,auto) minmax(0,1fr) auto;grid-template-rows:38px;gap:4px 8px;align-items:center;padding:3px 7px;overflow:hidden}
body.viewer.ui-simplified .topbar{grid-template-columns:minmax(125px,auto) minmax(0,1fr);grid-template-rows:38px;gap:4px 8px;align-items:center;padding:3px 7px;overflow:hidden}
.ui-simplified .brand{grid-column:1;grid-row:1;align-self:center}
.ui-simplified .brand b{font-size:13px;line-height:1.15}
.ui-simplified .brand span{font-size:9px;line-height:1.15}
.ui-simplified .team-context{grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,180px);gap:6px;align-items:center;min-width:0;padding:0;border:0}
body.viewer.ui-simplified .team-context{grid-column:2;grid-row:1;padding:0;border:0}
.ui-simplified .team-context-label{max-width:none;font-size:10px;line-height:1.2}
.ui-simplified #teamBar select{width:100%;min-width:0;height:32px}
.ui-simplified .current-event-context{display:none}
.ui-simplified .topbar-primary{grid-column:3;grid-row:1;gap:4px;align-items:center}
.ui-simplified .topbar-primary>#saveBtn,.ui-simplified .topbar-primary>#viewerPreviewBtn{height:32px;align-items:center;justify-content:center;padding:0 9px;font-size:11px;line-height:1;text-align:center}
.ui-simplified .topbar-primary>#viewerPreviewBtn{width:48px;padding:0;font-size:0}
.ui-simplified .topbar-primary>#viewerPreviewBtn:after{content:"Vista";font-size:10px}
.ui-simplified .workspace{grid-column:1;grid-row:3;min-height:0}
.ui-simplified .stage-column{grid-template-rows:36px minmax(0,1fr)}
body.viewer.ui-simplified .stage-column{grid-template-rows:36px minmax(0,1fr)}
.ui-simplified .stage-toolbar{grid-template-columns:minmax(110px,.75fr) minmax(150px,1.25fr) 66px;gap:4px;padding:2px 5px}
body.viewer.ui-simplified .stage-toolbar{grid-template-columns:minmax(0,1fr);gap:4px;padding:2px 5px}
.ui-simplified .stage-select select,.ui-simplified #viewToolsBtn{height:32px;min-height:32px}
.ui-simplified #viewToolsBtn{display:flex;align-items:center;justify-content:center;padding:0 7px;text-align:center}
.ui-simplified .stage-wrap{padding:2px;overflow:auto}
.ui-simplified #editorSvg{margin:auto}
.ui-simplified .mobile-dock{grid-column:1;grid-row:4}
.ui-simplified .mobile-dock button{height:46px;font-size:9px}
.ui-simplified .ui-sheet{bottom:calc(46px + env(safe-area-inset-bottom));max-height:calc(100dvh - 54px)}
body.viewer.ui-simplified .layers-panel.ui-sheet{bottom:calc(46px + env(safe-area-inset-bottom));max-height:calc(100dvh - 54px)}
.ui-simplified .ui-popover{bottom:calc(46px + env(safe-area-inset-bottom));max-height:calc(100dvh - 54px)}
}
