/* TYPOGRAPHY + PAGE */
.module-title-row,.mate-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}.module-title-row h1,.mate-page-head h1{margin:0;font-size:30px;line-height:1.15;font-weight:850;letter-spacing:-.02em;color:#fff}.module-title-row p,.mate-page-head p{margin:7px 0 0;color:var(--mate-muted-on-dark);font-size:13px}.title-with-icon{display:flex;align-items:center;gap:9px}
.mate-back,.back-link{display:inline-flex!important;align-items:center;gap:7px;margin:0 0 24px!important;color:var(--mate-gold)!important;text-decoration:none!important;text-transform:uppercase;font-size:13px!important;line-height:1.2;font-weight:900!important;letter-spacing:.015em}.mate-back .mate-svg,.back-link .mate-svg{width:18px;height:18px}.mate-back:hover,.back-link:hover{color:var(--mate-gold-dark)!important}
/* SURFACES */
.card,.listino-panel,.settings-box,.mate-card,.panel{background:var(--mate-surface);color:var(--mate-text);border:1px solid var(--mate-border);border-radius:var(--mate-radius);padding:18px;box-shadow:none;margin-bottom:18px}.card h1,.card h2,.card h3,.listino-panel h1,.listino-panel h2,.panel h1,.panel h2{color:var(--mate-text)}.muted{color:var(--mate-muted)!important}
/* BUTTONS */
.btn,.module-btn,.mate-btn{min-height:40px;border:1.5px solid var(--mate-gold)!important;border-radius:12px;background:#fff!important;color:var(--mate-text)!important;padding:9px 14px;font:800 13px/1 var(--mate-font);display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.btn:hover,.module-btn:hover,.mate-btn:hover{background:var(--mate-gold)!important;color:#fff!important}.btn:active,.module-btn:active,.mate-btn:active{background:var(--mate-gold-dark)!important;border-color:var(--mate-gold-dark)!important;color:#fff!important}.btn-main,.btn.primary,.btn.gold,.module-btn.gold,.mate-btn.primary{background:var(--mate-gold)!important;color:#fff!important}.btn-main:hover,.btn.primary:hover,.btn.gold:hover,.module-btn.gold:hover,.mate-btn.primary:hover{background:var(--mate-gold-dark)!important}.btn-danger{border-color:var(--mate-danger)!important;color:var(--mate-danger)!important}.btn-danger:hover{background:var(--mate-danger)!important;color:#fff!important}.btn-sm{min-height:34px;padding:7px 10px;font-size:12px}
/* FORMS */
.field label,.form-grid label,.formgrid label,.selector-grid label{font-size:12px;font-weight:800;color:var(--mate-text-soft)}input,select,textarea{font-family:var(--mate-font)}.field input,.field select,.field textarea,.form-grid input,.form-grid select,.form-grid textarea,.formgrid input,.formgrid select,.formgrid textarea,.selector-grid input,.selector-grid select,.history-filters input,.history-filters select{width:100%;min-height:var(--mate-control-height);padding:10px 12px;border:1px solid #CDD5DF;border-radius:11px;background:#fff;color:var(--mate-text);font-size:14px;outline:none}.field input:focus,.field select:focus,.field textarea:focus,.form-grid input:focus,.form-grid select:focus,.selector-grid input:focus,.selector-grid select:focus{border-color:var(--mate-gold);box-shadow:0 0 0 3px rgba(183,138,34,.10)}.form-grid,.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.selectors{margin-top:12px;border:1.5px solid var(--mate-gold);border-radius:14px;padding:12px;background:#fff;color:var(--mate-text)}.selectors summary{font-size:13px;font-weight:900;cursor:pointer;color:var(--mate-text);list-style:none;display:flex;align-items:center;gap:7px}.selectors summary::-webkit-details-marker{display:none}.selectors[open] summary{color:var(--mate-gold-dark)}.selector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.selector-hint{font-size:11px;color:var(--mate-muted);margin-top:10px}
/* TABLES */
.table-scroll,.price-table-wrap{overflow:auto;border-radius:14px}.card table,.listino-panel table,.mate-table,.consulta-prices,.compact-prices{width:100%;border-collapse:collapse;background:#fff;color:var(--mate-text);font-size:14px}.card thead th,.listino-panel thead th,.mate-table thead th,.consulta-prices th,.compact-prices th{height:48px;padding:12px 14px;text-align:left;text-transform:uppercase;color:var(--mate-muted);background:#F7F8F9;border-bottom:1px solid var(--mate-border);font-size:11px;font-weight:800;letter-spacing:.02em;vertical-align:middle}.card tbody td,.listino-panel tbody td,.mate-table tbody td,.consulta-prices td,.compact-prices td{height:var(--mate-table-row-height);padding:12px 14px;border-bottom:1px solid var(--mate-border);vertical-align:middle;color:var(--mate-text);font-size:14px}.card tbody tr:hover,.listino-panel tbody tr:hover,.mate-table tbody tr:hover,.consulta-prices tbody tr:hover{background:var(--mate-primary-50)}.article-code-link,.listino-code-link,.mate-code-link{color:var(--mate-gold-dark)!important;font-weight:850;text-decoration:underline!important;text-underline-offset:2px}.article-code-link:hover,.listino-code-link:hover,.mate-code-link:hover{color:var(--mate-gold)!important}.badge{display:inline-flex;min-width:24px;height:24px;padding:0 7px;align-items:center;justify-content:center;border-radius:999px;background:var(--mate-primary-100);color:var(--mate-primary-800);font-size:12px;font-weight:800}.badge.low{background:var(--mate-primary-200);color:var(--mate-primary-900)}
/* STATS */
.listino-stats,.mate-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.stat-card{background:#fff;color:#111;border-radius:14px;padding:18px;border:1px solid #E1E1DD;min-height:112px;text-decoration:none}.stat-card.gold{background:linear-gradient(135deg,var(--mate-primary-300),var(--mate-primary-500))}.stat-card.dark{background:#080A0B;color:#fff;border-color:#3C4145}.stat-card small{display:block;font-size:12.5px;font-weight:800;opacity:.86}.stat-card strong{display:block;font-size:30px;line-height:1;margin-top:8px}.stat-card em{display:block;font-style:normal;font-size:11.5px;font-weight:600;margin-top:6px;opacity:.78}.stat-card.dark small,.stat-card.dark em{color:#F1F2F3;opacity:.9}
/* KPI HOME CORE — linguaggio mini-report, geometria Home compatta */
.mate-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.mate-kpi-card{position:relative;min-height:142px;padding:20px 21px 18px;border:1.5px solid var(--mate-primary-400);border-radius:16px;background:var(--mate-light-card);color:var(--mate-text);text-decoration:none;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}
.mate-kpi-card.is-light{color:var(--mate-text)}
.mate-kpi-card.is-primary{color:var(--mate-primary-contrast)}
.mate-kpi-card.is-dark{color:var(--mate-surface)}
.mate-kpi-icon{position:absolute;top:18px;right:18px;width:24px;height:24px;display:grid;place-items:center;color:currentColor;opacity:.78;pointer-events:none}
.mate-kpi-icon .mate-svg,.mate-kpi-icon>svg{width:24px;height:24px;display:block}
.mate-kpi-content{min-height:100%;display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start;padding-right:34px}
.mate-kpi-label{display:block;margin:0 0 9px;font-size:13px;line-height:1.15;font-weight:700;letter-spacing:.025em;text-transform:uppercase;color:inherit;opacity:.9}
.mate-kpi-value{display:block;margin:0 0 15px;font-size:38px;line-height:1;font-weight:800;color:var(--mate-primary-500)}
.mate-kpi-card.is-primary .mate-kpi-value{color:var(--mate-primary-value-contrast)}
.mate-kpi-card.is-dark .mate-kpi-value{color:var(--mate-primary-500)}
.mate-kpi-card .mate-kpi-value-date{font-size:20px;line-height:1.15}
.mate-kpi-separator{width:100%;height:1px;margin-top:auto;background:currentColor;opacity:.18}
.mate-kpi-description{display:block;margin:10px 0 0;font-size:12px;line-height:1.3;font-style:normal;font-weight:600;color:inherit;opacity:.8}
.mate-kpi-card[href]{transition:transform .16s ease,border-color .16s ease}
.mate-kpi-card[href]:hover{transform:translateY(-2px)}
.mate-kpi-card[href]:focus-visible{outline:2px solid var(--mate-primary-500);outline-offset:2px}

/* MATE Navigation Cards — accessi condivisi delle Home modulo */
.mate-nav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;width:100%;margin-top:14px}
.mate-nav-card{position:relative;min-width:0;min-height:132px;padding:20px 21px 18px;border:1.5px solid var(--mate-primary-400);border-radius:16px;background:var(--mate-light-card);color:var(--mate-text);text-decoration:none;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}
.mate-nav-card.is-primary{color:var(--mate-primary-contrast)}
.mate-nav-card.is-light{color:var(--mate-text)}
.mate-nav-card.is-dark{color:var(--mate-surface)}
.mate-nav-icon{position:absolute;top:18px;right:18px;width:24px;height:24px;display:grid;place-items:center;color:currentColor;opacity:.78;pointer-events:none}
.mate-nav-icon .mate-svg,.mate-nav-icon>svg{width:24px;height:24px;display:block}
.mate-nav-content{min-width:0;display:flex;flex:1 1 auto;flex-direction:column;padding-right:34px}
.mate-nav-title{display:block;margin:0 0 12px;font-size:18px;line-height:1.2;font-weight:750;color:inherit}
.mate-nav-description{display:block;margin-top:auto;padding-top:13px;border-top:1px solid currentColor;font-size:13px;line-height:1.35;font-weight:600;color:inherit;opacity:.82}
.mate-nav-card[href]{cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.mate-nav-card[href]:hover{transform:translateY(-2px);box-shadow:var(--mate-shadow)}
.mate-nav-card[href]:focus-visible{outline:2px solid var(--mate-primary-500);outline-offset:2px}
.mate-nav-card.is-disabled{cursor:default}
/* DEPARTMENTS / CHIPS */
.departments{display:flex;gap:8px;overflow-x:auto;padding:1px 0 14px;scrollbar-width:none}.departments::-webkit-scrollbar{display:none}.dept{white-space:nowrap;text-decoration:none;background:#fff!important;border:1.5px solid var(--mate-gold)!important;color:var(--mate-text)!important;padding:9px 12px;border-radius:999px;font-weight:800;font-size:12px;display:inline-flex;align-items:center;gap:6px}.dept:hover,.dept.active{background:var(--mate-gold)!important;color:#fff!important}.dept .mate-svg{width:16px;height:16px}
/* ALERTS */
.notice,.msg{padding:12px 14px;border-radius:12px;margin:12px 0;background:#EDF5FF;color:#25364B}.notice.err,.msg.err{background:#FFF0EF;color:#8B1D17}.notice.ok,.msg.ok{background:#EAF8EF;color:#11663F}
/* OPTION TILE — tessera condivisa per checkbox/opzioni di export e backup */
.mate-option-tile{display:block;background:var(--mate-primary-50);border:1px solid var(--mate-primary-100);border-radius:10px;padding:11px;color:#111;font-weight:700}
/* DETAIL SHEET */
.article-card,.listino-product-sheet,.listino-product-sheet-mag,.mate-detail-card{max-width:820px;margin:0 auto;background:#fff;color:#111;border:1px solid var(--mate-border);border-radius:18px;padding:18px;box-shadow:none}.listino-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 18px;border-bottom:1px solid var(--mate-border)}.listino-sheet-head small{display:block;color:var(--mate-muted);font-size:11px;font-weight:800}.listino-sheet-head h1{margin:5px 0 0;font-size:23px;color:#111}.listino-sheet-data{display:grid;grid-template-columns:1fr 1fr;margin-top:4px}.listino-sheet-data>div{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:13px 8px;border-bottom:1px solid var(--mate-border)}.listino-sheet-data b{font-size:11px;color:var(--mate-muted)}.listino-sheet-data span{font-size:14px;color:#111}.listino-sheet-data.prices{margin-top:18px}.listino-sheet-notes{margin-top:18px;padding:14px;background:#F7F8F9;border-radius:10px;color:#111}
/* LOGIN */
.loginpage{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 18%,#242B2F 0,#111619 48%,#080B0D 100%)}.loginbox{width:min(420px,100%);background:linear-gradient(145deg,#fff,var(--mate-primary-50));color:#111;border:1px solid var(--mate-primary-200);border-radius:22px;padding:34px 32px;box-shadow:0 24px 70px rgba(0,0,0,.42)}.loginlogo{display:block;width:180px;height:180px;object-fit:contain;margin:0 auto 24px}.logintitle{font-size:25px;line-height:1.12;letter-spacing:.055em;font-weight:900;text-align:center;color:var(--mate-gold-dark);margin:0 0 24px}.logintitle .login-line{display:block}.logintitle .login-emphasis{font-size:1.18em;color:var(--mate-gold-dark)}.logintitle .login-soft{font-family:var(--mate-script);font-weight:400;color:#111619;letter-spacing:0;font-size:.92em}.loginclaim{text-align:center;font-family:var(--mate-script);font-size:30px;color:#111619;line-height:1.15;margin:0 0 38px}.loginbox .field{margin:12px 0}.loginbox .field input{background:var(--mate-primary-50);border-color:var(--mate-primary-200)}.loginbox .btn{width:100%;margin-top:8px}
/* HOME */
.home-stage{min-height:calc(100vh - var(--mate-topbar-height));background-color:#0A0D0F;background-image:linear-gradient(color-mix(in srgb,var(--mate-primary-500) 5.5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--mate-primary-500) 4.5%,transparent) 1px,transparent 1px),radial-gradient(circle at 50% -10%,#20262A 0,transparent 42%);background-size:56px 56px,56px 56px,auto}.home-shell{width:min(1500px,calc(100% - 80px));margin:0 auto;padding:34px 0 22px}.homehero{min-height:130px;display:grid;grid-template-columns:1fr 1fr;align-items:center;margin-bottom:76px}.homehello h1{margin:0;font-size:46px;line-height:1;color:#fff;letter-spacing:-.03em}.homehello .home-nickname{font-size:1.10em;font-weight:900;color:var(--mate-gold-pale)}.homehello p{margin:10px 0 0;color:#AEB4B9;font-size:24px}.mate-claim{text-align:right;color:var(--mate-gold-light);font-family:var(--mate-script);font-size:34px;padding-right:10px}.home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 22px}.home-module{position:relative;min-height:205px;border:2px solid var(--mate-gold-light);border-radius:15px;padding:26px 28px;text-decoration:none;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr;column-gap:20px;align-items:start;overflow:hidden;box-shadow:var(--mate-shadow);transition:transform .16s ease,box-shadow .16s ease}.home-module:hover:not(.disabled){transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.30)}.home-module.disabled{cursor:default}.home-module-icon{grid-row:1/3}.home-module-icon .mate-svg{width:48px;height:48px}.home-module-copy{align-self:center}.home-module-copy strong{display:block;font-family:Lato,var(--mate-font);font-size:21px;line-height:1.08;font-weight:700}.home-module-copy small{display:block;margin-top:9px;font-size:15px;line-height:1.38;opacity:.82}.home-module-arrow{align-self:end;justify-self:end;width:46px;height:46px;border:1.5px solid currentColor;border-radius:50%;display:grid;place-items:center;color:var(--mate-gold-light)}.home-module-arrow .mate-svg{width:22px;height:22px}.home-grid .home-module:nth-child(odd){background:linear-gradient(145deg,#1D2225,#0E1113 84%);color:#fff}.home-grid .home-module:nth-child(even){background:linear-gradient(135deg,var(--mate-primary-50),var(--mate-primary-100));color:#111}.home-report-gap{height:52px}.reports-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.reports-title{display:flex;align-items:center;gap:13px}.reports-title>span .mate-svg{width:38px;height:38px}.reports-head h2{margin:0;font-size:21px}.reports-head p{margin:3px 0 0;font-size:13px}.future-modules{margin-top:18px;border:1px solid #343A3F;border-radius:13px;background:#111518;padding:14px 18px;display:flex;align-items:center;gap:12px;color:#E8E8E8}.future-modules span{font-size:13px;font-weight:800}.future-modules small{color:#858D94}.home-footer{display:flex;justify-content:space-between;gap:20px;color:#899097;font-size:11px;padding:20px 4px 0}.home-footer strong{color:#F2F2F2}
/* CORE PAGES */
.wrap{width:min(var(--mate-content-width),calc(100% - 48px));margin:28px auto}.hero{background:transparent;color:#fff;margin-bottom:22px}.hero h1{font-size:30px;margin:0}.hero p{color:var(--mate-muted-on-dark)}.settings-hub{color:#fff}.settings-grid-global,.settings-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.settings-tile,.settings-module-card{display:block;text-decoration:none;background:#fff;color:#111;border:1px solid var(--mate-gold);border-radius:14px;padding:20px}.settings-tile strong,.settings-module-card strong{display:block;font-size:16px}.settings-tile small,.settings-module-card small{display:block;margin-top:7px;color:var(--mate-muted)}.settings-tile.disabled{opacity:.65}/* MATE nav list — elenco compatto di destinazioni di navigazione */
.mate-nav-list{width:100%;margin-top:12px;border-top:1px solid var(--mate-border);border-bottom:1px solid var(--mate-border)}
.mate-nav-row{display:flex;align-items:center;width:100%;min-height:46px;padding:11px 4px;box-sizing:border-box;border-bottom:1px solid var(--mate-border);color:var(--mate-text,#111)!important;font-size:14px;font-weight:750;line-height:1.3;text-decoration:none!important;overflow-wrap:anywhere}
.mate-nav-row:last-child{border-bottom:0}
.mate-nav-row:hover{background:var(--mate-primary-50)}
.mate-nav-row:focus-visible{outline:2px solid var(--mate-primary-500);outline-offset:2px}
@media(max-width:620px){.mate-nav-row{min-height:50px;padding-block:13px;font-size:15px}}
.checks{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.checkline{display:inline-flex;align-items:center;gap:7px;color:#111;font-size:13px}.checkline input{width:17px;height:17px}.small{font-size:12px;color:var(--mate-muted)}
.module-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.section-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.section-card{display:block;text-decoration:none;background:var(--mate-primary-50);color:#111;border:1px solid var(--mate-border);border-radius:13px;padding:16px}.section-card.ready{border-color:var(--mate-gold)}.section-card strong,.section-card small{display:block}.section-card small{margin-top:5px;color:var(--mate-muted)}.listino-panel.dark{background:#0C0F11;color:#fff;border-color:#33393D}.listino-panel.dark h2{color:#fff}.settings-page>h2{margin-bottom:22px}.home-mobile-menu{display:none}
@media(max-width:820px){.module-actions{width:100%;justify-content:flex-end}.section-cards{grid-template-columns:1fr}.home-mobile-menu{display:block;position:fixed;top:var(--mate-topbar-height);left:-280px;width:260px;height:calc(100vh - var(--mate-topbar-height));background:#0C0F11;z-index:80;padding:16px;transition:left .16s ease}.nav-open .home-mobile-menu{left:0}.home-mobile-menu nav{display:flex;flex-direction:column;gap:4px}.home-mobile-menu a{padding:10px;color:#fff;text-decoration:none;border-radius:10px}.home-mobile-menu a:hover{background:#171B1E}.mobile-user-block{display:flex;align-items:center;gap:8px;padding:6px 8px 14px;color:#fff}}
select{appearance:none;-webkit-appearance:none;background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238D7000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 11px center!important;background-size:18px 18px!important;padding-right:40px!important}
/* LEGENDS + FILTERS + IMPORT */
.legend-filterbar,.filter-panel{background:#fff;color:#111;border:1px solid var(--mate-border);border-radius:var(--mate-radius);padding:16px;margin-bottom:18px}.legend-filterbar form,.filter-panel form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.legend-filterbar .field.compact{min-width:220px}.legend-filterbar .field.grow{flex:1;min-width:260px}.legend-grid,.mag-legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.legend-card{display:block;background:#fff;color:#111;border:1px solid var(--mate-gold-light);border-radius:14px;padding:18px;text-decoration:none}.legend-card:hover{border-color:var(--mate-gold);box-shadow:0 8px 18px rgba(0,0,0,.06)}.legend-card-head{display:flex;justify-content:space-between;gap:12px}.legend-card-head strong{font-size:17px}.legend-code{font-size:11px;font-weight:900;color:var(--mate-gold-dark)}.legend-use{margin-top:14px}.legend-use>b{font-size:11px;color:var(--mate-muted)}.usage-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.usage-badges span{background:var(--mate-primary-50);border:1px solid var(--mate-primary-200);border-radius:999px;padding:4px 8px;font-size:11px}.legend-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;font-size:12px}.legend-meta b{color:var(--mate-muted)}.import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.import-summary>div{background:#fff;color:#111;border-radius:12px;padding:14px}.import-summary small,.import-summary strong{display:block}.import-summary small{color:var(--mate-muted);font-size:11px}.import-summary strong{font-size:24px;margin-top:4px}.import-errors{background:#FFF0EF;color:#8B1D17;border-radius:12px;padding:14px;margin-top:12px}.back-row{margin-bottom:2px}
@media(max-width:820px){.legend-filterbar form,.filter-panel form{display:grid;grid-template-columns:1fr}.legend-filterbar .field.compact,.legend-filterbar .field.grow{min-width:0}.legend-grid,.mag-legend-grid{grid-template-columns:1fr}.legend-meta{grid-template-columns:1fr 1fr}.import-summary{grid-template-columns:1fr 1fr}}

/* MATE Desktop refinement 1.1 */
.loginlogo{width:160px;height:160px;margin:0 auto 40px}.logintitle{font-size:25px;margin:0 0 72px}.loginclaim{font-size:23px;margin:0 0 40px}.loginbox{padding:28px 32px 40px}.loginbox .field{margin:12px 0 16px}.login-bang{margin-left:1px}.login-soft,.loginclaim,.mate-handwrite,.mate-claim{font-family:var(--mate-script)!important}
.home-grid{gap:25px 27px}.home-stage{background-size:34px 34px,34px 34px,auto}
input,select,textarea{font-size:14px!important}.legend-table input,.tabs select,.panel select{font-size:14px!important;min-height:40px;padding:8px 10px}
.mate-settings-page{max-width:var(--mate-content-width);margin:0 auto}.settings-module-grid,.settings-grid-global{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.settings-module-card,.settings-tile{min-height:104px;display:flex;flex-direction:column;justify-content:center;text-decoration:none}.settings-tile-list{justify-content:flex-start}.settings-module-card h2,.settings-tile strong{font-size:17px}.settings-module-card p,.settings-tile small{margin:8px 0 0;color:var(--mate-text-soft);font-size:12px}
.mate-section-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.mate-section-tabs .dept{font-size:14px;padding:11px 18px}
.mate-tree{display:grid;gap:14px}.mate-tree-group{border:1px solid var(--mate-border);border-radius:14px;background:#fff;overflow:hidden}.mate-tree-group>summary{cursor:pointer;padding:14px 16px;font-weight:900;text-transform:uppercase;color:#111;background:color-mix(in srgb,var(--mate-primary-500) 4%,#fff);border-bottom:1px solid #e3e7ec;list-style:none}.mate-tree-group>summary::-webkit-details-marker{display:none}.mate-tree-group:not([open])>summary{border-bottom:none}.mate-tree-body{padding:12px 16px 16px}.mate-tree-sub{margin-top:10px}.mate-tree-sub>summary{cursor:pointer;font-weight:850;color:var(--mate-gold-dark);padding:8px 0}.mate-tree-items{padding:2px 0 4px 18px}.mate-tree-items>a{display:inline-block;margin:4px 14px 4px 0;color:var(--mate-gold-dark);font-weight:750}
/* MATE TREE A2 — gerarchia comune riutilizzabile */
/* MATE TREE A2 — unico linguaggio gerarchico condiviso */
.mate-tree.mate-tree-a2{
  --mate-tree-desktop-body-indent:16px;
  --mate-tree-desktop-level-2-indent:18px;
  --mate-tree-desktop-items-indent:18px;
  --mate-tree-desktop-level-3-indent:22px;
  --mate-tree-desktop-content-indent:22px;
  --mate-tree-level-2-title-shift:10px;
  --mate-tree-level-3-title-shift:28px;
  display:grid;
  gap:14px;
}
.mate-tree-a2 .mate-tree-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.mate-tree-a2 details>summary{list-style:none;cursor:pointer;color:var(--mate-text);border-bottom:1px solid color-mix(in srgb,var(--mate-border) 72%,transparent)}
.mate-tree-a2 details>summary::-webkit-details-marker{display:none}
.mate-tree-a2 details>summary::marker{content:""}
.mate-tree-a2 .mate-tree-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-width:0}
.mate-tree-a2 .mate-tree-label{min-width:0;font-weight:inherit}
.mate-tree-a2 .mate-tree-meta{color:var(--mate-muted);font-size:12px;font-weight:600;text-transform:none}
.mate-tree-a2 .mate-tree-count{flex:0 0 auto;min-width:24px;text-align:right;color:var(--mate-muted);font-size:12px;font-weight:800;text-transform:none}
.mate-tree-a2 .mate-tree-group{border:1px solid var(--mate-border);border-radius:14px;background:var(--mate-surface);overflow:hidden}
.mate-tree-a2 .mate-tree-group>summary{padding:14px 16px;font-size:14px;font-weight:900;letter-spacing:.015em;text-transform:uppercase;background:var(--mate-surface);border-bottom:1px solid var(--mate-border)}
.mate-tree-a2 .mate-tree-group[open]>summary{background:linear-gradient(90deg,color-mix(in srgb,var(--mate-primary-50) 62%,var(--mate-surface)) 0%,var(--mate-surface) 100%)}
.mate-tree-a2 .mate-tree-group[open]>summary .mate-tree-label{color:var(--mate-primary-800,var(--mate-text))}
.mate-tree-a2 .mate-tree-group:not([open])>summary{border-bottom:none}
.mate-tree-a2 .mate-tree-body{padding:0 var(--mate-tree-desktop-body-indent) 12px}
.mate-tree-a2 .mate-tree-branch{margin:0}
.mate-tree-a2 .mate-tree-branch>summary{padding:10px 0;font-weight:750}
.mate-tree-a2 .mate-tree-branch+.mate-tree-branch>summary{border-top:1px solid color-mix(in srgb,var(--mate-border) 58%,transparent)}
.mate-tree-a2 .mate-tree-branch:not([open])>summary{border-bottom-color:transparent}
.mate-tree-a2 .mate-tree-branch[open]>summary{border-bottom-color:color-mix(in srgb,var(--mate-border) 72%,transparent)}
.mate-tree-a2 .mate-tree-branch[open]>summary .mate-tree-label{color:var(--mate-primary-800,var(--mate-text))}
.mate-tree-a2 .mate-tree-level-2{margin-left:var(--mate-tree-desktop-level-2-indent)}
.mate-tree-a2 .mate-tree-items{padding-inline-start:var(--mate-tree-desktop-items-indent)}
.mate-tree-a2 .mate-tree-level-3{margin-left:var(--mate-tree-desktop-level-3-indent)}
.mate-tree-a2 .mate-tree-level-2>summary{font-size:13px;font-weight:800;transform:translateX(calc(-1 * var(--mate-tree-level-2-title-shift)))}
.mate-tree-a2 .mate-tree-level-3>summary{font-size:13px;font-weight:700;transform:translateX(calc(-1 * var(--mate-tree-level-3-title-shift)))}
.mate-tree-a2 .mate-tree-level-3>.mate-tree-summary .mate-tree-label{font-size:13px;font-weight:800}
.mate-tree-a2 .mate-tree-content{padding:7px 0 13px var(--mate-tree-desktop-content-indent)}

/* Contenuto terminale desktop: recupera la geometria strutturale senza CSS di modulo. */
@media(min-width:821px){
  .mate-tree-a2 .mate-tree-level-3 > .mate-tree-content > .mate-tree-terminal{
    --mate-tree-desktop-terminal-offset:calc(var(--mate-tree-desktop-body-indent) + var(--mate-tree-desktop-level-2-indent) + var(--mate-tree-desktop-items-indent) + var(--mate-tree-desktop-level-3-indent) + var(--mate-tree-desktop-content-indent));
    --mate-tree-desktop-terminal-gutter:var(--mate-tree-desktop-body-indent);
    width:calc(100% + var(--mate-tree-desktop-terminal-offset) - var(--mate-tree-desktop-terminal-gutter));
    margin-inline-start:calc(-1 * (var(--mate-tree-desktop-terminal-offset) - var(--mate-tree-desktop-terminal-gutter)));
    box-sizing:border-box;
  }
}

@media(max-width:820px){
  .mate-tree-a2{
    --mate-tree-body-indent:16px;
    --mate-tree-level-2-indent:12px;
    --mate-tree-items-indent:18px;
    --mate-tree-level-3-indent:14px;
    --mate-tree-content-indent:14px;
    --mate-tree-level-2-title-shift:8px;
    --mate-tree-level-3-title-shift:24px;
  }
  .mate-tree-a2 .mate-tree-controls{justify-content:flex-start}
  .mate-tree-a2 .mate-tree-body{padding-inline:var(--mate-tree-body-indent)}
  .mate-tree-a2 .mate-tree-level-2{margin-left:var(--mate-tree-level-2-indent)}
  .mate-tree-a2 .mate-tree-items{padding-inline-start:var(--mate-tree-items-indent)}
  .mate-tree-a2 .mate-tree-level-3{margin-left:var(--mate-tree-level-3-indent)}
  .mate-tree-a2 .mate-tree-content{padding-left:var(--mate-tree-content-indent)}
  /* Il separatore resta largo quanto il tree; solo il contenuto del summary comunica la profondita. */
  .mate-tree-a2 .mate-tree-level-2>summary{
    width:calc(100% + var(--mate-tree-level-2-indent));
    margin-inline-start:calc(-1 * var(--mate-tree-level-2-indent));
    box-sizing:border-box;
    transform:none;
  }
  .mate-tree-a2 .mate-tree-level-2>summary>.mate-tree-summary{padding-inline-start:var(--mate-tree-level-2-title-shift)}
  .mate-tree-a2 .mate-tree-level-3>summary{
    width:calc(100% + var(--mate-tree-level-2-indent) + var(--mate-tree-items-indent) + var(--mate-tree-level-3-indent));
    margin-inline-start:calc(-1 * (var(--mate-tree-level-2-indent) + var(--mate-tree-items-indent) + var(--mate-tree-level-3-indent)));
    box-sizing:border-box;
    transform:none;
  }
  .mate-tree-a2 .mate-tree-level-3>summary>.mate-tree-summary{padding-inline-start:calc(var(--mate-tree-level-2-title-shift) + var(--mate-tree-level-3-title-shift))}
  .mate-tree-a2 .mate-tree-group>summary{padding:12px 14px;font-size:14px}
  .mate-tree-a2 .mate-tree-branch>summary{padding-block:9px}
  .mate-tree-a2 .mate-tree-level-2>summary{font-size:13.5px}
  .mate-tree-a2 .mate-tree-level-3>summary{font-size:13px}
  .mate-tree-a2 .mate-tree-meta,.mate-tree-a2 .mate-tree-count{font-size:12px}
}

.mate-code-rule{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin:18px 0}.mate-code-segment{min-width:145px;border:1.5px solid var(--mate-gold);border-radius:12px;background:#fff;padding:12px}.mate-code-segment strong{display:block;font-size:22px;color:#111}.mate-code-segment small{display:block;margin-top:6px;color:var(--mate-muted);font-size:11px}.mate-code-plus{align-self:center;font-weight:900;color:var(--mate-gold)}
.mate-price-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:700px}.mate-price-rule-grid .field{margin:0}.mate-empty-rule{margin-top:22px;border:1px dashed #B8C0C8;border-radius:12px;padding:16px;color:var(--mate-muted)}
.mate-table-head{display:block;white-space:nowrap}.mate-table-unit{display:block;min-height:14px;margin-top:3px;font-size:10px;font-weight:500;text-transform:none;letter-spacing:0;color:#98A2B3;white-space:nowrap}.price-table td,.price-table th{white-space:nowrap}.price-table input{font-size:14px!important;min-width:94px}.price-table-wrap{overflow-x:auto}.price-calculator{margin-top:18px;margin-bottom:22px;padding-top:10px}.price-calculator>div small{margin-top:12px!important}.price-calculator label{color:#fff!important}.price-calculator label span{font-size:14px}.listino-sheet-data>div{min-height:58px;align-items:center}.listino-product-sheet form .formgrid{margin-top:40px}
.mate-kpi-card[href],.magazzino-stats .stat-card{cursor:pointer}.actions .icon-warning,.actions .mate-svg{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important}.actions .btn{min-height:50px!important}
.tabs{gap:10px!important;flex-wrap:wrap}.tabs a{margin-right:8px;color:#fff!important}.tabs a.active{color:var(--mate-gold-light)!important}
/* Desktop 1.2 — aspetto/report */
.report-sort{display:grid;gap:10px;max-width:620px;margin:18px 0}.report-sort-item{padding:14px 16px;border:1px solid var(--mate-border);border-radius:12px;background:#fff;cursor:grab}.report-choice{display:flex;gap:10px;align-items:center;margin:22px 0}
.mate-mode-light{--mate-bg:#F1F3F5;--mate-bg-deep:#FFFFFF;--mate-bg-soft:#E7EAED;--mate-muted-on-dark:#667085}.mate-mode-light .topbar,.mate-mode-light .module-sidebar{background:#fff;color:#111}.mate-mode-light .wrap,.mate-mode-light .module-main{color:#111}
/* Report: gli avvisi usano il colore principale del tema (consolidato più sotto) */
/* Desktop 1.2.7 review refinements */
.loginclaim{font-size:24px}
.home-greeting-script{font-family:var(--mate-script);font-weight:400;letter-spacing:0}

/* Desktop 1.2.9 — Home Gestionale: report armonizzati alle tessere Listino (consolidato più sotto) */

/* Desktop 1.3.7 — Home/report e 3 colori Aspetto */
.homehello .home-nickname{color:#9DA4AA;}
.home-footer span:last-child{color:#fff;}
.appearance-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 18px;max-width:760px;}
.appearance-color-slot{display:grid;grid-template-columns:58px 1fr;gap:10px 12px;align-items:center;border:1px solid var(--mate-border);border-radius:14px;padding:16px;background:#fff;color:#111;font-weight:800;}
.appearance-color-slot>span:first-child{grid-column:1/-1;font-size:12px;}
.appearance-color-slot input[type=color]{width:58px;height:48px;padding:2px;border:1px solid #C9D0D7;border-radius:9px;background:#fff;}
.appearance-color-code{font-size:13px;font-weight:700;}
.appearance-active{grid-column:1/-1;display:flex;gap:8px;align-items:center;font-size:11px;}


/* Desktop 1.3.8 — rifinitura Home Gestionale / Report */
.homehello .home-nickname{color:var(--mate-primary-dark,var(--mate-primary-700)) !important;}
.home-footer span:last-child{color:#FFFFFF !important;}
/* MATE patch 1.3.9 - Home nickname official gold */
.homehello .home-nickname{color:var(--mate-primary-500) !important;}

/* Desktop 1.3.10 — rifinitura finale tessere report (consolidato più sotto) */
.homehello .home-nickname{color:var(--mate-primary-500) !important;}

/* Report Card — definizione consolidata (Blocco 8: cascade storica ricostruita proprietà per proprietà).
   Sfondo e colore del bordo di .dark/.light/.report-alert restano di competenza esclusiva del
   blocco CORE "superfici cromatiche condivise" più sotto: qui solo le proprietà non coperte da quello. */
.report-cards{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}
.report-mini{
  position:relative;
  min-height:188px;
  padding:24px 25px 22px;
  border-radius:16px;
  border:1px solid #E1E1DD;
  box-shadow:none;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  overflow:hidden;
  gap:14px;
}
.report-mini > .report-icon{
  display:flex !important;
  position:absolute;
  top:22px;
  right:22px;
  width:40px;
  height:40px;
  align-items:center;
  justify-content:center;
  opacity:.95;
}
.report-mini > .report-icon svg{
  width:40px;
  height:40px;
}
.report-mini-content{
  width:100%;
  min-height:146px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:space-between;
}
.report-mini .report-module{
  margin:0 42px 10px 0;
  font-size:13px;
  font-weight:700;
  line-height:1.15;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-style:normal;
  opacity:.86;
}
.report-mini.dark .report-module{opacity:.9;}
.report-mini .report-action{
  margin:0 38px 20px 0;
  font-size:18px;
  font-weight:600;
  line-height:1.2;
}
.report-mini .report-value{
  margin:0;
  font-size:40px;
  font-weight:700;
  line-height:.95;
}
.report-mini .report-spacer{
  flex:1;
  min-height:18px;
}
.report-mini .report-detail{
  margin:0;
  padding-top:15px;
  border-top:1px solid currentColor;
  font-style:normal;
  font-size:16.5px;
  font-weight:600;
  line-height:1.2;
  opacity:.96;
}
.report-mini.dark .report-detail{opacity:.9;}
.report-mini.dark{
  color:#FFFFFF !important;
  border-width:1.5px !important;
  border-style:solid !important;
}
.report-mini.light{
  color:#111111 !important;
  border-width:1.5px !important;
  border-style:solid !important;
}
.report-mini.report-alert{
  border-width:1.5px !important;
  border-style:solid !important;
}
.report-mini.dark .report-value,
.report-mini.light .report-value{color:var(--mate-primary-500) !important;}
.report-mini.dark .report-module,
.report-mini.dark .report-action,
.report-mini.dark .report-detail{color:#FFFFFF !important;}
.report-mini.light .report-module,
.report-mini.light .report-action,
.report-mini.light .report-detail{color:#111111 !important;}
.report-mini.dark .report-icon{color:#FFFFFF;}
.report-mini.light .report-icon{color:#111111;}
.report-mini.report-alert.alert-text-dark .report-module,
.report-mini.report-alert.alert-text-dark .report-action,
.report-mini.report-alert.alert-text-dark .report-detail{color:#111111 !important;}
.report-mini.report-alert.alert-text-dark .report-value{color:#FFFFFF !important;}
.report-mini.report-alert.alert-text-dark .report-icon{color:#111111;}
.report-mini.report-alert.alert-text-light .report-module,
.report-mini.report-alert.alert-text-light .report-action,
.report-mini.report-alert.alert-text-light .report-detail{color:#FFFFFF !important;}
.report-mini.report-alert.alert-text-light .report-value{color:#111111 !important;}
.report-mini.report-alert.alert-text-light .report-icon{color:#FFFFFF;}
/* Variante "is-empty" — stato "nessun report configurato": stesso markup/sistema moderno delle
   Report Card reali, con le sole correzioni tipografiche necessarie a riprodurre esattamente il
   rendering che questo stato aveva prima del consolidamento (dimensione, peso, interlinea,
   spaziatura, colore del valore). Nessuna icona: l'elemento .report-icon viene semplicemente
   omesso dal markup di questo stato, non nascosto via CSS. */
.report-mini.is-empty .report-module{
  margin:0 0 14px;
  font-size:15.5px;
  font-weight:600;
  line-height:1.45;
  letter-spacing:normal;
  text-transform:none;
}
.report-mini.is-empty .report-value{
  margin:10px 0 16px;
  font-size:30px;
  line-height:1;
}
.report-mini.dark.is-empty .report-value{color:#FFFFFF !important;}
.report-mini.is-empty .report-detail{
  margin-top:auto;
  padding-top:0;
  border-top:none;
  font-size:11.5px;
  line-height:1.45;
}
@media(max-width:1180px){.report-cards{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:820px){.report-cards{grid-template-columns:1fr;}}

/* Gestione Report 1.3.13 */
.report-module-row{display:grid;grid-template-columns:28px 1fr 34px;align-items:center;gap:12px;max-width:760px;background:linear-gradient(135deg,var(--mate-primary-50),var(--mate-primary-100));border:1px solid #D8DEE5!important;padding:0!important;overflow:hidden}
.report-module-row>a:first-of-type{display:flex;flex-direction:column;gap:3px;padding:17px 8px;text-decoration:none;color:#111}
.report-module-row>a strong{font-size:14px;letter-spacing:.04em}.report-module-row>a small{font-size:11.5px;color:#667085;font-weight:600}.report-drag{padding-left:15px;font-size:19px;color:#8A9096;cursor:grab}.report-open{display:grid!important;place-items:center!important;padding:0!important;width:34px;height:34px;color:var(--mate-primary,var(--mate-primary-500))!important}.report-open .mate-svg{width:20px;height:20px}.report-home-mode{margin:28px 0 20px;padding-top:20px;border-top:1px solid var(--mate-border)}.report-home-mode>strong{display:block;margin-bottom:8px}.report-home-mode>small{display:block;color:#667085;font-size:11.5px;margin-top:-12px}
.report-config-head{display:grid;grid-template-columns:minmax(300px,1fr) 85px 85px;max-width:760px;padding:0 16px 8px 55px;font-size:11px;font-weight:800;color:#667085;letter-spacing:.05em}.report-config-head span:nth-child(n+2){text-align:center}.report-config-list{max-width:760px}.report-config-row{display:grid;grid-template-columns:28px minmax(260px,1fr) 85px 85px;align-items:center;gap:12px;background:var(--mate-primary-50)!important;padding:13px 16px!important}.report-config-name{display:flex;flex-direction:column;gap:3px}.report-config-name strong{font-size:14px}.report-config-name small{font-size:11.5px;color:#667085;font-weight:600}.report-config-row label{display:grid;place-items:center}.report-config-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--mate-primary,var(--mate-primary-500))}.report-config-row input[type=checkbox]:disabled{opacity:.35}


/* Palette dinamica Core 1.3.16 */
.homehello .home-nickname{color:var(--mate-primary-500)!important;}
.brand-title strong{color:var(--mate-primary-500)!important;}
.mate-claim{color:var(--mate-primary-500)!important;}


/* MATE 1.3.17 — palette dinamica completa nei moduli */
.stat-card.gold{
  background:linear-gradient(135deg,var(--mate-primary-300),var(--mate-primary-500))!important;
  border-color:var(--mate-primary-400)!important;
}
.stat-card.gold strong{color:#111!important;}
.price-edit-pencil:hover{background:var(--mate-primary-50)!important;}
.product-detail-grid div{
  background:var(--mate-primary-50)!important;
  border-color:var(--mate-primary-100)!important;
}
.movement-row:hover,.movement-row:focus,.select-article-row:hover{background:var(--mate-primary-50)!important;}


/* MATE 1.3.19 — uniformità palette e superfici chiare */
:root{--mate-light-card:linear-gradient(135deg,var(--mate-primary-50) 0%,#FFFFFF 86%);}
.home-grid .home-module:nth-child(even),
.home-module.home-card-light,.home-module.home-card-white,
.section-card{
  background:var(--mate-light-card)!important;
}
.home-module:hover:not(.disabled){background-color:transparent;}
.section-card.ready{border-color:var(--mate-primary-500)!important;}
.report-module-row{background:var(--mate-light-card)!important;}

/* MATE 1.3.20 — rifiniture desktop, login e palette */
/* Unica superficie chiara ufficiale: moduli Home, report e celle/sezioni */
:root{--mate-light-card:linear-gradient(135deg,color-mix(in srgb,var(--mate-primary-50) 46%,#FFFFFF) 0%,#FFFFFF 88%);}
.home-grid .home-module:nth-child(even),
.home-module.home-card-light,.home-module.home-card-white,
.section-card,.report-module-row{
  background:var(--mate-light-card)!important;
}
/* .reports-preview — definizione consolidata (Blocco 8): unica dichiarazione, valori ricostruiti dalla cascade storica */
.reports-preview{
  background:linear-gradient(9deg,color-mix(in srgb,var(--mate-primary-50) 16%,#FFFFFF) 0%,#FFFFFF 58%,#FFFFFF 100%);
  color:#111;
  border:1px solid color-mix(in srgb,var(--mate-primary-200) 28%,var(--mate-primary-100));
  border-radius:16px;
  padding:22px 24px 24px;
  box-shadow:var(--mate-shadow);
}
/* Badge/chip delle legende */
.usage-badges span,.legend-use span,.badge,.chip,.pill{
  background:var(--mate-primary-50)!important;
  border-color:var(--mate-primary-200)!important;
  color:var(--mate-primary-800)!important;
}
/* Titoli gerarchici sempre sulla stessa tonalità di GESTIONALE */
.module-tree a,.tree-group>a,.category-group>a,.warehouse-family,.material-family,
.consulta-tree a:not(.disabled){color:var(--mate-primary-500)!important;}
/* Login: testo input stabile e leggibile */
.loginbox .field input{font-size:16px!important;line-height:1.25!important;-webkit-text-size-adjust:100%;}
.login-password-wrap{position:relative;}
.login-password-wrap input{width:100%;padding-right:48px!important;}
.login-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:transparent;color:#667085;display:grid;place-items:center;cursor:pointer;padding:0;border-radius:8px;}
.login-password-toggle:hover{color:var(--mate-primary-500);background:var(--mate-primary-50);}
.login-password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

/* Blocco 2 — Utenti e accessi */
.mate-user-list{display:grid;gap:10px}.userrow{border:1px solid var(--mate-border);border-radius:13px;background:#fff;overflow:hidden}.userrow>summary{display:block;list-style:none;cursor:pointer;padding:13px 15px}.userrow>summary::marker,.mate-user-edit>summary::marker{content:"";font-size:0}.userrow>summary::-webkit-details-marker,.mate-user-edit>summary::-webkit-details-marker{display:none}.userrow[open]>summary{border-bottom:1px solid var(--mate-border);background:var(--mate-primary-50)}.mate-user-identity{display:flex;align-items:center;gap:10px;min-width:0}.mate-user-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--mate-user-color,#B78A22);box-shadow:0 0 0 2px color-mix(in srgb,var(--mate-user-color,#B78A22),white 70%)}.mate-user-identity>span:last-child{display:flex;flex-direction:column;min-width:0}.mate-user-name{font-size:14px;line-height:1.25;text-transform:uppercase;color:var(--mate-text)}.mate-user-identity small{margin-top:3px;color:var(--mate-muted);font-size:11px}.userbody{padding:16px}.mate-user-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:15px}.mate-user-detail-grid>div{padding:11px 12px;border:1px solid var(--mate-border);border-radius:11px;background:#F8F9FA;min-width:0}.mate-user-detail-grid small{display:block;margin-bottom:4px;color:var(--mate-muted);font-size:10px;font-weight:800;text-transform:uppercase}.mate-user-detail-grid strong{display:block;overflow-wrap:anywhere;font-size:13px}.mate-user-edit{margin-top:4px}.mate-user-edit>summary{display:inline-flex;list-style:none;width:max-content}.mate-user-edit-body{margin-top:14px;padding-top:14px;border-top:1px solid var(--mate-border)}.mate-user-secondary-actions{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-top:12px}.mate-user-secondary-actions form{margin:0}.mate-password-reset{display:flex;gap:8px;flex-wrap:wrap}.mate-password-reset input{min-height:40px;padding:9px 11px;border:1px solid #CDD5DF;border-radius:10px;font-family:var(--mate-font)}
.mate-module-tabs{display:flex;margin:0 0 18px}.mate-module-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin:0!important;padding:8px 12px;border:1px solid rgba(255,255,255,.20);border-radius:10px;color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:850;letter-spacing:.02em;transition:background .14s ease,border-color .14s ease,color .14s ease}.mate-module-tabs a:hover{border-color:var(--mate-primary-300);background:rgba(255,255,255,.06)}.mate-module-tabs a.active{background:var(--mate-primary-500);border-color:var(--mate-primary-500);color:#fff!important}
.mate-access-list{border:1px solid var(--mate-border);border-radius:13px;overflow:hidden}.mate-access-head,.mate-access-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(110px,.8fr) minmax(90px,.55fr) minmax(190px,1.15fr) auto;gap:14px;align-items:center}.mate-access-head{padding:11px 13px;background:#F7F8F9;color:var(--mate-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.mate-access-row{margin:0;padding:12px 13px;border-top:1px solid var(--mate-border);background:#fff}.mate-access-row.is-disabled{opacity:.55}.mate-access-field{min-width:0;font-size:13px}.mate-access-label{display:none;color:var(--mate-muted);font-size:10px;font-weight:800;text-transform:uppercase}.mate-access-enabled label{display:flex;align-items:center;gap:6px}.mate-access-enabled label span{display:none}.mate-access-field select{width:100%;min-height:40px;padding:8px 10px;border:1px solid #CDD5DF;border-radius:10px;background:#fff;color:var(--mate-text);font-family:var(--mate-font);font-size:13px}.mate-access-save{display:flex;justify-content:flex-end}

/* Blocco 2 — accessi modulo: elenco compatto espandibile */
.mate-access-accordion{display:grid;gap:10px;border:0;overflow:visible}.mate-access-accordion .mate-access-row{display:block;margin:0;padding:0;border:1px solid var(--mate-border);border-radius:13px;background:#fff;overflow:hidden}.mate-access-details>summary{display:block;list-style:none;cursor:pointer;padding:13px 15px}.mate-access-details>summary::marker{content:"";font-size:0}.mate-access-details>summary::-webkit-details-marker{display:none}.mate-access-details[open]>summary{border-bottom:1px solid var(--mate-border);background:var(--mate-primary-50)}.mate-access-controls{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(120px,.8fr) minmax(190px,1.2fr) auto;gap:14px;align-items:end;padding:14px 15px}.mate-access-user-meta{grid-column:1/-1;color:var(--mate-muted);font-size:11px}.mate-access-controls .mate-access-label{display:block;margin-bottom:5px}.mate-access-controls .mate-access-enabled label span{display:inline}.mate-access-controls .mate-access-save{align-self:end}

/* Blocco 3 — Legende: consultazione compatta ed editor singolo */
.usage-badges a{display:inline-flex;align-items:center;background:var(--mate-primary-50);border:1px solid var(--mate-primary-200);border-radius:999px;padding:4px 8px;color:var(--mate-primary-800)!important;font-size:11px;font-weight:800;text-decoration:none!important}.usage-badges a:hover{background:var(--mate-primary-100);border-color:var(--mate-primary-300);color:var(--mate-primary-900)!important}
.mate-legend-page-head,.mate-legend-list-head,.mate-legend-editor-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.mate-legend-page-head h2,.mate-legend-list-head h2,.mate-legend-editor-head h2{margin:0}.mate-legend-list-head{margin-bottom:14px}.mate-legend-list-head p{margin:4px 0 0}.mate-legend-editor-head{margin-bottom:16px}.mate-legend-editor-head small{display:block;margin-bottom:4px;color:var(--mate-muted);font-size:10px;font-weight:900;letter-spacing:.04em}.mate-legend-editor-actions{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0 0}
.mate-legend-compact-list{border:1px solid var(--mate-border);border-radius:13px;overflow:hidden;background:#fff}.mate-legend-compact-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;min-height:50px;padding:11px 14px;border-bottom:1px solid var(--mate-border);background:#fff;color:var(--mate-text)!important;text-decoration:none!important}.mate-legend-compact-row:last-child{border-bottom:0}.mate-legend-compact-row[href]{cursor:pointer}.mate-legend-compact-row[href]:hover,.mate-legend-compact-row.is-active{background:var(--mate-primary-50)}.mate-legend-compact-row.is-active{box-shadow:inset 3px 0 0 var(--mate-primary-500)}.mate-legend-item-name{min-width:0;font-size:14px;font-weight:800;overflow-wrap:anywhere}.mate-legend-item-code{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:5px 8px;border:1px solid var(--mate-primary-200);border-radius:8px;background:var(--mate-primary-50);color:var(--mate-primary-800);font-size:11px;font-weight:900;letter-spacing:.04em}.mate-legend-editor input[readonly]{background:#F3F4F6;color:var(--mate-muted)}
/* MATE CORE — composizione condivisa pagina Legenda */
.mate-legend-heading{min-width:0}
.mate-legend-description{margin:7px 0 0;color:var(--mate-muted-on-dark);font-size:13px}
.mate-legend-uses{margin-top:7px}
.mate-legend-uses>strong{display:block;color:#fff;font-size:11px;font-weight:900;letter-spacing:.02em}
.mate-legend-uses .usage-badges{margin-top:6px}
.mate-legend-panel{background:var(--mate-surface);color:var(--mate-text);border:1px solid var(--mate-border);border-radius:var(--mate-radius);padding:18px;box-shadow:none;margin-bottom:18px}
.mate-legend-panel h1,.mate-legend-panel h2,.mate-legend-panel h3{color:var(--mate-text)}
@media(max-width:560px){.mate-legend-panel{padding:14px;border-radius:15px}}


/* MATE compact list — elenco condiviso delle entita finali */
.mate-compact-list{
  display:grid;
  gap:10px;
  width:100%;
  min-width:0;
}
.mate-compact-item{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px;
  background:var(--mate-surface,#fff);
  color:var(--mate-text,#111);
  border:1px solid var(--mate-border);
  border-radius:15px;
  text-decoration:none;
}
a.mate-compact-item,
button.mate-compact-item{
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
a.mate-compact-item:hover,
button.mate-compact-item:hover{
  border-color:var(--mate-primary-300,var(--mate-primary-500));
}
a.mate-compact-item:focus-visible,
button.mate-compact-item:focus-visible{
  outline:2px solid var(--mate-primary-500);
  outline-offset:2px;
}
.mate-compact-media{
  flex:0 0 auto;
  width:46px;
  height:46px;
  border:1px solid var(--mate-border);
  border-radius:10px;
  background:var(--mate-bg-soft,#F7F8F9);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.mate-compact-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.mate-compact-main{
  flex:1 1 auto;
  min-width:0;
}
.mate-compact-title{
  color:var(--mate-text,#111);
  font-weight:800;
  line-height:1.25;
}
.mate-compact-meta,
.mate-compact-code{
  display:block;
  margin-top:4px;
  color:var(--mate-muted);
  line-height:1.3;
}
.mate-compact-meta{font-size:13px;}
.mate-compact-code{font-size:11px;}
.mate-compact-secondary{font-weight:500;color:var(--mate-muted);}
.mate-compact-emphasis{font-weight:800;color:var(--mate-text-soft);}
.mate-compact-values{
  flex:0 0 auto;
  min-width:62px;
  display:grid;
  gap:7px;
  text-align:center;
  align-self:stretch;
  align-content:center;
}
.mate-compact-value{
  display:grid;
  gap:2px;
  justify-items:center;
  color:var(--mate-muted);
}
.mate-compact-value>small{
  display:block;
  margin:0;
  color:var(--mate-muted);
  font-size:10px;
  font-weight:800;
  line-height:1.1;
}
.mate-compact-value>strong{
  display:block;
  color:var(--mate-text,#111);
  font-size:16px;
  line-height:1.1;
}
.mate-compact-value.is-primary>strong{
  color:var(--mate-primary-500);
  font-size:28px;
  font-weight:900;
}

@media(max-width:820px){
  .mate-compact-item{padding:14px;gap:12px;}
  .mate-compact-values{min-width:62px;}

  /* Tree -> final list: opt-in. I rami restano indentati; solo la lista terminale
     recupera l'intero offset strutturale mobile fino al bordo utile del tree. */
  .mate-tree-a2 .mate-tree-level-3 > .mate-tree-content > .mate-compact-list{
    --mate-tree-terminal-offset:calc(var(--mate-tree-body-indent) + var(--mate-tree-level-2-indent) + var(--mate-tree-items-indent) + var(--mate-tree-level-3-indent) + var(--mate-tree-content-indent));
    --mate-tree-terminal-gutter:var(--mate-tree-body-indent);
    width:calc(100% + var(--mate-tree-terminal-offset) - var(--mate-tree-terminal-gutter));
    margin-inline-start:calc(-1 * (var(--mate-tree-terminal-offset) - var(--mate-tree-terminal-gutter)));
  }
}

/* MATE CORE — superfici cromatiche condivise per tessere colore utente */
:root{
  --mate-tile-primary-bg:var(--mate-primary-500);
  --mate-tile-primary-border:#111416;
  --mate-tile-light-bg:var(--mate-primary-50);
  --mate-tile-light-border:var(--mate-primary-500);
  --mate-tile-dark-bg:#0B0D0E;
  --mate-tile-dark-border:var(--mate-primary-400);
}

/* PRIMARY — stesso linguaggio cromatico per Report, KPI e Navigation Card */
.report-mini.report-alert,
.mate-kpi-card.is-primary,
.mate-nav-card.is-primary{
  background:var(--mate-tile-primary-bg)!important;
  border-color:var(--mate-tile-primary-border)!important;
}

/* LIGHT */
.report-mini.light,
.mate-kpi-card.is-light,
.mate-nav-card.is-light{
  background:var(--mate-tile-light-bg)!important;
  border-color:var(--mate-tile-light-border)!important;
}

/* DARK */
.report-mini.dark,
.mate-kpi-card.is-dark,
.mate-nav-card.is-dark{
  background:var(--mate-tile-dark-bg)!important;
  border-color:var(--mate-tile-dark-border)!important;
}


/* MATE CORE — risultati cronologici e paginazione condivisa */
.mate-history-mobile{display:none}
.mate-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--mate-border)}
.mate-pagination-status{color:var(--mate-muted);font-size:12px;font-weight:800}
.mate-pagination-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mate-pagination-actions .mate-btn{display:inline-flex;align-items:center;gap:6px}
.mate-pagination-actions .mate-svg{width:15px;height:15px}
@media(max-width:820px){.mate-history-desktop{display:none}.mate-history-mobile{display:grid}.mate-pagination{align-items:stretch;flex-direction:column}.mate-pagination-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mate-pagination-actions .mate-btn{justify-content:center}.mate-pagination-actions .mate-btn:only-child{grid-column:1/-1}}
