/* Pagina condivisa (statica): barra con le viste in alto a sinistra, area di lavoro a tutto schermo */
body.shared { display: flex; flex-direction: column; height: 100vh; overflow: hidden; }
.sh-top { display: flex; align-items: center; gap: 14px; padding: 8px 14px; background: var(--card); border-bottom: 1px solid var(--line); flex: 0 0 auto; flex-wrap: wrap; }
#sh-views { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
#sh-views button { display: inline-flex; align-items: center; gap: 7px; border: 0; background: transparent; padding: 7px 13px; border-radius: 9px; font: 600 13.5px/1 var(--font); color: var(--muted); cursor: pointer; transition: background .15s, color .15s; }
#sh-views button:hover { color: var(--text); }
#sh-views button.active { background: var(--card); color: var(--text); box-shadow: var(--sh-sm); }
#sh-views .lucide { width: 16px; height: 16px; }
.sh-title { font-weight: 600; font-size: 14px; color: var(--text-2); margin-left: auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 55vw; }
main.sh-main { flex: 1; min-height: 0; position: relative; display: flex; }
.sh-view { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.sh-view.hidden { display: none; }
#sh-map > .mv { height: 100%; }
#sh-tl { padding: 0; overflow: auto; }
#sh-tl .tl { padding: 10px 14px; min-height: 100%; }
.sh-foot { flex: 0 0 auto; font-size: 11.5px; color: var(--muted); padding: 5px 14px; border-top: 1px solid var(--line); background: var(--card); }
.sh-empty { padding: 40px; text-align: center; color: var(--muted); }
#sh-views .s { display: none; }
html.pt-phone .sh-title, html.pt-tablet .sh-title { display: none; }
html.pt-phone #sh-views { flex: 1 1 auto; min-width: 0; overflow-x: auto; scrollbar-width: none; }
html.pt-phone #sh-views::-webkit-scrollbar { display: none; }
html.pt-phone #sh-views { padding: 2px; }
html.pt-phone #sh-views button { flex: 1 1 0; min-width: 0; min-height: 36px; padding: 4px 5px; gap: 4px; font-size: 12px; justify-content: center; }
html.pt-phone #sh-views .lucide { width: 15px; height: 15px; flex: 0 0 auto; }
html.pt-phone #sh-views .l { display: none; }
html.pt-phone #sh-views .s { display: inline; }
html.pt-landscape .sh-title { display: block; max-width: 30vw; }
html.pt-landscape #sh-views button { min-height: 36px; padding: 5px 9px; font-size: 12.5px; }
html.pt-phone .sh-top, html.pt-landscape .sh-top { flex-wrap: nowrap; gap: 8px; box-sizing: border-box; padding: 4px 8px; padding-top: calc(4px + env(safe-area-inset-top)); height: calc(48px + env(safe-area-inset-top)); overflow: hidden; }
html.pt-phone .sh-foot, html.pt-landscape .sh-foot { display: none; }
