/* ═══════════════════════════════════════════════════════════════
   ENEGAN · strato "professionale"
   Stessa palette, stesse logiche. Toni più sobri: angoli contenuti,
   pesi tipografici moderati, ombre corte e nitide, niente rimbalzi.
   Caricato DOPO gli stili di pagina. Solo a schermo.
   ═══════════════════════════════════════════════════════════════ */
@media screen{
:root{
  --shadow:0 0 0 1px rgba(20,33,31,.05),0 1px 2px rgba(20,33,31,.05),0 2px 6px -2px rgba(20,33,31,.06);
  --shadow-sm:0 1px 2px rgba(20,33,31,.06);
  --ep-raise:0 0 0 1px rgba(20,33,31,.06),0 2px 4px rgba(20,33,31,.05),0 8px 20px -10px rgba(20,33,31,.22);
  --ep-pop:0 0 0 1px rgba(20,33,31,.08),0 4px 10px rgba(20,33,31,.06),0 20px 44px -18px rgba(20,33,31,.38);
  --ep-r:12px; --ep-r-sm:9px;
  --ep-ease:cubic-bezier(.2,.7,.2,1);
}
html{text-rendering:optimizeLegibility}
body{font-feature-settings:"tnum" 1,"ss01" 1;letter-spacing:.002em}
::selection{background:rgba(20,83,43,.16)}
:focus-visible{outline:2px solid rgba(20,83,43,.6);outline-offset:2px}

*{scrollbar-width:thin;scrollbar-color:rgba(20,33,31,.22) transparent}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:rgba(20,33,31,.18);border-radius:10px;border:3px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:rgba(20,33,31,.32);background-clip:padding-box;border:3px solid transparent}

/* ── BARRA SUPERIORE ── */
.topnav,.enegan-banner{background-image:none!important;box-shadow:inset 0 -1px 0 rgba(0,0,0,.22)}
.topnav{height:46px!important;padding:0 20px!important}
.enegan-banner{padding-top:9px!important;padding-bottom:9px!important}
.nav-logo,.eb-logo{font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase}
.nav-logo{font-size:16px!important}
.eb-logo{font-size:19px!important}
.eb-sub{font-style:normal!important;letter-spacing:.16em!important}
.eb-year{font-weight:700!important;font-size:18px!important}
.nav-sep{height:22px!important;background:rgba(255,255,255,.18)!important}
.nav-crumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.nav-left{min-width:0}
.nav-user{font-weight:500!important;color:rgba(255,255,255,.72)!important;letter-spacing:.01em}
.enegan-stripe{height:3px!important;position:relative;z-index:99;box-shadow:0 1px 0 rgba(20,33,31,.08),0 6px 14px -8px rgba(20,33,31,.28)}
.enegan-stripe::after{content:none}
.topbar{box-shadow:0 1px 0 rgba(0,0,0,.2),0 6px 16px -10px rgba(0,0,0,.4)}

.nav-logout,.nav-back,.ep-fs{
  border-radius:var(--ep-r-sm)!important;height:28px;padding:0 11px!important;display:inline-flex!important;align-items:center;gap:7px;
  font:600 11px/1 "Hanken Grotesk",sans-serif!important;letter-spacing:.04em!important;text-transform:uppercase;
  color:#fff;background:transparent!important;border:1px solid rgba(255,255,255,.26)!important;background-image:none!important;
  box-shadow:none!important;transition:background-color .15s,border-color .15s!important;white-space:nowrap;flex:none;cursor:pointer;
}
.nav-logout:hover,.nav-back:hover,.ep-fs:hover{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.45)!important}

