/* ZEMA Scrivanie Digitali 0.3.5 — UI refresh: leggibilità, palette, motion, software mark */
.zsf-app-v038{
  --z-navy:#0b1f3a;--z-navy-2:#102e55;--z-blue:#2563eb;--z-sky:#0ea5e9;--z-cyan:#06b6d4;
  --z-teal:#0f766e;--z-green:#059669;--z-amber:#d97706;--z-red:#dc2626;--z-orange:#ea580c;
  --z-ink:#12233f;--z-muted:#5f7088;--z-line:#d7e2ef;--z-soft:#f4f8fc;--z-card:#ffffff;
  --z-shadow:0 16px 42px rgba(15,39,71,.10);--z-shadow-hover:0 18px 36px rgba(37,99,235,.18);
  width:calc(100vw - 48px)!important;max-width:1640px!important;margin:18px 50%!important;transform:translateX(-50%)!important;
  padding:0!important;color:var(--z-ink)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  font-size:17px!important;background:transparent!important;
}
.zsf-app-v038 *{box-sizing:border-box}
.zsf-app-v038 button,.zsf-app-v038 input,.zsf-app-v038 select,.zsf-app-v038 textarea{font-family:inherit}
.zsf-app-v038 .zsf-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:780px;border:1px solid #dce7f2;border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--z-shadow);animation:zsfShellIn .5s cubic-bezier(.2,.8,.2,1) both}
.zsf-app-v038 .zsf-sidebar{display:flex;flex-direction:column;background:linear-gradient(180deg,#f8fbff 0%,#f1f7fc 100%);border-right:1px solid #dce7f2;min-width:0}
.zsf-app-v038 .zsf-brand{display:flex;align-items:center;justify-content:center;min-height:110px;padding:20px;border-bottom:1px solid #e2ebf4;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.zsf-app-v038 .zsf-brand-mark{position:relative;display:grid;place-items:center;width:62px;height:62px;border-radius:19px;background:linear-gradient(145deg,var(--z-blue),var(--z-cyan));box-shadow:0 12px 28px rgba(14,165,233,.28);transition:transform .28s ease,box-shadow .28s ease,filter .28s ease;overflow:hidden}
.zsf-app-v038 .zsf-brand-mark:before{content:"";position:absolute;inset:-30%;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.45),transparent 65%);transform:translateX(-70%) rotate(12deg);transition:transform .65s ease}
.zsf-app-v038 .zsf-brand-mark:hover{transform:translateY(-4px) rotate(-3deg) scale(1.06);box-shadow:0 18px 34px rgba(37,99,235,.34);filter:saturate(1.15)}
.zsf-app-v038 .zsf-brand-mark:hover:before{transform:translateX(70%) rotate(12deg)}
.zsf-app-v038 .zsf-brand-mark svg{position:relative;z-index:1;width:34px;height:34px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.zsf-app-v038 .zsf-brand-copy{display:none!important}
.zsf-app-v038 .zsf-side-nav{display:flex;flex-direction:column;gap:9px;padding:20px 12px}
.zsf-app-v038 .zsf-side-nav button{position:relative;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;width:100%;min-height:54px;padding:12px 13px;border:1px solid transparent;border-radius:13px;background:transparent;color:#2f4e70;text-align:left;font-size:16px!important;font-weight:750;line-height:1.15;cursor:pointer;transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
.zsf-app-v038 .zsf-side-nav button:hover{transform:translateX(6px);background:linear-gradient(100deg,#e9f6ff,#eef4ff);color:#0d5ed8;border-color:#cce5fb;box-shadow:0 8px 18px rgba(37,99,235,.10)}
.zsf-app-v038 .zsf-side-nav button.is-active{background:linear-gradient(100deg,#dff4ff,#e8efff);color:#0758c8;border-color:#bfe2fb;box-shadow:0 9px 20px rgba(14,165,233,.13)}
.zsf-app-v038 .zsf-side-nav button.is-active:before{content:"";position:absolute;left:-13px;top:10px;bottom:10px;width:5px;border-radius:0 5px 5px 0;background:linear-gradient(180deg,var(--z-sky),var(--z-blue));box-shadow:0 0 14px rgba(14,165,233,.5)}
.zsf-app-v038 .zsf-nav-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:rgba(37,99,235,.07);color:#255f9f;font-size:20px;transition:transform .22s ease,background .22s ease,color .22s ease}
.zsf-app-v038 .zsf-side-nav button:hover .zsf-nav-icon,.zsf-app-v038 .zsf-side-nav button.is-active .zsf-nav-icon{transform:scale(1.08);background:#fff;color:#0e65d9}
.zsf-app-v038 .zsf-side-nav small{grid-column:2;font-size:12px!important;color:#7d8fa3;margin-top:-4px}
.zsf-app-v038 .zsf-side-nav button.is-disabled{opacity:.48;cursor:default}.zsf-app-v038 .zsf-side-nav button.is-disabled:hover{transform:none;box-shadow:none}
.zsf-app-v038 .zsf-side-footer{display:flex;align-items:center;gap:10px;margin-top:auto;padding:20px;border-top:1px solid #dce7f2;color:#647892;font-size:14px}.zsf-app-v038 .zsf-side-footer>span{display:grid;place-items:center;width:34px;height:34px;border:2px solid #6b8db1;border-radius:50%;font-weight:900}.zsf-app-v038 .zsf-side-footer strong{font-size:14px}.zsf-app-v038 .zsf-side-footer small{display:block;font-size:12px;margin-top:2px}
.zsf-app-v038 .zsf-main-area{min-width:0;background:linear-gradient(180deg,#fbfdff 0%,#f7fbff 100%)}
.zsf-app-v038 .zsf-workspace{padding:0 0 22px}
.zsf-app-v038 .zsf-hero{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:145px;padding:30px 38px;background:linear-gradient(115deg,#0b1f3a 0%,#123c70 48%,#0f7490 100%);color:#fff;overflow:hidden}
.zsf-app-v038 .zsf-hero:before{content:"";position:absolute;right:-90px;top:-150px;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.23),rgba(37,99,235,.07) 46%,transparent 68%);animation:zsfOrb 9s ease-in-out infinite alternate}
.zsf-app-v038 .zsf-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 40%,rgba(255,255,255,.055),transparent 72%);transform:translateX(-100%);animation:zsfHeroSweep 7s ease-in-out infinite}
.zsf-app-v038 .zsf-hero>div{position:relative;z-index:2}.zsf-app-v038 .zsf-hero-eyebrow{display:block;margin-bottom:8px;font-size:14px!important;font-weight:850;letter-spacing:.055em}.zsf-app-v038 .zsf-hero h1{margin:0!important;color:#fff!important;font-size:40px!important;line-height:1.05!important;font-weight:850!important;letter-spacing:-.02em}.zsf-app-v038 .zsf-hero p{margin:9px 0 0!important;color:#eaf7ff!important;font-size:17px!important;line-height:1.4!important;font-weight:500}
.zsf-app-v038 .zsf-hero-account{display:flex;align-items:center;gap:12px;padding:9px 10px 9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(255,255,255,.09);backdrop-filter:blur(6px);transition:transform .22s ease,background .22s ease,border-color .22s ease}.zsf-app-v038 .zsf-hero-account:hover{transform:translateY(-3px);background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.38)}
.zsf-app-v038 .zsf-client-chip{display:flex;align-items:center;gap:10px}.zsf-app-v038 .zsf-client-chip>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#114a87;font-size:15px;font-weight:900;box-shadow:0 5px 15px rgba(0,0,0,.12)}.zsf-app-v038 .zsf-client-chip small{display:block;color:#cfe8ff;font-size:12px!important}.zsf-app-v038 .zsf-client-chip strong{display:block;margin-top:1px;color:#fff;font-size:16px!important}.zsf-app-v038 .zsf-top-logout{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.45);border-radius:10px;background:#fff;color:#174b80;text-decoration:none;font-size:14px!important;font-weight:800;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.zsf-app-v038 .zsf-top-logout:hover{transform:translateY(-2px) scale(1.03);background:#dff7ff;color:#083f7e;box-shadow:0 9px 20px rgba(0,0,0,.15)}
.zsf-app-v038 .zsf-contract-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 18px;border:0;background:transparent}.zsf-app-v038 .zsf-contract-cards article{display:flex;align-items:center;gap:14px;min-height:96px;padding:18px 20px;border:1px solid var(--z-line);border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(15,39,71,.04);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease}.zsf-app-v038 .zsf-contract-cards article:hover{transform:translateY(-5px);border-color:#8ed8f4;background:linear-gradient(180deg,#fff,#f4fbff);box-shadow:var(--z-shadow-hover)}
.zsf-app-v038 .zsf-card-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:13px;background:linear-gradient(145deg,#ebf6ff,#edf2ff);color:#1d6bc4;font-size:23px;font-weight:900;transition:transform .22s ease}.zsf-app-v038 .zsf-contract-cards article:hover .zsf-card-icon{transform:rotate(-4deg) scale(1.08)}.zsf-app-v038 .zsf-card-icon.zsf-ok{border-radius:50%;background:#def8eb;color:#059669}.zsf-app-v038 .zsf-contract-cards small{display:block;color:#687d96;font-size:13px!important}.zsf-app-v038 .zsf-contract-cards strong{display:block;margin-top:5px;color:#10487f;font-size:18px!important;line-height:1.25}.zsf-app-v038 .zsf-contract-status.active{color:#059669!important}.zsf-app-v038 .zsf-contract-status.expired,.zsf-app-v038 .zsf-contract-status.suspended{color:#dc2626!important}
.zsf-app-v038 .zsf-view{display:none;padding:0 18px}.zsf-app-v038 .zsf-view.is-active{display:block;animation:zsfViewIn .38s cubic-bezier(.2,.8,.2,1) both}.zsf-app-v038 .zsf-demo-note{width:max-content;margin:0 0 10px auto;padding:6px 11px;border-radius:999px;background:#fff3d6;color:#805400;font-size:12px!important;font-weight:850}
.zsf-app-v038 .zsf-demo-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.zsf-app-v038 .zsf-demo-kpi{position:relative;min-height:116px;padding:20px 14px 18px 72px;border:1px solid var(--z-line);border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(15,39,71,.04);transition:transform .23s ease,border-color .23s ease,box-shadow .23s ease,background .23s ease;animation:zsfCardIn .45s ease both}.zsf-app-v038 .zsf-demo-kpi:nth-child(2){animation-delay:.04s}.zsf-app-v038 .zsf-demo-kpi:nth-child(3){animation-delay:.08s}.zsf-app-v038 .zsf-demo-kpi:nth-child(4){animation-delay:.12s}.zsf-app-v038 .zsf-demo-kpi:nth-child(5){animation-delay:.16s}.zsf-app-v038 .zsf-demo-kpi:nth-child(6){animation-delay:.20s}.zsf-app-v038 .zsf-demo-kpi:hover{transform:translateY(-7px) scale(1.015);border-color:#9adcf4;background:linear-gradient(180deg,#fff,#f4fbff);box-shadow:var(--z-shadow-hover)}
.zsf-app-v038 .zsf-demo-kpi:before{position:absolute;left:16px;top:27px;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#eaf5ff;color:#1768be;font-size:23px;font-weight:900;transition:transform .22s ease}.zsf-app-v038 .zsf-demo-kpi:hover:before{transform:scale(1.12) rotate(-4deg)}.zsf-app-v038 .zsf-demo-kpi.workers:before{content:"♟"}.zsf-app-v038 .zsf-demo-kpi.green:before{content:"✓";background:#e2f8ec;color:#059669;border-radius:50%}.zsf-app-v038 .zsf-demo-kpi.missing:before{content:"◆";background:#fff0e8;color:#ea580c}.zsf-app-v038 .zsf-demo-kpi.amber:before{content:"◷";background:#fff6d8;color:#ca8a04}.zsf-app-v038 .zsf-demo-kpi.red:before{content:"!";background:#ffe9e9;color:#dc2626;border-radius:50%}.zsf-app-v038 .zsf-demo-kpi.blue:before{content:"▤"}.zsf-app-v038 .zsf-demo-kpi span{display:block;color:#5b718d;font-size:14px!important;line-height:1.25;white-space:normal}.zsf-app-v038 .zsf-demo-kpi strong{display:block;margin-top:7px;color:#2563eb;font-size:34px!important;line-height:1;font-weight:850}.zsf-app-v038 .zsf-demo-kpi.green strong{color:#059669}.zsf-app-v038 .zsf-demo-kpi.missing strong{color:#ea580c}.zsf-app-v038 .zsf-demo-kpi.amber strong{color:#ca8a04}.zsf-app-v038 .zsf-demo-kpi.red strong{color:#dc2626}
.zsf-app-v038 .zsf-demo-grid{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(340px,.95fr);gap:14px}.zsf-app-v038 .zsf-panel{min-height:330px;padding:18px;border:1px solid var(--z-line);border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(15,39,71,.045);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.zsf-app-v038 .zsf-panel:hover{transform:translateY(-3px);border-color:#b7def0;box-shadow:0 14px 28px rgba(15,39,71,.10)}.zsf-app-v038 .zsf-panel-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.zsf-app-v038 .zsf-panel-title h2{margin:0!important;color:#123d69!important;font-size:21px!important;line-height:1.2!important;font-weight:850!important}.zsf-app-v038 .zsf-panel-title button{border:0;border-radius:9px;background:#edf7ff;color:#0c5fbd;font-size:14px!important;font-weight:800;padding:9px 12px;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.zsf-app-v038 .zsf-panel-title button:hover{transform:translateX(3px);background:#dff2ff;color:#074c9c}
.zsf-app-v038 .zsf-table-wrap{overflow:auto;border:1px solid var(--z-line);border-radius:12px}.zsf-app-v038 .zsf-table{width:100%;border-collapse:collapse;white-space:nowrap;margin:0!important}.zsf-app-v038 .zsf-table th,.zsf-app-v038 .zsf-table td{padding:14px 15px!important;border:0!important;border-bottom:1px solid #e3eaf1!important;text-align:left!important;font-size:14px!important;line-height:1.3!important;color:#23476c!important;background:#fff!important;transition:background .18s ease,color .18s ease}.zsf-app-v038 .zsf-table th{background:linear-gradient(180deg,#edf6fc,#e7f1f8)!important;color:#1f507e!important;font-size:13px!important;text-transform:none!important;font-weight:850!important}.zsf-app-v038 .zsf-table tbody tr:hover td{background:#eef9ff!important;color:#0b4f91!important}.zsf-app-v038 .zsf-table tbody tr:last-child td{border-bottom:0!important}.zsf-app-v038 .zsf-table td strong{color:#173f68;font-size:14px}.zsf-app-v038 .zsf-empty{padding:32px 16px!important;text-align:center;color:#758aa2!important;font-size:14px!important}
.zsf-app-v038 .zsf-status{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#edf1f5;color:#53687f;font-size:12px!important;font-weight:850;transition:transform .18s ease,filter .18s ease}.zsf-app-v038 .zsf-status:hover{transform:scale(1.05);filter:saturate(1.2)}.zsf-app-v038 .zsf-status.valid,.zsf-app-v038 .zsf-status.completed,.zsf-app-v038 .zsf-status.certificate_available{background:#def5e9;color:#057652}.zsf-app-v038 .zsf-status.expiring,.zsf-app-v038 .zsf-status.scheduled,.zsf-app-v038 .zsf-status.in_progress{background:#fff0d5;color:#8d5700}.zsf-app-v038 .zsf-status.expired,.zsf-app-v038 .zsf-status.cancelled{background:#ffe5e7;color:#a52129}.zsf-app-v038 .zsf-status.submitted,.zsf-app-v038 .zsf-status.confirmed{background:#e2efff;color:#164e96}
.zsf-app-v038 .zsf-actions-panel{background:linear-gradient(180deg,#fff,#fbfdff)}.zsf-app-v038 .zsf-action-link{display:grid;grid-template-columns:46px 1fr 22px;align-items:center;gap:12px;width:100%;margin-top:11px;padding:14px;border:1px solid #d8e5f1;border-radius:13px;background:#fff;color:#134775;text-align:left;cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease}.zsf-app-v038 .zsf-action-link:hover{transform:translateX(7px) scale(1.01);border-color:#75cdec;background:linear-gradient(100deg,#effaff,#eef3ff);color:#0a59b1;box-shadow:0 10px 22px rgba(14,165,233,.12)}.zsf-app-v038 .zsf-action-icon{display:grid!important;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#e9f7ff,#edf1ff);color:#176bc5;font-size:22px!important;font-weight:900;transition:transform .22s ease}.zsf-app-v038 .zsf-action-link:hover .zsf-action-icon{transform:rotate(-5deg) scale(1.1)}.zsf-app-v038 .zsf-action-link strong{display:block;font-size:15px!important;line-height:1.2}.zsf-app-v038 .zsf-action-link small{display:block;margin-top:4px;color:#6c8199;font-size:12px!important;line-height:1.25}.zsf-app-v038 .zsf-action-link b{font-size:25px;color:#4380bc;transition:transform .2s ease}.zsf-app-v038 .zsf-action-link:hover b{transform:translateX(4px);color:#0e65d9}
.zsf-app-v038 .zsf-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:20px 22px;border:1px solid var(--z-line);border-radius:15px;background:#fff}.zsf-app-v038 .zsf-toolbar h2{margin:0!important;font-size:24px!important;color:#123d69!important}.zsf-app-v038 .zsf-toolbar p{margin:5px 0 0!important;color:#617790!important;font-size:14px!important}.zsf-app-v038 .zsf-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}.zsf-app-v038 .zsf-primary,.zsf-app-v038 .zsf-secondary,.zsf-app-v038 .zsf-upload{min-height:46px;padding:11px 16px;border-radius:11px;font-size:14px!important;font-weight:800;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.zsf-app-v038 .zsf-primary{background:linear-gradient(135deg,#2563eb,#0ea5e9)!important;color:#fff!important}.zsf-app-v038 .zsf-primary:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(37,99,235,.25);filter:saturate(1.15)}.zsf-app-v038 .zsf-secondary,.zsf-app-v038 .zsf-upload{border:1px solid #c8d8e7;background:#fff;color:#134775}.zsf-app-v038 .zsf-secondary:hover,.zsf-app-v038 .zsf-upload:hover{transform:translateY(-2px);border-color:#7ccde9;background:#eefaff;color:#0b5db7}.zsf-app-v038 .zsf-search{min-height:50px;padding:12px 15px;border:1px solid #cbdbea;border-radius:11px;font-size:15px!important;transition:border-color .2s ease,box-shadow .2s ease}.zsf-app-v038 .zsf-search:focus{outline:0;border-color:#38bdf8;box-shadow:0 0 0 4px rgba(56,189,248,.14)}
.zsf-app-v038 .zsf-dialog{border-radius:18px!important}.zsf-app-v038 .zsf-dialog-head h2{font-size:24px!important}.zsf-app-v038 .zsf-form-grid label{font-size:14px!important}.zsf-app-v038 .zsf-form-grid input,.zsf-app-v038 .zsf-form-grid select,.zsf-app-v038 .zsf-form-grid textarea{font-size:15px!important;border-radius:10px!important}.zsf-app-v038 .zsf-certificate h3{font-size:18px!important}.zsf-app-v038 .zsf-certificate p{font-size:14px!important}
.zsf-app-v038 .zsf-version-badge{position:absolute;right:14px;bottom:10px;color:#87a0b8;font-size:11px;font-weight:800;letter-spacing:.04em;opacity:.75}
@keyframes zsfShellIn{from{opacity:0;transform:translateY(14px) scale(.992)}to{opacity:1;transform:none}}
@keyframes zsfViewIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes zsfCardIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes zsfOrb{from{transform:translate3d(-10px,-6px,0) scale(.95)}to{transform:translate3d(18px,14px,0) scale(1.08)}}
@keyframes zsfHeroSweep{0%,45%{transform:translateX(-100%)}65%,100%{transform:translateX(100%)}}
@media(max-width:1180px){.zsf-app-v038{width:calc(100vw - 24px)!important}.zsf-app-v038 .zsf-shell{grid-template-columns:205px minmax(0,1fr)}.zsf-app-v038 .zsf-demo-kpis{grid-template-columns:repeat(3,1fr)}.zsf-app-v038 .zsf-contract-cards{grid-template-columns:repeat(2,1fr)}.zsf-app-v038 .zsf-demo-grid{grid-template-columns:1fr}}
@media(max-width:760px){.zsf-app-v038{width:100%!important;margin:10px 0!important;transform:none!important}.zsf-app-v038 .zsf-shell{display:block;border-radius:0;min-height:0}.zsf-app-v038 .zsf-sidebar{border-right:0;border-bottom:1px solid #dce7f2}.zsf-app-v038 .zsf-brand{min-height:82px}.zsf-app-v038 .zsf-side-nav{display:grid;grid-template-columns:1fr 1fr}.zsf-app-v038 .zsf-side-footer{display:none}.zsf-app-v038 .zsf-hero{align-items:flex-start;flex-direction:column;padding:24px 20px}.zsf-app-v038 .zsf-hero h1{font-size:32px!important}.zsf-app-v038 .zsf-hero-account{width:100%;justify-content:space-between}.zsf-app-v038 .zsf-contract-cards{grid-template-columns:1fr;margin:12px}.zsf-app-v038 .zsf-demo-kpis{grid-template-columns:1fr 1fr}.zsf-app-v038 .zsf-view{padding:0 12px}.zsf-app-v038 .zsf-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.zsf-app-v038 .zsf-side-nav{grid-template-columns:1fr}.zsf-app-v038 .zsf-demo-kpis{grid-template-columns:1fr}.zsf-app-v038 .zsf-hero h1{font-size:29px!important}}
@media(prefers-reduced-motion:reduce){.zsf-app-v038 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* 0.3.6 - dati contrattuali e servizi */
.zsf-app-v038 .zsf-contract-cards-v036{grid-template-columns:1.05fr .9fr 1.05fr 1.6fr}
.zsf-app-v038 .zsf-services-card>div{min-width:0}
.zsf-app-v038 .zsf-service-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px}
.zsf-app-v038 .zsf-service-chips span{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;background:linear-gradient(135deg,#e8f6ff,#e9fbf6);border:1px solid #bde7ef;color:#0b5e77;font-size:14px;font-weight:800;line-height:1.15}
.zsf-app-v038 .zsf-contract-cards-v036 article{min-width:0}
@media(max-width:1180px){.zsf-app-v038 .zsf-contract-cards-v036{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.zsf-app-v038 .zsf-contract-cards-v036{grid-template-columns:1fr}}


/* 0.3.7 — header cleanup, functional ZEMA brand, compact contract access */
.zsf-page-title-hidden{display:none!important}
.zsf-app-v038{margin-top:8px!important}
.zsf-app-v038 .zsf-brand{min-height:88px;padding:14px 12px;background:linear-gradient(180deg,#ffffff 0%,#eef8ff 100%)}
.zsf-app-v038 .zsf-brand-button{width:100%;min-height:60px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:10px 16px;border:1px solid #c9e3f4;border-radius:14px;background:linear-gradient(135deg,#ffffff 0%,#e9f8ff 100%);color:#0b315d;cursor:pointer;box-shadow:0 8px 20px rgba(14,116,144,.10);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}
.zsf-app-v038 .zsf-brand-button:hover{transform:translateY(-3px);border-color:#37b7df;background:linear-gradient(135deg,#fff 0%,#dcf7ff 100%);box-shadow:0 14px 30px rgba(14,165,233,.18)}
.zsf-app-v038 .zsf-brand-word{font-size:25px;font-weight:950;letter-spacing:.08em;line-height:1;color:#0b3c6d}
.zsf-app-v038 .zsf-brand-button small{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#4a769c}
.zsf-app-v038 .zsf-hero{min-height:132px;padding:26px 34px}
.zsf-app-v038 .zsf-hero h1{font-size:38px!important}
.zsf-app-v038 .zsf-hero-account{flex-wrap:wrap;justify-content:flex-end}
.zsf-app-v038 .zsf-contract-pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.38);font-size:14px!important;font-weight:900;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.zsf-app-v038 .zsf-contract-pill span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:rgba(255,255,255,.92);font-size:13px}
.zsf-app-v038 .zsf-contract-pill.is-active{background:#18a66b;color:#fff;border-color:#5ee4aa;box-shadow:0 8px 20px rgba(5,150,105,.24)}
.zsf-app-v038 .zsf-contract-pill.is-active span{color:#08784d}
.zsf-app-v038 .zsf-contract-pill.is-neutral{background:rgba(255,255,255,.12);color:#fff}
.zsf-app-v038 .zsf-contract-pill:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 26px rgba(0,0,0,.18);filter:saturate(1.08)}
.zsf-app-v038 .zsf-view{padding-top:18px}
.zsf-app-v038 .zsf-view#zsf-view-overview{padding-top:18px}
.zsf-app-v038 .zsf-contract-toolbar{margin-bottom:18px;padding:2px 2px 12px}
.zsf-app-v038 .zsf-section-kicker{display:block;margin-bottom:5px;color:#0a78a9;font-size:13px!important;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.zsf-app-v038 .zsf-contract-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}
.zsf-app-v038 .zsf-contract-detail-card{min-height:170px;padding:24px;border:1px solid #cfe0ef;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);box-shadow:0 10px 28px rgba(15,39,71,.07);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.zsf-app-v038 .zsf-contract-detail-card:hover{transform:translateY(-5px);border-color:#7ed7ef;box-shadow:0 18px 38px rgba(14,165,233,.13)}
.zsf-app-v038 .zsf-detail-label{display:block;margin-bottom:12px;color:#697d96;font-size:13px!important;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.zsf-app-v038 .zsf-contract-detail-card>strong{display:block;color:#0d3e70;font-size:25px!important;line-height:1.2}
.zsf-app-v038 .zsf-contract-detail-card p{margin:12px 0 0;color:#61748c;font-size:15px!important;line-height:1.5}
.zsf-app-v038 .zsf-detail-state.active{color:#059669!important}
.zsf-app-v038 .zsf-detail-state.expired,.zsf-app-v038 .zsf-detail-state.suspended{color:#dc2626!important}
.zsf-app-v038 .zsf-services-detail-panel{padding:22px}
.zsf-app-v038 .zsf-service-detail-list{display:grid;gap:12px}
.zsf-app-v038 .zsf-service-detail{display:grid;grid-template-columns:48px 1fr auto;gap:15px;align-items:center;padding:16px 18px;border:1px solid #d7e5f1;border-radius:15px;background:#fff;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.zsf-app-v038 .zsf-service-detail:hover{transform:translateX(4px);border-color:#79d4ed;background:#f2fbff;box-shadow:0 9px 22px rgba(14,165,233,.10)}
.zsf-app-v038 .zsf-service-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(145deg,#0ea5e9,#2563eb);color:#fff;font-size:20px;font-weight:950;box-shadow:0 8px 20px rgba(37,99,235,.18)}
.zsf-app-v038 .zsf-service-detail strong{font-size:17px!important;color:#113e6b}.zsf-app-v038 .zsf-service-detail p{margin:3px 0 0;font-size:14px!important;color:#687d94}.zsf-app-v038 .zsf-service-state{padding:7px 11px;border-radius:999px;background:#def8eb;color:#08784d;font-size:13px!important;font-weight:900}
@media(max-width:980px){.zsf-app-v038 .zsf-contract-detail-grid{grid-template-columns:1fr}.zsf-app-v038 .zsf-contract-pill{order:3}.zsf-app-v038 .zsf-hero-account{justify-content:flex-start}}

/* 0.3.8 — hero più luminoso e area cliente compatta a due righe */
.zsf-app-v038 .zsf-hero{
  background:linear-gradient(105deg,#1767a4 0%,#167faf 48%,#18a7c2 100%)!important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.16);
}
.zsf-app-v038 .zsf-hero:before{
  background:radial-gradient(circle,rgba(255,255,255,.18),rgba(83,214,234,.12) 46%,transparent 70%)!important;
}
.zsf-app-v038 .zsf-hero-account-v038{
  display:grid!important;
  grid-template-columns:auto auto;
  grid-template-rows:auto auto;
  column-gap:12px;
  row-gap:7px;
  align-items:center;
  min-width:300px;
  padding:11px 12px!important;
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.28)!important;
}
.zsf-app-v038 .zsf-hero-account-v038 .zsf-client-chip{
  grid-column:1;
  grid-row:1;
}
.zsf-app-v038 .zsf-hero-account-v038 .zsf-top-logout{
  grid-column:2;
  grid-row:1;
  align-self:center;
}
.zsf-app-v038 .zsf-contract-link{
  grid-column:1 / -1;
  grid-row:2;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:5px 11px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:9px;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:13px!important;
  font-weight:850;
  line-height:1;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.zsf-app-v038 .zsf-contract-link:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.65);
  box-shadow:0 7px 18px rgba(5,65,105,.18);
}
.zsf-app-v038 .zsf-hero-account-v038:hover{
  background:rgba(255,255,255,.16)!important;
}
@media(max-width:760px){
  .zsf-app-v038 .zsf-hero-account-v038{min-width:0;width:100%;grid-template-columns:1fr auto}
  .zsf-app-v038 .zsf-contract-link{justify-self:start}
}

/* 0.3.9 — full-bleed layout e rimozione titolo pagina */
html,body{overflow-x:hidden}
.zsf-page-title-hidden,
body .entry-title,
body .page-title,
body h1.entry-title,
body .wp-block-post-title,
body .vc_custom_heading.zsf-page-title-hidden{display:none!important}

/* La Scrivania esce dal contenitore stretto del tema e usa quasi tutta la viewport */
.zsf-app-v038{
  width:calc(100vw - 40px)!important;
  max-width:none!important;
  margin-top:18px!important;
  margin-right:0!important;
  margin-bottom:24px!important;
  margin-left:calc(50% - 50vw + 20px)!important;
  transform:none!important;
}
.zsf-app-v038 .zsf-shell{
  width:100%!important;
  max-width:none!important;
}

/* Sidebar un filo più compatta per lasciare più spazio alla dashboard */
.zsf-app-v038 .zsf-shell{grid-template-columns:205px minmax(0,1fr)!important}

@media(max-width:1180px){
  .zsf-app-v038{
    width:calc(100vw - 24px)!important;
    margin-left:calc(50% - 50vw + 12px)!important;
  }
  .zsf-app-v038 .zsf-shell{grid-template-columns:195px minmax(0,1fr)!important}
}
@media(max-width:760px){
  .zsf-app-v038{
    width:100%!important;
    margin:10px 0 18px!important;
  }
}

/* 0.4.0 — portale a piena pagina: niente header del sito, niente titolo pagina, niente fascia vuota superiore */
body.zsf-portal-fullscreen{overflow-x:hidden!important}
body.zsf-portal-fullscreen #masthead,
body.zsf-portal-fullscreen #site-header,
body.zsf-portal-fullscreen .site-header,
body.zsf-portal-fullscreen .main-header-bar,
body.zsf-portal-fullscreen .header-wrapper,
body.zsf-portal-fullscreen header.site-header,
body.zsf-portal-fullscreen .elementor-location-header{display:none!important}
body.zsf-portal-fullscreen .entry-title,
body.zsf-portal-fullscreen .page-title,
body.zsf-portal-fullscreen h1.entry-title,
body.zsf-portal-fullscreen .wp-block-post-title{display:none!important}
body.zsf-portal-fullscreen #content,
body.zsf-portal-fullscreen .site-content,
body.zsf-portal-fullscreen .content-area,
body.zsf-portal-fullscreen .site-main,
body.zsf-portal-fullscreen main,
body.zsf-portal-fullscreen article,
body.zsf-portal-fullscreen .entry-content,
body.zsf-portal-fullscreen .page-content{
  margin-top:0!important;
  padding-top:0!important;
}
body.zsf-portal-fullscreen .entry-content > :first-child,
body.zsf-portal-fullscreen .page-content > :first-child{margin-top:0!important;padding-top:0!important}
body.zsf-portal-fullscreen .zsf-app-v038{
  width:calc(100vw - 20px)!important;
  max-width:none!important;
  margin:10px 0 18px calc(50% - 50vw + 10px)!important;
  transform:none!important;
}
.zsf-app-v038 .zsf-brand-button{text-decoration:none!important}
@media(max-width:760px){body.zsf-portal-fullscreen .zsf-app-v038{width:100%!important;margin:0!important}}

/* 0.4.1 — fullscreen server-side: il body class viene aggiunto da PHP, non dipende dal JS */
body.zsf-portal-page #masthead,
body.zsf-portal-page .site-header,
body.zsf-portal-page .ast-primary-header-bar,
body.zsf-portal-page .ast-above-header-wrap,
body.zsf-portal-page .ast-below-header-wrap,
body.zsf-portal-page .ast-mobile-header-wrap,
body.zsf-portal-page #colophon,
body.zsf-portal-page .site-footer{display:none!important}
body.zsf-portal-page #page,
body.zsf-portal-page #content,
body.zsf-portal-page .site-content,
body.zsf-portal-page .ast-container,
body.zsf-portal-page #primary,
body.zsf-portal-page .content-area,
body.zsf-portal-page .site-main,
body.zsf-portal-page article,
body.zsf-portal-page .entry-content{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
body.zsf-portal-page .entry-header,
body.zsf-portal-page .entry-title,
body.zsf-portal-page .page-title{display:none!important}
body.zsf-portal-page .zsf-app-v038{width:calc(100vw - 16px)!important;max-width:none!important;margin:8px!important;transform:none!important}

/* 0.4.2 — ripristino proporzioni corrette dopo il fullscreen aggressivo della 0.4.1 */
body.zsf-portal-page .zsf-shell{
  min-height:720px!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
body.zsf-portal-page .zsf-demo-kpis{
  gap:12px!important;
}
body.zsf-portal-page .zsf-demo-kpis article{
  min-height:104px!important;
}
body.zsf-portal-page .zsf-demo-grid{
  align-items:stretch!important;
}
body.zsf-portal-page .zsf-panel{
  min-height:0!important;
}
@media(max-width:1180px){
  body.zsf-portal-page .zsf-app-v038{
    width:calc(100vw - 32px)!important;
    max-width:none!important;
  }
}

/* 0.4.3 — accesso coordinato con il software */
body.zsf-portal-page{background:#eef5fb!important}
body.zsf-portal-page .zsf-login-stage{
  width:min(1180px,calc(100vw - 40px));
  min-height:100vh;
  margin:0 auto;
  padding:40px 0;
  display:grid;
  place-items:center;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  color:#12365b;
}
body.zsf-portal-page .zsf-login-card{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  border:1px solid #cfe0ef;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 24px 60px rgba(17,64,105,.14);
  animation:zsfLoginEnter .46s cubic-bezier(.2,.8,.2,1) both;
}
body.zsf-portal-page .zsf-login-brand{
  grid-column:1 / -1;
  min-height:78px;
  padding:17px 28px;
  display:flex;
  align-items:baseline;
  gap:12px;
  border-bottom:1px solid #d9e7f2;
  background:linear-gradient(180deg,#fff,#f7fbfe);
}
body.zsf-portal-page .zsf-login-brand-word{font-size:31px;font-weight:950;letter-spacing:.12em;color:#0c4d82;line-height:1}
body.zsf-portal-page .zsf-login-brand-sub{font-size:12px;font-weight:850;letter-spacing:.12em;color:#4f7597}
body.zsf-portal-page .zsf-login-panel{padding:52px 56px 50px}
body.zsf-portal-page .zsf-login-kicker{display:inline-flex;padding:7px 11px;border-radius:999px;background:#e7f6ff;color:#0a78a9;font-size:12px;font-weight:900;letter-spacing:.08em}
body.zsf-portal-page .zsf-login-panel h1{margin:16px 0 10px!important;font-size:42px!important;line-height:1.05!important;color:#123f70!important;font-weight:900!important}
body.zsf-portal-page .zsf-login-intro{margin:0 0 28px!important;font-size:17px!important;line-height:1.55;color:#607991}
body.zsf-portal-page #zsf-login-form p{margin:0 0 18px!important}
body.zsf-portal-page #zsf-login-form label{display:block;margin:0 0 8px!important;font-size:14px!important;font-weight:800;color:#244d75}
body.zsf-portal-page #zsf-login-form input[type="text"],
body.zsf-portal-page #zsf-login-form input[type="password"]{
  width:100%!important;
  min-height:54px!important;
  margin:0!important;
  padding:12px 15px!important;
  border:1px solid #c7d9e8!important;
  border-radius:12px!important;
  background:#fafdff!important;
  color:#143a61!important;
  font-size:17px!important;
  outline:none!important;
  box-shadow:0 3px 10px rgba(24,74,116,.04) inset!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;
}
body.zsf-portal-page #zsf-login-form input[type="text"]:focus,
body.zsf-portal-page #zsf-login-form input[type="password"]:focus{
  border-color:#1ca8c9!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(28,168,201,.13)!important;
  transform:translateY(-1px);
}
body.zsf-portal-page #zsf-login-form .login-remember label{display:inline-flex!important;align-items:center;gap:9px;font-weight:700!important;color:#496985}
body.zsf-portal-page #zsf-login-form .login-remember input{width:18px;height:18px;accent-color:#148cb7}
body.zsf-portal-page #zsf-login-form .login-submit{margin-top:24px!important;margin-bottom:0!important}
body.zsf-portal-page #zsf-login-form input[type="submit"]{
  width:100%!important;
  min-height:54px!important;
  border:0!important;
  border-radius:12px!important;
  background:linear-gradient(100deg,#1767a4 0%,#1689b4 55%,#19a9c1 100%)!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  cursor:pointer!important;
  box-shadow:0 10px 24px rgba(24,136,179,.22)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
body.zsf-portal-page #zsf-login-form input[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(24,136,179,.28)!important;filter:saturate(1.12) brightness(1.03)}
body.zsf-portal-page .zsf-login-security{display:flex;gap:12px;align-items:flex-start;margin-top:26px;padding:15px 16px;border:1px solid #d7ebe6;border-radius:13px;background:#f1fbf8;color:#42695f}
body.zsf-portal-page .zsf-login-security>span{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:50%;background:#d8f5e9;color:#0a8a61;font-weight:950}
body.zsf-portal-page .zsf-login-security p{margin:0!important;font-size:13px!important;line-height:1.45!important}
body.zsf-portal-page .zsf-login-side{position:relative;padding:58px 42px 46px;color:#fff;background:linear-gradient(145deg,#145c96 0%,#137fa9 48%,#18abc0 100%);overflow:hidden}
body.zsf-portal-page .zsf-login-side:before{content:"";position:absolute;width:320px;height:320px;right:-130px;top:-90px;border-radius:50%;background:rgba(255,255,255,.09)}
body.zsf-portal-page .zsf-login-side:after{content:"";position:absolute;width:220px;height:220px;left:-100px;bottom:-110px;border-radius:50%;background:rgba(5,63,109,.16)}
body.zsf-portal-page .zsf-login-side>*{position:relative;z-index:1}
body.zsf-portal-page .zsf-login-side-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);font-size:28px;box-shadow:0 10px 24px rgba(0,0,0,.10)}
body.zsf-portal-page .zsf-login-side h2{margin:25px 0 20px!important;color:#fff!important;font-size:27px!important;line-height:1.15!important;font-weight:900!important}
body.zsf-portal-page .zsf-login-side ul{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:13px}
body.zsf-portal-page .zsf-login-side li{position:relative;padding-left:28px;font-size:15px;font-weight:750;line-height:1.35}
body.zsf-portal-page .zsf-login-side li:before{content:"✓";position:absolute;left:0;top:0;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:rgba(255,255,255,.18);font-size:12px}
body.zsf-portal-page .zsf-login-home{display:inline-flex;margin-top:42px;padding:9px 0;color:#fff!important;font-size:14px;font-weight:850;text-decoration:none!important;border-bottom:1px solid rgba(255,255,255,.45);transition:opacity .18s ease,transform .18s ease}
body.zsf-portal-page .zsf-login-home:hover{opacity:.82;transform:translateX(-3px)}
@keyframes zsfLoginEnter{from{opacity:0;transform:translateY(14px) scale(.992)}to{opacity:1;transform:none}}
@media(max-width:850px){body.zsf-portal-page .zsf-login-stage{width:min(680px,calc(100vw - 24px));padding:18px 0}body.zsf-portal-page .zsf-login-card{grid-template-columns:1fr}body.zsf-portal-page .zsf-login-brand{grid-column:1}body.zsf-portal-page .zsf-login-panel{padding:36px 28px 30px}body.zsf-portal-page .zsf-login-side{padding:34px 28px}.zsf-login-panel h1{font-size:34px!important}}
@media(max-width:480px){body.zsf-portal-page .zsf-login-stage{width:100%;padding:0}body.zsf-portal-page .zsf-login-card{border-radius:0;border-left:0;border-right:0}body.zsf-portal-page .zsf-login-panel{padding:30px 20px 28px}body.zsf-portal-page .zsf-login-brand{padding:15px 20px}body.zsf-portal-page .zsf-login-side{padding:30px 20px}}

/* 0.4.5 — margini minimi del portale, senza effetto full-bleed */
body.zsf-portal-page .zsf-shell{
  border-radius:18px!important;
  box-shadow:0 18px 44px rgba(17,64,105,.12)!important;
}
@media(max-width:760px){
  body.zsf-portal-page .zsf-shell{border-radius:14px!important}
}

/* 0.4.6 — margini desktop equilibrati e KPI corretti */
body.zsf-portal-page{
  background:#eef5fb!important;
  padding:0!important;
}
body.zsf-portal-page .zsf-app-v038{
  width:calc(100vw - 56px)!important;
  max-width:1760px!important;
  margin:24px auto 30px!important;
  transform:none!important;
}
body.zsf-portal-page .zsf-shell{
  width:100%!important;
  border-radius:20px!important;
  overflow:hidden!important;
}

/* KPI: layout esplicito per evitare sovrapposizioni fra numero, icona e label */
.zsf-app-v038 .zsf-demo-kpis{
  gap:14px!important;
  padding:0!important;
  margin:16px 0!important;
}
.zsf-app-v038 .zsf-demo-kpi{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-width:0!important;
  min-height:108px!important;
  padding:18px 16px!important;
  overflow:hidden!important;
}
.zsf-app-v038 .zsf-demo-kpi:before{display:none!important;content:none!important}
.zsf-app-v038 .zsf-kpi-icon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 46px!important;
  width:46px!important;
  height:46px!important;
  border-radius:14px!important;
  background:#eaf5ff!important;
  color:#1768be!important;
  font-size:23px!important;
  font-weight:900!important;
  line-height:1!important;
}
.zsf-app-v038 .zsf-demo-kpi.green .zsf-kpi-icon{background:#e2f8ec!important;color:#059669!important;border-radius:50%!important}
.zsf-app-v038 .zsf-demo-kpi.missing .zsf-kpi-icon{background:#fff0e8!important;color:#ea580c!important}
.zsf-app-v038 .zsf-demo-kpi.amber .zsf-kpi-icon{background:#fff6d8!important;color:#ca8a04!important}
.zsf-app-v038 .zsf-demo-kpi.red .zsf-kpi-icon{background:#ffe9e9!important;color:#dc2626!important;border-radius:50%!important}
.zsf-app-v038 .zsf-kpi-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important}
.zsf-app-v038 .zsf-kpi-label{display:block!important;margin:0!important;color:#5b718d!important;font-size:14px!important;line-height:1.25!important}
.zsf-app-v038 .zsf-kpi-value{display:block!important;margin:6px 0 0!important;color:#2563eb!important;font-size:32px!important;line-height:1!important;font-weight:900!important}
.zsf-app-v038 .zsf-demo-kpi.green .zsf-kpi-value{color:#059669!important}
.zsf-app-v038 .zsf-demo-kpi.missing .zsf-kpi-value{color:#ea580c!important}
.zsf-app-v038 .zsf-demo-kpi.amber .zsf-kpi-value{color:#ca8a04!important}
.zsf-app-v038 .zsf-demo-kpi.red .zsf-kpi-value{color:#dc2626!important}
.zsf-app-v038 .zsf-demo-kpi:hover .zsf-kpi-icon{transform:scale(1.08) rotate(-3deg)}

@media(max-width:1180px){
  body.zsf-portal-page .zsf-app-v038{width:calc(100vw - 36px)!important;margin:18px auto 24px!important}
}
@media(max-width:760px){
  body.zsf-portal-page .zsf-app-v038{width:calc(100vw - 16px)!important;margin:8px auto 16px!important}
  .zsf-app-v038 .zsf-demo-kpi{min-height:96px!important;padding:14px!important}
}

/* 0.4.7 — dashboard gestionale: centro di controllo e pagina verticale completa */
body.zsf-portal-page .zsf-app-v038{
  min-height:calc(100vh - 52px)!important;
}
body.zsf-portal-page .zsf-shell{
  min-height:calc(100vh - 54px)!important;
  background:linear-gradient(180deg,#f7fbff 0%,#eef5fb 100%)!important;
}
.zsf-app-v038 .zsf-workspace{min-height:100%!important;background:transparent!important}
.zsf-app-v038 .zsf-view#zsf-view-overview{padding-bottom:24px!important}
.zsf-app-v038 .zsf-demo-grid{align-items:stretch!important}
.zsf-app-v038 .zsf-panel{min-height:290px!important}
.zsf-app-v038 .zsf-monitor-panel{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important}

.zsf-app-v038 .zsf-command-center{margin-top:18px;padding:20px;border:1px solid #cfe0ef;border-radius:18px;background:linear-gradient(145deg,#eef7ff 0%,#f8fcff 42%,#eefaf9 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 32px rgba(34,78,117,.07)}
.zsf-app-v038 .zsf-command-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:0 2px}
.zsf-app-v038 .zsf-command-head h2{margin:2px 0 0!important;color:#0d3f6d!important;font-size:24px!important;font-weight:900!important;letter-spacing:-.02em}
.zsf-app-v038 .zsf-command-head p{margin:5px 0 0!important;color:#67809b!important;font-size:14px!important}
.zsf-app-v038 .zsf-command-kicker{color:#1680b8;font-size:12px!important;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.zsf-app-v038 .zsf-live-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #bde8d7;border-radius:999px;background:#eafaf3;color:#087653;font-size:12px!important;font-weight:850;white-space:nowrap}
.zsf-app-v038 .zsf-live-badge i{width:8px;height:8px;border-radius:50%;background:#18a66b;box-shadow:0 0 0 4px rgba(24,166,107,.12);animation:zsfLivePulse 1.8s ease-in-out infinite}

.zsf-app-v038 .zsf-command-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.zsf-app-v038 .zsf-console-card{position:relative;overflow:hidden;min-height:220px;padding:18px;border:1px solid #d3e2ef;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(18,67,105,.055);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.zsf-app-v038 .zsf-console-card:before{content:"";position:absolute;right:-50px;top:-70px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(55,183,223,.09),transparent 68%);pointer-events:none}
.zsf-app-v038 .zsf-console-card:hover{transform:translateY(-4px);border-color:#8dd6eb;box-shadow:0 16px 34px rgba(18,91,135,.11)}
.zsf-app-v038 .zsf-priority-card{grid-column:span 5}.zsf-app-v038 .zsf-expiry-card{grid-column:span 4}.zsf-app-v038 .zsf-coverage-card{grid-column:span 3}
.zsf-app-v038 .zsf-company-card{grid-column:span 4}.zsf-app-v038 .zsf-recent-card{grid-column:span 5}.zsf-app-v038 .zsf-docs-card{grid-column:span 3}
.zsf-app-v038 .zsf-console-title{display:flex;align-items:center;gap:11px;margin-bottom:15px}
.zsf-app-v038 .zsf-console-title>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#e7f6ff,#edf2ff);color:#1768be;font-size:19px;font-weight:900}
.zsf-app-v038 .zsf-console-title h3{margin:0!important;color:#123f6a!important;font-size:17px!important;font-weight:900!important;line-height:1.15!important}
.zsf-app-v038 .zsf-console-title small{display:block;margin-top:3px;color:#73879c;font-size:11px!important;line-height:1.2}

.zsf-app-v038 .zsf-priority-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.zsf-app-v038 .zsf-priority-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;min-width:0;padding:10px;border-radius:12px;border:1px solid #e1eaf2;background:#fbfdff}
.zsf-app-v038 .zsf-priority-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eef5fb;color:#39729e;font-weight:950}
.zsf-app-v038 .zsf-priority-row strong{display:block;color:#244966;font-size:12px!important;line-height:1.15}.zsf-app-v038 .zsf-priority-row small{display:block;margin-top:2px;color:#8495a6;font-size:10px!important;line-height:1.15}.zsf-app-v038 .zsf-priority-row>b{font-size:24px;color:#285b82}
.zsf-app-v038 .zsf-priority-row.danger .zsf-priority-icon{background:#ffe8e9;color:#d92d38}.zsf-app-v038 .zsf-priority-row.danger>b{color:#d92d38}
.zsf-app-v038 .zsf-priority-row.warning .zsf-priority-icon{background:#fff4d6;color:#bd8200}.zsf-app-v038 .zsf-priority-row.warning>b{color:#bd8200}
.zsf-app-v038 .zsf-priority-row.orange .zsf-priority-icon{background:#fff0e7;color:#e75a14}.zsf-app-v038 .zsf-priority-row.orange>b{color:#e75a14}
.zsf-app-v038 .zsf-priority-row.info .zsf-priority-icon{background:#e8f3ff;color:#236fc5}.zsf-app-v038 .zsf-priority-row.info>b{color:#236fc5}

.zsf-app-v038 .zsf-horizon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:6px 0 14px}.zsf-app-v038 .zsf-horizon-item{position:relative;padding:13px 8px 11px;border:1px solid #dce7f1;border-radius:12px;background:#fafdff;text-align:center}.zsf-app-v038 .zsf-horizon-item span,.zsf-app-v038 .zsf-horizon-item small{display:block;color:#7b8da0;font-size:10px!important;text-transform:uppercase;letter-spacing:.04em}.zsf-app-v038 .zsf-horizon-item strong{display:block;color:#146da5;font-size:26px!important;line-height:1}.zsf-app-v038 .zsf-horizon-item>b{display:inline-flex;margin-top:7px;min-width:28px;justify-content:center;padding:4px 7px;border-radius:999px;background:#e7f4fb;color:#0b638f;font-size:13px}
.zsf-app-v038 .zsf-console-link{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;padding:10px 12px;border:0;border-radius:10px;background:#eef8ff;color:#1267a0;font-size:12px!important;font-weight:850;cursor:pointer;transition:background .18s ease,transform .18s ease}.zsf-app-v038 .zsf-console-link:hover{background:#dcf1fc;transform:translateX(3px)}

.zsf-app-v038 .zsf-coverage-number{display:flex;align-items:flex-end;gap:9px;margin-top:4px}.zsf-app-v038 .zsf-coverage-number strong{color:#0f7b76;font-size:42px!important;line-height:1}.zsf-app-v038 .zsf-coverage-number span{padding-bottom:4px;color:#627b90;font-size:12px!important;line-height:1.2}.zsf-app-v038 .zsf-progress-track{height:11px;margin:16px 0 13px;border-radius:999px;background:#e8eff5;overflow:hidden}.zsf-app-v038 .zsf-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#16a085,#34c7a6);transition:width .7s cubic-bezier(.2,.8,.2,1)}.zsf-app-v038 .zsf-coverage-legend{display:grid;gap:7px}.zsf-app-v038 .zsf-coverage-legend span{display:flex;align-items:center;gap:7px;color:#61798d;font-size:11px!important}.zsf-app-v038 .zsf-coverage-legend i{width:8px;height:8px;border-radius:50%}.zsf-app-v038 .zsf-coverage-legend .ok{background:#18a66b}.zsf-app-v038 .zsf-coverage-legend .attention{background:#e9a11b}

.zsf-app-v038 .zsf-company-list,.zsf-app-v038 .zsf-dashboard-list{display:grid;gap:8px}.zsf-app-v038 .zsf-company-row,.zsf-app-v038 .zsf-dashboard-row{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid #e1e9f1;border-radius:11px;background:#fbfdff}.zsf-app-v038 .zsf-company-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e9f4ff;color:#2168ad;font-size:12px;font-weight:900}.zsf-app-v038 .zsf-company-row strong{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#294d6c;font-size:12px!important}.zsf-app-v038 .zsf-company-row>b{display:grid;place-items:center;min-width:27px;height:27px;border-radius:999px;background:#eaf6fb;color:#14708f;font-size:12px}.zsf-app-v038 .zsf-dashboard-row{justify-content:space-between}.zsf-app-v038 .zsf-dashboard-row>div{min-width:0}.zsf-app-v038 .zsf-dashboard-row strong{display:block;color:#244c6e;font-size:12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zsf-app-v038 .zsf-dashboard-row small{display:block;margin-top:2px;color:#8091a2;font-size:10px!important}.zsf-app-v038 .zsf-dashboard-row .zsf-status{flex:0 0 auto}

.zsf-app-v038 .zsf-doc-kpi{display:flex;align-items:baseline;gap:8px;padding:10px 0 12px;border-bottom:1px solid #e5edf4}.zsf-app-v038 .zsf-doc-kpi strong{color:#2368b0;font-size:36px!important;line-height:1}.zsf-app-v038 .zsf-doc-kpi span{color:#647d94;font-size:11px!important}.zsf-app-v038 .zsf-doc-list{display:grid;gap:7px;margin-top:10px}.zsf-app-v038 .zsf-doc-list>div{display:flex;align-items:center;gap:8px}.zsf-app-v038 .zsf-doc-list>div>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#edf5ff;color:#246fc0;font-size:9px;font-weight:900}.zsf-app-v038 .zsf-doc-list p{margin:0!important;min-width:0}.zsf-app-v038 .zsf-doc-list strong{display:block;color:#31506c;font-size:11px!important}.zsf-app-v038 .zsf-doc-list small{display:block;color:#8695a4;font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zsf-app-v038 .zsf-console-empty{padding:18px 10px;color:#8092a3;font-size:11px!important;text-align:center;border:1px dashed #dbe5ee;border-radius:10px;background:#fbfdff}

@keyframes zsfLivePulse{0%,100%{box-shadow:0 0 0 3px rgba(24,166,107,.10)}50%{box-shadow:0 0 0 7px rgba(24,166,107,.03)}}
@media(max-width:1350px){.zsf-app-v038 .zsf-priority-card,.zsf-app-v038 .zsf-expiry-card,.zsf-app-v038 .zsf-coverage-card{grid-column:span 6}.zsf-app-v038 .zsf-company-card,.zsf-app-v038 .zsf-recent-card,.zsf-app-v038 .zsf-docs-card{grid-column:span 6}}
@media(max-width:900px){.zsf-app-v038 .zsf-command-grid{grid-template-columns:1fr}.zsf-app-v038 .zsf-console-card{grid-column:1!important}.zsf-app-v038 .zsf-priority-list{grid-template-columns:1fr}.zsf-app-v038 .zsf-command-head{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.zsf-app-v038 .zsf-live-badge i{animation:none!important}}

/* 0.4.8 — dashboard snella: tre soli blocchi operativi */
.zsf-app-v038 .zsf-command-center{display:none!important}
.zsf-app-v038 .zsf-summary-strip{
  display:grid;grid-template-columns:1.15fr .9fr 1.15fr;gap:14px;margin-top:16px;padding-bottom:8px;
}
.zsf-app-v038 .zsf-summary-card{
  min-height:190px;padding:17px 18px;border:1px solid #d4e2ee;border-radius:16px;background:#fff;
  box-shadow:0 8px 20px rgba(25,71,108,.05);display:flex;flex-direction:column;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.zsf-app-v038 .zsf-summary-card:hover{transform:translateY(-2px);border-color:#9bd4e5;box-shadow:0 12px 26px rgba(25,89,129,.09)}
.zsf-app-v038 .zsf-summary-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.zsf-app-v038 .zsf-summary-title>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf5fb;color:#1475a5;font-size:16px;font-weight:900}
.zsf-app-v038 .zsf-summary-title h3{margin:0!important;color:#143f67!important;font-size:16px!important;font-weight:900!important;line-height:1.15!important}
.zsf-app-v038 .zsf-summary-title small{display:block;margin-top:2px;color:#7b8fa1;font-size:11px!important}
.zsf-app-v038 .zsf-priority-list-compact{grid-template-columns:1fr 1fr;gap:7px}
.zsf-app-v038 .zsf-priority-list-compact .zsf-priority-row{grid-template-columns:28px 1fr auto;padding:8px 9px;border-radius:10px}
.zsf-app-v038 .zsf-priority-list-compact .zsf-priority-icon{width:27px;height:27px;border-radius:8px;font-size:12px}
.zsf-app-v038 .zsf-priority-list-compact .zsf-priority-row strong{font-size:11px!important}
.zsf-app-v038 .zsf-priority-list-compact .zsf-priority-row small{display:none}
.zsf-app-v038 .zsf-priority-list-compact .zsf-priority-row>b{font-size:19px!important}
.zsf-app-v038 .zsf-horizon-grid-compact{gap:7px;margin:0 0 10px}
.zsf-app-v038 .zsf-horizon-grid-compact .zsf-horizon-item{padding:10px 6px 9px}
.zsf-app-v038 .zsf-horizon-grid-compact .zsf-horizon-item strong{font-size:22px!important}
.zsf-app-v038 .zsf-dashboard-list-compact{gap:7px}
.zsf-app-v038 .zsf-dashboard-list-compact .zsf-dashboard-row{padding:8px 9px}
.zsf-app-v038 .zsf-dashboard-list-compact .zsf-dashboard-row:nth-child(n+4){display:none}
.zsf-app-v038 .zsf-summary-link{margin-top:auto;width:100%;padding:8px 10px;border:0;border-radius:9px;background:#f0f7fc;color:#176b9c;font-size:11px!important;font-weight:850;text-align:left;cursor:pointer;transition:background .18s ease,transform .18s ease}
.zsf-app-v038 .zsf-summary-link:hover{background:#e2f2fb;transform:translateX(2px)}
.zsf-app-v038 .zsf-panel{min-height:270px!important}
@media(max-width:1150px){.zsf-app-v038 .zsf-summary-strip{grid-template-columns:1fr 1fr}.zsf-app-v038 .zsf-summary-activity{grid-column:1/-1}}
@media(max-width:760px){.zsf-app-v038 .zsf-summary-strip{grid-template-columns:1fr}.zsf-app-v038 .zsf-summary-activity{grid-column:auto}.zsf-app-v038 .zsf-priority-list-compact{grid-template-columns:1fr}}

/* 0.4.9 — spaziature interne più leggibili e coerenti */
.zsf-app-v038 .zsf-view#zsf-view-overview{
  padding-left:18px!important;
  padding-right:18px!important;
}
.zsf-app-v038 .zsf-demo-kpis{
  gap:16px!important;
  margin:18px 0!important;
}
.zsf-app-v038 .zsf-demo-kpi{
  padding:20px 20px!important;
}
.zsf-app-v038 .zsf-demo-grid{
  gap:16px!important;
}
.zsf-app-v038 .zsf-panel{
  padding:22px 24px!important;
}
.zsf-app-v038 .zsf-panel-title{
  margin-bottom:16px!important;
  padding:0 2px!important;
}
.zsf-app-v038 .zsf-panel-title h2{
  padding-left:2px!important;
}
.zsf-app-v038 .zsf-panel-title button{
  padding:10px 14px!important;
  margin-right:0!important;
}
.zsf-app-v038 .zsf-table-wrap{
  margin-top:2px!important;
}
.zsf-app-v038 .zsf-table th,
.zsf-app-v038 .zsf-table td{
  padding:16px 18px!important;
}
.zsf-app-v038 .zsf-actions-panel .zsf-panel-title{
  padding-left:2px!important;
}
.zsf-app-v038 .zsf-action-link{
  margin-top:12px!important;
  padding:16px 18px!important;
  gap:14px!important;
}
.zsf-app-v038 .zsf-action-link strong{
  line-height:1.3!important;
}
.zsf-app-v038 .zsf-action-link small{
  margin-top:5px!important;
  line-height:1.35!important;
}
.zsf-app-v038 .zsf-summary-strip{
  gap:16px!important;
  margin-top:18px!important;
}
.zsf-app-v038 .zsf-summary-card{
  min-height:200px!important;
  padding:22px 24px!important;
}
.zsf-app-v038 .zsf-summary-title{
  gap:12px!important;
  margin-bottom:16px!important;
}
.zsf-app-v038 .zsf-summary-title>span{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
}
.zsf-app-v038 .zsf-summary-title h3{
  line-height:1.25!important;
}
.zsf-app-v038 .zsf-summary-title small{
  margin-top:4px!important;
  line-height:1.35!important;
}
.zsf-app-v038 .zsf-priority-list-compact{
  gap:10px!important;
}
.zsf-app-v038 .zsf-priority-list-compact .zsf-priority-row{
  grid-template-columns:30px 1fr auto!important;
  gap:11px!important;
  padding:11px 13px!important;
}
.zsf-app-v038 .zsf-priority-list-compact .zsf-priority-row strong{
  font-size:12px!important;
  line-height:1.3!important;
}
.zsf-app-v038 .zsf-horizon-grid-compact{
  gap:10px!important;
  margin:2px 0 14px!important;
}
.zsf-app-v038 .zsf-horizon-grid-compact .zsf-horizon-item{
  padding:14px 10px 12px!important;
}
.zsf-app-v038 .zsf-horizon-grid-compact .zsf-horizon-item span,
.zsf-app-v038 .zsf-horizon-grid-compact .zsf-horizon-item small{
  line-height:1.3!important;
}
.zsf-app-v038 .zsf-dashboard-list-compact{
  gap:9px!important;
}
.zsf-app-v038 .zsf-dashboard-list-compact .zsf-dashboard-row{
  padding:11px 13px!important;
  gap:12px!important;
}
.zsf-app-v038 .zsf-dashboard-list-compact .zsf-dashboard-row strong{
  line-height:1.3!important;
}
.zsf-app-v038 .zsf-dashboard-list-compact .zsf-dashboard-row small{
  margin-top:4px!important;
  line-height:1.3!important;
}
.zsf-app-v038 .zsf-summary-link{
  margin-top:14px!important;
  padding:10px 13px!important;
}
@media(max-width:760px){
  .zsf-app-v038 .zsf-view#zsf-view-overview{padding-left:10px!important;padding-right:10px!important}
  .zsf-app-v038 .zsf-panel{padding:18px!important}
  .zsf-app-v038 .zsf-summary-card{padding:18px!important}
  .zsf-app-v038 .zsf-table th,.zsf-app-v038 .zsf-table td{padding:13px 14px!important}
}

/* 0.5.0 — FAQ e guida operativa */
.zsf-app-v038 .zsf-side-footer-v050{display:flex;flex-direction:column;gap:10px;padding:14px;border-top:1px solid #d7e5f1;background:linear-gradient(180deg,#f6fbff 0%,#eef6fc 100%)}
.zsf-app-v038 .zsf-help-main{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #bfd8ea;border-radius:13px;background:#fff;color:#123d69;text-align:left;cursor:pointer;box-shadow:0 5px 14px rgba(28,88,129,.07);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}
.zsf-app-v038 .zsf-help-main:hover{transform:translateY(-2px);border-color:#49b9df;background:#f5fcff;box-shadow:0 10px 22px rgba(14,165,233,.14)}
.zsf-app-v038 .zsf-help-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#1979b5,#20b5ca);color:#fff;font-size:19px;font-weight:900}
.zsf-app-v038 .zsf-help-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.zsf-app-v038 .zsf-help-copy strong{font-size:14px!important;color:#123d69}.zsf-app-v038 .zsf-help-copy small{font-size:11px!important;color:#66809a;line-height:1.25}.zsf-app-v038 .zsf-help-arrow{font-size:22px;color:#1680b8;font-weight:800}
.zsf-app-v038 .zsf-support-link{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:2px 5px;color:#5d7187;text-decoration:none}.zsf-app-v038 .zsf-support-link span{font-size:12px;font-weight:800;color:#3c5977}.zsf-app-v038 .zsf-support-link small{font-size:10px;color:#7890a6}
.zsf-app-v038 .zsf-faq-toolbar{margin-bottom:18px}.zsf-app-v038 .zsf-faq-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start;padding-bottom:24px}
.zsf-app-v038 .zsf-faq-index{position:sticky;top:16px;display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #d5e3ef;border-radius:16px;background:#f7fbfe}.zsf-app-v038 .zsf-faq-index>strong{padding:3px 8px 9px;font-size:14px;color:#123e69}.zsf-app-v038 .zsf-faq-index a{display:block;padding:10px 11px;border-radius:10px;color:#45617e;text-decoration:none;font-size:13px;font-weight:700;transition:background .18s ease,color .18s ease,transform .18s ease}.zsf-app-v038 .zsf-faq-index a:hover{background:#e6f5fc;color:#067ca8;transform:translateX(3px)}
.zsf-app-v038 .zsf-faq-content{display:grid;gap:12px}.zsf-app-v038 .zsf-faq-card{scroll-margin-top:18px;border:1px solid #d5e3ef;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(15,58,92,.05);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.zsf-app-v038 .zsf-faq-card:hover{transform:translateY(-2px);border-color:#8bd6eb;box-shadow:0 10px 26px rgba(14,165,233,.10)}
.zsf-app-v038 .zsf-faq-card-head{display:grid;grid-template-columns:40px minmax(0,1fr);gap:13px;align-items:center;padding:17px 19px 10px}.zsf-app-v038 .zsf-faq-card-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#e2f4ff,#e4fbf7);color:#067da8;font-size:15px;font-weight:950}.zsf-app-v038 .zsf-faq-card-head h3{margin:0 0 2px!important;font-size:17px!important;color:#123e69}.zsf-app-v038 .zsf-faq-card-head p{margin:0!important;font-size:12px!important;color:#71869b}.zsf-app-v038 .zsf-faq-answer{padding:0 19px 18px 72px}.zsf-app-v038 .zsf-faq-answer p{margin:0!important;font-size:14px!important;line-height:1.6;color:#49627b}
.zsf-app-v038 .zsf-faq-support{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:4px;padding:18px 20px;border:1px solid #bfe3ef;border-radius:16px;background:linear-gradient(135deg,#edf9ff,#effcf8)}.zsf-app-v038 .zsf-faq-support strong{font-size:15px;color:#123e69}.zsf-app-v038 .zsf-faq-support p{margin:3px 0 0!important;font-size:12px!important;color:#617a91}.zsf-app-v038 .zsf-faq-support a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:10px;background:#117daf;color:#fff;text-decoration:none;font-size:13px;font-weight:850;white-space:nowrap;transition:transform .18s ease,background .18s ease}.zsf-app-v038 .zsf-faq-support a:hover{transform:translateY(-2px);background:#0d6b98}
@media(max-width:900px){.zsf-app-v038 .zsf-faq-layout{grid-template-columns:1fr}.zsf-app-v038 .zsf-faq-index{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.zsf-app-v038 .zsf-faq-index>strong{grid-column:1/-1}.zsf-app-v038 .zsf-faq-answer{padding-left:19px}}
@media(max-width:600px){.zsf-app-v038 .zsf-faq-index{grid-template-columns:1fr}.zsf-app-v038 .zsf-faq-support{align-items:flex-start;flex-direction:column}.zsf-app-v038 .zsf-side-footer-v050{padding:10px}}

/* 0.5.1 — FAQ visuali e area cliente compatta */
.zsf-app-v038 .zsf-hero-account-v051{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  width:auto!important;
  max-width:340px!important;
  padding:8px 10px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.11)!important;
  border:1px solid rgba(255,255,255,.25)!important;
}
.zsf-app-v038 .zsf-hero-account-v051 .zsf-client-chip{margin:0!important;min-width:0!important}
.zsf-app-v038 .zsf-hero-account-v051 .zsf-client-chip>div{min-width:0}
.zsf-app-v038 .zsf-hero-account-v051 .zsf-client-chip strong{white-space:nowrap}
.zsf-app-v038 .zsf-account-actions{display:flex;align-items:center;gap:7px;margin-left:2px}
.zsf-app-v038 .zsf-hero-account-v051 .zsf-top-logout,
.zsf-app-v038 .zsf-hero-account-v051 .zsf-contract-link{margin:0!important;min-height:34px!important;padding:6px 10px!important;font-size:12px!important;white-space:nowrap}

.zsf-app-v038 .zsf-faq-answer{padding-bottom:20px!important}
.zsf-app-v038 .zsf-faq-visual{margin-top:16px;padding:15px;border:1px solid #cfe2ef;border-radius:14px;background:linear-gradient(180deg,#f8fcff,#f2f8fc);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.zsf-app-v038 .zsf-mini-top{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.zsf-app-v038 .zsf-mini-kpi{padding:10px 9px;border:1px solid #d8e6f1;border-radius:9px;background:#fff;color:#355a78;font-size:11px;font-weight:800;text-align:center}
.zsf-app-v038 .zsf-mini-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:10px}.zsf-app-v038 .zsf-mini-panel,.zsf-app-v038 .zsf-mini-actions{padding:12px;border:1px solid #d8e6f1;border-radius:10px;background:#fff}.zsf-app-v038 .zsf-mini-panel strong,.zsf-app-v038 .zsf-mini-actions strong{display:block;margin-bottom:9px;color:#164b73;font-size:12px}.zsf-app-v038 .zsf-mini-row{display:block;height:9px;margin:7px 0;border-radius:99px;background:#e8f1f7}.zsf-app-v038 .zsf-mini-actions span{display:block;margin:5px 0;padding:6px 8px;border-radius:7px;background:#eef7fd;color:#3d6686;font-size:10px;font-weight:700}
.zsf-app-v038 .zsf-mini-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.zsf-app-v038 .zsf-mini-toolbar>span{margin-right:auto;color:#164b73;font-size:12px;font-weight:900}.zsf-app-v038 .zsf-mini-toolbar button,.zsf-app-v038 .zsf-mini-form button,.zsf-app-v038 .zsf-mini-doc button,.zsf-app-v038 .zsf-mini-account button{border:0;border-radius:8px;background:#1687b8;color:#fff;padding:7px 10px;font-size:10px;font-weight:800}
.zsf-app-v038 .zsf-mini-table{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr 1fr;border:1px solid #d9e5ee;border-radius:9px;overflow:hidden;background:#fff}.zsf-app-v038 .zsf-mini-table-6{grid-template-columns:1.2fr 1.2fr .8fr .8fr .9fr .9fr}.zsf-app-v038 .zsf-mini-table span{padding:9px 8px;border-right:1px solid #e2ebf2;background:#edf6fc;color:#3f6685;font-size:9px;font-weight:800}.zsf-app-v038 .zsf-mini-table span:last-child{border-right:0}
.zsf-app-v038 .zsf-mini-statuses{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.zsf-app-v038 .zsf-mini-statuses b{padding:6px 9px;border-radius:999px;font-size:9px}.zsf-app-v038 .zsf-mini-statuses .ok{background:#def7eb;color:#06724a}.zsf-app-v038 .zsf-mini-statuses .warn{background:#fff2c8;color:#9c6900}.zsf-app-v038 .zsf-mini-statuses .bad{background:#ffe1e1;color:#b32626}
.zsf-app-v038 .zsf-mini-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}.zsf-app-v038 .zsf-mini-form label{display:grid;gap:5px;color:#45657f;font-size:10px;font-weight:800}.zsf-app-v038 .zsf-mini-form label span{height:28px;border:1px solid #d2e1ec;border-radius:7px;background:#fff}.zsf-app-v038 .zsf-mini-form .wide{grid-column:1/-1}.zsf-app-v038 .zsf-mini-form button{justify-self:start}
.zsf-app-v038 .zsf-mini-doc{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid #d8e5ef;border-radius:10px;background:#fff}.zsf-app-v038 .zsf-mini-doc .doc-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:#e7f3fb;color:#0b74a4;font-size:10px;font-weight:950}.zsf-app-v038 .zsf-mini-doc strong{display:block;color:#164b73;font-size:11px}.zsf-app-v038 .zsf-mini-doc small{display:block;margin-top:3px;color:#6f8396;font-size:9px}
.zsf-app-v038 .zsf-mini-nav-demo{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.zsf-app-v038 .zsf-mini-nav-demo span{padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #d9e5ef;color:#4b6c85;font-size:10px;font-weight:800}.zsf-app-v038 .zsf-mini-nav-demo .active-health{background:#e8f8f4;border-color:#b8e5d8;color:#0d7661}.zsf-app-v038 .zsf-mini-nav-demo em{width:100%;color:#718397;font-size:9px;font-style:normal}
.zsf-app-v038 .zsf-mini-account{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #d7e4ee;border-radius:10px;background:#fff}.zsf-app-v038 .zsf-mini-account .avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#1687b8;color:#fff;font-size:10px;font-weight:900}.zsf-app-v038 .zsf-mini-account div{margin-right:auto}.zsf-app-v038 .zsf-mini-account small{display:block;color:#7690a4;font-size:8px}.zsf-app-v038 .zsf-mini-account strong{display:block;color:#164b73;font-size:11px}.zsf-app-v038 .zsf-mini-contract{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:9px}.zsf-app-v038 .zsf-mini-contract span{padding:8px;border-radius:8px;background:#edf6fb;color:#4a6b85;font-size:9px;font-weight:700}.zsf-app-v038 .zsf-mini-contract b{color:#07875a}
@media(max-width:760px){.zsf-app-v038 .zsf-hero-account-v051{max-width:none!important;width:100%!important;justify-content:space-between}.zsf-app-v038 .zsf-mini-top{grid-template-columns:1fr 1fr}.zsf-app-v038 .zsf-mini-grid{grid-template-columns:1fr}.zsf-app-v038 .zsf-mini-table,.zsf-app-v038 .zsf-mini-table-6{grid-template-columns:1fr 1fr}.zsf-app-v038 .zsf-mini-form{grid-template-columns:1fr}.zsf-app-v038 .zsf-mini-form .wide{grid-column:auto}.zsf-app-v038 .zsf-mini-contract{grid-template-columns:1fr}.zsf-app-v038 .zsf-mini-doc{grid-template-columns:36px 1fr}.zsf-app-v038 .zsf-mini-doc button{grid-column:1/-1;justify-self:start}}

/* 0.5.2 — ZEMADESK wordmark */
.zsf-app-v038 .zsf-brand-button{
  position:relative;
  overflow:hidden;
  min-height:72px;
  padding:12px 14px 11px;
  border:1px solid #b9ddf0;
  background:linear-gradient(145deg,#ffffff 0%,#eefaff 58%,#e5f7ff 100%);
  box-shadow:0 10px 24px rgba(17,111,164,.10), inset 0 1px 0 rgba(255,255,255,.9);
}
.zsf-app-v038 .zsf-brand-button:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:5px;
  height:100%;
  background:linear-gradient(180deg,#2563eb,#06b6d4);
  opacity:.95;
}
.zsf-app-v038 .zsf-brand-button:after{
  content:"";
  position:absolute;
  right:-22px;
  top:-28px;
  width:76px;
  height:76px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(6,182,212,.18),transparent 68%);
  transition:transform .28s ease,opacity .28s ease;
}
.zsf-app-v038 .zsf-brand-button:hover:after{transform:scale(1.25);opacity:.9}
.zsf-app-v038 .zsf-zemadesk-wordmark{
  position:relative;
  z-index:1;
  display:flex;
  align-items:baseline;
  gap:2px;
  font-size:24px;
  font-weight:950;
  letter-spacing:.035em;
  line-height:1;
  white-space:nowrap;
}
.zsf-app-v038 .zsf-zema-part{color:#0b3767}
.zsf-app-v038 .zsf-desk-part{
  color:#0ea5c6;
  letter-spacing:.02em;
  text-shadow:0 1px 0 rgba(255,255,255,.7);
}
.zsf-app-v038 .zsf-zemadesk-tagline{
  position:relative;
  z-index:1;
  display:block;
  margin-top:6px;
  padding-top:5px;
  width:max-content;
  border-top:2px solid #45c6dc;
  color:#52708e!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.zsf-app-v038 .zsf-brand-button:hover{
  transform:translateY(-2px);
  border-color:#65cbe5;
  background:linear-gradient(145deg,#ffffff 0%,#e8f9ff 58%,#ddf7ff 100%);
  box-shadow:0 15px 32px rgba(14,165,233,.16);
}
/* Login wordmark alignment */
.zsf-login-brand-word .zsf-zema-part{color:#0b3767}
.zsf-login-brand-word .zsf-desk-part{color:#0ea5c6;margin-left:2px}

/* 0.5.3 — Gestione lavoratori per agenzia di somministrazione */
.zsf-app-v038 .zsf-workers-toolbar{align-items:flex-end;gap:22px;margin-bottom:18px}
.zsf-app-v038 .zsf-workers-toolbar .zsf-toolbar-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.zsf-app-v038 .zsf-download-template{text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center}
.zsf-app-v038 .zsf-worker-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.zsf-app-v038 .zsf-worker-stat{position:relative;overflow:hidden;min-height:92px;padding:17px 18px;border:1px solid #d7e5f2;border-radius:16px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 7px 18px rgba(15,39,71,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.zsf-app-v038 .zsf-worker-stat:hover{transform:translateY(-2px);border-color:#9fd8ee;box-shadow:0 12px 24px rgba(14,165,233,.10)}
.zsf-app-v038 .zsf-worker-stat span{display:block;color:#687d95;font-size:13px!important;font-weight:750;margin-bottom:5px}
.zsf-app-v038 .zsf-worker-stat strong{display:block;color:#0d3f71;font-size:29px!important;line-height:1}
.zsf-app-v038 .zsf-worker-stat.active strong{color:#059669}.zsf-app-v038 .zsf-worker-stat.attention strong{color:#dc2626}.zsf-app-v038 .zsf-worker-stat.verify strong{color:#d97706}
.zsf-app-v038 .zsf-worker-controls{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(180px,.8fr) minmax(170px,.7fr) auto;gap:10px;align-items:center;margin-bottom:12px;padding:12px;border:1px solid #d8e6f2;border-radius:15px;background:#f8fbfe}
.zsf-app-v038 .zsf-worker-search-wrap{position:relative;min-width:0}.zsf-app-v038 .zsf-worker-search-wrap>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:19px;color:#4e7396;pointer-events:none}
.zsf-app-v038 .zsf-worker-search-wrap .zsf-search{width:100%;margin:0!important;padding-left:42px!important}
.zsf-app-v038 .zsf-worker-controls select{width:100%;min-height:44px;padding:0 34px 0 13px;border:1px solid #cfddea;border-radius:11px;background:#fff;color:#1b456e;font-size:14px!important;font-weight:700}
.zsf-app-v038 .zsf-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:11px 14px;border:1px solid #a9dbea;border-radius:13px;background:linear-gradient(90deg,#effaff,#eefbf7);color:#174f70}
.zsf-app-v038 .zsf-bulk-bar[hidden]{display:none!important}.zsf-app-v038 .zsf-bulk-bar strong{font-size:14px!important}
.zsf-app-v038 .zsf-workers-table-wrap{border-radius:15px;overflow:auto;border:1px solid #d5e3ef;background:#fff}
.zsf-app-v038 .zsf-workers-table{min-width:1050px}.zsf-app-v038 .zsf-workers-table th,.zsf-app-v038 .zsf-workers-table td{padding:14px 13px!important;vertical-align:middle}
.zsf-app-v038 .zsf-workers-table tbody tr{transition:background .16s ease,box-shadow .16s ease}.zsf-app-v038 .zsf-workers-table tbody tr:hover{background:#f6fbff}
.zsf-app-v038 .zsf-check-col{width:44px;text-align:center}.zsf-app-v038 .zsf-check-col input{width:17px;height:17px;accent-color:#168ac0}
.zsf-app-v038 .zsf-mission{display:inline-flex;margin-bottom:4px;padding:5px 9px;border-radius:999px;background:#e9f7ef;color:#08784d;font-size:12px!important;font-weight:850}.zsf-app-v038 .zsf-mission.conclusa{background:#edf1f5;color:#64748b}.zsf-app-v038 .zsf-mission.programmato{background:#edf4ff;color:#285ea8}
.zsf-app-v038 .zsf-workers-table td small{display:block;color:#70849a;font-size:12px!important;margin-top:3px}
.zsf-app-v038 .zsf-row-action{min-height:34px;padding:6px 11px;border:1px solid #bcd6e8;border-radius:9px;background:#f4faff;color:#0d5f93;font-weight:850;font-size:13px!important;cursor:pointer;transition:.18s ease}.zsf-app-v038 .zsf-row-action:hover{background:#0f8fbd;color:#fff;border-color:#0f8fbd;transform:translateY(-1px)}
.zsf-app-v038 .zsf-worker-detail-dialog{width:min(760px,calc(100vw - 32px))!important}.zsf-app-v038 .zsf-worker-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 20px 6px}
.zsf-app-v038 .zsf-worker-detail-grid article{min-height:88px;padding:14px 15px;border:1px solid #d8e5ef;border-radius:13px;background:#f8fbfe}.zsf-app-v038 .zsf-worker-detail-grid article>span{display:block;margin-bottom:7px;color:#6b7f94;font-size:12px!important;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.zsf-app-v038 .zsf-worker-detail-grid article>strong{display:block;color:#143f67;font-size:16px!important;word-break:break-word}
@media(max-width:1100px){.zsf-app-v038 .zsf-worker-stats{grid-template-columns:repeat(2,1fr)}.zsf-app-v038 .zsf-worker-controls{grid-template-columns:1fr 1fr}.zsf-app-v038 .zsf-worker-search-wrap{grid-column:1/-1}}
@media(max-width:700px){.zsf-app-v038 .zsf-worker-stats{grid-template-columns:1fr 1fr}.zsf-app-v038 .zsf-worker-controls{grid-template-columns:1fr}.zsf-app-v038 .zsf-worker-search-wrap{grid-column:auto}.zsf-app-v038 .zsf-worker-detail-grid{grid-template-columns:1fr}.zsf-app-v038 .zsf-workers-toolbar{align-items:flex-start}.zsf-app-v038 .zsf-workers-toolbar .zsf-toolbar-actions{justify-content:flex-start}}

/* 0.5.4 — spaziature sezione lavoratori e terminologia periodo di somministrazione */
.zsf-app-v038 #zsf-view-workers{
  padding-left:24px!important;
  padding-right:24px!important;
  padding-bottom:28px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-toolbar{
  padding:24px 26px!important;
  gap:26px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-toolbar h2{
  margin-bottom:4px!important;
  line-height:1.2!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-toolbar p{
  margin-top:7px!important;
  line-height:1.55!important;
  max-width:720px;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-stats{
  gap:14px!important;
  margin-bottom:18px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-stat{
  min-height:102px!important;
  padding:20px 22px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-stat span{
  margin-bottom:8px!important;
  line-height:1.35!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-controls{
  gap:12px!important;
  padding:15px 16px!important;
  margin-bottom:14px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-search-wrap .zsf-search{
  min-height:48px!important;
  padding-top:12px!important;
  padding-bottom:12px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-controls select{
  min-height:48px!important;
  padding-left:15px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-bulk-bar{
  padding:13px 16px!important;
  margin-bottom:14px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table-wrap{
  margin-bottom:6px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th{
  padding:16px 15px!important;
  line-height:1.35!important;
  white-space:normal!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td{
  padding:16px 15px!important;
  line-height:1.45!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td small{
  margin-top:5px!important;
  line-height:1.35!important;
}
.zsf-app-v038 .zsf-worker-detail-grid{
  gap:14px!important;
  padding:22px 24px 10px!important;
}
.zsf-app-v038 .zsf-worker-detail-grid article{
  min-height:94px!important;
  padding:17px 18px!important;
}
.zsf-app-v038 .zsf-worker-detail-grid article>span{
  margin-bottom:9px!important;
  line-height:1.35!important;
}
.zsf-app-v038 .zsf-worker-detail-grid article>strong{
  line-height:1.4!important;
}
@media(max-width:760px){
  .zsf-app-v038 #zsf-view-workers{padding-left:12px!important;padding-right:12px!important}
  .zsf-app-v038 #zsf-view-workers .zsf-workers-toolbar{padding:20px!important}
  .zsf-app-v038 #zsf-view-workers .zsf-worker-stat{padding:17px 18px!important}
  .zsf-app-v038 #zsf-view-workers .zsf-worker-controls{padding:12px!important}
}


/* 0.5.5 — scheda formativa individuale e gestione scadenze */
.zsf-app-v038 .zsf-training-toolbar{align-items:flex-end}
.zsf-app-v038 .zsf-training-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.zsf-app-v038 .zsf-training-stats article{padding:18px 20px;border:1px solid #d9e6f1;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 8px 20px rgba(15,39,71,.05)}
.zsf-app-v038 .zsf-training-stats span{display:block;color:#6a7f96;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px}
.zsf-app-v038 .zsf-training-stats strong{display:block;color:#123e69;font-size:26px;line-height:1}
.zsf-app-v038 .zsf-training-controls{display:grid;grid-template-columns:minmax(280px,1fr) 220px;gap:12px;margin:0 0 16px;padding:16px 18px;border:1px solid #dce7f2;border-radius:15px;background:#fff}
.zsf-app-v038 .zsf-training-controls .zsf-search,.zsf-app-v038 .zsf-training-controls select{min-height:44px;padding:0 14px;border:1px solid #cfddeb;border-radius:10px;background:#fff;font-size:15px}
.zsf-app-v038 .zsf-training-table-wrap{border-radius:16px;overflow:hidden}
.zsf-app-v038 .zsf-worker-training-block{margin:22px 0 4px;padding:20px;border:1px solid #d8e5f0;border-radius:16px;background:#f8fbfe}
.zsf-app-v038 .zsf-worker-training-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}
.zsf-app-v038 .zsf-worker-training-head h3{margin:2px 0 0;font-size:20px;color:#123e69}
.zsf-app-v038 .zsf-worker-training-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 14px;border:1px solid #e0e9f2;border-radius:12px;background:#fff;margin-top:9px}
.zsf-app-v038 .zsf-worker-training-row>div:last-child{text-align:right}
.zsf-app-v038 .zsf-worker-training-row strong,.zsf-app-v038 .zsf-worker-training-row small{display:block}
.zsf-app-v038 .zsf-worker-training-row small{margin-top:4px;color:#6d8095}
@media(max-width:900px){.zsf-app-v038 .zsf-training-stats{grid-template-columns:repeat(2,1fr)}.zsf-app-v038 .zsf-training-controls{grid-template-columns:1fr}.zsf-app-v038 .zsf-worker-training-row{align-items:flex-start;flex-direction:column}.zsf-app-v038 .zsf-worker-training-row>div:last-child{text-align:left}}
@media(max-width:520px){.zsf-app-v038 .zsf-training-stats{grid-template-columns:1fr}}

/* 0.5.6 — correzione spaziature Formazione/Scadenze e Scheda lavoratore */
.zsf-app-v038 #zsf-view-training{
  padding:24px 26px 30px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-toolbar{
  margin:0 0 18px!important;
  padding:24px 26px!important;
  gap:24px!important;
  border-radius:16px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-toolbar .zsf-section-kicker{
  margin-bottom:8px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-toolbar h2{
  margin:0 0 7px!important;
  line-height:1.2!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-toolbar p{
  margin:0!important;
  line-height:1.55!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-toolbar .zsf-primary{
  min-height:46px!important;
  padding:11px 18px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-stats{
  gap:14px!important;
  margin:0 0 18px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-stats article{
  min-height:96px!important;
  padding:20px 22px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-stats span{
  margin-bottom:10px!important;
  line-height:1.35!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-controls{
  gap:14px!important;
  margin:0 0 18px!important;
  padding:17px 18px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-controls .zsf-search,
.zsf-app-v038 #zsf-view-training .zsf-training-controls select{
  min-height:48px!important;
  padding:11px 15px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-table-wrap{
  margin:0!important;
  border-radius:16px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-table-wrap .zsf-table th{
  padding:17px 18px!important;
  line-height:1.35!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-table-wrap .zsf-table td{
  padding:17px 18px!important;
  line-height:1.5!important;
}

/* Dialog scheda lavoratore: il contenuto non è dentro un form, quindi richiede padding dedicato */
.zsf-app-v038 .zsf-worker-detail-dialog{
  width:min(790px,calc(100vw - 40px))!important;
  max-height:calc(100vh - 40px)!important;
  overflow:auto!important;
  border-radius:20px!important;
}
.zsf-app-v038 .zsf-worker-detail-dialog .zsf-dialog-head{
  margin:0!important;
  padding:26px 28px 18px!important;
  align-items:flex-start!important;
  border-bottom:1px solid #e3ebf3!important;
}
.zsf-app-v038 .zsf-worker-detail-dialog .zsf-dialog-head .zsf-section-kicker{
  margin-bottom:7px!important;
}
.zsf-app-v038 .zsf-worker-detail-dialog .zsf-dialog-head h2{
  margin:0!important;
  line-height:1.2!important;
}
.zsf-app-v038 .zsf-worker-detail-dialog .zsf-dialog-head>button{
  width:40px!important;
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  margin:-3px -3px 0 16px!important;
  border-radius:10px!important;
  background:#f2f7fb!important;
  color:#174a78!important;
  line-height:1!important;
}
.zsf-app-v038 .zsf-worker-detail-grid{
  gap:14px!important;
  padding:20px 24px 8px!important;
}
.zsf-app-v038 .zsf-worker-detail-grid article{
  min-height:96px!important;
  padding:18px 19px!important;
}
.zsf-app-v038 .zsf-worker-detail-grid article>span{
  margin-bottom:10px!important;
  line-height:1.35!important;
}
.zsf-app-v038 .zsf-worker-detail-grid article>strong,
.zsf-app-v038 .zsf-worker-detail-grid article>div{
  line-height:1.45!important;
}
.zsf-app-v038 .zsf-worker-detail-dialog .zsf-worker-training-block{
  margin:16px 24px 6px!important;
  padding:20px!important;
}
.zsf-app-v038 .zsf-worker-detail-dialog .zsf-dialog-actions{
  margin:0!important;
  padding:18px 24px 24px!important;
  gap:10px!important;
  border-top:1px solid #edf2f7!important;
}
.zsf-app-v038 .zsf-worker-detail-dialog .zsf-dialog-actions .zsf-primary,
.zsf-app-v038 .zsf-worker-detail-dialog .zsf-dialog-actions .zsf-secondary{
  min-height:46px!important;
  padding:11px 18px!important;
}

/* Dialog registrazione formazione */
.zsf-app-v038 #zsf-training-dialog form{
  padding:26px 28px!important;
}
.zsf-app-v038 #zsf-training-dialog .zsf-dialog-head{
  margin-bottom:22px!important;
}
.zsf-app-v038 #zsf-training-dialog .zsf-form-grid{
  gap:16px!important;
}
.zsf-app-v038 #zsf-training-dialog .zsf-form-grid label{
  gap:8px!important;
  line-height:1.35!important;
}
.zsf-app-v038 #zsf-training-dialog .zsf-form-grid input,
.zsf-app-v038 #zsf-training-dialog .zsf-form-grid select,
.zsf-app-v038 #zsf-training-dialog .zsf-form-grid textarea{
  min-height:48px!important;
  padding:11px 13px!important;
}
.zsf-app-v038 #zsf-training-dialog .zsf-dialog-actions{
  margin-top:24px!important;
  padding-top:18px!important;
  border-top:1px solid #edf2f7!important;
}

@media(max-width:760px){
  .zsf-app-v038 #zsf-view-training{padding:14px 12px 22px!important}
  .zsf-app-v038 #zsf-view-training .zsf-training-toolbar{padding:20px!important}
  .zsf-app-v038 #zsf-view-training .zsf-training-stats article{padding:17px 18px!important}
  .zsf-app-v038 #zsf-view-training .zsf-training-controls{padding:13px!important}
  .zsf-app-v038 .zsf-worker-detail-dialog{width:calc(100vw - 20px)!important}
  .zsf-app-v038 .zsf-worker-detail-dialog .zsf-dialog-head{padding:22px 18px 16px!important}
  .zsf-app-v038 .zsf-worker-detail-grid{padding:16px 16px 6px!important}
  .zsf-app-v038 .zsf-worker-detail-dialog .zsf-worker-training-block{margin:14px 16px 4px!important;padding:16px!important}
  .zsf-app-v038 .zsf-worker-detail-dialog .zsf-dialog-actions{padding:16px!important;flex-wrap:wrap}
  .zsf-app-v038 #zsf-training-dialog form{padding:22px 18px!important}
}

/* 0.5.7 — motore scadenze, notifiche e rinnovi */
.zsf-app-v038 .zsf-nav-badge{
  display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:auto;padding:0 7px;border-radius:999px;
  background:#ef4444;color:#fff;font-size:12px;font-weight:900;box-shadow:0 4px 12px rgba(239,68,68,.24)
}
.zsf-app-v038 .zsf-nav-badge[hidden]{display:none!important}
.zsf-app-v038 .zsf-notification-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.zsf-app-v038 .zsf-notification-summary article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #d8e6f2;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(20,67,105,.06)}
.zsf-app-v038 .zsf-notification-summary span{font-size:14px;font-weight:800;color:#647b93}
.zsf-app-v038 .zsf-notification-summary strong{font-size:28px;color:#114b78}
.zsf-app-v038 .zsf-notification-list{display:grid;gap:12px;padding-bottom:20px}
.zsf-app-v038 .zsf-notification{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;border:1px solid #d9e6f1;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(22,63,98,.05);transition:.18s ease}
.zsf-app-v038 .zsf-notification:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(22,63,98,.10)}
.zsf-app-v038 .zsf-notification.is-read{opacity:.65;background:#f8fbfd}
.zsf-app-v038 .zsf-notification-dot{width:10px;height:10px;border-radius:50%;background:#3b82f6;box-shadow:0 0 0 5px #e8f2ff}
.zsf-app-v038 .zsf-notification.warning .zsf-notification-dot{background:#f59e0b;box-shadow:0 0 0 5px #fff3d9}
.zsf-app-v038 .zsf-notification.danger .zsf-notification-dot{background:#ef4444;box-shadow:0 0 0 5px #fee7e7}
.zsf-app-v038 .zsf-notification strong{display:block;margin-bottom:4px;font-size:16px;color:#103f69}
.zsf-app-v038 .zsf-notification p{margin:0 0 5px;font-size:14px;line-height:1.45;color:#506a84}
.zsf-app-v038 .zsf-notification small{font-size:12px;color:#8497a9}
.zsf-app-v038 .zsf-notification-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.zsf-app-v038 .zsf-link-button{border:0;background:transparent;color:#2374b7;font-weight:800;font-size:13px;cursor:pointer;padding:8px 10px;border-radius:9px}
.zsf-app-v038 .zsf-link-button:hover{background:#eaf5ff;color:#0c5c9b}
.zsf-app-v038 .zsf-training-table-wrap .zsf-table th:last-child,.zsf-app-v038 .zsf-training-table-wrap .zsf-table td:last-child{min-width:145px}
@media(max-width:760px){
 .zsf-app-v038 .zsf-notification-summary{grid-template-columns:1fr}
 .zsf-app-v038 .zsf-notification{grid-template-columns:12px 1fr}
 .zsf-app-v038 .zsf-notification-actions{grid-column:2;justify-content:flex-start}
}

/* 0.5.8 — spaziature area Notifiche e scadenze */
.zsf-app-v038 #zsf-view-notifications{
  padding-left:26px!important;
  padding-right:26px!important;
  padding-bottom:34px!important;
}
.zsf-app-v038 #zsf-view-notifications .zsf-toolbar{
  margin:0 0 22px!important;
  padding:22px 24px!important;
  border:1px solid #d9e6f1;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
}
.zsf-app-v038 #zsf-view-notifications .zsf-toolbar>div:first-child{
  padding-right:18px;
}
.zsf-app-v038 #zsf-view-notifications .zsf-toolbar h2{
  margin:5px 0 8px!important;
  line-height:1.18;
}
.zsf-app-v038 #zsf-view-notifications .zsf-toolbar p{
  margin:0!important;
  max-width:820px;
  line-height:1.6!important;
}
.zsf-app-v038 #zsf-view-notifications .zsf-toolbar-actions{
  padding-left:14px;
}
.zsf-app-v038 #zsf-view-notifications .zsf-notification-summary{
  gap:18px!important;
  margin:0 0 22px!important;
}
.zsf-app-v038 #zsf-view-notifications .zsf-notification-summary article{
  min-height:92px;
  padding:22px 24px!important;
}
.zsf-app-v038 #zsf-view-notifications .zsf-notification-summary span{
  line-height:1.35;
}
.zsf-app-v038 #zsf-view-notifications .zsf-notification-list{
  gap:15px!important;
  padding:2px 0 28px!important;
}
.zsf-app-v038 #zsf-view-notifications .zsf-notification{
  gap:18px!important;
  padding:22px 24px!important;
}
.zsf-app-v038 #zsf-view-notifications .zsf-notification strong{
  margin-bottom:7px!important;
  line-height:1.35;
}
.zsf-app-v038 #zsf-view-notifications .zsf-notification p{
  margin:0 0 8px!important;
  line-height:1.6!important;
}
.zsf-app-v038 #zsf-view-notifications .zsf-notification-actions{
  gap:10px!important;
  padding-left:10px;
}
.zsf-app-v038 #zsf-view-notifications .zsf-notification-actions button,
.zsf-app-v038 #zsf-view-notifications .zsf-notification-actions a{
  min-height:38px;
  padding:8px 13px!important;
}
@media(max-width:900px){
  .zsf-app-v038 #zsf-view-notifications{padding-left:18px!important;padding-right:18px!important}
  .zsf-app-v038 #zsf-view-notifications .zsf-toolbar{padding:19px!important}
  .zsf-app-v038 #zsf-view-notifications .zsf-notification{padding:19px!important}
}
@media(max-width:600px){
  .zsf-app-v038 #zsf-view-notifications{padding-left:12px!important;padding-right:12px!important}
  .zsf-app-v038 #zsf-view-notifications .zsf-toolbar{padding:16px!important}
  .zsf-app-v038 #zsf-view-notifications .zsf-notification-summary article{padding:18px!important}
  .zsf-app-v038 #zsf-view-notifications .zsf-notification{padding:17px!important}
}

/* 0.5.9 — PWA installabile ZEMADESK */
.zsf-app-v038 .zsf-pwa-install,
.zsf-login-stage .zsf-pwa-install{
  width:100%;display:flex;align-items:center;gap:10px;margin-top:10px;padding:11px 12px;
  border:1px solid #b9dceb;border-radius:13px;background:linear-gradient(135deg,#eef9ff,#e8fbfb);
  color:#0c4d75;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.zsf-app-v038 .zsf-pwa-install:hover,
.zsf-login-stage .zsf-pwa-install:hover{transform:translateY(-2px);border-color:#4ac3dc;box-shadow:0 10px 22px rgba(20,139,176,.14)}
.zsf-pwa-install-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#1687b2,#20b9c9);color:#fff;font-size:16px;font-weight:900}
.zsf-pwa-install strong{display:block;font-size:13px;line-height:1.2}.zsf-pwa-install small{display:block;margin-top:2px;font-size:10px;color:#6c8195;line-height:1.25}
.zsf-pwa-help-note{position:fixed;left:50%;bottom:24px;z-index:999999;max-width:min(520px,calc(100vw - 28px));padding:13px 16px;border-radius:13px;background:#0f3f68;color:#fff;font:700 14px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:0 18px 40px rgba(12,51,84,.28);opacity:0;transform:translate(-50%,14px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.zsf-pwa-help-note.is-visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.zsf-pwa-help-note{bottom:14px}}

/* 0.6.0 — struttura applicativa: header e sidebar fissi, contenuto scorrevole */
@media (min-width: 761px){
  body.zsf-portal-page{
    overflow:hidden!important;
  }
  body.zsf-portal-page .zsf-app-v038{
    height:calc(100vh - 36px)!important;
    min-height:680px!important;
    margin-top:18px!important;
    margin-bottom:18px!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-shell{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    align-items:stretch!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-sidebar{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    position:relative!important;
    z-index:40!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-side-nav{
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-main-area{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-workspace{
    height:100%!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scroll-behavior:smooth;
    scrollbar-gutter:stable;
    padding-bottom:32px!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-hero{
    position:sticky!important;
    top:0!important;
    z-index:35!important;
    min-height:122px!important;
    box-shadow:0 8px 22px rgba(24,74,112,.12)!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-brand{
    position:relative!important;
    z-index:45!important;
  }
}

/* Evita che sezioni ancorate finiscano sotto l'header fisso */
.zsf-app-v038 .zsf-view,
.zsf-app-v038 [id^="zsf-view-"]{
  scroll-margin-top:145px;
}

/* Mobile: header sticky, menu laterale torna nel flusso per usabilità */
@media (max-width:760px){
  body.zsf-portal-page{overflow:auto!important}
  body.zsf-portal-page .zsf-app-v038{height:auto!important;min-height:0!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-shell{height:auto!important;overflow:visible!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-main-area,
  body.zsf-portal-page .zsf-app-v038 .zsf-workspace{height:auto!important;overflow:visible!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-hero{position:sticky!important;top:0!important;z-index:35!important}
}

/* 0.6.1 — chrome applicativo full-width, header più compatto e allineamento perfetto */
@media (min-width:761px){
  html,body.zsf-portal-page{
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#edf5fb!important;
  }

  body.zsf-portal-page .zsf-app-v038{
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    min-height:100vh!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-shell{
    width:100%!important;
    height:100%!important;
    min-height:100vh!important;
    grid-template-columns:220px minmax(0,1fr)!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }

  /* Colonna sinistra e testata hanno la stessa quota: nessun dislivello */
  body.zsf-portal-page .zsf-app-v038 .zsf-brand,
  body.zsf-portal-page .zsf-app-v038 .zsf-hero{
    height:104px!important;
    min-height:104px!important;
    max-height:104px!important;
    box-sizing:border-box!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-brand{
    padding:10px 14px!important;
    border-bottom:1px solid #d7e5f0!important;
    align-items:center!important;
    justify-content:center!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-brand-button{
    min-height:72px!important;
    height:72px!important;
    padding:9px 13px!important;
    border-radius:14px!important;
    justify-content:center!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-zemadesk-logo{
    transform:scale(.94);
    transform-origin:left center;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-hero{
    padding:13px 26px!important;
    gap:18px!important;
    align-items:center!important;
    border-radius:0!important;
    box-shadow:0 4px 14px rgba(20,76,115,.08)!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-hero-copy{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    min-width:0!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-hero h1{
    margin:0 0 4px!important;
    font-size:32px!important;
    line-height:1.04!important;
    letter-spacing:-.025em!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-hero p{
    margin:0!important;
    font-size:15px!important;
    line-height:1.25!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-hero-account-v038{
    min-width:0!important;
    width:auto!important;
    padding:8px 10px!important;
    column-gap:9px!important;
    row-gap:5px!important;
    border-radius:13px!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-client-chip{
    gap:8px!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-client-chip>span{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
    font-size:14px!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-client-chip small{
    font-size:10px!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-client-chip strong{
    font-size:15px!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-top-logout-hero{
    min-height:34px!important;
    padding:7px 10px!important;
    font-size:12px!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-contract-link{
    min-height:28px!important;
    padding:4px 9px!important;
    font-size:11px!important;
  }

  /* Sidebar veramente fissa; scorre solo la zona centrale. */
  body.zsf-portal-page .zsf-app-v038 .zsf-sidebar{
    height:100vh!important;
    border-right:1px solid #d7e5f0!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-main-area,
  body.zsf-portal-page .zsf-app-v038 .zsf-workspace{
    height:100vh!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-workspace{
    padding-bottom:24px!important;
  }

  body.zsf-portal-page .zsf-app-v038 .zsf-view,
  body.zsf-portal-page .zsf-app-v038 [id^="zsf-view-"]{
    scroll-margin-top:116px!important;
  }
}

/* Tablet: conserva un sottile respiro, senza tornare all'effetto pagina web. */
@media (min-width:761px) and (max-width:1050px){
  body.zsf-portal-page .zsf-app-v038 .zsf-shell{
    grid-template-columns:200px minmax(0,1fr)!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-hero{
    padding-left:20px!important;
    padding-right:18px!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-hero h1{font-size:29px!important}
}

/* 0.6.6 — SOLO MOBILE. Nessuna modifica desktop/tablet >= 761px. */
@media (max-width:760px){
  html,body.zsf-portal-page{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow-x:hidden!important;background:#f3f8fc!important}
  body.zsf-portal-page .zsf-app-v038{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;transform:none!important;min-height:100dvh!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-shell{display:block!important;width:100%!important;min-height:100dvh!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}

  /* Header mobile compatto. */
  body.zsf-portal-page .zsf-app-v038 .zsf-hero{
    position:sticky!important;top:0!important;z-index:95!important;
    height:60px!important;min-height:60px!important;max-height:60px!important;
    padding:0 10px!important;display:grid!important;grid-template-columns:42px minmax(0,1fr) 42px!important;
    align-items:center!important;gap:8px!important;border-radius:0!important;box-shadow:0 4px 14px rgba(17,72,108,.14)!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-hero:before,body.zsf-portal-page .zsf-app-v038 .zsf-hero:after{display:none!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-mobile-menu-toggle{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.3)!important;border-radius:11px!important;background:rgba(255,255,255,.13)!important;color:#fff!important;font-size:21px!important;line-height:1!important;cursor:pointer!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-hero-copy{min-width:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-hero-copy h1,body.zsf-portal-page .zsf-app-v038 .zsf-hero-copy p{display:none!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-hero-copy:before{content:"ZEMADESK"!important;display:block!important;max-width:100%!important;color:#fff!important;font-size:19px!important;line-height:1!important;font-weight:950!important;letter-spacing:.015em!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-hero-account-v051,body.zsf-portal-page .zsf-app-v038 .zsf-hero-account-v038{width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;margin:0!important;display:grid!important;place-items:center!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-client-chip{width:40px!important;height:40px!important;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;gap:0!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-client-chip>span{width:36px!important;height:36px!important;min-width:36px!important;display:grid!important;place-items:center!important;margin:0!important;font-size:12px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-client-chip>div,body.zsf-portal-page .zsf-app-v038 .zsf-account-actions,body.zsf-portal-page .zsf-app-v038 .zsf-top-logout-hero,body.zsf-portal-page .zsf-app-v038 .zsf-contract-link{display:none!important}

  /* Drawer mobile: compare solo sotto 760px; il desktop resta identico alla 0.6.2. */
  body.zsf-portal-page .zsf-app-v038 .zsf-sidebar{
    position:fixed!important;left:0!important;top:0!important;bottom:0!important;right:auto!important;z-index:170!important;
    width:min(86vw,330px)!important;height:100dvh!important;min-height:0!important;display:grid!important;grid-template-rows:70px minmax(0,1fr) auto!important;
    transform:translate3d(-105%,0,0)!important;transition:transform .22s ease!important;background:#fff!important;border:0!important;border-right:1px solid #d9e7f1!important;box-shadow:16px 0 38px rgba(16,49,77,.20)!important;overflow:hidden!important;
  }
  body.zsf-portal-page .zsf-app-v038.is-mobile-nav-open .zsf-sidebar{transform:translate3d(0,0,0)!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-brand{position:relative!important;display:flex!important;align-items:center!important;min-height:70px!important;height:70px!important;padding:9px 56px 9px 12px!important;border-bottom:1px solid #e1ebf3!important;background:#fff!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-brand-button{width:100%!important;height:50px!important;min-height:50px!important;margin:0!important;padding:7px 10px!important;overflow:hidden!important;border-radius:12px!important;justify-content:center!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-zemadesk-wordmark{font-size:20px!important;line-height:1!important;white-space:nowrap!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-zemadesk-tagline{font-size:8px!important;line-height:1.1!important;white-space:nowrap!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-mobile-menu-close{display:grid!important;place-items:center!important;position:absolute!important;right:12px!important;top:15px!important;width:40px!important;height:40px!important;border:1px solid #d4e3ef!important;border-radius:11px!important;background:#f5f9fc!important;color:#164a75!important;font-size:24px!important;line-height:1!important;cursor:pointer!important;z-index:3!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-side-nav{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;width:100%!important;min-height:0!important;margin:0!important;padding:12px!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;background:#fff!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-side-nav button{position:relative!important;flex:none!important;width:100%!important;min-width:0!important;min-height:50px!important;display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;margin:0!important;padding:9px 11px!important;border:1px solid transparent!important;border-radius:11px!important;background:transparent!important;color:#294a68!important;font-size:14px!important;line-height:1.18!important;text-align:left!important;white-space:normal!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-side-nav button.is-active{background:#eaf6ff!important;border-color:#cde8f8!important;color:#0a63a8!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-side-nav button.is-active:before{display:none!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-nav-icon{width:30px!important;height:30px!important;min-width:30px!important;display:grid!important;place-items:center!important;margin:0!important;border-radius:9px!important;font-size:14px!important;background:#eef5fb!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-side-nav small{display:none!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-nav-badge{justify-self:start!important;margin-left:4px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-side-footer{display:block!important;position:relative!important;margin:0!important;padding:10px 12px calc(12px + env(safe-area-inset-bottom))!important;background:#f7fbfe!important;border-top:1px solid #e1ebf3!important;overflow:auto!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-mobile-account-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:8px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-mobile-account-actions>*{min-height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid #cbddea!important;border-radius:9px!important;background:#fff!important;color:#174c77!important;font-size:14px!important;font-weight:800!important;text-decoration:none!important}
  body.zsf-portal-page .zsf-mobile-nav-overlay{position:fixed!important;inset:0!important;z-index:160!important;background:rgba(7,31,52,.48)!important;opacity:0!important;pointer-events:none!important;transition:opacity .2s ease!important;backdrop-filter:blur(2px)!important;-webkit-backdrop-filter:blur(2px)!important}
  body.zsf-portal-page .zsf-mobile-nav-overlay.is-visible{opacity:1!important;pointer-events:auto!important}

  /* Solo il contenuto scorre; niente alterazioni desktop. */
  body.zsf-portal-page .zsf-app-v038 .zsf-main-area,body.zsf-portal-page .zsf-app-v038 .zsf-workspace{width:100%!important;min-height:100dvh!important;height:auto!important;overflow:visible!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-workspace{padding:0 0 18px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-view,body.zsf-portal-page .zsf-app-v038 [id^="zsf-view-"]{padding-left:12px!important;padding-right:12px!important;scroll-margin-top:68px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-demo-grid,body.zsf-portal-page .zsf-app-v038 .zsf-grid-two{grid-template-columns:1fr!important;gap:12px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-demo-kpis{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;width:100%!important;margin:10px 0!important;padding:0!important;overflow:visible!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-demo-kpi{min-width:0!important;min-height:84px!important;padding:12px!important;border-radius:14px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-actions-panel{order:-1!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-action-link{min-height:60px!important;padding:12px 14px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:12px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-toolbar,body.zsf-portal-page .zsf-app-v038 .zsf-workers-toolbar,body.zsf-portal-page .zsf-app-v038 .zsf-training-toolbar{gap:9px!important;padding:12px!important}
  body.zsf-portal-page .zsf-app-v038 input,body.zsf-portal-page .zsf-app-v038 select,body.zsf-portal-page .zsf-app-v038 textarea,body.zsf-portal-page .zsf-app-v038 button{font-size:16px}
}
@media (max-width:390px){
  body.zsf-portal-page .zsf-app-v038 .zsf-demo-kpis{grid-template-columns:1fr!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-hero-copy:before{font-size:17px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-sidebar{width:92vw!important}
}

/* 0.6.7 — correzione mobile isolata: nessun controllo mobile visibile su desktop */
.zsf-mobile-menu-toggle,
.zsf-mobile-menu-close,
.zsf-mobile-account-actions,
.zsf-mobile-nav-overlay{
  display:none!important;
}

@media (max-width:760px){
  body.zsf-portal-page .zsf-app-v038 .zsf-mobile-menu-toggle{display:grid!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-mobile-menu-close{display:grid!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-mobile-account-actions{display:grid!important}
  body.zsf-portal-page .zsf-mobile-nav-overlay{display:block!important}

  /* Il logo del drawer deve rimanere interamente visibile. */
  body.zsf-portal-page .zsf-app-v038 .zsf-brand{
    padding:9px 58px 9px 12px!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-brand-button{
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    align-items:flex-start!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-zemadesk-wordmark{
    display:flex!important;
    align-items:baseline!important;
    max-width:100%!important;
    font-size:18px!important;
    letter-spacing:.01em!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-zemadesk-tagline{
    max-width:100%!important;
    font-size:7px!important;
    letter-spacing:.12em!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }

  /* Quando il drawer è aperto, il bottone hamburger resta dietro l'overlay. */
  body.zsf-portal-page .zsf-app-v038.is-mobile-nav-open .zsf-mobile-menu-toggle{
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* Footer del drawer ordinato e compatto. */
  body.zsf-portal-page .zsf-app-v038 .zsf-side-footer{
    min-height:0!important;
    max-height:150px!important;
    padding:10px 12px calc(12px + env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-side-footer>span,
  body.zsf-portal-page .zsf-app-v038 .zsf-side-footer>div:not(.zsf-mobile-account-actions){
    display:none!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-mobile-account-actions{
    width:100%!important;
    margin:0!important;
    grid-template-columns:1fr 1fr!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-mobile-account-actions>*{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    padding:10px 12px!important;
    box-sizing:border-box!important;
  }
}

/* 0.6.9 — Spaziature dedicate a Contratto e servizi attivi */
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract{
  padding:24px 24px 34px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-toolbar{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0 0 20px!important;
  padding:22px 24px!important;
  border:1px solid #d4e3ef!important;
  border-radius:16px!important;
  background:#fff!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-toolbar>div{
  min-width:0!important;
  padding:0!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-section-kicker{
  margin:0 0 7px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-toolbar h2{
  margin:0 0 8px!important;
  line-height:1.2!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-toolbar p{
  margin:0!important;
  line-height:1.55!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-toolbar button{
  flex:0 0 auto!important;
  min-height:46px!important;
  padding:10px 18px!important;
  margin:0!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-detail-grid{
  gap:18px!important;
  margin:0 0 20px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-detail-card{
  min-height:158px!important;
  padding:24px 26px!important;
  border-radius:16px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-detail-label{
  margin:0 0 12px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-detail-card>strong{
  margin:0!important;
  line-height:1.22!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-detail-card p{
  margin:14px 0 0!important;
  line-height:1.55!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-services-detail-panel{
  margin:0!important;
  padding:24px 26px 26px!important;
  border-radius:16px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-services-detail-panel .zsf-panel-title{
  margin:0 0 16px!important;
  padding:0 2px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-services-detail-panel .zsf-panel-title h2{
  margin:4px 0 0!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-service-detail-list{
  gap:14px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-service-detail{
  padding:18px 20px!important;
  gap:16px!important;
  border-radius:14px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-service-detail p{
  margin:5px 0 0!important;
  line-height:1.45!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-service-state{
  margin-left:12px!important;
  padding:8px 13px!important;
}
@media(max-width:980px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-contract{padding:18px 16px 28px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-toolbar{padding:20px!important;gap:16px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-detail-card{padding:22px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-services-detail-panel{padding:22px!important}
}
@media(max-width:760px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-contract{padding:14px 12px 24px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-toolbar{flex-direction:column!important;padding:18px!important;margin-bottom:14px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-toolbar button{width:100%!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-detail-grid{gap:12px!important;margin-bottom:14px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-contract-detail-card{min-height:0!important;padding:18px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-services-detail-panel{padding:18px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-service-detail{grid-template-columns:42px minmax(0,1fr)!important;padding:15px!important;gap:12px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-contract .zsf-service-state{grid-column:2!important;justify-self:start!important;margin:4px 0 0!important}
}

/* 0.7.1 — elenchi compatti per volumi elevati */
.zsf-app-v038 #zsf-view-workers .zsf-workers-table-wrap{border-radius:12px;max-height:58vh;overflow:auto;background:#fff}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table{min-width:980px;table-layout:fixed}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table thead th{position:sticky;top:0;z-index:3;padding:9px 10px!important;font-size:12px!important;line-height:1.15;background:#eaf3f9;white-space:nowrap}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table tbody td{padding:8px 10px!important;font-size:13px!important;line-height:1.2;border-bottom:1px solid #edf2f6}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table tbody tr{height:48px}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td strong{font-size:13px!important;line-height:1.15}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td small{display:inline!important;margin:0 0 0 6px!important;font-size:10.5px!important;color:#7a8da1;white-space:nowrap}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table .zsf-mission{display:inline-flex!important;margin-right:6px;padding:3px 7px!important;font-size:10.5px!important;line-height:1;border-radius:999px}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table .zsf-status{padding:4px 8px!important;font-size:10.5px!important;white-space:nowrap}
.zsf-app-v038 #zsf-view-workers .zsf-row-action{min-height:30px!important;padding:5px 9px!important;font-size:11.5px!important;border-radius:8px!important}
.zsf-app-v038 #zsf-view-workers .zsf-check-col{width:42px!important;text-align:center}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(2){width:15%}.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(3){width:19%}.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(4){width:15%}.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(5){width:21%}.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(6){width:12%}.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(7){width:11%}.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(8){width:70px}
.zsf-app-v038 #zsf-view-workers .zsf-worker-controls{padding:9px!important;gap:8px!important;margin-bottom:9px!important}
.zsf-app-v038 #zsf-view-workers .zsf-worker-controls select,.zsf-app-v038 #zsf-view-workers .zsf-worker-controls .zsf-search{min-height:38px!important;height:38px!important;font-size:12.5px!important}
.zsf-app-v038 #zsf-view-workers .zsf-worker-stats{gap:8px!important;margin-bottom:9px!important}
.zsf-app-v038 #zsf-view-workers .zsf-worker-stat{min-height:58px!important;padding:10px 13px!important}.zsf-app-v038 #zsf-view-workers .zsf-worker-stat span{font-size:11px!important}.zsf-app-v038 #zsf-view-workers .zsf-worker-stat strong{font-size:23px!important}
.zsf-app-v038 .zsf-table-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid #d5e3ef;border-top:0;border-radius:0 0 12px 12px;background:#f8fbfd;color:#587089;font-size:12px}
.zsf-app-v038 .zsf-pagination-actions{display:flex;align-items:center;gap:7px}.zsf-app-v038 .zsf-pagination-actions label{display:flex;align-items:center;gap:6px}.zsf-app-v038 .zsf-pagination-actions select{height:30px;padding:0 24px 0 8px;border:1px solid #cfddea;border-radius:7px;background:#fff;font-size:12px}.zsf-app-v038 .zsf-pagination-actions button{width:30px;height:30px;padding:0;border:1px solid #c8dbea;border-radius:7px;background:#fff;color:#0f5b98;font-size:18px;font-weight:800;cursor:pointer}.zsf-app-v038 .zsf-pagination-actions button:disabled{opacity:.35;cursor:default}.zsf-app-v038 #zsf-workers-page-number{min-width:24px;text-align:center;font-weight:800;color:#174a74}
/* densità coerente anche per gli altri elenchi dati */
.zsf-app-v038 #zsf-view-training .zsf-table th,.zsf-app-v038 #zsf-view-requests .zsf-table th{padding:9px 11px!important;font-size:12px!important}.zsf-app-v038 #zsf-view-training .zsf-table td,.zsf-app-v038 #zsf-view-requests .zsf-table td{padding:8px 11px!important;font-size:12.5px!important;line-height:1.25}.zsf-app-v038 #zsf-view-training .zsf-table td small,.zsf-app-v038 #zsf-view-requests .zsf-table td small{font-size:10.5px!important}
@media(max-width:760px){.zsf-app-v038 .zsf-table-pagination{flex-direction:column;align-items:stretch}.zsf-app-v038 .zsf-pagination-actions{justify-content:space-between}.zsf-app-v038 #zsf-view-workers .zsf-workers-table-wrap{max-height:none}}

/* 0.7.2 — import CSV robusto e report errori */
.zsf-app-v038 .zsf-import-report-dialog{width:min(760px,calc(100vw - 32px));max-width:760px;padding:0!important;border:0!important;border-radius:20px!important;overflow:hidden}
.zsf-app-v038 .zsf-import-report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px 24px}
.zsf-app-v038 .zsf-import-report-summary>div{padding:16px;border:1px solid #d7e5f1;border-radius:14px;background:#f8fbff;text-align:center}
.zsf-app-v038 .zsf-import-report-summary strong{display:block;font-size:28px;color:#0d4c7f;line-height:1}
.zsf-app-v038 .zsf-import-report-summary span{display:block;margin-top:7px;font-size:13px;font-weight:800;color:#657991}
.zsf-app-v038 .zsf-import-report-summary .has-errors{border-color:#ffd1cc;background:#fff6f5}.zsf-app-v038 .zsf-import-report-summary .has-errors strong{color:#d83a2e}
.zsf-app-v038 .zsf-import-report-errors{padding:0 24px 18px;max-height:380px;overflow:auto}
.zsf-app-v038 .zsf-import-report-errors h3{margin:0 0 10px;font-size:15px;color:#163d66}
.zsf-app-v038 .zsf-import-error-list{display:grid;gap:8px}
.zsf-app-v038 .zsf-import-error-list>div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:11px 13px;border-radius:11px;background:#fff7f5;border:1px solid #ffd9d4;font-size:13px}
.zsf-app-v038 .zsf-import-error-list b{color:#b83228}.zsf-app-v038 .zsf-import-error-list span{color:#53677e}
.zsf-app-v038 .zsf-import-ok{padding:16px;border-radius:12px;background:#effaf5;color:#08784d;font-weight:800}
@media(max-width:600px){.zsf-app-v038 .zsf-import-report-summary{grid-template-columns:1fr 1fr 1fr;padding:16px;gap:8px}.zsf-app-v038 .zsf-import-report-summary strong{font-size:23px}.zsf-app-v038 .zsf-import-report-errors{padding:0 16px 16px}.zsf-app-v038 .zsf-import-error-list>div{grid-template-columns:1fr;gap:4px}}

/* 0.7.3 — import CSV: file selezionato, stato caricamento e avvisi leggibili */
.zsf-app-v038 .zsf-csv-file-status{
  display:inline-flex;align-items:center;min-height:38px;max-width:360px;padding:7px 11px;
  border:1px solid #cfe1ef;border-radius:10px;background:#f7fbff;color:#5b7188;
  font-size:12px!important;font-weight:700;line-height:1.25;white-space:normal
}
.zsf-app-v038 .zsf-csv-file-status.is-loading{background:#fff8df;border-color:#f3d36b;color:#8a6500}
.zsf-app-v038 .zsf-csv-file-status.is-ok{background:#e9f9f1;border-color:#93dfb9;color:#0b754d}
.zsf-app-v038 .zsf-csv-file-status.is-error{background:#fff0f0;border-color:#efb0b0;color:#b42318}
.zsf-app-v038 .zsf-import-warning-list{display:grid;gap:8px;margin-top:8px}
.zsf-app-v038 .zsf-import-warning-list>div{display:grid;grid-template-columns:82px 1fr;gap:10px;padding:10px 12px;border:1px solid #f2d47a;border-radius:10px;background:#fff9e7;color:#795a00}
@media(max-width:760px){.zsf-app-v038 .zsf-csv-file-status{width:100%;max-width:none}}


/* 0.7.7 — controlli lavoratori nativi e indipendenti dal JavaScript */
.zsf-app-v038 .zsf-native-worker-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.zsf-app-v038 .zsf-native-worker-actions form{margin:0!important;padding:0!important}
.zsf-app-v038 .zsf-native-download,.zsf-app-v038 .zsf-native-add-link{text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center}
.zsf-app-v038 .zsf-native-file-label{position:relative;overflow:hidden;cursor:pointer;margin:0!important}
.zsf-app-v038 .zsf-native-file-label input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.zsf-app-v038 .zsf-native-action-notice{margin:0 24px 16px;padding:13px 16px;border-radius:12px;font-weight:800;font-size:14px;line-height:1.4}
.zsf-app-v038 .zsf-native-action-notice.is-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}
.zsf-app-v038 .zsf-native-action-notice.is-error{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}
.zsf-app-v038 .zsf-native-add-panel{display:none;margin:0 24px 18px;padding:22px;border:1px solid #cfe0ef;border-radius:16px;background:#fff;box-shadow:0 12px 28px rgba(15,39,71,.08)}
.zsf-app-v038 .zsf-native-add-panel:target{display:block}
.zsf-app-v038 .zsf-native-add-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.zsf-app-v038 .zsf-native-add-head h3{margin:2px 0 0;font-size:21px;color:#123f6b}
.zsf-app-v038 .zsf-native-add-head>a{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eef6fd;color:#0c5f9b;text-decoration:none;font-size:22px;font-weight:900}
.zsf-app-v038 .zsf-native-add-form{margin:0!important}
@media(max-width:760px){.zsf-app-v038 .zsf-native-worker-actions{width:100%;align-items:stretch}.zsf-app-v038 .zsf-native-worker-actions>*{flex:1 1 100%}.zsf-app-v038 .zsf-native-download,.zsf-app-v038 .zsf-native-add-link,.zsf-app-v038 .zsf-native-file-label{width:100%}.zsf-app-v038 .zsf-native-action-notice,.zsf-app-v038 .zsf-native-add-panel{margin-left:12px;margin-right:12px}}

/* 0.7.9 — ripristino inserimento lavoratore in modale */
.zsf-app-v038 .zsf-native-add-panel{display:none!important}
.zsf-dialog#zsf-worker-dialog{width:min(760px,calc(100vw - 40px));max-height:calc(100vh - 56px);overflow:auto;border:0;border-radius:20px;background:#fff;box-shadow:0 28px 90px rgba(9,42,76,.34)}
.zsf-dialog#zsf-worker-dialog::backdrop{background:rgba(10,37,65,.62);backdrop-filter:blur(3px)}
.zsf-dialog#zsf-worker-dialog form{padding:28px 30px 26px!important}
.zsf-dialog#zsf-worker-dialog .zsf-dialog-head{margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid #e4edf5}
.zsf-dialog#zsf-worker-dialog .zsf-dialog-head h2{font-size:25px!important}
.zsf-dialog#zsf-worker-dialog [data-close-dialog]{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#eef6fc;color:#0d5f98;font-size:24px!important;line-height:1;cursor:pointer}
.zsf-dialog#zsf-worker-dialog [data-close-dialog]:hover{background:#dceffc;color:#084a78}
.zsf-dialog#zsf-worker-dialog .zsf-form-grid{gap:16px 18px}
.zsf-dialog#zsf-worker-dialog .zsf-form-grid label{font-size:14px!important}
.zsf-dialog#zsf-worker-dialog .zsf-form-grid input{min-height:46px;padding:10px 12px}
@media(max-width:760px){.zsf-dialog#zsf-worker-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 28px);border-radius:16px}.zsf-dialog#zsf-worker-dialog form{padding:20px 18px!important}.zsf-dialog#zsf-worker-dialog .zsf-form-grid{grid-template-columns:1fr}.zsf-dialog#zsf-worker-dialog .zsf-dialog-actions{position:sticky;bottom:0;background:#fff;padding-top:12px}}


/* 0.8.0 — modifica/eliminazione lavoratori */
.zsf-app-v038 .zsf-worker-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.zsf-app-v038 .zsf-row-action.zsf-row-delete{color:#b42318;border-color:#f3b6b1;background:#fff7f6}
.zsf-app-v038 .zsf-row-action.zsf-row-delete:hover{background:#fee4e2;border-color:#e57f77;color:#8f1d14}
.zsf-app-v038 .zsf-danger{min-height:42px;padding:0 16px;border:1px solid #e7a09a;border-radius:10px;background:#fff3f2;color:#b42318;font-weight:850;cursor:pointer;transition:.18s ease}
.zsf-app-v038 .zsf-danger:hover{background:#d92d20;color:#fff;border-color:#d92d20;transform:translateY(-1px);box-shadow:0 8px 20px rgba(217,45,32,.18)}
.zsf-app-v038 .zsf-worker-detail-actions{justify-content:flex-end;gap:10px}
.zsf-app-v038 .zsf-worker-detail-actions .zsf-danger{margin-right:auto}
@media(max-width:760px){.zsf-app-v038 .zsf-worker-row-actions{flex-wrap:wrap;justify-content:flex-start}.zsf-app-v038 .zsf-worker-detail-actions .zsf-danger{margin-right:0;width:100%}}

/* 0.8.1 — correzioni spaziature modale e leggibilità tabella lavoratori */
/* Footer modale lavoratore: nessuna sovrapposizione tra Annulla e Salva */
.zsf-dialog#zsf-worker-dialog .zsf-dialog-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:22px!important;
  padding:16px 0 0!important;
}
.zsf-dialog#zsf-worker-dialog .zsf-dialog-actions .zsf-primary,
.zsf-dialog#zsf-worker-dialog .zsf-dialog-actions .zsf-secondary{
  width:auto!important;
  min-width:132px!important;
  min-height:44px!important;
  padding:10px 18px!important;
  margin:0!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* Tabella lavoratori: separazione netta tra nominativo, CF e colonne adiacenti */
.zsf-app-v038 #zsf-view-workers .zsf-workers-table{
  min-width:1180px!important;
  table-layout:fixed!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th,
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  vertical-align:middle!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td:nth-child(2) strong{
  display:block!important;
  margin:0 0 4px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td:nth-child(2) small{
  display:block!important;
  margin:0!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td:nth-child(3),
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td:nth-child(4){
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(1){width:42px!important}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(2){width:19%!important}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(3){width:19%!important}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(4){width:15%!important}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(5){width:20%!important}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(6){width:11%!important}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(7){width:11%!important}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(8){width:190px!important}
.zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions{
  gap:5px!important;
  justify-content:flex-start!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions .zsf-row-action{
  min-width:54px!important;
  padding:5px 8px!important;
  font-size:11px!important;
}

@media(max-width:760px){
  .zsf-dialog#zsf-worker-dialog .zsf-dialog-actions{
    position:sticky!important;
    bottom:0!important;
    z-index:4!important;
    margin:18px -18px -20px!important;
    padding:14px 18px calc(14px + env(safe-area-inset-bottom))!important;
    background:#fff!important;
    border-top:1px solid #e5edf4!important;
    flex-direction:column-reverse!important;
    align-items:stretch!important;
  }
  .zsf-dialog#zsf-worker-dialog .zsf-dialog-actions .zsf-primary,
  .zsf-dialog#zsf-worker-dialog .zsf-dialog-actions .zsf-secondary{
    width:100%!important;
    min-width:0!important;
  }
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table{min-width:1050px!important}
}

/* 0.8.2 — vista lavoratori più compatta per grandi elenchi */
.zsf-app-v038 #zsf-view-workers .zsf-worker-stats{
  gap:6px!important;
  margin:0 0 7px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-stat{
  min-height:46px!important;
  padding:7px 11px!important;
  border-radius:11px!important;
  box-shadow:0 3px 10px rgba(15,39,71,.035)!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-stat span{
  margin-bottom:1px!important;
  font-size:10.5px!important;
  line-height:1.15!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-stat strong{
  font-size:20px!important;
  line-height:1!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-controls{
  gap:6px!important;
  margin:0 0 7px!important;
  padding:6px 7px!important;
  border-radius:11px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-controls .zsf-search,
.zsf-app-v038 #zsf-view-workers .zsf-worker-controls select{
  min-height:33px!important;
  height:33px!important;
  padding-top:4px!important;
  padding-bottom:4px!important;
  font-size:11.5px!important;
  border-radius:8px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-controls .zsf-search{
  margin:0!important;
  padding-left:34px!important;
}
.zsf-app-v038 #zsf-view-workers #zsf-worker-reset-filters{
  min-height:33px!important;
  height:33px!important;
  padding:4px 11px!important;
  font-size:11px!important;
  border-radius:8px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table-wrap{
  border-radius:9px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th{
  padding:7px 9px!important;
  font-size:10.5px!important;
  line-height:1.1!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td{
  padding:6px 9px!important;
  font-size:11.5px!important;
  line-height:1.12!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td:nth-child(2) strong{
  font-size:12.5px!important;
  line-height:1.05!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td:nth-child(2) small{
  margin-top:2px!important;
  font-size:9.5px!important;
  line-height:1.05!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-status{
  padding:3px 7px!important;
  font-size:9.5px!important;
  line-height:1.1!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions{
  gap:3px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions .zsf-row-action{
  min-height:26px!important;
  height:26px!important;
  padding:3px 7px!important;
  border-radius:6px!important;
  font-size:10px!important;
  line-height:1!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-table-pagination{
  min-height:36px!important;
  padding:5px 7px!important;
  font-size:11px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-pagination-actions{gap:4px!important}
.zsf-app-v038 #zsf-view-workers .zsf-pagination-actions select,
.zsf-app-v038 #zsf-view-workers .zsf-pagination-actions button{
  height:27px!important;
  min-height:27px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-pagination-actions button{
  width:27px!important;
  font-size:15px!important;
}
@media(max-width:760px){
  .zsf-app-v038 #zsf-view-workers .zsf-worker-stats{gap:6px!important}
  .zsf-app-v038 #zsf-view-workers .zsf-worker-stat{min-height:50px!important;padding:8px 10px!important}
  .zsf-app-v038 #zsf-view-workers .zsf-worker-controls{padding:7px!important}
  .zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions .zsf-row-action{min-height:30px!important;height:30px!important}
}


/* 0.8.3 — conferma esplicita prima dell'eliminazione lavoratore */
.zsf-app-v038 .zsf-delete-confirm-dialog{
  width:min(560px,calc(100vw - 32px))!important;
  max-width:560px!important;
}
.zsf-app-v038 .zsf-delete-confirm-body{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:16px;
  align-items:flex-start;
  padding:22px 24px 8px;
}
.zsf-app-v038 .zsf-delete-warning-icon{
  display:grid;place-items:center;
  width:48px;height:48px;border-radius:14px;
  background:#fff1f1;border:1px solid #fecaca;color:#dc2626;
  font-size:26px;font-weight:950;
}
.zsf-app-v038 .zsf-delete-confirm-body p{margin:0 0 9px;font-size:15px;line-height:1.5;color:#173b63}
.zsf-app-v038 .zsf-delete-confirm-note{font-size:13px!important;color:#6b7f95!important}
.zsf-app-v038 .zsf-delete-confirm-actions{padding:16px 24px 22px!important;gap:10px!important}
.zsf-app-v038 .zsf-delete-confirm-actions .zsf-danger{
  background:#dc2626!important;color:#fff!important;border:1px solid #dc2626!important;
  min-height:40px;padding:0 16px;border-radius:9px;font-weight:900;
}
.zsf-app-v038 .zsf-delete-confirm-actions .zsf-danger:hover{background:#b91c1c!important;border-color:#b91c1c!important}
@media(max-width:760px){
  .zsf-app-v038 .zsf-delete-confirm-body{grid-template-columns:1fr;padding:18px 18px 4px}
  .zsf-app-v038 .zsf-delete-warning-icon{width:42px;height:42px}
  .zsf-app-v038 .zsf-delete-confirm-actions{padding:14px 18px 18px!important;flex-direction:column-reverse!important}
  .zsf-app-v038 .zsf-delete-confirm-actions button{width:100%!important}
}

/* 0.8.4 — compattazione header e testata lavoratori */
@media (min-width:761px){
  body.zsf-portal-page .zsf-app-v038 .zsf-shell{
    min-height:calc(100vh - 4px)!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-sidebar{
    grid-template-rows:auto 1fr auto!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-brand{
    min-height:72px!important;
    height:72px!important;
    padding:7px 10px!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-brand-button{
    min-height:56px!important;
    height:56px!important;
    padding:7px 11px!important;
    border-radius:11px!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-zemadesk-main{font-size:20px!important;line-height:1!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-zemadesk-sub{font-size:8.5px!important;line-height:1!important;margin-top:5px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-hero{
    min-height:72px!important;
    height:72px!important;
    padding:9px 22px!important;
    gap:16px!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-hero h1{
    font-size:28px!important;
    line-height:1!important;
    margin:0!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-hero p{
    margin:5px 0 0!important;
    font-size:12px!important;
    line-height:1.15!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-hero-account,
  body.zsf-portal-page .zsf-app-v038 .zsf-hero-account-v051{
    padding:5px 7px!important;
    gap:7px!important;
    border-radius:12px!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-client-chip>span{
    width:34px!important;height:34px!important;font-size:12px!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-client-chip small{font-size:9px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-client-chip strong{font-size:13px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-top-logout,
  body.zsf-portal-page .zsf-app-v038 .zsf-contract-link{
    min-height:30px!important;height:30px!important;padding:4px 9px!important;font-size:10.5px!important;border-radius:8px!important;
  }

  body.zsf-portal-page .zsf-app-v038 #zsf-view-workers .zsf-workers-toolbar{
    min-height:78px!important;
    padding:10px 14px!important;
    margin-bottom:8px!important;
    gap:12px!important;
    border-radius:12px!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-workers .zsf-workers-toolbar>div:first-child{
    min-width:0!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-workers .zsf-workers-toolbar .zsf-section-kicker{
    margin-bottom:2px!important;
    font-size:10px!important;
    line-height:1!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-workers .zsf-workers-toolbar h2{
    font-size:20px!important;
    line-height:1!important;
    margin:0!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-workers .zsf-workers-toolbar p{
    margin:5px 0 0!important;
    font-size:11px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:760px!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-workers .zsf-native-worker-actions{
    gap:6px!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-workers .zsf-native-worker-actions .zsf-primary,
  body.zsf-portal-page .zsf-app-v038 #zsf-view-workers .zsf-native-worker-actions .zsf-secondary,
  body.zsf-portal-page .zsf-app-v038 #zsf-view-workers .zsf-native-worker-actions .zsf-native-file-label{
    min-height:34px!important;
    height:34px!important;
    padding:6px 11px!important;
    border-radius:8px!important;
    font-size:11px!important;
    white-space:nowrap!important;
  }
}

/* 0.8.6 — Sorveglianza sanitaria nel front office + colonna visita medica */
.zsf-app-v038 .zsf-workers-table th:nth-child(6),
.zsf-app-v038 .zsf-workers-table th:nth-child(7),
.zsf-app-v038 .zsf-workers-table th:nth-child(8){white-space:nowrap}
.zsf-app-v038 .zsf-health-badge{white-space:nowrap}
.zsf-app-v038 .zsf-health-toolbar{margin-bottom:10px}
.zsf-app-v038 .zsf-health-connection{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:9px 12px;border:1px solid #cfe0ef;border-radius:10px;background:#f8fbfe;color:#526d86;font-size:12px}
.zsf-app-v038 .zsf-health-connection span{font-weight:900;color:#15577f}.zsf-app-v038 .zsf-health-connection .is-connected{color:#08784d}.zsf-app-v038 .zsf-health-connection .is-warning{color:#a96c00}.zsf-app-v038 .zsf-health-connection small{font-size:11px;color:#71869a}
.zsf-app-v038 .zsf-health-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}
.zsf-app-v038 .zsf-health-stats article{min-height:58px;padding:9px 12px;border:1px solid #cfe0ef;border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:space-between}
.zsf-app-v038 .zsf-health-stats article span{font-size:11px;font-weight:800;color:#697e93}.zsf-app-v038 .zsf-health-stats article strong{font-size:22px;line-height:1;color:#174c75}.zsf-app-v038 .zsf-health-stats article.green strong{color:#079166}.zsf-app-v038 .zsf-health-stats article.amber strong{color:#ba8200}.zsf-app-v038 .zsf-health-stats article.red strong{color:#d62d37}
.zsf-app-v038 .zsf-health-table-wrap{max-height:520px;overflow:auto}.zsf-app-v038 .zsf-health-table td,.zsf-app-v038 .zsf-health-table th{padding-top:8px!important;padding-bottom:8px!important}.zsf-app-v038 .zsf-health-table td:first-child strong{display:block}.zsf-app-v038 .zsf-health-table td:first-child small{display:block;margin-top:2px;color:#7a8fa4;font-size:10px}
@media(max-width:980px){.zsf-app-v038 .zsf-health-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.zsf-app-v038 .zsf-health-stats{grid-template-columns:1fr 1fr}.zsf-app-v038 .zsf-health-connection{align-items:flex-start;flex-direction:column}.zsf-app-v038 .zsf-health-table-wrap{overflow:auto}.zsf-app-v038 .zsf-health-table{min-width:780px}}

/* 0.8.7 — colonne lavoratori compatte senza eliminare azioni + sezione Allegati */
@media (min-width: 1100px){
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table{
    width:100%!important;
    min-width:1120px!important;
    table-layout:fixed!important;
  }
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table th,
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table td{
    padding:5px 6px!important;
    font-size:11px!important;
    line-height:1.08!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table tbody tr{height:38px!important}
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(1){width:34px!important}
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(2){width:16%!important}
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(3){width:14%!important}
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(4){width:10%!important}
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(5){width:16%!important}
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(6){width:9%!important}
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(7){width:9%!important}
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(8){width:9%!important}
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(9){width:172px!important}
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table td:nth-child(2) strong{
    display:block!important;font-size:11.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table td:nth-child(2) small{
    display:block!important;margin:1px 0 0!important;font-size:8.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table td:nth-child(3),
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table td:nth-child(4),
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table td:nth-child(8){white-space:nowrap!important}
  .zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions{display:flex!important;gap:2px!important;justify-content:flex-end!important;white-space:nowrap!important;overflow:visible!important}
  .zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions .zsf-row-action{
    display:inline-flex!important;min-width:0!important;width:auto!important;height:24px!important;min-height:24px!important;padding:2px 6px!important;font-size:9px!important;border-radius:6px!important;
  }
  .zsf-app-v038 #zsf-view-workers .zsf-actions-head{text-align:right!important;padding-right:8px!important}
}
.zsf-app-v038 .zsf-attachments-toolbar{margin-bottom:10px!important}
.zsf-app-v038 .zsf-attachment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.zsf-app-v038 .zsf-attachment-summary article{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:9px 12px;border:1px solid #cfe0ef;border-radius:10px;background:#fff}
.zsf-app-v038 .zsf-attachment-summary span{font-size:11px;font-weight:800;color:#677d94}.zsf-app-v038 .zsf-attachment-summary strong{font-size:21px;color:#174c75}
.zsf-app-v038 .zsf-attachment-list{display:grid;gap:6px}
.zsf-app-v038 .zsf-attachment-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid #d5e3ef;border-radius:10px;background:#fff}
.zsf-app-v038 .zsf-attachment-type{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#e8f3ff;color:#0b67a8;font-size:10px;font-weight:950}.zsf-app-v038 .zsf-attachment-type.fitness{background:#e4f8ef;color:#08784d}
.zsf-app-v038 .zsf-attachment-copy{min-width:0}.zsf-app-v038 .zsf-attachment-copy strong,.zsf-app-v038 .zsf-attachment-copy span,.zsf-app-v038 .zsf-attachment-copy small{display:block}.zsf-app-v038 .zsf-attachment-copy strong{font-size:12px}.zsf-app-v038 .zsf-attachment-copy span{font-size:11px;color:#536d86}.zsf-app-v038 .zsf-attachment-copy small{font-size:9.5px;color:#8192a3;margin-top:1px}
@media(max-width:760px){.zsf-app-v038 .zsf-attachment-summary{grid-template-columns:1fr}.zsf-app-v038 .zsf-attachment-row{grid-template-columns:34px 1fr}.zsf-app-v038 .zsf-attachment-row>a{grid-column:1/-1;width:100%;justify-content:center}}

/* 0.8.8 — Richieste: margini interni più corretti + eliminazione */
.zsf-app-v038 #zsf-view-requests{padding:18px 20px 24px!important}
.zsf-app-v038 #zsf-view-requests .zsf-requests-toolbar{margin:0 0 14px!important;padding:18px 22px!important;border:1px solid #d6e3ef;border-radius:16px;background:#fff;align-items:center}
.zsf-app-v038 #zsf-view-requests .zsf-requests-toolbar h2{margin:0 0 5px!important;font-size:24px!important;line-height:1.15}
.zsf-app-v038 #zsf-view-requests .zsf-requests-toolbar p{margin:0!important;line-height:1.45}
.zsf-app-v038 #zsf-view-requests .zsf-requests-toolbar .zsf-primary{margin-left:20px;min-height:42px;padding:0 18px!important}
.zsf-app-v038 #zsf-view-requests .zsf-requests-table-wrap{margin:0!important;border:1px solid #d4e1ed;border-radius:14px;overflow:hidden;background:#fff}
.zsf-app-v038 #zsf-view-requests .zsf-requests-table th{padding:11px 14px!important;vertical-align:middle}
.zsf-app-v038 #zsf-view-requests .zsf-requests-table td{padding:10px 14px!important;vertical-align:middle}
.zsf-app-v038 #zsf-view-requests .zsf-requests-table td:first-child,.zsf-app-v038 #zsf-view-requests .zsf-requests-table th:first-child{padding-left:16px!important}
.zsf-app-v038 #zsf-view-requests .zsf-request-actions-head,.zsf-app-v038 #zsf-view-requests .zsf-request-actions{width:92px;text-align:center;white-space:nowrap}
.zsf-app-v038 .zsf-danger-outline{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:5px 10px;border:1px solid #f1aaa7;border-radius:8px;background:#fff7f6;color:#c62828;font-size:12px!important;font-weight:850;cursor:pointer;transition:.18s ease}
.zsf-app-v038 .zsf-danger-outline:hover{background:#ffe9e7;border-color:#e86d67;transform:translateY(-1px)}
.zsf-confirm-dialog .zsf-confirm-body{padding:20px 24px 10px!important;color:#496078;line-height:1.55}
.zsf-confirm-dialog .zsf-dialog-actions{padding:14px 24px 22px!important;gap:10px!important;justify-content:flex-end!important}
@media(max-width:760px){
  .zsf-app-v038 #zsf-view-requests{padding:12px!important}
  .zsf-app-v038 #zsf-view-requests .zsf-requests-toolbar{padding:14px!important;align-items:stretch}
  .zsf-app-v038 #zsf-view-requests .zsf-requests-toolbar .zsf-primary{margin-left:0;margin-top:10px}
  .zsf-app-v038 #zsf-view-requests .zsf-requests-table th,.zsf-app-v038 #zsf-view-requests .zsf-requests-table td{padding:9px 10px!important}
}

/* 0.9.0 — Back Office ZEMA */
.zsf-app-v038 .zsf-bo-entry,.zsf-app-v038 .zsf-bo-nav{display:flex;align-items:center;gap:10px;text-decoration:none;color:#234a72;font-weight:800;padding:10px 12px;border-radius:10px;margin:2px 8px;transition:.18s ease}
.zsf-app-v038 .zsf-bo-entry:hover,.zsf-app-v038 .zsf-bo-nav:hover,.zsf-app-v038 .zsf-bo-nav.is-active{background:#e3f3ff;color:#0b66a4;transform:translateX(2px)}
.zsf-backoffice .zsf-bo-hero{min-height:92px!important;padding:18px 24px!important}
.zsf-backoffice .zsf-bo-hero h1{font-size:28px!important;margin:0 0 3px!important}.zsf-backoffice .zsf-bo-hero p{margin:0!important}
.zsf-bo-admin-chip{margin-left:auto;padding:9px 14px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:rgba(255,255,255,.11);display:flex;flex-direction:column;align-items:flex-end;color:#fff}.zsf-bo-admin-chip small{opacity:.82}
.zsf-bo-view{padding:16px!important}.zsf-bo-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.zsf-bo-kpis article{padding:12px 14px;border:1px solid #d7e5f1;border-radius:12px;background:#fff}.zsf-bo-kpis small{display:block;color:#6b7e93;font-size:12px;font-weight:800}.zsf-bo-kpis strong{display:block;margin-top:3px;color:#0f477a;font-size:26px;line-height:1}
.zsf-bo-panel{margin-bottom:14px!important;padding:14px!important}.zsf-bo-table td,.zsf-bo-table th{padding:9px 10px!important}.zsf-bo-table td small{display:block;color:#75879a;font-size:11px;margin-top:2px}.zsf-bo-actions{display:flex;gap:6px;white-space:nowrap}.zsf-bo-actions a,.zsf-bo-table td>a{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border:1px solid #bdd8eb;border-radius:8px;text-decoration:none;color:#0b639d;font-size:12px;font-weight:800;background:#f8fcff}.zsf-bo-actions a:hover,.zsf-bo-table td>a:hover{background:#e8f6ff;border-color:#83c7ec}
.zsf-bo-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}.zsf-bo-form label{display:flex;flex-direction:column;gap:5px;color:#56708a;font-size:12px;font-weight:800}.zsf-bo-form input,.zsf-bo-form select{width:100%;min-height:38px;padding:7px 9px;border:1px solid #cbddea;border-radius:9px;background:#fff;color:#173e63}.zsf-bo-form .zsf-bo-check{flex-direction:row;align-items:center;align-self:end;min-height:38px}.zsf-bo-form .zsf-bo-check input{width:auto;min-height:0}.zsf-bo-form-actions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.zsf-bo-notice{margin:12px 16px 0;padding:10px 13px;border-radius:10px;font-weight:800}.zsf-bo-notice.is-success{background:#e8fbf2;color:#08784d;border:1px solid #a8ebcb}.zsf-bo-notice.is-error{background:#fff0f0;color:#b42318;border:1px solid #ffc7c7}
@media(max-width:1200px){.zsf-bo-kpis{grid-template-columns:repeat(3,1fr)}.zsf-bo-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.zsf-bo-kpis{grid-template-columns:repeat(2,1fr)}.zsf-bo-form{grid-template-columns:1fr}.zsf-bo-admin-chip{display:none}.zsf-backoffice .zsf-bo-hero{min-height:76px!important}.zsf-bo-view{padding:10px!important}}

/* 0.9.2 — Back Office ZEMA: palette distinta e sezione Aziende dedicata */
.zsf-backoffice-v092{
  --bo-deep:#3b1d63;
  --bo-mid:#6d3aa5;
  --bo-accent:#a855f7;
  --bo-accent-2:#7c3aed;
  --bo-soft:#f7f1ff;
  --bo-line:#e1d4f2;
}
.zsf-backoffice-v092 .zsf-sidebar{background:linear-gradient(180deg,#fbf8ff 0%,#f3ecfb 100%)!important;border-right-color:var(--bo-line)!important}
.zsf-backoffice-v092 .zsf-brand{background:linear-gradient(180deg,#fff,#f7f0ff)!important;border-bottom-color:var(--bo-line)!important}
.zsf-backoffice-v092 .zsf-brand-button{border-color:#dcc8f3!important;background:linear-gradient(135deg,#fff 0%,#f4eaff 100%)!important}
.zsf-backoffice-v092 .zsf-zema-part{color:#43246b!important}.zsf-backoffice-v092 .zsf-desk-part{color:#8b3fd1!important}
.zsf-backoffice-v092 .zsf-zemadesk-tagline{color:#79509c!important}
.zsf-backoffice-v092 .zsf-bo-hero{background:linear-gradient(110deg,var(--bo-deep) 0%,var(--bo-mid) 56%,#9c4dcc 100%)!important}
.zsf-backoffice-v092 .zsf-bo-nav{color:#5d4675!important}
.zsf-backoffice-v092 .zsf-bo-nav:hover,.zsf-backoffice-v092 .zsf-bo-nav.is-active{background:#eadcff!important;color:#5d2497!important;box-shadow:inset 3px 0 0 var(--bo-accent)}
.zsf-backoffice-v092 .zsf-section-kicker{color:#7c3aed!important}
.zsf-backoffice-v092 .zsf-bo-kpis article{border-color:var(--bo-line)!important;background:linear-gradient(180deg,#fff,#fcf9ff)!important}
.zsf-backoffice-v092 .zsf-bo-kpis strong{color:#5f2b8e!important}
.zsf-backoffice-v092 .zsf-primary{background:linear-gradient(135deg,#7c3aed,#a855f7)!important;border-color:#7c3aed!important}
.zsf-backoffice-v092 .zsf-secondary{border-color:#d4bdf0!important;color:#6d349d!important;background:#fcf9ff!important}
.zsf-backoffice-v092 .zsf-bo-actions a,.zsf-backoffice-v092 .zsf-bo-table td>a{border-color:#d7c1ee!important;color:#6e35a1!important;background:#fcf9ff!important}
.zsf-backoffice-v092 .zsf-bo-actions a:hover,.zsf-backoffice-v092 .zsf-bo-table td>a:hover{background:#efe4fb!important;border-color:#b78dde!important}
.zsf-bo-company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}
.zsf-bo-company-card{display:flex;justify-content:space-between;gap:14px;min-height:110px;padding:16px;border:1px solid var(--bo-line);border-radius:14px;background:linear-gradient(145deg,#fff,#faf6ff);text-decoration:none;color:#2f2140;box-shadow:0 8px 22px rgba(70,37,103,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.zsf-bo-company-card:hover{transform:translateY(-3px);border-color:#bd92df;box-shadow:0 14px 28px rgba(89,45,128,.13)}
.zsf-bo-company-card>div:first-child{display:flex;flex-direction:column;min-width:0}.zsf-bo-company-card>div:first-child>small{font-size:10px;font-weight:900;letter-spacing:.08em;color:#8b6aa6}.zsf-bo-company-card>div:first-child>strong{font-size:18px;color:#4d286f;margin:5px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zsf-bo-company-card>div:first-child>span{font-size:12px;color:#6f6180}
.zsf-bo-company-metrics{display:flex;gap:8px;align-items:center}.zsf-bo-company-metrics b{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:72px;height:66px;border-radius:12px;background:#f0e5fb;color:#60308b;font-size:22px}.zsf-bo-company-metrics b small{margin-top:4px;font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#7c6490}
.zsf-bo-empty-note{margin:8px 0 0;color:#695a78}
.zsf-backoffice-v092 .zsf-table thead{background:#efe7f8!important}.zsf-backoffice-v092 .zsf-table th{color:#56316e!important}
@media(max-width:1250px){.zsf-bo-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.zsf-bo-company-grid{grid-template-columns:1fr}.zsf-bo-company-card{min-height:96px;padding:13px}.zsf-bo-company-metrics b{min-width:62px;height:58px;font-size:18px}}

/* 0.9.7 — MOBILE UX REBUILD: interfaccia mobile realmente applicativa */
@media (max-width: 760px){
  html,body{overflow-x:hidden!important}
  body.zsf-portal-page{background:#f3f7fb!important}
  body.zsf-portal-page .zsf-app-v038{
    width:100%!important;max-width:none!important;min-height:100dvh!important;
    margin:0!important;padding:0!important;transform:none!important;background:#f3f7fb!important;
    font-size:15px!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-shell{display:block!important;min-height:100dvh!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-main-area{width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-workspace{width:100%!important;min-width:0!important;padding:0 0 22px!important;overflow:visible!important}

  /* Nasconde i vecchi controlli mobile: usa il nuovo topbar/drawer 0.9.7 */
  body.zsf-portal-page .zsf-app-v038 .zsf-mobile-menu-toggle,
  body.zsf-portal-page .zsf-app-v038 .zsf-mobile-menu-close,
  body.zsf-portal-page .zsf-mobile-nav-overlay{display:none!important}

  /* Topbar mobile dedicata */
  body.zsf-portal-page .zsf-mobile097-topbar{
    position:sticky!important;top:0!important;z-index:420!important;
    height:58px!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) 42px!important;
    align-items:center!important;gap:8px!important;padding:7px 10px!important;
    background:linear-gradient(100deg,#145f96 0%,#1686ac 56%,#17a6b8 100%)!important;
    box-shadow:0 5px 18px rgba(19,74,110,.18)!important;
  }
  body.zsf-portal-page .zsf-mobile097-menu,
  body.zsf-portal-page .zsf-mobile097-account{
    width:42px!important;height:42px!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:11px!important;
    background:rgba(255,255,255,.12)!important;color:#fff!important;display:grid!important;place-items:center!important;
    padding:0!important;margin:0!important;font-size:20px!important;font-weight:900!important;line-height:1!important;
  }
  body.zsf-portal-page .zsf-mobile097-brand{min-width:0!important;text-align:center!important;color:#fff!important;line-height:1!important}
  body.zsf-portal-page .zsf-mobile097-brand strong{display:block!important;font-size:20px!important;letter-spacing:.02em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.zsf-portal-page .zsf-mobile097-brand small{display:block!important;margin-top:3px!important;font-size:9px!important;letter-spacing:.08em!important;text-transform:uppercase!important;opacity:.86!important}

  /* Il vecchio hero diventa una sottile barra contestuale */
  body.zsf-portal-page .zsf-app-v038 .zsf-hero{
    position:relative!important;top:auto!important;min-height:0!important;height:auto!important;
    display:block!important;padding:10px 14px 9px!important;margin:0!important;border-radius:0!important;
    background:#fff!important;color:#153e62!important;box-shadow:0 1px 0 #dbe6ef!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-hero:before,body.zsf-portal-page .zsf-app-v038 .zsf-hero:after{display:none!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-hero-copy{min-width:0!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-hero h1{font-size:17px!important;line-height:1.1!important;color:#163f65!important;margin:0!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-hero p{font-size:10.5px!important;line-height:1.3!important;color:#667f96!important;margin:3px 0 0!important;white-space:normal!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-hero-account{display:none!important}

  /* Drawer mobile robusto e scorrevole */
  body.zsf-portal-page .zsf-mobile097-overlay{
    position:fixed!important;inset:0!important;z-index:490!important;background:rgba(5,28,48,.52)!important;
    opacity:0!important;pointer-events:none!important;transition:opacity .18s ease!important;
  }
  body.zsf-portal-page .zsf-mobile097-overlay.is-open{opacity:1!important;pointer-events:auto!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-sidebar{
    position:fixed!important;left:0!important;top:0!important;bottom:0!important;z-index:500!important;
    width:min(84vw,320px)!important;height:100dvh!important;display:flex!important;flex-direction:column!important;
    transform:translateX(-105%)!important;transition:transform .22s ease!important;
    overflow:hidden!important;background:#fff!important;border:0!important;border-radius:0 18px 18px 0!important;
    box-shadow:16px 0 42px rgba(7,34,56,.22)!important;
  }
  body.zsf-portal-page .zsf-app-v038.is-mobile097-open .zsf-sidebar{transform:translateX(0)!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-brand{min-height:72px!important;height:72px!important;flex:0 0 72px!important;padding:10px 56px 10px 12px!important;border-bottom:1px solid #dce8f1!important;position:relative!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-brand-button{height:50px!important;min-height:50px!important;padding:6px 10px!important;border-radius:10px!important;align-items:flex-start!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-zemadesk-main{font-size:19px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-zemadesk-sub{font-size:8px!important;margin-top:3px!important}
  body.zsf-portal-page .zsf-mobile097-close{
    position:absolute!important;right:12px!important;top:15px!important;width:40px!important;height:40px!important;
    display:grid!important;place-items:center!important;border:1px solid #d4e2ee!important;border-radius:10px!important;background:#f5f9fc!important;color:#16496f!important;font-size:24px!important;line-height:1!important;padding:0!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-side-nav{
    display:flex!important;flex-direction:column!important;gap:3px!important;flex:1 1 auto!important;min-height:0!important;
    overflow-y:auto!important;overflow-x:hidden!important;padding:10px 8px 16px!important;-webkit-overflow-scrolling:touch!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-side-nav button{
    width:100%!important;min-height:46px!important;height:auto!important;padding:10px 12px!important;border-radius:10px!important;
    font-size:14px!important;line-height:1.2!important;text-align:left!important;white-space:normal!important;display:flex!important;align-items:center!important;gap:10px!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-side-nav .zsf-nav-icon{flex:0 0 26px!important;width:26px!important;text-align:center!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-side-footer{display:block!important;flex:0 0 auto!important;padding:8px!important;border-top:1px solid #e1eaf2!important;background:#fafcff!important}
  body.zsf-portal-page .zsf-mobile097-drawer-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:7px!important}
  body.zsf-portal-page .zsf-mobile097-drawer-actions button,body.zsf-portal-page .zsf-mobile097-drawer-actions a{
    min-height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid #d3e0eb!important;border-radius:9px!important;background:#fff!important;color:#24506f!important;font-size:12px!important;font-weight:850!important;text-decoration:none!important;padding:7px!important;
  }

  /* Contenuti: niente testo tagliato */
  body.zsf-portal-page .zsf-app-v038 .zsf-view{padding:10px!important;overflow:visible!important;min-width:0!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-toolbar,body.zsf-portal-page .zsf-app-v038 .zsf-workers-toolbar,body.zsf-portal-page .zsf-app-v038 .zsf-requests-toolbar{
    padding:12px!important;margin:0 0 9px!important;border-radius:12px!important;gap:9px!important;align-items:stretch!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-toolbar h2,body.zsf-portal-page .zsf-app-v038 .zsf-workers-toolbar h2{font-size:18px!important;line-height:1.15!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-toolbar p,body.zsf-portal-page .zsf-app-v038 .zsf-workers-toolbar p{
    font-size:11px!important;line-height:1.35!important;white-space:normal!important;overflow:visible!important;max-width:none!important;text-overflow:clip!important;
  }

  /* Dashboard aziendale compatta */
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{padding:9px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-demo-note{font-size:10px!important;margin-bottom:7px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-demo-kpis{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin:0 0 8px!important;
    overflow:visible!important;padding:0!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-demo-kpi{
    min-width:0!important;min-height:72px!important;height:72px!important;padding:9px 9px 8px 48px!important;border-radius:11px!important;
    box-shadow:none!important;display:flex!important;flex-direction:column!important;justify-content:center!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-demo-kpi .zsf-kpi-icon{left:9px!important;top:50%!important;transform:translateY(-50%)!important;width:31px!important;height:31px!important;font-size:15px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-demo-kpi .zsf-kpi-label{font-size:10px!important;line-height:1.15!important;white-space:normal!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-demo-kpi .zsf-kpi-value{font-size:25px!important;line-height:1!important;margin-top:4px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-demo-grid{display:block!important;margin:0!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-monitor-panel{margin:0 0 8px!important;padding:0!important;border-radius:12px!important;overflow:hidden!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-actions-panel{margin:0!important;padding:10px!important;border-radius:12px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-panel-title{padding:10px 11px!important;min-height:44px!important;gap:6px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-panel-title h2{font-size:15px!important;margin:0!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-panel-title button{font-size:10px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-monitor-panel .zsf-table-wrap{max-height:215px!important;overflow:auto!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-monitor-panel .zsf-table{min-width:640px!important;font-size:10.5px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-monitor-panel .zsf-table th,body.zsf-portal-page .zsf-app-v038 .zsf-monitor-panel .zsf-table td{padding:7px 8px!important;white-space:nowrap!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-actions-panel .zsf-panel-title{padding:0 0 7px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-actions-panel{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-actions-panel .zsf-panel-title{grid-column:1/-1!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-action-link{min-height:66px!important;padding:9px!important;border-radius:10px!important;gap:7px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-action-link .zsf-action-icon{width:30px!important;height:30px!important;flex:0 0 30px!important;font-size:15px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-action-link strong{font-size:11px!important;line-height:1.2!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-action-link small{display:none!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-action-link b{display:none!important}

  /* Meno rumore nella home: priorità e scadenze sì, attività recenti nascosta */
  body.zsf-portal-page .zsf-app-v038 .zsf-summary-strip{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:8px 0 0!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-summary-card{padding:10px!important;min-height:0!important;border-radius:11px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-summary-activity{display:none!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-summary-title{margin-bottom:7px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-summary-title h3{font-size:14px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-summary-title small{font-size:9px!important}

  /* Tabelle operative: leggibili con scroll, senza colonne schiacciate */
  body.zsf-portal-page .zsf-app-v038 .zsf-table-wrap,body.zsf-portal-page .zsf-app-v038 .zsf-workers-table-wrap,body.zsf-portal-page .zsf-app-v038 .zsf-requests-table-wrap,body.zsf-portal-page .zsf-app-v038 .zsf-health-table-wrap{
    width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:11px!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-workers-table{min-width:980px!important;table-layout:auto!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-requests-table{min-width:840px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-health-table{min-width:760px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-table th,body.zsf-portal-page .zsf-app-v038 .zsf-table td{font-size:10.5px!important;line-height:1.25!important;padding:7px 8px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-workers-table td,body.zsf-portal-page .zsf-app-v038 .zsf-workers-table th{white-space:nowrap!important}

  /* Form, filtri e pulsanti touch-friendly */
  body.zsf-portal-page .zsf-app-v038 input,body.zsf-portal-page .zsf-app-v038 select,body.zsf-portal-page .zsf-app-v038 textarea{font-size:16px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-worker-filters,body.zsf-portal-page .zsf-app-v038 .zsf-training-filters{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:9px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-native-worker-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;width:100%!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-native-worker-actions>*{width:100%!important;justify-content:center!important;min-height:40px!important;height:auto!important;white-space:normal!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-native-worker-actions>*:last-child:nth-child(odd){grid-column:1/-1!important}

  /* Dialog: bottom sheet pulito */
  body.zsf-portal-page .zsf-dialog{align-items:flex-end!important;padding:0!important}
  body.zsf-portal-page .zsf-dialog>div,body.zsf-portal-page .zsf-dialog-card{width:100%!important;max-width:none!important;max-height:88dvh!important;margin:0!important;border-radius:18px 18px 0 0!important;overflow:auto!important}
}

@media (max-width: 390px){
  body.zsf-portal-page .zsf-mobile097-brand strong{font-size:18px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-demo-kpis{grid-template-columns:1fr 1fr!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-demo-kpi{height:68px!important;padding-left:43px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-demo-kpi .zsf-kpi-value{font-size:22px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-actions-panel{grid-template-columns:1fr!important}
}

/* 0.9.8 — iPhone/mobile: dashboard essenziale + menu indipendente */
@media (max-width:760px){
  /* Dashboard mobile: solo Azioni rapide, Priorità, Prossime scadenze */
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-demo-note,
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-demo-kpis,
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-monitor-panel,
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-summary-activity{
    display:none!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{
    padding:10px!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-demo-grid{
    display:block!important;margin:0!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-actions-panel{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;
    margin:0!important;padding:10px!important;border-radius:14px!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-actions-panel .zsf-panel-title{
    grid-column:1/-1!important;padding:0 0 6px!important;min-height:0!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-action-link{
    min-height:72px!important;padding:10px!important;border-radius:12px!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-summary-strip{
    display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:9px!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-summary-card{
    padding:11px!important;border-radius:13px!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-priority-list-compact{
    display:grid!important;grid-template-columns:1fr!important;gap:7px!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-horizon-grid-compact{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-summary-link{
    width:100%!important;min-height:40px!important;margin-top:8px!important;
  }

  /* Disattiva il vecchio drawer: il menu 0.9.8 vive fuori dal layout app */
  body.zsf-portal-page .zsf-app-v038 .zsf-sidebar{display:none!important}
  body.zsf-portal-page .zsf-mobile097-topbar,
  body.zsf-portal-page .zsf-mobile097-overlay{display:none!important}

  body.zsf-portal-page .zsf-mobile098-topbar{
    position:fixed!important;top:0!important;left:0!important;right:0!important;height:58px!important;z-index:2147483000!important;
    display:grid!important;grid-template-columns:46px 1fr 46px!important;align-items:center!important;gap:6px!important;
    padding:calc(6px + env(safe-area-inset-top,0px)) 10px 6px!important;
    background:#126ba4!important;color:#fff!important;box-sizing:content-box!important;
    box-shadow:0 2px 10px rgba(9,45,70,.18)!important;
  }
  body.zsf-portal-page .zsf-mobile098-topbar button{
    width:42px!important;height:42px!important;border:1px solid rgba(255,255,255,.32)!important;border-radius:11px!important;
    background:rgba(255,255,255,.12)!important;color:#fff!important;font-size:22px!important;padding:0!important;display:grid!important;place-items:center!important;
  }
  body.zsf-portal-page .zsf-mobile098-title{text-align:center!important;min-width:0!important;line-height:1.05!important}
  body.zsf-portal-page .zsf-mobile098-title strong{display:block!important;font-size:19px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.zsf-portal-page .zsf-mobile098-title small{display:block!important;margin-top:4px!important;font-size:9px!important;letter-spacing:.08em!important;text-transform:uppercase!important;opacity:.86!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-main-area{padding-top:calc(70px + env(safe-area-inset-top,0px))!important}

  body.zsf-portal-page .zsf-mobile098-backdrop{
    position:fixed!important;inset:0!important;z-index:2147483001!important;background:rgba(4,27,44,.52)!important;
    opacity:0!important;pointer-events:none!important;transition:opacity .18s ease!important;
  }
  body.zsf-portal-page .zsf-mobile098-backdrop.is-open{opacity:1!important;pointer-events:auto!important}
  body.zsf-portal-page .zsf-mobile098-menu{
    position:fixed!important;top:0!important;left:0!important;bottom:0!important;z-index:2147483002!important;width:min(88vw,360px)!important;
    transform:translate3d(-102%,0,0)!important;transition:transform .2s ease!important;background:#fff!important;
    display:flex!important;flex-direction:column!important;padding:calc(14px + env(safe-area-inset-top,0px)) 10px calc(12px + env(safe-area-inset-bottom,0px))!important;
    box-shadow:8px 0 28px rgba(6,37,60,.22)!important;overflow:hidden!important;
  }
  body.zsf-portal-page .zsf-mobile098-menu.is-open{transform:translate3d(0,0,0)!important}
  body.zsf-portal-page .zsf-mobile098-head{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 4px 12px!important;border-bottom:1px solid #e3ebf2!important}
  body.zsf-portal-page .zsf-mobile098-head strong{font-size:20px!important;color:#16557f!important}
  body.zsf-portal-page .zsf-mobile098-close{width:40px!important;height:40px!important;border:1px solid #d5e2ec!important;border-radius:10px!important;background:#f6f9fb!important;color:#184d73!important;font-size:24px!important;display:grid!important;place-items:center!important;padding:0!important}
  body.zsf-portal-page .zsf-mobile098-nav{display:flex!important;flex-direction:column!important;gap:5px!important;padding:10px 0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  body.zsf-portal-page .zsf-mobile098-nav button{
    width:100%!important;min-height:48px!important;border:0!important;border-radius:10px!important;background:#f7fafc!important;color:#234e6d!important;
    display:flex!important;align-items:center!important;gap:10px!important;padding:10px 12px!important;font-size:14px!important;font-weight:800!important;text-align:left!important;
  }
  body.zsf-portal-page .zsf-mobile098-nav button.is-active{background:#e7f3fb!important;color:#0f659c!important}
  body.zsf-portal-page .zsf-mobile098-nav .zsf-mobile098-icon{width:26px!important;text-align:center!important;flex:0 0 26px!important}
  body.zsf-portal-page .zsf-mobile098-foot{margin-top:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;padding-top:9px!important;border-top:1px solid #e3ebf2!important}
  body.zsf-portal-page .zsf-mobile098-foot button,body.zsf-portal-page .zsf-mobile098-foot a{
    min-height:42px!important;border:1px solid #d5e2ec!important;border-radius:10px!important;background:#fff!important;color:#24516f!important;font-size:13px!important;font-weight:800!important;text-decoration:none!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:8px!important;
  }
}
@media (max-width:390px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-actions-panel{grid-template-columns:1fr 1fr!important}
}

/* 0.9.9 — rifinitura PWA / installazione mobile */
.zsf-pwa-guide099{position:fixed;inset:0;z-index:2147483600;background:rgba(7,25,45,.58);display:none;align-items:flex-end;justify-content:center;padding:16px}
.zsf-pwa-guide099.is-visible{display:flex}
.zsf-pwa-guide099-card{position:relative;width:min(100%,460px);background:#fff;border-radius:22px 22px 16px 16px;padding:24px 22px 26px;box-shadow:0 24px 70px rgba(5,28,52,.28);color:#163a63}
.zsf-pwa-guide099-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#eef5fa;color:#163a63;font-size:25px;line-height:1;cursor:pointer}
.zsf-pwa-guide099-logo{width:54px;height:54px;border-radius:15px;background:#0f7fa8;color:#fff;display:grid;place-items:center;font-weight:900;font-size:28px;margin-bottom:14px}
.zsf-pwa-guide099 h3{margin:0 0 8px;font-size:22px;line-height:1.2}.zsf-pwa-guide099-text{margin:0 0 14px;color:#64748b;line-height:1.45}.zsf-pwa-guide099-steps{margin:0;padding-left:21px}.zsf-pwa-guide099-steps li{margin:8px 0;line-height:1.4}
.zsf-pwa-mobile099{width:100%;border:0;border-radius:12px;padding:12px 14px;background:#0f7fa8!important;color:#fff!important;font-weight:800;cursor:pointer;margin-bottom:8px}
@media(min-width:761px){.zsf-pwa-guide099{align-items:center}.zsf-pwa-guide099-card{border-radius:22px}}

/* 1.0.1 — autenticazione ZEMADESK: errori e recupero password restano nel portale */
body.zsf-portal-page .zsf-login-message{display:flex;gap:12px;align-items:flex-start;margin:0 0 20px;padding:14px 15px;border-radius:12px;font-size:14px;line-height:1.4}
body.zsf-portal-page .zsf-login-message>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;font-weight:950}
body.zsf-portal-page .zsf-login-message strong{display:block;margin:0 0 3px;font-size:14px}
body.zsf-portal-page .zsf-login-message p{margin:0!important;font-size:13px!important;line-height:1.45!important}
body.zsf-portal-page .zsf-login-message-error{border:1px solid #f1c8c8;background:#fff5f5;color:#8b3030}
body.zsf-portal-page .zsf-login-message-error>span{background:#fbe0e0;color:#a52b2b}
body.zsf-portal-page .zsf-login-message-ok{border:1px solid #cbe8dc;background:#f3fbf7;color:#35695a}
body.zsf-portal-page .zsf-login-message-ok>span{background:#d8f5e9;color:#0a8a61}
body.zsf-portal-page .zsf-login-links{margin-top:14px;text-align:center}
body.zsf-portal-page .zsf-login-links a{display:inline-flex;color:#0d78a6!important;font-size:14px;font-weight:850;text-decoration:none!important;border-bottom:1px solid rgba(13,120,166,.28)}
body.zsf-portal-page .zsf-login-links a:hover{color:#075d83!important;border-color:currentColor}
body.zsf-portal-page .zsf-forgot-form .login-submit{margin-top:22px!important}
@media(max-width:480px){body.zsf-portal-page .zsf-login-message{padding:12px 13px;margin-bottom:16px}}

/* 1.2.9 — tabella lavoratori configurabile e leggibile */
.zsf-app-v038 #zsf-view-workers .zsf-workers-table-wrap{
  overflow:auto!important;
  max-height:62vh!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table{
  width:max-content!important;
  min-width:100%!important;
  table-layout:fixed!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th,
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td{
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  position:relative;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th[data-col]{
  padding-right:14px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th:nth-child(n),
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td:nth-child(n){
  width:auto;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table .zsf-check-col{
  width:36px!important;min-width:36px!important;max-width:36px!important;padding:0!important;text-align:center!important;overflow:visible!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table .zsf-check-col input{
  display:block!important;margin:0 auto!important;width:16px!important;height:16px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="worker"] strong{
  display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="worker"] small{
  display:block!important;margin:2px 0 0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="contract_period"]{
  overflow:visible!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="contract_period"] small{
  display:inline!important;margin-left:7px!important;white-space:nowrap!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions{
  display:flex!important;gap:4px!important;justify-content:flex-end!important;overflow:visible!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions .zsf-row-action{
  min-width:0!important;min-height:28px!important;height:28px!important;padding:4px 7px!important;font-size:10.5px!important;line-height:1!important;white-space:nowrap!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-contract-type{
  display:inline-flex;align-items:center;min-height:23px;padding:3px 8px;border-radius:999px;background:#e9f3f8;color:#345a73;font-size:10.5px;font-weight:800;
}
.zsf-app-v038 #zsf-view-workers .zsf-contract-type.somministrato{background:#eaf7ef;color:#13754c}
.zsf-app-v038 #zsf-view-workers .zsf-contract-type.interno{background:#edf2ff;color:#345bb7}
.zsf-app-v038 #zsf-view-workers .zsf-col-hidden{display:none!important}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer{
  position:absolute;top:0;right:-2px;width:7px;height:100%;cursor:col-resize;z-index:8;touch-action:none;
}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer:after{
  content:"";position:absolute;top:20%;bottom:20%;left:3px;width:1px;background:#b9cbd8;opacity:.75;
}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer:hover:after{width:2px;background:#168ac0;opacity:1}
.zsf-app-v038 #zsf-view-workers .zsf-columns-toggle{white-space:nowrap}
.zsf-app-v038 #zsf-view-workers .zsf-columns-panel{
  margin:8px 0 10px;padding:11px 12px;border:1px solid #d7e3ec;border-radius:11px;background:#fbfdff;
}
.zsf-app-v038 #zsf-view-workers .zsf-columns-panel[hidden]{display:none!important}
.zsf-app-v038 #zsf-view-workers .zsf-columns-panel-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:9px}
.zsf-app-v038 #zsf-view-workers .zsf-columns-panel-head strong{font-size:12px;color:#244c6e}
.zsf-app-v038 #zsf-view-workers .zsf-columns-panel-head span{font-size:10px;color:#72869a}
.zsf-app-v038 #zsf-view-workers .zsf-columns-options{display:flex;flex-wrap:wrap;gap:7px 12px;margin-bottom:10px}
.zsf-app-v038 #zsf-view-workers .zsf-column-option{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#355872;cursor:pointer}
.zsf-app-v038 #zsf-view-workers .zsf-column-option input{width:15px;height:15px;accent-color:#168ac0}
@media(max-width:760px){
  .zsf-app-v038 #zsf-view-workers .zsf-workers-table{min-width:max-content!important}
  .zsf-app-v038 #zsf-view-workers .zsf-columns-panel-head{display:block}
  .zsf-app-v038 #zsf-view-workers .zsf-columns-panel-head span{display:block;margin-top:3px}
}


/* 1.3.5 - Barra lavoratori compatta: Campi accanto alla ricerca */
.zsf-app-v038 #zsf-view-workers .zsf-worker-controls{
  display:grid!important;
  grid-template-columns:minmax(240px,1.15fr) auto minmax(145px,.62fr) minmax(145px,.62fr) auto!important;
  align-items:center!important;
  gap:6px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-search-wrap{
  min-width:220px!important;
  grid-column:auto!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-columns-toggle{
  width:auto!important;
  min-width:82px!important;
  min-height:33px!important;
  height:33px!important;
  margin:0!important;
  padding:4px 12px!important;
  border-radius:8px!important;
  font-size:11px!important;
}
@media(max-width:1100px){
  .zsf-app-v038 #zsf-view-workers .zsf-worker-controls{
    grid-template-columns:minmax(210px,1fr) auto minmax(140px,.7fr) minmax(140px,.7fr)!important;
  }
  .zsf-app-v038 #zsf-view-workers #zsf-worker-reset-filters{grid-column:1/-1;width:max-content!important;justify-self:end!important}
}
@media(max-width:760px){
  .zsf-app-v038 #zsf-view-workers .zsf-worker-controls{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .zsf-app-v038 #zsf-view-workers .zsf-worker-search-wrap{min-width:0!important}
  .zsf-app-v038 #zsf-view-workers #zsf-worker-company-filter,
  .zsf-app-v038 #zsf-view-workers #zsf-worker-status-filter{grid-column:1/-1!important}
  .zsf-app-v038 #zsf-view-workers #zsf-worker-reset-filters{grid-column:1/-1!important;width:100%!important;justify-self:stretch!important}
}

/* 1.3.6 - Barra filtri lavoratori: una sola riga compatta */
.zsf-app-v038 #zsf-view-workers .zsf-worker-controls{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-search-wrap{
  flex:1 1 430px!important;
  min-width:220px!important;
  max-width:none!important;
  height:34px!important;
  margin:0!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-search-wrap input{
  height:34px!important;
  min-height:34px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-columns-toggle{
  flex:0 0 82px!important;
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 9px!important;
  margin:0!important;
  white-space:nowrap!important;
}
.zsf-app-v038 #zsf-view-workers #zsf-worker-company-filter{
  flex:0 1 205px!important;
  width:205px!important;
  min-width:145px!important;
  max-width:205px!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
}
.zsf-app-v038 #zsf-view-workers #zsf-worker-status-filter{
  flex:0 1 170px!important;
  width:170px!important;
  min-width:135px!important;
  max-width:170px!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
}
.zsf-app-v038 #zsf-view-workers #zsf-worker-reset-filters{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:96px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 11px!important;
  margin:0!important;
  white-space:nowrap!important;
  grid-column:auto!important;
  justify-self:auto!important;
}
@media (min-width:761px){
  .zsf-app-v038 #zsf-view-workers .zsf-worker-controls > *{grid-column:auto!important}
}
@media(max-width:760px){
  .zsf-app-v038 #zsf-view-workers .zsf-worker-controls{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding-bottom:2px!important;
    -webkit-overflow-scrolling:touch;
  }
  .zsf-app-v038 #zsf-view-workers .zsf-worker-search-wrap{flex:0 0 245px!important;min-width:245px!important}
  .zsf-app-v038 #zsf-view-workers #zsf-worker-company-filter{flex:0 0 160px!important;width:160px!important;min-width:160px!important}
  .zsf-app-v038 #zsf-view-workers #zsf-worker-status-filter{flex:0 0 145px!important;width:145px!important;min-width:145px!important}
  .zsf-app-v038 #zsf-view-workers #zsf-worker-reset-filters{flex:0 0 auto!important;width:auto!important;min-width:96px!important}
}


/* 1.3.7 - FIX DEFINITIVO barra lavoratori: selector corretto + cache bust */
.zsf-app-v038 #zsf-view-workers .zsf-worker-controls{
  display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:6px!important;width:100%!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-search-wrap{
  flex:1 1 auto!important;min-width:260px!important;max-width:none!important;height:34px!important;margin:0!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-search-wrap input{height:34px!important;min-height:34px!important;margin:0!important;}
.zsf-app-v038 #zsf-view-workers .zsf-columns-toggle{
  flex:0 0 74px!important;width:74px!important;min-width:74px!important;max-width:74px!important;height:34px!important;min-height:34px!important;padding:0 8px!important;margin:0!important;border-radius:8px!important;font-size:11px!important;
}
.zsf-app-v038 #zsf-view-workers #zsf-worker-company-filter{
  flex:0 0 200px!important;width:200px!important;min-width:200px!important;max-width:200px!important;height:34px!important;min-height:34px!important;margin:0!important;
}
.zsf-app-v038 #zsf-view-workers #zsf-worker-status-filter{
  flex:0 0 170px!important;width:170px!important;min-width:170px!important;max-width:170px!important;height:34px!important;min-height:34px!important;margin:0!important;
}
.zsf-app-v038 #zsf-view-workers #zsf-worker-reset-filters{
  flex:0 0 98px!important;width:98px!important;min-width:98px!important;max-width:98px!important;height:34px!important;min-height:34px!important;padding:0 8px!important;margin:0!important;white-space:nowrap!important;grid-column:auto!important;justify-self:auto!important;
}
@media(max-width:760px){
 .zsf-app-v038 #zsf-view-workers .zsf-worker-controls{overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;padding-bottom:2px!important;}
 .zsf-app-v038 #zsf-view-workers .zsf-worker-search-wrap{flex:0 0 245px!important;min-width:245px!important;}
 .zsf-app-v038 #zsf-view-workers .zsf-columns-toggle{flex:0 0 74px!important;}
 .zsf-app-v038 #zsf-view-workers #zsf-worker-company-filter{flex:0 0 160px!important;width:160px!important;min-width:160px!important;}
 .zsf-app-v038 #zsf-view-workers #zsf-worker-status-filter{flex:0 0 145px!important;width:145px!important;min-width:145px!important;}
 .zsf-app-v038 #zsf-view-workers #zsf-worker-reset-filters{flex:0 0 98px!important;width:98px!important;min-width:98px!important;}
}
/* 1.3.8 - ordinamento e disposizione campi lavoratori */
#zsf-workers-table thead th.zsf-sortable{cursor:pointer;user-select:none;position:relative;padding-right:26px!important}
#zsf-workers-table thead th.zsf-sortable::after{content:'↕';position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:11px;opacity:.35}
#zsf-workers-table thead th.zsf-sort-asc::after{content:'↑';opacity:.9}
#zsf-workers-table thead th.zsf-sort-desc::after{content:'↓';opacity:.9}
.zsf-column-option{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}
.zsf-column-order-controls{display:inline-flex;gap:4px}
.zsf-column-order-controls button{width:28px;height:28px;border:1px solid #d5deea;border-radius:7px;background:#fff;color:#17466f;font-weight:800;cursor:pointer;padding:0}
.zsf-column-order-controls button:hover{background:#eef7ff}


/* 1.3.10 - Tipologia contratto a scelta espandibile */
.zsf-contract-picker{display:flex;flex-direction:column;gap:8px;min-width:0}
.zsf-contract-picker .zsf-field-caption{font-size:13px;font-weight:700;color:#334155}
.zsf-contract-buttons{display:flex;gap:8px;flex-wrap:wrap}
.zsf-contract-choice{appearance:none;border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:9px;padding:10px 14px;font:inherit;font-weight:700;line-height:1.15;cursor:pointer;box-shadow:none}
.zsf-contract-choice:hover{border-color:#94a3b8;background:#f8fafc}
.zsf-contract-choice.is-active{border-color:#0ea5e9;background:#e0f2fe;color:#075985;box-shadow:0 0 0 2px rgba(14,165,233,.08)}
.zsf-contract-subtype-panel{margin-top:2px;padding:12px;border:1px solid #bae6fd;background:#f0f9ff;border-radius:10px}
.zsf-contract-subtype-panel[hidden]{display:none!important}
.zsf-contract-subtitle{display:block;margin-bottom:7px;font-size:12px;font-weight:800;color:#0369a1;text-transform:uppercase;letter-spacing:.03em}
.zsf-contract-subtype-panel select{width:100%;min-height:42px}
/* 1.3.11 — lavoratori: scadenze contestuali e PDF */
.zsf-worker-status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:138px}.zsf-worker-status-cell>small{font-size:11px;line-height:1.2;color:#64748b}.zsf-worker-pdf{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;color:#0f6fa8;text-decoration:none;padding:3px 7px;border:1px solid #b9d9ea;border-radius:7px;background:#f5fbff}.zsf-worker-pdf:hover{background:#eaf7fd}.zsf-no-doc{font-size:10px!important;color:#94a3b8!important}.zsf-workers-table td[data-col="training"],.zsf-workers-table td[data-col="health"]{vertical-align:top;padding-top:8px}
/* 1.3.11 — area Safety */
.zsf-safety-toolbar{margin-bottom:12px}.zsf-safety-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.zsf-safety-tabs button{border:1px solid #cfe0eb;background:#fff;color:#194b70;border-radius:9px;padding:8px 12px;font-weight:800;cursor:pointer}.zsf-safety-tabs button.is-active{background:#126da6;color:#fff;border-color:#126da6}.zsf-safety-pane{display:none}.zsf-safety-pane.is-active{display:block}.zsf-safety-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px}.zsf-safety-card{border:1px solid #d8e4ec;background:#fff;border-radius:14px;padding:16px}.zsf-safety-card h3{margin:0 0 4px;font-size:18px;color:#153e63}.zsf-safety-card p{margin:0 0 14px;color:#60758a;font-size:13px}.zsf-safety-card-head{margin-bottom:12px}.zsf-safety-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.zsf-safety-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;color:#334e68}.zsf-safety-form input,.zsf-safety-form textarea,.zsf-safety-upload input,.zsf-safety-upload select{width:100%;box-sizing:border-box;border:1px solid #cbdbe7;border-radius:8px;background:#fff;padding:9px 10px;font:inherit;color:#17324d}.zsf-org-chart{display:flex;flex-direction:column;gap:12px}.zsf-org-root{align-self:center;min-width:190px;text-align:center;border:2px solid #1599bb;background:#eaf9fd;border-radius:12px;padding:12px}.zsf-org-root strong,.zsf-org-node strong{display:block;color:#103d62}.zsf-org-root span,.zsf-org-node span{font-size:11px;color:#678099;text-transform:uppercase;font-weight:800}.zsf-org-branches{display:grid;grid-template-columns:1fr 1fr;gap:9px}.zsf-org-node{border:1px solid #d5e3ec;background:#f8fbfd;border-radius:10px;padding:10px}.zsf-safety-upload{margin-top:14px;display:grid;grid-template-columns:180px 220px minmax(240px,1fr) auto;gap:8px;align-items:center;border:1px dashed #b7d0df;background:#f8fcfe;border-radius:12px;padding:12px}.zsf-safety-upload>strong{grid-column:1/-1;color:#153e63}.zsf-safety-docs{display:flex;flex-direction:column;gap:8px}.zsf-safety-doc{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9e5ed;border-radius:10px;padding:10px 12px}.zsf-safety-doc div:first-child{display:flex;flex-direction:column;gap:3px}.zsf-safety-doc strong{font-size:13px;color:#183f61}.zsf-safety-doc small{color:#71869a}.zsf-safety-doc div:last-child{display:flex;gap:6px}.zsf-safety-doc a,.zsf-safety-doc button{border:1px solid #bcd7e7;background:#fff;color:#126da6;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:800;text-decoration:none;cursor:pointer}.zsf-safety-doc button{color:#b42318;border-color:#f3c4c0}
@media(max-width:900px){.zsf-safety-grid{grid-template-columns:1fr}.zsf-safety-upload{grid-template-columns:1fr 1fr}.zsf-safety-upload>strong{grid-column:1/-1}.zsf-safety-form-grid{grid-template-columns:1fr}.zsf-org-branches{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.zsf-safety-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.zsf-safety-tabs button{white-space:nowrap}.zsf-safety-upload{grid-template-columns:1fr}.zsf-safety-doc{align-items:flex-start;flex-direction:column}.zsf-safety-doc div:last-child{width:100%}.zsf-org-branches{grid-template-columns:1fr}}


/* 1.3.12 - tipologia contratto: sottotipo visibile solo al click */
.zsf-app-v038 .zsf-contract-cell{position:relative;display:inline-flex;align-items:center;max-width:100%}
.zsf-app-v038 .zsf-contract-detail-toggle{appearance:none;border:0;cursor:pointer;font:inherit}
.zsf-app-v038 .zsf-contract-detail-toggle[aria-expanded="true"]{box-shadow:0 0 0 2px rgba(14,165,233,.18)}
.zsf-app-v038 .zsf-contract-detail-popover{position:absolute;z-index:80;top:calc(100% + 7px);left:0;min-width:220px;max-width:280px;padding:11px 13px;border:1px solid #cfe0ef;border-radius:11px;background:#fff;box-shadow:0 14px 32px rgba(15,39,71,.16);white-space:normal;text-align:left}
.zsf-app-v038 .zsf-contract-detail-popover strong{display:block;margin:0 0 4px;color:#0d3e70;font-size:12px!important;line-height:1.25}
.zsf-app-v038 .zsf-contract-detail-popover span{display:block;color:#334155;font-size:12px!important;line-height:1.35}
.zsf-app-v038 .zsf-contract-detail-popover[hidden]{display:none!important}


/* 1.3.13 - Safety per impresa con registri dedicati */
.zsf-safety-company-bar{display:flex;align-items:end;gap:14px;justify-content:space-between;border:1px solid #d8e4ec;background:#fff;border-radius:14px;padding:14px 16px;margin:0 0 14px}
.zsf-safety-company-bar label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800;color:#2a4d69;min-width:290px}.zsf-safety-company-bar select{border:1px solid #cbdbe7;border-radius:10px;background:#fff;padding:10px 12px;font:inherit;color:#17324d}.zsf-safety-company-note{font-size:13px;color:#5b7288;max-width:520px}
.zsf-safety-form-grid-rich{grid-template-columns:1fr 1fr}.zsf-safety-multi{min-height:126px;padding:8px}.zsf-safety-form-actions{display:flex;justify-content:flex-start;margin-top:6px}
.zsf-org-chart-rich{gap:16px}.zsf-org-company{align-self:center;background:linear-gradient(135deg,#0d6b92,#33a1df);color:#fff;border-radius:999px;padding:8px 16px;font-weight:800;box-shadow:0 10px 25px rgba(23,84,126,.12)}
.zsf-org-root{box-shadow:0 12px 26px rgba(18,109,166,.14);min-width:220px}.zsf-org-branches{grid-template-columns:1fr 1fr;gap:12px}.zsf-org-node{min-height:92px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 8px 20px rgba(16,61,98,.05)}.zsf-org-node strong{font-size:18px;line-height:1.25}
.zsf-safety-register{display:flex;flex-direction:column;gap:12px}.zsf-safety-line{display:grid;grid-template-columns:minmax(220px,1.3fr) auto 130px minmax(160px,1fr) minmax(280px,1.2fr);gap:12px;align-items:center;border:1px solid #dbe6ef;border-radius:14px;background:#fafdff;padding:14px}.zsf-safety-line-main{display:flex;flex-direction:column;gap:4px}.zsf-safety-line-main strong{font-size:16px;color:#163f63}.zsf-safety-line-main small{color:#688096}.zsf-safety-line-main em{font-style:normal;color:#194b70;font-weight:700}.zsf-safety-state{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.zsf-safety-state.ok{background:#e8f8f0;color:#027a48}.zsf-safety-state.ko{background:#fdecec;color:#b42318}.zsf-safety-mini-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;color:#334e68}.zsf-safety-mini-field input{border:1px solid #cbdbe7;border-radius:8px;background:#fff;padding:9px 10px;font:inherit;color:#17324d}.zsf-safety-line-file{display:flex;flex-direction:column;gap:6px}.zsf-safety-line-file small{color:#6b7f92}.zsf-safety-line-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.zsf-safety-line-actions input[type=file]{max-width:220px;font-size:12px}
@media(max-width:1100px){.zsf-safety-line{grid-template-columns:1fr 1fr;align-items:start}.zsf-safety-line-main,.zsf-safety-line-file,.zsf-safety-line-actions{grid-column:1/-1}.zsf-safety-company-bar{flex-direction:column;align-items:stretch}.zsf-safety-company-note{max-width:none}}
@media(max-width:700px){.zsf-safety-form-grid-rich,.zsf-org-branches{grid-template-columns:1fr}.zsf-safety-line{grid-template-columns:1fr}.zsf-safety-line-state{justify-self:start}}

/* 1.3.14 - dettaglio contratto indeterminato leggibile nella riga */
.zsf-app-v038 .zsf-contract-cell{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:7px;max-width:100%;overflow:visible}
.zsf-app-v038 .zsf-contract-detail-toggle{appearance:none;border:1px solid #b9def0!important;background:#eef9fd!important;color:#164a68!important;border-radius:999px!important;padding:6px 10px!important;font-size:12px!important;font-weight:800!important;line-height:1.1!important;white-space:nowrap}
.zsf-app-v038 .zsf-contract-detail-toggle[aria-expanded="true"]{background:#dff5fc!important;border-color:#38a8cf!important;box-shadow:0 0 0 2px rgba(14,165,233,.10)!important}
.zsf-app-v038 .zsf-contract-detail-popover{position:static!important;z-index:auto!important;top:auto!important;left:auto!important;min-width:190px!important;max-width:240px!important;width:max-content!important;padding:9px 11px!important;border:1px solid #cfe0ef!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important;white-space:normal!important;text-align:left!important}
.zsf-app-v038 .zsf-contract-detail-popover strong{display:block!important;margin:0 0 5px!important;color:#0d3e70!important;font-size:11px!important;line-height:1.25!important;white-space:normal!important}
.zsf-app-v038 .zsf-contract-detail-popover span{display:block!important;color:#172b3a!important;font-size:13px!important;font-weight:800!important;line-height:1.35!important;white-space:normal!important}
.zsf-app-v038 #zsf-workers-table td[data-col="contract_type"]{overflow:visible!important;vertical-align:top!important}
/* 1.3.15 - Safety: selezione addetti in modal + tabelle operative */
.zsf-safety-role-field{display:flex;flex-direction:column;gap:7px}.zsf-safety-role-field>span{font-size:12px;font-weight:800;color:#334e68}.zsf-safety-role-field small{color:#61788f;line-height:1.35;min-height:18px}.zsf-safety-select-role{border:1px solid #bcd5e5;background:#fff;color:#135b88;border-radius:9px;padding:10px 12px;font-weight:800;text-align:left;cursor:pointer}.zsf-safety-select-role:hover{background:#f3f9fd}
.zsf-safety-role-modal[hidden]{display:none}.zsf-safety-role-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px}.zsf-safety-role-backdrop{position:absolute;inset:0;background:rgba(14,30,52,.55);backdrop-filter:blur(3px)}.zsf-safety-role-dialog{position:relative;z-index:1;width:min(720px,96vw);max-height:86vh;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(9,35,58,.28);display:flex;flex-direction:column;overflow:hidden}.zsf-safety-role-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 14px;border-bottom:1px solid #e1eaf0}.zsf-safety-role-head h3{margin:2px 0 4px;color:#153f63;font-size:22px}.zsf-safety-role-head p{margin:0;color:#667d92}.zsf-safety-role-x{border:0;background:#edf5fa;color:#15486d;width:34px;height:34px;border-radius:10px;font-size:22px;cursor:pointer}.zsf-safety-role-search{padding:14px 22px 8px}.zsf-safety-role-search input{width:100%;border:1px solid #cbdbe7;border-radius:10px;padding:10px 12px;font:inherit}.zsf-safety-role-list{padding:8px 22px 18px;overflow:auto;display:flex;flex-direction:column;gap:8px}.zsf-safety-worker-option{display:flex;align-items:center;gap:12px;border:1px solid #dce7ee;border-radius:12px;padding:11px 12px;background:#fbfdff;cursor:pointer}.zsf-safety-worker-option:hover{border-color:#9cc7df;background:#f4fbff}.zsf-safety-worker-option input{width:18px;height:18px}.zsf-safety-worker-option span{display:flex;flex-direction:column;gap:2px}.zsf-safety-worker-option strong{color:#153f63}.zsf-safety-worker-option small{color:#70859a}.zsf-safety-role-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px 18px;border-top:1px solid #e1eaf0;background:#fbfdff}.zsf-modal-open{overflow:hidden}
.zsf-org-link,.zsf-org-connector{width:2px;height:16px;background:#78b8d7;align-self:center}.zsf-org-branches{position:relative}.zsf-org-people{display:flex;flex-direction:column;gap:4px;margin-top:4px}.zsf-org-people strong{font-size:14px}.zsf-org-node{border-top:3px solid #c6e5f3}.zsf-org-node:nth-child(3n+1){border-top-color:#36a6c9}.zsf-org-node:nth-child(3n+2){border-top-color:#6b7dd6}.zsf-org-node:nth-child(3n){border-top-color:#36aa7a}
.zsf-safety-register{display:block}.zsf-safety-table-wrap{border:1px solid #d8e5ed;border-radius:12px;overflow:auto}.zsf-safety-table{min-width:980px}.zsf-safety-table th{background:#eef5fa;color:#214d6c;font-size:12px;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.zsf-safety-table td{vertical-align:middle}.zsf-safety-table td:first-child strong{display:block;color:#153f63;font-size:14px}.zsf-safety-table td:first-child small,.zsf-safety-file-name{display:block;color:#74899c;margin-top:3px}.zsf-safety-persons{font-weight:700;color:#1d4b6d}.zsf-safety-date{border:1px solid #cbdbe7;border-radius:8px;padding:8px 9px;background:#fff;min-width:130px}.zsf-safety-no-file{color:#8597a7}.zsf-safety-table-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.zsf-safety-file-button{position:relative;overflow:hidden;border:1px solid #bfd4e3;background:#fff;color:#19557d;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.zsf-safety-file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.zsf-safety-table-actions .zsf-secondary,.zsf-safety-table-actions .zsf-primary,.zsf-safety-table-actions .zsf-danger-outline{padding:7px 10px;font-size:12px;white-space:nowrap}
@media(max-width:700px){.zsf-safety-role-modal{padding:10px;align-items:flex-end}.zsf-safety-role-dialog{width:100%;max-height:88vh;border-radius:18px 18px 0 0}.zsf-safety-role-head{padding:16px}.zsf-safety-role-search,.zsf-safety-role-list{padding-left:16px;padding-right:16px}.zsf-safety-role-footer{padding:12px 16px}.zsf-safety-table{min-width:900px}}


/* 1.3.16 - Elenco lavoratori compatto: stato + allegato sulla prima riga, scadenza sulla seconda */
.zsf-workers-table tbody td{padding-top:6px!important;padding-bottom:6px!important;vertical-align:middle!important}
.zsf-workers-table tbody tr{height:auto!important}
.zsf-worker-status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:118px;line-height:1.1}
.zsf-worker-status-line{display:flex;align-items:center;gap:5px;min-height:22px;white-space:nowrap}
.zsf-worker-status-cell>small{font-size:10px;line-height:1.1;color:#64748b;white-space:nowrap;margin:0}
.zsf-worker-pdf-icon{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;flex:0 0 21px;border:1px solid #b9d9ea;border-radius:6px;background:#f5fbff;color:#0f6fa8;text-decoration:none;font-size:12px;line-height:1;box-sizing:border-box}
.zsf-worker-pdf-icon:hover{background:#e5f5fc;border-color:#7dbfdd}
.zsf-workers-table td[data-col="training"],.zsf-workers-table td[data-col="health"]{padding-top:5px!important;padding-bottom:5px!important;vertical-align:middle!important}
.zsf-workers-table td[data-col="worker"] strong{line-height:1.15}.zsf-workers-table td[data-col="worker"] small{line-height:1.1;margin-top:1px}
.zsf-workers-table .zsf-worker-row-actions{gap:4px}.zsf-workers-table .zsf-row-action{padding:5px 7px;min-height:28px}
/* 1.3.17 - Nominativi visibili e reset organigramma */
.zsf-safety-select-role{white-space:normal;text-align:left;line-height:1.25;min-height:40px;overflow-wrap:anywhere}
.zsf-safety-role-field small[hidden]{display:none!important}
.zsf-safety-form-actions{gap:10px;align-items:center;flex-wrap:wrap}
.zsf-safety-reset{border-color:#f0b7b2!important;color:#b42318!important;background:#fff!important}

/* 1.3.18 - tabella lavoratori: dettaglio contratto breve e ridimensionamento più facile */
.zsf-app-v038 .zsf-contract-detail-popover{min-width:0!important;max-width:170px!important;width:auto!important;padding:7px 9px!important;margin-top:5px!important}
.zsf-app-v038 .zsf-contract-detail-popover strong{display:none!important}
.zsf-app-v038 .zsf-contract-detail-popover span{font-size:12px!important;font-weight:800!important;white-space:nowrap!important}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer{right:-7px!important;width:15px!important;z-index:20!important}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer:after{content:"";position:absolute;top:20%;bottom:20%;left:7px;width:2px;border-radius:2px;background:#c5d9e5;opacity:.65}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer:hover:after,.zsf-app-v038 #zsf-view-workers .zsf-col-resizer.is-dragging:after{background:#168ac0!important;opacity:1!important;width:3px!important}
.zsf-column-order-controls .zsf-width-control{background:#f3f9fd!important;color:#126da6!important}
.zsf-worker-status-cell{min-width:108px!important;gap:1px!important}.zsf-worker-status-line{gap:4px!important;min-height:20px!important}.zsf-worker-pdf-icon{width:18px!important;height:18px!important;flex-basis:18px!important;font-size:11px!important;border-radius:5px!important}.zsf-worker-status-cell>small{font-size:9.5px!important}



/* 1.3.19 - Front office compatto + ZEMA SAFETY come modulo software integrato */
@media(min-width:761px){
  .zsf-app-v038 .zsf-shell{grid-template-columns:190px minmax(0,1fr)!important}
  .zsf-app-v038 .zsf-brand{min-height:68px!important;padding:8px 10px!important}
  .zsf-app-v038 .zsf-side-nav{gap:5px!important;padding:10px 8px!important}
  .zsf-app-v038 .zsf-side-nav button{
    min-height:42px!important;padding:7px 9px!important;border-radius:10px!important;
    grid-template-columns:28px minmax(0,1fr)!important;gap:7px!important;font-size:13px!important;line-height:1.12!important;
    border-color:#e2eaf2!important;background:#fff!important;box-shadow:0 2px 7px rgba(15,39,71,.035)!important;
  }
  .zsf-app-v038 .zsf-side-nav button:hover{transform:translateX(3px)!important;box-shadow:0 5px 12px rgba(15,39,71,.08)!important}
  .zsf-app-v038 .zsf-nav-icon{width:26px!important;height:26px!important;border-radius:7px!important;font-size:14px!important}
  .zsf-app-v038 .zsf-side-nav small{font-size:10px!important;margin-top:-2px!important}
  .zsf-app-v038 .zsf-side-footer{padding:10px!important}
  .zsf-app-v038 .zsf-view{padding-left:10px!important;padding-right:10px!important}
}

/* colori distinti del menu: ogni area resta parte di ZEMADESK ma è riconoscibile */
.zsf-app-v038 .zsf-side-nav button[data-view="overview"]{--nav-accent:#2563eb;--nav-soft:#edf4ff}
.zsf-app-v038 .zsf-side-nav button[data-view="workers"]{--nav-accent:#4f46e5;--nav-soft:#f0efff}
.zsf-app-v038 .zsf-side-nav button[data-view="training"]{--nav-accent:#d97706;--nav-soft:#fff7e8}
.zsf-app-v038 .zsf-side-nav button[data-view="requests"]{--nav-accent:#0891b2;--nav-soft:#eafaff}
.zsf-app-v038 .zsf-side-nav button[data-view="notifications"]{--nav-accent:#7c3aed;--nav-soft:#f5efff}
.zsf-app-v038 .zsf-side-nav button[data-view="safety"]{--nav-accent:#0f8a6a;--nav-soft:#eaf8f3}
.zsf-app-v038 .zsf-side-nav button[data-view="health"]{--nav-accent:#db2777;--nav-soft:#fff0f6}
.zsf-app-v038 .zsf-side-nav button[data-view]{border-left:3px solid var(--nav-accent,#2563eb)!important}
.zsf-app-v038 .zsf-side-nav button[data-view] .zsf-nav-icon{background:var(--nav-soft,#eef5fb)!important;color:var(--nav-accent,#2563eb)!important}
.zsf-app-v038 .zsf-side-nav button[data-view]:hover,
.zsf-app-v038 .zsf-side-nav button[data-view].is-active{background:var(--nav-soft,#eef5fb)!important;color:var(--nav-accent,#2563eb)!important;border-color:color-mix(in srgb,var(--nav-accent,#2563eb) 28%,#dfe8f0)!important}
.zsf-app-v038 .zsf-side-nav button[data-view].is-active:before{display:none!important}
.zsf-app-v038 .zsf-side-nav button[data-view].is-active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nav-accent,#2563eb) 18%,transparent),0 4px 10px rgba(15,39,71,.06)!important}

/* Safety: vero modulo applicativo interno, compatto e distinto visivamente */
.zsf-app-v038 #zsf-view-safety{
  --sf-deep:#123f3a;--sf-main:#0f8a6a;--sf-bright:#14b88a;--sf-soft:#edf9f5;--sf-soft2:#f6fcfa;--sf-line:#cfe9df;--sf-ink:#123e38;
  padding-top:0!important;padding-bottom:12px!important;
  background:linear-gradient(180deg,#f5fcf9 0%,#f9fdfc 100%);
  border-radius:14px;
}
.zsf-app-v038 #zsf-view-safety .zsf-safety-product-head{
  margin:0 0 8px!important;padding:10px 14px!important;min-height:0!important;border:0!important;border-radius:12px!important;
  background:linear-gradient(120deg,#123f3a 0%,#0d745c 55%,#11a77d 100%)!important;color:#fff!important;
  box-shadow:0 7px 18px rgba(15,138,106,.14)!important;
}
.zsf-app-v038 #zsf-view-safety .zsf-safety-product-copy{display:flex;align-items:center;gap:12px;min-width:0}
.zsf-app-v038 #zsf-view-safety .zsf-safety-product-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:8px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.24);font-size:11px;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.zsf-app-v038 #zsf-view-safety .zsf-safety-product-head h2{color:#fff!important;font-size:18px!important;line-height:1.05!important;margin:0!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-product-head p{color:#d9fff3!important;font-size:11.5px!important;line-height:1.25!important;margin:3px 0 0!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-product-status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#d9fbed;color:#087052;padding:5px 9px;font-size:10px;font-weight:900;white-space:nowrap}
.zsf-app-v038 #zsf-view-safety .zsf-safety-product-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#13a873;box-shadow:0 0 0 3px rgba(19,168,115,.15)}

.zsf-app-v038 #zsf-view-safety .zsf-safety-company-bar{
  padding:7px 10px!important;margin:0 0 7px!important;border-radius:10px!important;border-color:var(--sf-line)!important;background:#fff!important;gap:10px!important;
}
.zsf-app-v038 #zsf-view-safety .zsf-safety-company-bar label{min-width:240px!important;gap:3px!important;font-size:11px!important;color:var(--sf-ink)!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-company-bar select{min-height:32px!important;padding:5px 9px!important;border-radius:7px!important;border-color:#bedfd3!important;font-size:12px!important;font-weight:800!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-company-note{font-size:10.5px!important;color:#638077!important}

.zsf-app-v038 #zsf-view-safety .zsf-safety-tabs{gap:5px!important;margin:0 0 7px!important;padding:5px!important;border:1px solid var(--sf-line);border-radius:11px;background:#eaf7f2!important;flex-wrap:nowrap!important;overflow-x:auto!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-tabs button{padding:6px 10px!important;min-height:31px!important;border-radius:7px!important;font-size:11.5px!important;color:#315f56!important;border-color:transparent!important;background:transparent!important;box-shadow:none!important;white-space:nowrap!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-tabs button:hover{background:#fff!important;color:#0d755c!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-tabs button.is-active{background:#fff!important;color:#08775b!important;border-color:#b7ddd0!important;box-shadow:0 3px 8px rgba(12,91,72,.08)!important}

.zsf-app-v038 #zsf-view-safety .zsf-safety-grid{gap:8px!important;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-card{padding:10px 12px!important;border-radius:11px!important;border-color:var(--sf-line)!important;background:#fff!important;box-shadow:0 3px 10px rgba(16,82,67,.035)!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-card-head{margin-bottom:7px!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-card h3{font-size:15px!important;color:var(--sf-ink)!important;margin-bottom:2px!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-card p{font-size:10.5px!important;line-height:1.25!important;margin-bottom:7px!important;color:#66847b!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-form-grid{gap:7px!important;margin-bottom:7px!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-form label,.zsf-app-v038 #zsf-view-safety .zsf-safety-role-field>span{font-size:10.5px!important;color:#315d54!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-form input,.zsf-app-v038 #zsf-view-safety .zsf-safety-form textarea,.zsf-app-v038 #zsf-view-safety .zsf-safety-select-role{min-height:34px!important;padding:6px 9px!important;border-radius:7px!important;border-color:#c7dfd7!important;font-size:11.5px!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-role-field{gap:4px!important}.zsf-app-v038 #zsf-view-safety .zsf-safety-role-field small{font-size:10px!important;min-height:0!important;color:#6d837c!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-form-actions{margin-top:4px!important}
.zsf-app-v038 #zsf-view-safety .zsf-primary{min-height:34px!important;padding:7px 11px!important;border-radius:8px!important;font-size:11.5px!important;background:linear-gradient(135deg,#0f8a6a,#13ad83)!important}
.zsf-app-v038 #zsf-view-safety .zsf-secondary{min-height:34px!important;padding:7px 11px!important;border-radius:8px!important;font-size:11.5px!important;border-color:#bcded2!important;color:#166451!important}

.zsf-app-v038 #zsf-view-safety .zsf-org-company{padding:5px 11px!important;font-size:11px!important;background:linear-gradient(135deg,#0b6652,#16a77f)!important}
.zsf-app-v038 #zsf-view-safety .zsf-org-root{min-width:180px!important;padding:8px 10px!important;border-radius:10px!important;border-color:#15a980!important;background:#eafaf5!important;box-shadow:0 6px 14px rgba(15,138,106,.10)!important}
.zsf-app-v038 #zsf-view-safety .zsf-org-root strong{font-size:13px!important;color:#0e5747!important}.zsf-app-v038 #zsf-view-safety .zsf-org-root span{font-size:9px!important}
.zsf-app-v038 #zsf-view-safety .zsf-org-branches{gap:6px!important}.zsf-app-v038 #zsf-view-safety .zsf-org-node{min-height:62px!important;padding:7px 8px!important;border-radius:8px!important;background:#f7fcfa!important;border-color:#d5e9e2!important;box-shadow:none!important}
.zsf-app-v038 #zsf-view-safety .zsf-org-node span{font-size:8.5px!important}.zsf-app-v038 #zsf-view-safety .zsf-org-node strong{font-size:11.5px!important;color:#174c40!important}
.zsf-app-v038 #zsf-view-safety .zsf-org-link,.zsf-app-v038 #zsf-view-safety .zsf-org-connector{height:9px!important;background:#76c4ad!important}

/* tabelle Safety più dense: effetto gestionale, non pagina editoriale */
.zsf-app-v038 #zsf-view-safety .zsf-safety-table-wrap{border-radius:9px!important;border-color:var(--sf-line)!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-table th{padding:7px 8px!important;background:#eaf7f2!important;color:#245b4e!important;font-size:9.5px!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-table td{padding:7px 8px!important;font-size:10.5px!important;line-height:1.15!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-table td:first-child strong{font-size:11.5px!important}.zsf-app-v038 #zsf-view-safety .zsf-safety-table td:first-child small,.zsf-app-v038 #zsf-view-safety .zsf-safety-file-name{font-size:9px!important;margin-top:1px!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-state{padding:4px 7px!important;font-size:9px!important}.zsf-app-v038 #zsf-view-safety .zsf-safety-date{min-width:112px!important;padding:5px 6px!important;font-size:10px!important;border-radius:6px!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-table-actions{gap:4px!important;flex-wrap:nowrap!important}.zsf-app-v038 #zsf-view-safety .zsf-safety-table-actions .zsf-secondary,.zsf-app-v038 #zsf-view-safety .zsf-safety-table-actions .zsf-primary,.zsf-app-v038 #zsf-view-safety .zsf-safety-table-actions .zsf-danger-outline,.zsf-app-v038 #zsf-view-safety .zsf-safety-file-button{padding:5px 7px!important;min-height:27px!important;font-size:9.5px!important;border-radius:6px!important}

@media(max-width:1000px){.zsf-app-v038 #zsf-view-safety .zsf-safety-grid{grid-template-columns:1fr!important}.zsf-app-v038 #zsf-view-safety .zsf-safety-product-copy{align-items:flex-start}.zsf-app-v038 #zsf-view-safety .zsf-safety-product-status{display:none}}
@media(max-width:760px){
  .zsf-app-v038 #zsf-view-safety{padding-left:6px!important;padding-right:6px!important}
  .zsf-app-v038 #zsf-view-safety .zsf-safety-product-head{padding:9px 10px!important}
  .zsf-app-v038 #zsf-view-safety .zsf-safety-product-copy{gap:8px;flex-direction:column}.zsf-app-v038 #zsf-view-safety .zsf-safety-product-badge{min-height:24px}
  .zsf-app-v038 #zsf-view-safety .zsf-safety-company-bar{padding:7px!important}.zsf-app-v038 #zsf-view-safety .zsf-safety-company-bar label{min-width:0!important;width:100%!important}
}


/* 1.3.20 - margini interni + ZEMA MED rosa e compatto */
.zsf-app-v038 #zsf-view-safety,
.zsf-app-v038 #zsf-view-health{
  margin:8px 10px 12px!important;
  width:auto!important;
  box-sizing:border-box!important;
}
.zsf-app-v038 #zsf-view-safety{padding:8px 10px 12px!important}

/* ZEMA MED: modulo sanitario integrato, distinto da Safety */
.zsf-app-v038 #zsf-view-health{
  --med-deep:#7a1747;--med-main:#c0266d;--med-bright:#e64b91;--med-soft:#fff0f6;--med-soft2:#fff8fb;--med-line:#f2c8dc;--med-ink:#6f1d46;
  padding:8px 10px 12px!important;
  background:linear-gradient(180deg,#fff7fb 0%,#fffbfd 100%)!important;
  border-radius:14px!important;
}
.zsf-app-v038 #zsf-view-health .zsf-med-product-head{
  margin:0 0 8px!important;padding:10px 14px!important;min-height:0!important;border:0!important;border-radius:12px!important;
  background:linear-gradient(120deg,#7a1747 0%,#b51f66 56%,#e14c91 100%)!important;color:#fff!important;
  box-shadow:0 7px 18px rgba(192,38,109,.15)!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
}
.zsf-app-v038 #zsf-view-health .zsf-med-product-copy{display:flex;align-items:center;gap:12px;min-width:0}
.zsf-app-v038 #zsf-view-health .zsf-med-product-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:8px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);font-size:11px;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.zsf-app-v038 #zsf-view-health .zsf-med-product-head h2{color:#fff!important;font-size:18px!important;line-height:1.05!important;margin:0!important}
.zsf-app-v038 #zsf-view-health .zsf-med-product-head p{color:#ffe5f2!important;font-size:11.5px!important;line-height:1.25!important;margin:3px 0 0!important}
.zsf-app-v038 #zsf-view-health .zsf-med-product-status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#ffe0ee;color:#9f1f59;padding:5px 9px;font-size:10px;font-weight:900;white-space:nowrap}
.zsf-app-v038 #zsf-view-health .zsf-med-product-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#d92d76;box-shadow:0 0 0 3px rgba(217,45,118,.14)}

.zsf-app-v038 #zsf-view-health .zsf-health-connection{
  margin:0 0 8px!important;padding:7px 10px!important;min-height:0!important;border-radius:9px!important;
  border-color:var(--med-line)!important;background:#fff!important;color:#79566b!important;font-size:10.5px!important;gap:8px!important;
}
.zsf-app-v038 #zsf-view-health .zsf-health-connection span{color:#a92763!important;font-size:10.5px!important}
.zsf-app-v038 #zsf-view-health .zsf-health-connection small{font-size:10px!important;color:#8b7080!important}

.zsf-app-v038 #zsf-view-health .zsf-health-stats{gap:7px!important;margin-bottom:8px!important}
.zsf-app-v038 #zsf-view-health .zsf-health-stats article{
  min-height:48px!important;padding:7px 10px!important;border-radius:9px!important;border-color:var(--med-line)!important;background:#fff!important;
  box-shadow:0 2px 8px rgba(122,23,71,.035)!important;
}
.zsf-app-v038 #zsf-view-health .zsf-health-stats article span{font-size:9.5px!important;color:#7f6071!important}
.zsf-app-v038 #zsf-view-health .zsf-health-stats article strong{font-size:19px!important;color:#8f2358!important}
.zsf-app-v038 #zsf-view-health .zsf-health-stats article.green strong{color:#079166!important}
.zsf-app-v038 #zsf-view-health .zsf-health-stats article.amber strong{color:#ba8200!important}
.zsf-app-v038 #zsf-view-health .zsf-health-stats article.red strong{color:#d62d37!important}

.zsf-app-v038 #zsf-view-health .zsf-health-table-wrap{
  max-height:470px!important;border:1px solid var(--med-line)!important;border-radius:10px!important;background:#fff!important;
  overflow:auto!important;
}
.zsf-app-v038 #zsf-view-health .zsf-health-table{margin:0!important}
.zsf-app-v038 #zsf-view-health .zsf-health-table thead th{
  background:#fde8f2!important;color:#7a2850!important;border-color:#f4cfdf!important;padding:7px 10px!important;font-size:10.5px!important;
}
.zsf-app-v038 #zsf-view-health .zsf-health-table td{
  padding:7px 10px!important;font-size:11px!important;border-color:#f4dce7!important;line-height:1.15!important;
}
.zsf-app-v038 #zsf-view-health .zsf-health-table tbody tr:hover{background:#fff7fb!important}
.zsf-app-v038 #zsf-view-health .zsf-health-table td:first-child strong{font-size:11.5px!important;color:#5f2140!important}
.zsf-app-v038 #zsf-view-health .zsf-health-table td:first-child small{font-size:8.5px!important;color:#9c7f8f!important}
.zsf-app-v038 #zsf-view-health .zsf-health-badge{font-size:9.5px!important;padding:4px 8px!important}

/* respiro coerente tra moduli e bordo dell'area di lavoro */
@media(min-width:761px){
  .zsf-app-v038 .zsf-main{padding-left:8px!important;padding-right:8px!important}
}
@media(max-width:760px){
  .zsf-app-v038 #zsf-view-safety,.zsf-app-v038 #zsf-view-health{margin:6px!important;padding:7px!important}
  .zsf-app-v038 #zsf-view-health .zsf-med-product-head{padding:9px 10px!important}
  .zsf-app-v038 #zsf-view-health .zsf-med-product-copy{gap:8px;flex-direction:column;align-items:flex-start}
  .zsf-app-v038 #zsf-view-health .zsf-med-product-badge{min-height:24px}
  .zsf-app-v038 #zsf-view-health .zsf-med-product-status{display:none}
  .zsf-app-v038 #zsf-view-health .zsf-health-stats{grid-template-columns:1fr 1fr!important}
}


/* 1.3.21 - ZEMA MED completamente rosa e senza riga collegamento */
.zsf-app-v038 #zsf-view-health{
  background:linear-gradient(180deg,#fff1f7 0%,#fff7fb 100%)!important;
  border:1px solid #f2bfd8!important;
  box-shadow:0 8px 24px rgba(192,38,109,.06)!important;
}
.zsf-app-v038 #zsf-view-health .zsf-health-connection{display:none!important}
.zsf-app-v038 #zsf-view-health .zsf-health-stats{
  background:#fdeaf3!important;
  border:1px solid #f1c4d9!important;
  border-radius:12px!important;
  padding:7px!important;
}
.zsf-app-v038 #zsf-view-health .zsf-health-stats article{
  background:#fff7fb!important;
  border-color:#efbfd5!important;
}
.zsf-app-v038 #zsf-view-health .zsf-health-table-wrap{
  background:#fff5fa!important;
  border:1px solid #efbfd5!important;
}
.zsf-app-v038 #zsf-view-health .zsf-health-table thead th{
  background:linear-gradient(180deg,#f9dce9,#f7d3e4)!important;
  color:#751b49!important;
  border-color:#edbdd2!important;
}
.zsf-app-v038 #zsf-view-health .zsf-health-table tbody tr{background:#fffafb!important}
.zsf-app-v038 #zsf-view-health .zsf-health-table tbody tr:nth-child(even){background:#fff4f9!important}
.zsf-app-v038 #zsf-view-health .zsf-health-table td{border-color:#f0d4e0!important}
.zsf-app-v038 #zsf-view-health .zsf-health-table tbody tr:hover{background:#fdebf4!important}
.zsf-app-v038 #zsf-view-health .zsf-health-badge{
  border:1px solid #edc3d6!important;
  background:#fff0f6!important;
  color:#8d2a58!important;
}



/* 1.3.22 — Dashboard evoluta ZEMADESK */
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{padding-top:10px!important;padding-bottom:16px!important}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-demo-kpis{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:9px!important;margin:0 0 10px!important}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-demo-kpi{min-height:76px!important;padding:11px 10px 10px 48px!important;border-radius:12px!important;box-shadow:none!important}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-demo-kpi .zsf-kpi-icon{left:10px!important;top:50%!important;transform:translateY(-50%)!important;width:30px!important;height:30px!important;font-size:14px!important;border-radius:9px!important}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-demo-kpi .zsf-kpi-label{font-size:11px!important;line-height:1.15!important}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-demo-kpi .zsf-kpi-value{font-size:25px!important;margin-top:3px!important}

.zsf-dashboard-v2{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:12px;align-items:stretch}
.zsf-dashboard-module{border:1px solid #d5e4ef;border-radius:15px;padding:14px;background:#fff;box-shadow:0 4px 14px rgba(15,39,71,.035);min-width:0}
.zsf-dashboard-module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.zsf-dashboard-module-head h2{margin:3px 0 2px!important;font-size:19px!important;line-height:1.15!important;color:#163f63!important;font-weight:850!important}
.zsf-dashboard-module-head p{margin:0!important;font-size:11.5px!important;line-height:1.35!important;color:#667e94!important}
.zsf-dashboard-eyebrow{font-size:9.5px;font-weight:900;letter-spacing:.09em;color:#5e7790;text-transform:uppercase}
.zsf-dashboard-open{flex:0 0 auto;border:1px solid currentColor;border-radius:9px;padding:7px 10px;background:#fff;font-size:11px;font-weight:850;cursor:pointer;white-space:nowrap}
.zsf-dashboard-product-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:9.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}

.zsf-dashboard-workers{background:linear-gradient(180deg,#fff,#f7fbff);border-color:#cde1f3}
.zsf-dashboard-workers .zsf-dashboard-open{color:#1768be;background:#f6fbff}
.zsf-dashboard-workers-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:9px}
.zsf-dashboard-workers-kpis>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #d8e7f3;background:#fff;border-radius:10px;padding:7px 9px}
.zsf-dashboard-workers-kpis span{font-size:10px;color:#617a92;font-weight:750}.zsf-dashboard-workers-kpis strong{font-size:17px;color:#155b9d}
.zsf-dashboard-workers-table{max-height:230px!important;overflow:auto!important;border-radius:10px!important}
.zsf-dashboard-workers-table .zsf-table{font-size:11px!important}.zsf-dashboard-workers-table th,.zsf-dashboard-workers-table td{padding:7px 9px!important}

.zsf-dashboard-actions{background:linear-gradient(145deg,#fff9df,#fffdf2);border-color:#f0d77d}
.zsf-dashboard-actions .zsf-dashboard-eyebrow,.zsf-dashboard-actions h2{color:#8d6200!important}
.zsf-dashboard-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.zsf-dashboard-actions .zsf-action-link{margin:0!important;min-height:72px!important;padding:9px!important;border-color:#ecd78e!important;background:rgba(255,255,255,.78)!important;grid-template-columns:34px 1fr 14px!important;gap:8px!important;border-radius:10px!important}
.zsf-dashboard-actions .zsf-action-link:hover{border-color:#e2b72c!important;background:#fff9d7!important;transform:translateY(-2px)!important}
.zsf-dashboard-actions .zsf-action-icon{width:30px!important;height:30px!important;border-radius:8px!important;background:#fff3b8!important;color:#8b6500!important;font-size:15px!important}
.zsf-dashboard-actions .zsf-action-link strong{font-size:11.5px!important;color:#654a00!important}.zsf-dashboard-actions .zsf-action-link small{font-size:9.5px!important;margin-top:2px!important;color:#8b773d!important}.zsf-dashboard-actions .zsf-action-link b{font-size:18px!important;color:#b88600!important}

.zsf-dashboard-safety{grid-column:1/2;background:linear-gradient(145deg,#effaf5,#f8fffb);border-color:#a8d9c7}
.zsf-dashboard-safety .zsf-dashboard-product-badge{background:#d9f3e7;color:#087255}.zsf-dashboard-safety h2{color:#075b47!important}.zsf-dashboard-safety .zsf-dashboard-open{color:#087255;background:#f5fffb}
.zsf-dashboard-safety-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:9px}
.zsf-dashboard-safety-kpis>div{border:1px solid #bfdfd3;border-radius:10px;background:rgba(255,255,255,.82);padding:8px 9px;min-width:0}
.zsf-dashboard-safety-kpis span{display:block;font-size:9.5px;font-weight:800;color:#4d7669;text-transform:uppercase}.zsf-dashboard-safety-kpis strong{display:block;margin-top:3px;font-size:15px;color:#096c52;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zsf-dashboard-safety-kpis .attention strong{color:#b26c00}
.zsf-dashboard-deadline-list{display:flex;flex-direction:column;gap:6px}.zsf-dashboard-deadline-row{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;border-top:1px solid #d8ebe4;padding:6px 2px}.zsf-dashboard-deadline-row>span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#dff5ec;color:#087255}.zsf-dashboard-deadline-row div{display:flex;flex-direction:column}.zsf-dashboard-deadline-row strong{font-size:10.5px;color:#174c40}.zsf-dashboard-deadline-row small{font-size:9px;color:#718d84}.zsf-dashboard-deadline-row b{font-size:10px;color:#087255}.zsf-dashboard-empty-green{border:1px dashed #a8d9c7;border-radius:10px;padding:11px;text-align:center;color:#5d8376;font-size:10.5px;background:rgba(255,255,255,.5)}

.zsf-dashboard-med{grid-column:2/3;background:linear-gradient(145deg,#fff3f8,#fffafd);border-color:#edbfd2}
.zsf-dashboard-med .zsf-dashboard-product-badge{background:#fde2ed;color:#c2185b}.zsf-dashboard-med h2{color:#a81953!important}.zsf-dashboard-med .zsf-dashboard-open{color:#c2185b;background:#fff8fb}
.zsf-dashboard-med-top{display:grid;grid-template-columns:1fr;gap:7px;margin-bottom:9px}.zsf-med-info-row{display:grid;grid-template-columns:minmax(100px,.85fr) minmax(0,1.2fr) auto;align-items:center;gap:8px;border:1px solid #efd0dc;background:rgba(255,255,255,.82);border-radius:10px;padding:8px 9px}.zsf-med-info-row span{font-size:9.5px;color:#895d70;font-weight:800}.zsf-med-info-row strong{font-size:10.5px;color:#7a2449;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zsf-med-info-row em{font-style:normal;font-size:8.5px;font-weight:900;border-radius:999px;padding:4px 6px;white-space:nowrap}.zsf-med-info-row em.ok{background:#e8f8f0;color:#027a48}.zsf-med-info-row em.ko{background:#fde9f0;color:#b4235a}
.zsf-dashboard-med-kpis{display:grid;grid-template-columns:1fr 1fr;gap:7px}.zsf-dashboard-med-kpis>div{border:1px solid #efd0dc;background:rgba(255,255,255,.8);border-radius:10px;padding:8px 9px}.zsf-dashboard-med-kpis span{display:block;font-size:9.5px;color:#8b6072}.zsf-dashboard-med-kpis strong{display:block;font-size:18px;color:#c2185b;margin-top:2px}.zsf-dashboard-med-kpis .attention strong{color:#c47a00}.zsf-dashboard-med-kpis .danger strong{color:#d92d20}

@media(max-width:1180px){.zsf-dashboard-v2{grid-template-columns:1fr}.zsf-dashboard-safety,.zsf-dashboard-med{grid-column:auto}.zsf-dashboard-actions .zsf-dashboard-action-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:820px){body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-demo-kpis{grid-template-columns:repeat(3,1fr)!important}.zsf-dashboard-action-grid{grid-template-columns:1fr 1fr!important}.zsf-dashboard-workers-kpis{grid-template-columns:1fr 1fr}.zsf-dashboard-module-head{align-items:center}.zsf-dashboard-module-head p{display:none}}
@media(max-width:560px){body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-demo-kpis{grid-template-columns:1fr 1fr!important}.zsf-dashboard-v2{gap:8px}.zsf-dashboard-module{padding:10px;border-radius:12px}.zsf-dashboard-actions .zsf-dashboard-action-grid{grid-template-columns:1fr!important}.zsf-dashboard-safety-kpis{grid-template-columns:1fr 1fr}.zsf-dashboard-safety-kpis>div:first-child{grid-column:1/-1}.zsf-med-info-row{grid-template-columns:1fr auto}.zsf-med-info-row strong{grid-column:1/-1;grid-row:2}.zsf-dashboard-workers-table{max-height:180px!important}}


/* 1.3.23 — ZEMA MED a piena altezza + fascicolo sanitario per impresa */
.zsf-app-v038 #zsf-view-health.is-active{
  display:flex!important;
  flex-direction:column!important;
  min-height:calc(100vh - 92px)!important;
  padding-bottom:10px!important;
}
.zsf-app-v038 #zsf-view-health .zsf-med-product-head{flex:0 0 auto!important}
.zsf-app-v038 #zsf-view-health .zsf-med-company-panel{
  flex:0 0 auto;display:grid;grid-template-columns:230px minmax(0,1fr);gap:10px;align-items:stretch;
  background:#fff7fb;border:1px solid #efbfd5;border-radius:11px;padding:8px;margin:0 0 8px;
}
.zsf-app-v038 #zsf-view-health .zsf-med-company-panel>label{display:flex;flex-direction:column;gap:4px;font-size:9.5px;font-weight:900;color:#7b3154}
.zsf-app-v038 #zsf-view-health .zsf-med-company-panel select{height:34px;border:1px solid #e9b8d0;border-radius:8px;background:#fff;padding:0 9px;font:inherit;color:#6f1d46;font-weight:800}
.zsf-app-v038 #zsf-view-health .zsf-med-company-docs{display:flex;flex-direction:column;gap:7px;min-width:0}
.zsf-app-v038 #zsf-view-health .zsf-med-doctor-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;border-bottom:1px solid #efd5e1;padding:1px 2px 6px}
.zsf-app-v038 #zsf-view-health .zsf-med-doctor-summary span{font-size:9px;font-weight:900;text-transform:uppercase;color:#9a5a76}.zsf-app-v038 #zsf-view-health .zsf-med-doctor-summary strong{font-size:11.5px;color:#7a2449}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-row{display:grid;grid-template-columns:minmax(110px,1fr) auto;gap:5px 7px;align-items:center;border:1px solid #efd0dc;background:#fff;border-radius:9px;padding:7px;min-width:0}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-copy{display:flex;flex-direction:column;min-width:0}.zsf-app-v038 #zsf-view-health .zsf-med-doc-copy strong{font-size:10px;color:#7a2449;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zsf-app-v038 #zsf-view-health .zsf-med-doc-copy small{font-size:8.5px;color:#9a7585;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-state{justify-self:end;border-radius:999px;padding:3px 6px;font-size:8.5px;font-weight:900}.zsf-app-v038 #zsf-view-health .zsf-med-doc-state.ok{background:#e8f8f0;color:#027a48}.zsf-app-v038 #zsf-view-health .zsf-med-doc-state.ko{background:#fde9f0;color:#b4235a}
.zsf-app-v038 #zsf-view-health .zsf-med-date{display:flex;align-items:center;gap:5px}.zsf-app-v038 #zsf-view-health .zsf-med-date span{font-size:8.5px;color:#8b6072;font-weight:800}.zsf-app-v038 #zsf-view-health .zsf-med-date input{height:28px;min-width:118px;border:1px solid #efd0dc;border-radius:6px;padding:0 5px;font-size:9px;color:#71304f;background:#fff}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-file{display:flex;gap:4px;justify-content:flex-end;align-items:center}.zsf-app-v038 #zsf-view-health .zsf-med-doc-file .zsf-row-action{padding:4px 6px!important;font-size:8.5px!important;min-height:24px!important}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-actions{grid-column:1/-1;display:flex;gap:5px;align-items:center;min-width:0}.zsf-app-v038 #zsf-view-health .zsf-med-doc-actions input[type=file]{min-width:0;max-width:180px;font-size:8.5px}.zsf-app-v038 #zsf-view-health .zsf-med-doc-actions button{min-height:25px!important;padding:4px 7px!important;font-size:8.5px!important;border-radius:6px!important}
.zsf-app-v038 #zsf-view-health .zsf-health-stats{flex:0 0 auto!important;margin-bottom:8px!important}
.zsf-app-v038 #zsf-view-health .zsf-health-table-wrap{
  flex:1 1 auto!important;
  min-height:360px!important;
  height:calc(100vh - 335px)!important;
  max-height:none!important;
  overflow:auto!important;
}
.zsf-app-v038 #zsf-view-health .zsf-health-table{height:auto!important}
.zsf-app-v038 #zsf-view-health .zsf-health-table thead{position:sticky;top:0;z-index:3}
.zsf-app-v038 #zsf-view-health .zsf-health-table .zsf-row-action{padding:4px 6px!important;font-size:8.5px!important;min-height:24px!important;margin-right:3px}

/* lavoratori: allegato apribile + scaricabile senza aggiungere righe */
.zsf-app-v038 #zsf-view-workers .zsf-worker-doc-icons{display:inline-flex;align-items:center;gap:2px;margin-left:3px;vertical-align:middle}
.zsf-app-v038 #zsf-view-workers .zsf-worker-download-icon{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:6px;background:#eaf5fc;color:#0d6f9f;font-size:12px;font-weight:950;text-decoration:none;line-height:1}
.zsf-app-v038 #zsf-view-workers .zsf-worker-download-icon:hover{background:#d7ecf8}

/* maniglia colonne più facile da afferrare */
.zsf-app-v038 #zsf-view-workers thead th[data-col]{position:relative!important}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer{right:-13px!important;width:27px!important;top:0!important;bottom:0!important;cursor:col-resize!important;touch-action:none!important;z-index:30!important}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer:after{left:13px!important;width:2px!important;top:13%!important;bottom:13%!important;background:#b7cfde!important;opacity:.7!important}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer:hover:after,.zsf-app-v038 #zsf-view-workers .zsf-col-resizer.is-dragging:after{width:4px!important;background:#087eb5!important;opacity:1!important}

@media(max-width:1180px){
 .zsf-app-v038 #zsf-view-health .zsf-med-company-panel{grid-template-columns:1fr}.zsf-app-v038 #zsf-view-health .zsf-med-doc-grid{grid-template-columns:1fr 1fr}
 .zsf-app-v038 #zsf-view-health .zsf-health-table-wrap{height:calc(100vh - 420px)!important}
}
@media(max-width:760px){
 .zsf-app-v038 #zsf-view-health.is-active{min-height:calc(100vh - 70px)!important}.zsf-app-v038 #zsf-view-health .zsf-med-doc-grid{grid-template-columns:1fr}.zsf-app-v038 #zsf-view-health .zsf-med-doc-actions{flex-wrap:wrap}.zsf-app-v038 #zsf-view-health .zsf-health-table-wrap{height:calc(100vh - 500px)!important;min-height:320px!important}
}


/* 1.3.24 - Dashboard 4 quadranti bilanciati */
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{padding:10px 12px 14px!important}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-demo-kpis{gap:10px!important;margin-bottom:10px!important}
.zsf-dashboard-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(310px,1fr);gap:12px!important;align-items:stretch!important}
.zsf-dashboard-module{padding:13px 14px!important;border-radius:14px!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.zsf-dashboard-module-head{margin-bottom:9px!important;align-items:flex-start!important}
.zsf-dashboard-module-head>div{min-width:0}.zsf-dashboard-module-head h2{font-size:18px!important;margin:2px 0 2px!important}.zsf-dashboard-module-head p{font-size:10.8px!important;line-height:1.3!important}
.zsf-dashboard-module-footer{margin-top:auto;padding-top:10px;display:flex;justify-content:flex-start;align-items:center;border-top:1px solid rgba(40,83,118,.08)}
.zsf-dashboard-open{position:static!important;margin:0!important;padding:7px 11px!important;border-radius:8px!important;font-size:10.5px!important;box-shadow:none!important}
.zsf-dashboard-workers,.zsf-dashboard-actions,.zsf-dashboard-safety,.zsf-dashboard-med{grid-column:auto!important;min-height:340px!important}
.zsf-dashboard-workers-kpis{gap:6px!important;margin-bottom:8px!important}.zsf-dashboard-workers-kpis>div{padding:6px 8px!important}.zsf-dashboard-workers-table{max-height:190px!important;flex:1 1 auto!important;min-height:150px!important}
.zsf-dashboard-workers-table th,.zsf-dashboard-workers-table td{padding:6px 8px!important}
.zsf-dashboard-action-grid{grid-template-columns:1fr 1fr!important;gap:8px!important;align-content:start!important}
.zsf-dashboard-actions .zsf-action-link{min-height:64px!important;padding:8px!important}
.zsf-dashboard-safety{background:linear-gradient(145deg,#eefaf5,#f9fffc)!important}.zsf-dashboard-safety-kpis{gap:7px!important;margin-bottom:8px!important}.zsf-dashboard-safety-kpis>div{padding:7px 8px!important}
.zsf-dashboard-deadline-list{flex:1 1 auto;min-height:86px;max-height:150px;overflow:auto;padding-right:2px}
.zsf-dashboard-empty-green{min-height:70px;display:grid;place-items:center;padding:10px!important}
.zsf-dashboard-med{background:linear-gradient(145deg,#fff2f7,#fffafd)!important}.zsf-dashboard-med-top{gap:6px!important;margin-bottom:8px!important}.zsf-med-info-row{padding:7px 8px!important}.zsf-dashboard-med-kpis{gap:7px!important}.zsf-dashboard-med-kpis>div{padding:7px 8px!important}
@media(max-width:1180px){.zsf-dashboard-v2{grid-template-columns:1fr 1fr!important;grid-auto-rows:auto!important}.zsf-dashboard-workers,.zsf-dashboard-actions,.zsf-dashboard-safety,.zsf-dashboard-med{min-height:320px!important}}
@media(max-width:900px){.zsf-dashboard-v2{grid-template-columns:1fr!important}.zsf-dashboard-module{min-height:auto!important}.zsf-dashboard-workers-table{max-height:220px!important}.zsf-dashboard-action-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:560px){body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{padding:8px!important}.zsf-dashboard-v2{gap:8px!important}.zsf-dashboard-module{padding:10px!important}.zsf-dashboard-action-grid{grid-template-columns:1fr!important}.zsf-dashboard-module-footer{padding-top:8px}}

/* 1.3.25 — ZEMA MED: vista tutte le imprese, margini e upload moderno */
.zsf-app-v038 #zsf-view-health{padding:14px 16px 18px!important;gap:12px!important}
.zsf-app-v038 #zsf-view-health .zsf-med-product-head{margin:0!important;border-radius:14px!important}
.zsf-app-v038 #zsf-view-health .zsf-med-company-panel{
  display:block!important;
  background:#fff7fb!important;
  border:1px solid #edbfd4!important;
  border-radius:14px!important;
  padding:14px!important;
  margin:0!important;
}
.zsf-app-v038 #zsf-view-health .zsf-med-company-panel>label{
  width:min(360px,100%)!important;
  gap:7px!important;
  margin:0 0 14px!important;
  font-size:11px!important;
}
.zsf-app-v038 #zsf-view-health .zsf-med-company-panel select{
  height:42px!important;
  border-radius:10px!important;
  padding:0 12px!important;
  font-size:12px!important;
  box-shadow:0 3px 10px rgba(131,41,83,.05)!important;
}
.zsf-app-v038 #zsf-view-health .zsf-med-company-docs{gap:12px!important}
.zsf-app-v038 #zsf-view-health .zsf-med-doctor-summary{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 12px!important;
  border:1px solid #efd0dc!important;
  border-radius:10px!important;
  background:#fff!important;
}
.zsf-app-v038 #zsf-view-health .zsf-med-doctor-summary span{font-size:10px!important}
.zsf-app-v038 #zsf-view-health .zsf-med-doctor-summary strong{font-size:13px!important}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-row{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:11px!important;
  min-height:185px!important;
  border-radius:12px!important;
  padding:13px!important;
  box-shadow:0 5px 14px rgba(122,36,73,.035)!important;
}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-copy{gap:4px!important}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-copy strong{font-size:12px!important;white-space:normal!important;line-height:1.25!important}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-copy small{font-size:9.5px!important;white-space:normal!important;line-height:1.25!important}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-state{flex:0 0 auto!important;padding:5px 8px!important;font-size:9px!important}
.zsf-app-v038 #zsf-view-health .zsf-med-date{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important}
.zsf-app-v038 #zsf-view-health .zsf-med-date span{font-size:9.5px!important}
.zsf-app-v038 #zsf-view-health .zsf-med-date input{height:34px!important;min-width:0!important;width:100%!important;border-radius:8px!important;padding:0 8px!important;font-size:10px!important}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-file{min-height:28px!important;justify-content:flex-start!important;gap:6px!important}
.zsf-app-v038 #zsf-view-health .zsf-med-empty-file{font-size:9.5px;color:#9a7585}
.zsf-app-v038 #zsf-view-health .zsf-med-doc-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:9px!important;
  margin-top:auto!important;
}
.zsf-app-v038 #zsf-view-health .zsf-med-file-picker{display:flex;align-items:center;gap:8px;min-width:0;cursor:pointer}
.zsf-app-v038 #zsf-view-health .zsf-med-file-picker input[type=file]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.zsf-app-v038 #zsf-view-health .zsf-med-file-button{
  display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 10px;border-radius:8px;
  background:#f8e7f0;border:1px solid #e9b8d0;color:#8c2856;font-size:9.5px;font-weight:900;white-space:nowrap
}
.zsf-app-v038 #zsf-view-health .zsf-med-file-picker:hover .zsf-med-file-button{background:#f3d8e6;border-color:#dc8fb5}
.zsf-app-v038 #zsf-view-health .zsf-med-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8d7180;font-size:9px}
.zsf-app-v038 #zsf-view-health .zsf-med-action-buttons{display:flex;gap:7px;flex-wrap:wrap}
.zsf-app-v038 #zsf-view-health .zsf-med-action-buttons button{min-height:32px!important;padding:6px 10px!important;font-size:9.5px!important;border-radius:8px!important}
.zsf-app-v038 #zsf-view-health .zsf-med-all-companies-note{
  display:flex;flex-direction:column;gap:5px;padding:14px 16px;border:1px dashed #df9fbd;background:#fff;border-radius:11px;color:#7a2449
}
.zsf-app-v038 #zsf-view-health .zsf-med-all-companies-note strong{font-size:12px}.zsf-app-v038 #zsf-view-health .zsf-med-all-companies-note span{font-size:10px;line-height:1.35;color:#95667b}
.zsf-app-v038 #zsf-view-health .zsf-health-stats{margin:0!important;gap:10px!important}
.zsf-app-v038 #zsf-view-health .zsf-health-table-wrap{margin:0!important;border-radius:12px!important}

@media(max-width:1180px){
  .zsf-app-v038 #zsf-view-health .zsf-med-doc-grid{grid-template-columns:1fr!important}
  .zsf-app-v038 #zsf-view-health .zsf-med-doc-row{min-height:auto!important}
}
@media(max-width:760px){
  .zsf-app-v038 #zsf-view-health{padding:10px!important}
  .zsf-app-v038 #zsf-view-health .zsf-med-company-panel{padding:10px!important}
  .zsf-app-v038 #zsf-view-health .zsf-med-file-picker{align-items:flex-start;flex-direction:column}
}


/* 1.3.26 — Dashboard: margini definitivi e quadranti senza sovrapposizioni */
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{
  box-sizing:border-box!important;
  padding:14px 16px 20px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-demo-kpis{
  gap:12px!important;
  margin:0 0 16px!important;
}
.zsf-dashboard-v2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:360px!important;
  gap:16px!important;
  align-items:stretch!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:0 2px 2px!important;
}
.zsf-dashboard-module{
  position:relative!important;
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  padding:17px 18px 16px!important;
  border-radius:16px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.zsf-dashboard-module-head{
  flex:0 0 auto!important;
  margin:0 0 13px!important;
  padding:0 2px!important;
  gap:14px!important;
}
.zsf-dashboard-module-head h2{
  margin:4px 0 4px!important;
  line-height:1.2!important;
}
.zsf-dashboard-module-head p{
  margin:0!important;
  line-height:1.4!important;
}
.zsf-dashboard-workers-kpis,
.zsf-dashboard-safety-kpis,
.zsf-dashboard-med-top,
.zsf-dashboard-med-kpis{
  flex:0 0 auto!important;
  margin-left:0!important;
  margin-right:0!important;
}
.zsf-dashboard-workers-kpis{margin-bottom:12px!important}
.zsf-dashboard-safety-kpis{margin-bottom:12px!important}
.zsf-dashboard-med-top{margin-bottom:10px!important}
.zsf-dashboard-workers-table{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  border-radius:11px!important;
  overflow:auto!important;
}
.zsf-dashboard-action-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  align-content:start!important;
  gap:10px!important;
  padding:0!important;
}
.zsf-dashboard-actions .zsf-action-link{
  box-sizing:border-box!important;
  min-height:76px!important;
  padding:11px 12px!important;
}
.zsf-dashboard-deadline-list{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0 2px!important;
  overflow:auto!important;
}
.zsf-dashboard-empty-green{
  min-height:0!important;
  height:auto!important;
  padding:14px!important;
  margin:0!important;
}
.zsf-dashboard-med-kpis{
  flex:1 1 auto!important;
  align-content:start!important;
}
.zsf-dashboard-module-footer{
  flex:0 0 auto!important;
  margin:13px 0 0!important;
  padding:11px 2px 2px!important;
  border-top:1px solid rgba(40,83,118,.10)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:40px!important;
  box-sizing:border-box!important;
}
.zsf-dashboard-safety .zsf-dashboard-module-footer{border-top-color:rgba(8,114,85,.14)!important}
.zsf-dashboard-med .zsf-dashboard-module-footer{border-top-color:rgba(194,24,91,.14)!important}
.zsf-dashboard-module-footer .zsf-dashboard-open{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:31px!important;
  margin:0!important;
  padding:7px 12px!important;
  border-radius:9px!important;
  line-height:1!important;
}
.zsf-dashboard-workers,
.zsf-dashboard-actions,
.zsf-dashboard-safety,
.zsf-dashboard-med{
  grid-column:auto!important;
  min-height:0!important;
}
@media(max-width:1180px){
  .zsf-dashboard-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:350px!important}
}
@media(max-width:900px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{padding:12px!important}
  .zsf-dashboard-v2{grid-template-columns:1fr!important;grid-auto-rows:auto!important;gap:12px!important}
  .zsf-dashboard-module{height:auto!important;min-height:320px!important;padding:15px!important}
}
@media(max-width:560px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{padding:9px!important}
  .zsf-dashboard-module{min-height:auto!important;padding:12px!important;border-radius:13px!important}
  .zsf-dashboard-module-head{margin-bottom:10px!important}
  .zsf-dashboard-module-footer{margin-top:10px!important;padding-top:9px!important}
}

/* 1.3.28.1 - unica variazione: ridimensionamento colonne più semplice */
.zsf-app-v038 #zsf-view-workers thead th[data-col]{position:relative!important}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer{position:absolute!important;right:-9px!important;top:0!important;bottom:0!important;width:18px!important;cursor:col-resize!important;touch-action:none!important;z-index:60!important}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer:after{content:""!important;position:absolute!important;top:18%!important;bottom:18%!important;left:8px!important;width:2px!important;border-radius:3px!important;background:#a9c8db!important;opacity:.8!important}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer:hover:after,.zsf-app-v038 #zsf-view-workers .zsf-col-resizer.is-dragging:after{width:4px!important;background:#087eb5!important;opacity:1!important}
body.zsf-is-resizing-column,body.zsf-is-resizing-column *{cursor:col-resize!important;user-select:none!important}

/* 1.3.28.2 — intestazione campi lavoratori sempre visibile durante lo scroll */
.zsf-app-v038 #zsf-view-workers .zsf-workers-table thead th{
  position:sticky!important;
  top:0!important;
  z-index:25!important;
  background:#eaf4fb!important;
  box-shadow:0 1px 0 #cfe0eb,0 3px 8px rgba(17,63,95,.06)!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table thead th.zsf-check-col{z-index:26!important}


/* 1.3.28.3 - dashboard margini corretti, nessuna sovrapposizione */
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{
  padding:18px 20px 24px!important;
  box-sizing:border-box!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-demo-kpis{
  gap:14px!important;
  margin:0 0 18px!important;
}
.zsf-dashboard-v2{
  gap:18px!important;
  padding:0!important;
  align-items:stretch!important;
}
.zsf-dashboard-module{
  padding:18px 20px 18px!important;
  overflow:hidden!important;
}
.zsf-dashboard-module-head{
  margin:0 0 14px!important;
  padding:0!important;
}
.zsf-dashboard-module-head h2{margin:3px 0 5px!important}
.zsf-dashboard-module-head p{margin:0!important}
.zsf-dashboard-workers-kpis,
.zsf-dashboard-safety-kpis,
.zsf-dashboard-med-top,
.zsf-dashboard-med-kpis{
  margin-left:0!important;
  margin-right:0!important;
}
.zsf-dashboard-workers-kpis,
.zsf-dashboard-safety-kpis,
.zsf-dashboard-med-top{margin-bottom:14px!important}
.zsf-dashboard-workers-table,
.zsf-dashboard-deadline-list,
.zsf-dashboard-action-grid,
.zsf-dashboard-med-kpis{margin-left:0!important;margin-right:0!important}
.zsf-dashboard-action-grid{gap:12px!important}
.zsf-dashboard-actions .zsf-action-link{padding:12px 14px!important}
.zsf-dashboard-module-footer{
  margin:14px 0 0!important;
  padding:12px 0 0!important;
  min-height:44px!important;
}
.zsf-dashboard-module-footer .zsf-dashboard-open{
  margin:0!important;
  padding:8px 13px!important;
}
@media(max-width:900px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{padding:14px!important}
  .zsf-dashboard-v2{gap:14px!important}
  .zsf-dashboard-module{padding:16px!important}
}
@media(max-width:560px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{padding:10px!important}
  .zsf-dashboard-v2{gap:10px!important}
  .zsf-dashboard-module{padding:13px!important}
}


/* 1.3.28.4 — correzione definitiva spaziature dashboard */
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{
  padding:22px 24px 28px!important;
  overflow:visible!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-demo-kpis{
  margin:0 0 20px!important;
  gap:14px!important;
  padding:0!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-v2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:minmax(360px,auto)!important;
  gap:20px!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-module{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:360px!important;
  height:auto!important;
  padding:20px 22px 22px!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-module > *{
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-module-head{
  flex:0 0 auto!important;
  margin:0 0 15px!important;
  padding:0 2px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-module-head h2{
  margin:5px 0 6px!important;
  padding:0!important;
  line-height:1.18!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-module-head p{
  margin:0!important;
  padding:0!important;
  line-height:1.45!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-eyebrow,
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-product-badge{
  margin:0!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-workers-kpis,
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-safety-kpis,
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-med-top,
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-med-kpis{
  flex:0 0 auto!important;
  margin:0 0 14px!important;
  padding:0!important;
  gap:10px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-workers-kpis > div,
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-safety-kpis > div,
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-med-kpis > div,
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-med-info-row{
  padding:10px 12px!important;
  box-sizing:border-box!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-workers-table{
  flex:1 1 auto!important;
  min-height:180px!important;
  max-height:230px!important;
  margin:0 0 4px!important;
  border-radius:11px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-workers-table th,
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-workers-table td{
  padding:9px 12px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-action-grid{
  flex:1 1 auto!important;
  align-content:start!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-actions .zsf-action-link{
  margin:0!important;
  padding:12px 14px!important;
  min-height:72px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-deadline-list{
  flex:1 1 auto!important;
  min-height:90px!important;
  max-height:150px!important;
  margin:0!important;
  padding:2px 0!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-empty-green{
  margin:0!important;
  padding:16px!important;
  min-height:76px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-module-footer{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin:16px 0 0!important;
  padding:13px 2px 0!important;
  min-height:48px!important;
  border-top:1px solid rgba(30,77,111,.09)!important;
  box-sizing:border-box!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-module-footer .zsf-dashboard-open{
  margin:0!important;
  padding:8px 13px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-safety .zsf-dashboard-module-footer{border-top-color:rgba(8,114,85,.14)!important}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-med .zsf-dashboard-module-footer{border-top-color:rgba(194,24,91,.14)!important}
@media(max-width:1180px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-v2{grid-template-columns:1fr!important;grid-auto-rows:auto!important;gap:16px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-module{min-height:320px!important}
}
@media(max-width:700px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{padding:12px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-v2{gap:12px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-module{padding:15px!important;min-height:auto!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-module-head{padding:0!important;margin-bottom:12px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-dashboard-module-footer{padding-left:0!important;padding-right:0!important}
}


/* 1.3.28.5 - Informativa, Formazione evoluta, Safety configurabile */
.zsf-workers-table th[data-col="contract_period"],
.zsf-workers-table td[data-col="contract_period"]{min-width:112px!important;max-width:150px}
.zsf-workers-table th[data-col="information"],
.zsf-workers-table td[data-col="information"]{min-width:92px!important;max-width:125px}
.zsf-contract-period-cell{gap:3px!important}.zsf-contract-period-cell small{white-space:nowrap;font-size:10px!important}
.zsf-information-cell{justify-content:center}.zsf-information-cell .zsf-worker-status-line{justify-content:flex-start;gap:5px}

.zsf-training-report{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 12px}
.zsf-training-report article{border:1px solid #d9e5ee;border-radius:12px;background:#fff;padding:14px 16px;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}
.zsf-training-report article span{font-size:12px;font-weight:800;color:#34536d}.zsf-training-report article strong{font-size:24px;color:#0a4d80;grid-row:1/3;grid-column:2}.zsf-training-report article small{font-size:11px;color:#71869a}
.zsf-training-recommendations{display:flex;align-items:flex-start;gap:14px;border:1px solid #ffd98a;background:#fff9e9;border-radius:12px;padding:12px 14px;margin:0 0 12px}
.zsf-training-recommendations-title{font-weight:900;color:#8a5a00;white-space:nowrap}.zsf-training-recommendations>div{display:flex;flex-wrap:wrap;gap:8px}.zsf-training-recommendations>div span{background:#fff;border:1px solid #f5d589;border-radius:999px;padding:5px 9px;font-size:11px;color:#684b12}
.zsf-training-overview-table td,.zsf-training-overview-table th{vertical-align:middle}.zsf-training-row-actions{display:flex;gap:6px;flex-wrap:wrap}

.zsf-safety-tabs [hidden],.zsf-safety-pane[hidden]{display:none!important}
.zsf-safety-table td small{display:block;margin-top:3px}

@media(max-width:900px){.zsf-training-report{grid-template-columns:1fr}.zsf-training-recommendations{flex-direction:column;gap:8px}}


/* 1.3.28.6 — Formazione gialla coerente + Attestati Safety ripristinati */
.zsf-app-v038 #zsf-view-training{
  background:linear-gradient(180deg,#fffdf5 0%,#fff9e8 100%)!important;
  border:1px solid #f3d77b!important;
  border-radius:16px!important;
  padding:14px 16px 18px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-toolbar{
  background:linear-gradient(135deg,#a96f00 0%,#d99a00 52%,#f1b51c 100%)!important;
  color:#fff!important;
  border:0!important;
  border-radius:14px!important;
  padding:14px 16px!important;
  margin:0 0 12px!important;
  box-shadow:0 8px 20px rgba(169,111,0,.12)!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-toolbar .zsf-section-kicker,
.zsf-app-v038 #zsf-view-training .zsf-training-toolbar h2,
.zsf-app-v038 #zsf-view-training .zsf-training-toolbar p{color:#fff!important}
.zsf-app-v038 #zsf-view-training .zsf-training-toolbar .zsf-primary{
  background:#fff!important;color:#8a5a00!important;border-color:#fff!important
}
.zsf-app-v038 #zsf-view-training .zsf-training-report article,
.zsf-app-v038 #zsf-view-training .zsf-training-stats article{
  border-color:#efd894!important;background:#fffdf7!important
}
.zsf-app-v038 #zsf-view-training .zsf-training-report article span,
.zsf-app-v038 #zsf-view-training .zsf-training-stats article span{color:#775819!important}
.zsf-app-v038 #zsf-view-training .zsf-training-report article strong,
.zsf-app-v038 #zsf-view-training .zsf-training-stats article strong{color:#a96f00!important}
.zsf-app-v038 #zsf-view-training .zsf-training-controls{
  border:1px solid #efd894!important;background:#fffdf7!important;border-radius:12px!important;padding:10px!important;margin:0 0 12px!important
}
.zsf-app-v038 #zsf-view-training .zsf-training-controls input,
.zsf-app-v038 #zsf-view-training .zsf-training-controls select{border-color:#e7cb77!important;background:#fff!important}
.zsf-app-v038 #zsf-view-training .zsf-table-wrap{
  border-color:#ecd486!important;background:#fff!important;border-radius:12px!important
}
.zsf-app-v038 #zsf-view-training .zsf-table thead th{
  background:#fff0b8!important;color:#704d00!important;border-color:#ecd486!important
}
.zsf-app-v038 #zsf-view-training .zsf-table tbody tr:nth-child(even){background:#fffaf0!important}
.zsf-app-v038 #zsf-view-training .zsf-table td{border-color:#f0dfaa!important}
.zsf-app-v038 #zsf-view-training .zsf-table tbody tr:hover{background:#fff4ce!important}

/* Attestati sicurezza: tab e tabella più leggibili */
.zsf-app-v038 #zsf-view-safety [data-safety-tab="attestati"]{display:inline-flex}
.zsf-app-v038 #zsf-view-safety [data-safety-pane="attestati"] .zsf-safety-card-head{margin-bottom:12px!important}
.zsf-app-v038 #zsf-view-safety [data-safety-pane="attestati"] .zsf-safety-table th,
.zsf-app-v038 #zsf-view-safety [data-safety-pane="attestati"] .zsf-safety-table td{padding:9px 10px!important;vertical-align:middle!important}
.zsf-app-v038 #zsf-view-safety [data-safety-pane="attestati"] .zsf-safety-persons{font-weight:800;color:#135d47}
@media(max-width:700px){.zsf-app-v038 #zsf-view-training{padding:10px!important}.zsf-app-v038 #zsf-view-training .zsf-training-toolbar{padding:12px!important}}

/* =========================================================
   1.3.28.7 - FORMAZIONE COMPATTA / FILTRI / CAMPI
   ========================================================= */
.zsf-app-v038 #zsf-view-training{
  padding:12px!important;
  background:#fffaf0!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-toolbar{
  min-height:78px!important;
  padding:12px 14px!important;
  margin:0 0 9px!important;
  border-radius:12px!important;
  gap:12px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-toolbar h2{font-size:21px!important;margin:2px 0 3px!important;line-height:1.05!important}
.zsf-app-v038 #zsf-view-training .zsf-training-toolbar p{font-size:12px!important;margin:0!important;line-height:1.3!important}
.zsf-app-v038 #zsf-view-training .zsf-training-toolbar .zsf-primary{min-height:36px!important;padding:7px 13px!important;font-size:12px!important}

.zsf-app-v038 #zsf-view-training .zsf-training-report{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;margin:0 0 7px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-report article{
  min-height:54px!important;padding:7px 10px!important;border-radius:9px!important;
  grid-template-columns:1fr auto!important;gap:1px 8px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-report article span{font-size:10px!important;line-height:1.15!important}
.zsf-app-v038 #zsf-view-training .zsf-training-report article strong{font-size:19px!important;line-height:1!important}
.zsf-app-v038 #zsf-view-training .zsf-training-report article small{font-size:9px!important;line-height:1.2!important}

.zsf-app-v038 #zsf-view-training .zsf-training-recommendations{
  min-height:39px!important;padding:7px 10px!important;margin:0 0 7px!important;border-radius:9px!important;
  align-items:center!important;gap:10px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-recommendations-title{font-size:12px!important}
.zsf-app-v038 #zsf-view-training .zsf-training-recommendations>div span{font-size:10px!important;padding:3px 7px!important}

.zsf-app-v038 #zsf-view-training .zsf-training-stats{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;margin:0 0 8px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-stats article{
  min-height:52px!important;padding:8px 10px!important;border-radius:9px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-stats span{font-size:10px!important;margin:0 0 3px!important}
.zsf-app-v038 #zsf-view-training .zsf-training-stats strong{font-size:20px!important;line-height:1!important}

.zsf-app-v038 #zsf-view-training .zsf-training-controls-compact{
  display:grid!important;
  grid-template-columns:minmax(230px,1fr) 88px 180px 165px 98px!important;
  gap:7px!important;
  align-items:center!important;
  padding:7px!important;
  margin:0 0 7px!important;
  border-radius:10px!important;
  border:1px solid #ead08b!important;
  background:#fffdf7!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-controls-compact .zsf-search,
.zsf-app-v038 #zsf-view-training .zsf-training-controls-compact select,
.zsf-app-v038 #zsf-view-training .zsf-training-controls-compact button{
  min-height:34px!important;height:34px!important;padding:0 10px!important;border-radius:8px!important;font-size:11px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-columns-toggle{font-weight:800!important;white-space:nowrap!important}
.zsf-app-v038 #zsf-view-training .zsf-training-reset{white-space:nowrap!important}

.zsf-app-v038 #zsf-view-training .zsf-training-columns-panel{
  margin:0 0 7px!important;padding:10px!important;border-radius:10px!important;
  border:1px solid #e8cc80!important;background:#fffdf7!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-columns-panel .zsf-columns-panel-head{margin-bottom:7px!important}
.zsf-app-v038 #zsf-view-training .zsf-training-columns-panel .zsf-columns-panel-head strong{font-size:12px!important}
.zsf-app-v038 #zsf-view-training .zsf-training-columns-panel .zsf-columns-panel-head span{font-size:10px!important}
.zsf-app-v038 #zsf-view-training .zsf-training-columns-panel .zsf-columns-options{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;
}
.zsf-app-v038 #zsf-view-training .zsf-training-columns-panel .zsf-column-option{min-height:34px!important;padding:5px 7px!important;font-size:10px!important}
.zsf-app-v038 #zsf-view-training .zsf-training-columns-panel .zsf-column-order-controls button{width:25px!important;height:25px!important;min-height:25px!important;padding:0!important}

.zsf-app-v038 #zsf-view-training .zsf-training-table-wrap{
  border:1px solid #e5c972!important;border-radius:10px!important;
  max-height:calc(100vh - 355px)!important;
  min-height:220px!important;
  overflow:auto!important;
  background:#fff!important;
}
.zsf-app-v038 #zsf-view-training #zsf-training-table{
  width:max-content!important;min-width:100%!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important;
}
.zsf-app-v038 #zsf-view-training #zsf-training-table thead th{
  position:sticky!important;top:0!important;z-index:7!important;
  height:34px!important;min-height:34px!important;padding:6px 9px!important;
  background:#ffefb3!important;color:#684c0b!important;
  font-size:10px!important;line-height:1.15!important;white-space:nowrap!important;
  border-bottom:1px solid #dfbf58!important;
}
.zsf-app-v038 #zsf-view-training #zsf-training-table tbody td{
  height:42px!important;min-height:42px!important;padding:5px 9px!important;
  font-size:11px!important;line-height:1.15!important;vertical-align:middle!important;
  border-bottom:1px solid #f0dfad!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.zsf-app-v038 #zsf-view-training #zsf-training-table tbody td strong{font-size:11px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important}
.zsf-app-v038 #zsf-view-training #zsf-training-table tbody td small{font-size:8px!important;line-height:1.05!important;margin-top:1px!important;display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.zsf-app-v038 #zsf-view-training #zsf-training-table .zsf-status{font-size:9px!important;padding:4px 7px!important;white-space:nowrap!important}
.zsf-app-v038 #zsf-view-training .zsf-training-row-actions{gap:4px!important;flex-wrap:nowrap!important}
.zsf-app-v038 #zsf-view-training .zsf-training-row-actions .zsf-row-action{min-height:28px!important;padding:4px 7px!important;font-size:9px!important;white-space:nowrap!important}
.zsf-app-v038 #zsf-view-training .zsf-training-attachment{display:flex!important;gap:4px!important;align-items:center!important}
.zsf-app-v038 #zsf-view-training .zsf-icon-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:25px!important;height:25px!important;border:1px solid #e1c36b!important;border-radius:7px!important;background:#fff!important;color:#8b6100!important;text-decoration:none!important;font-size:12px!important}

/* maniglia più facile da usare anche nella tabella formazione */
.zsf-app-v038 #zsf-training-table thead th[data-col]{position:sticky!important;padding-right:15px!important}
.zsf-app-v038 #zsf-training-table .zsf-col-resizer{position:absolute!important;right:-4px!important;top:0!important;width:11px!important;height:100%!important;cursor:col-resize!important;z-index:12!important;touch-action:none!important}
.zsf-app-v038 #zsf-training-table .zsf-col-resizer::after{content:"";position:absolute;left:5px;top:20%;width:1px;height:60%;background:#d6b34d;opacity:.65}
.zsf-app-v038 #zsf-training-table .zsf-col-resizer:hover::after{width:2px;background:#a87300;opacity:1}
.zsf-app-v038 #zsf-training-table .zsf-col-hidden{display:none!important}

@media(max-width:1100px){
  .zsf-app-v038 #zsf-view-training .zsf-training-controls-compact{grid-template-columns:minmax(190px,1fr) 82px 145px 145px 90px!important}
  .zsf-app-v038 #zsf-view-training .zsf-training-columns-panel .zsf-columns-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .zsf-app-v038 #zsf-view-training{padding:8px!important}
  .zsf-app-v038 #zsf-view-training .zsf-training-report{grid-template-columns:1fr!important}
  .zsf-app-v038 #zsf-view-training .zsf-training-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .zsf-app-v038 #zsf-view-training .zsf-training-controls-compact{display:flex!important;overflow-x:auto!important;gap:6px!important}
  .zsf-app-v038 #zsf-view-training .zsf-training-controls-compact .zsf-search{min-width:210px!important}
  .zsf-app-v038 #zsf-view-training .zsf-training-controls-compact select{min-width:145px!important}
  .zsf-app-v038 #zsf-view-training .zsf-training-table-wrap{max-height:calc(100vh - 320px)!important}
}


/* =========================================================
   1.3.28.9 - Safety text flow, request types, notifications
   ========================================================= */
.zsf-app-v038 #zsf-view-safety .zsf-safety-card,
.zsf-app-v038 #zsf-view-safety .zsf-org-node,
.zsf-app-v038 #zsf-view-safety .zsf-org-root,
.zsf-app-v038 #zsf-view-safety .zsf-safety-line-main,
.zsf-app-v038 #zsf-view-safety .zsf-safety-table td,
.zsf-app-v038 #zsf-view-safety .zsf-safety-card-head,
.zsf-app-v038 #zsf-view-safety .zsf-safety-role-field{min-width:0!important;height:auto!important;overflow:visible!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-card h3,
.zsf-app-v038 #zsf-view-safety .zsf-safety-card p,
.zsf-app-v038 #zsf-view-safety .zsf-org-node strong,
.zsf-app-v038 #zsf-view-safety .zsf-org-node span,
.zsf-app-v038 #zsf-view-safety .zsf-org-root strong,
.zsf-app-v038 #zsf-view-safety .zsf-org-root span,
.zsf-app-v038 #zsf-view-safety .zsf-safety-table td,
.zsf-app-v038 #zsf-view-safety .zsf-safety-table td strong,
.zsf-app-v038 #zsf-view-safety .zsf-safety-table td small,
.zsf-app-v038 #zsf-view-safety .zsf-safety-role-field small{white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;text-overflow:clip!important;line-height:1.35!important}
.zsf-app-v038 #zsf-view-safety .zsf-org-node{min-height:unset!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-table td{vertical-align:top!important}
.zsf-app-v038 #zsf-view-safety .zsf-safety-table-actions{align-items:flex-start!important;flex-wrap:wrap!important}

.zsf-app-v038 .zsf-worker-training-meta{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:wrap!important}
.zsf-app-v038 .zsf-training-delete{border-color:#efb6b6!important;color:#b42318!important;background:#fff7f7!important}
.zsf-app-v038 .zsf-training-delete:hover{background:#feecec!important;border-color:#dc6b6b!important}

.zsf-app-v038 .zsf-request-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:4px 0 16px}
.zsf-app-v038 .zsf-request-type-grid label{position:relative;cursor:pointer;margin:0!important}
.zsf-app-v038 .zsf-request-type-grid input{position:absolute;opacity:0;pointer-events:none}
.zsf-app-v038 .zsf-request-type-grid span{display:flex;flex-direction:column;gap:3px;min-height:72px;padding:12px;border:1px solid #d5e2ec;border-radius:12px;background:#fff;transition:.16s ease}
.zsf-app-v038 .zsf-request-type-grid b{font-size:13px;color:#173f63}
.zsf-app-v038 .zsf-request-type-grid small{font-size:10.5px;color:#71879a;line-height:1.3}
.zsf-app-v038 .zsf-request-type-grid input:checked+span{border-color:#2f78ad;background:#eef7ff;box-shadow:0 0 0 2px rgba(47,120,173,.10)}
.zsf-app-v038 .zsf-request-type-badge{display:inline-flex;align-items:center;width:max-content;padding:3px 7px;margin:0 0 4px;border-radius:999px;background:#edf4fa;color:#275c84;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.zsf-app-v038 .zsf-request-object{display:block;white-space:normal!important;overflow-wrap:anywhere!important}

.zsf-app-v038 .zsf-side-nav button[data-view="notifications"]{--nav-accent:#d92d20!important;--nav-soft:#fff0ef!important;color:#b42318!important}
.zsf-app-v038 .zsf-side-nav button[data-view="notifications"] .zsf-nav-icon{color:#d92d20!important}
.zsf-app-v038 #zsf-notification-badge{background:#d92d20!important;color:#fff!important}
.zsf-app-v038 #zsf-view-notifications .zsf-toolbar{border-color:#f0b8b3!important;background:linear-gradient(135deg,#fff7f6,#fff)!important}
.zsf-app-v038 #zsf-view-notifications .zsf-section-kicker,
.zsf-app-v038 #zsf-view-notifications .zsf-toolbar h2{color:#b42318!important}
.zsf-app-v038 #zsf-view-notifications .zsf-notification-summary strong{color:#b42318!important}
.zsf-app-v038 #zsf-view-notifications .zsf-notification{border-left:4px solid #e5483d!important}

@media(max-width:900px){.zsf-app-v038 .zsf-request-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.zsf-app-v038 .zsf-request-type-grid{grid-template-columns:1fr}}

/* 1.3.29.0 — modulo Presenze e turni */
.zsf-app-v038 .zsf-nav-notifications:not(.is-disabled){color:#b42318!important;background:linear-gradient(90deg,#fff1f0,#fff)!important;border-color:#fecaca!important}.zsf-app-v038 .zsf-nav-notifications:not(.is-disabled) .zsf-nav-icon{color:#dc2626!important}.zsf-app-v038 .zsf-nav-notifications:not(.is-disabled).is-active{background:#dc2626!important;color:#fff!important}.zsf-app-v038 .zsf-att-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 16px;padding:20px 22px;border:1px solid #d8e6f2;border-radius:18px;background:linear-gradient(135deg,#fff,#f5fbff)}.zsf-app-v038 .zsf-att-head h2{margin:3px 0 4px!important;color:#103f68;font-size:25px!important}.zsf-app-v038 .zsf-att-head p{margin:0;color:#647b93}.zsf-app-v038 .zsf-att-active{padding:8px 12px;border-radius:999px;background:#dcfce7;color:#087647;font-weight:850;font-size:12px;white-space:nowrap}.zsf-app-v038 .zsf-att-tabs{display:flex;gap:7px;overflow-x:auto;padding:4px 2px 13px;margin-bottom:13px}.zsf-app-v038 .zsf-att-tabs button{flex:0 0 auto;border:1px solid #d6e3ee;background:#fff;color:#315a78;border-radius:10px;padding:10px 13px;font-weight:800;cursor:pointer}.zsf-app-v038 .zsf-att-tabs button.is-active{background:#1767a4;border-color:#1767a4;color:#fff;box-shadow:0 6px 16px rgba(23,103,164,.18)}.zsf-app-v038 .zsf-att-pane{display:none}.zsf-app-v038 .zsf-att-pane.is-active{display:block}.zsf-app-v038 .zsf-att-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.zsf-app-v038 .zsf-att-kpi{border:1px solid #d8e6f2;border-radius:15px;background:#fff;padding:17px;box-shadow:0 7px 18px rgba(16,63,104,.05);cursor:pointer}.zsf-app-v038 .zsf-att-kpi small{display:block;color:#71879b;font-weight:750}.zsf-app-v038 .zsf-att-kpi strong{display:block;margin-top:6px;color:#123f65;font-size:27px}.zsf-app-v038 .zsf-att-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.zsf-app-v038 .zsf-att-card{border:1px solid #d8e6f2;border-radius:16px;background:#fff;padding:18px;box-shadow:0 8px 20px rgba(16,63,104,.05);margin-bottom:14px}.zsf-app-v038 .zsf-att-card>h3,.zsf-app-v038 .zsf-att-card-title h3{margin:0;color:#153f61;font-size:18px!important}.zsf-app-v038 .zsf-att-card-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.zsf-app-v038 .zsf-att-card-title p{margin:4px 0 0;color:#71879b}.zsf-app-v038 .zsf-att-filters{display:flex;gap:10px;margin-bottom:12px}.zsf-app-v038 .zsf-att-filters select{min-height:38px;border:1px solid #cbdbe8;border-radius:9px;padding:0 10px;background:#fff}.zsf-app-v038 .zsf-att-list{display:grid;gap:8px;margin-top:12px}.zsf-app-v038 .zsf-att-list-row{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;background:#f7fafc;border-radius:10px}.zsf-app-v038 .zsf-att-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:850;background:#eef3f7;color:#526b7f}.zsf-app-v038 .zsf-att-badge.in,.zsf-app-v038 .zsf-att-badge.approved{background:#dcfce7;color:#087647}.zsf-app-v038 .zsf-att-badge.pending{background:#fff7dd;color:#9a6700}.zsf-app-v038 .zsf-att-badge.rejected,.zsf-app-v038 .zsf-att-badge.cancelled,.zsf-app-v038 .zsf-att-badge.anomaly{background:#fee2e2;color:#b42318}.zsf-app-v038 .zsf-att-badge.warning{background:#ffedd5;color:#a24b09}.zsf-app-v038 .zsf-att-planning-wrap{overflow:auto;border:1px solid #dbe7ef;border-radius:12px}.zsf-app-v038 .zsf-att-plan{border-collapse:separate;border-spacing:0;min-width:1100px;width:100%;font-size:11px}.zsf-app-v038 .zsf-att-plan th,.zsf-app-v038 .zsf-att-plan td{border-right:1px solid #e7eef4;border-bottom:1px solid #e7eef4;padding:6px;text-align:center;min-width:42px}.zsf-app-v038 .zsf-att-plan th:first-child,.zsf-app-v038 .zsf-att-plan td:first-child{position:sticky;left:0;z-index:2;background:#fff;min-width:180px;text-align:left;font-weight:800}.zsf-app-v038 .zsf-att-shift-chip{display:inline-grid;place-items:center;min-width:32px;padding:4px 6px;border:1px solid #9ed6e9;border-radius:6px;background:#eefbff;color:#174b67;font-weight:900}.zsf-app-v038 .zsf-att-legend{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.zsf-app-v038 .zsf-att-legend span{display:inline-flex;gap:6px;align-items:center;padding:6px 9px;border-radius:8px;background:#f4f8fb;color:#526b7f;font-size:11px}.zsf-att-dialog{border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.22);width:min(560px,calc(100vw - 28px))}.zsf-att-dialog::backdrop{background:rgba(15,39,71,.42)}.zsf-att-dialog form{padding:20px}.zsf-att-dialog h3{margin:0 0 16px;color:#153f61}.zsf-att-dialog .zsf-att-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.zsf-att-dialog label{display:grid;gap:5px;color:#49677f;font-size:12px;font-weight:800}.zsf-att-dialog input,.zsf-att-dialog select,.zsf-att-dialog textarea{width:100%;min-height:40px;border:1px solid #cbdbe8;border-radius:9px;padding:8px 10px;background:#fff}.zsf-att-dialog .wide{grid-column:1/-1}.zsf-att-dialog .actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.zsf-att-dialog button{min-height:39px;padding:8px 13px;border-radius:9px;border:1px solid #cbdbe8;background:#fff;font-weight:800;cursor:pointer}.zsf-att-dialog button.primary{background:#1767a4;border-color:#1767a4;color:#fff}@media(max-width:1050px){.zsf-app-v038 .zsf-att-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.zsf-app-v038 .zsf-att-head{align-items:flex-start;flex-direction:column}.zsf-app-v038 .zsf-att-kpis{grid-template-columns:1fr 1fr}.zsf-app-v038 .zsf-att-two{grid-template-columns:1fr}.zsf-att-dialog .zsf-att-form-grid{grid-template-columns:1fr}.zsf-att-dialog .wide{grid-column:auto}}
.zsf-app-v038 .zsf-att-row-actions{display:inline-flex;gap:5px;margin-left:8px;vertical-align:middle}.zsf-app-v038 .zsf-att-row-actions button{width:28px;height:28px;border-radius:50%;border:1px solid #cbdbe8;background:#fff;cursor:pointer;font-weight:900}.zsf-app-v038 .zsf-att-row-actions button:first-child{color:#087647;background:#ecfdf3}.zsf-app-v038 .zsf-att-row-actions button:last-child{color:#b42318;background:#fff1f0}


/* 1.3.29.1 — ZEMA CONTROL: aree contrattuali selezionabili */
.zsf-bo-services-contract{grid-column:1/-1;margin-top:4px;padding:18px;border:1px solid #d7e4ef;border-radius:15px;background:#f8fbfe}
.zsf-bo-services-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:14px}
.zsf-bo-services-heading h3{margin:3px 0 0;color:#153e63;font-size:18px}
.zsf-bo-services-heading p{max-width:520px;margin:0;color:#647b91;font-size:12px;line-height:1.5;font-weight:600}
.zsf-bo-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.zsf-bo-service-toggle{position:relative!important;display:grid!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:12px!important;min-height:72px!important;padding:12px 14px!important;border:1px solid #d5e2ed!important;border-radius:12px!important;background:#fff!important;cursor:pointer!important;color:#173e63!important}
.zsf-bo-service-toggle:hover{border-color:#9dbbd2!important;box-shadow:0 5px 16px rgba(24,70,107,.07)}
.zsf-bo-service-toggle input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
.zsf-bo-toggle-ui{position:relative;display:inline-block;width:42px;height:24px;border-radius:999px;background:#c8d5df;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);transition:.18s ease}
.zsf-bo-toggle-ui:after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.22);transition:.18s ease}
.zsf-bo-service-toggle input:checked + .zsf-bo-toggle-ui{background:#1676c4}
.zsf-bo-service-toggle input:checked + .zsf-bo-toggle-ui:after{transform:translateX(18px)}
.zsf-bo-service-toggle>span:last-child{display:flex;flex-direction:column;gap:3px}
.zsf-bo-service-toggle strong{font-size:13px;color:#173e63}
.zsf-bo-service-toggle small{font-size:11px;color:#72889b;font-weight:600;line-height:1.35}
.zsf-bo-service-toggle.is-attendance{border-color:#b9d7ee!important;background:#f4faff!important}
.zsf-bo-service-toggle.is-attendance strong{color:#0e68ad}
@media(max-width:1050px){.zsf-bo-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zsf-bo-services-heading{flex-direction:column;gap:8px}}
@media(max-width:680px){.zsf-bo-service-grid{grid-template-columns:1fr}.zsf-bo-services-contract{padding:14px}}

/* 1.3.29.2 — Presenze e turni: layout compatto coerente con Lavoratori */
.zsf-app-v038 #zsf-view-attendance{--att-gap:8px}
.zsf-app-v038 #zsf-view-attendance .zsf-att-head{
  margin:0 0 8px!important;padding:9px 12px!important;border-radius:11px!important;gap:12px!important;min-height:54px!important
}
.zsf-app-v038 #zsf-view-attendance .zsf-att-head .zsf-section-kicker{font-size:9px!important;line-height:1!important;letter-spacing:.08em!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-head h2{font-size:18px!important;line-height:1.1!important;margin:2px 0 1px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-head p{font-size:10.5px!important;line-height:1.25!important;margin:0!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-active{padding:5px 8px!important;font-size:10px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-tabs{
  gap:5px!important;padding:0 0 7px!important;margin:0 0 7px!important;overflow-x:auto!important;white-space:nowrap!important
}
.zsf-app-v038 #zsf-view-attendance .zsf-att-tabs button{
  min-height:30px!important;padding:5px 9px!important;border-radius:7px!important;font-size:10.5px!important;line-height:1!important
}
.zsf-app-v038 #zsf-view-attendance .zsf-att-kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;margin-bottom:7px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-kpi{
  padding:8px 10px!important;border-radius:9px!important;box-shadow:none!important;min-height:54px!important
}
.zsf-app-v038 #zsf-view-attendance .zsf-att-kpi small{font-size:9.5px!important;line-height:1.15!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-kpi strong{margin-top:2px!important;font-size:19px!important;line-height:1!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-two{gap:7px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-card{
  padding:9px 10px!important;border-radius:10px!important;box-shadow:none!important;margin-bottom:7px!important
}
.zsf-app-v038 #zsf-view-attendance .zsf-att-card>h3,
.zsf-app-v038 #zsf-view-attendance .zsf-att-card-title h3{font-size:13px!important;line-height:1.15!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-card-title{gap:8px!important;margin-bottom:7px!important;min-height:30px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-card-title p{font-size:10px!important;line-height:1.2!important;margin:1px 0 0!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-card-title .zsf-primary,
.zsf-app-v038 #zsf-view-attendance .zsf-primary{min-height:30px!important;padding:5px 9px!important;border-radius:7px!important;font-size:10.5px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-filters{gap:6px!important;margin-bottom:7px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-filters select{min-height:30px!important;height:30px!important;padding:0 8px!important;border-radius:7px!important;font-size:10.5px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-table-wrap{border-radius:8px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-table{font-size:10.5px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-table thead th{padding:6px 7px!important;font-size:9.5px!important;line-height:1.1!important;white-space:nowrap!important}
.zsf-app-v038 #zsf-view-attendance .zsf-table tbody td{padding:5px 7px!important;line-height:1.15!important;vertical-align:middle!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-list{gap:4px!important;margin-top:6px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-list-row{gap:7px!important;padding:6px 8px!important;border-radius:7px!important;font-size:10.5px!important;line-height:1.15!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-list-row small{font-size:9.5px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-badge{padding:3px 6px!important;font-size:9px!important;line-height:1.1!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-row-actions{gap:3px!important;margin-left:4px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-row-actions button{width:23px!important;height:23px!important;font-size:10px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-legend{gap:4px!important;margin:0 0 6px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-legend span{gap:4px!important;padding:4px 6px!important;border-radius:6px!important;font-size:9.5px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-planning-wrap{border-radius:8px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-plan{font-size:9.5px!important;min-width:980px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-plan th,
.zsf-app-v038 #zsf-view-attendance .zsf-att-plan td{padding:3px 4px!important;min-width:31px!important;height:28px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-plan th:first-child,
.zsf-app-v038 #zsf-view-attendance .zsf-att-plan td:first-child{min-width:145px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-shift-chip{min-width:26px!important;padding:2px 4px!important;border-radius:5px!important;font-size:9px!important}
.zsf-att-dialog form{padding:13px!important}
.zsf-att-dialog h3{font-size:16px!important;margin:0 0 9px!important}
.zsf-att-dialog .zsf-att-form-grid{gap:7px!important}
.zsf-att-dialog label{gap:3px!important;font-size:10.5px!important}
.zsf-att-dialog input,.zsf-att-dialog select,.zsf-att-dialog textarea{min-height:32px!important;padding:5px 7px!important;border-radius:7px!important;font-size:11px!important}
.zsf-att-dialog textarea{min-height:58px!important}
.zsf-att-dialog .actions{gap:6px!important;margin-top:10px!important}
.zsf-att-dialog button{min-height:31px!important;padding:5px 9px!important;border-radius:7px!important;font-size:10.5px!important}
@media(max-width:1050px){
 .zsf-app-v038 #zsf-view-attendance .zsf-att-kpis{grid-template-columns:repeat(5,minmax(115px,1fr))!important;overflow-x:auto!important}
}
@media(max-width:760px){
 .zsf-app-v038 #zsf-view-attendance .zsf-att-head{flex-direction:row!important;align-items:center!important}
 .zsf-app-v038 #zsf-view-attendance .zsf-att-head p{display:none!important}
 .zsf-app-v038 #zsf-view-attendance .zsf-att-kpis{display:flex!important;overflow-x:auto!important}
 .zsf-app-v038 #zsf-view-attendance .zsf-att-kpi{flex:0 0 125px!important}
 .zsf-app-v038 #zsf-view-attendance .zsf-att-two{grid-template-columns:1fr!important}
}


/* 1.3.29.12 — Presenze e turni: comandi ordinati + eliminazione singola timbratura */
.zsf-app-v038 #zsf-view-attendance .zsf-att-card-title{
  display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important
}
.zsf-app-v038 #zsf-view-attendance .zsf-att-card-title>.zsf-att-row-actions{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important;
  gap:6px!important;margin-left:auto!important;vertical-align:initial!important
}
.zsf-app-v038 #zsf-view-attendance .zsf-att-card-title>.zsf-att-row-actions button{
  width:auto!important;height:30px!important;min-width:0!important;min-height:30px!important;
  padding:5px 10px!important;border-radius:7px!important;line-height:1!important;font-size:10.5px!important;
  white-space:nowrap!important;display:inline-flex!important;align-items:center!important;justify-content:center!important
}
.zsf-app-v038 #zsf-view-attendance .zsf-att-card-title>.zsf-att-row-actions .zsf-primary{
  color:#fff!important;background:#1767a4!important;border-color:#1767a4!important
}
.zsf-app-v038 #zsf-view-attendance .zsf-att-card-title>.zsf-att-row-actions .zsf-secondary{
  color:#294760!important;background:#fff!important;border-color:#cbdbe8!important
}
.zsf-app-v038 #zsf-view-attendance .zsf-att-actions-col,
.zsf-app-v038 #zsf-view-attendance .zsf-att-entry-actions{width:78px!important;text-align:right!important;white-space:nowrap!important}
.zsf-app-v038 #zsf-view-attendance .zsf-att-delete-entry{
  appearance:none;border:1px solid #efb4b0;background:#fff7f6;color:#b42318;border-radius:7px;
  min-height:26px;padding:4px 8px;font-size:9.5px;font-weight:800;line-height:1;cursor:pointer;white-space:nowrap
}
.zsf-app-v038 #zsf-view-attendance .zsf-att-delete-entry:hover{background:#fee4e2;border-color:#df8d87;color:#8f1d14}
.zsf-app-v038 #zsf-view-attendance .zsf-att-delete-entry:disabled{opacity:.55;cursor:wait}
@media(max-width:760px){
  .zsf-app-v038 #zsf-view-attendance .zsf-att-card-title{align-items:flex-start!important}
  .zsf-app-v038 #zsf-view-attendance .zsf-att-card-title>.zsf-att-row-actions{width:100%!important;margin:4px 0 0!important;justify-content:flex-start!important}
  .zsf-app-v038 #zsf-view-attendance .zsf-att-card-title>.zsf-att-row-actions button{flex:0 0 auto!important}
}
/* 1.3.29.15 — Export DATEV */
.zsf-app-v038 #zsf-view-attendance .zsf-datev-card{max-width:1180px}
.zsf-app-v038 #zsf-view-attendance .zsf-datev-note{margin:0 0 10px;padding:9px 11px;border:1px solid #d9d1f2;border-radius:8px;background:#faf8ff;font-size:10.5px;line-height:1.35;color:#423a62}
.zsf-app-v038 #zsf-view-attendance .zsf-datev-form{margin:0 0 10px}
.zsf-app-v038 #zsf-view-attendance .zsf-datev-form input{min-height:31px;height:31px;font-size:10.5px}
.zsf-app-v038 #zsf-view-attendance .zsf-datev-check{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-datev-check input{width:16px!important;height:16px!important;min-height:16px!important}
.zsf-app-v038 #zsf-view-attendance .zsf-datev-workers{margin-top:8px}
.zsf-app-v038 #zsf-view-attendance .zsf-datev-workers h4{margin:0 0 6px;font-size:12px}
.zsf-app-v038 #zsf-view-attendance .zsf-datev-personal{width:130px;min-height:28px;height:28px;padding:3px 6px;font-size:10.5px}
.zsf-app-v038 #zsf-view-attendance .zsf-datev-export{display:flex;align-items:end;gap:7px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid #e7e2f3}
.zsf-app-v038 #zsf-view-attendance .zsf-datev-export label{display:grid;gap:3px;font-size:9.5px;font-weight:700}.zsf-app-v038 #zsf-view-attendance .zsf-datev-export input{height:30px;min-height:30px}

/* 1.3.29.25 — sidebar richiudibile + azioni lavoratori compatte + Smart working */
@media (min-width:761px){
  body.zsf-portal-page .zsf-app-v038 .zsf-shell{
    transition:grid-template-columns .28s cubic-bezier(.2,.8,.2,1)!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-sidebar{
    width:190px!important;
    opacity:1;
    transform:translateX(0);
    overflow:hidden;
    transition:width .28s cubic-bezier(.2,.8,.2,1),opacity .18s ease,transform .28s cubic-bezier(.2,.8,.2,1),border-color .2s ease!important;
  }
  body.zsf-portal-page .zsf-app-v038.is-sidebar-collapsed .zsf-shell{
    grid-template-columns:0 minmax(0,1fr)!important;
  }
  body.zsf-portal-page .zsf-app-v038.is-sidebar-collapsed .zsf-sidebar{
    width:0!important;
    min-width:0!important;
    opacity:0!important;
    transform:translateX(-100%)!important;
    border-right-color:transparent!important;
    pointer-events:none!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-sidebar-toggle{
    width:34px!important;height:34px!important;min-width:34px!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    border:1px solid rgba(255,255,255,.48)!important;border-radius:9px!important;
    background:rgba(255,255,255,.13)!important;color:#fff!important;
    cursor:pointer!important;font-size:18px!important;line-height:1!important;
    transition:background .16s ease,transform .16s ease!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-sidebar-toggle:hover{background:rgba(255,255,255,.23)!important;transform:scale(1.04)}
}

.zsf-app-v038 #zsf-view-workers .zsf-actions-head{width:72px!important;min-width:72px!important;max-width:72px!important;text-align:center!important;padding-left:4px!important;padding-right:4px!important}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="actions"]{width:72px!important;min-width:72px!important;max-width:72px!important;padding-left:4px!important;padding-right:4px!important;text-align:center!important}
.zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;white-space:nowrap!important}
.zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions .zsf-row-icon{
  width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important;padding:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:7px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions .zsf-row-icon svg{width:14px!important;height:14px!important;display:block!important}
.zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions .zsf-row-edit{color:#0b6094!important;background:#f5fbff!important;border-color:#add4e9!important}
.zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions .zsf-row-edit:hover{background:#e6f5fd!important;border-color:#6fb9dc!important}
.zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions .zsf-row-delete{color:#c22121!important;background:#fff6f5!important;border-color:#f1b1ad!important}
.zsf-app-v038 #zsf-view-workers .zsf-worker-row-actions .zsf-row-delete:hover{background:#fee9e7!important;border-color:#df807a!important}

.zsf-app-v038 #zsf-view-workers th[data-col="smart_working"],
.zsf-app-v038 #zsf-view-workers td[data-col="smart_working"]{
  width:76px!important;min-width:76px!important;max-width:76px!important;text-align:center!important;padding-left:5px!important;padding-right:5px!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-smart-worker-icon{
  width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid currentColor;
}
.zsf-app-v038 #zsf-view-workers .zsf-smart-worker-icon svg{width:15px;height:15px;display:block}
.zsf-app-v038 #zsf-view-workers .zsf-smart-worker-icon.is-smart{color:#14804a;background:#edf9f2}
.zsf-app-v038 #zsf-view-workers .zsf-smart-worker-icon.is-not-smart{color:#c52b2b;background:#fff1f0}

@media(max-width:760px){
  .zsf-app-v038 .zsf-sidebar-toggle{display:none!important}
}
\n\n/* 1.3.29.26 — durata contratto, stato a icona e ripristino graffette allegati */\n.zsf-app-v038 #zsf-view-workers th[data-col="contract_period"]{white-space:nowrap!important}\n.zsf-app-v038 #zsf-view-workers .zsf-contract-period-cell .zsf-worker-status-line{justify-content:flex-start!important;overflow:visible!important}\n.zsf-app-v038 #zsf-view-workers .zsf-contract-active-icon{\n  width:18px!important;height:18px!important;min-width:18px!important;border-radius:50%!important;\n  display:inline-flex!important;align-items:center!important;justify-content:center!important;\n  border:1px solid currentColor!important;box-sizing:border-box!important;\n}\n.zsf-app-v038 #zsf-view-workers .zsf-contract-active-icon>span{width:8px!important;height:8px!important;border-radius:50%!important;background:currentColor!important;display:block!important}\n.zsf-app-v038 #zsf-view-workers .zsf-contract-active-icon.is-active{color:#159455!important;background:#ecf9f2!important}\n.zsf-app-v038 #zsf-view-workers .zsf-contract-active-icon.is-inactive{color:#d52d2d!important;background:#fff1f0!important}\n\n/* Gli allegati devono restare sempre visibili accanto allo stato */\n.zsf-app-v038 #zsf-view-workers .zsf-worker-status-cell,\n.zsf-app-v038 #zsf-view-workers .zsf-worker-status-line{overflow:visible!important}\n.zsf-app-v038 #zsf-view-workers .zsf-worker-doc-icons{\n  display:inline-flex!important;align-items:center!important;gap:2px!important;margin-left:4px!important;\n  flex:0 0 auto!important;overflow:visible!important;position:relative!important;z-index:3!important;\n}\n.zsf-app-v038 #zsf-view-workers .zsf-worker-pdf-icon{\n  display:inline-flex!important;visibility:visible!important;opacity:1!important;\n  width:20px!important;height:20px!important;min-width:20px!important;flex:0 0 20px!important;\n  align-items:center!important;justify-content:center!important;font-size:12px!important;line-height:1!important;\n}\n.zsf-app-v038 #zsf-view-workers .zsf-worker-download-icon{\n  display:inline-flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;justify-content:center!important;\n}\n

/* ZEMA HR 1.4.1.0 — qualità e provenienza del dato */
.zsf-data-quality-panel{margin:14px 0 2px;padding:12px 14px;border:1px solid #d7e5ef;border-radius:12px;background:#f7fbfe;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.zsf-data-quality-panel>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.zsf-data-quality-panel span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#567287}
.zsf-data-quality-panel strong{font-size:12px;color:#123f62;text-align:right}
.zsf-data-quality-panel strong[data-status="valid"]{color:#087a52}.zsf-data-quality-panel strong[data-status="to_verify"]{color:#a46700}.zsf-data-quality-panel strong[data-status="non_conforming"]{color:#c62828}
.zsf-data-quality-panel p{grid-column:1/-1;margin:0;padding-top:8px;border-top:1px solid #e3edf4;color:#5b7182;font-size:12px;line-height:1.45}
@media(max-width:700px){.zsf-data-quality-panel{grid-template-columns:1fr}.zsf-data-quality-panel p{grid-column:1}}

/* ZEMA HR 1.4.2.0 — Login unificato e Consolle personale */
.zhr-console-stage{min-height:100vh;background:#f4f8fc;color:#123b5d;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.zhr-console-topbar{height:76px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(115deg,#16659d,#18a8bb);color:#fff;box-shadow:0 4px 22px rgba(16,68,105,.14)}
.zhr-console-brand{display:flex;align-items:baseline;gap:12px}.zhr-console-brand strong{font-size:26px;letter-spacing:.02em}.zhr-console-brand span{font-size:12px;text-transform:uppercase;letter-spacing:.16em;opacity:.82}
.zhr-console-user{display:flex;align-items:center;gap:10px}.zhr-console-user .zhr-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#126c9e;font-weight:900}.zhr-console-user div{display:flex;flex-direction:column;line-height:1.08}.zhr-console-user small{font-size:10px;opacity:.8}.zhr-console-user strong{font-size:13px}.zhr-console-user a{margin-left:10px;padding:8px 12px;border:1px solid rgba(255,255,255,.55);border-radius:9px;color:#fff;text-decoration:none;font-size:12px;font-weight:800}
.zhr-console-main{max-width:1320px;margin:0 auto;padding:46px 30px 70px}.zhr-console-welcome{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}.zhr-eyebrow{display:block;color:#1c89ad;font-size:11px;font-weight:900;letter-spacing:.12em}.zhr-console-welcome h1{margin:5px 0 5px;font-size:31px;color:#123f61}.zhr-console-welcome p{margin:0;color:#6d8190}.zhr-company-chip{min-width:240px;padding:13px 16px;border:1px solid #cfe0ec;border-radius:14px;background:#fff;display:flex;flex-direction:column}.zhr-company-chip small{font-size:10px;text-transform:uppercase;color:#7990a0}.zhr-company-chip strong{margin:2px 0;color:#113f62}.zhr-company-chip span{font-size:11px;color:#7b8f9d}
.zhr-console-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.zhr-app-card{min-height:150px;padding:22px;border:1px solid #d7e4ed;border-radius:16px;background:#fff;text-decoration:none;color:#173f5c;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;box-shadow:0 5px 18px rgba(19,72,106,.05);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.zhr-app-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(19,72,106,.11);border-color:#96c7dd}.zhr-app-card.is-primary{background:linear-gradient(145deg,#f2fbff,#fff);border-color:#93ccdf}.zhr-app-icon{width:46px;height:46px;border-radius:13px;background:#eaf6fb;color:#1186ad;display:grid;place-items:center;font-size:23px;font-weight:900}.zhr-app-card strong{display:block;font-size:17px}.zhr-app-card p{margin:5px 0 0;color:#708695;font-size:12px;line-height:1.35}.zhr-app-arrow{font-size:25px;color:#188caf;font-weight:800}.zhr-app-card.is-disabled{opacity:.55;cursor:not-allowed}.zhr-app-card.is-disabled .zhr-app-arrow{font-size:10px;text-transform:uppercase;color:#9aa8b1}
.zhr-console-note{margin-top:24px;padding:17px 19px;border:1px solid #d8e7ef;border-radius:14px;background:#edf8fc;display:flex;gap:12px;align-items:flex-start}.zhr-console-note>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#d7f1e2;color:#14814a;font-weight:900}.zhr-console-note strong{display:block;color:#174661}.zhr-console-note p{margin:3px 0 0;color:#67808f;font-size:12px}
.zhr-login-brand .zsf-desk-part{color:#1c9fc0!important}.zhr-console-link{text-decoration:none!important}
@media(max-width:1050px){.zhr-console-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.zhr-console-topbar{height:auto;padding:15px 18px;align-items:flex-start}.zhr-console-brand span{display:none}.zhr-console-user div{display:none}.zhr-console-main{padding:28px 16px 50px}.zhr-console-welcome{align-items:stretch;flex-direction:column}.zhr-company-chip{min-width:0}.zhr-console-grid{grid-template-columns:1fr}.zhr-app-card{min-height:112px}.zhr-console-user a{margin-left:2px}}

/* ZEMA HR 1.4.4.0 — Consolle Portale Full Screen */
.zhr-portal-home .zhr-console-main{max-width:1180px;margin:0 auto;padding:42px 30px 56px}
.zhr-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:22px;align-items:stretch;margin-bottom:34px}
.zhr-hero-copy,.zhr-hero-panel{border:1px solid #cfe2ee;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(9,63,97,.05)}
.zhr-hero-copy{padding:34px 36px;background:linear-gradient(135deg,#fff 0%,#f4fbff 100%)}
.zhr-hero-copy h1{font-size:38px;line-height:1.08;color:#073e67;margin:10px 0 12px;max-width:760px}
.zhr-hero-copy>p{font-size:16px;line-height:1.65;color:#55718a;max-width:760px;margin:0 0 24px}
.zhr-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.zhr-hero-btn{display:inline-grid;grid-template-columns:36px auto auto;align-items:center;gap:10px;text-decoration:none!important;border-radius:14px;padding:12px 15px;background:#0a7fb6;color:#fff!important;min-width:260px;box-shadow:0 8px 22px rgba(10,127,182,.18)}
.zhr-hero-btn span{font-size:22px}.zhr-hero-btn strong{font-size:15px}.zhr-hero-btn em{font-style:normal;font-size:12px;margin-left:auto}.zhr-hero-btn.is-control{background:#3e2467}
.zhr-hero-panel{padding:30px;background:linear-gradient(145deg,#073e67,#0c86ac);color:#fff;display:flex;flex-direction:column;justify-content:center}.zhr-hero-panel-label{font-size:11px;letter-spacing:.11em;font-weight:800;opacity:.75}.zhr-hero-panel strong{font-size:25px;line-height:1.2;margin:12px 0}.zhr-hero-panel p{font-size:13px;line-height:1.6;opacity:.85;margin:0}
.zhr-section{margin:30px 0}.zhr-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.zhr-section-head h2{margin:3px 0 0;color:#073e67;font-size:23px}.zhr-section-head>a{font-weight:800;font-size:13px;color:#087dad;text-decoration:none}
.zhr-network-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.zhr-network-card{display:grid;grid-template-columns:54px minmax(0,1fr) 22px;gap:14px;align-items:center;border:1px solid #d7e4ec;border-radius:18px;padding:20px;background:#fff;text-decoration:none!important;color:#073e67!important;transition:.2s ease}.zhr-network-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(7,62,103,.09);border-color:#7fc5df}.zhr-network-icon{width:54px;height:54px;border-radius:15px;background:#eaf7fc;display:grid;place-items:center;color:#0683b5;font-weight:900;font-size:22px}.zhr-network-card strong{font-size:17px}.zhr-network-card p{margin:5px 0 0;color:#637b8f;line-height:1.4;font-size:12px}.zhr-network-card b{font-size:20px;color:#0780ae}
.zhr-slider{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:2px 2px 12px}.zhr-slider>*{scroll-snap-align:start;flex:0 0 320px}.zhr-content-card,.zhr-course-card{border:1px solid #d7e4ec;border-radius:18px;background:#fff;padding:20px;text-decoration:none!important;color:#073e67!important;min-height:174px;display:flex;flex-direction:column;transition:.2s ease}.zhr-content-card:hover,.zhr-course-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(7,62,103,.08)}.zhr-content-kicker{font-size:10px;font-weight:900;letter-spacing:.08em;color:#0a84b1;text-transform:uppercase}.zhr-content-card strong,.zhr-course-card strong{font-size:16px;line-height:1.25;margin:8px 0}.zhr-content-card p,.zhr-course-card p{font-size:12px;line-height:1.45;color:#61798e;margin:0 0 12px}.zhr-content-card b,.zhr-course-card b{margin-top:auto;color:#087dad;font-size:12px}
.zhr-courses-section{padding:24px;border:1px solid #e8d8a7;background:linear-gradient(180deg,#fffdf5,#fff9e8);border-radius:22px}.zhr-course-card{flex-direction:row;gap:14px;min-height:150px}.zhr-course-card>div{display:flex;flex-direction:column}.zhr-course-card>b{align-self:flex-end;white-space:nowrap}.zhr-course-icon{width:44px;height:44px;flex:0 0 44px;border-radius:13px;background:#fff0b7;color:#9a6c00;display:grid;place-items:center;font-size:20px}
.zhr-quickbar{margin-top:32px;border-radius:18px;background:#eef8fb;border:1px solid #cfe8ef;padding:18px 20px;display:flex;align-items:center;gap:18px}.zhr-quickbar>div{display:grid;grid-template-columns:36px auto;column-gap:10px;flex:1}.zhr-quickbar>div>span{grid-row:1/3;width:36px;height:36px;border-radius:50%;background:#0b8bb7;color:#fff;display:grid;place-items:center;font-weight:900}.zhr-quickbar>div>strong{color:#073e67}.zhr-quickbar>div>p{margin:2px 0 0;color:#61798e;font-size:12px}.zhr-quickbar>a{border:1px solid #7fc7dd;border-radius:12px;padding:10px 13px;color:#077ca9;text-decoration:none!important;font-weight:800;font-size:12px;background:#fff}
@media(max-width:900px){.zhr-hero{grid-template-columns:1fr}.zhr-network-grid{grid-template-columns:1fr}.zhr-portal-home .zhr-console-main{padding:26px 16px 40px}.zhr-hero-copy{padding:25px}.zhr-hero-copy h1{font-size:30px}.zhr-quickbar{align-items:stretch;flex-direction:column}.zhr-quickbar>a{text-align:center;width:100%}.zhr-slider>*{flex-basis:82vw}}


/* ZEMA HR 1.4.4.1 — header full width, triade editoriale e catalogo corsi */
html,body.zsf-portal-page.zhr-portal-open{width:100%!important;max-width:100%!important;min-height:100%!important;height:auto!important;overflow-x:hidden!important;overflow-y:auto!important;background:#f4f8fc!important}
body.zsf-portal-page.zhr-portal-open .zsf-app-v038{width:100%!important;max-width:none!important;min-height:100dvh!important;height:auto!important;margin:0!important;padding:0!important;transform:none!important;background:#f4f8fc!important}
body.zsf-portal-page.zhr-portal-open .zsf-shell{display:block!important;width:100%!important;min-height:100dvh!important;height:auto!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;background:#f4f8fc!important}
body.zsf-portal-page.zhr-portal-open .zsf-main-area,body.zsf-portal-page.zhr-portal-open .zsf-workspace{height:auto!important;min-height:100dvh!important;overflow:visible!important;background:transparent!important}
body.zsf-portal-page.zhr-portal-open .zhr-console-stage{width:100%!important;min-height:100dvh!important;overflow:visible!important}
body.zsf-portal-page.zhr-portal-open .zhr-console-topbar{position:sticky;top:0;z-index:60;width:100%}
body.zsf-portal-page.zhr-portal-open .zhr-portal-home .zhr-console-main{max-width:1480px;margin:0 auto;padding:48px clamp(18px,3vw,46px) 84px}
.zhr-hero{position:relative;overflow:hidden}
.zhr-hero:before,.zhr-hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.zhr-hero:before{width:280px;height:280px;right:-120px;top:-80px;background:radial-gradient(circle at center,rgba(24,168,187,.16),rgba(24,168,187,0));}.zhr-hero:after{width:220px;height:220px;left:-90px;bottom:-110px;background:radial-gradient(circle at center,rgba(11,111,164,.12),rgba(11,111,164,0));}
.zhr-hero-copy,.zhr-hero-panel,.zhr-network-card,.zhr-content-card,.zhr-course-card,.zhr-quickbar{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,opacity .5s ease}
.zhr-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}.zhr-hero-badges span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#ebf7fd;border:1px solid #d3e8f2;color:#0a6e9b;font-size:12px;font-weight:800;animation:zhrFloat 6s ease-in-out infinite}.zhr-hero-badges span:nth-child(2){animation-delay:.9s}.zhr-hero-badges span:nth-child(3){animation-delay:1.8s}
.zhr-network-card{position:relative;overflow:hidden}.zhr-network-card:before{content:"";position:absolute;inset:auto -35% -65% auto;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle at center,rgba(19,157,196,.09),rgba(19,157,196,0));transition:transform .35s ease}.zhr-network-card:hover:before{transform:scale(1.1)}
.zhr-content-card,.zhr-course-card{overflow:hidden}.zhr-content-media{display:block;height:164px;border-radius:14px;overflow:hidden;margin:0 0 14px;background:linear-gradient(135deg,#d8eef7,#eff8fd)}.zhr-content-media img,.zhr-course-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .3s ease}.zhr-content-card:hover .zhr-content-media img,.zhr-course-card:hover .zhr-course-media img{transform:scale(1.06);filter:saturate(1.08)}
.zhr-slider>*{flex-basis:360px}.zhr-content-card{min-height:356px}.zhr-content-card strong{font-size:20px;line-height:1.22}.zhr-content-card p{font-size:13px;line-height:1.55}
.zhr-courses-section{overflow:hidden}.zhr-course-card{display:grid;grid-template-columns:122px minmax(0,1fr) auto;align-items:start;gap:16px;min-height:182px}.zhr-course-media{width:122px;height:122px;border-radius:18px;overflow:hidden;flex:0 0 122px;background:linear-gradient(135deg,#fff4c9,#fffbe9);box-shadow:inset 0 0 0 1px rgba(195,161,70,.16)}.zhr-course-card strong{font-size:18px;line-height:1.28}.zhr-course-card p{font-size:13px;line-height:1.55}.zhr-course-card>b{padding-top:6px}
.zhr-reveal{opacity:0;transform:translateY(22px)}.zhr-reveal.is-visible{opacity:1;transform:translateY(0)}
.zhr-quickbar{box-shadow:0 10px 28px rgba(7,62,103,.06)}
@keyframes zhrFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(max-width:1100px){body.zsf-portal-page.zhr-portal-open .zhr-portal-home .zhr-console-main{padding:34px 22px 64px}.zhr-slider>*{flex-basis:320px}.zhr-course-card{grid-template-columns:96px minmax(0,1fr);}.zhr-course-card>b{grid-column:2}}
@media(max-width:900px){.zhr-content-media{height:150px}.zhr-content-card{min-height:340px}.zhr-slider>*{flex-basis:82vw}.zhr-course-card{grid-template-columns:1fr}.zhr-course-media{width:100%;height:168px}.zhr-course-card>b{grid-column:auto}.zhr-hero-badges{margin-bottom:16px}}


/* ZEMA HR 1.4.4.1 — header full width e sezioni triade */
body.zsf-portal-page.zhr-portal-open .zhr-console-topbar{width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;border-radius:0!important;padding-left:clamp(18px,3vw,42px)!important;padding-right:clamp(18px,3vw,42px)!important}
body.zsf-portal-page.zhr-portal-open .zhr-console-topbar:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,#16659d,#18a8bb);z-index:-1}
body.zsf-portal-page.zhr-portal-open .zhr-console-main{max-width:1480px!important}
.zhr-izema-section .zhr-content-card strong{font-size:20px}.zhr-izema-section .zhr-content-kicker{color:#0b7fa5}.zhr-course-card .zhr-content-kicker{color:#8b6500}.zhr-course-card strong{color:#11496a}.zhr-course-card p{max-width:56ch}

/* ZEMA HR 1.4.5.1 — consolle azienda servizi prioritari */
body.zsf-portal-page.zhr-portal-open .zhr-portal-home .zhr-console-main{max-width:1600px!important;width:min(1600px,calc(100vw - 56px))!important;padding:34px 28px 72px!important}
.zhr-hero{grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:20px;margin-bottom:28px}
.zhr-hero-copy,.zhr-hero-panel{border-radius:26px}.zhr-hero-copy h1{max-width:860px;font-size:46px}.zhr-hero-copy>p{max-width:860px;font-size:18px}.zhr-hero-panel strong{font-size:27px}
.zhr-services-section{margin-top:10px}.zhr-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.zhr-service-card{position:relative;display:flex;flex-direction:column;min-height:235px;padding:24px;border-radius:22px;border:1px solid #d7e4ec;background:linear-gradient(180deg,#fff 0%,#f7fbfd 100%);text-decoration:none!important;color:#073e67!important;box-shadow:0 10px 30px rgba(7,62,103,.05);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.zhr-service-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(7,62,103,.1);border-color:#a8d0e2}.zhr-service-card:before{content:"";position:absolute;top:-34px;right:-34px;width:108px;height:108px;border-radius:50%;background:radial-gradient(circle at center,rgba(24,168,187,.18),rgba(24,168,187,0))}.zhr-service-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:26px;background:#eaf6fb;color:#087dad;margin-bottom:14px}.zhr-service-card strong{font-size:24px;line-height:1.18;margin:8px 0 10px}.zhr-service-card p{font-size:14px;line-height:1.6;color:#5c768a;margin:0 0 14px;max-width:44ch}.zhr-service-card b{margin-top:auto;color:#087dad;font-size:13px}.zhr-service-card.is-desk{background:linear-gradient(180deg,#f6fbff 0%,#eef8ff 100%);border-color:#9bd0ea}.zhr-service-card.is-training .zhr-service-icon{background:#fff4cf;color:#a77300}.zhr-service-card.is-health .zhr-service-icon{background:#fdebee;color:#c23358}.zhr-service-card.is-consulting .zhr-service-icon{background:#eef0fd;color:#4d46c9}.zhr-service-card.is-news .zhr-service-icon{background:#edf5ff;color:#136bc1}.zhr-service-card.is-contacts .zhr-service-icon{background:#edf8f1;color:#238b4b}
.zhr-premium-next{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:26px;align-items:start;margin-top:34px;padding:28px;border-radius:24px;border:1px solid #cfe2ee;background:linear-gradient(135deg,#fff,#f4fbff);box-shadow:0 12px 32px rgba(7,62,103,.05)}.zhr-premium-copy h2{margin:6px 0 10px;color:#073e67;font-size:30px;line-height:1.2}.zhr-premium-copy p{margin:0;color:#58748a;font-size:15px;line-height:1.7}.zhr-premium-list{margin:0;padding:18px 20px 18px 34px;border-radius:20px;background:#0b789f;color:#fff;list-style:disc;display:grid;gap:10px}.zhr-premium-list li{font-size:15px;line-height:1.45}
@media(max-width:1180px){.zhr-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zhr-premium-next{grid-template-columns:1fr}.zhr-hero-copy h1{font-size:40px}}
@media(max-width:900px){body.zsf-portal-page.zhr-portal-open .zhr-portal-home .zhr-console-main{width:min(100vw,calc(100vw - 24px))!important;padding:24px 12px 48px!important}.zhr-service-grid{grid-template-columns:1fr}.zhr-service-card{min-height:200px}.zhr-hero-copy h1{font-size:32px}.zhr-hero-copy>p{font-size:16px}.zhr-premium-copy h2{font-size:24px}}


/* ZEMA HR 1.4.5.2 — layout ufficiale, viewport safe */
body.zsf-portal-page.zhr-portal-open,
body.zsf-portal-page.zhr-portal-open *{box-sizing:border-box}
body.zsf-portal-page.zhr-portal-open{overflow-x:hidden!important}
body.zsf-portal-page.zhr-portal-open .zhr-console-stage{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
body.zsf-portal-page.zhr-portal-open .zhr-portal-home .zhr-console-main{
  width:calc(100% - 48px)!important;
  max-width:1480px!important;
  margin:0 auto!important;
  padding:34px 0 68px!important;
  overflow:visible!important;
}
body.zsf-portal-page.zhr-portal-open .zhr-hero{
  width:100%!important;
  max-width:100%!important;
  grid-template-columns:minmax(0,1.62fr) minmax(300px,.72fr)!important;
  overflow:visible!important;
}
body.zsf-portal-page.zhr-portal-open .zhr-hero-copy,
body.zsf-portal-page.zhr-portal-open .zhr-hero-panel{min-width:0!important;width:100%!important}
body.zsf-portal-page.zhr-portal-open .zhr-services-section,
body.zsf-portal-page.zhr-portal-open .zhr-courses-section,
body.zsf-portal-page.zhr-portal-open .zhr-slider-section{width:100%!important;max-width:100%!important;min-width:0!important}
body.zsf-portal-page.zhr-portal-open .zhr-service-grid{width:100%!important;max-width:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
body.zsf-portal-page.zhr-portal-open .zhr-service-card{min-width:0!important;width:100%!important}
body.zsf-portal-page.zhr-portal-open .zhr-slider{max-width:100%!important;width:100%!important}
.zhr-premium-next{display:none!important}
@media(max-width:1180px){
  body.zsf-portal-page.zhr-portal-open .zhr-hero{grid-template-columns:1fr!important}
  body.zsf-portal-page.zhr-portal-open .zhr-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  body.zsf-portal-page.zhr-portal-open .zhr-portal-home .zhr-console-main{width:calc(100% - 24px)!important;padding:22px 0 44px!important}
  body.zsf-portal-page.zhr-portal-open .zhr-service-grid{grid-template-columns:1fr!important}
}


/* ZEMA HR 1.4.5.3 — consolle aziendale sobria, senza duplicazioni */
body.zsf-portal-page.zhr-portal-open .zhr-portal-home .zhr-console-main{max-width:1500px!important;width:calc(100% - 56px)!important;box-sizing:border-box!important;padding:30px 0 70px!important}
.zhr-console-hero{grid-template-columns:minmax(0,1.75fr) minmax(280px,.65fr);gap:18px;margin-bottom:22px}
.zhr-console-hero .zhr-hero-copy{padding:28px 30px}.zhr-console-hero .zhr-hero-copy h1{font-size:38px!important;margin:7px 0 10px!important}.zhr-console-hero .zhr-hero-copy>p{font-size:15px!important;line-height:1.6!important;margin-bottom:18px!important;max-width:850px!important}
.zhr-console-hero .zhr-hero-btn{display:inline-flex!important;align-items:center!important;gap:14px!important;min-width:0!important;padding:10px 16px!important;border-radius:10px!important;box-shadow:none!important;font-size:13px!important}.zhr-console-hero .zhr-hero-btn strong{font-size:13px!important}.zhr-console-hero .zhr-hero-btn em{font-size:11px!important;opacity:.85}
.zhr-console-status{display:flex;align-items:center;gap:15px;padding:24px;border-radius:22px;background:linear-gradient(145deg,#0b547d,#117f9f);color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 28px rgba(9,63,97,.08)}.zhr-console-status-icon{width:46px;height:46px;flex:0 0 46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.12)}.zhr-console-status-icon svg,.zhr-line-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.zhr-console-status small{display:block;font-size:10px;letter-spacing:.1em;font-weight:800;opacity:.72}.zhr-console-status strong{display:block;font-size:19px;margin:5px 0 6px}.zhr-console-status p{margin:0;font-size:12px;line-height:1.5;opacity:.86}
.zhr-booking-section{border:1px solid #d7e4ec;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(7,62,103,.045);overflow:hidden}.zhr-booking-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px 16px}.zhr-booking-title{display:flex;align-items:flex-start;gap:14px}.zhr-booking-title h2,.zhr-booking-content h2{margin:2px 0 5px!important;font-size:23px!important;color:#073e67}.zhr-booking-title p,.zhr-booking-content p{margin:0;color:#60798d;font-size:13px;line-height:1.55}.zhr-line-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:grid;place-items:center;background:#edf7fb;color:#0b769e}.zhr-small-cta{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px!important;border-radius:9px!important;background:#0a7fb6;color:#fff!important;text-decoration:none!important;font-size:11.5px!important;font-weight:800!important;line-height:1.2!important;white-space:nowrap;box-shadow:none!important}.zhr-small-cta:hover{background:#086f9e}
.zhr-course-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 18px 18px}.zhr-course-preview{border:1px solid #e1e9ef;border-radius:14px;overflow:hidden;background:#fbfdfe}.zhr-course-preview img{display:block;width:100%;height:92px;object-fit:cover}.zhr-course-preview>div{padding:11px 12px}.zhr-course-preview strong{display:block;color:#0a436b;font-size:14px;margin-bottom:4px}.zhr-course-preview p{margin:0;color:#6b8192;font-size:11.5px;line-height:1.4}
.zhr-health-access,.zhr-consulting-access{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:stretch;min-height:180px}.zhr-booking-content{display:flex;align-items:flex-start;gap:14px;padding:24px}.zhr-booking-content>div{max-width:720px}.zhr-booking-content .zhr-small-cta{margin-top:13px}.zhr-booking-image{width:100%;height:100%;min-height:180px;object-fit:cover}.zhr-health-access .zhr-line-icon{background:#eef8f8;color:#177c83}.zhr-consulting-access .zhr-line-icon{background:#f5f2eb;color:#8b6a2e}
.zhr-news-access .zhr-section-head{align-items:flex-end}.zhr-news-access .zhr-section-head p{margin:4px 0 0;color:#6c8293;font-size:12px}.zhr-text-link{font-size:12px!important;font-weight:800!important;color:#087dad!important;text-decoration:none!important}.zhr-news-access .zhr-content-card{min-height:315px}.zhr-news-access .zhr-content-media{height:145px}.zhr-news-access .zhr-content-card strong{font-size:17px!important}
.zhr-contact-strip{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;margin:30px 0 0;padding:17px 19px;border-radius:18px;border:1px solid #d3e7ef;background:#f4fafc}.zhr-contact-strip strong{display:block;color:#073e67;font-size:16px;margin:2px 0}.zhr-contact-strip p{margin:0;color:#667e90;font-size:12px}
@media(max-width:1100px){.zhr-course-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zhr-health-access,.zhr-consulting-access{grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:820px){body.zsf-portal-page.zhr-portal-open .zhr-portal-home .zhr-console-main{width:calc(100% - 24px)!important}.zhr-console-hero{grid-template-columns:1fr}.zhr-booking-head{align-items:flex-start;flex-direction:column}.zhr-health-access,.zhr-consulting-access{grid-template-columns:1fr}.zhr-booking-image{height:160px;min-height:0}.zhr-course-preview-grid{grid-template-columns:1fr}.zhr-contact-strip{grid-template-columns:42px 1fr}.zhr-contact-strip .zhr-small-cta{grid-column:1 / -1;width:max-content;margin-left:56px}.zhr-console-hero .zhr-hero-copy h1{font-size:30px!important}}

/* ZEMA HR 1.4.5.4 — consolle più compatta, accessi prenotazione ordinati */
body.zsf-portal-page.zhr-portal-open .zhr-portal-home .zhr-console-main{
  max-width:1360px!important;
  width:calc(100% - 48px)!important;
  padding:28px 0 64px!important;
}
.zhr-console-hero{
  grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr)!important;
  gap:18px!important;
  margin-bottom:24px!important;
}
.zhr-console-hero .zhr-hero-copy{
  padding:30px 34px!important;
}
.zhr-console-hero .zhr-hero-copy h1{
  font-size:30px!important;
  line-height:1.15!important;
  margin:8px 0 10px!important;
  max-width:640px!important;
}
.zhr-console-hero .zhr-hero-copy>p{
  font-size:15px!important;
  line-height:1.65!important;
  max-width:690px!important;
  margin-bottom:0!important;
}
.zhr-console-cta{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  padding:28px 28px 30px;
  border-radius:22px;
  background:linear-gradient(145deg,#0b547d,#117f9f);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 10px 28px rgba(9,63,97,.08);
}
.zhr-console-cta small{
  display:block;
  font-size:10px;
  letter-spacing:.1em;
  font-weight:800;
  opacity:.74;
}
.zhr-console-cta strong{
  display:block;
  font-size:28px;
  line-height:1.14;
  margin:0;
}
.zhr-console-cta p{
  margin:0 0 6px;
  font-size:13px;
  line-height:1.58;
  opacity:.92;
  max-width:32ch;
}
.zhr-console-hero .zhr-hero-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:220px!important;
  width:max-content!important;
  padding:14px 22px!important;
  border-radius:12px!important;
  background:#ffffff!important;
  color:#0b5a84!important;
  box-shadow:0 10px 24px rgba(5,35,55,.16)!important;
}
.zhr-console-hero .zhr-hero-btn strong{
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:.01em;
  color:#0b5a84!important;
}
.zhr-console-hero .zhr-hero-btn em,
.zhr-console-hero .zhr-hero-btn span{
  display:none!important;
}
.zhr-booking-head{
  padding:20px 22px 14px!important;
}
.zhr-booking-title h2,
.zhr-booking-content h2{
  font-size:22px!important;
}
.zhr-booking-title p,
.zhr-booking-content p{
  font-size:12.8px!important;
}
.zhr-small-cta{
  padding:10px 14px!important;
  font-size:12px!important;
  border-radius:10px!important;
}
.zhr-course-preview-scroller{
  overflow-x:auto;
  scrollbar-width:thin;
  padding:0 18px 18px;
}
.zhr-course-preview-track{
  display:flex;
  gap:12px;
  min-width:max-content;
}
.zhr-course-preview{
  flex:0 0 248px;
  border:1px solid #e1e9ef;
  border-radius:14px;
  overflow:hidden;
  background:#fbfdfe;
}
.zhr-course-preview img{
  display:block;
  width:100%;
  height:98px;
  object-fit:cover;
}
.zhr-course-preview>div{padding:12px}
.zhr-booking-duo{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:24px 0 0;
}
.zhr-booking-duo .zhr-booking-section{
  margin:0;
}
.zhr-health-access,
.zhr-consulting-access{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px!important;
  min-height:132px!important;
}
.zhr-booking-content{
  padding:20px 20px 18px!important;
  gap:12px!important;
}
.zhr-booking-content>div{
  max-width:none!important;
}
.zhr-booking-image{
  min-height:132px!important;
}
.zhr-news-access{
  margin-top:26px!important;
}
@media(max-width:1100px){
  .zhr-booking-duo{grid-template-columns:1fr}
  .zhr-health-access,.zhr-consulting-access{grid-template-columns:minmax(0,1fr) 220px!important}
}
@media(max-width:820px){
  body.zsf-portal-page.zhr-portal-open .zhr-portal-home .zhr-console-main{width:calc(100% - 24px)!important}
  .zhr-console-hero{grid-template-columns:1fr!important}
  .zhr-console-cta strong{font-size:24px}
  .zhr-console-hero .zhr-hero-copy{padding:24px!important}
  .zhr-health-access,.zhr-consulting-access{grid-template-columns:1fr!important}
  .zhr-booking-image{height:156px!important;min-height:0!important}
}

/* ZEMA HR 1.4.5.5 — animazioni, formazione scorrevole, accesso raffinato */
@keyframes zhrFloatSoft{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes zhrPulseGlow{0%,100%{box-shadow:0 10px 26px rgba(8,123,170,.20)}50%{box-shadow:0 16px 34px rgba(8,123,170,.32)}}
@keyframes zhrMarquee{0%{transform:translateX(0)}100%{transform:translateX(calc(-50% - 8px))}}
@keyframes zhrShimmer{0%{transform:translateX(-120%)}100%{transform:translateX(120%)}}

body.zsf-portal-page.zhr-portal-open .zhr-console-stage,
body.zsf-portal-page.zhr-portal-open .zhr-portal-home,
body.zsf-portal-page.zhr-portal-open .zhr-portal-home .zhr-console-main{
  overflow:visible!important;
}
body.zsf-portal-page.zhr-portal-open .zhr-portal-home .zhr-console-main{
  max-width:1420px!important;
  width:min(1420px,calc(100vw - 42px))!important;
  padding:22px 0 56px!important;
}
.zhr-console-topbar{
  position:sticky;top:0;z-index:20;
  box-shadow:0 8px 24px rgba(8,47,79,.08);
}
.zhr-console-hero{
  align-items:stretch!important;
  gap:16px!important;
  margin-bottom:18px!important;
}
.zhr-console-hero .zhr-hero-copy{
  padding:26px 32px!important;
}
.zhr-console-hero .zhr-hero-copy h1{
  font-size:28px!important;
  margin:6px 0 8px!important;
}
.zhr-console-hero .zhr-hero-copy>p{
  font-size:14px!important;
  line-height:1.6!important;
}
.zhr-console-cta,
.zhr-booking-section,
.zhr-contact-strip,
.zhr-content-card,
body.zsf-portal-page .zsf-login-card,
body.zsf-portal-page .zsf-login-security,
body.zsf-portal-page .zsf-login-message{
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,filter .28s ease!important;
}
.zhr-console-cta{
  animation:zhrFloatSoft 6s ease-in-out infinite;
}
.zhr-console-cta:hover,
.zhr-booking-section:hover,
.zhr-contact-strip:hover,
.zhr-content-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 18px 36px rgba(9,63,97,.12)!important;
}
.zhr-console-hero .zhr-hero-btn,
.zhr-small-cta,
body.zsf-portal-page #zsf-login-form input[type="submit"],
body.zsf-portal-page .zsf-login-home{
  position:relative;
  overflow:hidden;
}
.zhr-console-hero .zhr-hero-btn:before,
.zhr-small-cta:before,
body.zsf-portal-page #zsf-login-form input[type="submit"]:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.22) 45%,transparent 100%);
  transform:translateX(-120%);
  pointer-events:none;
}
.zhr-console-hero .zhr-hero-btn:hover:before,
.zhr-small-cta:hover:before,
body.zsf-portal-page #zsf-login-form input[type="submit"]:hover:before{
  animation:zhrShimmer .9s ease;
}
.zhr-console-hero .zhr-hero-btn{
  min-width:244px!important;
  padding:16px 24px!important;
  border-radius:14px!important;
  animation:zhrPulseGlow 3.4s ease-in-out infinite;
}
.zhr-console-hero .zhr-hero-btn:hover{
  transform:translateY(-3px) scale(1.01)!important;
  filter:saturate(1.03);
}
.zhr-small-cta{
  padding:12px 16px!important;
  font-size:13px!important;
  border-radius:12px!important;
  box-shadow:0 8px 18px rgba(10,127,182,.18)!important;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease!important;
}
.zhr-small-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 24px rgba(10,127,182,.22)!important;
}
.zhr-training-access{
  margin-top:8px!important;
}
.zhr-booking-head{
  padding:18px 20px 10px!important;
}
.zhr-course-preview-scroller{
  position:relative;
  overflow:hidden!important;
  padding:0 14px 16px!important;
}
.zhr-course-preview-scroller:before,
.zhr-course-preview-scroller:after{
  content:"";
  position:absolute;
  top:0;bottom:0;z-index:2;width:42px;
  pointer-events:none;
}
.zhr-course-preview-scroller:before{
  left:0;background:linear-gradient(90deg,#fff 12%,rgba(255,255,255,0));
}
.zhr-course-preview-scroller:after{
  right:0;background:linear-gradient(270deg,#fff 12%,rgba(255,255,255,0));
}
.zhr-course-preview-track{
  display:flex!important;
  gap:16px!important;
  width:max-content!important;
  min-width:max-content!important;
  animation:zhrMarquee 42s linear infinite;
  will-change:transform;
}
.zhr-course-preview-scroller:hover .zhr-course-preview-track{
  animation-play-state:paused;
}
.zhr-course-preview{
  flex:0 0 206px!important;
  border-radius:15px!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.zhr-course-preview:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 26px rgba(9,63,97,.12);
  border-color:#b9dceb;
}
.zhr-course-preview img{height:108px!important}
.zhr-course-preview strong{font-size:15px!important}
.zhr-course-preview p{font-size:12px!important;line-height:1.45!important}
.zhr-booking-duo{
  margin-top:18px!important;
}
.zhr-health-access,
.zhr-consulting-access{
  min-height:124px!important;
}
.zhr-booking-content{padding:18px 18px 16px!important}
.zhr-booking-image{min-height:124px!important}
.zhr-news-access{margin-top:20px!important}
.zhr-slider-section .zhr-content-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.zhr-slider-section .zhr-content-card:hover{transform:translateY(-5px)!important;box-shadow:0 18px 34px rgba(9,63,97,.11)!important}

/* Login più animato ma istituzionale */
body.zsf-portal-page .zsf-login-stage{
  min-height:auto!important;
  padding:24px 0 28px!important;
  align-items:start!important;
}
body.zsf-portal-page .zsf-login-card{
  box-shadow:0 24px 60px rgba(17,64,105,.12),0 8px 22px rgba(17,64,105,.05)!important;
}
body.zsf-portal-page .zsf-login-card:hover{
  transform:translateY(-2px);
  box-shadow:0 30px 74px rgba(17,64,105,.16),0 10px 26px rgba(17,64,105,.08)!important;
}
body.zsf-portal-page .zsf-login-panel h1,
body.zsf-portal-page .zsf-login-side h2{
  letter-spacing:-.02em;
}
body.zsf-portal-page #zsf-login-form input[type="text"],
body.zsf-portal-page #zsf-login-form input[type="password"]{
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease,transform .22s ease!important;
}
body.zsf-portal-page #zsf-login-form input[type="text"]:hover,
body.zsf-portal-page #zsf-login-form input[type="password"]:hover{
  border-color:#a9cbe0!important;
}
body.zsf-portal-page .zsf-login-side:before{animation:zhrFloatSoft 8s ease-in-out infinite}
body.zsf-portal-page .zsf-login-side:after{animation:zhrFloatSoft 9s ease-in-out infinite reverse}
body.zsf-portal-page .zsf-login-side-icon{
  animation:zhrPulseGlow 3.8s ease-in-out infinite;
}
body.zsf-portal-page .zsf-login-side li{
  transition:transform .18s ease,opacity .18s ease;
}
body.zsf-portal-page .zsf-login-side li:hover{transform:translateX(3px)}
body.zsf-portal-page #zsf-login-form input[type="submit"]{
  min-height:56px!important;
}
body.zsf-portal-page #zsf-login-form input[type="submit"]:hover{
  transform:translateY(-2px) scale(1.005)!important;
}

@media(max-width:1000px){
  body.zsf-portal-page.zhr-portal-open .zhr-portal-home .zhr-console-main{width:calc(100vw - 24px)!important;padding:18px 0 44px!important}
  .zhr-course-preview{flex-basis:198px!important}
}
@media(max-width:820px){
  .zhr-console-topbar{position:relative}
  .zhr-console-hero .zhr-hero-copy{padding:22px 22px!important}
  .zhr-console-cta{padding:22px!important}
  .zhr-course-preview-track{animation-duration:54s}
  .zhr-small-cta{width:max-content}
}

/* ZEMA HR 1.4.5.6 — login aziendale compatto e istituzionale */
body.zsf-portal-page .zsf-login-stage{
  width:min(1040px,calc(100vw - 36px))!important;
  min-height:100vh!important;
  padding:22px 0!important;
  place-items:center!important;
}
body.zsf-portal-page .zsf-login-card{
  grid-template-columns:minmax(0,1.42fr) minmax(300px,.58fr)!important;
  border-radius:20px!important;
  box-shadow:0 18px 48px rgba(17,64,105,.12)!important;
}
body.zsf-portal-page .zsf-login-card:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 24px 58px rgba(17,64,105,.15)!important;
}
body.zsf-portal-page .zsf-login-brand{
  min-height:62px!important;
  padding:13px 24px!important;
  gap:10px!important;
}
body.zsf-portal-page .zsf-login-brand-word{
  font-size:27px!important;
}
body.zsf-portal-page .zsf-login-brand-sub{
  font-size:10.5px!important;
  letter-spacing:.11em!important;
}
body.zsf-portal-page .zsf-login-panel{
  padding:30px 38px 28px!important;
}
body.zsf-portal-page .zsf-login-kicker{
  padding:6px 10px!important;
  font-size:10.5px!important;
}
body.zsf-portal-page .zsf-login-panel h1{
  margin:12px 0 7px!important;
  font-size:34px!important;
  line-height:1.08!important;
}
body.zsf-portal-page .zsf-login-intro{
  margin:0 0 20px!important;
  max-width:620px;
  font-size:15px!important;
  line-height:1.5!important;
}
body.zsf-portal-page #zsf-login-form p{
  margin:0 0 13px!important;
}
body.zsf-portal-page #zsf-login-form label{
  margin:0 0 6px!important;
  font-size:13px!important;
}
body.zsf-portal-page #zsf-login-form input[type="text"],
body.zsf-portal-page #zsf-login-form input[type="password"]{
  min-height:48px!important;
  padding:10px 14px!important;
  border-radius:10px!important;
  font-size:15px!important;
}
body.zsf-portal-page #zsf-login-form .login-remember{
  margin-top:2px!important;
}
body.zsf-portal-page #zsf-login-form .login-remember label{
  font-size:12.5px!important;
}
body.zsf-portal-page #zsf-login-form .login-remember input{
  width:16px!important;height:16px!important;
}
body.zsf-portal-page #zsf-login-form .login-submit{
  margin-top:17px!important;
}
body.zsf-portal-page #zsf-login-form input[type="submit"]{
  min-height:48px!important;
  border-radius:10px!important;
  font-size:15px!important;
  box-shadow:0 8px 20px rgba(24,136,179,.20)!important;
}
body.zsf-portal-page .zsf-login-links{
  margin-top:10px!important;
}
body.zsf-portal-page .zsf-login-links a{
  font-size:12.5px!important;
}
body.zsf-portal-page .zsf-login-security{
  margin-top:18px!important;
  padding:11px 13px!important;
  border-radius:11px!important;
  gap:10px!important;
}
body.zsf-portal-page .zsf-login-security>span{
  width:25px!important;height:25px!important;flex-basis:25px!important;
}
body.zsf-portal-page .zsf-login-security p{
  font-size:11.5px!important;
  line-height:1.4!important;
}
body.zsf-portal-page .zsf-login-side{
  padding:34px 28px 30px!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
body.zsf-portal-page .zsf-login-side-icon{
  width:48px!important;height:48px!important;
  border-radius:14px!important;
  font-size:0!important;
  animation:zhrFloatSoft 6.5s ease-in-out infinite!important;
}
body.zsf-portal-page .zsf-login-side-icon svg{
  width:23px;height:23px;
  fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
body.zsf-portal-page .zsf-login-side h2{
  margin:18px 0 8px!important;
  font-size:23px!important;
  line-height:1.15!important;
}
body.zsf-portal-page .zsf-login-side-intro{
  margin:0 0 18px!important;
  max-width:28ch;
  color:rgba(255,255,255,.87)!important;
  font-size:12.5px!important;
  line-height:1.55!important;
}
body.zsf-portal-page .zsf-login-side ul{
  gap:10px!important;
}
body.zsf-portal-page .zsf-login-side li{
  padding-left:25px!important;
  font-size:13px!important;
  line-height:1.35!important;
}
body.zsf-portal-page .zsf-login-side li:before{
  width:17px!important;height:17px!important;
  font-size:10px!important;
}
body.zsf-portal-page .zsf-login-home{
  margin-top:28px!important;
  padding:7px 0!important;
  font-size:12.5px!important;
}
@media(max-width:850px){
  body.zsf-portal-page .zsf-login-stage{width:min(680px,calc(100vw - 24px))!important;padding:16px 0!important}
  body.zsf-portal-page .zsf-login-card{grid-template-columns:1fr!important}
  body.zsf-portal-page .zsf-login-brand{grid-column:1!important}
  body.zsf-portal-page .zsf-login-panel{padding:28px 24px 24px!important}
  body.zsf-portal-page .zsf-login-side{padding:26px 24px!important}
}
@media(max-width:480px){
  body.zsf-portal-page .zsf-login-stage{width:100%!important;padding:0!important}
  body.zsf-portal-page .zsf-login-panel{padding:24px 18px!important}
  body.zsf-portal-page .zsf-login-side{padding:24px 18px!important}
}

/* ZEMA HR 1.4.5.7 — dashboard adempimenti e scadenze */
.zsf-app-v038 #zsf-view-overview{padding:0!important}
.zsf-compliance-dashboard{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);gap:16px;padding:0 0 18px}
.zsf-compliance-overview,.zsf-compliance-card{border:1px solid #d7e4ef;border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(12,61,99,.045);overflow:hidden}
.zsf-compliance-overview{grid-column:1 / -1;padding:20px 22px 18px}
.zsf-compliance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}
.zsf-compliance-head h2,.zsf-compliance-card h2{margin:3px 0 4px!important;color:#123f61!important;font-size:21px!important;line-height:1.15!important}
.zsf-compliance-head p,.zsf-compliance-card p{margin:0!important;color:#73899a!important;font-size:11.5px!important;line-height:1.45!important}
.zsf-compliance-updated{flex:0 0 auto;padding:6px 9px;border:1px solid #cfe4ee;border-radius:999px;background:#f1f9fc;color:#2780a1;font-size:9px;font-weight:850;letter-spacing:.04em}
.zsf-compliance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.zsf-compliance-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:10px 11px;border:1px solid #e3ebf2;border-radius:13px;background:#fbfdff;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.zsf-compliance-row:hover{transform:translateY(-1px);border-color:#c7ddea;box-shadow:0 6px 14px rgba(13,65,102,.055)}
.zsf-compliance-row-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf6fb;color:#117aa3;font-size:11px;font-weight:950}
.zsf-compliance-row strong{display:block;color:#244d6c;font-size:11px!important;line-height:1.15}.zsf-compliance-row small{display:block;margin-top:3px;color:#8496a5;font-size:8.5px!important;line-height:1.25}
.zsf-compliance-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:5px 8px;border-radius:999px;font-size:8.5px;font-weight:900;white-space:nowrap}.zsf-compliance-badge.ok{background:#e8f8ef;color:#148054}.zsf-compliance-badge.warning{background:#fff6df;color:#a56c00}.zsf-compliance-badge.danger{background:#fff0f0;color:#c33e3e}.zsf-compliance-badge.neutral{background:#eef3f7;color:#637b8e}
.zsf-compliance-card{padding:18px 19px 16px;min-width:0}.zsf-compliance-card-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:14px}.zsf-compliance-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;font-size:15px;font-weight:950}.zsf-compliance-icon.health{background:#fdeff3;color:#c13d6c}.zsf-compliance-icon.training{background:#fff3dc;color:#c07a00}.zsf-compliance-icon.safety{background:#eaf8f1;color:#17805c}.zsf-compliance-icon.actions{background:#eaf5fd;color:#1b73af}
.zsf-compliance-health{background:linear-gradient(180deg,#fff 0%,#fff9fb 100%)}.zsf-compliance-training{background:linear-gradient(180deg,#fff 0%,#fffbf2 100%)}.zsf-compliance-safety{background:linear-gradient(180deg,#fff 0%,#f7fcf9 100%)}
.zsf-compliance-health-top{display:grid;gap:7px;margin-bottom:10px}.zsf-compliance-health-top>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border:1px solid #f0dfe5;border-radius:10px;background:#fff}.zsf-compliance-health-top span:first-child{color:#755766;font-size:9px;font-weight:800}
.zsf-compliance-mini-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.zsf-compliance-mini-kpis>div{padding:9px 8px;border:1px solid #e2eaf0;border-radius:10px;background:#fff}.zsf-compliance-mini-kpis span{display:block;color:#7b8e9d;font-size:8px;font-weight:800;line-height:1.15}.zsf-compliance-mini-kpis strong{display:block;margin-top:4px;color:#174c70;font-size:17px!important;line-height:1}.zsf-compliance-mini-kpis>div.ok strong{color:#13815a}.zsf-compliance-mini-kpis>div.warning strong{color:#b47600}.zsf-compliance-mini-kpis>div.danger strong{color:#cf4141}.zsf-compliance-mini-kpis>div.neutral strong{color:#60778a}
.zsf-compliance-training-list{display:grid;gap:6px;margin-top:10px}.zsf-compliance-training-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border:1px solid #efe6d4;border-radius:9px;background:#fff}.zsf-compliance-training-list strong{display:block;color:#38566c;font-size:9.5px}.zsf-compliance-training-list small{display:block;margin-top:2px;color:#8798a5;font-size:7.5px}.zsf-compliance-empty{padding:12px!important;color:#7f91a0;font-size:9px!important;text-align:center;border-style:dashed!important}
.zsf-compliance-safety-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.zsf-safety-state{padding:12px;border:1px solid #dfeae4;border-radius:11px;background:#fff}.zsf-safety-state span{display:block;color:#748a7e;font-size:8.5px;font-weight:800}.zsf-safety-state strong{display:block;margin-top:5px;color:#2c5b45;font-size:13px!important}.zsf-safety-state.ok{border-color:#cfe8db}.zsf-safety-state.warning strong{color:#a87300}.zsf-safety-state.danger strong{color:#c63f3f}
.zsf-compliance-actions{align-self:start}.zsf-compliance-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.zsf-compliance-actions .zsf-action-link{min-height:58px!important;padding:10px 11px!important;border-radius:11px!important;background:#fbfdff!important}.zsf-compliance-actions .zsf-action-link strong{font-size:9.5px!important}.zsf-compliance-actions .zsf-action-link small{font-size:7.5px!important}.zsf-compliance-actions .zsf-action-link>b{font-size:14px!important}
.zsf-compliance-footer{display:flex;justify-content:flex-end;margin-top:12px;padding-top:10px;border-top:1px solid rgba(210,226,236,.7)}.zsf-compliance-footer .zsf-dashboard-open{padding:7px 10px!important;font-size:8.5px!important;border-radius:8px!important}
@media(max-width:1180px){.zsf-compliance-dashboard{grid-template-columns:1fr}.zsf-compliance-overview{grid-column:1}.zsf-compliance-mini-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.zsf-compliance-list{grid-template-columns:1fr}.zsf-compliance-head{flex-direction:column}.zsf-compliance-mini-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.zsf-compliance-safety-grid,.zsf-compliance-action-grid{grid-template-columns:1fr}.zsf-compliance-badge{min-width:64px}}

/* ZEMA HR 1.4.5.8 — dashboard più ariosa, azioni su riga, quattro quadranti */
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{
  padding:22px 24px 34px!important;
  background:#f7fafc!important;
}
.zsf-compliance-dashboard-v3{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
  padding:0!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-overview,
.zsf-compliance-dashboard-v3 .zsf-compliance-actions-row{
  grid-column:1 / -1!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-overview,
.zsf-compliance-dashboard-v3 .zsf-compliance-card{
  border-radius:18px!important;
  border:1px solid #d8e5ee!important;
  box-shadow:0 8px 24px rgba(12,61,99,.045)!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-overview{
  padding:24px 26px 22px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-head{
  margin-bottom:18px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-head h2,
.zsf-compliance-dashboard-v3 .zsf-compliance-card h2{
  font-size:23px!important;
  line-height:1.18!important;
  margin:4px 0 6px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-head p,
.zsf-compliance-dashboard-v3 .zsf-compliance-card p{
  font-size:13px!important;
  line-height:1.55!important;
  color:#667f92!important;
  max-width:76ch;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-updated{
  padding:7px 10px!important;
  font-size:10px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px 14px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-row{
  grid-template-columns:40px minmax(0,1fr) auto!important;
  min-height:76px!important;
  gap:12px!important;
  padding:13px 14px!important;
  border-radius:13px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-row-icon{
  width:40px!important;
  height:40px!important;
  border-radius:11px!important;
  font-size:12px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-row strong{
  font-size:12.5px!important;
  line-height:1.25!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-row small{
  margin-top:4px!important;
  font-size:10px!important;
  line-height:1.35!important;
  white-space:normal!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-badge{
  min-width:86px!important;
  padding:7px 10px!important;
  font-size:9.5px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:360px!important;
  padding:23px 24px 20px!important;
  overflow:hidden!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-card-head{
  gap:13px!important;
  margin-bottom:18px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-icon{
  flex:0 0 44px!important;
  width:44px!important;
  height:44px!important;
  border-radius:12px!important;
  font-size:16px!important;
}
.zsf-compliance-dashboard-v3 .zsf-dashboard-product-badge,
.zsf-compliance-dashboard-v3 .zsf-dashboard-eyebrow{
  font-size:9.5px!important;
  letter-spacing:.1em!important;
}

/* Azioni rapide: una sola riga, più compatta delle aree di controllo */
.zsf-compliance-dashboard-v3 .zsf-compliance-actions-row{
  min-height:0!important;
  padding:16px 18px!important;
  display:grid!important;
  grid-template-columns:minmax(210px,.7fr) minmax(0,2.3fr)!important;
  gap:18px!important;
  align-items:center!important;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions-head{
  margin:0!important;
  align-items:center!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions-head h2{
  font-size:18px!important;
  margin:2px 0 3px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions-head p{
  font-size:11px!important;
  line-height:1.35!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions-row .zsf-compliance-icon{
  width:38px!important;height:38px!important;flex-basis:38px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-action-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link{
  min-height:58px!important;
  padding:10px 12px!important;
  border-radius:11px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link strong{
  font-size:11px!important;
  line-height:1.2!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link small{
  margin-top:3px!important;
  font-size:9px!important;
  line-height:1.25!important;
  white-space:normal!important;
}

/* Quattro quadranti omogenei */
.zsf-compliance-dashboard-v3 .zsf-compliance-health,
.zsf-compliance-dashboard-v3 .zsf-compliance-training,
.zsf-compliance-dashboard-v3 .zsf-compliance-safety,
.zsf-compliance-dashboard-v3 .zsf-compliance-attendance{
  height:100%!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-health-top{
  gap:9px!important;
  margin-bottom:13px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-health-top>div{
  min-height:46px!important;
  padding:10px 11px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-health-top span:first-child{
  font-size:10.5px!important;
  line-height:1.3!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-mini-kpis{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-mini-kpis>div{
  min-height:62px!important;
  padding:10px 10px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-mini-kpis span{
  font-size:9.5px!important;
  line-height:1.25!important;
  white-space:normal!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-mini-kpis strong{
  margin-top:6px!important;
  font-size:19px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-training-list{
  gap:8px!important;
  margin-top:13px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-training-list>div{
  min-height:50px!important;
  padding:9px 11px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-training-list strong{
  font-size:10.5px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-training-list small{
  font-size:8.5px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-safety-grid,
.zsf-compliance-dashboard-v3 .zsf-compliance-attendance-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:11px!important;
}
.zsf-compliance-dashboard-v3 .zsf-safety-state,
.zsf-compliance-dashboard-v3 .zsf-attendance-state{
  min-height:82px!important;
  padding:14px!important;
  border:1px solid #dfe9ef;
  border-radius:12px;
  background:#fff;
}
.zsf-compliance-dashboard-v3 .zsf-safety-state span,
.zsf-compliance-dashboard-v3 .zsf-attendance-state span{
  display:block;
  color:#708797;
  font-size:10.5px!important;
  font-weight:800;
  line-height:1.3;
  white-space:normal!important;
}
.zsf-compliance-dashboard-v3 .zsf-safety-state strong,
.zsf-compliance-dashboard-v3 .zsf-attendance-state strong{
  display:block;
  margin-top:8px!important;
  color:#264f69;
  font-size:17px!important;
  line-height:1.15!important;
}
.zsf-compliance-dashboard-v3 .zsf-attendance-state.ok strong{color:#148054}
.zsf-compliance-dashboard-v3 .zsf-attendance-state.warning strong{color:#a56c00}
.zsf-compliance-dashboard-v3 .zsf-attendance-state.info strong{color:#1676a4}
.zsf-compliance-dashboard-v3 .zsf-attendance-state.neutral strong{color:#60778a}
.zsf-compliance-dashboard-v3 .zsf-compliance-attendance{
  background:linear-gradient(180deg,#fff 0%,#f5faff 100%)!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-icon.attendance{
  background:#eaf4ff!important;
  color:#1b6fab!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-footer{
  margin-top:auto!important;
  padding-top:14px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-footer .zsf-dashboard-open{
  padding:8px 12px!important;
  font-size:10px!important;
}

@media(max-width:1180px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{padding:18px!important}
  .zsf-compliance-dashboard-v3{grid-template-columns:1fr!important;gap:16px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-overview,
  .zsf-compliance-dashboard-v3 .zsf-compliance-actions-row{grid-column:1!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-actions-row{grid-template-columns:1fr!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-card{min-height:auto!important}
}
@media(max-width:760px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{padding:12px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-list{grid-template-columns:1fr!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-head{flex-direction:column!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-action-grid{grid-template-columns:1fr!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-mini-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-safety-grid,
  .zsf-compliance-dashboard-v3 .zsf-compliance-attendance-grid{grid-template-columns:1fr!important}
}

/* ZEMA HR 1.4.5.9 — dashboard APL: filtro aziende, compattezza, azioni visibili */
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{
  padding:14px 16px 22px!important;
}
.zsf-compliance-dashboard-v3{
  gap:12px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-overview,
.zsf-compliance-dashboard-v3 .zsf-compliance-card{
  border-radius:14px!important;
  box-shadow:0 4px 14px rgba(12,61,99,.035)!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-overview{
  padding:16px 18px 15px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-head{
  align-items:flex-start!important;
  gap:14px!important;
  margin-bottom:10px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-head h2,
.zsf-compliance-dashboard-v3 .zsf-compliance-card h2{
  font-size:18px!important;
  margin:2px 0 3px!important;
  line-height:1.18!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-head p,
.zsf-compliance-dashboard-v3 .zsf-compliance-card p{
  margin:0!important;
  font-size:10.5px!important;
  line-height:1.35!important;
}
.zsf-dashboard-head-tools{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:9px;
  margin-left:auto;
  flex-wrap:wrap;
}
.zsf-dashboard-company-filter{
  display:grid;
  gap:4px;
  min-width:230px;
}
.zsf-dashboard-company-filter>span{
  color:#658096;
  font-size:8.5px!important;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.zsf-dashboard-company-filter select{
  width:100%;
  min-height:34px!important;
  padding:6px 32px 6px 10px!important;
  border:1px solid #bdd7e7!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#174d70!important;
  font-size:10.5px!important;
  font-weight:800!important;
  box-shadow:0 2px 8px rgba(12,61,99,.04)!important;
}
.zsf-dashboard-scope{
  display:flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  margin:-2px 0 10px;
  padding:5px 9px;
  border:1px solid #d9e8f1;
  border-radius:999px;
  background:#f7fbfd;
}
.zsf-dashboard-scope strong{font-size:9px!important;color:#18779e}.zsf-dashboard-scope span{font-size:8.5px!important;color:#718797}
.zsf-compliance-dashboard-v3 .zsf-compliance-updated{
  padding:6px 8px!important;
  font-size:8.5px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-list{
  gap:7px 9px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-row{
  min-height:54px!important;
  grid-template-columns:31px minmax(0,1fr) auto!important;
  gap:9px!important;
  padding:8px 10px!important;
  border-radius:10px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-row-icon{
  width:31px!important;height:31px!important;border-radius:9px!important;font-size:10px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-row strong{font-size:10.5px!important;line-height:1.15!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-row small{font-size:8px!important;line-height:1.2!important;margin-top:2px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-badge{
  min-width:70px!important;padding:5px 8px!important;font-size:8px!important;
}

/* Azioni rapide: una riga realmente compatta e pulsanti sempre visibili */
.zsf-compliance-dashboard-v3 .zsf-compliance-actions-row{
  padding:10px 12px!important;
  grid-template-columns:170px minmax(0,1fr)!important;
  gap:12px!important;
  border-radius:13px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions-head .zsf-compliance-icon{
  width:31px!important;height:31px!important;flex-basis:31px!important;font-size:12px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions-head h2{font-size:14px!important;margin:1px 0!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions-head p{display:none!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-action-grid{gap:7px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link{
  min-height:42px!important;
  padding:7px 9px!important;
  border:1px solid #2b8fbb!important;
  background:linear-gradient(180deg,#1593bf,#117fa9)!important;
  color:#fff!important;
  border-radius:9px!important;
  box-shadow:0 3px 8px rgba(12,117,158,.12)!important;
  opacity:1!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link strong,
.zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link small,
.zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link b{
  color:#fff!important;
  opacity:1!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link strong{font-size:9.5px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link small{font-size:7.5px!important;margin-top:1px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link:hover{
  transform:translateY(-1px)!important;
  background:linear-gradient(180deg,#117fa9,#0d6f96)!important;
  box-shadow:0 6px 13px rgba(12,117,158,.18)!important;
}

/* Quattro quadranti più bassi e omogenei, stile tabellare compatto */
.zsf-compliance-dashboard-v3 .zsf-compliance-card{
  min-height:250px!important;
  padding:14px 15px 12px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-card-head{
  gap:9px!important;
  margin-bottom:10px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-icon{
  width:34px!important;height:34px!important;flex-basis:34px!important;border-radius:10px!important;font-size:13px!important;
}
.zsf-compliance-dashboard-v3 .zsf-dashboard-product-badge,
.zsf-compliance-dashboard-v3 .zsf-dashboard-eyebrow{font-size:8px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-health-top{gap:5px!important;margin-bottom:7px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-health-top>div{min-height:35px!important;padding:6px 8px!important;border-radius:8px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-health-top span:first-child{font-size:8.5px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-mini-kpis{gap:5px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-mini-kpis>div{min-height:48px!important;padding:7px!important;border-radius:8px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-mini-kpis span{font-size:7.7px!important;line-height:1.15!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-mini-kpis strong{font-size:15px!important;margin-top:4px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-training-list{gap:4px!important;margin-top:7px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-training-list>div{min-height:35px!important;padding:5px 7px!important;border-radius:7px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-training-list strong{font-size:8.5px!important}.zsf-compliance-dashboard-v3 .zsf-compliance-training-list small{font-size:7px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-safety-grid,
.zsf-compliance-dashboard-v3 .zsf-compliance-attendance-grid{gap:6px!important}
.zsf-compliance-dashboard-v3 .zsf-safety-state,
.zsf-compliance-dashboard-v3 .zsf-attendance-state{min-height:55px!important;padding:8px 9px!important;border-radius:9px!important}
.zsf-compliance-dashboard-v3 .zsf-safety-state span,
.zsf-compliance-dashboard-v3 .zsf-attendance-state span{font-size:8px!important;line-height:1.15!important}
.zsf-compliance-dashboard-v3 .zsf-safety-state strong,
.zsf-compliance-dashboard-v3 .zsf-attendance-state strong{font-size:13px!important;margin-top:5px!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-footer{padding-top:7px!important;margin-top:auto!important}
.zsf-compliance-dashboard-v3 .zsf-compliance-footer .zsf-dashboard-open{
  padding:6px 9px!important;
  border:1px solid #2b8fbb!important;
  background:#fff!important;
  color:#137da7!important;
  font-size:8.5px!important;
  font-weight:900!important;
  opacity:1!important;
}

@media(max-width:1180px){
  .zsf-dashboard-head-tools{justify-content:flex-start;margin-left:0}
  .zsf-compliance-dashboard-v3 .zsf-compliance-actions-row{grid-template-columns:1fr!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{padding:9px!important}
  .zsf-dashboard-company-filter{min-width:100%;width:100%}
  .zsf-dashboard-head-tools{width:100%}
  .zsf-compliance-dashboard-v3 .zsf-compliance-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ZEMA HR 1.4.6.0 — ottimizzazione mobile completa: login, consolle e ZEMADESK */
@media (max-width:760px){
  html,body.zsf-portal-page{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    -webkit-text-size-adjust:100%;
  }

  /* LOGIN ZEMA HR — una sola colonna, compatto e leggibile */
  body.zsf-portal-page .zsf-login-stage{
    width:100%!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:10px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zsf-login-card{
    width:100%!important;
    max-width:520px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    border-radius:18px!important;
    overflow:hidden!important;
    box-shadow:0 12px 32px rgba(17,64,105,.13)!important;
  }
  body.zsf-portal-page .zsf-login-brand{
    grid-column:1!important;
    min-height:58px!important;
    padding:13px 18px!important;
    gap:8px!important;
    align-items:center!important;
  }
  body.zsf-portal-page .zsf-login-brand-word{font-size:23px!important;letter-spacing:.09em!important}
  body.zsf-portal-page .zsf-login-brand-sub{font-size:8.5px!important;letter-spacing:.09em!important}
  body.zsf-portal-page .zsf-login-panel{
    padding:24px 20px 20px!important;
  }
  body.zsf-portal-page .zsf-login-kicker{padding:6px 9px!important;font-size:9px!important}
  body.zsf-portal-page .zsf-login-panel h1{
    margin:11px 0 7px!important;
    font-size:29px!important;
    line-height:1.08!important;
  }
  body.zsf-portal-page .zsf-login-intro{
    margin:0 0 20px!important;
    font-size:14px!important;
    line-height:1.5!important;
  }
  body.zsf-portal-page #zsf-login-form p{margin-bottom:14px!important}
  body.zsf-portal-page #zsf-login-form label{font-size:12px!important;margin-bottom:6px!important}
  body.zsf-portal-page #zsf-login-form input[type="text"],
  body.zsf-portal-page #zsf-login-form input[type="password"]{
    min-height:48px!important;
    padding:10px 13px!important;
    font-size:16px!important;
    border-radius:11px!important;
  }
  body.zsf-portal-page #zsf-login-form .login-submit{margin-top:18px!important}
  body.zsf-portal-page #zsf-login-form input[type="submit"]{
    min-height:49px!important;
    font-size:15px!important;
    border-radius:11px!important;
  }
  body.zsf-portal-page .zsf-login-links{margin-top:11px!important}
  body.zsf-portal-page .zsf-login-links a{font-size:12px!important}
  body.zsf-portal-page .zsf-login-security{
    margin-top:18px!important;
    padding:11px 12px!important;
    border-radius:11px!important;
  }
  body.zsf-portal-page .zsf-login-security>span{width:25px!important;height:25px!important;flex-basis:25px!important}
  body.zsf-portal-page .zsf-login-security p{font-size:11px!important}
  body.zsf-portal-page .zsf-login-side{
    padding:20px!important;
    min-height:0!important;
    border-radius:0!important;
  }
  body.zsf-portal-page .zsf-login-side-icon{width:42px!important;height:42px!important;font-size:19px!important;border-radius:12px!important}
  body.zsf-portal-page .zsf-login-side h2{font-size:20px!important;margin:13px 0 12px!important}
  body.zsf-portal-page .zsf-login-side ul{gap:8px!important}
  body.zsf-portal-page .zsf-login-side li{font-size:12px!important;padding-left:24px!important}
  body.zsf-portal-page .zsf-login-side li:before{width:16px!important;height:16px!important;font-size:10px!important}
  body.zsf-portal-page .zsf-login-home{margin-top:18px!important;font-size:12px!important}

  /* CONSOLLE ZEMA HR — full width utile e blocchi impilati */
  body.zsf-portal-page.zhr-portal-open .zhr-console-stage{min-height:100dvh!important}
  body.zsf-portal-page.zhr-portal-open .zhr-console-topbar{
    height:auto!important;
    min-height:58px!important;
    padding:9px 12px!important;
    position:sticky!important;
    top:0!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }
  body.zsf-portal-page.zhr-portal-open .zhr-console-brand strong{font-size:19px!important}
  body.zsf-portal-page.zhr-portal-open .zhr-console-brand span{display:none!important}
  body.zsf-portal-page.zhr-portal-open .zhr-console-user{gap:7px!important}
  body.zsf-portal-page.zhr-portal-open .zhr-console-user div{display:none!important}
  body.zsf-portal-page.zhr-portal-open .zhr-avatar{width:34px!important;height:34px!important;min-width:34px!important;font-size:11px!important}
  body.zsf-portal-page.zhr-portal-open .zhr-console-user>a{padding:8px 10px!important;font-size:11px!important;border-radius:9px!important}
  body.zsf-portal-page.zhr-portal-open .zhr-portal-home .zhr-console-main{
    width:100%!important;
    max-width:none!important;
    padding:12px 10px 34px!important;
  }
  .zhr-console-hero{
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-bottom:12px!important;
  }
  .zhr-console-hero .zhr-hero-copy{
    padding:18px!important;
    border-radius:16px!important;
  }
  .zhr-console-hero .zhr-hero-copy h1{font-size:24px!important;line-height:1.14!important}
  .zhr-console-hero .zhr-hero-copy>p{font-size:13px!important;line-height:1.5!important}
  .zhr-console-cta{
    padding:18px!important;
    border-radius:16px!important;
    animation:none!important;
  }
  .zhr-console-cta strong{font-size:22px!important}
  .zhr-console-cta p{font-size:12px!important;max-width:none!important}
  .zhr-console-hero .zhr-hero-btn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:13px 16px!important;
    animation:none!important;
  }
  .zhr-booking-section{border-radius:16px!important;margin:12px 0!important}
  .zhr-booking-head{padding:15px 14px 10px!important;gap:12px!important}
  .zhr-booking-title{gap:10px!important}
  .zhr-line-icon{width:36px!important;height:36px!important;flex-basis:36px!important;border-radius:10px!important}
  .zhr-line-icon svg{width:20px!important;height:20px!important}
  .zhr-booking-title h2,.zhr-booking-content h2{font-size:19px!important}
  .zhr-booking-title p,.zhr-booking-content p{font-size:12px!important}
  .zhr-small-cta{
    width:100%!important;
    min-height:44px!important;
    padding:11px 14px!important;
    font-size:12.5px!important;
  }
  .zhr-course-preview-scroller{padding:0 10px 12px!important;overflow:hidden!important}
  .zhr-course-preview-track{gap:10px!important;animation-duration:60s!important}
  .zhr-course-preview{flex-basis:184px!important}
  .zhr-course-preview img{height:92px!important}
  .zhr-course-preview strong{font-size:13px!important}
  .zhr-course-preview p{font-size:10.5px!important}
  .zhr-booking-duo{grid-template-columns:1fr!important;gap:10px!important;margin-top:10px!important}
  .zhr-health-access,.zhr-consulting-access{grid-template-columns:1fr!important;min-height:0!important}
  .zhr-booking-content{padding:15px!important}
  .zhr-booking-image{height:130px!important;min-height:130px!important}
  .zhr-news-access{margin-top:14px!important}
  .zhr-section-head{align-items:flex-start!important;gap:8px!important;flex-direction:column!important}
  .zhr-slider{gap:10px!important;padding-bottom:8px!important}
  .zhr-slider>*{flex-basis:82vw!important}
  .zhr-content-card{min-height:290px!important;padding:14px!important}
  .zhr-content-media{height:130px!important}
  .zhr-contact-strip{grid-template-columns:36px 1fr!important;padding:14px!important;margin-top:16px!important}
  .zhr-contact-strip .zhr-small-cta{grid-column:1/-1!important;margin-left:0!important}

  /* ZEMADESK — shell, toolbar, card e tabelle realmente touch-friendly */
  body.zsf-portal-page .zsf-app-v038 .zsf-workspace{padding-bottom:28px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-view,
  body.zsf-portal-page .zsf-app-v038 [id^="zsf-view-"]{
    width:100%!important;
    max-width:100%!important;
    padding-left:10px!important;
    padding-right:10px!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-toolbar,
  body.zsf-portal-page .zsf-app-v038 .zsf-workers-toolbar,
  body.zsf-portal-page .zsf-app-v038 .zsf-training-toolbar,
  body.zsf-portal-page .zsf-app-v038 .zsf-att-head{
    padding:11px!important;
    border-radius:12px!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-toolbar h2,
  body.zsf-portal-page .zsf-app-v038 .zsf-workers-toolbar h2,
  body.zsf-portal-page .zsf-app-v038 .zsf-training-toolbar h2,
  body.zsf-portal-page .zsf-app-v038 .zsf-att-head h2{
    font-size:20px!important;
    line-height:1.18!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-toolbar p,
  body.zsf-portal-page .zsf-app-v038 .zsf-workers-toolbar p,
  body.zsf-portal-page .zsf-app-v038 .zsf-training-toolbar p,
  body.zsf-portal-page .zsf-app-v038 .zsf-att-head p{font-size:12px!important}
  body.zsf-portal-page .zsf-app-v038 .zsf-btn,
  body.zsf-portal-page .zsf-app-v038 button,
  body.zsf-portal-page .zsf-app-v038 .button{
    min-height:42px;
    touch-action:manipulation;
  }
  body.zsf-portal-page .zsf-app-v038 input,
  body.zsf-portal-page .zsf-app-v038 select,
  body.zsf-portal-page .zsf-app-v038 textarea{
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zsf-app-v038 .zsf-table-wrap,
  body.zsf-portal-page .zsf-app-v038 .zsf-training-table-wrap,
  body.zsf-portal-page .zsf-app-v038 .zsf-att-planning-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
  }
  body.zsf-portal-page .zsf-app-v038 table{font-size:12px!important}
  body.zsf-portal-page .zsf-app-v038 th,
  body.zsf-portal-page .zsf-app-v038 td{white-space:nowrap}
  body.zsf-portal-page .zsf-app-v038 dialog,
  body.zsf-portal-page .zsf-app-v038 .zsf-modal,
  body.zsf-portal-page .zsf-app-v038 .zsf-dialog{
    max-width:calc(100vw - 20px)!important;
    max-height:88dvh!important;
  }

  /* Dashboard scadenze: filtro sopra, cards compatte, 4 quadranti verticali */
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{padding:8px!important}
  .zsf-compliance-dashboard-v3{gap:9px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-overview{padding:13px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-head{gap:9px!important;margin-bottom:8px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-head h2,
  .zsf-compliance-dashboard-v3 .zsf-compliance-card h2{font-size:17px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-head p,
  .zsf-compliance-dashboard-v3 .zsf-compliance-card p{font-size:10px!important}
  .zsf-dashboard-head-tools{width:100%!important;gap:7px!important}
  .zsf-dashboard-company-filter{width:100%!important;min-width:0!important}
  .zsf-dashboard-company-filter select{min-height:42px!important;font-size:13px!important}
  .zsf-dashboard-scope{margin:0 0 8px!important;white-space:normal!important;border-radius:10px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-list{grid-template-columns:1fr!important;gap:6px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-row{min-height:50px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-row strong{font-size:11px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-row small{font-size:8.5px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-actions-row{grid-template-columns:1fr!important;padding:10px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link{min-height:48px!important;padding:8px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link strong{font-size:10px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link small{font-size:8px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-card{min-height:0!important;padding:12px!important;border-radius:12px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-mini-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-safety-grid,
  .zsf-compliance-dashboard-v3 .zsf-compliance-attendance-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:390px){
  body.zsf-portal-page .zsf-login-stage{padding:0!important}
  body.zsf-portal-page .zsf-login-card{border-radius:0!important;border-left:0!important;border-right:0!important}
  body.zsf-portal-page .zsf-login-side{padding:18px!important}
  .zhr-course-preview{flex-basis:168px!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-action-grid,
  .zsf-compliance-dashboard-v3 .zsf-compliance-mini-kpis,
  .zsf-compliance-dashboard-v3 .zsf-compliance-safety-grid,
  .zsf-compliance-dashboard-v3 .zsf-compliance-attendance-grid{grid-template-columns:1fr!important}
}


/* ZEMA HR 1.4.6.3 — colonne lavoratori affidabili + dashboard e consolle one-screen */

/* Tabelle lavoratori: il COLGROUP governa davvero le larghezze */
.zsf-app-v038 #zsf-view-workers .zsf-workers-table{
  table-layout:fixed!important;
  max-width:none!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th[data-col],
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col]{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th[data-col]{
  position:sticky!important;
  white-space:nowrap!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col]{
  white-space:nowrap!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="worker"],
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="contract_period"],
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="training"],
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="health"]{
  white-space:normal!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="worker"] strong,
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="worker"] small,
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="company"],
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="job"]{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table col[data-col]{
  min-width:0!important;
  max-width:none!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table .zsf-check-col,
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th[data-col="select"],
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="select"]{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
  text-align:center!important;
  vertical-align:middle!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-workers-table th[data-col="select"] input,
.zsf-app-v038 #zsf-view-workers .zsf-workers-table td[data-col="select"] input,
.zsf-app-v038 #zsf-view-workers .zsf-check-col input{
  display:block!important;
  width:16px!important;
  height:16px!important;
  margin:0 auto!important;
  padding:0!important;
  vertical-align:middle!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer{
  right:-6px!important;
  width:13px!important;
  top:0!important;
  bottom:0!important;
  cursor:col-resize!important;
  touch-action:none!important;
  z-index:80!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer:after{
  left:6px!important;
  top:16%!important;
  bottom:16%!important;
  width:2px!important;
  background:#b6cddb!important;
  opacity:.72!important;
}
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer:hover:after,
.zsf-app-v038 #zsf-view-workers .zsf-col-resizer.is-dragging:after{
  width:3px!important;
  background:#0b86bb!important;
  opacity:1!important;
}
body.zsf-is-resizing-column,
body.zsf-is-resizing-column *{
  cursor:col-resize!important;
  user-select:none!important;
}


/* ZEMA HR 1.4.6.4 — transizione professionale login -> consolle */
.zhr-auth-transition{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:
    radial-gradient(circle at 78% 18%,rgba(55,186,214,.18),transparent 28%),
    radial-gradient(circle at 18% 82%,rgba(13,92,145,.13),transparent 30%),
    linear-gradient(145deg,#edf6fc 0%,#f8fbfd 48%,#e8f4fa 100%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease,visibility .28s ease;
}
.zhr-auth-transition.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.zhr-auth-transition-card{
  position:relative;
  width:min(480px,calc(100vw - 40px));
  padding:42px 42px 36px;
  border:1px solid rgba(160,198,220,.72);
  border-radius:28px;
  background:rgba(255,255,255,.88);
  box-shadow:0 30px 80px rgba(20,74,111,.17);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  text-align:center;
  overflow:hidden;
  transform:translateY(12px) scale(.985);
  transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .32s ease;
}
.zhr-auth-transition.is-visible .zhr-auth-transition-card{
  transform:translateY(0) scale(1);
}
.zhr-auth-transition-card:before,
.zhr-auth-transition-card:after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.zhr-auth-transition-card:before{
  width:220px;
  height:220px;
  top:-130px;
  right:-105px;
  background:rgba(25,169,193,.09);
}
.zhr-auth-transition-card:after{
  width:170px;
  height:170px;
  left:-100px;
  bottom:-100px;
  background:rgba(14,88,140,.07);
}
.zhr-auth-transition-logo{
  position:relative;
  z-index:1;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:7px;
  margin-bottom:10px;
  letter-spacing:.08em;
  line-height:1;
}
.zhr-auth-transition-logo .zema{
  color:#0b497c;
  font-size:38px;
  font-weight:950;
  animation:zhrLogoZema .58s cubic-bezier(.2,.9,.25,1) both;
}
.zhr-auth-transition-logo .hr{
  color:#19a8c1;
  font-size:38px;
  font-weight:950;
  animation:zhrLogoHr .58s .11s cubic-bezier(.2,.9,.25,1) both;
}
.zhr-auth-transition-subtitle{
  position:relative;
  z-index:1;
  margin:0 0 30px;
  color:#55758e;
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  animation:zhrTransitionFade .45s .2s ease both;
}
.zhr-auth-transition-status{
  position:relative;
  z-index:1;
  margin:0;
  color:#123f65;
  font-size:17px;
  font-weight:850;
  line-height:1.35;
  animation:zhrTransitionFade .45s .28s ease both;
}
.zhr-auth-transition-detail{
  position:relative;
  z-index:1;
  margin:7px 0 22px;
  color:#6c8395;
  font-size:12px;
  line-height:1.45;
  animation:zhrTransitionFade .45s .34s ease both;
}
.zhr-auth-progress{
  position:relative;
  z-index:1;
  width:100%;
  height:5px;
  border-radius:999px;
  overflow:hidden;
  background:#dfedf4;
}
.zhr-auth-progress>span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#166ca5 0%,#1aa9c1 100%);
  box-shadow:0 0 14px rgba(26,169,193,.35);
  transition:width .75s cubic-bezier(.2,.8,.2,1);
}
.zhr-auth-transition.is-visible .zhr-auth-progress>span{
  width:78%;
}
.zhr-auth-transition.is-arrival .zhr-auth-progress>span{
  width:100%;
}
.zhr-auth-loader-dots{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:18px;
}
.zhr-auth-loader-dots i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#178cad;
  opacity:.3;
  animation:zhrDot 1.1s ease-in-out infinite;
}
.zhr-auth-loader-dots i:nth-child(2){animation-delay:.13s}
.zhr-auth-loader-dots i:nth-child(3){animation-delay:.26s}
.zhr-transition-lock{overflow:hidden!important}
body.zhr-console-arriving .zhr-console-stage{
  animation:zhrConsoleReveal .62s .08s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes zhrLogoZema{from{opacity:0;transform:translateX(-14px);letter-spacing:.16em}to{opacity:1;transform:none;letter-spacing:.08em}}
@keyframes zhrLogoHr{from{opacity:0;transform:translateX(14px) scale(.94)}to{opacity:1;transform:none}}
@keyframes zhrTransitionFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes zhrDot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
@keyframes zhrConsoleReveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:680px){
  .zhr-auth-transition{padding:16px}
  .zhr-auth-transition-card{padding:34px 24px 30px;border-radius:22px}
  .zhr-auth-transition-logo .zema,.zhr-auth-transition-logo .hr{font-size:31px}
  .zhr-auth-transition-status{font-size:15px}
  .zhr-auth-transition-detail{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .zhr-auth-transition*,.zhr-auth-transition *{animation:none!important;transition-duration:.01ms!important}
  body.zhr-console-arriving .zhr-console-stage{animation:none!important}
}


/* ZEMA HR 1.4.6.5 — azioni rapide richieste operative */
.zsf-compliance-dashboard-v3 .zsf-action-request-training{
  border-color:#e7c76a!important;
  background:linear-gradient(180deg,#fffdf7,#fff8df)!important;
}
.zsf-compliance-dashboard-v3 .zsf-action-request-training strong{color:#7d5a00!important}
.zsf-compliance-dashboard-v3 .zsf-action-request-health{
  border-color:#e9b6c5!important;
  background:linear-gradient(180deg,#fffafb,#fff0f4)!important;
}
.zsf-compliance-dashboard-v3 .zsf-action-request-health strong{color:#a52a52!important}
.zsf-compliance-dashboard-v3 .zsf-action-request-training:hover,
.zsf-compliance-dashboard-v3 .zsf-action-request-health:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 10px 22px rgba(18,67,105,.08)!important;
}

/* ZEMA HR 1.4.6.6 — Azioni rapide complete e intuitive */
.zsf-compliance-dashboard-v3 .zsf-compliance-actions-row{
  grid-template-columns:145px minmax(0,1fr)!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-action-grid{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:6px!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link{
  min-width:0!important;
  min-height:44px!important;
  padding:8px 9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:6px!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link span{
  min-width:0!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link strong{
  display:block!important;
  font-size:9.5px!important;
  line-height:1.15!important;
  white-space:normal!important;
}
.zsf-compliance-dashboard-v3 .zsf-compliance-actions .zsf-action-link small{
  display:block!important;
  font-size:7px!important;
  line-height:1.15!important;
  margin-top:2px!important;
  white-space:normal!important;
}
.zsf-compliance-dashboard-v3 .zsf-action-attendance{background:linear-gradient(180deg,#2879c8,#1d67ae)!important;border-color:#2d73b8!important}
.zsf-compliance-dashboard-v3 .zsf-action-consulting{background:linear-gradient(180deg,#6c62be,#574ba6)!important;border-color:#6156ad!important}
.zsf-compliance-dashboard-v3 .zsf-action-news{background:linear-gradient(180deg,#1785a8,#126e8d)!important;border-color:#197d9e!important}
@media(max-width:1250px){
  .zsf-compliance-dashboard-v3 .zsf-compliance-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-actions-row{grid-template-columns:130px minmax(0,1fr)!important}
}
@media(max-width:760px){
  .zsf-compliance-dashboard-v3 .zsf-compliance-actions-row{grid-template-columns:1fr!important}
  .zsf-compliance-dashboard-v3 .zsf-compliance-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ZEMA HR 1.4.6.7 — dashboard friendly, operativa e compatta */
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{padding:0!important;background:#f4f8fb!important}
.zsf-friendly-dashboard{display:grid;gap:12px;padding:14px 14px 18px;color:#123f61}
.zsf-friendly-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:2px 0 0}
.zsf-friendly-kicker{display:block;color:#0a79a5;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.zsf-friendly-welcome h1{margin:5px 0 3px!important;color:#073e67!important;font-size:30px!important;line-height:1.08!important;font-weight:760!important}
.zsf-friendly-welcome p{margin:0!important;color:#687f92;font-size:11.5px!important;line-height:1.4!important}
.zsf-friendly-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.zsf-friendly-company-filter,.zsf-friendly-date{display:flex;align-items:center;gap:8px;min-height:50px;padding:8px 10px;border:1px solid #cfe0ec;border-radius:13px;background:#fff;box-shadow:0 6px 16px rgba(7,62,103,.04)}
.zsf-friendly-company-filter{flex-direction:column;align-items:flex-start;gap:3px;min-width:190px}.zsf-friendly-company-filter span,.zsf-friendly-date small{font-size:8px;font-weight:900;letter-spacing:.1em;color:#8495a4;text-transform:uppercase}.zsf-friendly-company-filter select{width:100%;border:0!important;background:transparent!important;padding:0!important;color:#123f61!important;font-size:11px!important;font-weight:800!important;outline:0!important}
.zsf-friendly-date-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e8f7fb;color:#0a8ab4;font-size:16px;font-weight:900}.zsf-friendly-date strong{display:block;margin-top:2px;color:#103f63;font-size:11px}

.zsf-friendly-priorities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.zsf-friendly-priority{display:grid;grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:10px;min-height:72px;padding:12px 13px;border:1px solid #d6e4ee;border-radius:13px;background:#fff;color:#143f62;text-align:left;cursor:pointer;box-shadow:0 5px 14px rgba(7,62,103,.035);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.zsf-friendly-priority:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(7,62,103,.08)}.zsf-friendly-priority-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font-weight:900;font-size:14px}.zsf-friendly-priority small{display:block;margin-bottom:3px;color:#7d8f9e;font-size:8px;font-weight:900;letter-spacing:.08em}.zsf-friendly-priority strong{display:block;color:#103f63;font-size:12px;line-height:1.15}.zsf-friendly-priority em{display:block;margin-top:3px;color:#7c8e9d;font-size:9px;font-style:normal}.zsf-friendly-priority b{color:#0479a8;font-size:19px}.zsf-friendly-priority.is-danger .zsf-friendly-priority-icon{background:#fff0f0;color:#df4949}.zsf-friendly-priority.is-warning .zsf-friendly-priority-icon{background:#fff7df;color:#db9700}.zsf-friendly-priority.is-info .zsf-friendly-priority-icon{background:#e9f7fb;color:#138ab2}

.zsf-friendly-main-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,.85fr);gap:10px}.zsf-friendly-panel{min-width:0;border:1px solid #d6e4ee;border-radius:14px;background:#fff;padding:12px;box-shadow:0 5px 14px rgba(7,62,103,.025)}.zsf-friendly-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.zsf-friendly-panel-head h2{margin:3px 0 0!important;color:#123f61!important;font-size:17px!important;line-height:1.12!important}.zsf-friendly-range{display:flex;gap:4px}.zsf-friendly-range button,.zsf-friendly-open{border:0;border-radius:999px;padding:6px 9px;background:#eef6fa;color:#537489;font-size:9px;font-weight:850;cursor:pointer}.zsf-friendly-range button.is-active,.zsf-friendly-open{background:#e0f4fa;color:#087ca6}
.zsf-friendly-agenda-list{display:grid;gap:5px}.zsf-friendly-agenda-row{display:grid;grid-template-columns:72px 30px minmax(0,1fr) 14px;align-items:center;gap:7px;width:100%;min-height:43px;padding:7px 8px;border:1px solid #e1eaf0;border-radius:10px;background:#fbfdfe;color:#123f61;text-align:left;cursor:pointer}.zsf-friendly-agenda-row:hover{background:#f6fbfe;border-color:#bfdbe9}.zsf-friendly-agenda-time{color:#0a78a7;font-size:9px;font-weight:900}.zsf-friendly-agenda-row i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#edf7fb;color:#0a80aa;font-style:normal;font-weight:900}.zsf-friendly-agenda-row strong{display:block;font-size:10.5px;line-height:1.15}.zsf-friendly-agenda-row small{display:block;margin-top:2px;color:#8495a4;font-size:8.5px}.zsf-friendly-agenda-row b{color:#0a78a7;font-size:16px}
.zsf-friendly-presence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.zsf-friendly-presence-grid>div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:54px;border-radius:10px;background:#f2f7fa}.zsf-friendly-presence-grid span{color:#718899;font-size:8.5px}.zsf-friendly-presence-grid strong{margin-top:3px;color:#123f61;font-size:13px}.zsf-friendly-presence-grid .alert strong{color:#d84848}.zsf-friendly-presence-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid #edf1f4;color:#60788a;font-size:9px}.zsf-friendly-presence-footer span{display:flex;align-items:center;gap:5px}.zsf-friendly-presence-footer i{width:7px;height:7px;border-radius:50%;background:#17a673}.zsf-friendly-presence-footer b{color:#d84b4b;font-size:9px}

.zsf-friendly-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.zsf-friendly-actions button,.zsf-friendly-actions a{display:flex;align-items:center;gap:7px;min-height:38px;padding:7px 9px;border:1px solid #d8e5ed;border-radius:10px;background:#fff;color:#134567;text-decoration:none!important;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.zsf-friendly-actions button:hover,.zsf-friendly-actions a:hover{transform:translateY(-2px);border-color:#abd2e3;box-shadow:0 8px 15px rgba(7,62,103,.07)}.zsf-friendly-actions span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#eaf7fb;color:#0b80a9;font-size:10px;font-weight:900}.zsf-friendly-actions strong{font-size:9.5px;line-height:1.12}

.zsf-friendly-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.zsf-friendly-status-card{min-width:0;padding:10px;border:1px solid #d9e5ed;border-radius:12px;background:#fff}.zsf-friendly-status-head{display:flex;align-items:center;gap:8px;margin-bottom:7px}.zsf-friendly-status-head>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eef7fb;color:#0a7fa8;font-weight:900;font-size:11px}.zsf-friendly-status-head small{display:block;color:#71899a;font-size:7.5px;font-weight:900;letter-spacing:.08em}.zsf-friendly-status-head strong{display:block;margin-top:2px;color:#123f61;font-size:11.5px}.zsf-friendly-status-card>div:nth-child(2){display:grid;gap:4px}.zsf-friendly-status-card>div:nth-child(2)>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 6px;border-radius:8px;background:#f7fafc}.zsf-friendly-status-card>div:nth-child(2) span{color:#708696;font-size:8.5px}.zsf-friendly-status-card>div:nth-child(2) strong{font-size:9px}.zsf-friendly-status-card strong.ok{color:#15885f}.zsf-friendly-status-card strong.warning{color:#be7f00}.zsf-friendly-status-card strong.danger{color:#cf4343}.zsf-friendly-status-card strong.info{color:#147fa7}.zsf-friendly-status-card>button{margin-top:7px;padding:5px 8px;border:0;border-radius:8px;background:#eef7fb;color:#0a78a3;font-size:8.5px;font-weight:850;cursor:pointer}.zsf-friendly-status-card.health{border-top:3px solid #dc5c88}.zsf-friendly-status-card.training{border-top:3px solid #e6aa24}.zsf-friendly-status-card.safety{border-top:3px solid #2da47a}.zsf-friendly-status-card.attendance{border-top:3px solid #368bd2}

@media(max-width:1180px){.zsf-friendly-main-grid{grid-template-columns:1fr}.zsf-friendly-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zsf-friendly-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.zsf-friendly-dashboard{padding:10px;gap:10px}.zsf-friendly-welcome{flex-direction:column}.zsf-friendly-tools{width:100%;justify-content:stretch}.zsf-friendly-company-filter{flex:1}.zsf-friendly-date{margin-left:auto}.zsf-friendly-welcome h1{font-size:24px!important}.zsf-friendly-priorities{grid-template-columns:1fr}.zsf-friendly-main-grid{grid-template-columns:1fr}.zsf-friendly-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.zsf-friendly-status-grid{grid-template-columns:1fr}.zsf-friendly-presence-grid{grid-template-columns:repeat(2,1fr)}.zsf-friendly-agenda-row{grid-template-columns:58px 28px minmax(0,1fr) 12px}}


/* ZEMA HR 1.4.6.8 — saluto azienda corretto + margini dashboard uniformi */
.zsf-friendly-dashboard{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  padding:20px 22px 24px!important;
  gap:14px!important;
}
.zsf-friendly-welcome{
  padding:0 2px 2px!important;
  margin:0!important;
}
.zsf-friendly-welcome h1{margin:6px 0 4px!important}
.zsf-friendly-tools{margin-left:auto!important}
.zsf-friendly-priorities,
.zsf-friendly-main-grid,
.zsf-friendly-actions,
.zsf-friendly-status-grid{
  margin:0!important;
}
.zsf-friendly-priorities{gap:12px!important}
.zsf-friendly-main-grid{gap:12px!important}
.zsf-friendly-actions{gap:9px!important}
.zsf-friendly-status-grid{gap:10px!important}
.zsf-friendly-panel{
  padding:14px!important;
  border-radius:14px!important;
}
.zsf-friendly-priority{
  padding:13px 14px!important;
}
.zsf-friendly-status-card{
  padding:12px!important;
}
.zsf-friendly-agenda-list{gap:6px!important}
.zsf-friendly-agenda-row{padding:8px 10px!important}
.zsf-friendly-actions button,
.zsf-friendly-actions a{padding:8px 10px!important}
.zsf-friendly-company-filter,.zsf-friendly-date{padding:9px 11px!important}

/* evita che il contenuto tocchi i bordi della workspace */
.zsf-workspace > .zsf-friendly-dashboard{
  margin:0 auto!important;
}
@media (min-width:1200px){
  .zsf-friendly-dashboard{padding-left:24px!important;padding-right:24px!important}
}
@media (max-width:900px){
  .zsf-friendly-dashboard{padding:14px 12px 18px!important;gap:12px!important}
}
@media (max-width:640px){
  .zsf-friendly-dashboard{padding:12px 10px 16px!important}
}


/* ZEMA HR 1.4.6.9 — dashboard più ampia e margini realmente ariosi */
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  background:#f4f8fb!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-dashboard{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-height:calc(100vh - 74px)!important;
  margin:0!important;
  padding:30px 38px 40px!important;
  gap:18px!important;
}
/* più respiro ai bordi e maggiore presenza visiva della dashboard */
.zsf-friendly-welcome{
  padding:2px 4px 4px!important;
  gap:24px!important;
}
.zsf-friendly-welcome h1{
  font-size:34px!important;
  line-height:1.08!important;
  margin:6px 0 5px!important;
}
.zsf-friendly-welcome p{
  font-size:13px!important;
  line-height:1.5!important;
}
.zsf-friendly-tools{
  gap:12px!important;
}
.zsf-friendly-company-filter,.zsf-friendly-date{
  min-height:58px!important;
  padding:10px 13px!important;
  border-radius:15px!important;
}
.zsf-friendly-company-filter{min-width:220px!important}
.zsf-friendly-company-filter select{font-size:12px!important}
.zsf-friendly-date strong{font-size:12px!important}

.zsf-friendly-priorities{gap:14px!important}
.zsf-friendly-priority{
  min-height:84px!important;
  padding:15px 16px!important;
  border-radius:15px!important;
  grid-template-columns:40px minmax(0,1fr) 18px!important;
  gap:12px!important;
}
.zsf-friendly-priority-icon{
  width:38px!important;
  height:38px!important;
  border-radius:11px!important;
}
.zsf-friendly-priority strong{font-size:13px!important}
.zsf-friendly-priority em{font-size:10px!important}

.zsf-friendly-main-grid{
  grid-template-columns:minmax(0,1.7fr) minmax(360px,.9fr)!important;
  gap:14px!important;
}
.zsf-friendly-panel{
  padding:16px!important;
  border-radius:16px!important;
}
.zsf-friendly-panel-head{margin-bottom:10px!important}
.zsf-friendly-panel-head h2{font-size:19px!important}
.zsf-friendly-agenda-list{gap:7px!important}
.zsf-friendly-agenda-row{
  min-height:48px!important;
  padding:9px 10px!important;
  border-radius:11px!important;
}
.zsf-friendly-agenda-row strong{font-size:11.5px!important}
.zsf-friendly-agenda-row small{font-size:9px!important}
.zsf-friendly-presence-grid{gap:8px!important}
.zsf-friendly-presence-grid>div{min-height:62px!important;border-radius:11px!important}
.zsf-friendly-presence-grid span{font-size:9.5px!important}
.zsf-friendly-presence-grid strong{font-size:15px!important}

.zsf-friendly-actions{gap:10px!important}
.zsf-friendly-actions button,.zsf-friendly-actions a{
  min-height:44px!important;
  padding:9px 11px!important;
  border-radius:11px!important;
}
.zsf-friendly-actions span{width:28px!important;height:28px!important}
.zsf-friendly-actions strong{font-size:10.5px!important}

.zsf-friendly-status-grid{gap:12px!important}
.zsf-friendly-status-card{
  padding:13px!important;
  border-radius:14px!important;
}
.zsf-friendly-status-head{margin-bottom:9px!important}
.zsf-friendly-status-head>span{width:31px!important;height:31px!important}
.zsf-friendly-status-head strong{font-size:12.5px!important}
.zsf-friendly-status-card>div:nth-child(2){gap:5px!important}
.zsf-friendly-status-card>div:nth-child(2)>div{padding:6px 7px!important}
.zsf-friendly-status-card>div:nth-child(2) span{font-size:9px!important}
.zsf-friendly-status-card>div:nth-child(2) strong{font-size:10px!important}

/* desktop ampio: bordi più generosi senza restringere l'area operativa */
@media (min-width:1440px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-dashboard{
    padding-left:44px!important;
    padding-right:44px!important;
  }
}
@media (min-width:1920px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-dashboard{
    padding-left:52px!important;
    padding-right:52px!important;
  }
}
/* tablet */
@media (max-width:1180px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-dashboard{
    padding:24px 24px 30px!important;
  }
  .zsf-friendly-main-grid{grid-template-columns:1fr!important}
}
/* mobile */
@media (max-width:820px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-dashboard{
    min-height:auto!important;
    padding:18px 14px 24px!important;
    gap:13px!important;
  }
  .zsf-friendly-welcome h1{font-size:26px!important}
}


/* ZEMA HR 1.4.7.0 — margini interni uniformi dashboard */
/* Pannelli Agenda e Presenze: più respiro tra bordo e contenuti */
.zsf-friendly-panel{
  box-sizing:border-box!important;
  padding:20px 22px!important;
}
.zsf-friendly-panel-head{
  box-sizing:border-box!important;
  padding:0 2px 2px!important;
  margin-bottom:12px!important;
}
.zsf-friendly-panel-head>div{min-width:0!important}
.zsf-friendly-panel-head h2{margin-top:4px!important}
.zsf-friendly-range,.zsf-friendly-open{flex:0 0 auto!important}

.zsf-friendly-agenda-list{
  box-sizing:border-box!important;
  gap:8px!important;
}
.zsf-friendly-agenda-row{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:52px!important;
  padding:10px 14px!important;
  grid-template-columns:78px 32px minmax(0,1fr) 16px!important;
  column-gap:10px!important;
}
.zsf-friendly-agenda-time{padding-left:2px!important}
.zsf-friendly-agenda-row>div{min-width:0!important}

/* Presenze: evita che griglia e footer tocchino i bordi */
.zsf-friendly-presence-grid{
  box-sizing:border-box!important;
  padding:2px 0!important;
  gap:9px!important;
}
.zsf-friendly-presence-grid>div{
  box-sizing:border-box!important;
  min-height:66px!important;
  padding:10px 8px!important;
}
.zsf-friendly-presence-footer{
  box-sizing:border-box!important;
  margin-top:12px!important;
  padding:12px 2px 2px!important;
}

/* Quattro quadranti: stessi margini, stessa altezza visiva e righe più ariose */
.zsf-friendly-status-grid{
  align-items:stretch!important;
}
.zsf-friendly-status-card{
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:178px!important;
  padding:15px 16px 14px!important;
}
.zsf-friendly-status-head{
  box-sizing:border-box!important;
  padding:0 1px 2px!important;
  margin-bottom:10px!important;
}
.zsf-friendly-status-head>div{min-width:0!important}
.zsf-friendly-status-card>div:nth-child(2){
  box-sizing:border-box!important;
  gap:6px!important;
}
.zsf-friendly-status-card>div:nth-child(2)>div{
  box-sizing:border-box!important;
  min-height:34px!important;
  padding:8px 10px!important;
}
.zsf-friendly-status-card>div:nth-child(2) span{
  line-height:1.25!important;
}
.zsf-friendly-status-card>button{
  margin-top:auto!important;
  align-self:flex-start!important;
  min-height:28px!important;
  padding:6px 10px!important;
}

/* Priorità: allineamento interno coerente con il resto */
.zsf-friendly-priority{
  box-sizing:border-box!important;
  padding:15px 18px!important;
}
.zsf-friendly-priority>div{min-width:0!important}

/* Azioni: bordo interno e testo più leggibile */
.zsf-friendly-actions button,.zsf-friendly-actions a{
  box-sizing:border-box!important;
  padding:10px 12px!important;
}

/* Tablet: mantieni aria senza sacrificare superficie utile */
@media(max-width:1180px){
  .zsf-friendly-panel{padding:18px!important}
  .zsf-friendly-status-card{min-height:168px!important;padding:14px!important}
  .zsf-friendly-agenda-row{grid-template-columns:68px 30px minmax(0,1fr) 14px!important;padding:9px 12px!important}
}
/* Mobile: margini compatti ma mai a filo bordo */
@media(max-width:820px){
  .zsf-friendly-panel{padding:15px!important}
  .zsf-friendly-agenda-row{grid-template-columns:56px 28px minmax(0,1fr) 12px!important;padding:9px 10px!important}
  .zsf-friendly-status-card{min-height:auto!important;padding:13px!important}
  .zsf-friendly-status-card>div:nth-child(2)>div{padding:8px 9px!important}
  .zsf-friendly-presence-footer{padding-left:1px!important;padding-right:1px!important}
}


/* ZEMA HR 1.4.7.1 — correzione definitiva margini interni dashboard */
/* Regola di base: nessun contenuto deve stare a filo del bordo della card. */
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-panel,
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-status-card,
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-priority{
  box-sizing:border-box!important;
  overflow:hidden!important;
}

/* Agenda + Presenze */
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-panel{
  padding:24px 26px 22px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-panel-head{
  padding:0 2px 6px!important;
  margin:0 0 14px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-panel-head h2{
  margin:5px 0 0!important;
  line-height:1.2!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-agenda-list{
  gap:9px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-agenda-row{
  min-height:56px!important;
  padding:12px 16px!important;
  grid-template-columns:86px 34px minmax(0,1fr) 18px!important;
  column-gap:12px!important;
  border-radius:12px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-agenda-time{
  padding-left:0!important;
  line-height:1.25!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-agenda-row strong{
  font-size:12px!important;
  line-height:1.25!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-agenda-row small{
  margin-top:3px!important;
  font-size:9.5px!important;
  line-height:1.25!important;
}

body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-presence-grid{
  gap:10px!important;
  padding:2px 0 0!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-presence-grid>div{
  min-height:70px!important;
  padding:12px 10px!important;
  border-radius:12px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-presence-footer{
  margin-top:14px!important;
  padding:13px 2px 0!important;
}

/* Quattro quadranti */
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-status-grid{
  gap:14px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-status-card{
  min-height:190px!important;
  padding:18px 20px 16px!important;
  border-radius:15px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-status-head{
  padding:0 0 4px!important;
  margin:0 0 12px!important;
  gap:10px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-status-head>span{
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-status-head strong{
  font-size:13px!important;
  line-height:1.2!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-status-card>div:nth-child(2){
  gap:7px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-status-card>div:nth-child(2)>div{
  min-height:38px!important;
  padding:9px 12px!important;
  border-radius:9px!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-status-card>div:nth-child(2) span{
  font-size:9.5px!important;
  line-height:1.3!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-status-card>div:nth-child(2) strong{
  font-size:10.5px!important;
  line-height:1.2!important;
}
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-status-card>button{
  margin-top:auto!important;
  padding:7px 11px!important;
  min-height:30px!important;
}

/* Priorità */
body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-priority{
  padding:16px 20px!important;
  min-height:86px!important;
}

/* Tablet */
@media(max-width:1180px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-panel{padding:20px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-agenda-row{grid-template-columns:74px 32px minmax(0,1fr) 16px!important;padding:11px 14px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-status-card{padding:16px 17px 15px!important}
}
/* Mobile */
@media(max-width:820px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-panel{padding:17px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-agenda-row{grid-template-columns:62px 30px minmax(0,1fr) 14px!important;padding:10px 12px!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-status-card{padding:15px!important;min-height:auto!important}
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-status-card>div:nth-child(2)>div{padding:9px 10px!important}
}


/* ZEMA HR 1.4.7.2 — dashboard compatta senza blocco priorità */
.zsf-friendly-dashboard{
  gap:10px!important;
  padding-top:14px!important;
}
.zsf-friendly-welcome{
  margin-bottom:2px!important;
}
.zsf-friendly-main-grid{
  margin-top:0!important;
  gap:12px!important;
}
.zsf-friendly-panel{
  padding:14px 16px!important;
}
.zsf-friendly-agenda-list{
  gap:7px!important;
}
.zsf-friendly-actions{
  margin-top:0!important;
  gap:8px!important;
}
.zsf-friendly-status-grid{
  margin-top:0!important;
  gap:10px!important;
}
@media(min-width:1181px){
  .zsf-friendly-dashboard{
    min-height:calc(100vh - 92px);
  }
  .zsf-friendly-main-grid{
    grid-template-columns:minmax(0,1.7fr) minmax(360px,.85fr)!important;
  }
}

/* ZEMA HR 1.5.0.0 — Front Office corporate AUTOMOTIVE SRL */
.zhr-corporate-app .zsf-sidebar{background:#f5f9fc}
.zhr-brand-button{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:3px;text-decoration:none!important}
.zhr-brand-wordmark{font-size:24px;font-weight:950;letter-spacing:.08em;color:#0a4b80;line-height:1}.zhr-brand-wordmark b{color:#16a7bf;margin-left:4px}.zhr-brand-button small{font-size:8px!important;letter-spacing:.18em!important;color:#527594!important;text-transform:uppercase}
.zhr-corporate-nav .zhr-workers-parent{position:relative}.zhr-nav-caret{margin-left:auto;font-size:14px}.zhr-workers-subnav{display:grid;gap:4px;padding:0 8px 8px 34px}.zhr-workers-subnav[hidden]{display:none!important}.zhr-workers-subnav button{min-height:34px!important;padding:7px 10px!important;border-radius:8px!important;font-size:12px!important;background:transparent!important;border:1px solid transparent!important;color:#24557b!important;text-align:left!important}.zhr-workers-subnav button:hover,.zhr-workers-subnav button.is-active{background:#fff!important;border-color:#cee0ee!important;color:#0a6fa3!important}
.zhr-corporate-search-wrap{flex:1!important;max-width:760px!important;margin:0 auto!important}.zhr-global-search{position:relative;width:100%;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);border-radius:12px;padding:8px 14px}.zhr-global-search>span{color:#fff;font-size:20px}.zhr-global-search input{width:100%!important;border:0!important;background:transparent!important;color:#fff!important;outline:0!important;font-size:14px!important;padding:5px 0!important;box-shadow:none!important}.zhr-global-search input::placeholder{color:rgba(255,255,255,.82)}.zhr-global-search-results{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:90;background:#fff;border:1px solid #d4e3ed;border-radius:12px;box-shadow:0 18px 40px rgba(17,64,105,.18);overflow:hidden}.zhr-global-search-results button{display:flex;width:100%;justify-content:space-between;align-items:center;padding:10px 12px;border:0;border-bottom:1px solid #edf2f6;background:#fff;color:#123f66;text-align:left}.zhr-global-search-results button:hover{background:#f2f8fc}.zhr-global-search-results small{color:#6b8598}.zhr-search-empty{padding:14px;color:#6b8598}
.zhr-corporate-app .zsf-workspace{padding-bottom:40px}.zhr-corporate-app .zsf-toolbar{padding:20px 22px!important}.zhr-corporate-app .zsf-worker-stats,.zhr-corporate-app .zsf-training-stats,.zhr-corporate-app .zsf-health-stats{margin:14px 0!important}.zhr-corporate-app .zsf-worker-controls,.zhr-corporate-app .zsf-training-controls{gap:8px!important;padding:10px!important;border-radius:12px!important;background:#f7fafc!important;border:1px solid #dce8f1!important}
.zhr-automotive-workers-table{min-width:1380px!important}.zhr-automotive-workers-table th,.zhr-automotive-workers-table td{padding:9px 10px!important;vertical-align:middle!important}.zhr-doc-link{display:inline-flex;padding:5px 9px;border:1px solid #b9d9e9;border-radius:8px;text-decoration:none!important;color:#087ead!important;background:#f3fbff;font-weight:800;font-size:11px}.zhr-doc-missing{color:#9aa9b4}
.zhr-health-docs-panel{display:block!important}.zhr-health-docs-panel>.zsf-med-company-docs{width:100%!important}.zhr-corporate-app .zsf-med-doc-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}.zhr-corporate-app .zsf-health-table{min-width:1060px!important}
.zhr-corporate-attendance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.zhr-corporate-attendance-summary article{padding:12px 14px;border:1px solid #d8e6ef;border-radius:12px;background:#fff}.zhr-corporate-attendance-summary span{display:block;font-size:11px;color:#648096}.zhr-corporate-attendance-summary strong{display:block;margin-top:4px;font-size:22px;color:#0b4d77}.zhr-corporate-filterbar{display:flex;gap:10px;align-items:center;margin:10px 0 12px}.zhr-corporate-filterbar .zsf-worker-search-wrap{flex:1}.zhr-corporate-filterbar select{min-width:190px}.zhr-corporate-attendance-wrap table{min-width:1120px}.zhr-corporate-app #zsf-view-attendance>.zhr-advanced-attendance-tabs,.zhr-corporate-app #zsf-view-attendance>.zsf-att-pane{display:none!important}
.zhr-corporate-app #zsf-safety-company-selector+*{} .zhr-corporate-app .zsf-safety-company-bar label:has(#zsf-safety-company-selector){font-size:0}.zhr-corporate-app .zsf-safety-company-bar label:has(#zsf-safety-company-selector)::before{content:'Sede operativa';font-size:12px;font-weight:800;color:#315d7d;display:block;margin-bottom:6px}
@media(max-width:1000px){.zhr-corporate-app .zsf-hero{gap:10px}.zhr-corporate-search-wrap{max-width:none!important}.zhr-corporate-app .zsf-med-doc-grid{grid-template-columns:1fr!important}.zhr-corporate-attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.zhr-corporate-filterbar{flex-direction:column;align-items:stretch}.zhr-corporate-filterbar select{width:100%;min-width:0}}
@media(max-width:650px){.zhr-global-search{padding:7px 10px}.zhr-corporate-attendance-summary{grid-template-columns:1fr 1fr}.zhr-brand-wordmark{font-size:20px}.zhr-workers-subnav{padding-left:22px}}
.zhr-bo-sites{margin-top:18px;padding:16px;border:1px solid #d9e7f0;border-radius:14px;background:#f8fbfd}.zhr-bo-sites h3{margin:4px 0 5px;color:#0c4d78}.zhr-bo-sites p{margin:0;color:#617d91;font-size:12px}.zhr-bo-site-grid{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.zhr-bo-site-grid span{display:inline-flex;padding:7px 11px;border-radius:999px;background:#eaf6fb;color:#0879a6;font-weight:800;font-size:12px;border:1px solid #cce4ef}

/* ZEMA HR 1.5.0.1 — correzione Front Office AUTOMOTIVE */
@media(min-width:1001px){
  .zhr-corporate-app .zsf-shell{grid-template-columns:210px minmax(0,1fr)!important}
  .zhr-corporate-app .zsf-view{padding-left:24px!important;padding-right:24px!important}
  .zhr-corporate-app .zsf-hero{padding-left:24px!important;padding-right:24px!important}
}
.zhr-corporate-app .zsf-side-nav{padding:12px 9px!important;gap:7px!important}
.zhr-corporate-nav .zhr-workers-parent{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) 20px!important;
  gap:8px!important;
  min-height:48px!important;
  padding:9px 10px!important;
}
.zhr-corporate-nav .zhr-workers-parent .zhr-nav-caret{
  grid-column:3!important;
  justify-self:center!important;
  transition:transform .2s ease!important;
}
.zhr-corporate-nav .zhr-workers-parent[aria-expanded="true"] .zhr-nav-caret{transform:rotate(180deg)}
.zhr-workers-subnav{
  display:grid;
  gap:5px!important;
  padding:2px 6px 8px 12px!important;
  margin:0!important;
}
.zhr-workers-subnav[hidden]{display:none!important}
.zhr-corporate-app .zsf-side-nav .zhr-workers-subnav button{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  height:auto!important;
  padding:8px 11px!important;
  margin:0!important;
  border-radius:9px!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:750!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  text-align:left!important;
  transform:none!important;
}
.zhr-corporate-app .zsf-side-nav .zhr-workers-subnav button:hover{transform:none!important}
.zhr-corporate-app .zsf-toolbar{
  margin-top:18px!important;
  margin-bottom:10px!important;
  padding:18px 20px!important;
  border-radius:14px!important;
}
.zhr-corporate-app .zsf-worker-stats{
  margin:8px 0 10px!important;
  gap:10px!important;
}
.zhr-corporate-app .zsf-worker-controls{
  margin:0 0 10px!important;
  padding:9px 10px!important;
}
.zhr-corporate-app .zsf-columns-panel{
  margin:0 0 10px!important;
  padding:14px!important;
  border-radius:12px!important;
}
.zhr-corporate-app .zsf-workers-table-wrap{
  margin:0!important;
  border-radius:12px!important;
  border:1px solid #d7e5ee!important;
  overflow:auto!important;
  background:#fff!important;
}
.zhr-automotive-workers-table{
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
.zhr-automotive-workers-table th,.zhr-automotive-workers-table td{
  padding:10px 11px!important;
  line-height:1.3!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.zhr-automotive-workers-table thead th{
  white-space:nowrap!important;
  vertical-align:middle!important;
}
.zhr-automotive-workers-table td[data-col="tax_code"]{font-family:inherit!important;white-space:nowrap!important}
.zhr-automotive-workers-table td[data-col="actions"]{white-space:nowrap!important}
.zhr-corporate-app .zsf-table-pagination{padding:10px 8px!important}
@media(max-width:1000px){
  .zhr-workers-subnav{padding-left:10px!important}
  .zhr-corporate-app .zsf-view{padding-left:14px!important;padding-right:14px!important}
}

/* ZEMA HR 1.5.0.2 — refinements Front Office AUTOMOTIVE */
.zhr-corporate-app #zsf-demo-note{display:none!important}
.zhr-corporate-app .zsf-sidebar{background:#f5f9fc!important}
.zhr-corporate-app .zsf-brand{padding:0!important;background:linear-gradient(115deg,#0b1f3a 0%,#123c70 48%,#0f7490 100%)!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
.zhr-corporate-app .zsf-brand-button{margin:12px!important;background:#ffffff!important;border:1px solid #b8d8ea!important;box-shadow:none!important}
.zhr-corporate-app .zsf-main-area{background:#f4f8fc!important}
.zhr-corporate-app .zsf-hero{min-height:82px!important;padding:12px 24px!important;gap:16px!important;align-items:center!important;overflow:visible!important;border-bottom:1px solid #c8dbe8!important}
.zhr-corporate-app .zsf-hero:after{display:none!important}
.zhr-corporate-app .zsf-sidebar-toggle{margin:0!important;align-self:center!important}
.zhr-corporate-search-wrap{max-width:none!important;margin:0!important;flex:1 1 auto!important}
.zhr-global-search{max-width:760px!important;margin:0 auto 0 0!important;z-index:120!important}
.zhr-global-search-results{max-height:320px;overflow:auto}
.zhr-corporate-app .zsf-workspace{padding-top:0!important}
.zhr-corporate-app #zsf-view-overview{padding-top:6px!important}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard{padding-top:2px!important}
.zhr-corporate-app .zsf-friendly-welcome{padding-top:0!important;margin-top:0!important;align-items:center!important}
.zhr-corporate-app .zsf-friendly-welcome h1{margin-top:2px!important}
.zhr-corporate-nav .zhr-workers-parent{position:relative!important;border:1px solid #d7e4ee!important;background:#fff!important}
.zhr-corporate-nav .zhr-workers-parent .zhr-workers-label{display:block;min-width:0}
.zhr-corporate-nav .zhr-workers-parent .zhr-nav-caret{display:grid!important;place-items:center!important;width:24px!important;height:24px!important;border-radius:999px!important;background:#edf6ff!important;color:#0a6fa3!important;font-size:14px!important;font-weight:900!important}
.zhr-corporate-nav .zhr-workers-parent[aria-expanded="true"]{border-color:#94c8e2!important;box-shadow:0 0 0 2px rgba(20,126,177,.08)!important}
.zhr-corporate-nav .zhr-workers-parent[aria-expanded="true"] .zhr-nav-caret{background:#0a6fa3!important;color:#fff!important}
.zhr-workers-subnav{padding-top:6px!important;padding-bottom:10px!important}
.zhr-corporate-app .zsf-side-nav .zhr-workers-subnav button{font-size:13px!important;line-height:1.25!important;padding:10px 12px!important;min-height:40px!important}
.zhr-corporate-app .zsf-side-nav .zhr-workers-subnav button:hover,.zhr-corporate-app .zsf-side-nav .zhr-workers-subnav button.is-active{background:#fff!important;border-color:#bfd9e8!important;color:#0a6fa3!important}
@media(min-width:1001px){
  .zhr-corporate-app .zsf-shell{grid-template-columns:220px minmax(0,1fr)!important}
}

/* ZEMA HR 1.5.0.3 — fix geometrico sidebar/header + menu Lavoratori */
@media(min-width:761px){
  body.zsf-portal-page .zhr-corporate-app .zsf-shell{
    display:grid!important;
    grid-template-columns:220px minmax(0,1fr)!important;
    column-gap:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-sidebar{
    width:220px!important;
    min-width:220px!important;
    max-width:220px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-main-area{
    margin:0!important;
    padding:0!important;
    min-width:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-hero{
    margin:0!important;
    width:100%!important;
    border-radius:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app.is-sidebar-collapsed .zsf-shell{
    grid-template-columns:0 minmax(0,1fr)!important;
  }
  body.zsf-portal-page .zhr-corporate-app.is-sidebar-collapsed .zsf-sidebar{
    width:0!important;min-width:0!important;max-width:0!important;
  }
}
.zhr-corporate-app .zhr-workers-subnav[hidden]{display:none!important}
.zhr-corporate-app .zhr-workers-subnav:not([hidden]){display:grid!important}
.zhr-corporate-app #zsf-view-overview{margin-top:0!important;padding-top:0!important}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard{margin-top:0!important;padding-top:0!important}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-welcome{margin-top:0!important;padding-top:4px!important}

/* ZEMA HR 1.5.0.6 — pulsanti Anagrafiche con controlli nativi */
.zsf-app-v038 .zsf-native-import-form{display:inline-flex!important;align-items:center!important;margin:0!important;padding:0!important}
.zsf-app-v038 .zsf-native-file-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;padding:0!important;margin:-1px!important}
.zsf-app-v038 .zsf-native-file-label{display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;user-select:none!important;margin:0!important}
.zsf-app-v038 .zsf-native-file-label:focus-visible{outline:3px solid rgba(14,165,233,.28)!important;outline-offset:2px!important}


/* ZEMA HR 1.5.1.0 — doppia area Lavoratori / Anagrafiche AUTOMOTIVE */
.zhr-datev-table-wrap{margin-top:10px}.zhr-datev-table{min-width:1180px}.zhr-datev-table th,.zhr-datev-table td{white-space:nowrap}.zhr-datev-table th:nth-child(1){width:88px}.zhr-datev-table th:nth-child(4),.zhr-datev-table th:nth-child(5),.zhr-datev-table th:nth-child(9){width:130px}.zhr-datev-table th:nth-child(8){width:76px;text-align:right}.zhr-datev-table td:nth-child(8){text-align:right}.zhr-datev-table th:last-child{width:110px}.zhr-datev-worker-dialog{width:min(1100px,94vw)!important;max-width:1100px!important}.zhr-datev-tabs{display:flex;gap:8px;border-bottom:1px solid #d6e2ee;margin:0 0 16px}.zhr-datev-tabs button{border:0;background:transparent;padding:11px 14px;font-weight:800;color:#4b6479;cursor:pointer;border-bottom:3px solid transparent}.zhr-datev-tabs button.is-active{color:#0875b5;border-bottom-color:#0875b5}.zhr-datev-tab-panel{display:none}.zhr-datev-tab-panel.is-active{display:block}.zhr-datev-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.zhr-datev-card-grid article{border:1px solid #d9e4ee;border-radius:12px;padding:12px;background:#fff}.zhr-datev-card-grid span{display:block;font-size:11px;color:#6b7f91;text-transform:uppercase;font-weight:800;margin-bottom:5px}.zhr-datev-card-grid strong{font-size:14px;color:#173a57}.zhr-datev-history{margin-top:18px}.zhr-datev-history h3{margin:0 0 10px}.zhr-datev-history-row{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:12px;padding:10px 12px;border-top:1px solid #e3eaf1}.zhr-datev-history-row:first-child{border-top:0}.zhr-datev-controls{margin-top:8px}@media(max-width:900px){.zhr-datev-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ZEMA HR 1.5.1.1 — import CSV nativo, sedi fisse e header cromaticamente uniforme */
.zhr-corporate-app .zsf-brand,
.zhr-corporate-app .zsf-hero{background:#147fa7!important;}
.zhr-corporate-app .zsf-hero:before,
.zhr-corporate-app .zsf-hero:after{display:none!important;}
.zsf-app-v038 .zsf-native-import-form{display:inline-flex!important;align-items:center!important;gap:6px!important;}
.zsf-app-v038 .zsf-native-import-label{cursor:pointer!important;margin:0!important;}
.zsf-app-v038 .zsf-native-import-submit{min-width:auto!important;padding-left:10px!important;padding-right:10px!important;font-size:12px!important;}
.zsf-app-v038 .zsf-native-file-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;padding:0!important;margin:-1px!important;}


/* ZEMA HR 1.5.1.3 — compattezza Lavoratori, anagrafica ordinata, filtro sede rimosso da Anagrafiche */
.zhr-corporate-app #zsf-view-workers-datev .zsf-toolbar{padding:12px 16px!important;min-height:auto!important}
.zhr-corporate-app #zsf-view-workers-datev .zsf-toolbar h2{margin:2px 0 2px!important;font-size:21px!important;line-height:1.15!important}
.zhr-corporate-app #zsf-view-workers-datev .zsf-toolbar p{margin:0!important;font-size:12px!important}
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-controls{display:grid!important;grid-template-columns:minmax(320px,1fr) 220px 130px!important;gap:8px!important;padding:8px 10px!important;margin-top:6px!important}
.zhr-corporate-app #zsf-view-workers-datev .zsf-worker-search-wrap,
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-controls select,
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-controls button{min-height:36px!important;height:36px!important}
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table-wrap{margin-top:6px!important;border-radius:10px!important}
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table th{padding:8px 10px!important;font-size:11px!important;line-height:1.15!important}
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table td{padding:7px 10px!important;font-size:12px!important;line-height:1.15!important;height:36px!important}
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table .zsf-secondary{padding:6px 10px!important;min-height:30px!important;font-size:11px!important;border-radius:8px!important}
.zhr-corporate-app #zsf-view-workers-datev .zsf-table-pagination{padding:6px 8px!important;min-height:32px!important}

.zhr-corporate-app #zsf-view-workers .zsf-worker-controls{grid-template-columns:minmax(300px,1fr) auto auto!important}
.zhr-corporate-app #zsf-view-workers .zsf-worker-controls #zsf-worker-company-filter{display:none!important}

.zhr-datev-worker-dialog{width:min(900px,92vw)!important;max-width:900px!important;padding:0!important;border-radius:14px!important;overflow:hidden!important}
.zhr-datev-worker-dialog .zsf-dialog-head{padding:14px 16px 10px!important;align-items:flex-start!important;border-bottom:1px solid #e0e9f1!important}
.zhr-datev-worker-dialog .zsf-dialog-head h2{font-size:22px!important;line-height:1.15!important;margin:2px 0 0!important}
.zhr-datev-worker-dialog .zsf-section-kicker{font-size:10px!important}
.zhr-datev-worker-dialog .zhr-datev-tabs{margin:0!important;padding:0 16px!important;background:#fbfdff!important}
.zhr-datev-worker-dialog .zhr-datev-tabs button{padding:9px 12px!important;font-size:13px!important}
.zhr-datev-worker-dialog .zhr-datev-tab-panel{padding:12px 16px 4px!important}
.zhr-datev-worker-dialog .zhr-datev-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
.zhr-datev-worker-dialog .zhr-datev-card-grid article{border-radius:9px!important;padding:9px 10px!important;min-height:62px!important;background:#fff!important}
.zhr-datev-worker-dialog .zhr-datev-card-grid span{font-size:9px!important;line-height:1.15!important;margin-bottom:4px!important;letter-spacing:.01em!important}
.zhr-datev-worker-dialog .zhr-datev-card-grid strong{font-size:12px!important;line-height:1.3!important;overflow-wrap:anywhere!important}
.zhr-datev-worker-dialog .zsf-dialog-actions{padding:8px 16px 12px!important;margin:0!important;border-top:0!important}
.zhr-datev-worker-dialog .zsf-dialog-actions .zsf-secondary{min-height:32px!important;padding:6px 12px!important}
.zhr-datev-worker-dialog .zhr-datev-history{margin-top:10px!important;border-top:1px solid #e2eaf1!important;padding-top:10px!important}
.zhr-datev-worker-dialog .zhr-datev-history h3{font-size:14px!important;margin:0 0 6px!important}
.zhr-datev-worker-dialog .zhr-datev-history-row{padding:7px 8px!important;font-size:12px!important}
@media(max-width:900px){
  .zhr-corporate-app #zsf-view-workers-datev .zhr-datev-controls{grid-template-columns:1fr!important}
  .zhr-datev-worker-dialog .zhr-datev-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ZEMA HR 1.5.1.4 — selezione multipla e colonne interattive */
.zhr-datev-table th,.zhr-datev-table td{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zhr-datev-table .zsf-check-col,.zhr-automotive-workers-table .zsf-check-col{width:38px;min-width:38px;max-width:38px;text-align:center;padding-left:6px!important;padding-right:6px!important}
.zhr-datev-table .zsf-check-col input,.zhr-automotive-workers-table .zsf-check-col input{width:16px;height:16px;margin:0;vertical-align:middle;cursor:pointer}
.zhr-bulk-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
.zsf-bulk-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.zsf-bulk-bar[hidden]{display:none!important}
.zhr-datev-table-wrap{overflow-x:auto;max-width:100%}
.zhr-datev-table .zsf-col-resizer{position:absolute;right:-4px;top:0;width:9px;height:100%;cursor:col-resize;z-index:4;touch-action:none}
.zhr-datev-table .zsf-col-resizer:hover,.zhr-datev-table .zsf-col-resizer.is-dragging{background:rgba(0,112,178,.16)}
.zhr-datev-table th.zsf-sortable{cursor:pointer;padding-right:20px}
.zhr-datev-table th.zsf-sortable:after{content:'↕';position:absolute;right:8px;opacity:.35;font-size:11px}
.zhr-datev-table th.zsf-sort-asc:after{content:'↑';opacity:1}.zhr-datev-table th.zsf-sort-desc:after{content:'↓';opacity:1}
.zhr-datev-table .zsf-col-hidden{display:none!important}
body.zsf-is-resizing-column{cursor:col-resize!important;user-select:none!important}


/* ZEMA HR 1.5.1.5 — filtri su una riga, ricerca corretta, paginazione uniforme */
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-controls{display:grid!important;grid-template-columns:minmax(300px,1fr) 140px 180px 130px!important;gap:8px!important;align-items:center!important}
.zhr-corporate-app #zsf-view-workers-datev .zsf-worker-search-wrap{position:relative!important;min-width:0!important}
.zhr-corporate-app #zsf-view-workers-datev .zsf-worker-search-wrap>span{position:absolute!important;left:12px!important;top:50%!important;transform:translateY(-50%)!important;z-index:2!important;pointer-events:none!important;color:#6a839b!important;font-size:16px!important}
.zhr-corporate-app #zsf-view-workers-datev .zsf-worker-search-wrap input{width:100%!important;padding-left:36px!important;padding-right:12px!important;box-sizing:border-box!important}
.zhr-corporate-app #zsf-view-workers .zsf-worker-search-wrap{position:relative!important}
.zhr-corporate-app #zsf-view-workers .zsf-worker-search-wrap>span{left:12px!important;z-index:2!important}
.zhr-corporate-app #zsf-view-workers .zsf-worker-search-wrap input{padding-left:36px!important;box-sizing:border-box!important}
.zhr-corporate-app #zsf-view-workers-datev .zsf-table-pagination .zsf-pagination-actions{display:flex!important;align-items:center!important;gap:6px!important}
.zhr-corporate-app #zsf-view-workers-datev .zsf-table-pagination select,
.zhr-corporate-app #zsf-view-workers .zsf-table-pagination select{min-width:66px!important;height:30px!important;padding:3px 24px 3px 8px!important}
.zhr-corporate-app #zsf-view-workers-datev .zsf-table-pagination button,
.zhr-corporate-app #zsf-view-workers .zsf-table-pagination button{min-width:30px!important;height:30px!important;padding:0 8px!important}
@media(max-width:1050px){.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-controls{grid-template-columns:minmax(260px,1fr) 125px 155px 120px!important}}
@media(max-width:820px){.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-controls{grid-template-columns:1fr 1fr!important}.zhr-corporate-app #zsf-view-workers-datev .zsf-worker-search-wrap{grid-column:1/-1!important}}

/* ZEMA HR 1.5.1.6 — tabella Lavoratori adattiva, 10 righe di default, densità maggiore */
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
}
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table{
  margin:0!important;
}
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table th{
  padding:5px 7px!important;
  height:30px!important;
  font-size:10.5px!important;
  line-height:1.05!important;
}
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table td{
  padding:4px 7px!important;
  height:31px!important;
  font-size:11.25px!important;
  line-height:1.08!important;
}
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table td strong{font-size:11.25px!important}
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table .zsf-check-col{padding-left:4px!important;padding-right:4px!important}
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table .zsf-check-col input{width:14px!important;height:14px!important}
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table .zsf-row-action{
  min-height:26px!important;
  height:26px!important;
  padding:3px 8px!important;
  font-size:10.5px!important;
  border-radius:7px!important;
}
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-controls{
  padding:6px 8px!important;
  gap:7px!important;
  margin-bottom:5px!important;
}
.zhr-corporate-app #zsf-view-workers-datev .zsf-worker-search-wrap,
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-controls select,
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-controls button{
  min-height:33px!important;
  height:33px!important;
  font-size:11.5px!important;
}
.zhr-corporate-app #zsf-view-workers-datev .zsf-worker-search-wrap input{font-size:11.5px!important}
.zhr-corporate-app #zsf-view-workers-datev .zsf-table-pagination{
  padding:4px 7px!important;
  min-height:29px!important;
  font-size:10.5px!important;
}
.zhr-corporate-app #zsf-view-workers-datev .zsf-table-pagination select,
.zhr-corporate-app #zsf-view-workers-datev .zsf-table-pagination button{
  height:27px!important;
  min-height:27px!important;
  font-size:10.5px!important;
}

/* ZEMA HR 1.5.1.7 — dashboard: presenze operative in primo piano */
.zsf-friendly-main-grid{
  grid-template-columns:minmax(300px,.72fr) minmax(620px,1.78fr)!important;
  align-items:stretch!important;
}
.zsf-friendly-agenda{min-width:0!important}
.zsf-friendly-presence{min-width:0!important;display:flex!important;flex-direction:column!important}
.zsf-friendly-presence-summary{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin-bottom:8px!important;
}
.zsf-friendly-presence-summary>div{
  display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:36px!important;
  padding:6px 9px!important;border-radius:9px!important;background:#f2f7fa!important;
}
.zsf-friendly-presence-summary span{color:#718899!important;font-size:8.5px!important}
.zsf-friendly-presence-summary strong{margin:0!important;color:#123f61!important;font-size:13px!important}
.zsf-friendly-presence-summary .alert strong{color:#d84848!important}
.zsf-friendly-presence-workers-wrap{
  flex:1 1 auto!important;min-height:0!important;max-height:365px!important;overflow:auto!important;
  border:1px solid #e1eaf0!important;border-radius:10px!important;background:#fff!important;
}
.zsf-friendly-presence-workers{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important}
.zsf-friendly-presence-workers th{
  position:sticky!important;top:0!important;z-index:2!important;background:#eaf4f9!important;color:#16486a!important;
  font-size:8.5px!important;font-weight:900!important;text-align:left!important;padding:7px 9px!important;border-bottom:1px solid #d9e6ee!important;
}
.zsf-friendly-presence-workers td{
  padding:6px 9px!important;border-bottom:1px solid #edf2f5!important;color:#284f6b!important;font-size:9.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.zsf-friendly-presence-workers th:nth-child(1),.zsf-friendly-presence-workers td:nth-child(1){width:48%!important}
.zsf-friendly-presence-workers th:nth-child(2),.zsf-friendly-presence-workers td:nth-child(2){width:26%!important}
.zsf-friendly-presence-workers th:nth-child(3),.zsf-friendly-presence-workers td:nth-child(3){width:26%!important}
.zsf-friendly-presence-workers tbody tr:last-child td{border-bottom:0!important}
.zsf-friendly-presence-state{display:inline-flex!important;align-items:center!important;gap:5px!important;font-size:8.5px!important;font-weight:900!important}
.zsf-friendly-presence-state:before{content:"";width:7px;height:7px;border-radius:50%;background:#d9534f;flex:0 0 7px}
.zsf-friendly-presence-state.is-present{color:#13835e!important}.zsf-friendly-presence-state.is-present:before{background:#19a974}
.zsf-friendly-presence-state.is-absent{color:#c74646!important}
.zsf-friendly-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:1180px){
  .zsf-friendly-main-grid{grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr)!important}
}
@media(max-width:920px){
  .zsf-friendly-main-grid{grid-template-columns:1fr!important}
  .zsf-friendly-presence-workers-wrap{max-height:320px!important}
  .zsf-friendly-status-grid{grid-template-columns:1fr!important}
}


/* ZEMA HR 1.5.1.8 — Anagrafiche e Lavoratori occupano sempre tutta la larghezza disponibile */
.zhr-corporate-app #zsf-view-workers .zsf-workers-table-wrap,
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table-wrap{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.zhr-corporate-app #zsf-view-workers .zhr-automotive-workers-table,
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table{
  margin:0!important;
  max-width:none!important;
}


/* ZEMA HR 1.5.1.9 — tabelle realmente adattive + dashboard in una sola schermata */
.zhr-corporate-app #zsf-view-workers .zsf-workers-table-wrap,
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table-wrap{
  display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;
}
.zhr-corporate-app #zsf-view-workers .zhr-automotive-workers-table,
.zhr-corporate-app #zsf-view-workers-datev .zhr-datev-table{
  width:100%!important;max-width:none!important;margin:0!important;
}

@media (min-width:921px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{
    height:calc(100dvh - 72px)!important;min-height:0!important;overflow:hidden!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-dashboard{
    height:100%!important;min-height:0!important;padding:12px 28px 12px!important;gap:9px!important;
    display:grid!important;grid-template-rows:auto minmax(0,1fr) auto auto!important;overflow:hidden!important;
  }
  .zsf-friendly-welcome{padding:0 2px!important;margin:0!important;min-height:58px!important;align-items:center!important}
  .zsf-friendly-welcome h1{font-size:27px!important;line-height:1.02!important;margin:3px 0 2px!important}
  .zsf-friendly-welcome p{font-size:10.5px!important;line-height:1.25!important;margin:0!important}
  .zsf-friendly-kicker{font-size:8.5px!important;line-height:1!important}
  .zsf-friendly-date{min-height:46px!important;padding:7px 10px!important;border-radius:12px!important}
  .zsf-friendly-date-icon{width:30px!important;height:30px!important}
  .zsf-friendly-date small{font-size:7px!important}.zsf-friendly-date strong{font-size:10px!important}

  .zsf-friendly-main-grid{grid-template-columns:minmax(250px,.62fr) minmax(0,1.88fr)!important;gap:10px!important;min-height:0!important;height:100%!important}
  .zsf-friendly-panel{padding:11px 12px!important;border-radius:13px!important;min-height:0!important;overflow:hidden!important}
  .zsf-friendly-panel-head{margin-bottom:7px!important}
  .zsf-friendly-panel-head h2{font-size:15px!important;line-height:1.1!important;margin-top:2px!important}
  .zsf-friendly-range button,.zsf-friendly-open{min-height:26px!important;padding:4px 8px!important;font-size:8px!important}
  .zsf-friendly-agenda-list{gap:6px!important}
  .zsf-friendly-agenda-row{min-height:43px!important;padding:7px 8px!important;grid-template-columns:76px 28px minmax(0,1fr) 12px!important}
  .zsf-friendly-agenda-row strong{font-size:10px!important}.zsf-friendly-agenda-row small{font-size:8px!important}
  .zsf-friendly-agenda-time{font-size:8px!important}

  .zsf-friendly-presence-summary{gap:5px!important;margin-bottom:6px!important}
  .zsf-friendly-presence-summary>div{min-height:30px!important;padding:4px 8px!important;border-radius:8px!important}
  .zsf-friendly-presence-summary span{font-size:7.5px!important}.zsf-friendly-presence-summary strong{font-size:12px!important}
  .zsf-friendly-presence-workers-wrap{flex:0 0 auto!important;max-height:none!important;height:auto!important;overflow:hidden!important;border-radius:8px!important}
  .zsf-friendly-presence-workers th{padding:5px 8px!important;font-size:7.8px!important;line-height:1!important}
  .zsf-friendly-presence-workers td{padding:4px 8px!important;font-size:8.4px!important;line-height:1.05!important;height:24px!important}
  .zsf-friendly-presence-state{font-size:8px!important;gap:4px!important}
  .zsf-friendly-presence-state:before{width:6px!important;height:6px!important;flex-basis:6px!important}
  .zsf-friendly-presence-footer{padding-top:5px!important;margin-top:5px!important;font-size:8px!important;min-height:20px!important}

  .zsf-friendly-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin:0!important}
  .zsf-friendly-actions button,.zsf-friendly-actions a{min-height:38px!important;padding:6px 9px!important;border-radius:10px!important}
  .zsf-friendly-actions span{width:25px!important;height:25px!important;font-size:8px!important}.zsf-friendly-actions strong{font-size:9.5px!important}

  .zsf-friendly-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:0!important;min-height:0!important}
  .zsf-friendly-status-card{padding:9px 10px!important;border-radius:12px!important;min-height:122px!important;max-height:138px!important;overflow:hidden!important}
  .zsf-friendly-status-head{margin-bottom:6px!important}.zsf-friendly-status-head>span{width:27px!important;height:27px!important}
  .zsf-friendly-status-head small{font-size:7px!important}.zsf-friendly-status-head strong{font-size:10.5px!important}
  .zsf-friendly-status-card>div:nth-child(2){gap:4px!important}
  .zsf-friendly-status-card>div:nth-child(2)>div{padding:4px 6px!important;min-height:25px!important}
  .zsf-friendly-status-card>div:nth-child(2) span{font-size:7.5px!important}.zsf-friendly-status-card>div:nth-child(2) strong{font-size:9px!important}
  .zsf-friendly-status-card>button{margin-top:5px!important;min-height:24px!important;padding:3px 7px!important;font-size:8px!important}
}

/* ZEMA HR 1.5.2.0 — dashboard leggibile, compatta, icone animate, presenze navigabili */
@media (min-width:921px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{
    height:calc(100dvh - 72px)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-dashboard{
    height:100%!important;
    min-height:0!important;
    padding:9px 16px 10px!important;
    gap:7px!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto minmax(118px,142px)!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .zsf-friendly-welcome{
    min-height:48px!important;
    padding:0 2px!important;
    margin:0!important;
    align-items:center!important;
  }
  .zsf-friendly-welcome h1{
    font-size:25px!important;
    line-height:1.04!important;
    margin:2px 0 1px!important;
  }
  .zsf-friendly-welcome p{
    font-size:11px!important;
    line-height:1.2!important;
    margin:0!important;
  }
  .zsf-friendly-kicker{font-size:9px!important;line-height:1!important}
  .zsf-friendly-date{min-height:42px!important;padding:5px 9px!important;border-radius:11px!important}
  .zsf-friendly-date-icon{width:28px!important;height:28px!important}
  .zsf-friendly-date small{font-size:8px!important}.zsf-friendly-date strong{font-size:10.5px!important}

  .zsf-friendly-main-grid{
    grid-template-columns:minmax(270px,.68fr) minmax(0,1.82fr)!important;
    gap:8px!important;
    min-height:0!important;
    height:100%!important;
  }
  .zsf-friendly-panel{
    padding:9px 10px!important;
    border-radius:12px!important;
    min-height:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .zsf-friendly-panel-head{margin-bottom:5px!important;min-height:31px!important}
  .zsf-friendly-panel-head h2{font-size:16px!important;line-height:1.1!important;margin-top:2px!important}
  .zsf-friendly-range button,.zsf-friendly-open{min-height:27px!important;padding:4px 8px!important;font-size:9px!important}
  .zsf-friendly-agenda-list{gap:5px!important}
  .zsf-friendly-agenda-row{
    min-height:48px!important;
    padding:6px 8px!important;
    grid-template-columns:78px 30px minmax(0,1fr) 12px!important;
  }
  .zsf-friendly-agenda-row strong{font-size:11px!important}.zsf-friendly-agenda-row small{font-size:9px!important}
  .zsf-friendly-agenda-time{font-size:9px!important}

  .zsf-friendly-presence-summary{gap:5px!important;margin-bottom:5px!important}
  .zsf-friendly-presence-summary>div{min-height:31px!important;padding:4px 8px!important;border-radius:8px!important}
  .zsf-friendly-presence-summary span{font-size:9px!important}.zsf-friendly-presence-summary strong{font-size:13px!important}
  .zsf-friendly-presence-workers-wrap{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:322px!important;
    height:auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-radius:8px!important;
    scrollbar-width:thin;
  }
  .zsf-friendly-presence-workers th{
    padding:6px 9px!important;
    font-size:10.5px!important;
    line-height:1.1!important;
  }
  .zsf-friendly-presence-workers td{
    padding:5px 9px!important;
    font-size:11.5px!important;
    line-height:1.15!important;
    height:27px!important;
  }
  .zsf-friendly-presence-workers td strong{font-size:11.5px!important}
  .zsf-friendly-presence-state{font-size:10.5px!important;gap:5px!important}
  .zsf-friendly-presence-state:before{width:7px!important;height:7px!important;flex-basis:7px!important}
  .zsf-friendly-presence-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    min-height:28px!important;
    padding:4px 1px 1px!important;
    color:#607b90!important;
    font-size:9.5px!important;
  }
  .zsf-friendly-presence-nav[hidden]{display:none!important}
  .zsf-friendly-presence-nav>div{display:flex!important;align-items:center!important;gap:5px!important}
  .zsf-friendly-presence-nav button{
    width:27px!important;height:25px!important;min-height:25px!important;padding:0!important;
    border:1px solid #cfe0ea!important;border-radius:7px!important;background:#fff!important;color:#086f9d!important;
    font-size:16px!important;font-weight:800!important;cursor:pointer!important;
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important;
  }
  .zsf-friendly-presence-nav button:not(:disabled):hover{transform:translateY(-1px)!important;background:#edf9fd!important;box-shadow:0 4px 10px rgba(0,107,153,.14)!important}
  .zsf-friendly-presence-nav button:disabled{opacity:.35!important;cursor:default!important}
  .zsf-friendly-presence-nav strong{min-width:38px!important;text-align:center!important;color:#214c68!important;font-size:9.5px!important}
  .zsf-friendly-presence-footer{padding-top:3px!important;margin-top:2px!important;font-size:9px!important;min-height:18px!important}

  .zsf-friendly-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin:0!important}
  .zsf-friendly-actions button,.zsf-friendly-actions a{
    min-height:38px!important;
    padding:5px 10px!important;
    border-radius:10px!important;
    overflow:hidden!important;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease!important;
  }
  .zsf-friendly-actions button:hover,.zsf-friendly-actions a:hover{
    transform:translateY(-2px)!important;
    box-shadow:0 7px 18px rgba(20,72,105,.14)!important;
    border-color:#9fcfe3!important;
  }
  .zsf-friendly-actions span{
    width:27px!important;height:27px!important;min-width:27px!important;
    font-size:10px!important;font-weight:900!important;
    transition:transform .18s ease,box-shadow .18s ease!important;
  }
  .zsf-friendly-actions button:hover span,.zsf-friendly-actions a:hover span{transform:scale(1.1) rotate(-4deg)!important}
  .zsf-friendly-actions strong{font-size:10.5px!important}
  .zsf-friendly-actions>*:nth-child(1) span{background:#e8f3ff!important;color:#1769aa!important;border-color:#bcdcff!important}
  .zsf-friendly-actions>*:nth-child(2) span{background:#e8fbf3!important;color:#13855b!important;border-color:#bcebd7!important}
  .zsf-friendly-actions>*:nth-child(3) span{background:#fff4df!important;color:#b66a00!important;border-color:#f1d29b!important}
  .zsf-friendly-actions>*:nth-child(4) span{background:#f1ebff!important;color:#6d48b5!important;border-color:#d8c9ff!important}

  .zsf-friendly-status-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    margin:0!important;
    min-height:0!important;
  }
  .zsf-friendly-status-card{
    padding:8px 9px!important;
    border-radius:11px!important;
    min-height:0!important;
    max-height:none!important;
    height:100%!important;
    overflow:hidden!important;
  }
  .zsf-friendly-status-head{margin-bottom:5px!important}.zsf-friendly-status-head>span{width:28px!important;height:28px!important}
  .zsf-friendly-status-head small{font-size:8px!important}.zsf-friendly-status-head strong{font-size:11.5px!important}
  .zsf-friendly-status-card>div:nth-child(2){gap:3px!important}
  .zsf-friendly-status-card>div:nth-child(2)>div{padding:4px 6px!important;min-height:24px!important}
  .zsf-friendly-status-card>div:nth-child(2) span{font-size:9px!important}.zsf-friendly-status-card>div:nth-child(2) strong{font-size:10px!important}
  .zsf-friendly-status-card>button{margin-top:4px!important;min-height:23px!important;padding:2px 7px!important;font-size:9px!important}
}

@media (min-width:921px) and (max-height:780px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-dashboard{
    padding-top:7px!important;padding-bottom:7px!important;gap:6px!important;
    grid-template-rows:auto minmax(0,1fr) auto minmax(108px,126px)!important;
  }
  .zsf-friendly-welcome{min-height:42px!important}
  .zsf-friendly-welcome h1{font-size:23px!important}
  .zsf-friendly-panel{padding-top:8px!important;padding-bottom:8px!important}
  .zsf-friendly-presence-workers-wrap{max-height:286px!important}
  .zsf-friendly-actions button,.zsf-friendly-actions a{min-height:35px!important}
  .zsf-friendly-status-card{padding-top:7px!important;padding-bottom:7px!important}
}


/* ZEMA HR 1.5.2.1 — dashboard minimal, status cards in una sola riga */
.zhr-corporate-app #zsf-view-overview .zsf-friendly-welcome{
  min-height:42px!important;
  padding:0 0 4px!important;
  margin:0!important;
  align-items:center!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-welcome h1{
  margin:0!important;
  font-size:25px!important;
  line-height:1.05!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-tools{margin-left:auto!important}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-date{
  min-height:48px!important;
  padding:7px 10px!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-grid-minimal{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal{
  min-height:64px!important;
  height:64px!important;
  padding:7px 9px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  grid-template-rows:1fr!important;
  align-items:center!important;
  gap:10px!important;
  overflow:hidden!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal .zsf-friendly-status-head{
  margin:0!important;
  min-width:145px!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal .zsf-friendly-status-head>span{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal .zsf-friendly-status-head small{
  font-size:7.5px!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal .zsf-friendly-status-head strong{
  font-size:11.5px!important;
  white-space:nowrap!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary{
  min-width:0!important;
  color:#58758a!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal>button{
  margin:0!important;
  width:28px!important;
  height:28px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:8px!important;
  font-size:18px!important;
  line-height:1!important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal>button:hover{
  transform:translateX(2px)!important;
  box-shadow:0 4px 10px rgba(7,62,103,.12)!important;
  background:#e3f4fa!important;
}
@media(max-width:1100px){
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-grid-minimal{grid-template-columns:1fr!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal{height:auto!important;min-height:58px!important}
}


/* ZEMA HR 1.5.2.2 — riepiloghi finali più friendly, compatti e leggibili */
@media (min-width:1101px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-dashboard{
    grid-template-rows:auto minmax(0,1fr) auto 72px!important;
  }
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-grid-minimal{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  min-height:0!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal{
  min-height:62px!important;
  height:62px!important;
  padding:9px 11px!important;
  display:grid!important;
  grid-template-columns:minmax(150px,180px) minmax(0,1fr) 34px!important;
  align-items:center!important;
  gap:11px!important;
  overflow:visible!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(18,63,97,.035)!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal .zsf-friendly-status-head{
  min-width:0!important;
  margin:0!important;
  gap:9px!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal .zsf-friendly-status-head>span{
  width:34px!important;height:34px!important;flex:0 0 34px!important;border-radius:10px!important;font-size:12px!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal .zsf-friendly-status-head small{
  font-size:8px!important;line-height:1.1!important;letter-spacing:.05em!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal .zsf-friendly-status-head strong{
  font-size:12px!important;line-height:1.15!important;white-space:nowrap!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  min-width:0!important;
  overflow:visible!important;
  white-space:normal!important;
  text-overflow:clip!important;
  color:inherit!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary>span{
  min-width:0!important;
  padding:5px 7px!important;
  border-radius:8px!important;
  background:#f5f9fc!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:6px!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary b{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#6c8294!important;
  font-size:8.5px!important;
  font-weight:750!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary strong{
  flex:0 0 auto!important;
  color:#174c70!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.health .zsf-friendly-status-summary strong{color:#c5446f!important}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.training .zsf-friendly-status-summary strong{color:#b47600!important}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.safety .zsf-friendly-status-summary strong{color:#18805d!important}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal>button{
  margin:0!important;width:32px!important;height:32px!important;padding:0!important;border-radius:10px!important;
  display:grid!important;place-items:center!important;font-size:18px!important;font-weight:900!important;
  border:1px solid #d8e8f1!important;background:#f0f8fc!important;color:#0a78a3!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal>button:hover{
  transform:translateX(2px) scale(1.04)!important;background:#e3f4fa!important;box-shadow:0 5px 12px rgba(7,62,103,.12)!important;
}
@media(max-width:1300px) and (min-width:1101px){
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal{grid-template-columns:145px minmax(0,1fr) 32px!important;padding:8px!important;gap:7px!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary{gap:4px!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary>span{padding:5px!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary b{font-size:7.8px!important}
}
@media(max-width:1100px){
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-grid-minimal{grid-template-columns:1fr!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal{height:auto!important;min-height:62px!important}
}


/* ZEMA HR 1.5.2.3 — riepiloghi dashboard realmente compatti e friendly */
@media (min-width:1101px){
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard{
    grid-template-rows:auto minmax(0,1fr) auto auto!important;
  }
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-grid-minimal{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0!important;
  min-height:0!important;
  height:auto!important;
  align-items:start!important;
  align-self:start!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal{
  box-sizing:border-box!important;
  min-height:78px!important;
  height:auto!important;
  max-height:88px!important;
  padding:10px 12px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) 30px!important;
  grid-template-rows:auto auto!important;
  column-gap:10px!important;
  row-gap:7px!important;
  align-items:center!important;
  overflow:hidden!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 2px 7px rgba(18,63,97,.035)!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal .zsf-friendly-status-head{
  grid-column:1 / 3!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  margin:0!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal .zsf-friendly-status-head>span{
  width:31px!important;height:31px!important;flex:0 0 31px!important;
  border-radius:9px!important;font-size:11px!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal .zsf-friendly-status-head small{
  display:none!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal .zsf-friendly-status-head strong{
  margin:0!important;font-size:12.5px!important;line-height:1.15!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary{
  grid-column:1 / 3!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary>span{
  flex:1 1 0!important;
  min-width:0!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  background:#f4f8fb!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:5px!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary b{
  min-width:0!important;
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  color:#6d8292!important;font-size:9px!important;font-weight:750!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary strong{
  flex:0 0 auto!important;font-size:10.5px!important;line-height:1!important;font-weight:900!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal>button{
  grid-column:3!important;grid-row:1 / 3!important;
  align-self:center!important;justify-self:end!important;
  margin:0!important;width:29px!important;height:29px!important;padding:0!important;
  display:grid!important;place-items:center!important;border-radius:9px!important;
  border:1px solid #d7e7f0!important;background:#eef8fc!important;color:#087ba7!important;
  font-size:17px!important;font-weight:900!important;line-height:1!important;
  transition:transform .16s ease,background .16s ease,box-shadow .16s ease!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal>button:hover{
  transform:translateX(2px)!important;background:#dff3fb!important;box-shadow:0 4px 10px rgba(7,62,103,.10)!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.health{border-top-width:3px!important}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.training{border-top-width:3px!important}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.safety{border-top-width:3px!important}
@media(max-width:1300px) and (min-width:1101px){
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal{padding:9px 10px!important;column-gap:8px!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary b{font-size:8.5px!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary strong{font-size:10px!important}
}
@media(max-width:1100px){
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-grid-minimal{grid-template-columns:1fr!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal{max-height:none!important;min-height:76px!important}
}

/* ZEMA HR 1.5.2.4 — dashboard: azioni accanto al saluto e spazi verticali ridotti */
@media (min-width:921px){
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body.zsf-portal-page .zsf-app-v038 #zsf-view-overview .zsf-friendly-dashboard{
    height:auto!important;
    min-height:0!important;
    padding:8px 16px 10px!important;
    gap:8px!important;
    display:grid!important;
    grid-template-rows:auto auto auto!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .zsf-friendly-welcome{
    min-height:54px!important;
    padding:0!important;
    margin:0!important;
    align-items:center!important;
    gap:12px!important;
  }
  .zsf-friendly-welcome-left{
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:16px!important;
    flex:1 1 auto!important;
  }
  .zsf-friendly-welcome h1{
    flex:0 0 auto!important;
    margin:0!important;
    font-size:24px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }
  .zsf-friendly-actions-inline{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin:0!important;
    min-width:0!important;
    flex:1 1 auto!important;
  }
  .zsf-friendly-actions-inline button,
  .zsf-friendly-actions-inline a{
    width:auto!important;
    min-width:0!important;
    min-height:32px!important;
    height:32px!important;
    padding:3px 9px 3px 5px!important;
    border-radius:9px!important;
    gap:5px!important;
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }
  .zsf-friendly-actions-inline span{
    width:23px!important;
    height:23px!important;
    min-width:23px!important;
    border-radius:7px!important;
    font-size:9px!important;
  }
  .zsf-friendly-actions-inline strong{
    font-size:10px!important;
    line-height:1!important;
  }
  .zsf-friendly-tools{flex:0 0 auto!important}
  .zsf-friendly-date{min-height:42px!important;padding:5px 9px!important}

  .zsf-friendly-main-grid{
    height:auto!important;
    min-height:0!important;
    align-items:start!important;
  }
  .zsf-friendly-panel{
    height:auto!important;
    min-height:0!important;
    align-self:start!important;
  }
  .zsf-friendly-agenda,
  .zsf-friendly-presence{
    min-height:0!important;
    height:auto!important;
  }
  .zsf-friendly-presence-workers-wrap{
    max-height:330px!important;
    overflow-y:auto!important;
  }
  .zsf-friendly-presence-footer{min-height:20px!important;margin-bottom:0!important}
  .zsf-friendly-status-grid-minimal{margin-top:0!important}
}
@media (max-width:1250px) and (min-width:921px){
  .zsf-friendly-welcome-left{gap:10px!important}
  .zsf-friendly-welcome h1{font-size:21px!important}
  .zsf-friendly-actions-inline button,.zsf-friendly-actions-inline a{padding-right:7px!important}
  .zsf-friendly-actions-inline strong{font-size:9.5px!important}
}
@media (max-width:920px){
  .zsf-friendly-welcome-left{display:grid!important;gap:8px!important;width:100%!important}
  .zsf-friendly-actions-inline{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
  .zsf-friendly-actions-inline button,.zsf-friendly-actions-inline a{width:100%!important;justify-content:flex-start!important}
}

/* ZEMA HR 1.5.2.5 — dashboard aziendale più leggibile e friendly */
@media (min-width:921px){
  body.zsf-portal-page .zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard{
    gap:10px!important;
    padding:10px 16px 12px!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-welcome{
    min-height:48px!important;
    gap:14px!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-welcome h1{
    font-size:25px!important;
    line-height:1.08!important;
    font-weight:800!important;
    letter-spacing:-.015em!important;
    color:#073e67!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-actions-inline{
    gap:7px!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-actions-inline button,
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-actions-inline a{
    min-height:36px!important;
    padding:6px 10px 6px 7px!important;
    gap:7px!important;
    border-radius:11px!important;
    font-size:11.5px!important;
    font-weight:800!important;
    box-shadow:0 2px 7px rgba(18,63,97,.06)!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-actions-inline span{
    width:25px!important;
    height:25px!important;
    flex:0 0 25px!important;
    border-radius:8px!important;
    font-size:10px!important;
    font-weight:900!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-actions-inline strong{
    font-size:11.5px!important;
    line-height:1!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-date{
    min-height:46px!important;
    padding:7px 10px!important;
    border-radius:12px!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-date small{font-size:9px!important;letter-spacing:.08em!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-date strong{font-size:11.5px!important}

  .zhr-corporate-app #zsf-view-overview .zsf-friendly-main-grid{
    grid-template-columns:minmax(300px,.36fr) minmax(0,1fr)!important;
    gap:12px!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-panel{
    border-radius:15px!important;
    padding:14px 15px!important;
    box-shadow:0 3px 12px rgba(17,67,101,.045)!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-kicker{
    font-size:9px!important;
    font-weight:900!important;
    letter-spacing:.11em!important;
    color:#087aa6!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-panel-head h2{
    font-size:17px!important;
    line-height:1.15!important;
    font-weight:800!important;
    color:#0c4369!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-range button,
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-open{
    min-height:29px!important;
    padding:5px 9px!important;
    font-size:10px!important;
    font-weight:850!important;
    border-radius:999px!important;
  }

  .zhr-corporate-app #zsf-view-overview .zsf-friendly-agenda-list{gap:8px!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-agenda-row{
    min-height:53px!important;
    padding:9px 10px!important;
    grid-template-columns:78px 31px minmax(0,1fr) 14px!important;
    gap:9px!important;
    border-radius:12px!important;
    background:#fbfdff!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-agenda-row:hover{
    transform:translateY(-1px)!important;
    border-color:#b6d9ea!important;
    background:#f6fbfe!important;
    box-shadow:0 5px 12px rgba(16,94,132,.07)!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-agenda-time{
    font-size:10px!important;
    font-weight:900!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-agenda-row strong{
    font-size:12.5px!important;
    line-height:1.15!important;
    font-weight:800!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-agenda-row small{
    margin-top:3px!important;
    font-size:10px!important;
    line-height:1.2!important;
    color:#6f8596!important;
  }

  .zhr-corporate-app #zsf-view-overview .zsf-friendly-presence-summary{
    gap:7px!important;
    margin-bottom:7px!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-presence-summary article{
    min-height:34px!important;
    padding:6px 9px!important;
    border-radius:10px!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-presence-summary span{
    font-size:10px!important;
    color:#657d90!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-presence-summary strong{
    font-size:15px!important;
    font-weight:900!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-presence-workers-wrap{
    border-radius:11px!important;
    max-height:320px!important;
    overflow-y:auto!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-presence-workers th{
    height:31px!important;
    padding:7px 10px!important;
    font-size:10.5px!important;
    font-weight:900!important;
    color:#174d72!important;
    background:#eaf4fa!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-presence-workers td{
    height:31px!important;
    padding:6px 10px!important;
    font-size:11.5px!important;
    line-height:1.2!important;
    color:#214c6e!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-presence-workers td:first-child{
    font-weight:800!important;
    color:#123f61!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-presence-workers td:last-child{
    font-weight:800!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-presence-nav,
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-presence-footer{
    font-size:10.5px!important;
  }

  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-grid-minimal{
    gap:10px!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal{
    min-height:76px!important;
    max-height:none!important;
    padding:10px 11px!important;
    border-radius:13px!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal .zsf-friendly-status-head>span{
    width:31px!important;height:31px!important;flex:0 0 31px!important;
    font-size:11px!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal .zsf-friendly-status-head strong{
    font-size:12.5px!important;
    font-weight:850!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary{gap:5px!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary>span{
    padding:5px 7px!important;
    min-height:27px!important;
    border-radius:8px!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary b{
    font-size:9.5px!important;
    color:#657d90!important;
    font-weight:800!important;
  }
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-summary strong{
    font-size:11.5px!important;
    font-weight:900!important;
  }
}

@media (max-width:1300px) and (min-width:921px){
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-welcome h1{font-size:22px!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-actions-inline button,
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-actions-inline a{padding-right:8px!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-actions-inline strong{font-size:10.5px!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-main-grid{grid-template-columns:minmax(280px,.34fr) minmax(0,1fr)!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-presence-workers td{font-size:11px!important}
}

/* ZEMA HR 1.5.2.6 — nuova home aziendale: agenda centrale, presenze, scadenze laterali */
@media (min-width:921px){
  body.zsf-portal-page .zhr-corporate-app #zsf-view-overview .zhr-home-dashboard-v2{
    display:flex!important;flex-direction:column!important;gap:12px!important;padding:14px 16px 16px!important;min-height:0!important;
  }
  .zhr-corporate-app .zhr-home-welcome-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;min-height:54px!important}
  .zhr-corporate-app .zhr-home-welcome-row h1{margin:0!important;font-size:28px!important;line-height:1.05!important;font-weight:850!important;letter-spacing:-.02em!important;color:#063e67!important}
  .zhr-corporate-app .zhr-home-top-tools{display:flex!important;align-items:center!important;gap:10px!important;flex:0 0 auto!important}
  .zhr-corporate-app .zhr-home-news{display:flex!important;align-items:center!important;gap:8px!important;min-height:42px!important;padding:6px 12px 6px 7px!important;border:1px solid #c9ddea!important;border-radius:12px!important;background:#fff!important;color:#0d4165!important;text-decoration:none!important;box-shadow:0 2px 8px rgba(13,65,101,.05)!important;transition:.18s ease!important}
  .zhr-corporate-app .zhr-home-news:hover{transform:translateY(-2px)!important;box-shadow:0 7px 16px rgba(13,65,101,.10)!important;border-color:#a8cfe3!important}
  .zhr-corporate-app .zhr-home-news span{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;border-radius:9px!important;background:#f0eaff!important;color:#6e43c6!important;font-weight:900!important}
  .zhr-corporate-app .zhr-home-news strong{font-size:12px!important;white-space:nowrap!important}
  .zhr-corporate-app .zhr-home-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:14px!important;align-items:start!important}
  .zhr-corporate-app .zhr-home-center{display:grid!important;grid-template-rows:auto auto!important;gap:12px!important;min-width:0!important}
  .zhr-corporate-app .zhr-home-agenda,.zhr-corporate-app .zhr-home-presence{min-width:0!important}
  .zhr-corporate-app .zhr-home-agenda{padding:16px 18px!important}
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-row{min-height:68px!important;padding:11px 12px!important;grid-template-columns:92px 34px minmax(0,1fr) 14px!important}
  .zhr-corporate-app .zhr-home-presence{padding:14px 16px!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers-wrap{max-height:260px!important;overflow-y:auto!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers th{font-size:11px!important;height:30px!important;padding:6px 9px!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers td{font-size:12px!important;height:29px!important;padding:5px 9px!important}
  .zhr-corporate-app .zhr-home-deadlines{display:flex!important;flex-direction:column!important;gap:10px!important;min-width:0!important}
  .zhr-corporate-app .zhr-deadlines-title{padding:4px 2px 2px!important}
  .zhr-corporate-app .zhr-deadlines-title span{display:block!important;font-size:9px!important;font-weight:900!important;letter-spacing:.12em!important;color:#7b8e9d!important}
  .zhr-corporate-app .zhr-deadlines-title strong{display:block!important;margin-top:2px!important;font-size:16px!important;color:#0c4268!important}
  .zhr-corporate-app .zhr-deadline-card{background:#fff!important;border:1px solid #d6e3ec!important;border-radius:14px!important;padding:12px!important;box-shadow:0 3px 11px rgba(16,65,99,.045)!important;border-top-width:3px!important}
  .zhr-corporate-app .zhr-deadline-card.health{border-top-color:#e84e7d!important}.zhr-corporate-app .zhr-deadline-card.training{border-top-color:#e6a000!important}.zhr-corporate-app .zhr-deadline-card.safety{border-top-color:#20a779!important}
  .zhr-corporate-app .zhr-deadline-head{display:grid!important;grid-template-columns:34px 1fr 28px!important;align-items:center!important;gap:9px!important;margin-bottom:10px!important}
  .zhr-corporate-app .zhr-deadline-head>span{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:10px!important;background:#edf7fb!important;color:#087ea8!important;font-size:11px!important;font-weight:900!important}
  .zhr-corporate-app .zhr-deadline-head strong{font-size:13px!important;color:#103f61!important}
  .zhr-corporate-app .zhr-deadline-head button{width:28px!important;height:28px!important;padding:0!important;border:1px solid #d3e4ee!important;border-radius:9px!important;background:#f7fbfd!important;color:#087da8!important;font-size:18px!important;cursor:pointer!important;transition:.18s ease!important}
  .zhr-corporate-app .zhr-deadline-head button:hover{transform:translateX(2px)!important;background:#e9f7fc!important}
  .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
  .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary>span{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:31px!important;padding:6px 8px!important;border-radius:9px!important;background:#f7f9fb!important}
  .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary b{font-size:10.5px!important;color:#60798b!important}.zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary strong{font-size:12px!important}

  .zhr-corporate-app .zhr-home-booking{margin:14px 10px 10px!important;padding:10px!important;border-top:1px solid #d6e4ec!important}
  .zhr-corporate-app .zhr-home-booking>strong{display:block!important;margin:0 0 7px 3px!important;font-size:10px!important;letter-spacing:.1em!important;color:#657e90!important}
  .zhr-corporate-app .zhr-home-booking button,.zhr-corporate-app .zhr-home-booking a{display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;min-height:38px!important;margin:6px 0!important;padding:5px 8px!important;border:1px solid #d5e4ed!important;border-radius:10px!important;background:#fff!important;color:#113f60!important;text-decoration:none!important;font-size:11.5px!important;font-weight:800!important;cursor:pointer!important;transition:.18s ease!important}
  .zhr-corporate-app .zhr-home-booking button:hover,.zhr-corporate-app .zhr-home-booking a:hover{transform:translateX(2px)!important;box-shadow:0 4px 11px rgba(16,65,99,.07)!important}
  .zhr-corporate-app .zhr-book-icon{display:grid!important;place-items:center!important;width:26px!important;height:26px!important;border-radius:8px!important;font-weight:900!important}
  .zhr-corporate-app .zhr-book-training{background:#eaf6ff!important;color:#1479bc!important}.zhr-corporate-app .zhr-book-health{background:#eafaf2!important;color:#169d70!important}.zhr-corporate-app .zhr-book-consult{background:#fff4df!important;color:#c77b00!important}
}
@media (max-width:1200px) and (min-width:921px){
  .zhr-corporate-app .zhr-home-layout{grid-template-columns:minmax(0,1fr) 260px!important}
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-list{grid-template-columns:1fr!important}
  .zhr-corporate-app .zhr-home-welcome-row h1{font-size:24px!important}
}
@media (max-width:920px){
  .zhr-corporate-app .zhr-home-welcome-row{display:grid!important;gap:10px!important}.zhr-corporate-app .zhr-home-welcome-row h1{font-size:24px!important}
  .zhr-corporate-app .zhr-home-top-tools{display:flex!important;flex-wrap:wrap!important}.zhr-corporate-app .zhr-home-layout{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-list{grid-template-columns:1fr!important}.zhr-corporate-app .zhr-home-deadlines{display:grid!important;grid-template-columns:1fr!important}
  .zhr-corporate-app .zhr-home-booking{display:none!important}
}

/* ZEMA HR 1.5.2.7 — home aziendale completa secondo mockup Word */
@media (min-width:921px){
  /* pagina: sfrutta bene la larghezza senza micro-font */
  body.zsf-portal-page .zhr-corporate-app #zsf-view-overview .zhr-home-dashboard-v2{
    padding:12px 14px 14px!important;
    gap:10px!important;
    min-height:0!important;
  }

  /* testata dashboard: saluto + data + news */
  .zhr-corporate-app .zhr-home-welcome-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:14px!important;
    min-height:54px!important;
    padding:0 2px!important;
  }
  .zhr-corporate-app .zhr-home-welcome-row h1{
    margin:0!important;
    font-size:27px!important;
    line-height:1.08!important;
    font-weight:850!important;
    letter-spacing:-.02em!important;
    color:#073f68!important;
  }
  .zhr-corporate-app .zhr-home-top-tools{display:flex!important;align-items:center!important;gap:9px!important}
  .zhr-corporate-app .zsf-friendly-date{min-height:44px!important;padding:6px 10px!important;border-radius:12px!important}
  .zhr-corporate-app .zsf-friendly-date strong{font-size:12px!important}
  .zhr-corporate-app .zhr-home-news{min-height:44px!important;padding:6px 11px 6px 7px!important;border-radius:12px!important}
  .zhr-corporate-app .zhr-home-news strong{font-size:12px!important}

  /* corpo: centro ampio + colonna scadenze completa */
  .zhr-corporate-app .zhr-home-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 286px!important;
    grid-template-areas:"center deadlines"!important;
    gap:12px!important;
    align-items:start!important;
    min-width:0!important;
  }
  .zhr-corporate-app .zhr-home-center{
    grid-area:center!important;
    display:grid!important;
    grid-template-rows:auto auto!important;
    gap:10px!important;
    min-width:0!important;
  }
  .zhr-corporate-app .zhr-home-deadlines{
    grid-area:deadlines!important;
    display:grid!important;
    grid-template-rows:auto repeat(3,auto)!important;
    gap:9px!important;
    min-width:0!important;
  }

  /* Agenda: friendly, due attività affiancate dove c'è spazio */
  .zhr-corporate-app .zhr-home-agenda{
    padding:14px 16px!important;
    min-height:190px!important;
    border-radius:15px!important;
  }
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-panel-head{margin-bottom:10px!important}
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-panel-head h2{font-size:18px!important}
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-row{
    min-height:64px!important;
    padding:10px 11px!important;
    grid-template-columns:88px 32px minmax(0,1fr) 14px!important;
    gap:8px!important;
    border-radius:12px!important;
  }
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-row strong{font-size:13px!important}
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-row small{font-size:11px!important}
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-time{font-size:10.5px!important}

  /* Presenze: leggibili, 12 righe, scroll + paginazione */
  .zhr-corporate-app .zhr-home-presence{
    padding:13px 15px 11px!important;
    min-height:0!important;
    border-radius:15px!important;
  }
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-panel-head{margin-bottom:8px!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-panel-head h2{font-size:18px!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-summary{gap:7px!important;margin-bottom:7px!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-summary>div{min-height:36px!important;padding:6px 9px!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-summary span{font-size:10.5px!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-summary strong{font-size:15px!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers-wrap{
    max-height:330px!important;
    overflow-y:auto!important;
    border-radius:10px!important;
  }
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers{width:100%!important;table-layout:fixed!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers th{
    height:31px!important;padding:6px 9px!important;font-size:11px!important;
  }
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers td{
    height:30px!important;padding:5px 9px!important;font-size:12px!important;
  }
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers th:nth-child(1),
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers td:nth-child(1){width:50%!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers th:nth-child(2),
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers td:nth-child(2){width:25%!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers th:nth-child(3),
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers td:nth-child(3){width:25%!important}
  .zhr-corporate-app .zsf-friendly-presence-state{font-size:11px!important;font-weight:850!important}
  .zhr-corporate-app .zsf-friendly-presence-nav{min-height:31px!important;padding:6px 0!important;font-size:10.5px!important}
  .zhr-corporate-app .zsf-friendly-presence-footer{min-height:30px!important;padding-top:7px!important;font-size:10.5px!important}

  /* Scadenze: tutte e tre presenti, leggibili, non tagliate */
  .zhr-corporate-app .zhr-deadlines-title{padding:1px 2px 3px!important}
  .zhr-corporate-app .zhr-deadlines-title span{font-size:9.5px!important;letter-spacing:.12em!important}
  .zhr-corporate-app .zhr-deadlines-title strong{font-size:15px!important;margin-top:1px!important}
  .zhr-corporate-app .zhr-deadline-card{
    min-height:132px!important;
    padding:11px!important;
    border-radius:13px!important;
  }
  .zhr-corporate-app .zhr-deadline-head{
    grid-template-columns:32px minmax(0,1fr) 28px!important;
    gap:8px!important;
    margin-bottom:8px!important;
  }
  .zhr-corporate-app .zhr-deadline-head>span{width:32px!important;height:32px!important;border-radius:9px!important;font-size:11px!important}
  .zhr-corporate-app .zhr-deadline-head strong{font-size:12.5px!important;line-height:1.15!important}
  .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}
  .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary>span{
    min-height:28px!important;padding:5px 7px!important;border-radius:8px!important;background:#f7fafc!important;
  }
  .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary b{font-size:10.5px!important}
  .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary strong{font-size:12px!important}

  /* PRENOTA: subito nella barra sinistra, prima dell'assistenza, in stile app */
  .zhr-corporate-app .zhr-home-booking{
    margin:10px 8px 8px!important;
    padding:9px 8px 7px!important;
    border-top:1px solid #d7e5ed!important;
  }
  .zhr-corporate-app .zhr-home-booking>strong{margin:0 0 6px 2px!important;font-size:10px!important;color:#173f5d!important}
  .zhr-corporate-app .zhr-home-booking button,
  .zhr-corporate-app .zhr-home-booking a{
    min-height:38px!important;margin:5px 0!important;padding:5px 8px!important;font-size:11.5px!important;border-radius:10px!important;
  }

  /* FAQ resta leggibile e non spinge fuori Prenota */
  .zhr-corporate-app .zsf-side-footer-v050{margin-top:auto!important;padding-top:8px!important}
}

@media (max-width:1380px) and (min-width:921px){
  .zhr-corporate-app .zhr-home-layout{grid-template-columns:minmax(0,1fr) 260px!important}
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-list{grid-template-columns:1fr!important}
  .zhr-corporate-app .zhr-home-agenda{min-height:245px!important}
  .zhr-corporate-app .zhr-home-welcome-row h1{font-size:24px!important}
}

@media (max-width:920px){
  .zhr-corporate-app .zhr-home-layout{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .zhr-corporate-app .zhr-home-deadlines{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .zhr-corporate-app .zhr-home-welcome-row{display:grid!important;grid-template-columns:1fr!important}
  .zhr-corporate-app .zhr-home-top-tools{display:flex!important;flex-wrap:wrap!important}
}

/* ZEMA HR 1.5.2.9 — Scadenze: sublink realmente verticali */
.zhr-corporate-app .zhr-home-deadlines{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
}
.zhr-corporate-app .zhr-home-deadlines>.zhr-deadlines-title,
.zhr-corporate-app .zhr-home-deadlines>.zhr-deadline-card{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  grid-column:auto!important;
  margin:0!important;
}
.zhr-corporate-app .zhr-home-deadlines>.zhr-deadline-card{
  flex:0 0 auto!important;
}
.zhr-corporate-app .zhr-deadline-head{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) 28px!important;
  width:100%!important;
}
@media (max-width:920px){
  .zhr-corporate-app .zhr-home-deadlines{
    display:flex!important;
    flex-direction:column!important;
  }
}

/* ==========================================================
   ZEMA HR 1.5.3.0 — HOME AZIENDALE conforme al mockup Word
   ========================================================== */
@media (min-width: 1100px){
  /* In dashboard l'azienda vede prima se stessa: il vecchio header superiore sparisce. */
  .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-main-area > .zsf-hero{display:none!important}
  .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-brand{display:none!important}

  .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-app-shell,
  .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-main-area,
  .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-workspace{min-height:100vh!important}
  .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-workspace{padding:0!important}
  .zhr-corporate-app #zsf-view-overview{padding:0!important;overflow:hidden!important}
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard{
    display:grid!important;
    grid-template-rows:68px minmax(0,1fr)!important;
    gap:10px!important;
    padding:12px 14px 8px!important;
    height:calc(100vh - 64px)!important;
    min-height:620px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  /* Fascia cliente: saluto a sinistra, data e news a destra. */
  .zhr-corporate-app .zhr-home-welcome-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:16px!important;
    min-height:56px!important;
    padding:0 4px!important;
    margin:0!important;
  }
  .zhr-corporate-app .zhr-home-welcome-row h1{
    margin:0!important;
    font-size:28px!important;
    line-height:1.05!important;
    color:#064a78!important;
    letter-spacing:-.02em!important;
    white-space:nowrap!important;
  }
  .zhr-corporate-app .zhr-home-top-tools{display:flex!important;align-items:center!important;gap:12px!important}
  .zhr-corporate-app .zsf-friendly-date{min-height:54px!important;padding:8px 13px!important;border-radius:14px!important}
  .zhr-corporate-app .zhr-home-news{min-height:44px!important;padding:7px 12px!important;border-radius:12px!important}

  /* Corpo come mockup: agenda/presenze a sinistra, scadenze verticali a destra. */
  .zhr-corporate-app .zhr-home-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 260px!important;
    gap:14px!important;
    align-items:stretch!important;
    min-height:0!important;
    height:100%!important;
  }
  .zhr-corporate-app .zhr-home-center{
    display:grid!important;
    grid-template-rows:210px minmax(0,1fr)!important;
    gap:12px!important;
    min-height:0!important;
  }
  .zhr-corporate-app .zhr-home-agenda,
  .zhr-corporate-app .zhr-home-presence{
    min-height:0!important;
    height:100%!important;
    overflow:hidden!important;
  }
  .zhr-corporate-app .zhr-home-agenda{padding:14px 16px!important}
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-list{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-row{
    min-height:61px!important;
    padding:9px 12px!important;
    grid-template-columns:110px 36px minmax(0,1fr) 18px!important;
  }
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-row strong{font-size:15px!important}
  .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-row small{font-size:12px!important}

  /* Presenze: niente scroll verticale; 6 righe per pagina e frecce. */
  .zhr-corporate-app .zhr-home-presence{padding:11px 14px 9px!important;display:flex!important;flex-direction:column!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-panel-head{margin-bottom:6px!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-summary{margin-bottom:5px!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers-wrap{
    flex:0 0 auto!important;
    max-height:none!important;
    overflow:hidden!important;
    border-radius:9px!important;
  }
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers th{height:28px!important;padding:5px 9px!important;font-size:11.5px!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers td{height:30px!important;padding:5px 9px!important;font-size:12px!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-nav{
    display:flex!important;
    min-height:31px!important;
    padding:5px 0 3px!important;
    margin-top:2px!important;
  }
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-nav[hidden]{display:none!important}
  .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-footer{margin-top:auto!important;padding-top:5px!important;min-height:26px!important}

  /* Colonna scadenze: esattamente due blocchi verticali. */
  .zhr-corporate-app .zhr-home-deadlines{
    display:grid!important;
    grid-template-rows:auto 1fr 1fr!important;
    gap:10px!important;
    min-height:0!important;
    height:100%!important;
  }
  .zhr-corporate-app .zhr-deadlines-title{padding:0 2px 2px!important}
  .zhr-corporate-app .zhr-deadlines-title span{font-size:11px!important}
  .zhr-corporate-app .zhr-deadlines-title strong{font-size:17px!important}
  .zhr-corporate-app .zhr-deadline-card{
    min-height:0!important;
    height:100%!important;
    padding:13px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    border-radius:14px!important;
  }
  .zhr-corporate-app .zhr-deadline-head{grid-template-columns:36px minmax(0,1fr) 30px!important;margin-bottom:12px!important}
  .zhr-corporate-app .zhr-deadline-head>span{width:36px!important;height:36px!important;font-size:13px!important}
  .zhr-corporate-app .zhr-deadline-head strong{font-size:14px!important}
  .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary>span{
    min-height:37px!important;padding:8px 10px!important;border-radius:9px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
  }
  .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary b{font-size:12px!important}
  .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary strong{font-size:14px!important}

  /* Sidebar come mockup: navigazione -> FAQ -> PRENOTA. */
  .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-sidebar{padding-top:10px!important;display:flex!important;flex-direction:column!important}
  .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-side-nav{order:1!important;margin-top:0!important}
  .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-side-footer-v050{order:2!important;margin-top:18px!important;padding:0 8px!important}
  .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-support-link{display:none!important}
  .zhr-corporate-app:has(#zsf-view-overview.is-active) .zhr-home-booking{order:3!important;margin:18px 8px 0!important;padding:9px 8px 7px!important}
  .zhr-corporate-app:has(#zsf-view-overview.is-active) .zhr-home-booking>strong{display:block!important;text-align:center!important;font-size:13px!important;margin-bottom:8px!important}
  .zhr-corporate-app:has(#zsf-view-overview.is-active) .zhr-home-booking button,
  .zhr-corporate-app:has(#zsf-view-overview.is-active) .zhr-home-booking a{min-height:42px!important;font-size:13px!important}

  /* Header operativo ZEMA spostato in fondo SOLO nella dashboard. */
  .zhr-corporate-app .zhr-home-bottom-header{
    position:absolute!important;
    left:0!important;right:0!important;bottom:0!important;
    height:64px!important;
    display:grid!important;
    grid-template-columns:180px 54px minmax(300px,650px) 1fr!important;
    align-items:center!important;
    gap:10px!important;
    padding:7px 14px!important;
    background:linear-gradient(90deg,#086f9c,#1097b8)!important;
    border-top:1px solid rgba(255,255,255,.25)!important;
    box-shadow:0 -3px 14px rgba(15,73,103,.12)!important;
    z-index:20!important;
    box-sizing:border-box!important;
  }
  .zhr-corporate-app #zsf-view-overview{position:relative!important;padding-bottom:64px!important}
  .zhr-bottom-brand{height:48px!important;border-radius:10px!important;background:#fff!important;display:flex!important;flex-direction:column!important;justify-content:center!important;padding:5px 12px!important;line-height:1!important}
  .zhr-bottom-logo-main{font-size:21px!important;font-weight:900!important;color:#0c4c79!important;letter-spacing:.05em!important}.zhr-bottom-logo-main b{color:#149cb9!important}.zhr-bottom-brand small{font-size:7px!important;letter-spacing:.18em!important;color:#34536c!important;margin-top:3px!important;font-weight:800!important}
  .zhr-bottom-menu{width:48px!important;height:40px!important;border:1px solid rgba(255,255,255,.45)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;border-radius:9px!important;font-size:20px!important;cursor:pointer!important}
  .zhr-bottom-search{height:42px!important;display:flex!important;align-items:center!important;gap:9px!important;padding:0 13px!important;border:1px solid rgba(255,255,255,.35)!important;background:rgba(255,255,255,.14)!important;border-radius:9px!important;color:#fff!important;position:relative!important}
  .zhr-bottom-search input{width:100%!important;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;font-size:13px!important}.zhr-bottom-search input::placeholder{color:rgba(255,255,255,.9)!important}
  .zhr-bottom-account{justify-self:end!important;display:flex!important;align-items:center!important;gap:8px!important;color:#fff!important}.zhr-bottom-avatar{width:36px!important;height:36px!important;border-radius:50%!important;background:#fff!important;color:#07537d!important;display:grid!important;place-items:center!important;font-weight:900!important}.zhr-bottom-account div{display:flex!important;flex-direction:column!important;line-height:1.05!important}.zhr-bottom-account small{font-size:8px!important}.zhr-bottom-account strong{font-size:12px!important;white-space:nowrap!important}.zhr-bottom-account a,.zhr-bottom-account button{border:1px solid rgba(255,255,255,.45)!important;background:rgba(255,255,255,.1)!important;color:#fff!important;border-radius:7px!important;padding:7px 9px!important;font-size:10px!important;font-weight:800!important;text-decoration:none!important;cursor:pointer!important}
}

@media (max-width:1099px){
  .zhr-home-bottom-header{display:none!important}
}

/* 1.5.3.1 — home aziendale aderente al mockup Word: chrome operativo solo in basso */
@media (min-width:1100px){
  /* La dashboard deve mostrare subito l'azienda, non la barra operativa ZEMA. */
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-hero{
    display:none!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    box-shadow:none!important;
  }

  /* Il logo passa nella barra inferiore; la colonna sinistra parte da Dashboard. */
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-brand{
    display:none!important;
  }

  /* La barra ZEMA in basso è una vera barra di applicazione a tutta larghezza. */
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zhr-home-bottom-header{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    height:64px!important;
    z-index:9990!important;
    grid-template-columns:200px 54px minmax(360px,720px) 1fr!important;
    padding:7px 14px!important;
  }

  /* Tutta la parte utile termina sopra la barra inferiore: niente scroll pagina. */
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active),
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-shell{
    height:calc(100vh - 64px)!important;
    min-height:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-shell{
    grid-template-columns:200px minmax(0,1fr)!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-sidebar,
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-main-area,
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-workspace{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) #zsf-view-overview{
    height:100%!important;
    min-height:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  /* Home: riga cliente in alto + corpo, tutto dentro la videata. */
  body.zsf-portal-page .zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard.zhr-home-dashboard-v2{
    height:100%!important;
    min-height:0!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-rows:76px minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px 16px 10px!important;
    overflow:hidden!important;
  }

  body.zsf-portal-page .zhr-corporate-app .zhr-home-welcome-row{
    min-height:0!important;
    height:76px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:14px!important;
    padding:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-welcome-row h1{
    margin:0!important;
    font-size:28px!important;
    line-height:1.05!important;
    white-space:normal!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-top-tools{
    display:flex!important;
    gap:10px!important;
    align-items:center!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-friendly-date{
    min-height:52px!important;
    padding:7px 12px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-news{
    min-height:44px!important;
    padding:7px 11px!important;
  }

  /* Proporzioni del mockup: colonna centrale dominante + scadenze verticali. */
  body.zsf-portal-page .zhr-corporate-app .zhr-home-layout{
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 275px!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-center{
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-rows:220px minmax(0,1fr)!important;
    gap:10px!important;
  }

  /* Agenda compatta e leggibile. */
  body.zsf-portal-page .zhr-corporate-app .zhr-home-agenda{
    height:220px!important;
    min-height:0!important;
    padding:13px 15px!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-agenda .zsf-friendly-panel-head{
    margin-bottom:9px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-list{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-row{
    min-height:61px!important;
    padding:8px 12px!important;
  }

  /* Presenze: riquadro chiuso nella videata, 6 righe e frecce, nessuno scroll pagina. */
  body.zsf-portal-page .zhr-corporate-app .zhr-home-presence{
    height:100%!important;
    min-height:0!important;
    padding:11px 14px 8px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-presence .zsf-friendly-panel-head{
    flex:0 0 auto!important;
    margin-bottom:6px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-summary{
    flex:0 0 auto!important;
    margin-bottom:6px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers-wrap{
    flex:0 0 auto!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers th{
    height:28px!important;
    padding:5px 9px!important;
    font-size:12px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers td{
    height:31px!important;
    padding:5px 9px!important;
    font-size:12.5px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-nav{
    flex:0 0 auto!important;
    min-height:30px!important;
    margin-top:3px!important;
    padding:4px 0!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-footer{
    flex:0 0 auto!important;
    min-height:24px!important;
    margin-top:auto!important;
    padding-top:5px!important;
  }

  /* Scadenze: due blocchi realmente verticali, senza stiramenti inutili. */
  body.zsf-portal-page .zhr-corporate-app .zhr-home-deadlines{
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) minmax(0,1fr)!important;
    gap:10px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card{
    height:100%!important;
    min-height:0!important;
    padding:12px!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary>span{
    min-height:36px!important;
    padding:7px 9px!important;
  }

  /* Sidebar del mockup: Dashboard/Lavoratori/Safety, FAQ, PRENOTA. */
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-sidebar{
    padding:10px 0 8px!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-side-nav{
    order:1!important;
    flex:0 0 auto!important;
    overflow:visible!important;
    margin:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-side-footer-v050{
    order:2!important;
    flex:0 0 auto!important;
    margin:18px 8px 0!important;
    padding:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zhr-home-booking{
    order:3!important;
    flex:0 0 auto!important;
    margin:18px 8px 0!important;
    padding:9px 8px 7px!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-support-link{
    display:none!important;
  }
}

/* Su monitor meno alti mantieni tutto visibile senza ridurre i font. */
@media (min-width:1100px) and (max-height:780px){
  body.zsf-portal-page .zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard.zhr-home-dashboard-v2{
    grid-template-rows:66px minmax(0,1fr)!important;
    gap:8px!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-welcome-row{height:66px!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-home-welcome-row h1{font-size:26px!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-home-center{grid-template-rows:196px minmax(0,1fr)!important;gap:8px!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-home-agenda{height:196px!important;padding:10px 13px!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-home-agenda .zsf-friendly-agenda-row{min-height:54px!important;padding:6px 10px!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers td{height:28px!important;padding:4px 8px!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-home-presence .zsf-friendly-presence-workers th{height:26px!important;padding:4px 8px!important}
}

/* 1.5.3.2 — margini reali della home aziendale, come nel mockup */
@media (min-width:1100px){
  /* Cornice esterna: la dashboard non deve appoggiarsi ai bordi del browser. */
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active){
    padding:12px 14px 76px!important;
    box-sizing:border-box!important;
    background:#eef5fa!important;
    height:100vh!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-shell{
    width:100%!important;
    height:100%!important;
    margin:0!important;
    border:1px solid #d5e3ee!important;
    border-radius:14px!important;
    overflow:hidden!important;
    background:#f7fbfe!important;
    box-shadow:0 4px 18px rgba(23,63,99,.05)!important;
  }

  /* Sidebar con respiro interno e separazione netta dal contenuto. */
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-sidebar{
    padding:12px 8px 10px!important;
    border-right:1px solid #d8e5ef!important;
    background:#f7fbfe!important;
  }

  /* Area principale: margine vero prima di saluto, agenda e presenze. */
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-main-area,
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-workspace{
    background:#f2f7fb!important;
  }
  body.zsf-portal-page .zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard.zhr-home-dashboard-v2{
    padding:14px 18px 14px!important;
    gap:12px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-layout{
    gap:16px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-center{
    gap:12px!important;
  }

  /* Le card non devono mai toccare il bordo esterno. */
  body.zsf-portal-page .zhr-corporate-app .zhr-home-agenda,
  body.zsf-portal-page .zhr-corporate-app .zhr-home-presence,
  body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card{
    box-shadow:0 3px 12px rgba(25,68,105,.035)!important;
  }

  /* Barra inferiore: stessa larghezza visiva della dashboard, con margini laterali e inferiori. */
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zhr-home-bottom-header{
    left:14px!important;
    right:14px!important;
    bottom:10px!important;
    width:auto!important;
    height:56px!important;
    border-radius:11px!important;
    overflow:hidden!important;
    box-shadow:0 7px 20px rgba(9,71,108,.16)!important;
    grid-template-columns:190px 50px minmax(320px,680px) 1fr!important;
    padding:6px 10px!important;
  }
  .zhr-bottom-brand{height:44px!important;padding:4px 10px!important}
  .zhr-bottom-menu{width:44px!important;height:38px!important}
  .zhr-bottom-search{height:40px!important}

  /* Evita che Area Cliente venga troncata a destra. */
  .zhr-bottom-account{
    min-width:0!important;
    padding-right:2px!important;
  }
  .zhr-bottom-account strong{max-width:190px!important;overflow:hidden!important;text-overflow:ellipsis!important}
}

@media (min-width:1100px) and (max-height:780px){
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active){
    padding:8px 10px 68px!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zhr-home-bottom-header{
    left:10px!important;right:10px!important;bottom:7px!important;height:52px!important;
  }
  body.zsf-portal-page .zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard.zhr-home-dashboard-v2{
    padding:10px 14px!important;
  }
}

/* ==========================================================
   ZEMA HR 1.5.3.3 — Scadenze a righe + Agenda compilabile
   ========================================================== */
@media (min-width:1100px){
  /* Le scadenze non sono card alte: titolo + tre righe, senza vuoti. */
  body.zsf-portal-page .zhr-corporate-app .zhr-home-deadlines{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    height:auto!important;
    min-height:0!important;
    gap:12px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card{
    height:auto!important;
    min-height:0!important;
    flex:0 0 auto!important;
    padding:11px 12px 10px!important;
    overflow:visible!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-deadline-head{
    margin-bottom:8px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    border-top:1px solid #e1eaf1!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary>span{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:34px!important;
    margin:0!important;
    padding:7px 3px!important;
    border-radius:0!important;
    border-bottom:1px solid #e8eef3!important;
    background:transparent!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary>span:last-child{border-bottom:0!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary b{
    font-size:12.5px!important;
    color:#4f687b!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary strong{
    min-width:28px!important;
    text-align:right!important;
    font-size:14px!important;
    color:#0a4d78!important;
  }

  /* Agenda: calendario operativo, non elenco statico. */
  body.zsf-portal-page .zhr-corporate-app .zhr-home-agenda{
    height:224px!important;
    padding:12px 14px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-head{
    margin-bottom:6px!important;
    flex:0 0 auto!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-mode button{
    min-width:74px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-toolbar{
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr) 30px auto!important;
    align-items:center!important;
    gap:6px!important;
    margin-bottom:7px!important;
    flex:0 0 auto!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-toolbar>strong{
    text-align:center!important;
    font-size:13px!important;
    color:#214e70!important;
    text-transform:capitalize!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-nav,
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-today{
    height:28px!important;
    border:1px solid #cfe0eb!important;
    border-radius:8px!important;
    background:#f3f9fc!important;
    color:#056d9c!important;
    font-weight:800!important;
    cursor:pointer!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-nav{font-size:18px!important;padding:0!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-today{padding:0 10px!important;font-size:11px!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-editor{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-day-grid{
    display:grid!important;
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    height:100%!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-entry{
    display:grid!important;
    grid-template-columns:86px minmax(0,1fr)!important;
    gap:7px!important;
    align-items:center!important;
    min-height:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-entry input{
    height:34px!important;
    border:1px solid #d5e3ec!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#173f5d!important;
    font-size:12.5px!important;
    outline:none!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-entry input:focus,
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-week-day input:focus{
    border-color:#35a5c4!important;
    box-shadow:0 0 0 2px rgba(53,165,196,.10)!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-time-input{padding:0 7px!important;text-align:center!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-text-input{padding:0 10px!important}

  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-week-grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:5px!important;
    height:100%!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-week-day{
    min-width:0!important;
    border:1px solid #dce8f0!important;
    border-radius:8px!important;
    background:#f8fbfd!important;
    padding:5px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:5px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-week-day>span{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    color:#42637a!important;
    text-transform:capitalize!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-week-day b{font-size:10.5px!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-week-day em{font-size:11px!important;font-style:normal!important;font-weight:900!important;color:#05779f!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-week-day input{
    width:100%!important;
    min-width:0!important;
    flex:1 1 auto!important;
    border:0!important;
    border-top:1px solid #e5edf3!important;
    border-radius:0!important;
    background:transparent!important;
    padding:6px 3px!important;
    font-size:10.5px!important;
    color:#173f5d!important;
    outline:none!important;
  }
}

@media (min-width:1100px) and (max-height:780px){
  body.zsf-portal-page .zhr-corporate-app .zhr-home-agenda{height:202px!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-home-center{grid-template-rows:202px minmax(0,1fr)!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-agenda-entry input{height:31px!important}
}


/* ==========================================================
   ZEMA HR 1.5.3.4 — Agenda ZEMA pubblicata + caricamento dati
   ========================================================== */
.zhr-zema-data-loader{
  margin:12px 6px 8px!important;padding:10px!important;border:1px dashed #9ecbdc!important;border-radius:12px!important;
  background:linear-gradient(180deg,#f8fdff 0%,#eef8fc 100%)!important;display:grid!important;gap:7px!important;
}
.zhr-zema-data-title{display:flex!important;align-items:center!important;gap:8px!important;color:#0a577d!important}
.zhr-zema-data-title>span{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:9px!important;background:#dff4fb!important;color:#0785ad!important;font-size:16px!important;font-weight:900!important}
.zhr-zema-data-title strong{display:block!important;font-size:11px!important;letter-spacing:.08em!important}
.zhr-zema-data-title small{display:block!important;margin-top:1px!important;font-size:9.5px!important;color:#6c8595!important}
.zhr-zema-data-action,.zhr-zema-data-buttons button{border:1px solid #c3dce8!important;background:#fff!important;color:#075c83!important;border-radius:9px!important;min-height:32px!important;padding:6px 9px!important;font-size:10.5px!important;font-weight:850!important;cursor:pointer!important}
.zhr-zema-data-action:hover,.zhr-zema-data-buttons button:hover{background:#eaf8fd!important;border-color:#75bfd8!important;transform:translateY(-1px)!important}
.zhr-zema-data-loader textarea{width:100%!important;min-height:72px!important;resize:vertical!important;border:1px solid #d4e4ec!important;border-radius:9px!important;background:#fff!important;color:#173f5d!important;padding:8px!important;font-size:10px!important;line-height:1.35!important;box-sizing:border-box!important}
.zhr-zema-data-buttons{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
.zhr-zema-data-buttons #zhr-agenda-import-submit{background:#0786ae!important;color:#fff!important;border-color:#0786ae!important}
.zhr-zema-data-hint{font-size:8.5px!important;line-height:1.25!important;color:#718b9b!important}

.zhr-agenda-empty{height:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;color:#7890a0!important;gap:4px!important;border:1px dashed #d7e4ec!important;border-radius:10px!important;background:#fbfdfe!important}
.zhr-agenda-empty strong{font-size:13px!important;color:#315873!important}.zhr-agenda-empty span{font-size:10.5px!important}
.zhr-agenda-public-day{display:grid!important;gap:6px!important;overflow:auto!important;max-height:100%!important;padding-right:2px!important}
.zhr-agenda-public-event{display:grid!important;grid-template-columns:58px 95px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;min-height:38px!important;padding:7px 9px!important;border:1px solid #dce8ef!important;border-radius:9px!important;background:#fff!important}
.zhr-agenda-public-event time{font-size:12px!important;font-weight:900!important;color:#0b678f!important;text-align:center!important}
.zhr-agenda-tag{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:24px!important;padding:3px 7px!important;border-radius:999px!important;background:#edf5fa!important;color:#527084!important;font-size:9px!important;font-weight:850!important;white-space:nowrap!important}
.zhr-agenda-tag.health{background:#fdecef!important;color:#b53d59!important}.zhr-agenda-tag.training{background:#fff5dc!important;color:#9a6a00!important}.zhr-agenda-tag.meeting{background:#edeafd!important;color:#6650b9!important}
.zhr-agenda-public-event strong{display:block!important;font-size:12.5px!important;color:#123f61!important;line-height:1.15!important}.zhr-agenda-public-event small{display:block!important;margin-top:2px!important;font-size:9.5px!important;color:#7b909e!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

.zhr-agenda-public-week{height:100%!important;display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:5px!important;overflow:hidden!important}
.zhr-agenda-week-column{min-width:0!important;display:flex!important;flex-direction:column!important;border:1px solid #dce8ef!important;border-radius:9px!important;background:#f9fcfe!important;overflow:hidden!important}
.zhr-agenda-week-column header{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:5px 6px!important;background:#eef7fb!important;color:#486a80!important;text-transform:capitalize!important}.zhr-agenda-week-column header b{font-size:9.5px!important}.zhr-agenda-week-column header em{font-style:normal!important;font-weight:900!important;font-size:11px!important;color:#087fa7!important}
.zhr-agenda-week-events{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;padding:4px!important;display:grid!important;align-content:start!important;gap:4px!important}
.zhr-agenda-week-event{padding:5px!important;border-left:3px solid #76b7d0!important;border-radius:5px!important;background:#fff!important}.zhr-agenda-week-event.health{border-left-color:#e95f7f!important}.zhr-agenda-week-event.training{border-left-color:#e3a300!important}.zhr-agenda-week-event.meeting{border-left-color:#8b72d6!important}.zhr-agenda-week-event time{display:block!important;font-size:8.5px!important;font-weight:900!important;color:#0a7198!important}.zhr-agenda-week-event strong{display:block!important;font-size:9.5px!important;line-height:1.15!important;color:#173f5d!important;margin-top:1px!important}.zhr-agenda-week-event small{display:block!important;font-size:8px!important;color:#7b909e!important;margin-top:2px!important}.zhr-agenda-week-empty{display:grid!important;place-items:center!important;color:#a2b1bb!important;min-height:42px!important}

.zhr-agenda-admin-day{height:100%!important;display:grid!important;gap:5px!important;overflow:auto!important;padding-right:2px!important}
.zhr-agenda-admin-entry{display:grid!important;grid-template-columns:74px minmax(190px,1.8fr) minmax(95px,.8fr) minmax(90px,.7fr) minmax(120px,1fr) 30px!important;gap:5px!important;align-items:center!important}
.zhr-agenda-admin-entry input{min-width:0!important;height:31px!important;border:1px solid #d4e3ec!important;border-radius:7px!important;padding:0 7px!important;font-size:10.5px!important;color:#173f5d!important;background:#fff!important;box-sizing:border-box!important}
.zhr-agenda-delete{width:30px!important;height:30px!important;border:1px solid #f2c8cf!important;border-radius:7px!important;background:#fff5f6!important;color:#c84f63!important;font-size:17px!important;cursor:pointer!important}

@media(max-width:1250px){.zhr-agenda-public-event{grid-template-columns:52px 80px minmax(0,1fr)!important}.zhr-agenda-admin-entry{grid-template-columns:70px minmax(160px,1.5fr) minmax(80px,.7fr) minmax(80px,.7fr) 30px!important}.zhr-agenda-admin-notes{display:none!important}}

/* ZEMA HR 1.5.3.5 — box documenti azienda -> ZEMA */
body.zsf-portal-page .zhr-corporate-app .zhr-company-docbox{
  margin:12px 8px 10px!important;padding:11px!important;border:1px solid #cfe0ea!important;border-radius:14px!important;background:#fff!important;box-shadow:0 4px 14px rgba(15,72,105,.05)!important;
}
body.zsf-portal-page .zhr-corporate-app .zhr-company-docbox-title{display:flex!important;gap:8px!important;align-items:center!important;margin-bottom:8px!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-docbox-icon{display:grid!important;place-items:center!important;width:31px!important;height:31px!important;border-radius:10px!important;background:#e9f7fc!important;color:#0783ad!important;font-size:17px!important;font-weight:900!important;flex:0 0 auto!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-docbox-title strong{display:block!important;font-size:11px!important;letter-spacing:.04em!important;color:#0b4f75!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-docbox-title small{display:block!important;margin-top:1px!important;font-size:9.5px!important;line-height:1.2!important;color:#718a9c!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-field{display:block!important;margin:6px 0!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-field>span{display:block!important;margin:0 0 3px 2px!important;font-size:9px!important;font-weight:800!important;color:#5c7689!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-field input,
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-field select{width:100%!important;height:32px!important;box-sizing:border-box!important;border:1px solid #d3e2eb!important;border-radius:9px!important;background:#fbfdfe!important;color:#173f5d!important;padding:0 8px!important;font-size:10.5px!important;outline:none!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-field input:focus,
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-field select:focus{border-color:#58afd0!important;box-shadow:0 0 0 3px rgba(62,164,202,.10)!important;background:#fff!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin-top:7px!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-actions button{height:32px!important;border:1px solid #c8dfea!important;border-radius:9px!important;background:#f5fbfe!important;color:#0b6489!important;font-size:10px!important;font-weight:900!important;cursor:pointer!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-actions button:last-child{background:#0a88b4!important;color:#fff!important;border-color:#0a88b4!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-actions button:disabled{opacity:.45!important;cursor:not-allowed!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-selected{display:block!important;min-height:14px!important;margin-top:5px!important;font-size:8.8px!important;color:#7d919f!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-recent{margin-top:7px!important;padding-top:7px!important;border-top:1px solid #edf2f5!important;display:grid!important;gap:4px!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-recent-title{font-size:9px!important;color:#6b8393!important;text-transform:uppercase!important;letter-spacing:.06em!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-item{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:5px!important;padding:6px 7px!important;border-radius:8px!important;background:#f7fafc!important;text-decoration:none!important;color:#173f5d!important;border:1px solid transparent!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-item:hover{background:#eef8fc!important;border-color:#d1e8f1!important;transform:translateY(-1px)!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-item span{min-width:0!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-item b{display:block!important;font-size:9.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-item small{display:block!important;margin-top:1px!important;font-size:8.5px!important;color:#7c909e!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-item em{font-style:normal!important;font-size:8px!important;font-weight:900!important;color:#b26b00!important;background:#fff6dc!important;border-radius:999px!important;padding:3px 5px!important;white-space:nowrap!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-empty{font-size:9px!important;color:#8497a4!important}
@media(max-height:850px){body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-note{display:none!important}body.zsf-portal-page .zhr-corporate-app .zhr-company-docbox{padding:9px!important;margin-top:8px!important}.zhr-company-doc-recent .zhr-company-doc-item:nth-of-type(n+3){display:none!important}}

/* ZEMA HR 1.5.3.6 — PRENOTA spostato nella colonna destra, spazi ottimizzati */
@media (min-width:1100px){
  /* La sidebar resta dedicata a documenti, navigazione e guida: niente blocco prenota. */
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-sidebar{
    align-content:start!important;
  }

  /* Colonna destra: titolo + due scadenze compatte + prenotazioni. */
  body.zsf-portal-page .zhr-corporate-app .zhr-home-deadlines{
    display:grid!important;
    grid-template-rows:auto auto auto auto!important;
    align-content:start!important;
    gap:10px!important;
    height:auto!important;
    min-height:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card{
    height:auto!important;
    min-height:0!important;
    padding:11px!important;
    overflow:visible!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary{
    margin-top:8px!important;
    gap:5px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card .zsf-friendly-status-summary>span{
    min-height:31px!important;
    padding:6px 8px!important;
  }

  /* PRENOTA a destra: tre azioni verticali, compatte e leggibili. */
  body.zsf-portal-page .zhr-corporate-app .zhr-home-booking-right{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin:0!important;
    padding:10px!important;
    border:1px solid #d5e4ed!important;
    border-radius:13px!important;
    background:#fff!important;
    box-shadow:0 3px 12px rgba(25,68,105,.04)!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-booking-right>strong{
    display:block!important;
    margin:0 2px 1px!important;
    font-size:11px!important;
    letter-spacing:.09em!important;
    color:#355f79!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-booking-right button,
  body.zsf-portal-page .zhr-corporate-app .zhr-home-booking-right a{
    width:100%!important;
    min-height:39px!important;
    margin:0!important;
    padding:6px 9px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:9px!important;
    border:1px solid #d8e6ee!important;
    border-radius:10px!important;
    background:#fbfdfe!important;
    color:#123f61!important;
    text-decoration:none!important;
    font-size:11.5px!important;
    font-weight:850!important;
    box-sizing:border-box!important;
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-booking-right button:hover,
  body.zsf-portal-page .zhr-corporate-app .zhr-home-booking-right a:hover{
    transform:translateY(-1px)!important;
    border-color:#b9d8e6!important;
    box-shadow:0 5px 12px rgba(22,88,123,.08)!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-booking-right .zhr-book-icon{
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:9px!important;
    font-size:11px!important;
    font-weight:900!important;
  }

  /* Recupera spazio nella sidebar: box documenti ben separato, FAQ sotto navigazione. */
  body.zsf-portal-page .zhr-corporate-app .zhr-company-docbox{
    margin:10px 8px 8px!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-side-footer-v050{
    margin-top:12px!important;
  }
}

@media (min-width:1100px) and (max-height:820px){
  body.zsf-portal-page .zhr-corporate-app .zhr-home-booking-right{
    gap:5px!important;
    padding:8px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-booking-right button,
  body.zsf-portal-page .zhr-corporate-app .zhr-home-booking-right a{
    min-height:34px!important;
    padding:4px 7px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-booking-right .zhr-book-icon{
    width:25px!important;height:25px!important;flex-basis:25px!important;
  }
}

/* ZEMA HR 1.5.3.8 — macro-area Formazione e Addestramento */
.zhr-training-tabs{display:flex;gap:8px;align-items:center;margin:10px 0 14px;padding:5px;background:#eef6fb;border:1px solid #d6e6f1;border-radius:12px;width:max-content;max-width:100%}
.zhr-training-tabs button{border:0;background:transparent;color:#456278;font-weight:800;padding:9px 16px;border-radius:9px;cursor:pointer;transition:.18s ease}
.zhr-training-tabs button:hover{background:#fff;color:#075f91}
.zhr-training-tabs button.is-active{background:#fff;color:#075f91;box-shadow:0 2px 8px rgba(18,77,111,.10)}
.zhr-training-pane[hidden]{display:none!important}.zhr-training-pane.is-active{display:block}
.zhr-practical-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:4px 0 12px}.zhr-practical-head h3{margin:2px 0 4px;font-size:20px;color:#0b4268}.zhr-practical-head p{margin:0;color:#627b8e}
.zhr-practical-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.zhr-practical-kpis article{background:#f7fbfd;border:1px solid #dbe8ef;border-radius:12px;padding:11px 13px;display:flex;align-items:center;gap:9px}.zhr-practical-kpis span{font-size:12px;color:#617b8f}.zhr-practical-kpis strong{margin-left:auto;font-size:18px;color:#0b527c}.zhr-practical-kpis small{display:none}
.zhr-practical-table-wrap{border-radius:12px}.zhr-register-pending{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff4d9;color:#916400;font-size:11px;font-weight:800}
.zhr-practical-note{margin-top:12px;padding:12px 14px;border:1px dashed #bdd7e7;border-radius:12px;background:#f8fcfe;display:flex;gap:10px;align-items:flex-start}.zhr-practical-note strong{white-space:nowrap;color:#0a638f}.zhr-practical-note span{color:#5b7385;font-size:12px;line-height:1.45}
.zhr-booking-kind{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 16px}.zhr-booking-kind label{position:relative;cursor:pointer}.zhr-booking-kind input{position:absolute;opacity:0;pointer-events:none}.zhr-booking-kind span{display:block;border:1px solid #cbdde9;border-radius:12px;padding:12px 14px;background:#fff;transition:.18s ease}.zhr-booking-kind b{display:block;color:#123f60;margin-bottom:3px}.zhr-booking-kind small{color:#6d8495}.zhr-booking-kind input:checked+span{border-color:#1686bd;background:#eef8fd;box-shadow:0 0 0 2px rgba(22,134,189,.10)}
.zhr-home-booking button[data-open-booking="training"] span:last-child{white-space:normal;line-height:1.1}
@media(max-width:760px){.zhr-practical-kpis{grid-template-columns:1fr}.zhr-practical-head{flex-direction:column}.zhr-booking-kind{grid-template-columns:1fr}.zhr-training-tabs{width:100%}.zhr-training-tabs button{flex:1}}

/* ==========================================================
   ZEMA HR 1.5.4.0 — dashboard realmente full screen + footer full width
   ========================================================== */
@media (min-width:1100px){
  html, body.zsf-portal-page{width:100%!important;max-width:none!important;overflow-x:hidden!important}
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active){
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
    padding:8px 10px 70px!important;
    box-sizing:border-box!important;
    background:#eef5fa!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    height:calc(100vh - 78px)!important;
    grid-template-columns:210px minmax(0,1fr)!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-main-area,
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-workspace,
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) #zsf-view-overview{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard.zhr-home-dashboard-v2{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:12px 14px!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-layout{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:minmax(0,1fr) 270px!important;
    gap:14px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-center,
  body.zsf-portal-page .zhr-corporate-app .zhr-home-deadlines,
  body.zsf-portal-page .zhr-corporate-app .zhr-home-agenda,
  body.zsf-portal-page .zhr-corporate-app .zhr-home-presence{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  /* Footer a tutta larghezza schermo, ma allineato ai margini esterni della dashboard. */
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zhr-home-bottom-header{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:8px!important;
    width:auto!important;
    max-width:none!important;
    height:54px!important;
    border-radius:10px!important;
    padding:5px 10px!important;
    grid-template-columns:190px 48px minmax(280px,1fr) auto!important;
    gap:8px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    z-index:9990!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-bottom-search{width:100%!important;max-width:none!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-bottom-account{justify-self:end!important;white-space:nowrap!important}
}

@media (min-width:1450px){
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-shell{
    grid-template-columns:220px minmax(0,1fr)!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-layout{
    grid-template-columns:minmax(0,1fr) 290px!important;
  }
}

/* ==========================================================
   ZEMA HR 1.5.4.1 — viewport reale: shell e footer sganciati dai limiti del tema
   ========================================================== */
@media (min-width:1100px){
  html{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  body.zsf-portal-page{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#eef5fa!important}
  body.zsf-portal-page main,
  body.zsf-portal-page .site,
  body.zsf-portal-page .site-content,
  body.zsf-portal-page .content-area,
  body.zsf-portal-page .entry-content,
  body.zsf-portal-page .wp-site-blocks,
  body.zsf-portal-page .is-layout-constrained,
  body.zsf-portal-page .is-layout-flow{
    width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
  }
  body.zsf-portal-page .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){
    max-width:none!important;margin-left:0!important;margin-right:0!important;
  }

  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active){
    position:fixed!important;
    inset:0 0 64px 0!important;
    width:100vw!important;
    height:auto!important;
    min-height:0!important;
    max-width:none!important;
    margin:0!important;
    padding:6px!important;
    border:0!important;
    border-radius:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    background:#eef5fa!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-shell{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    border-radius:10px!important;
    grid-template-columns:215px minmax(0,1fr)!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-sidebar,
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-main-area,
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-workspace,
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) #zsf-view-overview{
    width:100%!important;max-width:none!important;min-width:0!important;min-height:0!important;height:100%!important;
  }
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) #zsf-view-overview{
    padding:0!important;overflow:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard.zhr-home-dashboard-v2{
    width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;
    margin:0!important;padding:10px 12px!important;box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-layout{
    width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;
    grid-template-columns:minmax(0,1fr) 280px!important;gap:14px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-center,
  body.zsf-portal-page .zhr-corporate-app .zhr-home-deadlines{
    min-height:0!important;height:100%!important;max-width:none!important;
  }

  /* Il footer viene trasferito nel body via JS: in questo modo position:fixed è davvero relativo al viewport. */
  body.zsf-portal-page > .zhr-home-bottom-header.zhr-viewport-footer{
    display:grid!important;
    position:fixed!important;
    left:6px!important;right:6px!important;bottom:6px!important;
    width:auto!important;max-width:none!important;height:52px!important;
    margin:0!important;padding:5px 10px!important;
    grid-template-columns:190px 46px minmax(240px,1fr) auto!important;
    align-items:center!important;gap:8px!important;
    border-radius:10px!important;
    background:linear-gradient(90deg,#086f9c,#1097b8)!important;
    box-shadow:0 6px 20px rgba(9,71,108,.18)!important;
    box-sizing:border-box!important;overflow:visible!important;z-index:2147483000!important;
  }
  body.zsf-portal-page > .zhr-home-bottom-header.zhr-viewport-footer .zhr-bottom-brand{height:42px!important}
  body.zsf-portal-page > .zhr-home-bottom-header.zhr-viewport-footer .zhr-bottom-menu{height:38px!important;width:42px!important}
  body.zsf-portal-page > .zhr-home-bottom-header.zhr-viewport-footer .zhr-bottom-search{width:100%!important;max-width:none!important;height:38px!important}
  body.zsf-portal-page > .zhr-home-bottom-header.zhr-viewport-footer .zhr-bottom-account{justify-self:end!important;min-width:max-content!important;white-space:nowrap!important}
}

@media (min-width:1450px){
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-shell{grid-template-columns:220px minmax(0,1fr)!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-home-layout{grid-template-columns:minmax(0,1fr) 300px!important}
}

/* ==========================================================
   ZEMA HR 1.5.4.2 — shell unica full screen + footer omogeneo
   ========================================================== */
@media (min-width:1100px){
  html,
  body.zsf-portal-page{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  body.zsf-portal-page{
    overflow:hidden!important;
    background:#edf4f9!important;
  }

  /* Neutralizza i contenitori del tema WordPress su TUTTE le viste del portale. */
  body.zsf-portal-page main,
  body.zsf-portal-page .site,
  body.zsf-portal-page .site-content,
  body.zsf-portal-page .content-area,
  body.zsf-portal-page .entry-content,
  body.zsf-portal-page .wp-site-blocks,
  body.zsf-portal-page .is-layout-constrained,
  body.zsf-portal-page .is-layout-flow,
  body.zsf-portal-page .wp-block-post-content{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  body.zsf-portal-page .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Un solo telaio, stessi margini in Dashboard, Lavoratori, Anagrafiche, ecc. */
  body.zsf-portal-page .zhr-corporate-app{
    position:fixed!important;
    top:8px!important;
    right:8px!important;
    bottom:68px!important;
    left:8px!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:12px!important;
    background:#edf4f9!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    transform:none!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-shell{
    display:grid!important;
    grid-template-columns:210px minmax(0,1fr)!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-width:none!important;
    margin:0!important;
    border-radius:12px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-sidebar{
    width:210px!important;
    min-width:210px!important;
    height:100%!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-main-area{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-workspace{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    padding:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }

  /* La barra di navigazione/account non resta più in alto nelle pagine interne. */
  body.zsf-portal-page .zhr-corporate-app .zsf-hero{
    display:none!important;
  }

  /* Margini interni omogenei per tutte le viste. */
  body.zsf-portal-page .zhr-corporate-app .zsf-view,
  body.zsf-portal-page .zhr-corporate-app [id^="zsf-view-"]{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:12px 14px 16px!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app #zsf-view-overview{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard.zhr-home-dashboard-v2{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:12px 14px!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-layout{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:100%!important;
    min-height:0!important;
    grid-template-columns:minmax(0,1fr) 285px!important;
    gap:14px!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-center,
  body.zsf-portal-page .zhr-corporate-app .zhr-home-deadlines{
    min-width:0!important;
    max-width:none!important;
    min-height:0!important;
  }

  /* Footer unico per TUTTE le pagine: stessa larghezza e stessi margini della shell. */
  body.zsf-portal-page > .zhr-home-bottom-header.zhr-viewport-footer{
    display:grid!important;
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    width:auto!important;
    max-width:none!important;
    height:52px!important;
    margin:0!important;
    padding:5px 10px!important;
    grid-template-columns:190px 46px minmax(260px,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    border-radius:10px!important;
    background:linear-gradient(90deg,#086f9c,#1097b8)!important;
    box-shadow:0 6px 20px rgba(9,71,108,.18)!important;
    z-index:2147483000!important;
  }
  body.zsf-portal-page > .zhr-home-bottom-header.zhr-viewport-footer .zhr-bottom-brand{
    height:42px!important;
    min-width:0!important;
  }
  body.zsf-portal-page > .zhr-home-bottom-header.zhr-viewport-footer .zhr-bottom-menu{
    width:42px!important;
    height:38px!important;
  }
  body.zsf-portal-page > .zhr-home-bottom-header.zhr-viewport-footer .zhr-bottom-search{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:38px!important;
  }
  body.zsf-portal-page > .zhr-home-bottom-header.zhr-viewport-footer .zhr-bottom-account{
    justify-self:end!important;
    min-width:max-content!important;
    white-space:nowrap!important;
  }
}

@media (min-width:1450px){
  body.zsf-portal-page .zhr-corporate-app .zsf-shell{
    grid-template-columns:220px minmax(0,1fr)!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-sidebar{
    width:220px!important;
    min-width:220px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-home-layout{
    grid-template-columns:minmax(0,1fr) 300px!important;
  }
}

/* 1.5.4.3 — anagrafiche/lavoratori Front Office in sola consultazione */
.zsf-readonly-workers-note{display:flex!important;align-items:center!important}
.zsf-readonly-pill{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid #d5e3ec;border-radius:10px;background:#f6fafc;color:#527087;font-size:12px;font-weight:800;white-space:nowrap}


/* ==========================================================
   ZEMA HR 1.6.1.0 — FRONT OFFICE DESIGN SYSTEM
   Un solo telaio: shell + footer strutturale. Nessun footer fixed,
   nessun re-parenting JS, nessun max-width del tema WordPress.
   ========================================================== */
:root{
  --zhr-bg:#eef5fa;
  --zhr-surface:#ffffff;
  --zhr-surface-soft:#f6fafc;
  --zhr-border:#d6e3ec;
  --zhr-border-strong:#c7d8e4;
  --zhr-text:#0b416c;
  --zhr-muted:#6b8396;
  --zhr-blue:#0877b7;
  --zhr-cyan:#149dbb;
  --zhr-gap:16px;
  --zhr-radius:14px;
  --zhr-footer-h:62px;
  --zhr-sidebar-w:210px;
}

html:has(body.zsf-portal-page),
body.zsf-portal-page{
  width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--zhr-bg)!important;
}
body.zsf-portal-page :where(#page,.site,.site-content,.content-area,.site-main,.entry-content,.wp-site-blocks,.wp-block-post-content,.is-layout-constrained,.is-layout-flow){
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
body.zsf-portal-page .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){
  max-width:none!important;
  margin-inline:0!important;
}

/* App = area di lavoro + footer; è il solo contenitore dimensionale. */
body.zsf-portal-page .zhr-corporate-app{
  position:fixed!important;
  inset:0!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) var(--zhr-footer-h)!important;
  width:100vw!important;
  height:100dvh!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:var(--zhr-bg)!important;
  box-sizing:border-box!important;
}
body.zsf-portal-page .zhr-corporate-app > .zsf-shell{
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:var(--zhr-sidebar-w) minmax(0,1fr)!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:var(--zhr-bg)!important;
  box-sizing:border-box!important;
}

/* Sidebar: una colonna ordinata; niente logo duplicato. */
body.zsf-portal-page .zhr-corporate-app .zsf-sidebar{
  grid-column:1!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  width:var(--zhr-sidebar-w)!important;
  min-width:var(--zhr-sidebar-w)!important;
  max-width:var(--zhr-sidebar-w)!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:16px 14px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  border:0!important;
  border-right:1px solid var(--zhr-border)!important;
  border-radius:0!important;
  background:#f7fbfd!important;
  box-sizing:border-box!important;
}
body.zsf-portal-page .zhr-corporate-app .zsf-sidebar .zsf-brand{display:none!important}
body.zsf-portal-page .zhr-corporate-app .zsf-side-nav{order:10!important;margin:0!important;padding:0!important}
body.zsf-portal-page .zhr-corporate-app .zhr-company-docbox{order:20!important;margin:0!important;width:100%!important}
body.zsf-portal-page .zhr-corporate-app .zhr-zema-data-loader{order:30!important;margin:0!important;width:100%!important}
body.zsf-portal-page .zhr-corporate-app .zsf-side-footer{order:90!important;margin-top:auto!important;width:100%!important}
body.zsf-portal-page .zhr-corporate-app .zsf-side-nav button,
body.zsf-portal-page .zhr-corporate-app .zhr-workers-subnav button{
  min-height:42px!important;
  border-radius:10px!important;
}
body.zsf-portal-page .zhr-corporate-app .zhr-company-docbox{
  padding:14px!important;
  border:1px solid var(--zhr-border)!important;
  border-radius:var(--zhr-radius)!important;
  box-shadow:0 4px 16px rgba(20,66,99,.04)!important;
}

/* Workspace: il contenuto può scorrere, shell/footer restano stabili. */
body.zsf-portal-page .zhr-corporate-app .zsf-main-area{
  grid-column:2!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--zhr-bg)!important;
}
body.zsf-portal-page .zhr-corporate-app .zsf-workspace{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  background:var(--zhr-bg)!important;
  box-sizing:border-box!important;
}
body.zsf-portal-page .zhr-corporate-app .zsf-hero{display:none!important}

/* Un solo ritmo di pagina in tutte le aree. */
body.zsf-portal-page .zhr-corporate-app .zsf-view,
body.zsf-portal-page .zhr-corporate-app [id^="zsf-view-"]{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:20px 22px 26px!important;
  box-sizing:border-box!important;
}
body.zsf-portal-page .zhr-corporate-app #zsf-view-overview{
  min-height:100%!important;
  padding:0!important;
}
body.zsf-portal-page .zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard.zhr-home-dashboard-v2{
  width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  margin:0!important;
  padding:20px 22px 26px!important;
  box-sizing:border-box!important;
}
body.zsf-portal-page .zhr-corporate-app .zhr-home-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(270px,300px)!important;
  gap:20px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}
body.zsf-portal-page .zhr-corporate-app .zhr-home-center,
body.zsf-portal-page .zhr-corporate-app .zhr-home-deadlines{min-width:0!important}

/* Card e sezioni: margini coerenti e leggibili. */
body.zsf-portal-page .zhr-corporate-app :where(.zsf-panel,.zsf-card,.zsf-table-card,.zhr-home-agenda,.zhr-home-attendance,.zhr-home-deadline-card){
  border-color:var(--zhr-border)!important;
  border-radius:var(--zhr-radius)!important;
  box-shadow:0 4px 16px rgba(18,65,98,.035)!important;
  box-sizing:border-box!important;
}
body.zsf-portal-page .zhr-corporate-app :where(.zhr-home-agenda,.zhr-home-attendance){padding:18px 20px!important}

/* Tabelle: respirano, ma restano dense. */
body.zsf-portal-page .zhr-corporate-app :where(.zsf-table-wrap,.zsf-table-shell,.zsf-table-container,.zhr-workers-table-wrap,.zhr-table-wrap){
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:10px 0 0!important;
  padding:0!important;
  overflow:auto!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
}
body.zsf-portal-page .zhr-corporate-app table{
  width:100%!important;
  max-width:none!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
body.zsf-portal-page .zhr-corporate-app table th{
  padding:10px 12px!important;
  line-height:1.15!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
}
body.zsf-portal-page .zhr-corporate-app table td{
  padding:9px 12px!important;
  line-height:1.25!important;
  vertical-align:middle!important;
}
body.zsf-portal-page .zhr-corporate-app :where(.zsf-table-toolbar,.zhr-table-toolbar,.zhr-datev-controls){
  gap:10px!important;
}

/* Footer strutturale: una riga vera dell'app, non fixed e non spostata via JS. */
body.zsf-portal-page .zhr-corporate-app > .zhr-global-footer{
  grid-row:2!important;
  display:grid!important;
  grid-template-columns:190px 46px minmax(260px,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  height:var(--zhr-footer-h)!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:7px 14px!important;
  position:relative!important;
  inset:auto!important;
  border:0!important;
  border-radius:0!important;
  background:linear-gradient(90deg,#08749f 0%,#159bb8 100%)!important;
  box-shadow:0 -3px 16px rgba(8,70,106,.14)!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  z-index:40!important;
}
body.zsf-portal-page .zhr-corporate-app > .zhr-global-footer .zhr-bottom-brand{
  height:46px!important;
  min-width:0!important;
  padding:5px 12px!important;
  border-radius:10px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
body.zsf-portal-page .zhr-corporate-app > .zhr-global-footer .zhr-bottom-menu{
  width:46px!important;
  height:42px!important;
  margin:0!important;
}
body.zsf-portal-page .zhr-corporate-app > .zhr-global-footer .zhr-bottom-search{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:42px!important;
  margin:0!important;
}
body.zsf-portal-page .zhr-corporate-app > .zhr-global-footer .zhr-bottom-account{
  justify-self:end!important;
  min-width:max-content!important;
  white-space:nowrap!important;
}

/* Sidebar collassata: il footer resta indipendente. */
body.zsf-portal-page .zhr-corporate-app.is-sidebar-collapsed > .zsf-shell,
body.zsf-portal-page .zhr-corporate-app.zsf-sidebar-collapsed > .zsf-shell{
  grid-template-columns:0 minmax(0,1fr)!important;
}
body.zsf-portal-page .zhr-corporate-app.is-sidebar-collapsed .zsf-sidebar,
body.zsf-portal-page .zhr-corporate-app.zsf-sidebar-collapsed .zsf-sidebar{
  width:0!important;min-width:0!important;max-width:0!important;padding:0!important;border:0!important;overflow:hidden!important;
}

@media (min-width:1600px){
  :root{--zhr-sidebar-w:220px}
  body.zsf-portal-page .zhr-corporate-app .zhr-home-layout{grid-template-columns:minmax(0,1fr) 310px!important;gap:22px!important}
  body.zsf-portal-page .zhr-corporate-app .zsf-view,
  body.zsf-portal-page .zhr-corporate-app [id^="zsf-view-"],
  body.zsf-portal-page .zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard.zhr-home-dashboard-v2{padding-left:26px!important;padding-right:26px!important}
}

@media (max-width:1099px){
  body.zsf-portal-page{overflow:auto!important}
  body.zsf-portal-page .zhr-corporate-app{
    position:relative!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;min-height:100vh!important;overflow:visible!important;
  }
  body.zsf-portal-page .zhr-corporate-app > .zsf-shell{display:block!important;height:auto!important;overflow:visible!important}
  body.zsf-portal-page .zhr-corporate-app .zsf-sidebar{position:relative!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;border-right:0!important;border-bottom:1px solid var(--zhr-border)!important}
  body.zsf-portal-page .zhr-corporate-app .zsf-main-area,
  body.zsf-portal-page .zhr-corporate-app .zsf-workspace{height:auto!important;overflow:visible!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-home-layout{grid-template-columns:1fr!important}
  body.zsf-portal-page .zhr-corporate-app > .zhr-global-footer{position:sticky!important;bottom:0!important;grid-template-columns:1fr auto!important;height:auto!important;min-height:58px!important;padding:8px 10px!important}
  body.zsf-portal-page .zhr-corporate-app > .zhr-global-footer .zhr-bottom-brand,
  body.zsf-portal-page .zhr-corporate-app > .zhr-global-footer .zhr-bottom-search{display:none!important}
  body.zsf-portal-page .zhr-corporate-app > .zhr-global-footer .zhr-bottom-menu{grid-column:1!important;justify-self:start!important}
  body.zsf-portal-page .zhr-corporate-app > .zhr-global-footer .zhr-bottom-account{grid-column:2!important}
}

/* ==========================================================
   ZEMA HR 1.6.4.0 — Sidebar UX cleanup + Richieste visibili
   ========================================================== */
@media (min-width:1100px){
  body.zsf-portal-page .zhr-corporate-app .zsf-sidebar{
    gap:9px!important;
    padding:10px 10px 12px!important;
    overflow-x:hidden!important;
    overflow-y:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-side-nav{
    display:flex!important;
    flex-direction:column!important;
    gap:5px!important;
    width:100%!important;
    min-width:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-side-nav > button{
    width:100%!important;
    min-width:0!important;
    min-height:39px!important;
    padding:7px 10px!important;
    border-radius:9px!important;
    font-size:12.5px!important;
    line-height:1.15!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-side-nav > button .zsf-nav-icon{
    width:25px!important;
    min-width:25px!important;
    height:25px!important;
    font-size:11px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-workers-subnav{
    gap:4px!important;
    padding:3px 4px 3px 10px!important;
    min-width:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-side-nav .zhr-workers-subnav button{
    width:100%!important;
    min-width:0!important;
    min-height:34px!important;
    padding:6px 9px!important;
    border-radius:8px!important;
    font-size:11.5px!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-company-docbox{
    padding:10px!important;
    border-radius:12px!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-company-docbox-title{
    margin-bottom:6px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-company-docbox-title small{
    font-size:8.8px!important;
    line-height:1.15!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-field{
    min-width:0!important;
    margin:5px 0!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-field input,
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-field select{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:34px!important;
    padding:0 8px!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    margin-top:7px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-actions button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:34px!important;
    padding:0 8px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-selected{
    width:100%!important;
    max-width:100%!important;
    margin-top:4px!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-recent[hidden]{display:none!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-recent{
    max-height:112px!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-side-footer{
    margin-top:2px!important;
    min-width:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-help-main{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}
@media (min-width:1100px) and (max-height:780px){
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-note{display:none!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-company-docbox-title small{display:none!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-recent{display:none!important}
  body.zsf-portal-page .zhr-corporate-app .zsf-sidebar{gap:6px!important;padding-top:7px!important;padding-bottom:7px!important}
  body.zsf-portal-page .zhr-corporate-app .zsf-side-nav > button{min-height:36px!important;padding-top:5px!important;padding-bottom:5px!important}
  body.zsf-portal-page .zhr-corporate-app .zsf-side-nav .zhr-workers-subnav button{min-height:31px!important;padding-top:5px!important;padding-bottom:5px!important}
}

/* ==========================================================
   ZEMA HR 1.6.5.0 — sidebar riprogettata, nessuno scroll interno
   e upload documenti spostato in dialog dedicato.
   ========================================================== */
@media (min-width:1100px){
  body.zsf-portal-page .zhr-corporate-app .zsf-sidebar{
    display:flex!important;
    flex-direction:column!important;
    width:var(--zhr-sidebar-w,220px)!important;
    min-width:var(--zhr-sidebar-w,220px)!important;
    max-width:var(--zhr-sidebar-w,220px)!important;
    height:100%!important;
    padding:8px!important;
    gap:8px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-brand{
    flex:0 0 auto!important;
    min-height:58px!important;
    padding:7px 8px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-side-nav{
    flex:0 0 auto!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:4px!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
    scrollbar-width:none!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-side-nav::-webkit-scrollbar{display:none!important}
  body.zsf-portal-page .zhr-corporate-app .zsf-side-nav > button{
    flex:0 0 auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    height:38px!important;
    padding:6px 8px!important;
    margin:0!important;
    border-radius:9px!important;
    box-sizing:border-box!important;
    transform:none!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-side-nav > button:hover{transform:none!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-workers-parent{
    grid-template-columns:26px minmax(0,1fr) 22px!important;
    gap:6px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-side-nav > button .zsf-nav-icon{
    width:24px!important;min-width:24px!important;height:24px!important;font-size:11px!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-workers-subnav{
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:3px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:2px 0 2px 10px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-workers-subnav[hidden]{display:none!important}
  body.zsf-portal-page .zhr-corporate-app .zsf-side-nav .zhr-workers-subnav button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:31px!important;
    height:31px!important;
    margin:0!important;
    padding:5px 9px!important;
    border-radius:8px!important;
    box-sizing:border-box!important;
    font-size:11.5px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    transform:none!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-launch{
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 16px!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:58px!important;
    margin:2px 0 0!important;
    padding:8px 9px!important;
    border:1px solid #cfe2ec!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#174e72!important;
    text-align:left!important;
    cursor:pointer!important;
    box-sizing:border-box!important;
    box-shadow:0 4px 12px rgba(18,65,98,.045)!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-launch:hover{border-color:#78bfd7!important;background:#f5fbfd!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-launch-icon{
    display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border-radius:9px!important;background:#e9f7fb!important;color:#1387aa!important;font-size:15px!important;font-weight:900!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-launch span:nth-child(2){min-width:0!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-launch strong{display:block!important;font-size:10.5px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-launch small{display:block!important;margin-top:2px!important;font-size:8.5px!important;line-height:1.15!important;color:#6d8597!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.zsf-portal-page .zhr-corporate-app .zhr-company-doc-launch b{font-size:18px!important;color:#1686ae!important;text-align:right!important}
  body.zsf-portal-page .zhr-corporate-app .zsf-side-footer{
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-top:auto!important;
    padding:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-help-main{
    width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app .zsf-support-link{display:none!important}
}

/* Dialog documenti: il form non compete più con la navigazione laterale. */
.zhr-company-doc-dialog{padding:0!important;border:0!important;background:transparent!important;max-width:none!important;max-height:none!important}
.zhr-company-doc-dialog::backdrop{background:rgba(10,37,60,.48);backdrop-filter:blur(2px)}
.zhr-company-doc-modal-card{width:min(720px,calc(100vw - 28px));max-height:min(760px,calc(100vh - 36px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #d6e5ee;border-radius:18px;background:#fff;box-shadow:0 26px 70px rgba(13,49,75,.28)}
.zhr-company-doc-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 16px;border-bottom:1px solid #e0e9ef;background:linear-gradient(135deg,#f3fbfd,#f8fbfd)}
.zhr-company-doc-modal-head h2{margin:4px 0 4px!important;color:#174e72!important;font-size:22px!important}
.zhr-company-doc-modal-head p{margin:0!important;color:#698195!important;font-size:12px!important;line-height:1.4!important}
.zhr-company-doc-modal-close{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:0;border-radius:10px;background:#eaf3f7;color:#174e72;font-size:24px;line-height:1;cursor:pointer}
.zhr-company-doc-modal-body{padding:18px 22px 22px;overflow:auto}
.zhr-company-doc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.zhr-company-doc-field-wide{grid-column:1 / -1}
.zhr-company-doc-dialog .zhr-company-doc-field{display:grid;gap:6px;margin:0!important;min-width:0!important}
.zhr-company-doc-dialog .zhr-company-doc-field>span{font-size:11px!important;font-weight:850!important;color:#385d78!important}
.zhr-company-doc-dialog .zhr-company-doc-field input,.zhr-company-doc-dialog .zhr-company-doc-field select{width:100%!important;max-width:100%!important;min-width:0!important;height:42px!important;padding:0 11px!important;border:1px solid #cbdce7!important;border-radius:10px!important;background:#fff!important;box-sizing:border-box!important}
.zhr-company-doc-dropzone{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:14px;padding:14px;border:1px dashed #9cc9da;border-radius:12px;background:#f8fcfe}
.zhr-company-doc-dropzone>div strong{display:block;color:#214f6f;font-size:13px}.zhr-company-doc-dropzone>div small{display:block;margin-top:2px;color:#768b9b;font-size:10px}
.zhr-company-doc-dropzone #zhr-company-doc-pick{min-height:38px;padding:0 14px;border:1px solid #1689b0;border-radius:9px;background:#fff;color:#12779c;font-weight:850;cursor:pointer}
.zhr-company-doc-dropzone .zhr-company-doc-selected{grid-column:1 / -1;display:block!important;margin:0!important;color:#607d90!important;font-size:10px!important;overflow-wrap:anywhere!important}
.zhr-company-doc-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #e4ebf0}
.zhr-company-doc-modal-actions button{min-width:130px!important;min-height:40px!important}
.zhr-company-doc-dialog .zhr-company-doc-recent{margin-top:18px!important;max-height:none!important;overflow:visible!important}
@media(max-width:640px){.zhr-company-doc-form-grid{grid-template-columns:1fr}.zhr-company-doc-field-wide{grid-column:auto}.zhr-company-doc-dropzone{grid-template-columns:1fr}.zhr-company-doc-modal-actions{display:grid;grid-template-columns:1fr}.zhr-company-doc-modal-actions button{width:100%!important}}


/* ==========================================================
   ZEMA HR 1.6.6.0 — shell unica anche in Dashboard + footer/menu
   coerenti con tutte le aree del Front Office.
   Neutralizza i vecchi override :has() dedicati alla home.
   ========================================================== */
@media (min-width:1100px){
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active){
    position:fixed!important;
    inset:0!important;
    display:grid!important;
    grid-template-rows:minmax(0,1fr) var(--zhr-footer-h)!important;
    width:100vw!important;
    height:100dvh!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:var(--zhr-bg)!important;
    box-sizing:border-box!important;
  }

  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) > .zsf-shell{
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:var(--zhr-sidebar-w,220px) minmax(0,1fr)!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:var(--zhr-bg)!important;
    box-sizing:border-box!important;
  }

  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-sidebar{
    grid-column:1!important;
    width:var(--zhr-sidebar-w,220px)!important;
    min-width:var(--zhr-sidebar-w,220px)!important;
    max-width:var(--zhr-sidebar-w,220px)!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:0!important;
    box-sizing:border-box!important;
  }

  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-main-area{
    grid-column:2!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-workspace{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    box-sizing:border-box!important;
  }

  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) #zsf-view-overview{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:100%!important;
    height:auto!important;
    margin:0!important;
    padding:20px 22px 26px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) #zsf-view-overview .zsf-friendly-dashboard.zhr-home-dashboard-v2{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zhr-home-layout{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    grid-template-columns:minmax(0,1fr) minmax(270px,300px)!important;
    gap:20px!important;
  }

  /* Il footer usa esattamente la stessa larghezza della colonna laterale. */
  body.zsf-portal-page .zhr-corporate-app > .zhr-global-footer{
    grid-template-columns:var(--zhr-sidebar-w,220px) 48px minmax(260px,1fr) auto!important;
  }

  body.zsf-portal-page .zhr-corporate-app > .zhr-global-footer .zhr-bottom-brand{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  body.zsf-portal-page .zhr-corporate-app > .zhr-global-footer .zhr-bottom-menu{
    display:grid!important;
    place-items:center!important;
    width:48px!important;
    min-width:48px!important;
    height:42px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.48)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.10)!important;
    color:#fff!important;
    line-height:1!important;
    box-sizing:border-box!important;
    cursor:pointer!important;
  }
  body.zsf-portal-page .zhr-corporate-app > .zhr-global-footer .zhr-bottom-menu:hover{
    background:rgba(255,255,255,.20)!important;
  }

  /* Stato chiuso: dashboard e altre sezioni reagiscono nello stesso modo. */
  body.zsf-portal-page .zhr-corporate-app.is-sidebar-collapsed:has(#zsf-view-overview.is-active) > .zsf-shell,
  body.zsf-portal-page .zhr-corporate-app.zsf-sidebar-collapsed:has(#zsf-view-overview.is-active) > .zsf-shell{
    grid-template-columns:0 minmax(0,1fr)!important;
  }
  body.zsf-portal-page .zhr-corporate-app.is-sidebar-collapsed:has(#zsf-view-overview.is-active) .zsf-sidebar,
  body.zsf-portal-page .zhr-corporate-app.zsf-sidebar-collapsed:has(#zsf-view-overview.is-active) .zsf-sidebar{
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }
}

/* ==========================================================
   ZEMA HR 1.6.7.0 — shell visivamente identica in tutte le viste.
   La Dashboard non possiede più un secondo sistema di padding/dimensioni.
   ========================================================== */
@media (min-width:1100px){
  body.zsf-portal-page .zhr-corporate-app,
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active){
    position:fixed!important;
    inset:0!important;
    display:grid!important;
    grid-template-rows:minmax(0,1fr) var(--zhr-footer-h)!important;
    width:100vw!important;
    height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  body.zsf-portal-page .zhr-corporate-app > .zsf-shell,
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) > .zsf-shell{
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:var(--zhr-sidebar-w) minmax(0,1fr)!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  body.zsf-portal-page .zhr-corporate-app .zsf-sidebar,
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-sidebar{
    grid-column:1!important;
    width:var(--zhr-sidebar-w)!important;
    min-width:var(--zhr-sidebar-w)!important;
    max-width:var(--zhr-sidebar-w)!important;
    height:100%!important;
    min-height:0!important;
    box-sizing:border-box!important;
  }

  body.zsf-portal-page .zhr-corporate-app .zsf-main-area,
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-main-area{
    grid-column:2!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  body.zsf-portal-page .zhr-corporate-app .zsf-workspace,
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zsf-workspace{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:auto!important;
    box-sizing:border-box!important;
  }

  /* Stesso contenitore pagina e stesso margine per Dashboard, Lavoratori, Presenze, ecc. */
  body.zsf-portal-page .zhr-corporate-app .zsf-view,
  body.zsf-portal-page .zhr-corporate-app [id^="zsf-view-"],
  body.zsf-portal-page .zhr-corporate-app #zsf-view-overview{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:100%!important;
    margin:0!important;
    padding:20px 22px 26px!important;
    box-sizing:border-box!important;
  }

  body.zsf-portal-page .zhr-corporate-app #zsf-view-overview .zsf-friendly-dashboard.zhr-home-dashboard-v2{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  body.zsf-portal-page .zhr-corporate-app .zhr-home-layout,
  body.zsf-portal-page .zhr-corporate-app:has(#zsf-view-overview.is-active) .zhr-home-layout{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    height:auto!important;
  }

  body.zsf-portal-page .zhr-corporate-app.is-sidebar-collapsed > .zsf-shell,
  body.zsf-portal-page .zhr-corporate-app.zsf-sidebar-collapsed > .zsf-shell,
  body.zsf-portal-page .zhr-corporate-app.is-sidebar-collapsed:has(#zsf-view-overview.is-active) > .zsf-shell,
  body.zsf-portal-page .zhr-corporate-app.zsf-sidebar-collapsed:has(#zsf-view-overview.is-active) > .zsf-shell{
    grid-template-columns:0 minmax(0,1fr)!important;
  }

  body.zsf-portal-page .zhr-corporate-app.is-sidebar-collapsed .zsf-sidebar,
  body.zsf-portal-page .zhr-corporate-app.zsf-sidebar-collapsed .zsf-sidebar{
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    padding-left:0!important;
    padding-right:0!important;
    border:0!important;
    overflow:hidden!important;
  }
}

/* Dialog documenti sempre sopra la shell, indipendente da overflow e vista attiva. */
body.zsf-portal-page .zhr-company-doc-dialog[open]{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:auto!important;
  padding:18px!important;
  display:grid!important;
  place-items:center!important;
  overflow:auto!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
body.zsf-portal-page .zhr-company-doc-dialog[open] .zhr-company-doc-modal-card{
  margin:auto!important;
}
body.zsf-portal-page .zhr-company-doc-launch{
  position:relative!important;
  z-index:2!important;
  pointer-events:auto!important;
}

/* ==========================================================
   ZEMA HR 1.6.8.0 — SHELL UNICA STRUTTURALE
   Un solo layout applicativo per Dashboard e moduli.
   Nessuna geometria dipendente dalla vista attiva.
   ========================================================== */
@media (min-width:1100px){
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell{
    --zhr-sidebar-w:210px;
    --zhr-footer-h:58px;
    position:fixed!important;
    inset:0!important;
    display:grid!important;
    grid-template-rows:minmax(0,1fr) var(--zhr-footer-h)!important;
    width:100vw!important;
    height:100dvh!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:var(--zhr-bg,#eef6fb)!important;
  }

  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell > .zsf-shell{
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:var(--zhr-sidebar-w) minmax(0,1fr)!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }

  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zsf-sidebar{
    grid-column:1!important;
    display:flex!important;
    flex-direction:column!important;
    width:var(--zhr-sidebar-w)!important;
    min-width:var(--zhr-sidebar-w)!important;
    max-width:var(--zhr-sidebar-w)!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:8px!important;
    gap:8px!important;
    overflow:hidden!important;
    border-right:1px solid #d7e5ef!important;
    background:#f7fbfd!important;
    box-sizing:border-box!important;
  }

  /* Ordine fisso della sidebar, identico in ogni vista. */
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zhr-company-doc-launch{
    order:10!important;
    flex:0 0 auto!important;
    margin:0!important;
  }
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zsf-side-nav{
    order:20!important;
    flex:0 0 auto!important;
    margin:0!important;
    overflow:visible!important;
  }
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zhr-zema-data-loader{
    order:30!important;
    flex:0 0 auto!important;
  }
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zsf-side-footer,
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zsf-side-footer-v050,
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell:has(#zsf-view-overview.is-active) .zsf-side-footer-v050{
    order:100!important;
    flex:0 0 auto!important;
    width:100%!important;
    margin:auto 0 0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell:has(#zsf-view-overview.is-active) .zhr-home-booking{
    order:initial!important;
    margin:0!important;
  }

  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zsf-main-area{
    grid-column:2!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:var(--zhr-bg,#eef6fb)!important;
  }
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zsf-workspace{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:auto!important;
    box-sizing:border-box!important;
    background:var(--zhr-bg,#eef6fb)!important;
  }

  /* Tutte le pagine usano lo stesso canvas. */
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zsf-view,
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell #zsf-view-overview,
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell:has(#zsf-view-overview.is-active) #zsf-view-overview{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:100%!important;
    height:auto!important;
    margin:0!important;
    padding:20px 22px 24px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  /* La Dashboard non crea più una seconda shell a viewport. */
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell #zsf-view-overview .zsf-friendly-dashboard,
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell #zsf-view-overview .zsf-friendly-dashboard.zhr-home-dashboard-v2,
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell:has(#zsf-view-overview.is-active) #zsf-view-overview .zsf-friendly-dashboard.zhr-home-dashboard-v2{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:calc(100dvh - var(--zhr-footer-h) - 44px)!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    gap:14px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zhr-home-welcome-row{
    flex:0 0 auto!important;
  }
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zhr-home-layout,
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell:has(#zsf-view-overview.is-active) .zhr-home-layout{
    flex:1 1 auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    grid-template-columns:minmax(0,1fr) minmax(270px,300px)!important;
    gap:20px!important;
  }

  /* Footer = seconda riga della stessa app, sempre uguale. */
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell > .zhr-global-footer,
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell:has(#zsf-view-overview.is-active) > .zhr-global-footer{
    grid-row:2!important;
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:var(--zhr-sidebar-w) 46px minmax(260px,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    height:var(--zhr-footer-h)!important;
    min-height:var(--zhr-footer-h)!important;
    margin:0!important;
    padding:6px 10px 6px 6px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  /* Logo più compatto: resta dentro la colonna senza quadrante bianco sovradimensionato. */
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell > .zhr-global-footer .zhr-bottom-brand{
    align-self:center!important;
    justify-self:stretch!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:42px!important;
    min-height:42px!important;
    margin:0 6px 0 0!important;
    padding:3px 10px!important;
    border-radius:9px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell > .zhr-global-footer .zhr-bottom-logo-main{
    font-size:19px!important;
    line-height:.95!important;
  }
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell > .zhr-global-footer .zhr-bottom-brand small{
    margin-top:2px!important;
    font-size:6.3px!important;
    line-height:1.05!important;
    letter-spacing:.15em!important;
  }

  /* Collasso sidebar: una sola regola per tutte le viste. */
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell.is-sidebar-collapsed > .zsf-shell,
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell.zsf-sidebar-collapsed > .zsf-shell{
    grid-template-columns:0 minmax(0,1fr)!important;
  }
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell.is-sidebar-collapsed .zsf-sidebar,
  body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell.zsf-sidebar-collapsed .zsf-sidebar{
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }
}

/* ZEMA HR 1.6.24.0 — Notifiche corporate visibili e leggibili */
.zsf-app-v038 #zsf-view-notifications .zsf-notification-area{display:inline-flex!important;width:max-content;margin:0 0 5px!important;padding:3px 7px;border-radius:999px;background:#f2efff;color:#6646c8!important;font-size:10px!important;font-weight:850!important;letter-spacing:.02em}
.zsf-app-v038 .zhr-corporate-nav .zsf-nav-notifications{--nav-accent:#d92d20!important;--nav-soft:#fff0ef!important}


/* ZEMA HR 1.6.24.49 — Front Office: badge scadenze verticali e leggibili */
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.health,
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.training{
  min-height:124px!important;
  max-height:none!important;
  align-items:start!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.health .zsf-friendly-status-summary,
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.training .zsf-friendly-status-summary{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:5px!important;
  white-space:normal!important;
  overflow:visible!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.health .zsf-friendly-status-summary > span,
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.training .zsf-friendly-status-summary > span{
  width:100%!important;
  min-width:0!important;
  padding:5px 8px!important;
  border-radius:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.health .zsf-friendly-status-summary b,
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.training .zsf-friendly-status-summary b{
  display:block!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.15!important;
  font-size:8.8px!important;
}
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.health .zsf-friendly-status-summary strong,
.zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.training .zsf-friendly-status-summary strong{
  flex:0 0 auto!important;
  font-size:11px!important;
  align-self:center!important;
}
@media(max-width:1100px){
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.health,
  .zhr-corporate-app #zsf-view-overview .zsf-friendly-status-card-minimal.training{
    min-height:118px!important;
  }
}


/* ZEMA HR 1.6.24.50 — FIX DEFINITIVO scadenze Front Office: card reali zhr-deadline-card */
body.zsf-portal-page .zhr-corporate-app #zsf-friendly-health-summary,
body.zsf-portal-page .zhr-corporate-app #zsf-friendly-training-summary{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  width:100%!important;
  gap:5px!important;
  margin-top:8px!important;
  overflow:visible!important;
  white-space:normal!important;
  border-top:0!important;
}
body.zsf-portal-page .zhr-corporate-app #zsf-friendly-health-summary > span,
body.zsf-portal-page .zhr-corporate-app #zsf-friendly-training-summary > span{
  display:flex!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
  min-height:30px!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0!important;
  padding:6px 9px!important;
  border:0!important;
  border-radius:8px!important;
  background:#f5f9fc!important;
}
body.zsf-portal-page .zhr-corporate-app #zsf-friendly-health-summary > span b,
body.zsf-portal-page .zhr-corporate-app #zsf-friendly-training-summary > span b{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  font-size:10.5px!important;
  line-height:1.2!important;
  font-weight:750!important;
  color:#526d80!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
body.zsf-portal-page .zhr-corporate-app #zsf-friendly-health-summary > span strong,
body.zsf-portal-page .zhr-corporate-app #zsf-friendly-training-summary > span strong{
  display:block!important;
  flex:0 0 auto!important;
  min-width:24px!important;
  text-align:right!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
}
body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card.health,
body.zsf-portal-page .zhr-corporate-app .zhr-deadline-card.training{
  min-height:150px!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}


/* ZEMA HR 1.6.24.52 — selettore file nativo Invia documenti */
.zhr-company-doc-dropzone .zhr-company-doc-pick-native{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:38px!important;padding:8px 14px!important;border-radius:10px!important;
  border:1px solid #6f4ce6!important;background:#6f4ce6!important;color:#fff!important;
  font-weight:800!important;cursor:pointer!important;user-select:none!important;text-decoration:none!important;
}
.zhr-company-doc-dropzone .zhr-company-doc-pick-native:hover,.zhr-company-doc-dropzone .zhr-company-doc-pick-native:focus{
  filter:brightness(.96)!important;outline:2px solid rgba(111,76,230,.18)!important;outline-offset:2px!important;
}


/* ZEMA HR 1.6.24.54 — sidebar: INVIA DOCUMENTI sempre sotto la navigazione */
body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zsf-side-nav,
body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell:has(#zsf-view-overview.is-active) .zsf-side-nav{
  order:10!important;
}
body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zhr-company-doc-launch,
body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell:has(#zsf-view-overview.is-active) .zhr-company-doc-launch{
  order:20!important;
  flex:0 0 auto!important;
  margin:0!important;
}
body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zhr-zema-data-loader{
  order:30!important;
}


/* ZEMA HR 1.6.24.58 — fix mirato Dashboard: News compatta + footer full width */
body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zhr-home-top-tools{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex:0 0 auto!important;
  width:auto!important;
  margin:0!important;
}
body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zhr-home-news{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:40px!important;
  padding:5px 8px 5px 6px!important;
  gap:6px!important;
  margin:0!important;
}
body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zhr-home-news span{
  width:25px!important;
  height:25px!important;
  flex:0 0 25px!important;
  border-radius:8px!important;
  font-size:12px!important;
}
body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell .zhr-home-news strong{
  font-size:11px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell > .zhr-global-footer,
body.zsf-portal-page .zhr-corporate-app.zhr-unified-shell:has(#zsf-view-overview.is-active) > .zhr-global-footer{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border-radius:0!important;
  left:auto!important;
  right:auto!important;
  box-sizing:border-box!important;
}


/* ZEMA HR 1.6.24.59 — selettore file Front Office nativo e affidabile */
.zhr-company-doc-dropzone{position:relative!important;}
.zhr-company-doc-native-file{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  cursor:pointer!important;
  z-index:3!important;
}
.zhr-company-doc-pick-native{position:relative!important;z-index:2!important;pointer-events:none!important;}
.zhr-company-doc-selected{position:relative!important;z-index:2!important;pointer-events:none!important;}
.zhr-company-doc-modal-actions{position:relative!important;z-index:5!important;}


/* ZEMA HR 1.6.24.63 — scelta pagamento sanitario / bonifico */
.zsf-app-v038 .zsf-payment-choice{border:1px solid #d6e5ef;border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.zsf-app-v038 .zsf-payment-choice legend{font-size:11px;font-weight:900;color:#214b68;padding:0 5px}.zsf-app-v038 .zsf-payment-choice label{display:flex;gap:8px;align-items:flex-start;padding:9px 10px;border:1px solid #dbe8f1;border-radius:10px;background:#fbfdff;cursor:pointer}.zsf-app-v038 .zsf-payment-choice label span{display:flex;flex-direction:column;gap:2px}.zsf-app-v038 .zsf-payment-choice label strong{font-size:11px;color:#164b70}.zsf-app-v038 .zsf-payment-choice label small{font-size:9px;color:#6c8396}.zsf-app-v038 .zsf-bank-transfer-box{padding:8px 2px 2px}.zsf-app-v038 .zsf-bank-transfer-box>p{color:#587187;font-size:11px;line-height:1.5}.zsf-app-v038 .zsf-bank-transfer-box dl{display:grid;gap:7px;margin:12px 0}.zsf-app-v038 .zsf-bank-transfer-box dl div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:8px 10px;border-radius:9px;background:#f5f9fc}.zsf-app-v038 .zsf-bank-transfer-box dt{font-size:10px;font-weight:800;color:#6a8192}.zsf-app-v038 .zsf-bank-transfer-box dd{margin:0;font-size:11px;font-weight:900;color:#174c70;word-break:break-all}.zsf-app-v038 .zsf-bank-note{padding:9px 11px!important;background:#fff8e8;border:1px solid #efd8a5;border-radius:9px;color:#745814!important}@media(max-width:700px){.zsf-app-v038 .zsf-payment-choice{grid-template-columns:1fr}.zsf-app-v038 .zsf-bank-transfer-box dl div{grid-template-columns:1fr}}


/* ZEMA HR 1.6.24.64 — checklist lavoratori prenotazione sanitaria */
.zhr-corporate-app .zsf-health-workers-field{display:block!important}
.zhr-corporate-app .zsf-health-workers-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px;font-size:13px;color:#163e5f}
.zhr-corporate-app #zsf-health-workers-count{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:5px 9px;border-radius:999px;background:#e8f4ff;color:#126fb4;font-size:12px;font-weight:800}
.zhr-corporate-app .zsf-health-workers-checklist{max-height:230px;overflow:auto;border:1px solid #cbddea;border-radius:12px;background:#fff;padding:6px;display:grid;grid-template-columns:1fr;gap:4px}
.zhr-corporate-app .zsf-health-worker-option{display:flex!important;align-items:center!important;gap:10px!important;margin:0!important;padding:8px 10px!important;border-radius:9px!important;cursor:pointer!important;background:#fff!important;border:1px solid transparent!important}
.zhr-corporate-app .zsf-health-worker-option:hover{background:#f5faff!important;border-color:#dbeaf4!important}
.zhr-corporate-app .zsf-health-worker-option input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;accent-color:#147df5}
.zhr-corporate-app .zsf-health-worker-option>span{display:flex;flex-direction:column;min-width:0;gap:2px}
.zhr-corporate-app .zsf-health-worker-option strong{font-size:13px;line-height:1.2;color:#143e60}
.zhr-corporate-app .zsf-health-worker-option small{font-size:11px;color:#6d8292;line-height:1.2}
.zhr-corporate-app .zsf-health-worker-option:has(input:checked){background:#eef7ff!important;border-color:#a9d1f2!important}


/* ZEMA HR 1.6.24.65 — prenotazione sanitaria più compatta */
.zsf-app-v038 #zsf-health-booking-dialog .zsf-health-booking-head{padding-bottom:8px!important;margin-bottom:8px!important}
.zsf-app-v038 #zsf-health-booking-dialog .zsf-health-booking-head h2{margin:0!important;font-size:22px!important;line-height:1.1!important}
.zsf-app-v038 #zsf-health-booking-dialog .zsf-form-grid{gap:10px 12px!important}
.zsf-app-v038 #zsf-health-booking-dialog .zsf-form-grid label{gap:4px!important}
.zsf-app-v038 #zsf-health-booking-dialog .zsf-form-grid input,
.zsf-app-v038 #zsf-health-booking-dialog .zsf-form-grid select{min-height:38px!important;padding:8px 12px!important}
.zsf-app-v038 #zsf-health-booking-dialog .zsf-form-grid textarea{min-height:72px!important;padding:9px 12px!important}
.zsf-app-v038 #zsf-health-booking-dialog .zsf-payment-choice{padding:7px 9px!important;gap:6px!important;border-radius:10px!important}
.zsf-app-v038 #zsf-health-booking-dialog .zsf-payment-choice legend{font-size:10px!important}
.zsf-app-v038 #zsf-health-booking-dialog .zsf-payment-choice label{padding:7px 9px!important;min-height:52px!important;gap:7px!important;align-items:center!important}
.zsf-app-v038 #zsf-health-booking-dialog .zsf-payment-choice input[type=radio]{width:18px!important;height:18px!important;min-width:18px!important;margin:0!important}
.zsf-app-v038 #zsf-health-booking-dialog .zsf-payment-choice label span{gap:1px!important}
.zsf-app-v038 #zsf-health-booking-dialog .zsf-payment-choice label strong{font-size:10.5px!important;line-height:1.1!important}
.zsf-app-v038 #zsf-health-booking-dialog .zsf-payment-choice label small{font-size:8px!important;line-height:1.25!important}
.zsf-app-v038 #zsf-health-booking-dialog .zsf-dialog-actions{padding-top:10px!important;margin-top:10px!important}
@media(max-width:700px){
 .zsf-app-v038 #zsf-health-booking-dialog .zsf-payment-choice{grid-template-columns:1fr 1fr!important}
 .zsf-app-v038 #zsf-health-booking-dialog .zsf-payment-choice label{padding:6px 7px!important;min-height:48px!important}
}


/* ZEMA HR 1.6.24.66 — ricerca e lista lavoratori sanitaria compatta */
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-workers-head{margin-bottom:5px!important}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-search-wrap{margin:0 0 5px!important}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-search{width:100%!important;min-height:34px!important;height:34px!important;padding:6px 10px 6px 30px!important;border:1px solid #cbddea!important;border-radius:9px!important;background:#fff!important;font-size:11px!important;line-height:1.2!important;color:#173e5d!important;box-sizing:border-box!important}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-search-wrap{position:relative!important}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-search-wrap:before{content:'⌕';position:absolute;left:10px;top:50%;transform:translateY(-52%);font-size:15px;color:#6b8395;pointer-events:none}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-workers-checklist{max-height:185px!important;padding:3px!important;gap:1px!important;border-radius:10px!important}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-option{min-height:30px!important;padding:4px 7px!important;gap:7px!important;border-radius:7px!important}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-option[hidden]{display:none!important}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-option input[type=checkbox]{width:15px!important;height:15px!important;min-width:15px!important}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-option strong{font-size:11px!important;line-height:1.1!important}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-option small{font-size:9px!important;line-height:1.05!important}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-workers-field>small{display:block!important;margin-top:4px!important;font-size:8.5px!important;line-height:1.2!important}
.zsf-app-v038 #zsf-health-booking-dialog .zsf-health-notes textarea{min-height:46px!important;height:46px!important;max-height:90px!important;padding:7px 10px!important;line-height:1.25!important}


/* ZEMA HR 1.6.24.67 — lavoratori sanitari extra-compatti + ricerca pulita */
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-search-wrap:before{
  content:none!important;
  display:none!important;
}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-search{
  height:31px!important;
  min-height:31px!important;
  padding:4px 9px!important;
  font-size:10.5px!important;
  line-height:1.15!important;
}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-workers-checklist{
  max-height:158px!important;
  padding:2px!important;
  gap:0!important;
}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-option{
  box-sizing:border-box!important;
  height:25px!important;
  min-height:25px!important;
  max-height:25px!important;
  padding:2px 5px!important;
  gap:6px!important;
  margin:0!important;
  border-radius:5px!important;
  align-items:center!important;
  overflow:hidden!important;
}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-option input[type=checkbox]{
  width:13px!important;
  height:13px!important;
  min-width:13px!important;
  margin:0!important;
  flex:0 0 13px!important;
}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-option>span{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:4px!important;
  min-width:0!important;
  width:100%!important;
  line-height:1!important;
}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-option strong{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:10.3px!important;
  line-height:1!important;
}
.zhr-corporate-app #zsf-health-booking-dialog .zsf-health-worker-option small{
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  white-space:nowrap!important;
  font-size:8.5px!important;
  line-height:1!important;
  color:#71879a!important;
}

/* =========================================================
   ZEMA HR 1.6.24.68.30 — Home piattaforma / App launcher
   ========================================================= */
.zhr-hr-home{padding:26px 0 10px}.zhr-hr-home-intro{padding:26px 30px 22px;border:1px solid #d9e6ef;border-radius:18px;background:linear-gradient(135deg,#f8fcff 0%,#eef8fc 100%);box-shadow:0 12px 32px rgba(7,71,108,.07)}.zhr-hr-home-intro h1{margin:5px 0 8px;font-size:32px;line-height:1.1;color:#0c4e79}.zhr-hr-home-intro p{margin:0;max-width:860px;color:#5c7080;font-size:14px;line-height:1.55}.zhr-hr-home-path{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:18px}.zhr-hr-home-path strong,.zhr-hr-home-path span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#fff;border:1px solid #d9e6ef;color:#426477;font-size:10px;font-weight:800;letter-spacing:.3px}.zhr-hr-home-path strong{background:#0b5f8f;color:#fff;border-color:#0b5f8f}.zhr-hr-home-path span:nth-child(2){padding:0;border:0;background:transparent;color:#7f97a6}.zhr-app-launcher{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}.zhr-app-card{position:relative;display:flex;min-height:238px;flex-direction:column;padding:20px;border:1px solid #d9e6ef;border-radius:16px;background:#fff;color:#16384f;text-decoration:none!important;box-shadow:0 8px 24px rgba(14,65,95,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.zhr-app-card:not(.is-disabled):hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(14,65,95,.12);border-color:#9bc6dc}.zhr-app-card-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:12px;background:#e9f5fb;color:#0b668f;font-size:17px;font-weight:900}.zhr-app-card-code{position:absolute;top:20px;right:18px;padding:5px 8px;border-radius:999px;background:#f3f7f9;color:#6b7f8d;font-size:9px;font-weight:900;letter-spacing:.7px}.zhr-app-card strong{display:block;margin-bottom:3px;color:#103f60;font-size:19px}.zhr-app-card small{display:block;margin-bottom:12px;color:#0b6b94;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.55px}.zhr-app-card p{margin:0 0 18px;color:#617786;font-size:12px;line-height:1.5}.zhr-app-card b{margin-top:auto;color:#0b658e;font-size:11px}.zhr-app-card.is-disabled{opacity:.52;background:#f7f9fa;box-shadow:none}.zhr-app-card.is-disabled b{color:#7f8d96}.zhr-app-card.is-control .zhr-app-card-icon{background:#eee9ff;color:#5540aa}.zhr-app-card.is-desk .zhr-app-card-icon{background:#e8f6fc;color:#096a92}.zhr-app-card.is-med .zhr-app-card-icon{background:#e9f7f0;color:#197550}.zhr-app-card.is-pres .zhr-app-card-icon{background:#fff4dc;color:#9b6b00}@media(max-width:1100px){.zhr-app-launcher{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.zhr-hr-home-intro{padding:22px 20px}.zhr-hr-home-intro h1{font-size:26px}.zhr-app-launcher{grid-template-columns:1fr}.zhr-app-card{min-height:205px}}

/* 68.219 — Login/attivazione ZEMA CONTROL: area pulita e tenant-first */
body.zsf-portal-page .zsf-login-card{grid-template-columns:1fr!important;max-width:760px!important;margin:0 auto!important}
body.zsf-portal-page .zsf-login-brand{grid-column:1!important}
body.zsf-portal-page .zsf-login-panel{padding:34px 42px 38px!important}
body.zsf-portal-page .zsf-login-kicker,
body.zsf-portal-page .zsf-login-security,
body.zsf-portal-page .zsf-login-side{display:none!important}
body.zsf-portal-page .zsf-login-links{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;flex-wrap:wrap!important}
body.zsf-portal-page .zsf-activate-control-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:11px 14px!important}
body.zsf-portal-page .zsf-activate-control-form>p{margin:0!important}
body.zsf-portal-page .zsf-activate-control-form>p:nth-of-type(1),
body.zsf-portal-page .zsf-activate-control-form>p:nth-of-type(2),
body.zsf-portal-page .zsf-activate-control-form>p.login-submit,
body.zsf-portal-page .zsf-activate-control-form>.zsf-login-links{grid-column:1/-1!important}
body.zsf-portal-page .zsf-activate-control-form input[type="text"],
body.zsf-portal-page .zsf-activate-control-form input[type="email"],
body.zsf-portal-page .zsf-activate-control-form input[type="password"]{width:100%!important;min-height:44px!important}
body.zsf-portal-page .zsf-login-panel h1{font-size:30px!important;margin-bottom:7px!important}
body.zsf-portal-page .zsf-login-intro{max-width:640px!important}
@media(max-width:700px){body.zsf-portal-page .zsf-activate-control-form{grid-template-columns:1fr!important}body.zsf-portal-page .zsf-activate-control-form>*{grid-column:1!important}body.zsf-portal-page .zsf-login-panel{padding:28px 22px 30px!important}}
