/* Foto delle tostature: stessi token per Mini App e dashboard. */
.media-image-open{display:block; position:relative; width:100%; height:100%; padding:0; border:0;
  background:transparent; cursor:zoom-in; border-radius:inherit; overflow:hidden;}
.media-image-open:focus-visible{outline:2px solid var(--border-focus); outline-offset:-3px;}
.media-image-open img{position:absolute; left:50%; top:50%; width:100%; height:100%; object-fit:cover;
  transform:translate(-50%,-50%) rotate(var(--media-rotation,0deg));}
.media-image-open[data-rotation="90"] img,.media-image-open[data-rotation="270"] img{width:75%; height:133.3333%;}
.media-viewer{width:min(1100px,calc(100vw - 24px)); height:min(850px,calc(100vh - 24px));
  height:min(850px,calc(100dvh - 24px)); max-width:none; max-height:none; margin:auto; padding:0;
  border:1px solid var(--border-strong); border-radius:var(--radius-lg); background:var(--bg-base);
  color:var(--text-primary); box-shadow:var(--shadow-lg); font:15px/1.5 var(--font-sans);}
.media-viewer[open]{display:flex; flex-direction:column;}
.media-viewer::backdrop{background:rgba(0,0,0,.8);}
.media-viewer-header{display:flex; flex:none; align-items:center; gap:14px; padding:12px 16px;
  border-bottom:1px solid var(--border-default);}
.media-viewer-heading{flex:1; min-width:0;}
.media-viewer h2{margin:0; font:500 20px/1.2 var(--font-display);}
.media-viewer-name{font-size:13px; color:var(--text-muted); overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}
.media-viewer button{min-width:44px; min-height:44px; padding:6px 12px; border:1px solid var(--border-strong);
  border-radius:var(--radius-md); background:var(--surface-card); color:var(--text-primary);
  font:600 14px/1.2 var(--font-sans); cursor:pointer;}
.media-viewer button:disabled{opacity:.55; cursor:default;}
.media-viewer button:not(:disabled):hover,.media-viewer button:not(:disabled):active{background:var(--surface-hover);}
.media-viewer button:focus-visible{outline:2px solid var(--border-focus); outline-offset:2px;}
.media-viewer button[data-action="close"],.media-viewer button[data-action="left"],
.media-viewer button[data-action="right"]{font-size:24px;}
.media-viewer-stage{flex:1; min-height:0; min-width:0; overflow:auto; display:flex; padding:12px; overscroll-behavior:contain;}
.media-viewer-space{position:relative; flex:none; margin:auto;}
.media-viewer-space img{position:absolute; left:50%; top:50%; max-width:none; max-height:none; object-fit:contain;}
.media-viewer-status{flex:none; min-height:26px; padding:2px 16px; color:var(--text-secondary); font-size:13px;}
.media-viewer-toolbar{flex:none; display:flex; gap:12px; flex-wrap:wrap; align-items:center; justify-content:space-between;
  padding:12px 16px; border-top:1px solid var(--border-default); background:var(--surface-raised);}
.media-viewer-group{display:flex; gap:6px; align-items:center;}
.media-viewer-count{font:13px var(--font-mono); white-space:nowrap;}
.media-viewer button.media-viewer-save{background:var(--action); border-color:transparent; color:var(--on-action);}
.media-viewer button.media-viewer-save:not(:disabled):is(:hover,:active){background:var(--action-hover);}
@media(max-width:600px){
  .media-viewer{width:100vw; height:100vh; height:100dvh; border-radius:0; border:0;}
  .media-viewer-header{padding-top:max(10px,env(safe-area-inset-top));}
  .media-viewer-toolbar{gap:8px; padding:10px 12px max(10px,env(safe-area-inset-bottom));}
  .media-viewer-save{flex:1;}
}