.nav-burger{border-radius:var(--ep-r-sm)!important;width:32px!important;height:32px!important;background:transparent!important;border-color:rgba(255,255,255,.26)!important}
.nav-burger:hover,.nav-menu.open .nav-burger{background:rgba(255,255,255,.1)!important}
.nav-dropdown{border-radius:var(--ep-r)!important;padding:6px!important;box-shadow:var(--ep-pop)!important;border-color:rgba(20,33,31,.08)!important}
.nav-item{border-radius:var(--ep-r-sm)!important;padding:10px!important}
.nav-item .ic{width:32px!important;height:32px!important;border-radius:var(--ep-r-sm)!important}
.nav-item .lbl{font-weight:700!important;font-size:13.5px!important;letter-spacing:0!important}
.nav-item .sub{font-weight:500!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-dropdown{width:320px!important}

/* ── SCHERMO INTERO ── */
.ep-fs svg{display:block;flex:none}
.ep-fs .ep-fs-x{display:none}
:fullscreen .ep-fs .ep-fs-o,.ep-is-fs .ep-fs .ep-fs-o{display:none}
:fullscreen .ep-fs .ep-fs-x,.ep-is-fs .ep-fs .ep-fs-x{display:block}
.ep-fs.float{position:fixed;top:14px;right:14px;z-index:9000;color:#14532b;background:#fff!important;border-color:rgba(20,33,31,.14)!important;box-shadow:var(--ep-raise)!important}
.ep-fs.float:hover{border-color:#14532b!important;background:#fff!important}
.ep-fs-tip{position:fixed;left:50%;top:18px;transform:translate(-50%,-6px);z-index:9001;opacity:0;pointer-events:none;
  font:500 12px/1 "Hanken Grotesk",sans-serif;color:#fff;background:rgba(20,33,31,.9);padding:9px 14px;border-radius:var(--ep-r-sm);
  box-shadow:var(--ep-pop);transition:opacity .2s,transform .2s var(--ep-ease)}
.ep-fs-tip.on{opacity:1;transform:translate(-50%,0)}
.ep-fs-tip kbd{font:600 10px/1 "Hanken Grotesk",sans-serif;background:rgba(255,255,255,.16);border-radius:3px;padding:2px 5px;margin:0 2px}

/* ── SUPERFICI ── */
.card,.kpi,.dbox,.tablecard,.pc,.rc,.hw,.panob,.zonebox,.zone-block,.compactbox,.statcard,.searchbar,.compare,.pod,.drop-zone,.imp-card,.pal-item{
  transition:box-shadow .2s var(--ep-ease),border-color .2s!important;
}
.card,.kpi,.dbox,.tablecard,.pc,.rc,.hw,.panob,.zonebox,.compactbox,.statcard{border-radius:var(--ep-r)!important;box-shadow:var(--shadow)!important}
.kpi:hover,.dbox:hover,.panob:hover,.statcard:hover,.hw:hover{box-shadow:var(--ep-raise)!important}
.card-head,.pc-head,.hw-head{background-image:none!important}
.card-head h3{letter-spacing:.08em!important;font-size:12px!important}
.ix,.sec-h .ix,.sec-head .n{border-radius:var(--ep-r-sm)!important;box-shadow:none!important;font-weight:700!important;width:26px!important;height:26px!important;font-size:12.5px!important}
.zonehead{background-image:none!important;box-shadow:none!important}
.title,.htitle{text-shadow:none!important;letter-spacing:-.015em!important}
.top{border-bottom-width:2px!important}

.backlink{border-radius:var(--ep-r-sm)!important;border-width:1px!important;background:#fff!important;box-shadow:var(--shadow-sm)!important;font-weight:600!important;transition:border-color .15s,color .15s!important}

/* pulsanti: pieni, piatti, netti */
.btn,.tbtn,.tb,.side-add-btn,.add-btn-save,.drop-btn,.btn-export-pdf,.pb-btn,.mode-tab,#loginBtn{
  border-radius:var(--ep-r-sm)!important;background-image:none!important;letter-spacing:.02em!important;
}
.btn,.tbtn,.tb.primary,.side-add-btn,.add-btn-save,.drop-btn,.btn-export-pdf,.pb-btn.save,#loginBtn{
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.18),0 1px 2px rgba(20,33,31,.16)!important;font-weight:700!important;
  transition:background-color .15s,box-shadow .15s,border-color .15s!important;
}
.btn:active,.tbtn:active,.side-add-btn:active,.add-btn-save:active,.drop-btn:active,#loginBtn:active{box-shadow:inset 0 1px 2px rgba(0,0,0,.2)!important}

input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="search"],input[type="date"],input[type="tel"],select,textarea{
  border-radius:var(--ep-r-sm)!important;box-shadow:inset 0 1px 1px rgba(20,33,31,.04);transition:border-color .15s,box-shadow .15s;
}
input[type="text"]:focus,input[type="email"]:focus,input[type="password"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="date"]:focus,input[type="tel"]:focus,select:focus,textarea:focus{
  border-color:#14532b!important;box-shadow:0 0 0 3px rgba(20,83,43,.14)!important;outline:none;
}

.toggle,.mode-tabs{border-radius:var(--ep-r-sm)!important;box-shadow:inset 0 0 0 1px rgba(20,33,31,.06)!important}
.toggle button,.mode-tab{border-radius:4px!important}
.toggle button.on,.mode-tab.active{box-shadow:0 1px 2px rgba(20,33,31,.14)!important}

