/* v2.9: le due viste sono mutuamente esclusive. Il portale non può comparire sotto al login. */
[hidden]{display:none!important}
body.login-only #appView{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.login-only #loginView{display:grid!important;visibility:visible!important;pointer-events:auto!important}
body.authenticated #loginView{display:none!important;visibility:hidden!important;pointer-events:none!important}

:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#17202a;background:#f4f5f6}
*{box-sizing:border-box}html,body{height:100%;margin:0}button,input{font:inherit}
button{cursor:pointer;border:0;border-radius:7px;padding:.7rem 1rem;background:#9e1b1b;color:#fff;font-weight:700}
button.secondary{background:#fff;color:#8d1717;border:1px solid #b9b9b9;width:100%;margin-top:.55rem}
.message{min-height:1.25rem;color:#9e1b1b}.app-view{height:100%;display:grid;grid-template-columns:1fr 300px;grid-template-rows:56px 1fr;grid-template-areas:"top top" "map side"}
.topbar{grid-area:top;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#fff;border-bottom:1px solid #ddd;z-index:1001}.topbar span{display:block;font-size:12px;color:#666;margin-top:2px}.topbar button{padding:.45rem .75rem}
.sidebar{grid-area:side;padding:12px;overflow:auto;background:#f7f7f7;border-left:1px solid #ddd;border-right:0;z-index:900}.panel{background:#fff;border-radius:8px;padding:12px;margin-bottom:10px;box-shadow:0 1px 5px #0002}.panel h2{font-size:15px;margin:0 0 10px}.panel label{display:block;margin:7px 0;font-size:13px}.panel dl{margin:0}.panel dl div{padding:6px 0;border-bottom:1px solid #eee}.panel dl div:last-child{border-bottom:0}.panel dt{font-size:11px;color:#666}.panel dd{margin:2px 0 0;font-weight:700;font-size:13px;word-break:break-word}.inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:5px}.inline-form input{min-width:0;padding:7px;border:1px solid #bbb;border-radius:5px}.inline-form button{padding:7px}
@media(max-width:760px){.app-view{grid-template-columns:1fr;grid-template-rows:54px auto 1fr;grid-template-areas:"top" "side" "map"}.sidebar{max-height:38vh;border-left:0;border-right:0;border-bottom:1px solid #ddd}.topbar{padding:0 9px}}

/* Modalità amministratore: stessa impostazione cartografica dell'HTML originale. */
.app-view.admin-mode{display:block;position:relative;height:100%;width:100%;overflow:hidden}
.app-view.admin-mode .topbar,.app-view.admin-mode .sidebar{display:none!important}
.app-view.admin-mode #map{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.admin-title-panel{position:absolute;z-index:1000;left:12px;top:12px;width:auto;background:#fff;padding:6px 10px;border-radius:6px;box-shadow:0 1px 6px #0003}
.admin-title-panel[hidden]{display:none!important}
.admin-title-panel h1{font-size:13px;margin:0;font-weight:700}
.app-view.admin-mode .leaflet-top.leaflet-left .leaflet-control-zoom{margin-top:54px;margin-left:12px}
@media(max-width:600px){.admin-title-panel{top:8px;left:8px}.app-view.admin-mode .leaflet-top.leaflet-left .leaflet-control-zoom{margin-top:50px;margin-left:8px}}

/* v2.6: in modalità admin la barra di sessione non deve mai comparire. */
body.admin-authenticated .topbar,.app-view.admin-mode .topbar{display:none!important}

/* v2.7: admin = una sola mappa a pieno schermo, senza interfaccia legacy duplicata. */
body.admin-authenticated{overflow:hidden!important;background:#fff!important}
body.admin-authenticated #appView{display:block!important;position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;overflow:hidden!important;margin:0!important;padding:0!important}
body.admin-authenticated #appView>.topbar,body.admin-authenticated #appView>.sidebar,body.admin-authenticated #adminTitlePanel{display:none!important}
body.admin-authenticated #map{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important}


/* v2.16 — legenda irrigazione e selettore sfondo per utenti. */
.full-select{width:100%;padding:7px;border:1px solid #bbb;border-radius:5px;background:#fff;color:#17202a}
.field-label{font-size:11px!important;color:#666;margin-bottom:5px!important}
.legend-note{font-size:11px;line-height:1.35;color:#666;margin:0 0 8px}
.irrigation-legend-panel label{display:flex;align-items:center;gap:7px}
.irrigation-legend-panel input{margin:0}
.irrigation-swatch{width:15px;height:15px;border:2px solid;border-radius:3px;display:inline-block;flex:0 0 15px;background:#fff}
.irrigation-swatch.irr-0{border-color:#8b0000;background:#ff1744}
.irrigation-swatch.irr-1{border-color:#b71c1c;background:#ef5350}
.irrigation-swatch.irr-2{border-color:#062a78;background:#1565c0}
.irrigation-swatch.irr-3{border-color:#ad1457;background:#f06292}
.irrigation-swatch.irr-4{border-color:#5d4037;background:#bcaaa4}
.irrigation-swatch.irr-10{border-color:#00695c;background:#4db6ac}
.irrigation-swatch.irr-missing{border-color:#6a1b9a;background:#ce93d8}

/* Utente normale: riepilogo ruolo nel menu laterale destro. */
.user-role-total-row dd{font-size:16px;color:#8d1717}.user-role-note{font-size:10px;line-height:1.35;color:#666;margin:8px 0 0}.user-role-parcels{font-size:11px;color:#555;margin:0 0 8px}

/* v2.17 — rende chiaramente visibile il comando Gestione utenti in modalità admin. */
.um-launch{color:#17202a!important;background:#fff!important;border:2px solid rgba(0,0,0,.25)!important}
