[hidden],.modal-backdrop[hidden]{display:none!important}
:root{
  --bg:#f5f7fb; --card:#fff; --text:#172033; --muted:#657084; --line:#e4e8f0;
  --primary:#0b6b3a; --primary-2:#09552f; --danger:#b42318; --warning:#b7791f; --info:#165d9c;
  --radius:14px; --shadow:0 10px 30px rgba(22,35,60,.08); --sidebar:#0f2530;
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:15px;line-height:1.45}
a{color:var(--primary);text-decoration:none} a:hover{text-decoration:underline}.app-layout{display:flex;min-height:100vh}.sidebar{width:285px;background:var(--sidebar);color:#fff;position:fixed;left:0;top:0;bottom:0;overflow:auto;padding:18px 14px;z-index:30}.main-panel{margin-left:285px;width:calc(100% - 285px);min-height:100vh;display:flex;flex-direction:column}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:15px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:20}.topbar span{display:block;font-size:12px;color:var(--muted)}
.brand{display:flex;align-items:center;gap:14px}.side-brand{display:block;text-align:center}.brand-logo{width:210px;max-width:100%;max-height:62px;object-fit:contain}.side-brand span{display:block;font-size:12px;color:#b6c5cc;margin-top:8px}.side-alerts{margin:18px 0 14px}.side-alert{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:10px;margin-bottom:8px;color:#edf4f6}.side-alert small{color:#cbd7dc}.side-alert.muted{color:#aab9c0;text-align:center}.nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.side-nav{display:block}.side-nav a{display:flex;align-items:center;justify-content:space-between;margin:5px 0;padding:10px 12px;border-radius:10px;color:#eaf2f5}.side-nav a.active,.side-nav a:hover{background:rgba(255,255,255,.12);text-decoration:none;color:#fff}.menu-dot,.bell-dot{display:inline-flex;min-width:19px;height:19px;align-items:center;justify-content:center;border-radius:999px;background:#d92d20;color:#fff;font-size:11px;font-weight:800;padding:0 6px}.bell{position:relative;font-size:24px;text-decoration:none}.bell:hover{text-decoration:none}.bell-dot{position:absolute;top:-8px;right:-14px}
.container{width:min(1180px,calc(100% - 32px));margin:26px auto 56px;flex:1}.footer{text-align:center;color:var(--muted);padding:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:18px}.card h1,.card h2,.card h3{margin-top:0}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.stat{padding:18px;border-radius:12px;background:#f8fafc;border:1px solid var(--line)}.stat strong{display:block;font-size:28px}.stat span{color:var(--muted)}
.form-row{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-bottom:14px}.field{grid-column:span 6}.field.full{grid-column:span 12}.field.third{grid-column:span 4}label{display:block;font-weight:650;margin:0 0 6px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d5dbe7;border-radius:10px;background:#fff;color:var(--text);font:inherit}textarea{min-height:96px;resize:vertical}input[type="checkbox"]{width:auto}.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.check{display:flex;align-items:center;gap:8px;background:#f8fafc;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:10px 14px;background:var(--primary);color:white;font-weight:700;cursor:pointer;text-decoration:none}.btn:hover{text-decoration:none;background:var(--primary-2)}.btn.secondary{background:#e8edf5;color:#1d283a}.btn.secondary:hover{background:#dce3ee}.btn.danger{background:var(--danger)}.btn.warning{background:var(--warning)}.btn.small{padding:7px 10px;font-size:13px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-form{display:inline-flex;margin:0}.muted{color:var(--muted)}
.alert{padding:13px 15px;border-radius:12px;margin-bottom:14px;border:1px solid}.alert-success{background:#ecfdf3;color:#05603a;border-color:#abefc6}.alert-error{background:#fef3f2;color:#b42318;border-color:#fecdca}.alert-info{background:#eff8ff;color:#175cd3;border-color:#b2ddff}.alert-warning{background:#fffaeb;color:#b54708;border-color:#fedf89}
.table-tools{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.table-search{max-width:380px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{width:100%;border-collapse:collapse;min-width:960px}th,td{padding:12px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:#f8fafc;font-size:13px;color:#475467;white-space:nowrap;cursor:pointer;user-select:none}th.sort-asc::after{content:' ▲';color:var(--primary)}th.sort-desc::after{content:' ▼';color:var(--primary)}.sort-hint{color:#98a2b3;font-size:11px}tr:hover td{background:#fbfcff}.badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;background:#eef2f6;color:#344054}.badge.active{background:#ecfdf3;color:#05603a}.badge.disabled{background:#f2f4f7;color:#475467}.badge.suspended,.badge.warning{background:#fffaeb;color:#b54708}.badge.admin{background:#eff8ff;color:#175cd3}.file-name{font-weight:700}.breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px;color:var(--muted)}.breadcrumb form{display:inline}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:30px}.login-card{width:min(460px,100%)}.login-logo{text-align:center;margin-bottom:18px}.login-logo img{width:240px;max-width:100%}.twofa-setup{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start;margin:18px 0 22px}.twofa-qr-box{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;text-align:center;box-shadow:0 8px 20px rgba(15,23,42,.05)}.twofa-qr{display:block;margin:0 auto 10px;max-width:100%;height:auto;border-radius:8px}.twofa-manual-box{padding-top:4px}.twofa-secret{font-size:18px;letter-spacing:2px;word-break:break-word;line-height:1.7}
@media(max-width:980px){.app-layout{display:block}.sidebar{position:static;width:auto}.main-panel{margin-left:0;width:auto}.side-nav{display:flex;flex-wrap:wrap}.side-nav a{margin:3px}.side-alerts{display:none}.grid{display:block}.col-3,.col-4,.col-6,.col-8,.col-12,.field,.field.third,.field.full{grid-column:auto}.field{margin-bottom:12px}.form-row{display:block}.container{width:calc(100% - 22px)}.twofa-setup{grid-template-columns:1fr}.twofa-qr-box{text-align:left}.twofa-qr{margin-left:0}}
.activity-summary{min-width:190px;line-height:1.35}.activity-summary strong{color:var(--text)}.activity-summary span{font-size:13px}.activity-summary small{display:inline-block;margin-top:2px;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-icon{width:24px;height:24px;vertical-align:middle;margin-right:7px;object-fit:contain}.tree-list{list-style:none;margin:0;padding:0}.tree-list li{padding:7px 0;border-bottom:1px solid var(--line)}.tree-list li:last-child{border-bottom:0}.path-small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.modal-backdrop{position:fixed;inset:0;background:rgba(15,37,48,.55);z-index:999;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{background:#fff;width:min(760px,100%);max-height:82vh;overflow:auto;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.modal-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 18px}.modal-head h3{margin:0}.modal-close{font-size:28px;border:0;background:transparent;cursor:pointer;line-height:1}.modal-body{padding:18px}.note-box{white-space:pre-wrap;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:14px}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:10px 0 16px}.filters .field{min-width:180px;grid-column:auto}.account-box{display:grid;grid-template-columns:1fr 1fr;gap:18px}.help-inline{font-size:12px;color:var(--muted)}
@media(max-width:780px){.account-box{display:block}.filters{display:block}.filters .field{margin-bottom:10px}.modal-backdrop{align-items:flex-start}.modal-card{max-height:90vh}}

/* Dashboard Super Admin */
.dashboard-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}.dashboard-hero .actions{margin-top:4px}.dashboard-cards .stat{min-height:112px}.action-stat{display:block;text-decoration:none;color:inherit;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}.action-stat:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,37,48,.08)}.action-stat small{display:block;color:var(--muted);margin-top:6px;line-height:1.35}.action-stat.attention{background:#fff7ed;border-color:#fed7aa}.action-stat.attention strong{color:#b45309}.dashboard-sections .card{height:100%}.dashboard-list-card{display:flex;flex-direction:column}.dashboard-list{list-style:none;margin:0 0 14px;padding:0}.dashboard-list li{padding:10px 0;border-bottom:1px solid var(--line)}.dashboard-list li:last-child{border-bottom:0}.dashboard-list .file-icon{width:18px;height:18px;margin-right:4px}
@media(max-width:980px){.dashboard-hero{display:block}.dashboard-hero .actions{margin-top:12px}.dashboard-cards .stat{margin-bottom:12px}.dashboard-sections .card{height:auto}}

/* v1.6.9 - filtri documenti e lista utenti autorizzati */
.files-filters{align-items:flex-start}.files-filters .search-field-wide{min-width:min(480px,100%);flex:1}.multi-select{position:relative;min-width:280px}.multi-select-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--text);font-weight:600}.multi-select-panel{position:absolute;z-index:80;top:calc(100% + 6px);left:0;width:min(420px,90vw);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(16,24,40,.16);padding:12px}.multi-select-search{margin-bottom:10px}.multi-select-options{max-height:260px;overflow:auto;padding-right:4px}.multi-select-option{display:flex;align-items:flex-start;gap:8px;padding:9px 6px;border-bottom:1px solid var(--line);cursor:pointer}.multi-select-option:last-child{border-bottom:0}.multi-select-option:hover{background:#f8fafc}.inline-user-list{list-style:none;margin:0;padding:0}.inline-user-list li{margin:0 0 5px 0}.inline-user-list li:last-child{margin-bottom:0}
@media(max-width:780px){.multi-select,.multi-select-panel{width:100%;min-width:0}.files-filters .search-field-wide{min-width:0}}

/* v1.6.10 - ricerca ricorsiva e apri posizione */
.path-cell{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:220px}.open-position-form{margin-top:2px}.row-highlight td{background:#fff4cc!important;box-shadow:inset 4px 0 0 #f59e0b}.row-highlight:hover td{background:#ffefb3!important}.search-field-wide input[type="search"]{min-width:min(520px,100%)}


/* v1.6.11 - comunicazioni ed eliminazione upload */
.message-thread{display:flex;flex-direction:column;gap:12px;margin:12px 0 18px}.message-bubble{max-width:760px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#f8fafc}.message-bubble.mine{align-self:flex-end;background:#ecfdf3;border-color:#abefc6}.message-bubble.theirs{align-self:flex-start;background:#fff}.message-meta{font-size:12px;color:var(--muted);margin-bottom:6px}.message-form textarea{min-height:120px}.upload-target-sections{margin:10px 0}.delete-request-box textarea{min-height:80px}.actions.stack{align-items:flex-start;flex-direction:column}.inline-note{font-size:12px;color:var(--muted);margin-top:4px}
/* v1.6.13 - comunicazioni */
.message-thread[data-message-thread]{max-height:560px;overflow:auto;scroll-behavior:smooth}.message-form small{display:block;margin:6px 0 10px}.message-form-error{margin-bottom:8px;color:#b42318}

/* v1.6.15 - layout grafico base, top account menu, notifiche compatte e tabelle desktop */
body.app-layout{display:flex;min-height:100vh;align-items:stretch}
.sidebar{width:285px;flex:0 0 285px;background:#10252f;color:#fff;position:fixed;left:0;top:0;bottom:0;overflow:auto;padding:18px 14px;z-index:40}
.main-panel{margin-left:285px;width:calc(100% - 285px);min-width:0;min-height:100vh;display:flex;flex-direction:column}
.topbar{width:100%;background:#fff;border-bottom:1px solid var(--line);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;position:sticky;top:0;z-index:30;box-shadow:0 2px 8px rgba(16,24,40,.03)}
.topbar-title{min-width:0}.topbar-title strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-title span{display:block;font-size:12px;color:var(--muted)}
.topbar-actions{display:flex;align-items:center;gap:18px;margin-left:auto;flex-shrink:0}.bell{position:relative;font-size:24px;line-height:1;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px}.bell:hover{background:#f2f4f7;text-decoration:none}.bell-dot{top:-3px;right:-5px}
.user-menu{position:relative}.user-menu-toggle{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 11px;color:var(--text);cursor:pointer;max-width:260px;box-shadow:0 1px 4px rgba(16,24,40,.03)}.user-menu-toggle:hover{background:#f8fafc}.user-menu-name{font-weight:800;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-toggle small{color:var(--muted);font-size:11px;white-space:nowrap}.user-menu-arrow{color:var(--muted);font-size:12px}.user-menu-panel{position:absolute;right:0;top:calc(100% + 8px);width:210px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(16,24,40,.16);padding:8px;z-index:120}.user-menu-panel a,.user-menu-panel button{display:block;width:100%;border:0;background:#fff;color:var(--text);padding:10px 12px;border-radius:10px;text-align:left;font:inherit;text-decoration:none;cursor:pointer}.user-menu-panel a:hover,.user-menu-panel button:hover{background:#f2f4f7;text-decoration:none}.user-menu-panel form{margin:0}.user-menu-panel button{color:#b42318;font-weight:700}
.brand-logo{width:218px;max-width:100%;max-height:68px;object-fit:contain}.side-brand{padding:4px 6px 12px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:12px}.side-brand span{color:#d7e2e7}
.side-alerts-accordion{margin:12px 0 14px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.06);overflow:hidden}.side-alerts-accordion summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;color:#edf4f6;font-weight:800;cursor:pointer}.side-alerts-accordion summary::-webkit-details-marker{display:none}.side-alerts-accordion summary:after{content:'▾';color:#cbd7dc;font-size:12px}.side-alerts-accordion[open] summary:after{content:'▴'}.side-alerts{margin:0;padding:0 10px 10px}.side-alert{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:11px;padding:10px;margin-bottom:8px;color:#edf4f6}.side-alert small{display:block;color:#cbd7dc;margin-top:2px;word-break:break-word}.side-alert.muted{color:#aab9c0;text-align:center}
.side-nav a{min-height:42px}.side-nav a .menu-dot{margin-left:6px;flex-shrink:0}
.container{width:calc(100% - 40px);max-width:1580px;margin:24px auto 34px;flex:1}.card{padding:24px;border-radius:16px}.app-footer{width:100%;border-top:1px solid var(--line);background:#fff;color:var(--muted);padding:14px 24px;text-align:center;margin-top:auto}
.account-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.account-box .stat{min-width:0;overflow:hidden}.account-box .stat strong{font-size:24px;line-height:1.15;margin-bottom:8px;word-break:break-word}.account-box .stat span{display:block;line-height:1.55;word-break:break-word}.check{min-width:0}.check small{word-break:break-word}
.table-wrap{overflow-x:visible;overflow-y:visible;border:1px solid var(--line);border-radius:12px;background:#fff;width:100%}table{width:100%;min-width:0;border-collapse:collapse;table-layout:auto}th,td{padding:10px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;overflow-wrap:anywhere;word-break:normal;max-width:270px}th{white-space:normal;line-height:1.25;font-size:12px;cursor:pointer;user-select:none}td{font-size:14px}.file-name{display:inline-flex;align-items:center;gap:6px;max-width:100%;font-weight:750;line-height:1.25}.file-name .file-icon{flex:0 0 22px;margin-right:0}.path-cell{min-width:0;max-width:240px}.activity-summary{min-width:0;max-width:230px}.activity-summary small{max-width:100%;white-space:normal}.inline-user-list li{line-height:1.25}.table-wrap td.actions,.table-wrap .actions{gap:6px}.table-wrap td.actions{min-width:120px;max-width:190px}.table-wrap td.actions .btn{padding:6px 8px;font-size:12px;white-space:normal;line-height:1.15}.table-tools{align-items:flex-start}.table-search{max-width:520px}.filters.files-filters{display:grid;grid-template-columns:minmax(260px,1.3fr) minmax(240px,.9fr) auto;gap:12px;align-items:end}.filters.files-filters .field{min-width:0;margin:0}.filters.files-filters .actions{align-self:end}.multi-select{min-width:0}.multi-select-toggle{min-height:43px}
@media(min-width:1200px){.container{width:calc(100% - 48px);max-width:1680px}th,td{padding:10px 11px}.table-wrap td.actions{max-width:220px}.path-cell{max-width:300px}}
@media(max-width:1100px){.user-menu-toggle small{display:none}.user-menu-name{max-width:110px}.filters.files-filters{grid-template-columns:1fr}.filters.files-filters .actions{align-self:auto}}
@media(max-width:980px){body.app-layout{display:block}.sidebar{position:static;width:100%;height:auto;max-height:none;overflow:visible;padding:14px}.main-panel{margin-left:0;width:100%}.brand-logo{width:220px}.side-alerts-accordion{margin:12px 0}.side-nav{display:flex;flex-wrap:wrap;gap:6px}.side-nav a{margin:0;flex:1 1 auto;justify-content:center;min-width:135px}.topbar{position:sticky;padding:12px 14px}.container{width:calc(100% - 22px);margin:18px auto}.account-box{grid-template-columns:1fr}.app-footer{padding:12px 14px}.topbar-actions{gap:10px}}
@media(max-width:780px){.topbar{align-items:flex-start}.topbar-title strong{white-space:normal}.topbar-actions{align-self:flex-start}.user-menu-toggle{max-width:170px}.user-menu-name{max-width:95px}.user-menu-panel{right:0;width:200px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:760px}th,td{max-width:220px}.card{padding:18px}.side-nav a{min-width:120px}.filters.files-filters{display:block}.filters.files-filters .field,.filters.files-filters .actions{margin-bottom:10px}}
@media(max-width:520px){.topbar{display:block}.topbar-actions{margin-top:10px;justify-content:space-between;width:100%}.user-menu{margin-left:auto}.side-nav{display:block}.side-nav a{justify-content:space-between;margin:4px 0}.brand-logo{width:200px}.container{width:calc(100% - 16px)}table{min-width:700px}}

/* v1.6.16 - affinamento layout desktop/mobile e tabelle senza scroll interno da PC */
@media (min-width: 981px){
  .main-panel{margin-left:285px;width:calc(100vw - 285px);max-width:none;overflow-x:hidden}
  .topbar{left:0;right:0;width:100%;padding:14px 28px}
  .container{width:auto;max-width:none;margin:22px 22px 38px}
  .card{width:100%}
}
@media (min-width: 781px){
  .table-wrap{overflow-x:visible!important;max-width:100%}
  .table-wrap table{width:100%!important;min-width:0!important;table-layout:fixed!important}
  .table-wrap th,.table-wrap td{max-width:none!important;white-space:normal!important;word-break:break-word;overflow-wrap:anywhere;padding:8px 7px;font-size:13px;line-height:1.25}
  .table-wrap th{font-size:11.5px}
  .table-wrap td.actions{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0!important;max-width:none!important}
  .table-wrap td.actions .btn{width:100%;min-width:0;white-space:normal;text-align:center;padding:6px 6px;font-size:12px;line-height:1.15}
  .table-wrap .file-name{display:flex;align-items:flex-start;gap:6px;min-width:0;word-break:break-word}
  .table-wrap .file-name .file-icon{flex:0 0 20px;width:20px;height:20px}
  .path-cell,.activity-summary{min-width:0!important;max-width:none!important}
  .inline-user-list,.inline-user-list li{word-break:break-word;overflow-wrap:anywhere}
  .table-search{width:100%;max-width:560px}
}
.side-brand{overflow:hidden}.brand-logo{display:block;margin:0 auto;width:220px;height:auto;object-fit:contain}.side-alerts-accordion{box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.user-menu-toggle{min-height:42px}.user-menu-panel{overflow:hidden}.app-footer{font-size:13px;letter-spacing:.01em}.account-box-clean{align-items:stretch}.account-stat{display:flex;flex-direction:column;gap:6px}.account-stat strong{margin:0!important}.account-line{display:block;max-width:100%;overflow-wrap:anywhere;word-break:break-word;color:var(--muted)}.account-label{text-transform:uppercase;letter-spacing:.04em;font-size:11px!important;color:var(--muted)!important}.account-stat .badge{align-self:flex-start;margin-top:4px}.check{align-items:flex-start}.check input{margin-top:3px;flex-shrink:0}.field .check{min-height:42px;line-height:1.35}
@media (max-width: 980px){
  .sidebar{position:relative;width:100%;padding:14px 12px}.main-panel{margin-left:0;width:100%;overflow-x:hidden}.topbar{width:100%;position:sticky;top:0}.container{width:auto;margin:16px 10px 28px}.brand-logo{width:min(230px,86vw)}.side-alerts-accordion{margin:10px 0}.side-nav a{min-width:128px}.app-footer{margin-top:20px}
}
@media (max-width: 780px){
  .table-wrap{overflow-x:auto!important;border-radius:12px}.table-wrap table{min-width:760px!important;table-layout:auto!important}.table-wrap th,.table-wrap td{font-size:13px;max-width:220px!important}.account-box-clean{grid-template-columns:1fr}.topbar-actions{width:100%;justify-content:flex-end}.topbar-title{margin-bottom:6px}.user-menu-toggle small{display:none}
}
@media (max-width: 520px){
  .topbar{padding:11px 10px}.topbar-actions{justify-content:space-between}.bell{width:34px;height:34px}.user-menu-toggle{max-width:210px}.user-menu-name{max-width:130px}.card{padding:16px}.side-nav a{min-width:0}.table-wrap table{min-width:700px!important}
}

/* v1.6.17 - card responsive per admin/operatori collegati agli upload utente */
.admin-notify-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:10px;
  width:100%;
  margin-top:10px;
}
.admin-notify-card{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:0;
  width:100%;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fafc;
  cursor:pointer;
  line-height:1.25;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.admin-notify-card:hover{
  background:#fff;
  border-color:#cfd7e6;
  box-shadow:0 6px 16px rgba(16,24,40,.05);
}
.admin-notify-card input{
  flex:0 0 auto;
  width:auto;
  margin:3px 0 0;
}
.admin-notify-body{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
.admin-notify-name{
  display:block;
  font-size:14px;
  color:var(--text);
  overflow-wrap:anywhere;
  word-break:break-word;
}
.admin-notify-role{
  display:inline-flex;
  margin:4px 0 5px;
  padding:2px 7px;
  border-radius:999px;
  background:#eef2f6;
  color:#475467;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}
.admin-notify-email{
  display:block;
  max-width:100%;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
  overflow-wrap:anywhere;
  word-break:break-word;
}
@media (min-width: 1400px){
  .admin-notify-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
}
@media (max-width: 780px){
  .admin-notify-grid{grid-template-columns:1fr;}
  .admin-notify-card{padding:11px;}
}


/* v1.6.18 - login compatto e impostazioni upload ordinate */
body.login-shell.login-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 18px;
  background:#f5f7fb;
}
.login-shell .compact-login-card{
  width:100%!important;
  max-width:460px!important;
  margin:0 auto!important;
  padding:30px 28px!important;
  border-radius:18px;
}
.login-shell .login-logo{margin-bottom:16px;text-align:center}
.login-shell .login-logo img{width:min(250px,84%);height:auto;display:inline-block}
.login-heading{text-align:left;margin-bottom:18px}
.login-heading h1{font-size:28px;line-height:1.15;margin:0 0 6px}
.login-heading p{margin:0;color:var(--muted)}
.login-form .field{margin-bottom:13px}
.login-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;flex-wrap:wrap}
.login-actions .btn{min-width:120px}
.login-actions a{font-weight:650;color:var(--muted)}
@media(max-width:520px){
  body.login-shell.login-page{padding:18px 12px;align-items:center}
  .login-shell .compact-login-card{max-width:100%!important;padding:22px 18px!important;border-radius:16px}
  .login-heading h1{font-size:24px}
  .login-actions{display:grid;grid-template-columns:1fr;text-align:center}
  .login-actions .btn{width:100%}
}

.upload-settings-card{overflow:hidden}
.upload-settings-form{gap:18px}
.upload-profile-section{min-width:0}
.upload-profile-section h2{margin:8px 0 10px}
.upload-mode-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:12px 0 18px;
}
.upload-mode-card{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
  min-height:auto;
  padding:14px 15px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fafc;
  cursor:pointer;
  line-height:1.35;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.upload-mode-card:hover{background:#fff;border-color:#cfd7e6;box-shadow:0 6px 16px rgba(16,24,40,.05)}
.upload-mode-card.selected{background:#f0f9f4;border-color:#98d5af;box-shadow:inset 0 0 0 1px rgba(11,107,58,.12)}
.upload-mode-card input{width:auto!important;flex:0 0 auto;margin:4px 0 0!important}
.upload-mode-card span{display:block;min-width:0;max-width:100%}
.upload-mode-card strong{display:block;color:var(--text);font-size:14px;margin-bottom:3px;overflow-wrap:anywhere}
.upload-mode-card small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.upload-check-title{font-weight:800;margin:0 0 8px;color:var(--text)}
.upload-extension-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:9px;
  margin-bottom:8px;
}
.upload-extension-grid .check{min-width:0;min-height:40px;padding:9px 10px;overflow-wrap:anywhere}
.upload-max-field{max-width:520px}
@media(max-width:980px){
  .upload-mode-options{grid-template-columns:1fr}
  .upload-extension-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}
  .upload-max-field{max-width:none}
}
@media(max-width:560px){
  .upload-extension-grid{grid-template-columns:1fr 1fr}
  .upload-mode-card{padding:12px}
}
@media(max-width:390px){.upload-extension-grid{grid-template-columns:1fr}}

/* v1.6.19 - pagine verifica 2FA e richiesta password compatte come login */
body.login-shell.auth-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 18px;
  background:#f5f7fb;
}
.auth-page .compact-login-card{
  width:100%!important;
  max-width:460px!important;
  margin:0 auto!important;
  padding:30px 28px!important;
  border-radius:18px;
}
.auth-page .login-cancel-form{margin-top:10px}
.auth-page .login-cancel-form .btn{width:auto}
.auth-page .login-note{margin:-4px 0 14px}
@media(max-width:520px){
  body.login-shell.auth-page{padding:18px 12px}
  .auth-page .compact-login-card{max-width:100%!important;padding:22px 18px!important;border-radius:16px}
  .auth-page .login-cancel-form .btn{width:100%}
}

/* v1.6.21 - privacy/cookie policy e prese visione */
.auth-legal-note{
  margin:14px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.auth-footer-links,
.legal-auth-links{
  text-align:center;
  color:var(--muted);
  font-size:13px;
  margin:14px 0 0;
}
.auth-footer-links a,
.legal-auth-links a,
.footer a,
.auth-legal-note a,
.privacy-ack-box a{
  color:#0b6b3a;
  font-weight:750;
  text-decoration:none;
}
.auth-footer-links a:hover,
.legal-auth-links a:hover,
.footer a:hover,
.auth-legal-note a:hover,
.privacy-ack-box a:hover{text-decoration:underline;}
.legal-consent-card{max-width:840px;margin:0 auto;}
.privacy-ack-box{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px;
  padding:13px 14px!important;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8fafc;
  line-height:1.4;
}
.privacy-ack-box input{margin-top:3px;flex:0 0 auto;}
.legal-public-shell{
  min-height:100vh;
  background:#f5f7fb;
  padding:32px 18px;
}
.legal-public-container{max-width:980px;margin:0 auto;}
.legal-public-logo{text-align:center;margin:0 0 18px;}
.legal-public-logo img{width:min(260px,84vw);height:auto;}
.legal-page-card{max-width:980px;margin:0 auto;line-height:1.6;}
.legal-page-card h1{margin-bottom:4px;}
.legal-page-card h2{margin-top:26px;margin-bottom:8px;font-size:21px;}
.legal-page-card ul{padding-left:20px;}
.legal-page-card li{margin:4px 0;}
.privacy-upload-note{font-size:14px;}
.footer{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;}
@media(max-width:720px){
  .legal-public-shell{padding:18px 10px;}
  .legal-page-card{padding:18px;}
  .legal-page-card h1{font-size:25px;}
  .legal-page-card h2{font-size:19px;}
  .legal-consent-card{padding:18px;}
}


/* v1.6.22 - correzione link privacy/cookie pagine auth */
body.login-shell.login-page,
body.login-shell.auth-page{
  flex-direction:column;
}
.auth-footer-links{
  width:100%;
  max-width:460px;
  margin:16px auto 0;
  text-align:center;
}
.compact-login-card .auth-footer-links{
  margin:18px auto 0;
  padding-top:13px;
  border-top:1px solid var(--line);
}

/* v1.6.25 - password, alberatura documenti e tabelle più leggibili */
.password-field{position:relative;display:flex;align-items:center;width:100%}
.password-field input{padding-right:48px!important}
.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:8px;background:#eef2f6;color:#344054;cursor:pointer;font-size:15px;display:inline-flex;align-items:center;justify-content:center}
.password-toggle:hover,.password-toggle.is-visible{background:#dce3ee}
.password-rules{margin:12px 0 16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;color:#344054}
.password-rules strong{display:block;margin-bottom:6px;color:var(--text)}
.password-rules ul{margin:0;padding-left:20px}
.password-rules li{margin:3px 0;font-size:13px}
.compact-password-card{max-width:780px}
.compact-info{font-size:14px;padding:10px 12px}
.file-table-wrap{overflow-x:visible!important}
.items-table{min-width:0!important;table-layout:fixed;width:100%}
.items-table .col-check{width:42px}.items-table .col-file{width:28%}.items-table .col-path{width:14%}.items-table .col-job{width:8.5%}.items-table .col-date{width:9%}.items-table .col-notes{width:7%}.items-table .col-users{width:13%}.items-table .col-status{width:9%}.items-table .col-activity{width:13%}.items-table .col-actions{width:15%}
.items-table th,.items-table td{overflow-wrap:anywhere;word-break:break-word;vertical-align:top;padding:10px 9px}
.items-table th{white-space:normal;line-height:1.18;font-size:12px}
.cell-check{text-align:center!important}.cell-check input{margin:0}.cell-file{min-width:0}.cell-actions .inline-form{margin:2px}.cell-actions.actions{gap:4px}.cell-actions .btn{padding:6px 8px;font-size:12px;line-height:1.15}
.tree-table .tree-child-row.is-hidden{display:none!important}
.tree-file-name{display:flex;align-items:flex-start;gap:7px;min-width:0;padding-left:calc(var(--tree-level,0) * 22px)}
.tree-file-name .item-title{min-width:0;overflow-wrap:anywhere;word-break:break-word;font-weight:750}
.tree-toggle,.tree-spacer{flex:0 0 24px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;margin:0;border:1px solid #d5dbe7;border-radius:7px;background:#fff;color:#344054;line-height:1;font-weight:800;cursor:pointer}
.tree-toggle:hover{background:#eef2f6}.tree-toggle.empty{opacity:.35;cursor:default}.tree-spacer{border-color:transparent;background:transparent}
.tree-table tr[data-level="0"]>td{background:#fff}.tree-table tr[data-level="1"]>td{background:#fbfcff}.tree-table tr[data-level="2"]>td{background:#f8fafc}.tree-table tr[data-level="3"]>td{background:#f5f8fb}
.file-size-line{display:block;margin-left:calc((var(--tree-level,0) * 22px) + 55px)}
.inline-user-list{margin:0;padding:0;list-style:none}.inline-user-list li{margin:0 0 5px;line-height:1.25}.inline-user-list small{display:block}
@media(min-width:1280px){.container{width:min(1480px,calc(100% - 32px))}.items-table .col-file{width:31%}.items-table .col-path{width:13%}.items-table .col-actions{width:14%}}
@media(max-width:1180px){.file-table-wrap{overflow-x:auto!important}.items-table{min-width:980px!important;table-layout:auto}.items-table th,.items-table td{max-width:none}.tree-file-name{padding-left:calc(var(--tree-level,0) * 18px)}}
@media(max-width:780px){.password-toggle{width:32px;height:32px}.password-rules{font-size:13px}.file-table-wrap{overflow-x:auto!important}.items-table{min-width:880px!important}.cell-actions .btn{font-size:12px}.tree-file-name{padding-left:calc(var(--tree-level,0) * 14px)}}

/* v1.6.28 - alberatura compatta dentro la riga espansa */
.compact-tree-table .compact-tree-root-row>td{background:#fff;border-bottom:1px solid var(--line)}
.compact-tree-table .compact-tree-panel-row>td{background:#f8fafc;padding:0 12px 14px 54px;border-top:0}
.compact-tree-panel-row.is-hidden{display:none!important}
.compact-tree-panel{border:1px solid #dce3ee;border-radius:14px;background:#fff;margin:0 0 4px;padding:12px 12px 8px;box-shadow:inset 3px 0 0 #e9eef6}
.compact-root-file-name{display:flex;align-items:flex-start;gap:7px;min-width:0}
.compact-root-file-name .item-title{font-weight:800;overflow-wrap:anywhere;word-break:break-word}
.compact-tree-list{list-style:none;margin:0;padding:0 0 0 22px;position:relative}
.compact-tree-panel>.compact-tree-list{padding-left:0}
.compact-tree-list .compact-tree-list{margin-top:7px;margin-left:16px;padding-left:18px;border-left:1px dashed #ccd5e3}
.compact-tree-node{margin:0;padding:0 0 8px;position:relative}
.compact-tree-line{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:start;padding:9px 8px;border:1px solid #edf1f6;border-radius:12px;background:#fff}
.compact-tree-node.is-folder>.compact-tree-line{background:#fbfcff}
.compact-tree-check{display:flex;align-items:center;justify-content:center;padding-top:3px}
.compact-tree-main{min-width:0}
.compact-tree-title{display:flex;align-items:center;gap:7px;min-width:0;line-height:1.25}
.compact-tree-title strong{overflow-wrap:anywhere;word-break:break-word}
.tree-branch-symbol{width:18px;flex:0 0 18px;text-align:center;color:#667085;font-weight:800}
.compact-tree-path{display:block;margin:3px 0 5px;padding-left:49px;overflow-wrap:anywhere;word-break:break-word}
.compact-tree-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;padding-left:49px}
.compact-tree-meta>span{display:inline-flex;align-items:center;gap:4px;border:1px solid #e3e8f0;background:#f8fafc;border-radius:999px;padding:3px 8px;font-size:12px;line-height:1.25;color:#344054}
.compact-tree-extra{font-size:12px;color:#475467;margin-top:5px;padding-left:49px;overflow-wrap:anywhere;word-break:break-word}
.compact-tree-extra-label{font-weight:800;color:#344054}
.compact-tree-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:420px}
.compact-tree-actions .inline-form{margin:0}
.compact-tree-actions .btn{padding:5px 7px;font-size:12px;line-height:1.12}
.compact-tree-toggle.is-open{background:#dce3ee}
.compact-tree-table .cell-actions{min-width:0}
.compact-tree-table .col-file{width:30%}
.compact-tree-table .col-actions{width:16%}
@media(max-width:1180px){
  .compact-tree-table{min-width:980px!important}
  .compact-tree-actions{max-width:360px}
}
@media(max-width:780px){
  .compact-tree-panel-row>td{padding:0 8px 12px 42px}
  .compact-tree-panel{padding:10px 8px}
  .compact-tree-line{grid-template-columns:26px minmax(0,1fr);gap:8px}
  .compact-tree-actions{grid-column:2;justify-content:flex-start;max-width:none;margin-top:5px}
  .compact-tree-path,.compact-tree-meta,.compact-tree-extra{padding-left:43px}
  .compact-tree-meta>span{font-size:11px}
}

/* v1.6.29 - alberatura compatta dentro la stessa riga/cella Tipo-File */
.compact-tree-table .cell-file{vertical-align:top}
.compact-tree-panel.is-hidden{display:none!important}
.compact-tree-table .cell-file .compact-tree-panel{margin:10px 0 2px 31px;padding:10px;border-radius:12px;background:#fbfcff;border:1px solid #dce3ee;box-shadow:inset 3px 0 0 #e9eef6;width:calc(100% - 31px)}
.compact-tree-table .compact-tree-root-row>td{border-bottom:1px solid var(--line)}
.compact-tree-table .compact-tree-panel-row{display:none!important}
.compact-tree-table .compact-tree-actions{justify-content:flex-start;max-width:none}
.compact-tree-table .compact-tree-line{grid-template-columns:24px minmax(0,1fr);gap:8px;padding:8px}
.compact-tree-table .compact-tree-actions{grid-column:2;margin-top:6px}
.compact-tree-table .compact-tree-actions .btn{padding:5px 6px;font-size:11.5px}
.compact-tree-table .compact-tree-path,.compact-tree-table .compact-tree-meta,.compact-tree-table .compact-tree-extra{padding-left:39px}
@media(min-width:1280px){.compact-tree-table .col-file{width:42%}.compact-tree-table .col-path{width:9%}.compact-tree-table .col-actions{width:13%}}
@media(max-width:1180px){.compact-tree-table .cell-file .compact-tree-panel{margin-left:26px;width:calc(100% - 26px)}}
@media(max-width:780px){.compact-tree-table .cell-file .compact-tree-panel{margin-left:0;width:100%;padding:8px}.compact-tree-table .compact-tree-actions{grid-column:1 / -1}.compact-tree-table .compact-tree-path,.compact-tree-table .compact-tree-meta,.compact-tree-table .compact-tree-extra{padding-left:34px}}

/* v1.6.30 - dettagli albero in fisarmonica: summary visibile, dettagli chiusi */
.compact-tree-card{border:1px solid #edf1f6;border-radius:12px;background:#fff;overflow:hidden}
.compact-tree-node.is-folder>.compact-tree-card{background:#fbfcff}
.compact-tree-table .compact-tree-line{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:flex-start;padding:8px;background:transparent;border:0;border-radius:0}
.compact-tree-summary{border-bottom:0!important}
.compact-tree-summary .compact-tree-main{min-width:0}
.compact-tree-summary .compact-tree-meta{padding-left:39px;margin-top:5px}
.compact-detail-toggle{border:1px solid #d5dbe7;background:#fff;color:#344054;border-radius:9px;padding:5px 8px;font-size:12px;font-weight:800;line-height:1;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;margin-top:1px}
.compact-detail-toggle:hover,.compact-detail-toggle.is-open{background:#eef2f6;border-color:#cbd5e1}
.compact-tree-details{border-top:1px solid #edf1f6;background:#f8fafc;padding:8px 10px 10px 41px}
.compact-tree-details.is-hidden{display:none!important}
.compact-tree-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin-bottom:8px}
.compact-tree-detail-grid .compact-tree-extra{padding-left:0;margin-top:0;font-size:12px;min-width:0;overflow-wrap:anywhere;word-break:break-word}
.compact-tree-path-inline{display:inline;overflow-wrap:anywhere;word-break:break-word}
.compact-tree-table .compact-tree-actions{grid-column:auto;margin-top:0;justify-content:flex-start;gap:4px;padding-top:3px}
.compact-tree-table .compact-tree-actions .btn{padding:5px 7px;font-size:11.5px}
.compact-tree-list .compact-tree-list{margin-top:7px;margin-left:16px;padding-left:18px;border-left:1px dashed #ccd5e3}
.compact-tree-node{padding-bottom:7px}
@media(max-width:780px){
  .compact-tree-table .compact-tree-line{grid-template-columns:22px minmax(0,1fr);gap:7px}
  .compact-detail-toggle{grid-column:2;justify-self:flex-start;margin-left:39px;margin-top:4px}
  .compact-tree-details{padding:8px 8px 10px 34px}
  .compact-tree-detail-grid{grid-template-columns:1fr}
  .compact-tree-summary .compact-tree-meta{padding-left:34px}
}

/* v1.6.31 - rifiniture upload/password/notifiche */
.selected-file-list{margin-top:8px;padding:10px 12px;border:1px dashed #ccd6e3;border-radius:10px;background:#f8fafc;font-size:13px;line-height:1.35}
.selected-file-list ul{margin:6px 0 0;padding-left:18px}
.selected-file-list li{margin:3px 0;overflow-wrap:anywhere;word-break:break-word}
.password-field{position:relative!important;display:block!important;width:100%}
.password-field input{width:100%;padding-right:50px!important}
.password-toggle{position:absolute!important;right:8px!important;top:50%!important;transform:translateY(-50%)!important;z-index:2!important}
@media(max-width:780px){.selected-file-list{font-size:12px}}

/* v1.6.32 - azioni multiple e colonna spunta più stretta in Gestione documenti */
.items-table .col-check,
.compact-tree-table .col-check{width:30px!important}
.items-table th:first-child,
.items-table td.cell-check{width:30px!important;max-width:30px!important;padding-left:4px!important;padding-right:4px!important;text-align:center;vertical-align:top}
.items-table td.cell-check input,
.items-table th:first-child input{margin:0 auto;display:block}
.table-bulk-tools{align-items:center;justify-content:flex-end;gap:8px;max-width:100%}
.bulk-actions-form{margin:0;min-width:0;max-width:100%}
.bulk-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:100%}
.bulk-actions .btn{white-space:normal;line-height:1.15;padding:7px 9px}
@media(min-width:1280px){
  .compact-tree-table .col-file{width:46%!important}
  .items-table .col-file{width:36%!important}
  .items-table .col-actions{width:13%!important}
}
@media(max-width:1180px){
  .bulk-actions{justify-content:flex-start}
  .table-bulk-tools{justify-content:flex-start;width:100%}
}
@media(max-width:780px){
  .bulk-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .bulk-actions .btn{width:100%}
}
@media(max-width:430px){.bulk-actions{grid-template-columns:1fr}}