.zbar{box-shadow:none!important;border-radius:3px!important}
.zbar>span{background-image:none!important;box-shadow:none!important;border-radius:3px!important}

#mapTooltip,.map-tip{border-radius:var(--ep-r-sm)!important;box-shadow:var(--ep-pop)!important}
#mapTooltip .tt-name{font-weight:700!important}

/* ═══════════ HOME ═══════════ */
#loginScreen{background-image:radial-gradient(circle at 1px 1px,rgba(20,33,31,.035) 1px,transparent 0)!important;background-size:22px 22px!important}
#loginScreen>div:first-child{border-radius:var(--ep-r) var(--ep-r) 0 0!important;box-shadow:none}
#loginScreen>div:first-child>div:first-child{font-weight:800!important;letter-spacing:.14em!important;font-size:19px!important}
#loginScreen>div:nth-child(2){border-radius:0 0 var(--ep-r) var(--ep-r)!important;box-shadow:var(--ep-pop)!important}

.map-badge,.map-legend,.zoom-hint,#mapLoading,.drawer-toggle,.pos-bar{
  background:#fff!important;border:1px solid rgba(20,33,31,.08)!important;box-shadow:var(--ep-raise)!important;
  -webkit-backdrop-filter:none;backdrop-filter:none;
}
.map-badge{border-radius:var(--ep-r)!important;padding:12px 16px!important;min-width:150px}
.map-badge .mb-label{font-weight:600!important;letter-spacing:.12em!important;font-size:10px!important}
.map-badge .mb-val{font-weight:700!important;font-size:28px!important;letter-spacing:-.02em;margin-top:2px}
.map-badge .mb-sub{font-weight:500!important}
.map-legend{border-radius:var(--ep-r-sm)!important;padding:10px 12px!important;font-weight:500!important;color:#3a4540!important}
.map-legend i{width:8px!important;height:8px!important;box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px rgba(20,33,31,.12)}
.zoom-hint,#mapLoading{border-radius:var(--ep-r-sm)!important;font-weight:500!important}
.drawer-toggle{white-space:nowrap!important;border-radius:var(--ep-r)!important;font-weight:700!important;letter-spacing:0!important;transition:border-color .15s,box-shadow .15s,opacity .15s!important}
.drawer-toggle:hover{border-color:#14532b!important}
.drawer-toggle .dt-count{border-radius:4px!important;font-weight:700!important}
.pos-bar{border-radius:var(--ep-r)!important;box-shadow:var(--ep-pop)!important}
.pb-title{font-weight:700!important}
.pb-btn{border-width:1px!important;font-weight:600!important}

.zoom-controls{gap:0!important;border-radius:var(--ep-r-sm);overflow:hidden;box-shadow:var(--ep-raise);background:#fff;border:1px solid rgba(20,33,31,.1)}
.zbtn{border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;width:36px!important;height:36px!important;font-weight:500!important;font-size:18px!important}
.zbtn+.zbtn{border-top:1px solid rgba(20,33,31,.1)!important}
.zbtn:hover{background:#f4f6f3!important}

.impianti-side{box-shadow:-12px 0 32px -18px rgba(20,33,31,.35);border-left-color:rgba(20,33,31,.08)!important}
.impianti-side .side-head{background:#fff!important;padding:18px 18px 14px!important}
.impianti-side .side-head .st-title{font-weight:700!important;font-size:15px!important;letter-spacing:-.005em!important}
.impianti-side .side-head .st-sub{font-weight:500!important}
.side-close{border-radius:var(--ep-r-sm)!important;background:#fff!important}
.side-add-btn{padding:10px!important;margin-top:12px!important}
.impianti-list{padding:12px!important;gap:8px!important}
.imp-card{border-color:rgba(20,33,31,.08)!important;border-radius:var(--ep-r)!important;box-shadow:var(--shadow-sm)!important;padding:9px 10px!important}
.imp-card:hover{box-shadow:var(--ep-raise)!important;border-color:rgba(20,83,43,.4)!important}
.imp-card .imp-photo{border-radius:var(--ep-r-sm)!important}
.imp-card .imp-name{font-weight:700!important}
.imp-card .imp-loc{font-weight:500!important}
.imp-card .imp-kwp{font-weight:700!important;border-radius:4px!important;background:#f4f6f3!important;border-color:transparent!important}
.imp-card .imp-del,.imp-card .imp-relocate{border-radius:var(--ep-r-sm)!important}

.showroom{gap:8px!important;padding:10px 12px!important}
.sr-frame{border-radius:var(--ep-r-sm)!important;border:0!important;box-shadow:0 0 0 1px rgba(20,33,31,.08),0 1px 3px rgba(20,33,31,.1)!important}
.sr-cap{font-weight:600!important;letter-spacing:.01em}

#photoModal,#addModal,#schedaModal{background:rgba(15,26,20,.6)!important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.pm-box,.add-box{border-radius:12px!important;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 30px 70px -20px rgba(0,0,0,.5)!important}
.pm-head{padding:16px 20px!important}
.pm-head .pm-title,.pm-scheda .ps-lbl,.sc-group h3{font-weight:700!important}
.pm-close{border-radius:var(--ep-r-sm)!important;background:#fff!important}
.pm-nav{box-shadow:0 2px 8px rgba(0,0,0,.3);font-weight:600!important}
.pm-dots span.active{border-radius:3px!important}
#photoModal.from-list .pm-scheda{border-radius:var(--ep-r)!important}
.pm-scheda .ps-ic{border-radius:var(--ep-r-sm)!important}
.sc-grid dd.big{font-weight:700!important}

/* ═══════════ LAYOUT DESIGN / EXPORT / CACER ═══════════ */
.toolbar:not(:has(.tbtn)){box-shadow:0 1px 0 rgba(20,33,31,.06),0 6px 14px -12px rgba(20,33,31,.3);position:relative;z-index:6}
.toolbar:has(.tbtn){position:fixed!important;right:22px;bottom:22px;z-index:40!important;align-items:stretch!important}
.toolbar:has(.tbtn) .tbtn{white-space:nowrap!important;justify-content:center}
.palette{box-shadow:1px 0 0 rgba(20,33,31,.04);position:relative;z-index:5}
.pal-item{box-shadow:var(--shadow-sm)!important;border-radius:var(--ep-r-sm)!important}
.pal-item:hover{box-shadow:var(--ep-raise)!important}
.pal-swatch{border-radius:4px!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
#stage{box-shadow:inset 0 1px 0 rgba(20,33,31,.06)}
#legendCard{box-shadow:var(--ep-raise)!important;border-radius:var(--ep-r)!important}
.drop-zone{border-radius:var(--ep-r)!important;box-shadow:none}
.drop-zone:hover,.drop-zone.drag-over{box-shadow:var(--shadow)}
.drop-icon{border-radius:var(--ep-r-sm)!important;box-shadow:none}
#ae-output .pg{box-shadow:0 1px 3px rgba(0,0,0,.1),0 12px 30px -16px rgba(0,0,0,.3)!important}
.hero{border-radius:12px!important}
.pod{border-radius:var(--ep-r)!important}

:fullscreen{background:inherit}
}

/* ═══════════ MOVIMENTO AL PASSAGGIO DEL PUNTATORE ═══════════ */
a,button,[role="button"],summary,label[for],select,.nav-item,.imp-card,.pal-item,.sr-frame,.pod,.drop-zone,
.card,.kpi,.dbox,.tablecard,.pc,.rc,.hw,.panob,.zonebox,.compactbox,.statcard,.map-badge,.map-legend,.drawer-toggle,
.pm-scheda,.backlink,.zbtn,.side-close,.pm-close,.imp-del,.imp-relocate,.ix,.nav-item .ic,tr{
  transition:transform .26s var(--ep-ease),box-shadow .26s var(--ep-ease),background-color .2s,border-color .2s,color .2s,opacity .2s!important;
}
.card:hover,.kpi:hover,.dbox:hover,.tablecard:hover,.pc:hover,.rc:hover,.hw:hover,.panob:hover,.zonebox:hover,.compactbox:hover,.statcard:hover,.pod:hover{
  transform:translateY(-2px)!important;box-shadow:var(--ep-raise)!important}
.map-badge:hover,.map-legend:hover{transform:translateY(-2px);box-shadow:var(--ep-pop)!important}
.drawer-toggle:hover{transform:translateY(-2px)!important;box-shadow:var(--ep-pop)!important}
.drawer-toggle .dt-chev{transition:transform .26s var(--ep-ease)}
.drawer-toggle:hover .dt-chev{transform:translateX(-3px)}
.imp-card:hover{transform:translateX(-3px)!important}
.imp-card .imp-photo img{transition:transform .5s var(--ep-ease)}
.imp-card:hover .imp-photo img{transform:scale(1.08)}
.nav-item:hover{transform:translateX(3px)!important}
.nav-item:hover .ic{transform:scale(1.07)!important}
.nav-item .ic{transition:transform .26s var(--ep-ease)!important}
.sr-frame:hover{transform:translateY(-3px)!important;box-shadow:0 0 0 1px rgba(20,33,31,.08),0 14px 26px -12px rgba(20,33,31,.4)!important}
.sr-frame img.show{transition:opacity 1.6s ease,transform .6s var(--ep-ease)!important}
.sr-frame:hover img.show{transform:scale(1.07)!important}
.pal-item:hover,.pm-scheda:hover{transform:translateY(-2px)!important;box-shadow:var(--ep-raise)!important}
.btn:hover,.tbtn:hover,.tb:hover,.side-add-btn:hover,.add-btn-save:hover,.drop-btn:hover,.btn-export-pdf:hover,.pb-btn:hover,#loginBtn:hover,.backlink:hover{
  transform:translateY(-1px)!important;box-shadow:inset 0 -1px 0 rgba(0,0,0,.14),0 8px 16px -8px rgba(20,33,31,.45)!important}
.btn:active,.tbtn:active,.tb:active,.side-add-btn:active,.add-btn-save:active,.drop-btn:active,.pb-btn:active,#loginBtn:active,.backlink:active{transform:translateY(0) scale(.98)!important}
.nav-logout:hover,.nav-back:hover,.ep-fs:hover,.nav-burger:hover{transform:translateY(-1px)}
.ep-fs svg{transition:transform .3s var(--ep-ease)}
.ep-fs:hover svg{transform:scale(1.15)}
.zbtn:hover{color:#14532b!important}
.zbtn:active{transform:scale(.92)!important}
.side-close:hover,.pm-close:hover{transform:rotate(90deg)}
.imp-del:hover,.imp-relocate:hover{transform:scale(1.12)}
.pm-nav:hover{transform:translateY(-50%) scale(1.08)!important}
.drop-zone:hover{transform:translateY(-2px)}
.drop-zone:hover .drop-icon{transform:translateY(-3px)}
.drop-icon{transition:transform .3s var(--ep-ease)!important}
tbody tr:hover{background-color:rgba(20,83,43,.035)}
a:not([class]):hover{opacity:.8}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* ── generato: pesi tipografici e raggi più sobri ── */
@media screen{
.nav-logo{font-weight:800!important}
.el-delete{font-weight:700!important}
.insp-h .t{font-weight:700!important}
.bom-qty{font-weight:700!important}
.bom-total .v{font-weight:700!important}
.eb-logo{font-weight:800!important}
.eb-year{font-weight:800!important}
.title{font-weight:800!important}
.ix{font-weight:700!important}
.card-head h3{font-weight:700!important}
.nav-item .lbl{font-weight:700!important}
.zbtn{font-weight:700!important}
.map-badge .mb-val{font-weight:800!important}
#mapTooltip .tt-name{font-weight:700!important}
.pb-title{font-weight:700!important}
.drawer-toggle{font-weight:700!important}
.impianti-side .side-head .st-title{font-weight:700!important}
.imp-card .imp-kwp{font-weight:700!important}
.pm-head .pm-title{font-weight:700!important}
.pm-nav{font-weight:700!important}
.pm-scheda .ps-lbl{font-weight:700!important}
.sc-group h3{font-weight:700!important}
.sc-grid dd.big{font-weight:800!important}
.weekbox .rng{font-weight:800!important}
.enegan-banner .eb-logo{font-weight:800!important}
.enegan-banner .eb-year{font-weight:800!important}
.sec-h .ix{font-weight:700!important}
.addmodal h2{font-weight:800!important}
.hero{border-radius:12px!important}
.card{border-radius:12px!important}
.pod{border-radius:12px!important}
.badge-fv{border-radius:12px!important}
#report{border-radius:12px!important}
.nav-back{border-radius:9px!important}
.pill-lineare{border-radius:9px!important}
#ae-output .kpi-hero{border-radius:12px!important}
.backlink{border-radius:9px!important}
.btn{border-radius:9px!important}
.nav-logout{border-radius:9px!important}
.nav-dropdown{border-radius:12px!important}
.map-badge{border-radius:12px!important}
.pos-bar{border-radius:12px!important}
.drawer-toggle{border-radius:12px!important}
.drawer-toggle .dt-count{border-radius:9px!important}
.pm-box{border-radius:12px!important}
.add-box{border-radius:12px!important}
.kpi{border-radius:12px!important}
.tbtn{border-radius:9px!important}
.pill{border-radius:9px!important}
.imp{border-radius:12px!important}
.modal{border-radius:12px!important}
.addmodal{border-radius:12px!important}
.faction button{border-radius:9px!important}
.map-fullbox{border-radius:12px!important}
}
@media print{.ep-fs,.ep-fs-tip{display:none!important}}
